diff --git a/Juliet/Juliet.vcxproj b/Juliet/Juliet.vcxproj
index 07869ea..b977a4e 100644
--- a/Juliet/Juliet.vcxproj
+++ b/Juliet/Juliet.vcxproj
@@ -44,14 +44,14 @@
- $(SolutionDir)\lib\$(Platform)\$(Configuration)\
+ $(SolutionDir)\bin\$(Platform)\$(Configuration)\
$(SolutionDir)Intermediate\$(ProjectName)\$(Platform)\$(Configuration)\
- $(SolutionDir)Juliet\include\;$(SolutionDir)Juliet\src\;$(SolutionDir)Juliet\src\Graphics\DX12\D3D12;$(IncludePath)
+ $(SolutionDir)Juliet\include\;$(SolutionDir)Juliet\src\;$(SolutionDir)Juliet\src\Graphics\D3D12\;$(IncludePath)
$(SolutionDir)\bin\$(Platform)\$(Configuration)\
$(SolutionDir)Intermediate\$(ProjectName)\$(Platform)\$(Configuration)\
- $(SolutionDir)Juliet\include\;$(SolutionDir)Juliet\src\;$(SolutionDir)Juliet\src\Graphics\DX12\D3D12;$(IncludePath)
+ $(SolutionDir)Juliet\include\;$(SolutionDir)Juliet\src\;$(SolutionDir)Juliet\src\Graphics\D3D12\;$(IncludePath)
@@ -70,7 +70,7 @@
true
- ws2_32.lib;d3d12.lib;dxgi.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)
+ ws2_32.lib;dxguid.lib;d3d12.lib;dxgi.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)
@@ -98,7 +98,7 @@
true
true
true
- ws2_32.lib;d3d12.lib;dxgi.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)
+ ws2_32.lib;dxguid.lib;d3d12.lib;dxgi.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)
@@ -148,44 +148,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -209,9 +173,7 @@
-
-
-
+
MultiThreadedDebugDll
Disabled
@@ -273,13 +235,6 @@
-
-
-
-
-
-
-
diff --git a/Juliet/src/Graphics/D3D12/DX12GraphicsDevice.cpp b/Juliet/src/Graphics/D3D12/DX12GraphicsDevice.cpp
new file mode 100644
index 0000000..6acaa04
--- /dev/null
+++ b/Juliet/src/Graphics/D3D12/DX12GraphicsDevice.cpp
@@ -0,0 +1,58 @@
+#include
+
+#include
+#include
+
+namespace Juliet
+{
+ // TODO : Use LoadLibrary and not link to the lib. Allows failing earlier if Dx12 is not installed for some reason
+ // + Will load the dll when needed
+ // This will prevent us from using IID_ variables as they are defined in dxguid.lib
+ namespace
+ {
+ bool CheckDriver()
+ {
+ HRESULT result;
+ // ID3D12Device *device;
+ IDXGIFactory4* factory4;
+ IDXGIFactory6* factory6;
+ IDXGIAdapter1* adapter;
+
+ ID3D12Object* test;
+ // Can create DXGI factory ?
+ IDXGIFactory1* factory1 = nullptr;
+ result = CreateDXGIFactory1(IID_IDXGIFactory1, reinterpret_cast(&factory1));
+ if (FAILED(result))
+ {
+ Log(LogLevel::Warning, LogCategory::Graphics, "DX12: Cannot create DXGIFactory1");
+ return false;
+ }
+
+ // Can query the 1.4 factory ?
+ result = IDXGIFactory1_QueryInterface(factory1, IID_IDXGIFactory4, reinterpret_cast(&factory4));
+ if (FAILED(result))
+ {
+ IDXGIFactory1_Release(factory1);
+ Log(LogLevel::Warning, LogCategory::Graphics, "DX12: Failed to query DXGI1.4.");
+ return false;
+ }
+ IDXGIFactory4_Release(factory4);
+ IDXGIFactory1_Release(factory1);
+
+ return false;
+ }
+
+ GraphicsDevice* CreateGraphicsDevice()
+ {
+ return nullptr;
+ }
+ } // namespace
+
+ // clang-format off
+ GraphicsDeviceFactory DX12DeviceFactory = {
+ .Name="DirectX12",
+ .Type=RendererType::DX12,
+ .CheckDriver = CheckDriver,
+ .CreateGraphicsDevice = CreateGraphicsDevice };
+ // clang-format on
+} // namespace Juliet
diff --git a/Juliet/src/Graphics/D3D12/DX12Includes.h b/Juliet/src/Graphics/D3D12/DX12Includes.h
new file mode 100644
index 0000000..f9292ef
--- /dev/null
+++ b/Juliet/src/Graphics/D3D12/DX12Includes.h
@@ -0,0 +1,23 @@
+#pragma once
+
+// Might now use it
+// // Windows Runtime Library to handle ComPtr
+// #include
+// namespace wrl = Microsoft::WRL;
+
+// We will use the C interface of DX12.
+// Those define disable the C++ API.
+// It also prevents using d3dx12 because it only supports C++ :(
+#define COBJMACROS
+#define CINTERFACE;
+
+#include
+#include "d3d12.h"
+#include
+#include
+
+#ifdef _DEBUG
+#include
+#endif
+
+#include
diff --git a/Juliet/src/Graphics/DX12/DX12Utils.h b/Juliet/src/Graphics/D3D12/DX12Utils.h
similarity index 65%
rename from Juliet/src/Graphics/DX12/DX12Utils.h
rename to Juliet/src/Graphics/D3D12/DX12Utils.h
index 211d583..b1decea 100644
--- a/Juliet/src/Graphics/DX12/DX12Utils.h
+++ b/Juliet/src/Graphics/D3D12/DX12Utils.h
@@ -1,8 +1,8 @@
#pragma once
-#include
+#include
-namespace Juliet::RHI::DX12
+namespace Juliet
{
inline void AssertOnFailure(HRESULT hr)
{
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/D3D12TokenizedProgramFormat.hpp b/Juliet/src/Graphics/DX12/D3D12/directx/D3D12TokenizedProgramFormat.hpp
deleted file mode 100644
index b951454..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/D3D12TokenizedProgramFormat.hpp
+++ /dev/null
@@ -1,2634 +0,0 @@
-#pragma once
-//*********************************************************
-//
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License (MIT).
-//
-//*********************************************************
-//
-// High Level Goals
-//
-// - Serve as the runtime/DDI representation for all D3D11 tokenized code,
-// for all classes of programs, including pixel program, vertex program,
-// geometry program, etc.
-//
-// - Any information that HLSL needs to give to drivers is encoded in
-// this token format in some form.
-//
-// - Enable common tools and source code for managing all tokenizable
-// program formats.
-//
-// - Support extensible token definitions, allowing full customizations for
-// specific program classes, while maintaining general conventions for all
-// program models.
-//
-// - Binary backwards compatible with D3D10. Any token name that was originally
-// defined with "D3D10" in it is unchanged; D3D11 only adds new tokens.
-//
-// ----------------------------------------------------------------------------
-//
-// Low Level Feature Summary
-//
-// - DWORD based tokens always, for simplicity
-// - Opcode token is generally a single DWORD, though there is a bit indicating
-// if extended information (extra DWORD(s)) are present
-// - Operand tokens are a completely self contained, extensible format,
-// with scalar and 4-vector data types as first class citizens, but
-// allowance for extension to n-component vectors.
-// - Initial operand token identifies register type, register file
-// structure/dimensionality and mode of indexing for each dimension,
-// and choice of component selection mechanism (i.e. mask vs. swizzle etc).
-// - Optional additional extended operand tokens can defined things like
-// modifiers (which are not needed by default).
-// - Operand's immediate index value(s), if needed, appear as subsequent DWORD
-// values, and if relative addressing is specified, an additional completely
-// self contained operand definition appears nested in the token sequence.
-//
-// ----------------------------------------------------------------------------
-
-#include
-
-#pragma region Application Family
-#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
-
-// ----------------------------------------------------------------------------
-// Version Token (VerTok)
-//
-// [07:00] minor version number (0-255)
-// [15:08] major version number (0-255)
-// [31:16] D3D10_SB_TOKENIZED_PROGRAM_TYPE
-//
-// ----------------------------------------------------------------------------
-
-typedef enum D3D10_SB_TOKENIZED_PROGRAM_TYPE
-{
- D3D10_SB_PIXEL_SHADER = 0,
- D3D10_SB_VERTEX_SHADER = 1,
- D3D10_SB_GEOMETRY_SHADER = 2,
-
- // D3D11 Shaders
- D3D11_SB_HULL_SHADER = 3,
- D3D11_SB_DOMAIN_SHADER = 4,
- D3D11_SB_COMPUTE_SHADER = 5,
-
- // Subset of D3D12 Shaders where this field is referenced by runtime
- // Entries from 6-12 are unique to state objects
- // (e.g. library, callable and raytracing shaders)
- D3D12_SB_MESH_SHADER = 13,
- D3D12_SB_AMPLIFICATION_SHADER = 14,
-
- D3D11_SB_RESERVED0 = 0xFFF0
-} D3D10_SB_TOKENIZED_PROGRAM_TYPE;
-
-#define D3D10_SB_TOKENIZED_PROGRAM_TYPE_MASK 0xffff0000
-#define D3D10_SB_TOKENIZED_PROGRAM_TYPE_SHIFT 16
-
-// DECODER MACRO: Retrieve program type from version token
-#define DECODE_D3D10_SB_TOKENIZED_PROGRAM_TYPE(VerTok) ((D3D10_SB_TOKENIZED_PROGRAM_TYPE)(((VerTok)&D3D10_SB_TOKENIZED_PROGRAM_TYPE_MASK)>>D3D10_SB_TOKENIZED_PROGRAM_TYPE_SHIFT))
-
-#define D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_MASK 0x000000f0
-#define D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_SHIFT 4
-#define D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION_MASK 0x0000000f
-
-// DECODER MACRO: Retrieve major version # from version token
-#define DECODE_D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION(VerTok) (((VerTok)&D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_MASK)>>D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_SHIFT)
-// DECODER MACRO: Retrieve minor version # from version token
-#define DECODE_D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION(VerTok) ((VerTok)&D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION_MASK)
-
-// ENCODER MACRO: Create complete VerTok
-#define ENCODE_D3D10_SB_TOKENIZED_PROGRAM_VERSION_TOKEN(ProgType,MajorVer,MinorVer) ((((ProgType)<> D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_SHIFT)
-
-// ENCODER MACRO: Store instruction length
-// portion of OpcodeToken0, in # of DWORDs
-// including the opcode token(s).
-// Valid range is 1-127.
-#define ENCODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(Length) (((Length)<>D3D10_SB_INSTRUCTION_TEST_BOOLEAN_SHIFT))
-// ENCODER MACRO: Store "zero" or "nonzero" in the opcode
-// specific control range of OpcodeToken0
-#define ENCODE_D3D10_SB_INSTRUCTION_TEST_BOOLEAN(Boolean) (((Boolean)<>D3D11_SB_INSTRUCTION_PRECISE_VALUES_SHIFT))
-// ENCODER MACRO: Given a set of
-// D3D10_SB_OPERAND_4_COMPONENT_[X|Y|Z|W] values
-// or'd together, encode them in OpcodeToken0.
-#define ENCODE_D3D11_SB_INSTRUCTION_PRECISE_VALUES(ComponentMask) (((ComponentMask)<>D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_SHIFT))
-// ENCODER MACRO: Encode the return type for the resinfo instruction
-// in the opcode specific control range of OpcodeToken0
-#define ENCODE_D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE(ReturnType) (((ReturnType)<> D3D10_SB_OPCODE_EXTENDED_SHIFT)
-// ENCODER MACRO: Store in OpcodeToken0 whether the opcode is extended
-// by an additional opcode token.
-#define ENCODE_D3D10_SB_OPCODE_EXTENDED(bExtended) (((bExtended)!=0)?D3D10_SB_OPCODE_EXTENDED_MASK:0)
-
-// ----------------------------------------------------------------------------
-// Extended Opcode Format (OpcodeToken1)
-//
-// If bit31 of an opcode token is set, the
-// opcode has an additional extended opcode token DWORD
-// directly following OpcodeToken0. Other tokens
-// expected for the opcode, such as the operand
-// token(s) always follow
-// OpcodeToken0 AND OpcodeToken1..n (extended
-// opcode tokens, if present).
-//
-// [05:00] D3D10_SB_EXTENDED_OPCODE_TYPE
-// [30:06] if([05:00] == D3D10_SB_EXTENDED_OPCODE_SAMPLE_CONTROLS)
-// {
-// This custom opcode contains controls for SAMPLE.
-// [08:06] Ignored, 0.
-// [12:09] U texel immediate offset (4 bit 2's comp) (0 default)
-// [16:13] V texel immediate offset (4 bit 2's comp) (0 default)
-// [20:17] W texel immediate offset (4 bit 2's comp) (0 default)
-// [30:14] Ignored, 0.
-// }
-// else if( [05:00] == D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM )
-// {
-// [10:06] D3D10_SB_RESOURCE_DIMENSION
-// [22:11] When dimension is D3D11_SB_RESOURCE_DIMENSION_STRUCTURED_BUFFER this holds the buffer stride, otherwise 0
-// [30:23] Ignored, 0.
-// }
-// else if( [05:00] == D3D11_SB_EXTENDED_OPCODE_RESOURCE_RETURN_TYPE )
-// {
-// [09:06] D3D10_SB_RESOURCE_RETURN_TYPE for component X
-// [13:10] D3D10_SB_RESOURCE_RETURN_TYPE for component Y
-// [17:14] D3D10_SB_RESOURCE_RETURN_TYPE for component Z
-// [21:18] D3D10_SB_RESOURCE_RETURN_TYPE for component W
-// [30:22] Ignored, 0.
-// }
-// else
-// {
-// [30:04] Ignored, 0.
-// }
-// [31] 0 normally. 1 there is another extended opcode. Any number
-// of extended opcode tokens can be chained. It is possible that some extended
-// opcode tokens could include multiple DWORDS - that is defined
-// on a case by case basis.
-//
-// ----------------------------------------------------------------------------
-typedef enum D3D10_SB_EXTENDED_OPCODE_TYPE
-{
- D3D10_SB_EXTENDED_OPCODE_EMPTY = 0,
- D3D10_SB_EXTENDED_OPCODE_SAMPLE_CONTROLS = 1,
- D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM = 2,
- D3D11_SB_EXTENDED_OPCODE_RESOURCE_RETURN_TYPE = 3,
-} D3D10_SB_EXTENDED_OPCODE_TYPE;
-#define D3D11_SB_MAX_SIMULTANEOUS_EXTENDED_OPCODES 3
-
-#define D3D10_SB_EXTENDED_OPCODE_TYPE_MASK 0x0000003f
-
-// DECODER MACRO: Given an extended opcode
-// token (OpcodeToken1), figure out what type
-// of token it is (from D3D10_SB_EXTENDED_OPCODE_TYPE enum)
-// to be able to interpret the rest of the token's contents.
-#define DECODE_D3D10_SB_EXTENDED_OPCODE_TYPE(OpcodeToken1) ((D3D10_SB_EXTENDED_OPCODE_TYPE)((OpcodeToken1)&D3D10_SB_EXTENDED_OPCODE_TYPE_MASK))
-
-// ENCODER MACRO: Store extended opcode token
-// type in OpcodeToken1.
-#define ENCODE_D3D10_SB_EXTENDED_OPCODE_TYPE(ExtOpcodeType) ((ExtOpcodeType)&D3D10_SB_EXTENDED_OPCODE_TYPE_MASK)
-
-typedef enum D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD
-{
- D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_U = 0,
- D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_V = 1,
- D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_W = 2,
-} D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD;
-#define D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD_MASK (3)
-#define D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord) (9+4*((Coord)&D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD_MASK))
-#define D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_MASK(Coord) (0x0000000f<>(D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord))))
-
-// ENCODER MACRO: Store the immediate texel address offset
-// for U or V or W Coord (D3D10_SB_ADDRESS_OFFSET_COORD) in an extended
-// opcode token (OpcodeToken1) that has extended opcode
-// type == D3D10_SB_EXTENDED_OPCODE_SAMPLE_CONTROLS (opcode type encoded separately)
-// A 2's complement number is expected as input, from which the LSB 4 bits are extracted.
-#define ENCODE_IMMEDIATE_D3D10_SB_ADDRESS_OFFSET(Coord,ImmediateOffset) (((ImmediateOffset)<>D3D11_SB_EXTENDED_RESOURCE_DIMENSION_SHIFT))
-
-// ENCODER MACRO: Store resource dimension
-// (D3D10_SB_RESOURCE_DIMENSION enum) into a
-// an extended resource declaration token (D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM)
-#define ENCODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION(ResourceDim) (((ResourceDim)<>D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_SHIFT)
-
-// ENCODER MACRO: Store resource dimension structure stride
-// (12-bit unsigned integer) into a
-// an extended resource declaration token (D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM)
-#define ENCODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE(Stride) (((Stride)<> \
- (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS + D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE_SHIFT))&D3D10_SB_RESOURCE_RETURN_TYPE_MASK))
-
-// ENCODER MACRO: Generate a resource return type for a component in an extended
-// resource delcaration token (D3D11_SB_EXTENDED_OPCODE_RESOURCE_RETURN_TYPE)
-#define ENCODE_D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE(ReturnType, Component) \
- (((ReturnType)&D3D10_SB_RESOURCE_RETURN_TYPE_MASK) << (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS + D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE_SHIFT))
-
-// ----------------------------------------------------------------------------
-// Custom-Data Block Format
-//
-// DWORD 0 (CustomDataDescTok):
-// [10:00] == D3D10_SB_OPCODE_CUSTOMDATA
-// [31:11] == D3D10_SB_CUSTOMDATA_CLASS
-//
-// DWORD 1:
-// 32-bit unsigned integer count of number
-// of DWORDs in custom-data block,
-// including DWORD 0 and DWORD 1.
-// So the minimum value is 0x00000002,
-// meaning empty custom-data.
-//
-// Layout of custom-data contents, for the various meta-data classes,
-// not defined in this file.
-//
-// ----------------------------------------------------------------------------
-
-typedef enum D3D10_SB_CUSTOMDATA_CLASS
-{
- D3D10_SB_CUSTOMDATA_COMMENT = 0,
- D3D10_SB_CUSTOMDATA_DEBUGINFO,
- D3D10_SB_CUSTOMDATA_OPAQUE,
- D3D10_SB_CUSTOMDATA_DCL_IMMEDIATE_CONSTANT_BUFFER,
- D3D11_SB_CUSTOMDATA_SHADER_MESSAGE,
- D3D11_SB_CUSTOMDATA_SHADER_CLIP_PLANE_CONSTANT_MAPPINGS_FOR_DX9,
-} D3D10_SB_CUSTOMDATA_CLASS;
-
-#define D3D10_SB_CUSTOMDATA_CLASS_MASK 0xfffff800
-#define D3D10_SB_CUSTOMDATA_CLASS_SHIFT 11
-// DECODER MACRO: Find out what class of custom-data is present.
-// The contents of the custom-data block are defined
-// for each class of custom-data.
-#define DECODE_D3D10_SB_CUSTOMDATA_CLASS(CustomDataDescTok) ((D3D10_SB_CUSTOMDATA_CLASS)(((CustomDataDescTok)&D3D10_SB_CUSTOMDATA_CLASS_MASK)>>D3D10_SB_CUSTOMDATA_CLASS_SHIFT))
-// ENCODER MACRO: Create complete CustomDataDescTok
-#define ENCODE_D3D10_SB_CUSTOMDATA_CLASS(CustomDataClass) (ENCODE_D3D10_SB_OPCODE_TYPE(D3D10_SB_OPCODE_CUSTOMDATA)|(((CustomDataClass)<= D3D10_SB_OPERAND_INDEX_1D )
-// D3D10_SB_OPERAND_INDEX_REPRESENTATION for first operand index
-// else
-// Ignored, 0
-// [27:25] if( [21:20] >= D3D10_SB_OPERAND_INDEX_2D )
-// D3D10_SB_OPERAND_INDEX_REPRESENTATION for second operand index
-// else
-// Ignored, 0
-// [30:28] if( [21:20] == D3D10_SB_OPERAND_INDEX_3D )
-// D3D10_SB_OPERAND_INDEX_REPRESENTATION for third operand index
-// else
-// Ignored, 0
-// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
-// contains extended operand description.
-//
-// ----------------------------------------------------------------------------
-
-// Number of components in data vector referred to by operand.
-typedef enum D3D10_SB_OPERAND_NUM_COMPONENTS
-{
- D3D10_SB_OPERAND_0_COMPONENT = 0,
- D3D10_SB_OPERAND_1_COMPONENT = 1,
- D3D10_SB_OPERAND_4_COMPONENT = 2,
- D3D10_SB_OPERAND_N_COMPONENT = 3 // unused for now
-} D3D10_SB_OPERAND_NUM_COMPONENTS;
-#define D3D10_SB_OPERAND_NUM_COMPONENTS_MASK 0x00000003
-
-// DECODER MACRO: Extract from OperandToken0 how many components
-// the data vector referred to by the operand contains.
-// (D3D10_SB_OPERAND_NUM_COMPONENTS enum)
-#define DECODE_D3D10_SB_OPERAND_NUM_COMPONENTS(OperandToken0) ((D3D10_SB_OPERAND_NUM_COMPONENTS)((OperandToken0)&D3D10_SB_OPERAND_NUM_COMPONENTS_MASK))
-
-// ENCODER MACRO: Define in OperandToken0 how many components
-// the data vector referred to by the operand contains.
-// (D3D10_SB_OPERAND_NUM_COMPONENTS enum).
-#define ENCODE_D3D10_SB_OPERAND_NUM_COMPONENTS(NumComp) ((NumComp)&D3D10_SB_OPERAND_NUM_COMPONENTS_MASK)
-
-typedef enum D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE
-{
- D3D10_SB_OPERAND_4_COMPONENT_MASK_MODE = 0, // mask 4 components
- D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_MODE = 1, // swizzle 4 components
- D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MODE = 2, // select 1 of 4 components
-} D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE;
-
-#define D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_MASK 0x0000000c
-#define D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_SHIFT 2
-
-// DECODER MACRO: For an operand representing 4component data,
-// extract from OperandToken0 the method for selecting data from
-// the 4 components (D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE).
-#define DECODE_D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE(OperandToken0) ((D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE)(((OperandToken0)&D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_MASK)>>D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_SHIFT))
-
-// ENCODER MACRO: For an operand representing 4component data,
-// encode in OperandToken0 a value from D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE
-#define ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE(SelectionMode) (((SelectionMode)<>(D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SHIFT+2*((DestComp)&D3D10_SB_4_COMPONENT_NAME_MASK)))&D3D10_SB_4_COMPONENT_NAME_MASK))
-
-// ENCODER MACRO: Generate a 4 component swizzle given
-// 4 D3D10_SB_4_COMPONENT_NAME source values for dest
-// components x, y, z, w respectively.
-#define ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE(XSrc,YSrc,ZSrc,WSrc) ((((XSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)| \
- (((YSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)<<2)| \
- (((ZSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)<<4)| \
- (((WSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)<<6) \
- )<>D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_SHIFT))
-
-// ENCODER MACRO: Given a D3D10_SB_4_COMPONENT_NAME selecting
-// a single component for D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MODE,
-// encode it into OperandToken0
-#define ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SELECT_1(SelectedComp) (((SelectedComp)<>D3D10_SB_OPERAND_TYPE_SHIFT))
-
-// ENCODER MACRO: Store operand type in OperandToken0.
-#define ENCODE_D3D10_SB_OPERAND_TYPE(OperandType) (((OperandType)<>D3D10_SB_OPERAND_INDEX_DIMENSION_SHIFT))
-
-// ENCODER MACRO: Store operand index dimension
-// (D3D10_SB_OPERAND_INDEX_DIMENSION enum) in OperandToken0.
-#define ENCODE_D3D10_SB_OPERAND_INDEX_DIMENSION(OperandIndexDim) (((OperandIndexDim)<>D3D10_SB_OPERAND_INDEX_REPRESENTATION_SHIFT(Dim)))
-
-// ENCODER MACRO: Store in OperandToken0 what representation
-// an operand index is provided as (D3D10_SB_OPERAND_INDEX_REPRESENTATION enum),
-// for index dimension [0], [1] or [2], depending on D3D10_SB_OPERAND_INDEX_DIMENSION.
-#define ENCODE_D3D10_SB_OPERAND_INDEX_REPRESENTATION(Dim,IndexRepresentation) (((IndexRepresentation)<>D3D10_SB_OPERAND_EXTENDED_SHIFT)
-
-// ENCODER MACRO: Store in OperandToken0 whether the operand is extended
-// by an additional operand token.
-#define ENCODE_D3D10_SB_OPERAND_EXTENDED(bExtended) (((bExtended)!=0)?D3D10_SB_OPERAND_EXTENDED_MASK:0)
-
-// ----------------------------------------------------------------------------
-// Extended Instruction Operand Format (OperandToken1)
-//
-// If bit31 of an operand token is set, the
-// operand has additional data in a second DWORD
-// directly following OperandToken0. Other tokens
-// expected for the operand, such as immmediate
-// values or relative address operands (full
-// operands in themselves) always follow
-// OperandToken0 AND OperandToken1..n (extended
-// operand tokens, if present).
-//
-// [05:00] D3D10_SB_EXTENDED_OPERAND_TYPE
-// [16:06] if([05:00] == D3D10_SB_EXTENDED_OPERAND_MODIFIER)
-// {
-// [13:06] D3D10_SB_OPERAND_MODIFIER
-// [16:14] Min Precision: D3D11_SB_OPERAND_MIN_PRECISION
-// [17:17] Non-uniform: D3D12_SB_OPERAND_NON_UNIFORM
-// }
-// else
-// {
-// [17:06] Ignored, 0.
-// }
-// [30:18] Ignored, 0.
-// [31] 0 normally. 1 if second order extended operand definition,
-// meaning next DWORD contains yet ANOTHER extended operand
-// description. Currently no second order extensions defined.
-// This would be useful if a particular extended operand does
-// not have enough space to store the required information in
-// a single token and so is extended further.
-//
-// ----------------------------------------------------------------------------
-
-typedef enum D3D10_SB_EXTENDED_OPERAND_TYPE
-{
- D3D10_SB_EXTENDED_OPERAND_EMPTY = 0, // Might be used if this
- // enum is full and
- // further extended opcode
- // is needed.
- D3D10_SB_EXTENDED_OPERAND_MODIFIER = 1,
-} D3D10_SB_EXTENDED_OPERAND_TYPE;
-#define D3D10_SB_EXTENDED_OPERAND_TYPE_MASK 0x0000003f
-
-// DECODER MACRO: Given an extended operand
-// token (OperandToken1), figure out what type
-// of token it is (from D3D10_SB_EXTENDED_OPERAND_TYPE enum)
-// to be able to interpret the rest of the token's contents.
-#define DECODE_D3D10_SB_EXTENDED_OPERAND_TYPE(OperandToken1) ((D3D10_SB_EXTENDED_OPERAND_TYPE)((OperandToken1)&D3D10_SB_EXTENDED_OPERAND_TYPE_MASK))
-
-// ENCODER MACRO: Store extended operand token
-// type in OperandToken1.
-#define ENCODE_D3D10_SB_EXTENDED_OPERAND_TYPE(ExtOperandType) ((ExtOperandType)&D3D10_SB_EXTENDED_OPERAND_TYPE_MASK)
-
-typedef enum D3D10_SB_OPERAND_MODIFIER
-{
- D3D10_SB_OPERAND_MODIFIER_NONE = 0, // Nop. This is the implied
- // default if the extended
- // operand is not present for
- // an operand for which source
- // modifiers are meaningful
- D3D10_SB_OPERAND_MODIFIER_NEG = 1, // Negate
- D3D10_SB_OPERAND_MODIFIER_ABS = 2, // Absolute value, abs()
- D3D10_SB_OPERAND_MODIFIER_ABSNEG = 3, // -abs()
-} D3D10_SB_OPERAND_MODIFIER;
-#define D3D10_SB_OPERAND_MODIFIER_MASK 0x00003fc0
-#define D3D10_SB_OPERAND_MODIFIER_SHIFT 6
-
-// DECODER MACRO: Given a D3D10_SB_EXTENDED_OPERAND_MODIFIER
-// extended token (OperandToken1), determine the source modifier
-// (D3D10_SB_OPERAND_MODIFIER enum)
-#define DECODE_D3D10_SB_OPERAND_MODIFIER(OperandToken1) ((D3D10_SB_OPERAND_MODIFIER)(((OperandToken1)&D3D10_SB_OPERAND_MODIFIER_MASK)>>D3D10_SB_OPERAND_MODIFIER_SHIFT))
-
-// ENCODER MACRO: Generate a complete source modifier extended token
-// (OperandToken1), given D3D10_SB_OPERAND_MODIFIER enum (the
-// ext. operand type is also set to D3D10_SB_EXTENDED_OPERAND_MODIFIER).
-#define ENCODE_D3D10_SB_EXTENDED_OPERAND_MODIFIER(SourceMod) ((((SourceMod)<> D3D11_SB_OPERAND_MIN_PRECISION_SHIFT))
-
-// ENCODER MACRO: Encode minimum precision for execution
-// into the extended operand token, OperandToken1
-#define ENCODE_D3D11_SB_OPERAND_MIN_PRECISION(MinPrecision) (((MinPrecision)<< D3D11_SB_OPERAND_MIN_PRECISION_SHIFT)& D3D11_SB_OPERAND_MIN_PRECISION_MASK)
-
-
-// Non-uniform extended operand modifier.
-#define D3D12_SB_OPERAND_NON_UNIFORM_MASK 0x00020000
-#define D3D12_SB_OPERAND_NON_UNIFORM_SHIFT 17
-
-// DECODER MACRO: For an OperandToken1 that can specify a non-uniform operand
-#define DECODE_D3D12_SB_OPERAND_NON_UNIFORM(OperandToken1) (((OperandToken1)& D3D12_SB_OPERAND_NON_UNIFORM_MASK)>> D3D12_SB_OPERAND_NON_UNIFORM_SHIFT)
-
-// ENCODER MACRO: Encode non-uniform state into the extended operand token, OperandToken1
-#define ENCODE_D3D12_SB_OPERAND_NON_UNIFORM(NonUniform) (((NonUniform)<< D3D12_SB_OPERAND_NON_UNIFORM_SHIFT)& D3D12_SB_OPERAND_NON_UNIFORM_MASK)
-
-
-#define D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK 0x80000000
-#define D3D10_SB_OPERAND_DOUBLE_EXTENDED_SHIFT 31
-// DECODER MACRO: Determine if an extended operand token
-// (OperandToken1) is further extended by yet another token
-// (OperandToken2). Currently there are no secondary
-// extended operand tokens.
-#define DECODE_IS_D3D10_SB_OPERAND_DOUBLE_EXTENDED(OperandToken1) (((OperandToken1)&D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK)>>D3D10_SB_OPERAND_DOUBLE_EXTENDED_SHIFT)
-
-// ENCODER MACRO: Store in OperandToken1 whether the operand is extended
-// by an additional operand token. Currently there are no secondary
-// extended operand tokens.
-#define ENCODE_D3D10_SB_OPERAND_DOUBLE_EXTENDED(bExtended) (((bExtended)!=0)?D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK:0)
-
-// ----------------------------------------------------------------------------
-// Name Token (NameToken) (used in declaration statements)
-//
-// [15:00] D3D10_SB_NAME enumeration
-// [31:16] Reserved, 0
-//
-// ----------------------------------------------------------------------------
-#define D3D10_SB_NAME_MASK 0x0000ffff
-
-// DECODER MACRO: Get the name from NameToken
-#define DECODE_D3D10_SB_NAME(NameToken) ((D3D10_SB_NAME)((NameToken)&D3D10_SB_NAME_MASK))
-
-// ENCODER MACRO: Generate a complete NameToken given a D3D10_SB_NAME
-#define ENCODE_D3D10_SB_NAME(Name) ((Name)&D3D10_SB_NAME_MASK)
-
-//---------------------------------------------------------------------
-// Declaration Statements
-//
-// Declarations start with a standard opcode token,
-// having opcode type being D3D10_SB_OPCODE_DCL*.
-// Each particular declaration type has custom
-// operand token(s), described below.
-//---------------------------------------------------------------------
-
-// ----------------------------------------------------------------------------
-// Global Flags Declaration
-//
-// OpcodeToken0:
-//
-// [10:00] D3D10_SB_OPCODE_DCL_GLOBAL_FLAGS
-// [11:11] Refactoring allowed if bit set.
-// [12:12] Enable double precision float ops.
-// [13:13] Force early depth-stencil test.
-// [14:14] Enable RAW and structured buffers in non-CS 4.x shaders.
-// [15:15] Skip optimizations of shader IL when translating to native code
-// [16:16] Enable minimum-precision data types
-// [17:17] Enable 11.1 double-precision floating-point instruction extensions
-// [18:18] Enable 11.1 non-double instruction extensions
-// [23:19] Reserved for future flags.
-// [30:24] Instruction length in DWORDs including the opcode token. == 1
-// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
-// contains extended operand description. This dcl is currently not
-// extended.
-//
-// OpcodeToken0 is followed by no operands.
-//
-// ----------------------------------------------------------------------------
-#define D3D10_SB_GLOBAL_FLAG_REFACTORING_ALLOWED (1<<11)
-#define D3D11_SB_GLOBAL_FLAG_ENABLE_DOUBLE_PRECISION_FLOAT_OPS (1<<12)
-#define D3D11_SB_GLOBAL_FLAG_FORCE_EARLY_DEPTH_STENCIL (1<<13)
-#define D3D11_SB_GLOBAL_FLAG_ENABLE_RAW_AND_STRUCTURED_BUFFERS (1<<14)
-#define D3D11_1_SB_GLOBAL_FLAG_SKIP_OPTIMIZATION (1<<15)
-#define D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION (1<<16)
-#define D3D11_1_SB_GLOBAL_FLAG_ENABLE_DOUBLE_EXTENSIONS (1<<17)
-#define D3D11_1_SB_GLOBAL_FLAG_ENABLE_SHADER_EXTENSIONS (1<<18)
-#define D3D12_SB_GLOBAL_FLAG_ALL_RESOURCES_BOUND (1<<19)
-
-#define D3D10_SB_GLOBAL_FLAGS_MASK 0x00fff800
-
-// DECODER MACRO: Get global flags
-#define DECODE_D3D10_SB_GLOBAL_FLAGS(OpcodeToken0) ((OpcodeToken0)&D3D10_SB_GLOBAL_FLAGS_MASK)
-
-// ENCODER MACRO: Encode global flags
-#define ENCODE_D3D10_SB_GLOBAL_FLAGS(Flags) ((Flags)&D3D10_SB_GLOBAL_FLAGS_MASK)
-
-// ----------------------------------------------------------------------------
-// Resource Declaration (non multisampled)
-//
-// OpcodeToken0:
-//
-// [10:00] D3D10_SB_OPCODE_DCL_RESOURCE
-// [15:11] D3D10_SB_RESOURCE_DIMENSION
-// [23:16] Ignored, 0
-// [30:24] Instruction length in DWORDs including the opcode token.
-// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
-// contains extended operand description. This dcl is currently not
-// extended.
-//
-// OpcodeToken0 is followed by 2 operands on Shader Models 4.0 through 5.0:
-// (1) an operand, starting with OperandToken0, defining which
-// t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared.
-// (2) a Resource Return Type token (ResourceReturnTypeToken)
-//
-// OpcodeToken0 is followed by 3 operands on Shader Model 5.1 and later:
-// (1) an operand, starting with OperandToken0, defining which
-// t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared.
-// The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D,
-// and the meaning of the index dimensions are as follows: (t[:])
-// 1 : variable ID being declared
-// 2 : the lower bound of the range of resources in the space
-// 3 : the upper bound (inclusive) of this range
-// As opposed to when the t# is used in shader instructions, where the register
-// must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index
-// dimensions are as follows: (t[]):
-// 1 : variable ID being used (matches dcl)
-// 2 : absolute index of resource within space (may be dynamically indexed)
-// (2) a Resource Return Type token (ResourceReturnTypeToken)
-// (3) a DWORD indicating the space index.
-//
-// ----------------------------------------------------------------------------
-#define D3D10_SB_RESOURCE_DIMENSION_MASK 0x0000F800
-#define D3D10_SB_RESOURCE_DIMENSION_SHIFT 11
-
-// DECODER MACRO: Given a resource declaration token,
-// (OpcodeToken0), determine the resource dimension
-// (D3D10_SB_RESOURCE_DIMENSION enum)
-#define DECODE_D3D10_SB_RESOURCE_DIMENSION(OpcodeToken0) ((D3D10_SB_RESOURCE_DIMENSION)(((OpcodeToken0)&D3D10_SB_RESOURCE_DIMENSION_MASK)>>D3D10_SB_RESOURCE_DIMENSION_SHIFT))
-
-// ENCODER MACRO: Store resource dimension
-// (D3D10_SB_RESOURCE_DIMENSION enum) into a
-// a resource declaration token (OpcodeToken0)
-#define ENCODE_D3D10_SB_RESOURCE_DIMENSION(ResourceDim) (((ResourceDim)<[:])
-// 1 : variable ID being declared
-// 2 : the lower bound of the range of resources in the space
-// 3 : the upper bound (inclusive) of this range
-// As opposed to when the t# is used in shader instructions, where the register
-// must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index
-// dimensions are as follows: (t[]):
-// 1 : variable ID being used (matches dcl)
-// 2 : absolute index of resource within space (may be dynamically indexed)
-// (2) a Resource Return Type token (ResourceReturnTypeToken)
-// (3) a DWORD indicating the space index.
-//
-// ----------------------------------------------------------------------------
-
-// use same macro for encoding/decoding resource dimension aas the non-msaa declaration
-
-#define D3D10_SB_RESOURCE_SAMPLE_COUNT_MASK 0x07F0000
-#define D3D10_SB_RESOURCE_SAMPLE_COUNT_SHIFT 16
-
-// DECODER MACRO: Given a resource declaration token,
-// (OpcodeToken0), determine the resource sample count (1..127)
-#define DECODE_D3D10_SB_RESOURCE_SAMPLE_COUNT(OpcodeToken0) ((UINT)(((OpcodeToken0)&D3D10_SB_RESOURCE_SAMPLE_COUNT_MASK)>>D3D10_SB_RESOURCE_SAMPLE_COUNT_SHIFT))
-
-// ENCODER MACRO: Store resource sample count up to 127 into a
-// a resource declaration token (OpcodeToken0)
-#define ENCODE_D3D10_SB_RESOURCE_SAMPLE_COUNT(SampleCount) (((SampleCount > 127 ? 127 : SampleCount)<> \
- (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS))&D3D10_SB_RESOURCE_RETURN_TYPE_MASK))
-
-// ENCODER MACRO: Generate a resource return type for a component
-#define ENCODE_D3D10_SB_RESOURCE_RETURN_TYPE(ReturnType, Component) \
- (((ReturnType)&D3D10_SB_RESOURCE_RETURN_TYPE_MASK) << (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS))
-
-// ----------------------------------------------------------------------------
-// Sampler Declaration
-//
-// OpcodeToken0:
-//
-// [10:00] D3D10_SB_OPCODE_DCL_SAMPLER
-// [14:11] D3D10_SB_SAMPLER_MODE
-// [23:15] Ignored, 0
-// [30:24] Instruction length in DWORDs including the opcode token.
-// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
-// contains extended operand description. This dcl is currently not
-// extended.
-//
-// OpcodeToken0 is followed by 1 operand on Shader Models 4.0 through 5.0:
-// (1) Operand starting with OperandToken0, defining which sampler
-// (D3D10_SB_OPERAND_TYPE_SAMPLER) register # is being declared.
-//
-// OpcodeToken0 is followed by 2 operands on Shader Model 5.1 and later:
-// (1) an operand, starting with OperandToken0, defining which
-// s# register (D3D10_SB_OPERAND_TYPE_SAMPLER) is being declared.
-// The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D,
-// and the meaning of the index dimensions are as follows: (s[:])
-// 1 : variable ID being declared
-// 2 : the lower bound of the range of samplers in the space
-// 3 : the upper bound (inclusive) of this range
-// As opposed to when the s# is used in shader instructions, where the register
-// must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index
-// dimensions are as follows: (s[]):
-// 1 : variable ID being used (matches dcl)
-// 2 : absolute index of sampler within space (may be dynamically indexed)
-// (2) a DWORD indicating the space index.
-//
-// ----------------------------------------------------------------------------
-typedef enum D3D10_SB_SAMPLER_MODE
-{
- D3D10_SB_SAMPLER_MODE_DEFAULT = 0,
- D3D10_SB_SAMPLER_MODE_COMPARISON = 1,
- D3D10_SB_SAMPLER_MODE_MONO = 2,
-} D3D10_SB_SAMPLER_MODE;
-
-#define D3D10_SB_SAMPLER_MODE_MASK 0x00007800
-#define D3D10_SB_SAMPLER_MODE_SHIFT 11
-
-// DECODER MACRO: Find out if a Constant Buffer is going to be indexed or not
-#define DECODE_D3D10_SB_SAMPLER_MODE(OpcodeToken0) ((D3D10_SB_SAMPLER_MODE)(((OpcodeToken0)&D3D10_SB_SAMPLER_MODE_MASK)>>D3D10_SB_SAMPLER_MODE_SHIFT))
-
-// ENCODER MACRO: Generate a resource return type for a component
-#define ENCODE_D3D10_SB_SAMPLER_MODE(SamplerMode) (((SamplerMode)<>D3D10_SB_INPUT_INTERPOLATION_MODE_SHIFT))
-
-// ENCODER MACRO: Encode interpolation mode for a register.
-#define ENCODE_D3D10_SB_INPUT_INTERPOLATION_MODE(InterpolationMode) (((InterpolationMode)<[:])
-// 1 : variable ID being declared
-// 2 : the lower bound of the range of constant buffers in the space
-// 3 : the upper bound (inclusive) of this range
-// As opposed to when the cb#[] is used in shader instructions: (cb[][])
-// 1 : variable ID being used (matches dcl)
-// 2 : absolute index of constant buffer within space (may be dynamically indexed)
-// 3 : location of vector within constant buffer being referenced,
-// which may also be dynamically indexed, with no access pattern flag required.
-// (2) a DWORD indicating the size of the constant buffer as a count of 16-byte vectors.
-// Each vector is 32-bit*4 elements == 128-bits == 16 bytes.
-// If the size is specified as 0, the CB size is not known (any size CB
-// can be bound to the slot).
-// (3) a DWORD indicating the space index.
-//
-// ----------------------------------------------------------------------------
-
-typedef enum D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN
-{
- D3D10_SB_CONSTANT_BUFFER_IMMEDIATE_INDEXED = 0,
- D3D10_SB_CONSTANT_BUFFER_DYNAMIC_INDEXED = 1
-} D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN;
-
-#define D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_MASK 0x00000800
-#define D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_SHIFT 11
-
-// DECODER MACRO: Find out if a Constant Buffer is going to be indexed or not
-#define DECODE_D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN(OpcodeToken0) ((D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN)(((OpcodeToken0)&D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_MASK)>>D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_SHIFT))
-
-// ENCODER MACRO: Encode the access pattern for the Constant Buffer
-#define ENCODE_D3D10_SB_D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN(AccessPattern) (((AccessPattern)<>D3D10_SB_GS_INPUT_PRIMITIVE_SHIFT))
-
-// ENCODER MACRO: Store primitive topology
-// (D3D10_SB_PRIMITIVE enum) into a
-// a primitive topology declaration token (OpcodeToken0)
-#define ENCODE_D3D10_SB_GS_INPUT_PRIMITIVE(Prim) (((Prim)<>D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_SHIFT))
-
-// ENCODER MACRO: Store primitive topology
-// (D3D10_SB_PRIMITIVE_TOPOLOGY enum) into a
-// a primitive topology declaration token (OpcodeToken0)
-#define ENCODE_D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY(PrimTopology) (((PrimTopology)<>D3D11_SB_INPUT_CONTROL_POINT_COUNT_SHIFT))
-
-// ENCODER MACRO: Store input control point count into a declaration token
-#define ENCODE_D3D11_SB_INPUT_CONTROL_POINT_COUNT(Count) (((Count)<>D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_SHIFT))
-
-// ENCODER MACRO: Store output control point count into a declaration token
-#define ENCODE_D3D11_SB_OUTPUT_CONTROL_POINT_COUNT(Count) (((Count)<>D3D11_SB_TESS_DOMAIN_SHIFT))
-
-// ENCODER MACRO: Store tessellator domain
-// (D3D11_SB_TESSELLATOR_DOMAIN enum) into a
-// a tessellator domain declaration token (OpcodeToken0)
-#define ENCODE_D3D11_SB_TESS_DOMAIN(Domain) (((Domain)<>D3D11_SB_TESS_PARTITIONING_SHIFT))
-
-// ENCODER MACRO: Store tessellator partitioning
-// (D3D11_SB_TESSELLATOR_PARTITIONING enum) into a
-// a tessellator partitioning declaration token (OpcodeToken0)
-#define ENCODE_D3D11_SB_TESS_PARTITIONING(Partitioning) (((Partitioning)<>D3D11_SB_TESS_OUTPUT_PRIMITIVE_SHIFT))
-
-// ENCODER MACRO: Store tessellator output primitive
-// (D3D11_SB_TESSELLATOR_OUTPUT_PRIMITIVE enum) into a
-// a tessellator output primitive declaration token (OpcodeToken0)
-#define ENCODE_D3D11_SB_TESS_OUTPUT_PRIMITIVE(OutputPrimitive) (((OutputPrimitive)<>D3D10_SB_INSTRUCTION_RETURN_TYPE_SHIFT))
-// ENCODER MACRO: Encode the return type for instructions
-// in the opcode specific control range of OpcodeToken0
-#define ENCODE_D3D10_SB_INSTRUCTION_RETURN_TYPE(ReturnType) (((ReturnType)<>D3D11_SB_INTERFACE_INDEXED_BIT_SHIFT) ? true : false)
-#define ENCODE_D3D11_SB_INTERFACE_INDEXED_BIT(IndexedBit) (((IndexedBit)<>D3D11_SB_INTERFACE_TABLE_LENGTH_SHIFT))
-#define ENCODE_D3D11_SB_INTERFACE_TABLE_LENGTH(TableLength) (((TableLength)<>D3D11_SB_INTERFACE_ARRAY_LENGTH_SHIFT))
-#define ENCODE_D3D11_SB_INTERFACE_ARRAY_LENGTH(ArrayLength) (((ArrayLength)<[:])
-// 1 : variable ID being declared
-// 2 : the lower bound of the range of UAV's in the space
-// 3 : the upper bound (inclusive) of this range
-// As opposed to when the u# is used in shader instructions, where the register
-// must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index
-// dimensions are as follows: (u[]):
-// 1 : variable ID being used (matches dcl)
-// 2 : absolute index of uav within space (may be dynamically indexed)
-// (2) a Resource Return Type token (ResourceReturnTypeToken)
-// (3) a DWORD indicating the space index.
-//
-// ----------------------------------------------------------------------------
-// UAV access scope flags
-#define D3D11_SB_GLOBALLY_COHERENT_ACCESS 0x00010000
-#define D3D11_SB_ACCESS_COHERENCY_MASK 0x00010000
-
-// DECODER MACRO: Retrieve flags for sync instruction from OpcodeToken0.
-#define DECODE_D3D11_SB_ACCESS_COHERENCY_FLAGS(OperandToken0) ((OperandToken0)&D3D11_SB_ACCESS_COHERENCY_MASK)
-
-// ENCODER MACRO: Given a set of sync instruciton flags, encode them in OpcodeToken0.
-#define ENCODE_D3D11_SB_ACCESS_COHERENCY_FLAGS(Flags) ((Flags)&D3D11_SB_ACCESS_COHERENCY_MASK)
-
-// Additional UAV access flags
-#define D3D11_SB_RASTERIZER_ORDERED_ACCESS 0x00020000
-
-// Resource flags mask. Use to retrieve all resource flags, including the order preserving counter.
-#define D3D11_SB_RESOURCE_FLAGS_MASK (D3D11_SB_GLOBALLY_COHERENT_ACCESS|D3D11_SB_RASTERIZER_ORDERED_ACCESS|D3D11_SB_UAV_HAS_ORDER_PRESERVING_COUNTER)
-
-// DECODER MACRO: Retrieve UAV access flags for from OpcodeToken0.
-#define DECODE_D3D11_SB_RESOURCE_FLAGS(OperandToken0) ((OperandToken0)&D3D11_SB_RESOURCE_FLAGS_MASK)
-
-// ENCODER MACRO: Given UAV access flags, encode them in OpcodeToken0.
-#define ENCODE_D3D11_SB_RESOURCE_FLAGS(Flags) ((Flags)&D3D11_SB_RESOURCE_FLAGS_MASK)
-
-// ----------------------------------------------------------------------------
-// Raw Unordered Access View Declaration
-//
-// OpcodeToken0:
-//
-// [10:00] D3D11_SB_OPCODE_DCL_UNORDERED_ACCESS_VIEW_RAW
-// [15:11] Ignored, 0
-// [16:16] D3D11_SB_GLOBALLY_COHERENT_ACCESS or 0 (LOCALLY_COHERENT)
-// [17:17] D3D11_SB_RASTERIZER_ORDERED_ACCESS or 0
-// [23:18] Ignored, 0
-// [30:24] Instruction length in DWORDs including the opcode token.
-// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
-// contains extended operand description. This dcl is currently not
-// extended.
-//
-// OpcodeToken0 is followed by 1 operand on Shader Models 4.0 through 5.0:
-// (1) an operand, starting with OperandToken0, defining which
-// u# register (D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW) is being declared.
-//
-// OpcodeToken0 is followed by 2 operands on Shader Model 5.1 and later:
-// (1) an operand, starting with OperandToken0, defining which
-// u# register (D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW) is being declared.
-// The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D,
-// and the meaning of the index dimensions are as follows: (u[:])
-// 1 : variable ID being declared
-// 2 : the lower bound of the range of UAV's in the space
-// 3 : the upper bound (inclusive) of this range
-// As opposed to when the u# is used in shader instructions, where the register
-// must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index
-// dimensions are as follows: (u[]):
-// 1 : variable ID being used (matches dcl)
-// 2 : absolute index of uav within space (may be dynamically indexed)
-// (2) a DWORD indicating the space index.
-//
-// ----------------------------------------------------------------------------
-
-// ----------------------------------------------------------------------------
-// Structured Unordered Access View Declaration
-//
-// OpcodeToken0:
-//
-// [10:00] D3D11_SB_OPCODE_DCL_UNORDERED_ACCESS_VIEW_STRUCTURED
-// [15:11] Ignored, 0
-// [16:16] D3D11_SB_GLOBALLY_COHERENT_ACCESS or 0 (LOCALLY_COHERENT)
-// [17:17] D3D11_SB_RASTERIZER_ORDERED_ACCESS or 0
-// [22:18] Ignored, 0
-// [23:23] D3D11_SB_UAV_HAS_ORDER_PRESERVING_COUNTER or 0
-//
-// The presence of this flag means that if a UAV is bound to the
-// corresponding slot, it must have been created with
-// D3D11_BUFFER_UAV_FLAG_COUNTER at the API. Also, the shader
-// can contain either imm_atomic_alloc or _consume instructions
-// operating on the given UAV.
-//
-// If this flag is not present, the shader can still contain
-// either imm_atomic_alloc or imm_atomic_consume instructions for
-// this UAV. But if such instructions are present in this case,
-// and a UAV is bound corresponding slot, it must have been created
-// with the D3D11_BUFFER_UAV_FLAG_APPEND flag at the API.
-// Append buffers have a counter as well, but values returned
-// to the shader are only valid for the lifetime of the shader
-// invocation.
-//
-// [30:24] Instruction length in DWORDs including the opcode token.
-// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
-// contains extended operand description. This dcl is currently not
-// extended.
-//
-// OpcodeToken0 is followed by 2 operands:
-// (1) an operand, starting with OperandToken0, defining which
-// u# register (D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW) is
-// being declared.
-// (2) a DWORD indicating UINT32 byte stride
-//
-// OpcodeToken0 is followed by 3 operands on Shader Model 5.1 and later:
-// (1) an operand, starting with OperandToken0, defining which
-// u# register (D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW) is being declared.
-// The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D,
-// and the meaning of the index dimensions are as follows: (u[:])
-// 1 : variable ID being declared
-// 2 : the lower bound of the range of UAV's in the space
-// 3 : the upper bound (inclusive) of this range
-// As opposed to when the u# is used in shader instructions, where the register
-// must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index
-// dimensions are as follows: (u[]):
-// 1 : variable ID being used (matches dcl)
-// 2 : absolute index of uav within space (may be dynamically indexed)
-// (2) a DWORD indicating UINT32 byte stride
-// (3) a DWORD indicating the space index.
-//
-// ----------------------------------------------------------------------------
-// UAV flags
-#define D3D11_SB_UAV_HAS_ORDER_PRESERVING_COUNTER 0x00800000
-#define D3D11_SB_UAV_FLAGS_MASK 0x00800000
-
-// DECODER MACRO: Retrieve flags about UAV from OpcodeToken0.
-#define DECODE_D3D11_SB_UAV_FLAGS(OperandToken0) ((OperandToken0)&D3D11_SB_UAV_FLAGS_MASK)
-
-// ENCODER MACRO: Given a set of UAV flags, encode them in OpcodeToken0.
-#define ENCODE_D3D11_SB_UAV_FLAGS(Flags) ((Flags)&D3D11_SB_UAV_FLAGS_MASK)
-
-// ----------------------------------------------------------------------------
-// Raw Thread Group Shared Memory Declaration
-//
-// OpcodeToken0:
-//
-// [10:00] D3D11_SB_OPCODE_DCL_THREAD_GROUP_SHARED_MEMORY_RAW
-// [23:11] Ignored, 0
-// [30:24] Instruction length in DWORDs including the opcode token.
-// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
-// contains extended operand description. This dcl is currently not
-// extended.
-//
-// OpcodeToken0 is followed by 2 operands:
-// (1) an operand, starting with OperandToken0, defining which
-// g# register (D3D11_SB_OPERAND_TYPE_THREAD_GROUP_SHARED_MEMORY) is being declared.
-// (2) a DWORD indicating the byte count, which must be a multiple of 4.
-//
-// ----------------------------------------------------------------------------
-
-// ----------------------------------------------------------------------------
-// Structured Thread Group Shared Memory Declaration
-//
-// OpcodeToken0:
-//
-// [10:00] D3D11_SB_OPCODE_DCL_THREAD_GROUP_SHARED_MEMORY_STRUCTURED
-// [23:11] Ignored, 0
-// [30:24] Instruction length in DWORDs including the opcode token.
-// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
-// contains extended operand description. This dcl is currently not
-// extended.
-//
-// OpcodeToken0 is followed by 3 operands:
-// (1) an operand, starting with OperandToken0, defining which
-// g# register (D3D11_SB_OPERAND_TYPE_THREAD_GROUP_SHARED_MEMORY) is
-// being declared.
-// (2) a DWORD indicating UINT32 struct byte stride
-// (3) a DWORD indicating UINT32 struct count
-//
-// ----------------------------------------------------------------------------
-
-// ----------------------------------------------------------------------------
-// Raw Shader Resource View Declaration
-//
-// OpcodeToken0:
-//
-// [10:00] D3D11_SB_OPCODE_DCL_RESOURCE_RAW
-// [23:11] Ignored, 0
-// [30:24] Instruction length in DWORDs including the opcode token.
-// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
-// contains extended operand description. This dcl is currently not
-// extended.
-//
-// OpcodeToken0 is followed by 1 operand:
-// (1) an operand, starting with OperandToken0, defining which
-// t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared.
-//
-// OpcodeToken0 is followed by 2 operands on Shader Model 5.1 and later:
-// (1) an operand, starting with OperandToken0, defining which
-// t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared.
-// The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D,
-// and the meaning of the index dimensions are as follows: (t[:])
-// 1 : variable ID being declared
-// 2 : the lower bound of the range of resources in the space
-// 3 : the upper bound (inclusive) of this range
-// As opposed to when the t# is used in shader instructions, where the register
-// must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index
-// dimensions are as follows: (t[]):
-// 1 : variable ID being used (matches dcl)
-// 2 : absolute index of resource within space (may be dynamically indexed)
-// (2) a DWORD indicating the space index.
-//
-// ----------------------------------------------------------------------------
-
-// ----------------------------------------------------------------------------
-// Structured Shader Resource View Declaration
-//
-// OpcodeToken0:
-//
-// [10:00] D3D11_SB_OPCODE_DCL_RESOURCE_STRUCTURED
-// [23:11] Ignored, 0
-// [30:24] Instruction length in DWORDs including the opcode token.
-// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
-// contains extended operand description. This dcl is currently not
-// extended.
-//
-// OpcodeToken0 is followed by 2 operands:
-// (1) an operand, starting with OperandToken0, defining which
-// g# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is
-// being declared.
-// (2) a DWORD indicating UINT32 struct byte stride
-//
-// OpcodeToken0 is followed by 3 operands on Shader Model 5.1 and later:
-// (1) an operand, starting with OperandToken0, defining which
-// t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared.
-// The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D,
-// and the meaning of the index dimensions are as follows: (t[:])
-// 1 : variable ID being declared
-// 2 : the lower bound of the range of resources in the space
-// 3 : the upper bound (inclusive) of this range
-// As opposed to when the t# is used in shader instructions, where the register
-// must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index
-// dimensions are as follows: (t[]):
-// 1 : variable ID being used (matches dcl)
-// 2 : absolute index of resource within space (may be dynamically indexed)
-// (2) a DWORD indicating UINT32 struct byte stride
-// (3) a DWORD indicating the space index.
-//
-// ----------------------------------------------------------------------------
-
-#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */
-#pragma endregion
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/DirectML.h b/Juliet/src/Graphics/DX12/D3D12/directx/DirectML.h
deleted file mode 100644
index 3bd1921..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/DirectML.h
+++ /dev/null
@@ -1,2651 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-
-#ifndef DIRECTML_H
-#define DIRECTML_H
-#pragma once
-
-#ifdef _GAMING_XBOX_SCARLETT
-#include "d3d12_xs.h"
-#elif _GAMING_XBOX_XBOXONE
-#include "d3d12_x.h"
-#else
-#include "d3d12.h"
-#endif
-
-#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
-
-#ifndef DML_DECLARE_INTERFACE
-#define DML_DECLARE_INTERFACE(iid) DECLSPEC_UUID(iid) DECLSPEC_NOVTABLE
-#endif
-
-#ifndef DML_TARGET_VERSION
-
-#if !defined(NTDDI_VERSION) || defined(DML_TARGET_VERSION_USE_LATEST) // Use the latest if using redist or no Windows target set.
-#define DML_TARGET_VERSION 0x6400
-#elif defined(NTDDI_WIN10_ZN) && NTDDI_VERSION >= NTDDI_WIN10_ZN
-#define DML_TARGET_VERSION 0x6000
-#elif defined(NTDDI_WIN10_NI) && NTDDI_VERSION >= NTDDI_WIN10_NI
-#define DML_TARGET_VERSION 0x5000
-#elif defined(NTDDI_WIN10_CO) && NTDDI_VERSION >= NTDDI_WIN10_CO
-#define DML_TARGET_VERSION 0x4000
-#elif defined(NTDDI_WIN10_FE) && NTDDI_VERSION >= NTDDI_WIN10_FE
-#define DML_TARGET_VERSION 0x3000
-#elif defined(NTDDI_WIN10_VB) && NTDDI_VERSION >= NTDDI_WIN10_VB // Windows 10 2004 Update
-#define DML_TARGET_VERSION 0x2000
-#else // defined(NTDDI_WIN10_19H1) && NTDDI_VERSION >= NTDDI_WIN10_19H1 // Windows 10 1903 Update
-#define DML_TARGET_VERSION 0x1000
-#endif
-
-#endif // !defined(DML_TARGET_VERSION)
-
-// ===================================================================================================================
-// DirectML constants
-// ===================================================================================================================
-
-static const UINT DML_TENSOR_DIMENSION_COUNT_MAX = 5;
-#if DML_TARGET_VERSION >= 0x3000
-static const UINT DML_TENSOR_DIMENSION_COUNT_MAX1 = 8;
-#endif
-
-static const UINT DML_TEMPORARY_BUFFER_ALIGNMENT = 256;
-static const UINT DML_PERSISTENT_BUFFER_ALIGNMENT = 256;
-
-static const UINT DML_MINIMUM_BUFFER_TENSOR_ALIGNMENT = 16;
-
-
-// ===================================================================================================================
-// Interface declarations
-// ===================================================================================================================
-
-interface IDMLObject;
-interface IDMLDevice;
-interface IDMLDeviceChild;
-interface IDMLPageable;
-interface IDMLDispatchable;
-interface IDMLOperator;
-interface IDMLCompiledOperator;
-interface IDMLOperatorInitializer;
-interface IDMLBindingTable;
-interface IDMLCommandRecorder;
-
-
-// ===================================================================================================================
-// Tensor descriptions
-// ===================================================================================================================
-
-enum DML_TENSOR_DATA_TYPE
-{
- DML_TENSOR_DATA_TYPE_UNKNOWN,
- DML_TENSOR_DATA_TYPE_FLOAT32,
- DML_TENSOR_DATA_TYPE_FLOAT16,
- DML_TENSOR_DATA_TYPE_UINT32,
- DML_TENSOR_DATA_TYPE_UINT16,
- DML_TENSOR_DATA_TYPE_UINT8,
- DML_TENSOR_DATA_TYPE_INT32,
- DML_TENSOR_DATA_TYPE_INT16,
- DML_TENSOR_DATA_TYPE_INT8,
- DML_TENSOR_DATA_TYPE_FLOAT64,
- DML_TENSOR_DATA_TYPE_UINT64,
- DML_TENSOR_DATA_TYPE_INT64,
-#if DML_TARGET_VERSION >= 0x6300
- DML_TENSOR_DATA_TYPE_UINT4,
- DML_TENSOR_DATA_TYPE_INT4,
-#endif // DML_TARGET_VERSION >= 0x6300
-};
-
-enum DML_TENSOR_TYPE
-{
- DML_TENSOR_TYPE_INVALID,
-
- DML_TENSOR_TYPE_BUFFER,
-};
-
-enum DML_TENSOR_FLAGS
-{
- DML_TENSOR_FLAG_NONE = 0x0,
- DML_TENSOR_FLAG_OWNED_BY_DML = 0x1,
-};
-
-DEFINE_ENUM_FLAG_OPERATORS(DML_TENSOR_FLAGS)
-
-struct DML_BUFFER_TENSOR_DESC
-{
- DML_TENSOR_DATA_TYPE DataType;
- DML_TENSOR_FLAGS Flags;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Sizes;
- _Field_size_opt_(DimensionCount) const UINT* Strides;
- UINT64 TotalTensorSizeInBytes;
- UINT GuaranteedBaseOffsetAlignment;
-};
-
-struct DML_TENSOR_DESC
-{
- DML_TENSOR_TYPE Type;
- _Field_size_(_Inexpressible_("Dependent on tensor type")) const void* Desc;
-};
-
-
-// ===================================================================================================================
-// Operator types
-// ===================================================================================================================
-
-enum DML_OPERATOR_TYPE
-{
- DML_OPERATOR_INVALID,
-
- DML_OPERATOR_ELEMENT_WISE_IDENTITY,
- DML_OPERATOR_ELEMENT_WISE_ABS,
- DML_OPERATOR_ELEMENT_WISE_ACOS,
- DML_OPERATOR_ELEMENT_WISE_ADD,
- DML_OPERATOR_ELEMENT_WISE_ASIN,
- DML_OPERATOR_ELEMENT_WISE_ATAN,
- DML_OPERATOR_ELEMENT_WISE_CEIL,
- DML_OPERATOR_ELEMENT_WISE_CLIP,
- DML_OPERATOR_ELEMENT_WISE_COS,
- DML_OPERATOR_ELEMENT_WISE_DIVIDE,
- DML_OPERATOR_ELEMENT_WISE_EXP,
- DML_OPERATOR_ELEMENT_WISE_FLOOR,
- DML_OPERATOR_ELEMENT_WISE_LOG,
- DML_OPERATOR_ELEMENT_WISE_LOGICAL_AND,
- DML_OPERATOR_ELEMENT_WISE_LOGICAL_EQUALS,
- DML_OPERATOR_ELEMENT_WISE_LOGICAL_GREATER_THAN,
- DML_OPERATOR_ELEMENT_WISE_LOGICAL_LESS_THAN,
- DML_OPERATOR_ELEMENT_WISE_LOGICAL_NOT,
- DML_OPERATOR_ELEMENT_WISE_LOGICAL_OR,
- DML_OPERATOR_ELEMENT_WISE_LOGICAL_XOR,
- DML_OPERATOR_ELEMENT_WISE_MAX,
- DML_OPERATOR_ELEMENT_WISE_MEAN,
- DML_OPERATOR_ELEMENT_WISE_MIN,
- DML_OPERATOR_ELEMENT_WISE_MULTIPLY,
- DML_OPERATOR_ELEMENT_WISE_POW,
- DML_OPERATOR_ELEMENT_WISE_CONSTANT_POW,
- DML_OPERATOR_ELEMENT_WISE_RECIP,
- DML_OPERATOR_ELEMENT_WISE_SIN,
- DML_OPERATOR_ELEMENT_WISE_SQRT,
- DML_OPERATOR_ELEMENT_WISE_SUBTRACT,
- DML_OPERATOR_ELEMENT_WISE_TAN,
- DML_OPERATOR_ELEMENT_WISE_THRESHOLD,
- DML_OPERATOR_ELEMENT_WISE_QUANTIZE_LINEAR,
- DML_OPERATOR_ELEMENT_WISE_DEQUANTIZE_LINEAR,
- DML_OPERATOR_ACTIVATION_ELU,
- DML_OPERATOR_ACTIVATION_HARDMAX,
- DML_OPERATOR_ACTIVATION_HARD_SIGMOID,
- DML_OPERATOR_ACTIVATION_IDENTITY,
- DML_OPERATOR_ACTIVATION_LEAKY_RELU,
- DML_OPERATOR_ACTIVATION_LINEAR,
- DML_OPERATOR_ACTIVATION_LOG_SOFTMAX,
- DML_OPERATOR_ACTIVATION_PARAMETERIZED_RELU,
- DML_OPERATOR_ACTIVATION_PARAMETRIC_SOFTPLUS,
- DML_OPERATOR_ACTIVATION_RELU,
- DML_OPERATOR_ACTIVATION_SCALED_ELU,
- DML_OPERATOR_ACTIVATION_SCALED_TANH,
- DML_OPERATOR_ACTIVATION_SIGMOID,
- DML_OPERATOR_ACTIVATION_SOFTMAX,
- DML_OPERATOR_ACTIVATION_SOFTPLUS,
- DML_OPERATOR_ACTIVATION_SOFTSIGN,
- DML_OPERATOR_ACTIVATION_TANH,
- DML_OPERATOR_ACTIVATION_THRESHOLDED_RELU,
- DML_OPERATOR_CONVOLUTION,
- DML_OPERATOR_GEMM,
- DML_OPERATOR_REDUCE,
- DML_OPERATOR_AVERAGE_POOLING,
- DML_OPERATOR_LP_POOLING,
- DML_OPERATOR_MAX_POOLING,
- DML_OPERATOR_ROI_POOLING,
- DML_OPERATOR_SLICE,
- DML_OPERATOR_CAST,
- DML_OPERATOR_SPLIT,
- DML_OPERATOR_JOIN,
- DML_OPERATOR_PADDING,
- DML_OPERATOR_VALUE_SCALE_2D,
- DML_OPERATOR_UPSAMPLE_2D,
- DML_OPERATOR_GATHER,
- DML_OPERATOR_SPACE_TO_DEPTH,
- DML_OPERATOR_DEPTH_TO_SPACE,
- DML_OPERATOR_TILE,
- DML_OPERATOR_TOP_K,
- DML_OPERATOR_BATCH_NORMALIZATION,
- DML_OPERATOR_MEAN_VARIANCE_NORMALIZATION,
- DML_OPERATOR_LOCAL_RESPONSE_NORMALIZATION,
- DML_OPERATOR_LP_NORMALIZATION,
- DML_OPERATOR_RNN,
- DML_OPERATOR_LSTM,
- DML_OPERATOR_GRU,
-
-#if DML_TARGET_VERSION >= 0x2000
- DML_OPERATOR_ELEMENT_WISE_SIGN,
- DML_OPERATOR_ELEMENT_WISE_IS_NAN,
- DML_OPERATOR_ELEMENT_WISE_ERF,
- DML_OPERATOR_ELEMENT_WISE_SINH,
- DML_OPERATOR_ELEMENT_WISE_COSH,
- DML_OPERATOR_ELEMENT_WISE_TANH,
- DML_OPERATOR_ELEMENT_WISE_ASINH,
- DML_OPERATOR_ELEMENT_WISE_ACOSH,
- DML_OPERATOR_ELEMENT_WISE_ATANH,
- DML_OPERATOR_ELEMENT_WISE_IF,
- DML_OPERATOR_ELEMENT_WISE_ADD1,
- DML_OPERATOR_ACTIVATION_SHRINK,
- DML_OPERATOR_MAX_POOLING1,
- DML_OPERATOR_MAX_UNPOOLING,
- DML_OPERATOR_DIAGONAL_MATRIX,
- DML_OPERATOR_SCATTER_ELEMENTS,
- DML_OPERATOR_SCATTER = DML_OPERATOR_SCATTER_ELEMENTS, // Alias name for backwards compatibility.
- DML_OPERATOR_ONE_HOT,
- DML_OPERATOR_RESAMPLE,
-#endif // DML_TARGET_VERSION >= 0x2000
-
-#if DML_TARGET_VERSION >= 0x2100
- DML_OPERATOR_ELEMENT_WISE_BIT_SHIFT_LEFT,
- DML_OPERATOR_ELEMENT_WISE_BIT_SHIFT_RIGHT,
- DML_OPERATOR_ELEMENT_WISE_ROUND,
- DML_OPERATOR_ELEMENT_WISE_IS_INFINITY,
- DML_OPERATOR_ELEMENT_WISE_MODULUS_TRUNCATE,
- DML_OPERATOR_ELEMENT_WISE_MODULUS_FLOOR,
- DML_OPERATOR_FILL_VALUE_CONSTANT,
- DML_OPERATOR_FILL_VALUE_SEQUENCE,
- DML_OPERATOR_CUMULATIVE_SUMMATION,
- DML_OPERATOR_REVERSE_SUBSEQUENCES,
- DML_OPERATOR_GATHER_ELEMENTS,
- DML_OPERATOR_GATHER_ND,
- DML_OPERATOR_SCATTER_ND,
- DML_OPERATOR_MAX_POOLING2,
- DML_OPERATOR_SLICE1,
- DML_OPERATOR_TOP_K1,
- DML_OPERATOR_DEPTH_TO_SPACE1,
- DML_OPERATOR_SPACE_TO_DEPTH1,
- DML_OPERATOR_MEAN_VARIANCE_NORMALIZATION1,
- DML_OPERATOR_RESAMPLE1,
- DML_OPERATOR_MATRIX_MULTIPLY_INTEGER,
- DML_OPERATOR_QUANTIZED_LINEAR_MATRIX_MULTIPLY,
- DML_OPERATOR_CONVOLUTION_INTEGER,
- DML_OPERATOR_QUANTIZED_LINEAR_CONVOLUTION,
-#endif // DML_TARGET_VERSION >= 0x2100
-
-#if DML_TARGET_VERSION >= 0x3000
- DML_OPERATOR_ELEMENT_WISE_BIT_AND,
- DML_OPERATOR_ELEMENT_WISE_BIT_OR,
- DML_OPERATOR_ELEMENT_WISE_BIT_XOR,
- DML_OPERATOR_ELEMENT_WISE_BIT_NOT,
- DML_OPERATOR_ELEMENT_WISE_BIT_COUNT,
- DML_OPERATOR_ELEMENT_WISE_LOGICAL_GREATER_THAN_OR_EQUAL,
- DML_OPERATOR_ELEMENT_WISE_LOGICAL_LESS_THAN_OR_EQUAL,
- DML_OPERATOR_ACTIVATION_CELU,
- DML_OPERATOR_ACTIVATION_RELU_GRAD,
- DML_OPERATOR_AVERAGE_POOLING_GRAD,
- DML_OPERATOR_MAX_POOLING_GRAD,
- DML_OPERATOR_RANDOM_GENERATOR,
- DML_OPERATOR_NONZERO_COORDINATES,
- DML_OPERATOR_RESAMPLE_GRAD,
- DML_OPERATOR_SLICE_GRAD,
- DML_OPERATOR_ADAM_OPTIMIZER,
- DML_OPERATOR_ARGMIN,
- DML_OPERATOR_ARGMAX,
- DML_OPERATOR_ROI_ALIGN,
- DML_OPERATOR_GATHER_ND1,
-#endif // DML_TARGET_VERSION >= 0x3000
-
-#if DML_TARGET_VERSION >= 0x3100
- DML_OPERATOR_ELEMENT_WISE_ATAN_YX,
- DML_OPERATOR_ELEMENT_WISE_CLIP_GRAD,
- DML_OPERATOR_ELEMENT_WISE_DIFFERENCE_SQUARE,
- DML_OPERATOR_LOCAL_RESPONSE_NORMALIZATION_GRAD,
- DML_OPERATOR_CUMULATIVE_PRODUCT,
- DML_OPERATOR_BATCH_NORMALIZATION_GRAD,
-#endif // DML_TARGET_VERSION >= 0x3100
-
-#if DML_TARGET_VERSION >= 0x4000
- DML_OPERATOR_ELEMENT_WISE_QUANTIZED_LINEAR_ADD,
- DML_OPERATOR_DYNAMIC_QUANTIZE_LINEAR,
- DML_OPERATOR_ROI_ALIGN1,
-#endif // DML_TARGET_VERSION >= 0x4000
-
-#if DML_TARGET_VERSION >= 0x4100
- DML_OPERATOR_ROI_ALIGN_GRAD,
- DML_OPERATOR_BATCH_NORMALIZATION_TRAINING,
- DML_OPERATOR_BATCH_NORMALIZATION_TRAINING_GRAD,
-#endif // DML_TARGET_VERSION >= 0x4100
-
-#if DML_TARGET_VERSION >= 0x5000
- DML_OPERATOR_ELEMENT_WISE_CLIP1,
- DML_OPERATOR_ELEMENT_WISE_CLIP_GRAD1,
- DML_OPERATOR_PADDING1,
- DML_OPERATOR_ELEMENT_WISE_NEGATE,
-#endif // DML_TARGET_VERSION >= 0x5000
-
-#if DML_TARGET_VERSION >= 0x5100
- DML_OPERATOR_ACTIVATION_GELU,
- DML_OPERATOR_ACTIVATION_SOFTMAX1,
- DML_OPERATOR_ACTIVATION_LOG_SOFTMAX1,
- DML_OPERATOR_ACTIVATION_HARDMAX1,
- DML_OPERATOR_RESAMPLE2,
- DML_OPERATOR_RESAMPLE_GRAD1,
- DML_OPERATOR_DIAGONAL_MATRIX1,
-#endif // DML_TARGET_VERSION >= 0x5100
-
-#if DML_TARGET_VERSION >= 0x6100
- DML_OPERATOR_MULTIHEAD_ATTENTION,
-#endif // DML_TARGET_VERSION >= 0x6100
-
-#if DML_TARGET_VERSION >= 0x6200
- DML_OPERATOR_LP_POOLING1,
- DML_OPERATOR_AVERAGE_POOLING1,
- DML_OPERATOR_ACTIVATION_SWISH,
- DML_OPERATOR_ACTIVATION_HARD_SWISH,
- DML_OPERATOR_QUANTIZED_LINEAR_AVERAGE_POOLING,
- DML_OPERATOR_MATRIX_MULTIPLY_INTEGER_TO_FLOAT,
-#endif // DML_TARGET_VERSION >= 0x6200
-
-#if DML_TARGET_VERSION >= 0x6300
- DML_OPERATOR_MEAN_VARIANCE_NORMALIZATION2,
- DML_OPERATOR_MULTIHEAD_ATTENTION1,
- DML_OPERATOR_QUANTIZE,
- DML_OPERATOR_DEQUANTIZE,
-#endif // DML_TARGET_VERSION >= 0x6300
-
-#if DML_TARGET_VERSION >= 0x6400
- DML_OPERATOR_RESAMPLE3,
- DML_OPERATOR_FOLD,
- DML_OPERATOR_UNFOLD,
-#endif // DML_TARGET_VERSION >= 0x6400
-};
-
-// ===================================================================================================================
-// Operator enumerations and structures
-// ===================================================================================================================
-
-enum DML_REDUCE_FUNCTION
-{
- DML_REDUCE_FUNCTION_ARGMAX,
- DML_REDUCE_FUNCTION_ARGMIN,
- DML_REDUCE_FUNCTION_AVERAGE,
- DML_REDUCE_FUNCTION_L1,
- DML_REDUCE_FUNCTION_L2,
- DML_REDUCE_FUNCTION_LOG_SUM,
- DML_REDUCE_FUNCTION_LOG_SUM_EXP,
- DML_REDUCE_FUNCTION_MAX,
- DML_REDUCE_FUNCTION_MIN,
- DML_REDUCE_FUNCTION_MULTIPLY,
- DML_REDUCE_FUNCTION_SUM,
- DML_REDUCE_FUNCTION_SUM_SQUARE,
-};
-
-enum DML_MATRIX_TRANSFORM
-{
- DML_MATRIX_TRANSFORM_NONE,
- DML_MATRIX_TRANSFORM_TRANSPOSE,
-};
-
-enum DML_CONVOLUTION_MODE
-{
- DML_CONVOLUTION_MODE_CONVOLUTION,
- DML_CONVOLUTION_MODE_CROSS_CORRELATION,
-};
-
-enum DML_CONVOLUTION_DIRECTION
-{
- DML_CONVOLUTION_DIRECTION_FORWARD,
- DML_CONVOLUTION_DIRECTION_BACKWARD,
-};
-
-enum DML_PADDING_MODE
-{
- DML_PADDING_MODE_CONSTANT,
- DML_PADDING_MODE_EDGE,
- DML_PADDING_MODE_REFLECTION,
-
-#if DML_TARGET_VERSION >= 0x3000
- DML_PADDING_MODE_SYMMETRIC,
-#endif
-
-#if DML_TARGET_VERSION >= 0x6400
- DML_PADDING_MODE_WRAP,
-#endif
-};
-
-enum DML_INTERPOLATION_MODE
-{
- DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR,
- DML_INTERPOLATION_MODE_LINEAR,
-};
-
-struct DML_SCALE_BIAS
-{
- FLOAT Scale;
- FLOAT Bias;
-};
-
-struct DML_SIZE_2D
-{
- UINT Width;
- UINT Height;
-};
-
-enum DML_RECURRENT_NETWORK_DIRECTION
-{
- DML_RECURRENT_NETWORK_DIRECTION_FORWARD,
- DML_RECURRENT_NETWORK_DIRECTION_BACKWARD,
- DML_RECURRENT_NETWORK_DIRECTION_BIDIRECTIONAL,
-};
-
-#if DML_TARGET_VERSION >= 0x2100
-
-enum DML_ROUNDING_MODE
-{
- DML_ROUNDING_MODE_HALVES_TO_NEAREST_EVEN,
- DML_ROUNDING_MODE_TOWARD_ZERO,
- DML_ROUNDING_MODE_TOWARD_INFINITY,
-};
-
-enum DML_IS_INFINITY_MODE
-{
- DML_IS_INFINITY_MODE_EITHER = 0,
- DML_IS_INFINITY_MODE_POSITIVE = 1,
- DML_IS_INFINITY_MODE_NEGATIVE = 2,
-};
-
-enum DML_AXIS_DIRECTION
-{
- DML_AXIS_DIRECTION_INCREASING = 0,
- DML_AXIS_DIRECTION_DECREASING = 1,
-};
-
-enum DML_DEPTH_SPACE_ORDER
-{
- DML_DEPTH_SPACE_ORDER_DEPTH_COLUMN_ROW,
- DML_DEPTH_SPACE_ORDER_COLUMN_ROW_DEPTH,
-};
-
-union DML_SCALAR_UNION
-{
- BYTE Bytes[8];
- INT8 Int8;
- UINT8 UInt8;
- INT16 Int16;
- UINT16 UInt16;
- INT32 Int32;
- UINT32 UInt32;
- INT64 Int64;
- UINT64 UInt64;
- FLOAT Float32;
- DOUBLE Float64;
-};
-
-#endif // DML_TARGET_VERSION >= 0x2100
-
-#if DML_TARGET_VERSION >= 0x3000
-
-enum DML_RANDOM_GENERATOR_TYPE
-{
- DML_RANDOM_GENERATOR_TYPE_PHILOX_4X32_10
-};
-
-#endif // DML_TARGET_VERSION >= 0x3000
-
-#if DML_TARGET_VERSION >= 0x6100
-
-enum DML_MULTIHEAD_ATTENTION_MASK_TYPE
-{
- DML_MULTIHEAD_ATTENTION_MASK_TYPE_NONE,
- DML_MULTIHEAD_ATTENTION_MASK_TYPE_KEY_SEQUENCE_LENGTH,
- DML_MULTIHEAD_ATTENTION_MASK_TYPE_KEY_SEQUENCE_END_START,
- DML_MULTIHEAD_ATTENTION_MASK_TYPE_KEY_QUERY_SEQUENCE_LENGTH_START_END,
- DML_MULTIHEAD_ATTENTION_MASK_TYPE_BOOLEAN,
-};
-
-#endif // DML_TARGET_VERSION >= 0x6100
-
-#if DML_TARGET_VERSION >= 0x6300
-
-enum DML_QUANTIZATION_TYPE
-{
- DML_QUANTIZATION_TYPE_NONE,
- DML_QUANTIZATION_TYPE_SCALE,
- DML_QUANTIZATION_TYPE_SCALE_ZERO_POINT,
-};
-
-#endif // DML_TARGET_VERSION >= 0x6300
-
-// ===================================================================================================================
-// Operator descriptions
-// ===================================================================================================================
-
-struct DML_OPERATOR_DESC
-{
- DML_OPERATOR_TYPE Type;
- _Field_size_(_Inexpressible_("Dependent on operator type")) const void* Desc;
-};
-
-struct DML_ELEMENT_WISE_IDENTITY_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_ABS_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_ACOS_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_ADD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_ADD1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_OPERATOR_DESC* FusedActivation;
-};
-
-struct DML_ELEMENT_WISE_ASIN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_ATAN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_CEIL_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_CLIP_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
- FLOAT Min;
- FLOAT Max;
-};
-
-struct DML_ELEMENT_WISE_COS_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_DIVIDE_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_EXP_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_FLOOR_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_LOG_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_LOGICAL_AND_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_LOGICAL_EQUALS_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_LOGICAL_GREATER_THAN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_LOGICAL_LESS_THAN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_LOGICAL_NOT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_LOGICAL_OR_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_LOGICAL_XOR_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_MAX_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_MEAN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_MIN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_MULTIPLY_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_POW_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* ExponentTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_CONSTANT_POW_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
- FLOAT Exponent;
-};
-
-struct DML_ELEMENT_WISE_RECIP_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_SIN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_SQRT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_SUBTRACT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_TAN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_THRESHOLD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
- FLOAT Min;
-};
-
-struct DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* ScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* ZeroPointTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* ScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* ZeroPointTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_ELU_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Alpha;
-};
-
-struct DML_ACTIVATION_HARDMAX_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_HARD_SIGMOID_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Alpha;
- FLOAT Beta;
-};
-
-struct DML_ACTIVATION_IDENTITY_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_LEAKY_RELU_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Alpha;
-};
-
-struct DML_ACTIVATION_LINEAR_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Alpha;
- FLOAT Beta;
-};
-
-struct DML_ACTIVATION_LOG_SOFTMAX_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_PARAMETERIZED_RELU_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* SlopeTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_PARAMETRIC_SOFTPLUS_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Alpha;
- FLOAT Beta;
-};
-
-struct DML_ACTIVATION_RELU_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_SCALED_ELU_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Alpha;
- FLOAT Gamma;
-};
-
-struct DML_ACTIVATION_SCALED_TANH_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Alpha;
- FLOAT Beta;
-};
-
-struct DML_ACTIVATION_SIGMOID_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_SOFTMAX_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_SOFTPLUS_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Steepness;
-};
-
-struct DML_ACTIVATION_SOFTSIGN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_TANH_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_THRESHOLDED_RELU_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Alpha;
-};
-
-struct DML_CONVOLUTION_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* FilterTensor;
- _Maybenull_ const DML_TENSOR_DESC* BiasTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_CONVOLUTION_MODE Mode;
- DML_CONVOLUTION_DIRECTION Direction;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* Dilations;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
- _Field_size_(DimensionCount) const UINT* OutputPadding;
- UINT GroupCount;
- _Maybenull_ const DML_OPERATOR_DESC* FusedActivation;
-};
-
-struct DML_GEMM_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- _Maybenull_ const DML_TENSOR_DESC* CTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_MATRIX_TRANSFORM TransA;
- DML_MATRIX_TRANSFORM TransB;
- FLOAT Alpha;
- FLOAT Beta;
- _Maybenull_ const DML_OPERATOR_DESC* FusedActivation;
-};
-
-struct DML_REDUCE_OPERATOR_DESC
-{
- DML_REDUCE_FUNCTION Function;
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT AxisCount;
- _Field_size_(AxisCount) const UINT* Axes;
-};
-
-struct DML_AVERAGE_POOLING_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* WindowSize;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
- BOOL IncludePadding;
-};
-
-struct DML_LP_POOLING_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* WindowSize;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
- UINT P;
-};
-
-struct DML_MAX_POOLING_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* WindowSize;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
-};
-
-struct DML_ROI_POOLING_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* ROITensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT SpatialScale;
- DML_SIZE_2D PooledSize;
-};
-
-struct DML_SLICE_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Offsets;
- _Field_size_(DimensionCount) const UINT* Sizes;
- _Field_size_(DimensionCount) const UINT* Strides;
-};
-
-struct DML_CAST_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_SPLIT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- UINT OutputCount;
- _Field_size_(OutputCount) const DML_TENSOR_DESC* OutputTensors;
- UINT Axis;
-};
-
-struct DML_JOIN_OPERATOR_DESC
-{
- UINT InputCount;
- _Field_size_(InputCount) const DML_TENSOR_DESC* InputTensors;
- const DML_TENSOR_DESC* OutputTensor;
- UINT Axis;
-};
-
-struct DML_PADDING_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_PADDING_MODE PaddingMode;
- FLOAT PaddingValue;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
-};
-
-struct DML_VALUE_SCALE_2D_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Scale;
- UINT ChannelCount;
- _Field_size_(ChannelCount) const FLOAT* Bias;
-};
-
-struct DML_UPSAMPLE_2D_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_SIZE_2D ScaleSize;
- DML_INTERPOLATION_MODE InterpolationMode;
-};
-
-struct DML_GATHER_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* IndicesTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT Axis;
- UINT IndexDimensions;
-};
-
-struct DML_SPACE_TO_DEPTH_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT BlockSize;
-};
-
-struct DML_DEPTH_TO_SPACE_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT BlockSize;
-};
-
-struct DML_TILE_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT RepeatsCount;
- _Field_size_(RepeatsCount) const UINT* Repeats;
-};
-
-struct DML_TOP_K_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputValueTensor;
- const DML_TENSOR_DESC* OutputIndexTensor;
- UINT Axis;
- UINT K;
-};
-
-struct DML_BATCH_NORMALIZATION_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* MeanTensor;
- const DML_TENSOR_DESC* VarianceTensor;
- const DML_TENSOR_DESC* ScaleTensor;
- const DML_TENSOR_DESC* BiasTensor;
- const DML_TENSOR_DESC* OutputTensor;
- BOOL Spatial;
- FLOAT Epsilon;
- _Maybenull_ const DML_OPERATOR_DESC* FusedActivation;
-};
-
-struct DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- _Maybenull_ const DML_TENSOR_DESC* ScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* BiasTensor;
- const DML_TENSOR_DESC* OutputTensor;
- BOOL CrossChannel;
- BOOL NormalizeVariance;
- FLOAT Epsilon;
- _Maybenull_ const DML_OPERATOR_DESC* FusedActivation;
-};
-
-struct DML_LOCAL_RESPONSE_NORMALIZATION_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- BOOL CrossChannel;
- UINT LocalSize;
- FLOAT Alpha;
- FLOAT Beta;
- FLOAT Bias;
-};
-
-struct DML_LP_NORMALIZATION_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT Axis;
- FLOAT Epsilon;
- UINT P;
-};
-
-struct DML_RNN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* WeightTensor;
- const DML_TENSOR_DESC* RecurrenceTensor;
- _Maybenull_ const DML_TENSOR_DESC* BiasTensor;
- _Maybenull_ const DML_TENSOR_DESC* HiddenInitTensor;
- _Maybenull_ const DML_TENSOR_DESC* SequenceLengthsTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputSequenceTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputSingleTensor;
- UINT ActivationDescCount;
- _Field_size_(ActivationDescCount) const DML_OPERATOR_DESC* ActivationDescs;
- DML_RECURRENT_NETWORK_DIRECTION Direction;
-};
-
-struct DML_LSTM_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* WeightTensor;
- const DML_TENSOR_DESC* RecurrenceTensor;
- _Maybenull_ const DML_TENSOR_DESC* BiasTensor;
- _Maybenull_ const DML_TENSOR_DESC* HiddenInitTensor;
- _Maybenull_ const DML_TENSOR_DESC* CellMemInitTensor;
- _Maybenull_ const DML_TENSOR_DESC* SequenceLengthsTensor;
- _Maybenull_ const DML_TENSOR_DESC* PeepholeTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputSequenceTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputSingleTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputCellSingleTensor;
- UINT ActivationDescCount;
- _Field_size_(ActivationDescCount) const DML_OPERATOR_DESC* ActivationDescs;
- DML_RECURRENT_NETWORK_DIRECTION Direction;
- float ClipThreshold;
- BOOL UseClipThreshold;
- BOOL CoupleInputForget;
-};
-
-struct DML_GRU_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* WeightTensor;
- const DML_TENSOR_DESC* RecurrenceTensor;
- _Maybenull_ const DML_TENSOR_DESC* BiasTensor;
- _Maybenull_ const DML_TENSOR_DESC* HiddenInitTensor;
- _Maybenull_ const DML_TENSOR_DESC* SequenceLengthsTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputSequenceTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputSingleTensor;
- UINT ActivationDescCount;
- _Field_size_(ActivationDescCount) const DML_OPERATOR_DESC* ActivationDescs;
- DML_RECURRENT_NETWORK_DIRECTION Direction;
- BOOL LinearBeforeReset;
-};
-
-#if DML_TARGET_VERSION >= 0x2000
-
-struct DML_ELEMENT_WISE_SIGN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_IS_NAN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_ERF_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_SINH_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_COSH_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_TANH_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_ASINH_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_ACOSH_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_ATANH_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
-};
-
-struct DML_ELEMENT_WISE_IF_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ConditionTensor;
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_SHRINK_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Bias;
- FLOAT Threshold;
-};
-
-struct DML_MAX_POOLING1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputIndicesTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* WindowSize;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
-};
-
-struct DML_MAX_UNPOOLING_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* IndicesTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_DIAGONAL_MATRIX_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* OutputTensor;
- INT Offset;
- FLOAT Value;
-};
-
-struct DML_SCATTER_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* IndicesTensor;
- const DML_TENSOR_DESC* UpdatesTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT Axis;
-};
-
-struct DML_ONE_HOT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* IndicesTensor;
- const DML_TENSOR_DESC* ValuesTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT Axis;
-};
-
-struct DML_RESAMPLE_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_INTERPOLATION_MODE InterpolationMode;
- UINT ScaleCount;
- _Field_size_(ScaleCount) const FLOAT* Scales;
-};
-
-#endif // DML_TARGET_VERSION >= 0x2000
-
-#if DML_TARGET_VERSION >= 0x2100
-
-struct DML_ELEMENT_WISE_BIT_SHIFT_LEFT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_BIT_SHIFT_RIGHT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_ROUND_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_ROUNDING_MODE RoundingMode;
-};
-
-struct DML_ELEMENT_WISE_IS_INFINITY_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_IS_INFINITY_MODE InfinityMode;
-};
-
-struct DML_ELEMENT_WISE_MODULUS_TRUNCATE_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_MODULUS_FLOOR_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_FILL_VALUE_CONSTANT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* OutputTensor;
- DML_TENSOR_DATA_TYPE ValueDataType;
- DML_SCALAR_UNION Value;
-};
-
-struct DML_FILL_VALUE_SEQUENCE_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* OutputTensor;
- DML_TENSOR_DATA_TYPE ValueDataType;
- DML_SCALAR_UNION ValueStart;
- DML_SCALAR_UNION ValueDelta;
-};
-
-struct DML_CUMULATIVE_SUMMATION_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT Axis;
- DML_AXIS_DIRECTION AxisDirection;
- BOOL HasExclusiveSum;
-};
-
-struct DML_REVERSE_SUBSEQUENCES_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* SequenceLengthsTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT Axis;
-};
-
-struct DML_GATHER_ELEMENTS_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* IndicesTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT Axis;
-};
-
-// Alias existing operator, symmetric with DML_GATHER_ELEMENTS_OPERATOR_DESC.
-using DML_SCATTER_ELEMENTS_OPERATOR_DESC = DML_SCATTER_OPERATOR_DESC;
-
-struct DML_GATHER_ND_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* IndicesTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT InputDimensionCount;
- UINT IndicesDimensionCount;
-};
-
-struct DML_SCATTER_ND_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* IndicesTensor;
- const DML_TENSOR_DESC* UpdatesTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT InputDimensionCount;
- UINT IndicesDimensionCount;
-};
-
-struct DML_MAX_POOLING2_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputIndicesTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* WindowSize;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
- _Field_size_(DimensionCount) const UINT* Dilations;
-};
-
-struct DML_SLICE1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* InputWindowOffsets;
- _Field_size_(DimensionCount) const UINT* InputWindowSizes;
- _Field_size_(DimensionCount) const INT* InputWindowStrides;
-};
-
-struct DML_TOP_K1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputValueTensor;
- const DML_TENSOR_DESC* OutputIndexTensor;
- UINT Axis;
- UINT K;
- DML_AXIS_DIRECTION AxisDirection;
-};
-
-struct DML_DEPTH_TO_SPACE1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT BlockSize;
- DML_DEPTH_SPACE_ORDER Order;
-};
-
-struct DML_SPACE_TO_DEPTH1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT BlockSize;
- DML_DEPTH_SPACE_ORDER Order;
-};
-
-struct DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- _Maybenull_ const DML_TENSOR_DESC* ScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* BiasTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT AxisCount;
- _Field_size_(AxisCount) const UINT* Axes;
- BOOL NormalizeVariance;
- FLOAT Epsilon;
- _Maybenull_ const DML_OPERATOR_DESC* FusedActivation;
-};
-
-struct DML_RESAMPLE1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_INTERPOLATION_MODE InterpolationMode;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const FLOAT* Scales;
- _Field_size_(DimensionCount) const FLOAT* InputPixelOffsets;
- _Field_size_(DimensionCount) const FLOAT* OutputPixelOffsets;
-};
-
-struct DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- _Maybenull_ const DML_TENSOR_DESC* AZeroPointTensor;
- const DML_TENSOR_DESC* BTensor;
- _Maybenull_ const DML_TENSOR_DESC* BZeroPointTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_QUANTIZED_LINEAR_MATRIX_MULTIPLY_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* AScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* AZeroPointTensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* BScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* BZeroPointTensor;
- const DML_TENSOR_DESC* OutputScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputZeroPointTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_CONVOLUTION_INTEGER_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- _Maybenull_ const DML_TENSOR_DESC* InputZeroPointTensor;
- const DML_TENSOR_DESC* FilterTensor;
- _Maybenull_ const DML_TENSOR_DESC* FilterZeroPointTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* Dilations;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
- UINT GroupCount;
-};
-
-struct DML_QUANTIZED_LINEAR_CONVOLUTION_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* InputScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* InputZeroPointTensor;
- const DML_TENSOR_DESC* FilterTensor;
- const DML_TENSOR_DESC* FilterScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* FilterZeroPointTensor;
- _Maybenull_ const DML_TENSOR_DESC* BiasTensor;
- const DML_TENSOR_DESC* OutputScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputZeroPointTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* Dilations;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
- UINT GroupCount;
-};
-
-#endif // DML_TARGET_VERSION >= 0x2100
-
-#if DML_TARGET_VERSION >= 0x3000
-
-struct DML_ELEMENT_WISE_BIT_AND_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_BIT_OR_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_BIT_XOR_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_BIT_NOT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_BIT_COUNT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_LOGICAL_GREATER_THAN_OR_EQUAL_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_LOGICAL_LESS_THAN_OR_EQUAL_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_CELU_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Alpha;
-};
-
-struct DML_ACTIVATION_RELU_GRAD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* OutputGradientTensor;
-};
-
-struct DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* OutputGradientTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* WindowSize;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
- BOOL IncludePadding;
-};
-
-struct DML_MAX_POOLING_GRAD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* OutputGradientTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* WindowSize;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
- _Field_size_(DimensionCount) const UINT* Dilations;
-};
-
-struct DML_RANDOM_GENERATOR_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputStateTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputStateTensor;
- DML_RANDOM_GENERATOR_TYPE Type;
-};
-
-struct DML_NONZERO_COORDINATES_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputCountTensor;
- const DML_TENSOR_DESC* OutputCoordinatesTensor;
-};
-
-struct DML_RESAMPLE_GRAD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* OutputGradientTensor;
- DML_INTERPOLATION_MODE InterpolationMode;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const FLOAT* Scales;
- _Field_size_(DimensionCount) const FLOAT* InputPixelOffsets;
- _Field_size_(DimensionCount) const FLOAT* OutputPixelOffsets;
-};
-
-struct DML_SLICE_GRAD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* OutputGradientTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* InputWindowOffsets;
- _Field_size_(DimensionCount) const UINT* InputWindowSizes;
- _Field_size_(DimensionCount) const INT* InputWindowStrides;
-};
-
-struct DML_ADAM_OPTIMIZER_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputParametersTensor;
- const DML_TENSOR_DESC* InputFirstMomentTensor;
- const DML_TENSOR_DESC* InputSecondMomentTensor;
- const DML_TENSOR_DESC* GradientTensor;
- const DML_TENSOR_DESC* TrainingStepTensor;
- const DML_TENSOR_DESC* OutputParametersTensor;
- const DML_TENSOR_DESC* OutputFirstMomentTensor;
- const DML_TENSOR_DESC* OutputSecondMomentTensor;
- FLOAT LearningRate;
- FLOAT Beta1;
- FLOAT Beta2;
- FLOAT Epsilon;
-};
-
-struct DML_ARGMIN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT AxisCount;
- _Field_size_(AxisCount) const UINT* Axes;
- DML_AXIS_DIRECTION AxisDirection;
-};
-
-struct DML_ARGMAX_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT AxisCount;
- _Field_size_(AxisCount) const UINT* Axes;
- DML_AXIS_DIRECTION AxisDirection;
-};
-
-struct DML_ROI_ALIGN_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* ROITensor;
- const DML_TENSOR_DESC* BatchIndicesTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_REDUCE_FUNCTION ReductionFunction;
- DML_INTERPOLATION_MODE InterpolationMode;
- FLOAT SpatialScaleX;
- FLOAT SpatialScaleY;
- FLOAT OutOfBoundsInputValue;
- UINT MinimumSamplesPerOutput;
- UINT MaximumSamplesPerOutput;
-};
-
-struct DML_GATHER_ND1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* IndicesTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT InputDimensionCount;
- UINT IndicesDimensionCount;
- UINT BatchDimensionCount;
-};
-
-#endif // DML_TARGET_VERSION >= 0x3000
-
-#if DML_TARGET_VERSION >= 0x3100
-
-struct DML_ELEMENT_WISE_ATAN_YX_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ELEMENT_WISE_CLIP_GRAD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* OutputGradientTensor;
- FLOAT Min;
- FLOAT Max;
-};
-
-struct DML_ELEMENT_WISE_DIFFERENCE_SQUARE_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_LOCAL_RESPONSE_NORMALIZATION_GRAD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* OutputGradientTensor;
- BOOL CrossChannel;
- UINT LocalSize;
- FLOAT Alpha;
- FLOAT Beta;
- FLOAT Bias;
-};
-
-struct DML_CUMULATIVE_PRODUCT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT Axis;
- DML_AXIS_DIRECTION AxisDirection;
- BOOL HasExclusiveProduct;
-};
-
-struct DML_BATCH_NORMALIZATION_GRAD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* MeanTensor;
- const DML_TENSOR_DESC* VarianceTensor;
- const DML_TENSOR_DESC* ScaleTensor;
-
- const DML_TENSOR_DESC* OutputGradientTensor;
- const DML_TENSOR_DESC* OutputScaleGradientTensor;
- const DML_TENSOR_DESC* OutputBiasGradientTensor;
-
- FLOAT Epsilon;
-};
-
-#endif // DML_TARGET_VERSION >= 0x3100
-
-#if DML_TARGET_VERSION >= 0x4000
-struct DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* AScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* AZeroPointTensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* BScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* BZeroPointTensor;
- const DML_TENSOR_DESC* OutputScaleTensor; // This is an input tensor
- _Maybenull_ const DML_TENSOR_DESC* OutputZeroPointTensor; // This is an input tensor
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_DYNAMIC_QUANTIZE_LINEAR_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- const DML_TENSOR_DESC* OutputScaleTensor; // This is an output tensor
- const DML_TENSOR_DESC* OutputZeroPointTensor; // This is an output tensor
-};
-
-struct DML_ROI_ALIGN1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* ROITensor;
- const DML_TENSOR_DESC* BatchIndicesTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_REDUCE_FUNCTION ReductionFunction;
- DML_INTERPOLATION_MODE InterpolationMode;
- FLOAT SpatialScaleX;
- FLOAT SpatialScaleY;
- FLOAT InputPixelOffset;
- FLOAT OutputPixelOffset;
- FLOAT OutOfBoundsInputValue;
- UINT MinimumSamplesPerOutput;
- UINT MaximumSamplesPerOutput;
- BOOL AlignRegionsToCorners;
-};
-
-#endif // DML_TARGET_VERSION >= 0x4000
-
-#if DML_TARGET_VERSION >= 0x4100
-
-struct DML_ROI_ALIGN_GRAD_OPERATOR_DESC
-{
- _Maybenull_ const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* ROITensor;
- const DML_TENSOR_DESC* BatchIndicesTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputGradientTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputROIGradientTensor;
- DML_REDUCE_FUNCTION ReductionFunction;
- DML_INTERPOLATION_MODE InterpolationMode;
- FLOAT SpatialScaleX;
- FLOAT SpatialScaleY;
- FLOAT InputPixelOffset;
- FLOAT OutputPixelOffset;
- UINT MinimumSamplesPerOutput;
- UINT MaximumSamplesPerOutput;
- BOOL AlignRegionsToCorners;
-};
-
-struct DML_BATCH_NORMALIZATION_TRAINING_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* ScaleTensor;
- const DML_TENSOR_DESC* BiasTensor;
- _Maybenull_ const DML_TENSOR_DESC* FusedAddTensor;
- const DML_TENSOR_DESC* OutputTensor;
- const DML_TENSOR_DESC* OutputMeanTensor;
- const DML_TENSOR_DESC* OutputVarianceTensor;
- FLOAT Epsilon;
- _Maybenull_ const DML_OPERATOR_DESC* FusedActivation;
-};
-
-struct DML_BATCH_NORMALIZATION_TRAINING_GRAD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* MeanTensor;
- const DML_TENSOR_DESC* VarianceTensor;
- const DML_TENSOR_DESC* ScaleTensor;
- const DML_TENSOR_DESC* OutputGradientTensor;
- const DML_TENSOR_DESC* OutputScaleGradientTensor;
- const DML_TENSOR_DESC* OutputBiasGradientTensor;
- FLOAT Epsilon;
-};
-
-#endif // DML_TARGET_VERSION >= 0x4100
-
-#if DML_TARGET_VERSION >= 0x5000
-
-struct DML_ELEMENT_WISE_CLIP1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_SCALE_BIAS* ScaleBias;
- DML_TENSOR_DATA_TYPE MinMaxDataType;
- DML_SCALAR_UNION Min;
- DML_SCALAR_UNION Max;
-};
-
-struct DML_ELEMENT_WISE_CLIP_GRAD1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* OutputGradientTensor;
- DML_TENSOR_DATA_TYPE MinMaxDataType;
- DML_SCALAR_UNION Min;
- DML_SCALAR_UNION Max;
-};
-
-struct DML_PADDING1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_PADDING_MODE PaddingMode;
- DML_TENSOR_DATA_TYPE PaddingValueDataType;
- DML_SCALAR_UNION PaddingValue;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
-};
-
-struct DML_ELEMENT_WISE_NEGATE_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-#endif // DML_TARGET_VERSION >= 0x5000
-
-#if DML_TARGET_VERSION >= 0x5100
-
-struct DML_ACTIVATION_GELU_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_ACTIVATION_SOFTMAX1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT AxisCount;
- _Field_size_(AxisCount) const UINT* Axes;
-};
-
-struct DML_ACTIVATION_LOG_SOFTMAX1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT AxisCount;
- _Field_size_(AxisCount) const UINT* Axes;
-};
-
-struct DML_ACTIVATION_HARDMAX1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT AxisCount;
- _Field_size_(AxisCount) const UINT* Axes;
-};
-
-struct DML_RESAMPLE2_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_INTERPOLATION_MODE InterpolationMode;
- DML_AXIS_DIRECTION RoundingDirection;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const FLOAT* Scales;
- _Field_size_(DimensionCount) const FLOAT* InputPixelOffsets;
- _Field_size_(DimensionCount) const FLOAT* OutputPixelOffsets;
-};
-
-struct DML_RESAMPLE_GRAD1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputGradientTensor;
- const DML_TENSOR_DESC* OutputGradientTensor;
- DML_INTERPOLATION_MODE InterpolationMode;
- DML_AXIS_DIRECTION RoundingDirection;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const FLOAT* Scales;
- _Field_size_(DimensionCount) const FLOAT* InputPixelOffsets;
- _Field_size_(DimensionCount) const FLOAT* OutputPixelOffsets;
-};
-
-struct DML_DIAGONAL_MATRIX1_OPERATOR_DESC
-{
- _Maybenull_ const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_TENSOR_DATA_TYPE ValueDataType;
- DML_SCALAR_UNION Value;
- INT DiagonalFillBegin;
- INT DiagonalFillEnd;
-};
-
-#endif // DML_TARGET_VERSION >= 0x5100
-
-#if DML_TARGET_VERSION >= 0x6100
-
-struct DML_MULTIHEAD_ATTENTION_OPERATOR_DESC
-{
- _Maybenull_ const DML_TENSOR_DESC* QueryTensor;
- _Maybenull_ const DML_TENSOR_DESC* KeyTensor;
- _Maybenull_ const DML_TENSOR_DESC* ValueTensor;
- _Maybenull_ const DML_TENSOR_DESC* StackedQueryKeyTensor;
- _Maybenull_ const DML_TENSOR_DESC* StackedKeyValueTensor;
- _Maybenull_ const DML_TENSOR_DESC* StackedQueryKeyValueTensor;
- _Maybenull_ const DML_TENSOR_DESC* BiasTensor;
- _Maybenull_ const DML_TENSOR_DESC* MaskTensor;
- _Maybenull_ const DML_TENSOR_DESC* RelativePositionBiasTensor;
- _Maybenull_ const DML_TENSOR_DESC* PastKeyTensor;
- _Maybenull_ const DML_TENSOR_DESC* PastValueTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputPresentKeyTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputPresentValueTensor;
- FLOAT Scale;
- FLOAT MaskFilterValue;
- UINT HeadCount;
- DML_MULTIHEAD_ATTENTION_MASK_TYPE MaskType;
-};
-
-#endif // DML_TARGET_VERSION >= 0x6100
-
-#if DML_TARGET_VERSION >= 0x6200
-
-struct DML_LP_POOLING1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* WindowSize;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
- _Field_size_(DimensionCount) const UINT* Dilations;
- UINT P;
-};
-
-struct DML_AVERAGE_POOLING1_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* WindowSize;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
- _Field_size_(DimensionCount) const UINT* Dilations;
- BOOL IncludePadding;
-};
-
-struct DML_ACTIVATION_SWISH_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT SigmoidInputScale;
-};
-
-struct DML_ACTIVATION_HARD_SWISH_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- FLOAT Alpha;
- FLOAT Beta;
-};
-
-struct DML_QUANTIZED_LINEAR_AVERAGE_POOLING_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* InputScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* InputZeroPointTensor;
- const DML_TENSOR_DESC* OutputScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputZeroPointTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* Strides;
- _Field_size_(DimensionCount) const UINT* WindowSize;
- _Field_size_(DimensionCount) const UINT* StartPadding;
- _Field_size_(DimensionCount) const UINT* EndPadding;
- _Field_size_(DimensionCount) const UINT* Dilations;
- BOOL IncludePadding;
-};
-
-struct DML_MATRIX_MULTIPLY_INTEGER_TO_FLOAT_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* ATensor;
- const DML_TENSOR_DESC* AScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* AZeroPointTensor;
- const DML_TENSOR_DESC* BTensor;
- const DML_TENSOR_DESC* BScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* BZeroPointTensor;
- _Maybenull_ const DML_TENSOR_DESC* BiasTensor;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-#endif // DML_TARGET_VERSION >= 0x6200
-
-#if DML_TARGET_VERSION >= 0x6300
-
-struct DML_MEAN_VARIANCE_NORMALIZATION2_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- _Maybenull_ const DML_TENSOR_DESC* ScaleTensor;
- _Maybenull_ const DML_TENSOR_DESC* BiasTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT AxisCount;
- _Field_size_(AxisCount) const UINT* Axes;
- BOOL UseMean;
- BOOL UseVariance;
- FLOAT Epsilon;
- _Maybenull_ const DML_OPERATOR_DESC* FusedActivation;
-};
-
-struct DML_MULTIHEAD_ATTENTION1_OPERATOR_DESC
-{
- _Maybenull_ const DML_TENSOR_DESC* QueryTensor;
- _Maybenull_ const DML_TENSOR_DESC* KeyTensor;
- _Maybenull_ const DML_TENSOR_DESC* ValueTensor;
- _Maybenull_ const DML_TENSOR_DESC* StackedQueryKeyTensor;
- _Maybenull_ const DML_TENSOR_DESC* StackedKeyValueTensor;
- _Maybenull_ const DML_TENSOR_DESC* StackedQueryKeyValueTensor;
- _Maybenull_ const DML_TENSOR_DESC* BiasTensor;
- _Maybenull_ const DML_TENSOR_DESC* MaskTensor;
- _Maybenull_ const DML_TENSOR_DESC* RelativePositionBiasTensor;
- _Maybenull_ const DML_TENSOR_DESC* PastKeyTensor;
- _Maybenull_ const DML_TENSOR_DESC* PastValueTensor;
- _Maybenull_ const DML_TENSOR_DESC* PastSequenceLengthsTensor;
- const DML_TENSOR_DESC* OutputTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputPresentKeyTensor;
- _Maybenull_ const DML_TENSOR_DESC* OutputPresentValueTensor;
- FLOAT Scale;
- FLOAT MaskFilterValue;
- UINT QueryHeadCount;
- UINT KeyValueHeadCount;
- DML_MULTIHEAD_ATTENTION_MASK_TYPE MaskType;
-};
-
-struct DML_QUANTIZE_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- DML_QUANTIZATION_TYPE QuantizationType;
- UINT QuantizationTensorCount;
- _Field_size_(QuantizationTensorCount) const DML_TENSOR_DESC* QuantizationTensors;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-struct DML_DEQUANTIZE_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- DML_QUANTIZATION_TYPE QuantizationType;
- UINT QuantizationTensorCount;
- _Field_size_(QuantizationTensorCount) const DML_TENSOR_DESC* QuantizationTensors;
- const DML_TENSOR_DESC* OutputTensor;
-};
-
-#endif // DML_TARGET_VERSION >= 0x6300
-
-#if DML_TARGET_VERSION >= 0x6400
-
-struct DML_RESAMPLE3_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- DML_INTERPOLATION_MODE InterpolationMode;
- DML_AXIS_DIRECTION RoundingDirection;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const FLOAT* Scales;
- _Field_size_(DimensionCount) const FLOAT* InputPixelOffsets;
- _Field_size_(DimensionCount) const FLOAT* OutputPixelOffsets;
- BOOL Antialiased;
-};
-
-struct DML_FOLD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* WindowSizes; // Size of the extracted patch
- _Field_size_(DimensionCount) const UINT* Strides; // Step size of the extracted patches
- _Field_size_(DimensionCount) const UINT* Dilations; // Dialations of the extracted patch
- _Field_size_(DimensionCount) const UINT* StartPadding; // Start padding of the "source tensor"
- _Field_size_(DimensionCount) const UINT* EndPadding; // End padding of the "source tensor"
-};
-
-struct DML_UNFOLD_OPERATOR_DESC
-{
- const DML_TENSOR_DESC* InputTensor;
- const DML_TENSOR_DESC* OutputTensor;
- UINT DimensionCount;
- _Field_size_(DimensionCount) const UINT* WindowSizes; // Size of the extracted patch
- _Field_size_(DimensionCount) const UINT* Strides; // Step size of the extracted patches
- _Field_size_(DimensionCount) const UINT* Dilations; // Dialations of the extracted patch
- _Field_size_(DimensionCount) const UINT* StartPadding; // Start padding of the "source tensor"
- _Field_size_(DimensionCount) const UINT* EndPadding; // End padding of the "source tensor"
-};
-
-#endif // DML_TARGET_VERSION >= 0x6400
-
-// ===================================================================================================================
-// DML feature support queries
-// ===================================================================================================================
-
-#if DML_TARGET_VERSION >= 0x2000
-
-enum DML_FEATURE_LEVEL
-{
- DML_FEATURE_LEVEL_1_0 = 0x1000,
- DML_FEATURE_LEVEL_2_0 = 0x2000,
- DML_FEATURE_LEVEL_2_1 = 0x2100,
- DML_FEATURE_LEVEL_3_0 = 0x3000,
- DML_FEATURE_LEVEL_3_1 = 0x3100,
- DML_FEATURE_LEVEL_4_0 = 0x4000,
- DML_FEATURE_LEVEL_4_1 = 0x4100,
- DML_FEATURE_LEVEL_5_0 = 0x5000,
- DML_FEATURE_LEVEL_5_1 = 0x5100,
- DML_FEATURE_LEVEL_5_2 = 0x5200,
- DML_FEATURE_LEVEL_6_0 = 0x6000,
- DML_FEATURE_LEVEL_6_1 = 0x6100,
- DML_FEATURE_LEVEL_6_2 = 0x6200,
- DML_FEATURE_LEVEL_6_3 = 0x6300,
- DML_FEATURE_LEVEL_6_4 = 0x6400,
-};
-
-#endif // DML_TARGET_VERSION >= 0x2000
-
-enum DML_FEATURE
-{
- DML_FEATURE_TENSOR_DATA_TYPE_SUPPORT,
-
-#if DML_TARGET_VERSION >= 0x2000
- DML_FEATURE_FEATURE_LEVELS,
-#endif // DML_TARGET_VERSION >= 0x2000
-};
-
-struct DML_FEATURE_QUERY_TENSOR_DATA_TYPE_SUPPORT
-{
- DML_TENSOR_DATA_TYPE DataType;
-};
-
-struct DML_FEATURE_DATA_TENSOR_DATA_TYPE_SUPPORT
-{
- BOOL IsSupported;
-};
-
-#if DML_TARGET_VERSION >= 0x2000
-
-struct DML_FEATURE_QUERY_FEATURE_LEVELS
-{
- UINT RequestedFeatureLevelCount;
- _Field_size_(RequestedFeatureLevelCount) const DML_FEATURE_LEVEL* RequestedFeatureLevels;
-};
-
-struct DML_FEATURE_DATA_FEATURE_LEVELS
-{
- DML_FEATURE_LEVEL MaxSupportedFeatureLevel;
-};
-
-#endif // DML_TARGET_VERSION >= 0x2000
-
-// ===================================================================================================================
-// DML device functions, enumerations, and structures
-// ===================================================================================================================
-
-struct DML_BINDING_TABLE_DESC
-{
- IDMLDispatchable* Dispatchable;
- D3D12_CPU_DESCRIPTOR_HANDLE CPUDescriptorHandle;
- D3D12_GPU_DESCRIPTOR_HANDLE GPUDescriptorHandle;
- UINT SizeInDescriptors;
-};
-
-enum DML_EXECUTION_FLAGS
-{
- DML_EXECUTION_FLAG_NONE = 0,
- DML_EXECUTION_FLAG_ALLOW_HALF_PRECISION_COMPUTATION = 0x1,
- DML_EXECUTION_FLAG_DISABLE_META_COMMANDS = 0x2,
- DML_EXECUTION_FLAG_DESCRIPTORS_VOLATILE = 0x4,
-};
-
-DEFINE_ENUM_FLAG_OPERATORS(DML_EXECUTION_FLAGS)
-
-enum DML_CREATE_DEVICE_FLAGS
-{
- DML_CREATE_DEVICE_FLAG_NONE = 0,
- DML_CREATE_DEVICE_FLAG_DEBUG = 0x1,
-};
-
-DEFINE_ENUM_FLAG_OPERATORS(DML_CREATE_DEVICE_FLAGS)
-
-STDAPI DMLCreateDevice(
- ID3D12Device* d3d12Device,
- DML_CREATE_DEVICE_FLAGS flags,
- REFIID riid, // Expected: IDMLDevice
- _COM_Outptr_opt_ void** ppv
- );
-
-#if DML_TARGET_VERSION >= 0x2000
-
-STDAPI DMLCreateDevice1(
- ID3D12Device* d3d12Device,
- DML_CREATE_DEVICE_FLAGS flags,
- DML_FEATURE_LEVEL minimumFeatureLevel,
- REFIID riid, // Expected: IDMLDevice
- _COM_Outptr_opt_ void** ppv
- );
-
-#endif // DML_TARGET_VERSION >= 0x2000
-
-// ===================================================================================================================
-// DML object
-// ===================================================================================================================
-
-interface DML_DECLARE_INTERFACE("c8263aac-9e0c-4a2d-9b8e-007521a3317c") IDMLObject : IUnknown
-{
- IFACEMETHOD(GetPrivateData)(
- REFGUID guid,
- _Inout_ UINT* dataSize,
- _Out_writes_bytes_opt_(*dataSize) void* data
- ) = 0;
-
- IFACEMETHOD(SetPrivateData)(
- REFGUID guid,
- UINT dataSize,
- _In_reads_bytes_opt_(dataSize) const void* data
- ) = 0;
-
- IFACEMETHOD(SetPrivateDataInterface)(
- REFGUID guid,
- _In_opt_ IUnknown* data
- ) = 0;
-
- IFACEMETHOD(SetName)(
- PCWSTR name
- ) = 0;
-};
-
-// ===================================================================================================================
-// DML device
-// ===================================================================================================================
-
-interface DML_DECLARE_INTERFACE("6dbd6437-96fd-423f-a98c-ae5e7c2a573f") IDMLDevice : IDMLObject
-{
- IFACEMETHOD(CheckFeatureSupport)(
- DML_FEATURE feature,
- UINT featureQueryDataSize,
- _In_reads_bytes_opt_(featureQueryDataSize) const void* featureQueryData,
- UINT featureSupportDataSize,
- _Out_writes_bytes_(featureSupportDataSize) void* featureSupportData
- ) = 0;
-
- IFACEMETHOD(CreateOperator)(
- const DML_OPERATOR_DESC* desc,
- REFIID riid, // expected: IDMLOperator
- _COM_Outptr_opt_ void** ppv
- ) = 0;
-
- IFACEMETHOD(CompileOperator)(
- IDMLOperator* op,
- DML_EXECUTION_FLAGS flags,
- REFIID riid, // expected: IDMLCompiledOperator
- _COM_Outptr_opt_ void** ppv
- ) = 0;
-
- IFACEMETHOD(CreateOperatorInitializer)(
- UINT operatorCount,
- _In_reads_opt_(operatorCount) IDMLCompiledOperator* const* operators,
- REFIID riid, // expected: IDMLOperatorInitializer
- _COM_Outptr_ void** ppv
- ) = 0;
-
- IFACEMETHOD(CreateCommandRecorder)(
- REFIID riid, // expected: IDMLCommandRecorder
- _COM_Outptr_ void** ppv
- ) = 0;
-
- IFACEMETHOD(CreateBindingTable)(
- _In_opt_ const DML_BINDING_TABLE_DESC* desc,
- REFIID riid, // expected: IDMLBindingTable
- _COM_Outptr_ void** ppv
- ) = 0;
-
- IFACEMETHOD(Evict)(
- UINT count,
- _In_reads_(count) IDMLPageable* const* ppObjects
- ) = 0;
-
- IFACEMETHOD(MakeResident)(
- UINT count,
- _In_reads_(count) IDMLPageable* const* ppObjects
- ) = 0;
-
- IFACEMETHOD(GetDeviceRemovedReason)(
- ) = 0;
-
- IFACEMETHOD(GetParentDevice)(
- REFIID riid,
- _COM_Outptr_ void** ppv
- ) = 0;
-};
-
-
-// ===================================================================================================================
-// DML device children
-// ===================================================================================================================
-
-interface DML_DECLARE_INTERFACE("27e83142-8165-49e3-974e-2fd66e4cb69d") IDMLDeviceChild : IDMLObject
-{
- IFACEMETHOD(GetDevice)(
- REFIID riid, // expected: IDMLDevice
- _COM_Outptr_ void** ppv
- ) = 0;
-};
-
-interface DML_DECLARE_INTERFACE("b1ab0825-4542-4a4b-8617-6dde6e8f6201") IDMLPageable : IDMLDeviceChild
-{
-};
-
-
-// ===================================================================================================================
-// DML operator
-// ===================================================================================================================
-
-interface DML_DECLARE_INTERFACE("26caae7a-3081-4633-9581-226fbe57695d") IDMLOperator : IDMLDeviceChild
-{
-};
-
-
-// ===================================================================================================================
-// DML dispatchable
-// ===================================================================================================================
-
-struct DML_BINDING_PROPERTIES
-{
- UINT RequiredDescriptorCount;
- UINT64 TemporaryResourceSize;
- UINT64 PersistentResourceSize;
-};
-
-interface DML_DECLARE_INTERFACE("dcb821a8-1039-441e-9f1c-b1759c2f3cec") IDMLDispatchable : IDMLPageable
-{
- IFACEMETHOD_(DML_BINDING_PROPERTIES, GetBindingProperties)() = 0;
-};
-
-
-// ===================================================================================================================
-// DML compiled operator
-// ===================================================================================================================
-
-interface DML_DECLARE_INTERFACE("6b15e56a-bf5c-4902-92d8-da3a650afea4") IDMLCompiledOperator : IDMLDispatchable
-{
-};
-
-
-// ===================================================================================================================
-// DML operator initializer
-// ===================================================================================================================
-
-interface DML_DECLARE_INTERFACE("427c1113-435c-469c-8676-4d5dd072f813") IDMLOperatorInitializer : IDMLDispatchable
-{
- IFACEMETHOD(Reset)(
- UINT operatorCount,
- _In_reads_opt_(operatorCount) IDMLCompiledOperator* const* operators
- ) = 0;
-};
-
-// ===================================================================================================================
-// DML binding table
-// ===================================================================================================================
-
-enum DML_BINDING_TYPE
-{
- DML_BINDING_TYPE_NONE,
- DML_BINDING_TYPE_BUFFER,
- DML_BINDING_TYPE_BUFFER_ARRAY,
-};
-
-struct DML_BINDING_DESC
-{
- DML_BINDING_TYPE Type;
- _Field_size_opt_(_Inexpressible_("Dependent on binding type")) const void* Desc;
-};
-
-struct DML_BUFFER_BINDING
-{
- _Maybenull_ ID3D12Resource* Buffer;
- UINT64 Offset;
- UINT64 SizeInBytes;
-};
-
-struct DML_BUFFER_ARRAY_BINDING
-{
- UINT BindingCount;
- _Field_size_(BindingCount) const DML_BUFFER_BINDING* Bindings;
-};
-
-interface DML_DECLARE_INTERFACE("29c687dc-de74-4e3b-ab00-1168f2fc3cfc") IDMLBindingTable : IDMLDeviceChild
-{
- IFACEMETHOD_(void, BindInputs)(
- UINT bindingCount,
- _In_reads_opt_(bindingCount) const DML_BINDING_DESC* bindings
- ) = 0;
-
- IFACEMETHOD_(void, BindOutputs)(
- UINT bindingCount,
- _In_reads_opt_(bindingCount) const DML_BINDING_DESC* bindings
- ) = 0;
-
- IFACEMETHOD_(void, BindTemporaryResource)(
- _In_opt_ const DML_BINDING_DESC* binding
- ) = 0;
-
- IFACEMETHOD_(void, BindPersistentResource)(
- _In_opt_ const DML_BINDING_DESC* binding
- ) = 0;
-
- IFACEMETHOD(Reset)(
- _In_opt_ const DML_BINDING_TABLE_DESC* desc
- ) = 0;
-};
-
-
-// ===================================================================================================================
-// DML command recorder
-// ===================================================================================================================
-
-interface DML_DECLARE_INTERFACE("e6857a76-2e3e-4fdd-bff4-5d2ba10fb453") IDMLCommandRecorder : IDMLDeviceChild
-{
- IFACEMETHOD_(void, RecordDispatch)(
- ID3D12CommandList* commandList,
- IDMLDispatchable* dispatchable,
- IDMLBindingTable* bindings
- ) = 0;
-};
-
-
-// ===================================================================================================================
-// DML debug
-// ===================================================================================================================
-
-interface DML_DECLARE_INTERFACE("7d6f3ac9-394a-4ac3-92a7-390cc57a8217") IDMLDebugDevice : IUnknown
-{
- IFACEMETHOD_(void, SetMuteDebugOutput)(
- BOOL mute
- ) = 0;
-};
-
-
-// ===================================================================================================================
-// DML graph
-// ===================================================================================================================
-
-#if DML_TARGET_VERSION >= 0x2100
-
-enum DML_GRAPH_EDGE_TYPE
-{
- DML_GRAPH_EDGE_TYPE_INVALID,
- DML_GRAPH_EDGE_TYPE_INPUT,
- DML_GRAPH_EDGE_TYPE_OUTPUT,
- DML_GRAPH_EDGE_TYPE_INTERMEDIATE,
-};
-
-struct DML_GRAPH_EDGE_DESC
-{
- DML_GRAPH_EDGE_TYPE Type;
- _Field_size_(_Inexpressible_("Dependent on edge type")) const void* Desc;
-};
-
-struct DML_INPUT_GRAPH_EDGE_DESC
-{
- UINT GraphInputIndex;
- UINT ToNodeIndex;
- UINT ToNodeInputIndex;
- _Field_z_ _Maybenull_ const char* Name;
-};
-
-struct DML_OUTPUT_GRAPH_EDGE_DESC
-{
- UINT FromNodeIndex;
- UINT FromNodeOutputIndex;
- UINT GraphOutputIndex;
- _Field_z_ _Maybenull_ const char* Name;
-};
-
-struct DML_INTERMEDIATE_GRAPH_EDGE_DESC
-{
- UINT FromNodeIndex;
- UINT FromNodeOutputIndex;
- UINT ToNodeIndex;
- UINT ToNodeInputIndex;
- _Field_z_ _Maybenull_ const char* Name;
-};
-
-enum DML_GRAPH_NODE_TYPE
-{
- DML_GRAPH_NODE_TYPE_INVALID,
- DML_GRAPH_NODE_TYPE_OPERATOR,
-#if DML_TARGET_VERSION >= 0x6200
- DML_GRAPH_NODE_TYPE_CONSTANT
-#endif // DML_TARGET_VERSION >= 0x6200
-};
-
-struct DML_GRAPH_NODE_DESC
-{
- DML_GRAPH_NODE_TYPE Type;
- _Field_size_(_Inexpressible_("Dependent on node type")) const void* Desc;
-};
-
-struct DML_OPERATOR_GRAPH_NODE_DESC
-{
- IDMLOperator* Operator;
- _Field_z_ _Maybenull_ const char* Name;
-};
-
-#if DML_TARGET_VERSION >= 0x6200
-struct DML_CONSTANT_DATA_GRAPH_NODE_DESC
-{
- _Field_size_bytes_(DataSize) const void* Data;
- SIZE_T DataSize;
- _Field_z_ _Maybenull_ const char* Name;
-};
-#endif // DML_TARGET_VERSION >= 0x6200
-
-struct DML_GRAPH_DESC
-{
- UINT InputCount;
- UINT OutputCount;
-
- UINT NodeCount;
- _Field_size_(NodeCount) const DML_GRAPH_NODE_DESC* Nodes;
-
- UINT InputEdgeCount;
- _Field_size_opt_(InputEdgeCount) const DML_GRAPH_EDGE_DESC* InputEdges;
-
- UINT OutputEdgeCount;
- _Field_size_(OutputEdgeCount) const DML_GRAPH_EDGE_DESC* OutputEdges;
-
- UINT IntermediateEdgeCount;
- _Field_size_opt_(IntermediateEdgeCount) const DML_GRAPH_EDGE_DESC* IntermediateEdges;
-};
-
-interface DML_DECLARE_INTERFACE("a0884f9a-d2be-4355-aa5d-5901281ad1d2") IDMLDevice1 : IDMLDevice
-{
- IFACEMETHOD(CompileGraph)(
- const DML_GRAPH_DESC* desc,
- DML_EXECUTION_FLAGS flags,
- REFIID riid, // expected: IDMLCompiledOperator
- _COM_Outptr_opt_ void** ppv
- ) = 0;
-};
-
-#endif // DML_TARGET_VERSION >= 0x2100
-
-#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
-#endif // DIRECTML_H
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3d12.h
deleted file mode 100644
index 684ef13..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12.h
+++ /dev/null
@@ -1,34938 +0,0 @@
-/*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- * Licensed under the MIT license
- *
- *-------------------------------------------------------------------------------------*/
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 8.01.0628 */
-
-
-
-/* verify that the version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 500
-#endif
-
-/* verify that the version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCSAL_H_VERSION__
-#define __REQUIRED_RPCSAL_H_VERSION__ 100
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of
-#endif /* __RPCNDR_H_VERSION__ */
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __d3d12_h__
-#define __d3d12_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-#ifndef DECLSPEC_XFGVIRT
-#if defined(_CONTROL_FLOW_GUARD_XFG)
-#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
-#else
-#define DECLSPEC_XFGVIRT(base, func)
-#endif
-#endif
-
-/* Forward Declarations */
-
-#ifndef __ID3D12Object_FWD_DEFINED__
-#define __ID3D12Object_FWD_DEFINED__
-typedef interface ID3D12Object ID3D12Object;
-
-#endif /* __ID3D12Object_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceChild_FWD_DEFINED__
-#define __ID3D12DeviceChild_FWD_DEFINED__
-typedef interface ID3D12DeviceChild ID3D12DeviceChild;
-
-#endif /* __ID3D12DeviceChild_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12RootSignature_FWD_DEFINED__
-#define __ID3D12RootSignature_FWD_DEFINED__
-typedef interface ID3D12RootSignature ID3D12RootSignature;
-
-#endif /* __ID3D12RootSignature_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__
-#define __ID3D12RootSignatureDeserializer_FWD_DEFINED__
-typedef interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer;
-
-#endif /* __ID3D12RootSignatureDeserializer_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
-#define __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
-typedef interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer;
-
-#endif /* __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Pageable_FWD_DEFINED__
-#define __ID3D12Pageable_FWD_DEFINED__
-typedef interface ID3D12Pageable ID3D12Pageable;
-
-#endif /* __ID3D12Pageable_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Heap_FWD_DEFINED__
-#define __ID3D12Heap_FWD_DEFINED__
-typedef interface ID3D12Heap ID3D12Heap;
-
-#endif /* __ID3D12Heap_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Resource_FWD_DEFINED__
-#define __ID3D12Resource_FWD_DEFINED__
-typedef interface ID3D12Resource ID3D12Resource;
-
-#endif /* __ID3D12Resource_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12CommandAllocator_FWD_DEFINED__
-#define __ID3D12CommandAllocator_FWD_DEFINED__
-typedef interface ID3D12CommandAllocator ID3D12CommandAllocator;
-
-#endif /* __ID3D12CommandAllocator_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Fence_FWD_DEFINED__
-#define __ID3D12Fence_FWD_DEFINED__
-typedef interface ID3D12Fence ID3D12Fence;
-
-#endif /* __ID3D12Fence_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Fence1_FWD_DEFINED__
-#define __ID3D12Fence1_FWD_DEFINED__
-typedef interface ID3D12Fence1 ID3D12Fence1;
-
-#endif /* __ID3D12Fence1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12PipelineState_FWD_DEFINED__
-#define __ID3D12PipelineState_FWD_DEFINED__
-typedef interface ID3D12PipelineState ID3D12PipelineState;
-
-#endif /* __ID3D12PipelineState_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DescriptorHeap_FWD_DEFINED__
-#define __ID3D12DescriptorHeap_FWD_DEFINED__
-typedef interface ID3D12DescriptorHeap ID3D12DescriptorHeap;
-
-#endif /* __ID3D12DescriptorHeap_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12QueryHeap_FWD_DEFINED__
-#define __ID3D12QueryHeap_FWD_DEFINED__
-typedef interface ID3D12QueryHeap ID3D12QueryHeap;
-
-#endif /* __ID3D12QueryHeap_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12CommandSignature_FWD_DEFINED__
-#define __ID3D12CommandSignature_FWD_DEFINED__
-typedef interface ID3D12CommandSignature ID3D12CommandSignature;
-
-#endif /* __ID3D12CommandSignature_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12CommandList_FWD_DEFINED__
-#define __ID3D12CommandList_FWD_DEFINED__
-typedef interface ID3D12CommandList ID3D12CommandList;
-
-#endif /* __ID3D12CommandList_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__
-#define __ID3D12GraphicsCommandList_FWD_DEFINED__
-typedef interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList;
-
-#endif /* __ID3D12GraphicsCommandList_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList1_FWD_DEFINED__
-#define __ID3D12GraphicsCommandList1_FWD_DEFINED__
-typedef interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1;
-
-#endif /* __ID3D12GraphicsCommandList1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList2_FWD_DEFINED__
-#define __ID3D12GraphicsCommandList2_FWD_DEFINED__
-typedef interface ID3D12GraphicsCommandList2 ID3D12GraphicsCommandList2;
-
-#endif /* __ID3D12GraphicsCommandList2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12CommandQueue_FWD_DEFINED__
-#define __ID3D12CommandQueue_FWD_DEFINED__
-typedef interface ID3D12CommandQueue ID3D12CommandQueue;
-
-#endif /* __ID3D12CommandQueue_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device_FWD_DEFINED__
-#define __ID3D12Device_FWD_DEFINED__
-typedef interface ID3D12Device ID3D12Device;
-
-#endif /* __ID3D12Device_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12PipelineLibrary_FWD_DEFINED__
-#define __ID3D12PipelineLibrary_FWD_DEFINED__
-typedef interface ID3D12PipelineLibrary ID3D12PipelineLibrary;
-
-#endif /* __ID3D12PipelineLibrary_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12PipelineLibrary1_FWD_DEFINED__
-#define __ID3D12PipelineLibrary1_FWD_DEFINED__
-typedef interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1;
-
-#endif /* __ID3D12PipelineLibrary1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device1_FWD_DEFINED__
-#define __ID3D12Device1_FWD_DEFINED__
-typedef interface ID3D12Device1 ID3D12Device1;
-
-#endif /* __ID3D12Device1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device2_FWD_DEFINED__
-#define __ID3D12Device2_FWD_DEFINED__
-typedef interface ID3D12Device2 ID3D12Device2;
-
-#endif /* __ID3D12Device2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device3_FWD_DEFINED__
-#define __ID3D12Device3_FWD_DEFINED__
-typedef interface ID3D12Device3 ID3D12Device3;
-
-#endif /* __ID3D12Device3_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12ProtectedSession_FWD_DEFINED__
-#define __ID3D12ProtectedSession_FWD_DEFINED__
-typedef interface ID3D12ProtectedSession ID3D12ProtectedSession;
-
-#endif /* __ID3D12ProtectedSession_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12ProtectedResourceSession_FWD_DEFINED__
-#define __ID3D12ProtectedResourceSession_FWD_DEFINED__
-typedef interface ID3D12ProtectedResourceSession ID3D12ProtectedResourceSession;
-
-#endif /* __ID3D12ProtectedResourceSession_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device4_FWD_DEFINED__
-#define __ID3D12Device4_FWD_DEFINED__
-typedef interface ID3D12Device4 ID3D12Device4;
-
-#endif /* __ID3D12Device4_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12LifetimeOwner_FWD_DEFINED__
-#define __ID3D12LifetimeOwner_FWD_DEFINED__
-typedef interface ID3D12LifetimeOwner ID3D12LifetimeOwner;
-
-#endif /* __ID3D12LifetimeOwner_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12SwapChainAssistant_FWD_DEFINED__
-#define __ID3D12SwapChainAssistant_FWD_DEFINED__
-typedef interface ID3D12SwapChainAssistant ID3D12SwapChainAssistant;
-
-#endif /* __ID3D12SwapChainAssistant_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12LifetimeTracker_FWD_DEFINED__
-#define __ID3D12LifetimeTracker_FWD_DEFINED__
-typedef interface ID3D12LifetimeTracker ID3D12LifetimeTracker;
-
-#endif /* __ID3D12LifetimeTracker_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12StateObject_FWD_DEFINED__
-#define __ID3D12StateObject_FWD_DEFINED__
-typedef interface ID3D12StateObject ID3D12StateObject;
-
-#endif /* __ID3D12StateObject_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12StateObjectProperties_FWD_DEFINED__
-#define __ID3D12StateObjectProperties_FWD_DEFINED__
-typedef interface ID3D12StateObjectProperties ID3D12StateObjectProperties;
-
-#endif /* __ID3D12StateObjectProperties_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12StateObjectProperties1_FWD_DEFINED__
-#define __ID3D12StateObjectProperties1_FWD_DEFINED__
-typedef interface ID3D12StateObjectProperties1 ID3D12StateObjectProperties1;
-
-#endif /* __ID3D12StateObjectProperties1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12WorkGraphProperties_FWD_DEFINED__
-#define __ID3D12WorkGraphProperties_FWD_DEFINED__
-typedef interface ID3D12WorkGraphProperties ID3D12WorkGraphProperties;
-
-#endif /* __ID3D12WorkGraphProperties_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device5_FWD_DEFINED__
-#define __ID3D12Device5_FWD_DEFINED__
-typedef interface ID3D12Device5 ID3D12Device5;
-
-#endif /* __ID3D12Device5_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__
-#define __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__
-typedef interface ID3D12DeviceRemovedExtendedDataSettings ID3D12DeviceRemovedExtendedDataSettings;
-
-#endif /* __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__
-#define __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__
-typedef interface ID3D12DeviceRemovedExtendedDataSettings1 ID3D12DeviceRemovedExtendedDataSettings1;
-
-#endif /* __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__
-#define __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__
-typedef interface ID3D12DeviceRemovedExtendedDataSettings2 ID3D12DeviceRemovedExtendedDataSettings2;
-
-#endif /* __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__
-#define __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__
-typedef interface ID3D12DeviceRemovedExtendedData ID3D12DeviceRemovedExtendedData;
-
-#endif /* __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__
-#define __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__
-typedef interface ID3D12DeviceRemovedExtendedData1 ID3D12DeviceRemovedExtendedData1;
-
-#endif /* __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__
-#define __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__
-typedef interface ID3D12DeviceRemovedExtendedData2 ID3D12DeviceRemovedExtendedData2;
-
-#endif /* __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device6_FWD_DEFINED__
-#define __ID3D12Device6_FWD_DEFINED__
-typedef interface ID3D12Device6 ID3D12Device6;
-
-#endif /* __ID3D12Device6_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12ProtectedResourceSession1_FWD_DEFINED__
-#define __ID3D12ProtectedResourceSession1_FWD_DEFINED__
-typedef interface ID3D12ProtectedResourceSession1 ID3D12ProtectedResourceSession1;
-
-#endif /* __ID3D12ProtectedResourceSession1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device7_FWD_DEFINED__
-#define __ID3D12Device7_FWD_DEFINED__
-typedef interface ID3D12Device7 ID3D12Device7;
-
-#endif /* __ID3D12Device7_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device8_FWD_DEFINED__
-#define __ID3D12Device8_FWD_DEFINED__
-typedef interface ID3D12Device8 ID3D12Device8;
-
-#endif /* __ID3D12Device8_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Resource1_FWD_DEFINED__
-#define __ID3D12Resource1_FWD_DEFINED__
-typedef interface ID3D12Resource1 ID3D12Resource1;
-
-#endif /* __ID3D12Resource1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Resource2_FWD_DEFINED__
-#define __ID3D12Resource2_FWD_DEFINED__
-typedef interface ID3D12Resource2 ID3D12Resource2;
-
-#endif /* __ID3D12Resource2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Heap1_FWD_DEFINED__
-#define __ID3D12Heap1_FWD_DEFINED__
-typedef interface ID3D12Heap1 ID3D12Heap1;
-
-#endif /* __ID3D12Heap1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList3_FWD_DEFINED__
-#define __ID3D12GraphicsCommandList3_FWD_DEFINED__
-typedef interface ID3D12GraphicsCommandList3 ID3D12GraphicsCommandList3;
-
-#endif /* __ID3D12GraphicsCommandList3_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12MetaCommand_FWD_DEFINED__
-#define __ID3D12MetaCommand_FWD_DEFINED__
-typedef interface ID3D12MetaCommand ID3D12MetaCommand;
-
-#endif /* __ID3D12MetaCommand_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList4_FWD_DEFINED__
-#define __ID3D12GraphicsCommandList4_FWD_DEFINED__
-typedef interface ID3D12GraphicsCommandList4 ID3D12GraphicsCommandList4;
-
-#endif /* __ID3D12GraphicsCommandList4_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12ShaderCacheSession_FWD_DEFINED__
-#define __ID3D12ShaderCacheSession_FWD_DEFINED__
-typedef interface ID3D12ShaderCacheSession ID3D12ShaderCacheSession;
-
-#endif /* __ID3D12ShaderCacheSession_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device9_FWD_DEFINED__
-#define __ID3D12Device9_FWD_DEFINED__
-typedef interface ID3D12Device9 ID3D12Device9;
-
-#endif /* __ID3D12Device9_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device10_FWD_DEFINED__
-#define __ID3D12Device10_FWD_DEFINED__
-typedef interface ID3D12Device10 ID3D12Device10;
-
-#endif /* __ID3D12Device10_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device11_FWD_DEFINED__
-#define __ID3D12Device11_FWD_DEFINED__
-typedef interface ID3D12Device11 ID3D12Device11;
-
-#endif /* __ID3D12Device11_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device12_FWD_DEFINED__
-#define __ID3D12Device12_FWD_DEFINED__
-typedef interface ID3D12Device12 ID3D12Device12;
-
-#endif /* __ID3D12Device12_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device13_FWD_DEFINED__
-#define __ID3D12Device13_FWD_DEFINED__
-typedef interface ID3D12Device13 ID3D12Device13;
-
-#endif /* __ID3D12Device13_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Device14_FWD_DEFINED__
-#define __ID3D12Device14_FWD_DEFINED__
-typedef interface ID3D12Device14 ID3D12Device14;
-
-#endif /* __ID3D12Device14_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VirtualizationGuestDevice_FWD_DEFINED__
-#define __ID3D12VirtualizationGuestDevice_FWD_DEFINED__
-typedef interface ID3D12VirtualizationGuestDevice ID3D12VirtualizationGuestDevice;
-
-#endif /* __ID3D12VirtualizationGuestDevice_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Tools_FWD_DEFINED__
-#define __ID3D12Tools_FWD_DEFINED__
-typedef interface ID3D12Tools ID3D12Tools;
-
-#endif /* __ID3D12Tools_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12SDKConfiguration_FWD_DEFINED__
-#define __ID3D12SDKConfiguration_FWD_DEFINED__
-typedef interface ID3D12SDKConfiguration ID3D12SDKConfiguration;
-
-#endif /* __ID3D12SDKConfiguration_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12SDKConfiguration1_FWD_DEFINED__
-#define __ID3D12SDKConfiguration1_FWD_DEFINED__
-typedef interface ID3D12SDKConfiguration1 ID3D12SDKConfiguration1;
-
-#endif /* __ID3D12SDKConfiguration1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceFactory_FWD_DEFINED__
-#define __ID3D12DeviceFactory_FWD_DEFINED__
-typedef interface ID3D12DeviceFactory ID3D12DeviceFactory;
-
-#endif /* __ID3D12DeviceFactory_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceConfiguration_FWD_DEFINED__
-#define __ID3D12DeviceConfiguration_FWD_DEFINED__
-typedef interface ID3D12DeviceConfiguration ID3D12DeviceConfiguration;
-
-#endif /* __ID3D12DeviceConfiguration_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceConfiguration1_FWD_DEFINED__
-#define __ID3D12DeviceConfiguration1_FWD_DEFINED__
-typedef interface ID3D12DeviceConfiguration1 ID3D12DeviceConfiguration1;
-
-#endif /* __ID3D12DeviceConfiguration1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList5_FWD_DEFINED__
-#define __ID3D12GraphicsCommandList5_FWD_DEFINED__
-typedef interface ID3D12GraphicsCommandList5 ID3D12GraphicsCommandList5;
-
-#endif /* __ID3D12GraphicsCommandList5_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList6_FWD_DEFINED__
-#define __ID3D12GraphicsCommandList6_FWD_DEFINED__
-typedef interface ID3D12GraphicsCommandList6 ID3D12GraphicsCommandList6;
-
-#endif /* __ID3D12GraphicsCommandList6_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList7_FWD_DEFINED__
-#define __ID3D12GraphicsCommandList7_FWD_DEFINED__
-typedef interface ID3D12GraphicsCommandList7 ID3D12GraphicsCommandList7;
-
-#endif /* __ID3D12GraphicsCommandList7_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList8_FWD_DEFINED__
-#define __ID3D12GraphicsCommandList8_FWD_DEFINED__
-typedef interface ID3D12GraphicsCommandList8 ID3D12GraphicsCommandList8;
-
-#endif /* __ID3D12GraphicsCommandList8_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList9_FWD_DEFINED__
-#define __ID3D12GraphicsCommandList9_FWD_DEFINED__
-typedef interface ID3D12GraphicsCommandList9 ID3D12GraphicsCommandList9;
-
-#endif /* __ID3D12GraphicsCommandList9_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList10_FWD_DEFINED__
-#define __ID3D12GraphicsCommandList10_FWD_DEFINED__
-typedef interface ID3D12GraphicsCommandList10 ID3D12GraphicsCommandList10;
-
-#endif /* __ID3D12GraphicsCommandList10_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12GBVDiagnostics_FWD_DEFINED__
-#define __ID3D12GBVDiagnostics_FWD_DEFINED__
-typedef interface ID3D12GBVDiagnostics ID3D12GBVDiagnostics;
-
-#endif /* __ID3D12GBVDiagnostics_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "oaidl.h"
-#include "ocidl.h"
-#include "dxgicommon.h"
-#include "dxgiformat.h"
-#include "d3dcommon.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_d3d12_0000_0000 */
-/* [local] */
-
-#include
-#pragma region App Family
-#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
-#ifndef _D3D12_CONSTANTS
-#define _D3D12_CONSTANTS
-#define D3D12_16BIT_INDEX_STRIP_CUT_VALUE ( 0xffff )
-
-#define D3D12_32BIT_INDEX_STRIP_CUT_VALUE ( 0xffffffff )
-
-#define D3D12_8BIT_INDEX_STRIP_CUT_VALUE ( 0xff )
-
-#define D3D12_APPEND_ALIGNED_ELEMENT ( 0xffffffff )
-
-#define D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT ( 9 )
-
-#define D3D12_CLIP_OR_CULL_DISTANCE_COUNT ( 8 )
-
-#define D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT ( 2 )
-
-#define D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT ( 14 )
-
-#define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS ( 4 )
-
-#define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT ( 15 )
-
-#define D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT ( 16 )
-
-#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT ( 15 )
-
-#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
-
-#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT ( 64 )
-
-#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT ( 1 )
-
-#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
-
-#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT ( 128 )
-
-#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST ( 1 )
-
-#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT ( 128 )
-
-#define D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT ( 16 )
-
-#define D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST ( 1 )
-
-#define D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT ( 16 )
-
-#define D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT ( 32 )
-
-#define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_COMMONSHADER_TEMP_REGISTER_COUNT ( 4096 )
-
-#define D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST ( 3 )
-
-#define D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS ( 3 )
-
-#define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX ( 10 )
-
-#define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN ( -10 )
-
-#define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE ( -8 )
-
-#define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE ( 7 )
-
-#define D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT ( 256 )
-
-#define D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 256 )
-
-#define D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP ( 64 )
-
-#define D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 240 )
-
-#define D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP ( 68 )
-
-#define D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 224 )
-
-#define D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP ( 72 )
-
-#define D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 208 )
-
-#define D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP ( 76 )
-
-#define D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 192 )
-
-#define D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP ( 84 )
-
-#define D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 176 )
-
-#define D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP ( 92 )
-
-#define D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 160 )
-
-#define D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP ( 100 )
-
-#define D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 144 )
-
-#define D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP ( 112 )
-
-#define D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 128 )
-
-#define D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP ( 128 )
-
-#define D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 112 )
-
-#define D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP ( 144 )
-
-#define D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 96 )
-
-#define D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP ( 168 )
-
-#define D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 80 )
-
-#define D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP ( 204 )
-
-#define D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 64 )
-
-#define D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP ( 256 )
-
-#define D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 48 )
-
-#define D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP ( 340 )
-
-#define D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 32 )
-
-#define D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP ( 512 )
-
-#define D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 16 )
-
-#define D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP ( 768 )
-
-#define D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION ( 1 )
-
-#define D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT ( 256 )
-
-#define D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 768 )
-
-#define D3D12_CS_4_X_THREAD_GROUP_MAX_X ( 768 )
-
-#define D3D12_CS_4_X_THREAD_GROUP_MAX_Y ( 768 )
-
-#define D3D12_CS_4_X_UAV_REGISTER_COUNT ( 1 )
-
-#define D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION ( 65535 )
-
-#define D3D12_CS_TGSM_REGISTER_COUNT ( 8192 )
-
-#define D3D12_CS_TGSM_REGISTER_READS_PER_INST ( 1 )
-
-#define D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS ( 3 )
-
-#define D3D12_CS_THREADGROUPID_REGISTER_COUNT ( 1 )
-
-#define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT ( 1 )
-
-#define D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS ( 3 )
-
-#define D3D12_CS_THREADIDINGROUP_REGISTER_COUNT ( 1 )
-
-#define D3D12_CS_THREADID_REGISTER_COMPONENTS ( 3 )
-
-#define D3D12_CS_THREADID_REGISTER_COUNT ( 1 )
-
-#define D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 1024 )
-
-#define D3D12_CS_THREAD_GROUP_MAX_X ( 1024 )
-
-#define D3D12_CS_THREAD_GROUP_MAX_Y ( 1024 )
-
-#define D3D12_CS_THREAD_GROUP_MAX_Z ( 64 )
-
-#define D3D12_CS_THREAD_GROUP_MIN_X ( 1 )
-
-#define D3D12_CS_THREAD_GROUP_MIN_Y ( 1 )
-
-#define D3D12_CS_THREAD_GROUP_MIN_Z ( 1 )
-
-#define D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL ( 16384 )
-
-#define D3D12_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f )
-#define D3D12_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )
-#define D3D12_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f )
-#define D3D12_DEFAULT_BLEND_FACTOR_RED ( 1.0f )
-#define D3D12_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f )
-#define D3D12_DEFAULT_DEPTH_BIAS ( 0 )
-
-#define D3D12_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f )
-#define D3D12_DEFAULT_MAX_ANISOTROPY ( 16 )
-
-#define D3D12_DEFAULT_MIP_LOD_BIAS ( 0.0f )
-#define D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 4194304 )
-
-#define D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX ( 0 )
-
-#define D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )
-
-#define D3D12_DEFAULT_SAMPLE_MASK ( 0xffffffff )
-
-#define D3D12_DEFAULT_SCISSOR_ENDX ( 0 )
-
-#define D3D12_DEFAULT_SCISSOR_ENDY ( 0 )
-
-#define D3D12_DEFAULT_SCISSOR_STARTX ( 0 )
-
-#define D3D12_DEFAULT_SCISSOR_STARTY ( 0 )
-
-#define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f )
-#define D3D12_DEFAULT_STENCIL_READ_MASK ( 0xff )
-
-#define D3D12_DEFAULT_STENCIL_REFERENCE ( 0 )
-
-#define D3D12_DEFAULT_STENCIL_WRITE_MASK ( 0xff )
-
-#define D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX ( 0 )
-
-#define D3D12_DEFAULT_VIEWPORT_HEIGHT ( 0 )
-
-#define D3D12_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f )
-#define D3D12_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f )
-#define D3D12_DEFAULT_VIEWPORT_TOPLEFTX ( 0 )
-
-#define D3D12_DEFAULT_VIEWPORT_TOPLEFTY ( 0 )
-
-#define D3D12_DEFAULT_VIEWPORT_WIDTH ( 0 )
-
-#define D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND ( 0xffffffff )
-
-#define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END ( 0xfffffff7 )
-
-#define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )
-
-#define D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
-
-#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT ( 32 )
-
-#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS ( 3 )
-
-#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT ( 1 )
-
-#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
-
-#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )
-
-#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_DS_OUTPUT_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_DS_OUTPUT_REGISTER_COUNT ( 32 )
-
-#define D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 )
-#define D3D12_FLOAT32_MAX ( 3.402823466e+38f )
-#define D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f )
-#define D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f )
-#define D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f )
-#define D3D12_FLOAT_TO_SRGB_OFFSET ( 0.055f )
-#define D3D12_FLOAT_TO_SRGB_SCALE_1 ( 12.92f )
-#define D3D12_FLOAT_TO_SRGB_SCALE_2 ( 1.055f )
-#define D3D12_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f )
-#define D3D12_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f )
-#define D3D12_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f )
-#define D3D12_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f )
-#define D3D12_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f )
-#define D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST ( 2 )
-
-#define D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS ( 1 )
-
-#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT ( 1 )
-
-#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT ( 1 )
-
-#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_GS_INPUT_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_GS_INPUT_REGISTER_COUNT ( 32 )
-
-#define D3D12_GS_INPUT_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_GS_INPUT_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_GS_INPUT_REGISTER_VERTICES ( 32 )
-
-#define D3D12_GS_MAX_INSTANCE_COUNT ( 32 )
-
-#define D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES ( 1024 )
-
-#define D3D12_GS_OUTPUT_ELEMENTS ( 32 )
-
-#define D3D12_GS_OUTPUT_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_GS_OUTPUT_REGISTER_COUNT ( 32 )
-
-#define D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT ( 32 )
-
-#define D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT ( 32 )
-
-#define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
-
-#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT ( 1 )
-
-#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT ( 1 )
-
-#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )
-
-#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
-
-#define D3D12_HS_MAXTESSFACTOR_LOWER_BOUND ( 1.0f )
-#define D3D12_HS_MAXTESSFACTOR_UPPER_BOUND ( 64.0f )
-#define D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
-
-#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT ( 1 )
-
-#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
-
-#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS ( 128 )
-
-#define D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES ( 0 )
-
-#define D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY ( 0 )
-
-#define D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES ( 0 )
-
-#define D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT ( 1 )
-
-#define D3D12_IA_INSTANCE_ID_BIT_COUNT ( 32 )
-
-#define D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT ( 32 )
-
-#define D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT ( 32 )
-
-#define D3D12_IA_PRIMITIVE_ID_BIT_COUNT ( 32 )
-
-#define D3D12_IA_VERTEX_ID_BIT_COUNT ( 32 )
-
-#define D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT ( 32 )
-
-#define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS ( 128 )
-
-#define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ( 32 )
-
-#define D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT ( 0xffffffff )
-
-#define D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER ( 0xffffffff )
-
-#define D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL ( 0xffffffff )
-
-#define D3D12_KEEP_UNORDERED_ACCESS_VIEWS ( 0xffffffff )
-
-#define D3D12_LINEAR_GAMMA ( 1.0f )
-#define D3D12_MAJOR_VERSION ( 12 )
-
-#define D3D12_MAX_BORDER_COLOR_COMPONENT ( 1.0f )
-#define D3D12_MAX_DEPTH ( 1.0f )
-#define D3D12_MAX_LIVE_STATIC_SAMPLERS ( 2032 )
-
-#define D3D12_MAX_MAXANISOTROPY ( 16 )
-
-#define D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT ( 32 )
-
-#define D3D12_MAX_POSITION_VALUE ( 3.402823466e+34f )
-#define D3D12_MAX_ROOT_COST ( 64 )
-
-#define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 ( 1000000 )
-
-#define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 ( 1000000 )
-
-#define D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE ( 2048 )
-
-#define D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP ( 17 )
-
-#define D3D12_MAX_VIEW_INSTANCE_COUNT ( 4 )
-
-#define D3D12_MINOR_VERSION ( 0 )
-
-#define D3D12_MIN_BORDER_COLOR_COMPONENT ( 0.0f )
-#define D3D12_MIN_DEPTH ( 0.0f )
-#define D3D12_MIN_MAXANISOTROPY ( 0 )
-
-#define D3D12_MIP_LOD_BIAS_MAX ( 15.99f )
-#define D3D12_MIP_LOD_BIAS_MIN ( -16.0f )
-#define D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT ( 8 )
-
-#define D3D12_MIP_LOD_RANGE_BIT_COUNT ( 8 )
-
-#define D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f )
-#define D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT ( 0 )
-
-#define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )
-
-#define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff8 )
-
-#define D3D12_PACKED_TILE ( 0xffffffff )
-
-#define D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 15 )
-
-#define D3D12_PREVIEW_SDK_VERSION ( 714 )
-
-#define D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
-
-#define D3D12_PS_CS_UAV_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_PS_CS_UAV_REGISTER_COUNT ( 8 )
-
-#define D3D12_PS_CS_UAV_REGISTER_READS_PER_INST ( 1 )
-
-#define D3D12_PS_CS_UAV_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_PS_FRONTFACING_DEFAULT_VALUE ( 0xffffffff )
-
-#define D3D12_PS_FRONTFACING_FALSE_VALUE ( 0 )
-
-#define D3D12_PS_FRONTFACING_TRUE_VALUE ( 0xffffffff )
-
-#define D3D12_PS_INPUT_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_PS_INPUT_REGISTER_COUNT ( 32 )
-
-#define D3D12_PS_INPUT_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_PS_INPUT_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f )
-#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT ( 1 )
-
-#define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS ( 1 )
-
-#define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_PS_OUTPUT_MASK_REGISTER_COUNT ( 1 )
-
-#define D3D12_PS_OUTPUT_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_PS_OUTPUT_REGISTER_COUNT ( 8 )
-
-#define D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f )
-#define D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT ( 16 )
-
-#define D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT ( 8 )
-
-#define D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT ( 256 )
-
-#define D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT ( 16 )
-
-#define D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES ( 32 )
-
-#define D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH ( 31 )
-
-#define D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE ( 16777216 )
-
-#define D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE ( 16777216 )
-
-#define D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE ( 536870912 )
-
-#define D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS ( 1073741824 )
-
-#define D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE ( 4096 )
-
-#define D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT ( 32 )
-
-#define D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT ( 64 )
-
-#define D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT ( 16 )
-
-#define D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE ( 4096 )
-
-#define D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP ( 27 )
-
-#define D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
-
-#define D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE ( 4096 )
-
-#define D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 32 )
-
-#define D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP ( 32 )
-
-#define D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION ( 16384 )
-
-#define D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT ( 1024 )
-
-#define D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
-
-#define D3D12_REQ_MAXANISOTROPY ( 16 )
-
-#define D3D12_REQ_MIP_LEVELS ( 15 )
-
-#define D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES ( 2048 )
-
-#define D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE ( 4096 )
-
-#define D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH ( 16384 )
-
-#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM ( 128 )
-
-#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM ( 0.25f )
-#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM ( 2048 )
-
-#define D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP ( 20 )
-
-#define D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE ( 4096 )
-
-#define D3D12_REQ_SUBRESOURCES ( 30720 )
-
-#define D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION ( 2048 )
-
-#define D3D12_REQ_TEXTURE1D_U_DIMENSION ( 16384 )
-
-#define D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION ( 2048 )
-
-#define D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION ( 16384 )
-
-#define D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION ( 2048 )
-
-#define D3D12_REQ_TEXTURECUBE_DIMENSION ( 16384 )
-
-#define D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL ( 0 )
-
-#define D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES ( 0xffffffff )
-
-#define D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT ( 2 )
-
-#define D3D12_SDK_VERSION ( 614 )
-
-#define D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES ( 32 )
-
-#define D3D12_SHADER_MAJOR_VERSION ( 5 )
-
-#define D3D12_SHADER_MAX_INSTANCES ( 65535 )
-
-#define D3D12_SHADER_MAX_INTERFACES ( 253 )
-
-#define D3D12_SHADER_MAX_INTERFACE_CALL_SITES ( 4096 )
-
-#define D3D12_SHADER_MAX_TYPES ( 65535 )
-
-#define D3D12_SHADER_MINOR_VERSION ( 1 )
-
-#define D3D12_SHIFT_INSTRUCTION_PAD_VALUE ( 0 )
-
-#define D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT ( 5 )
-
-#define D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ( 8 )
-
-#define D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )
-
-#define D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT ( 4096 )
-
-#define D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES ( 2048 )
-
-#define D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES ( 512 )
-
-#define D3D12_SO_BUFFER_SLOT_COUNT ( 4 )
-
-#define D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP ( 0xffffffff )
-
-#define D3D12_SO_NO_RASTERIZED_STREAM ( 0xffffffff )
-
-#define D3D12_SO_OUTPUT_COMPONENT_COUNT ( 128 )
-
-#define D3D12_SO_STREAM_COUNT ( 4 )
-
-#define D3D12_SPEC_DATE_DAY ( 14 )
-
-#define D3D12_SPEC_DATE_MONTH ( 11 )
-
-#define D3D12_SPEC_DATE_YEAR ( 2014 )
-
-#define D3D12_SPEC_VERSION ( 1.16 )
-#define D3D12_SRGB_GAMMA ( 2.2f )
-#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f )
-#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f )
-#define D3D12_SRGB_TO_FLOAT_EXPONENT ( 2.4f )
-#define D3D12_SRGB_TO_FLOAT_OFFSET ( 0.055f )
-#define D3D12_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f )
-#define D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f )
-#define D3D12_STANDARD_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED ( 64 )
-
-#define D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE ( 4 )
-
-#define D3D12_STANDARD_PIXEL_COMPONENT_COUNT ( 128 )
-
-#define D3D12_STANDARD_PIXEL_ELEMENT_COUNT ( 32 )
-
-#define D3D12_STANDARD_VECTOR_SIZE ( 4 )
-
-#define D3D12_STANDARD_VERTEX_ELEMENT_COUNT ( 32 )
-
-#define D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT ( 64 )
-
-#define D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT ( 8 )
-
-#define D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT ( 8 )
-
-#define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )
-
-#define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )
-
-#define D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR ( 64 )
-
-#define D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 64 )
-
-#define D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR ( 63 )
-
-#define D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR ( 64 )
-
-#define D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR ( 2 )
-
-#define D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 1 )
-
-#define D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR ( 1 )
-
-#define D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
-
-#define D3D12_TEXTURE_DATA_PITCH_ALIGNMENT ( 256 )
-
-#define D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT ( 512 )
-
-#define D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 )
-
-#define D3D12_TRACKED_WORKLOAD_MAX_INSTANCES ( 32 )
-
-#define D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT ( 4096 )
-
-#define D3D12_UAV_SLOT_COUNT ( 64 )
-
-#define D3D12_UNBOUND_MEMORY_ACCESS_RESULT ( 0 )
-
-#define D3D12_VIDEO_DECODE_MAX_ARGUMENTS ( 10 )
-
-#define D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS ( 4 )
-
-#define D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT ( 256 )
-
-#define D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT ( 256 )
-
-#define D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN ( 0xffffffff )
-
-#define D3D12_VIDEO_ENCODER_AV1_INVALID_DPB_RESOURCE_INDEX ( 0xff )
-
-#define D3D12_VIDEO_ENCODER_AV1_MAX_TILE_COLS ( 64 )
-
-#define D3D12_VIDEO_ENCODER_AV1_MAX_TILE_ROWS ( 64 )
-
-#define D3D12_VIDEO_ENCODER_AV1_SUPERRES_DENOM_MIN ( 9 )
-
-#define D3D12_VIDEO_ENCODER_AV1_SUPERRES_NUM ( 8 )
-
-#define D3D12_VIDEO_PROCESS_MAX_FILTERS ( 32 )
-
-#define D3D12_VIDEO_PROCESS_STEREO_VIEWS ( 2 )
-
-#define D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX ( 15 )
-
-#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE ( 16 )
-
-#define D3D12_VIEWPORT_BOUNDS_MAX ( 32767 )
-
-#define D3D12_VIEWPORT_BOUNDS_MIN ( -32768 )
-
-#define D3D12_VS_INPUT_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_VS_INPUT_REGISTER_COUNT ( 32 )
-
-#define D3D12_VS_INPUT_REGISTER_READS_PER_INST ( 2 )
-
-#define D3D12_VS_INPUT_REGISTER_READ_PORTS ( 1 )
-
-#define D3D12_VS_OUTPUT_REGISTER_COMPONENTS ( 4 )
-
-#define D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
-
-#define D3D12_VS_OUTPUT_REGISTER_COUNT ( 32 )
-
-#define D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT ( 10 )
-
-#define D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 25 )
-
-#define D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP ( 25 )
-
-#define D3D12_WORK_GRAPHS_BACKING_MEMORY_ALIGNMENT_IN_BYTES ( 8 )
-
-#define D3D12_WORK_GRAPHS_MAX_NODE_DEPTH ( 32 )
-
-#endif
-
-typedef UINT64 D3D12_GPU_VIRTUAL_ADDRESS;
-
-typedef
-enum D3D12_COMMAND_LIST_TYPE
- {
- D3D12_COMMAND_LIST_TYPE_DIRECT = 0,
- D3D12_COMMAND_LIST_TYPE_BUNDLE = 1,
- D3D12_COMMAND_LIST_TYPE_COMPUTE = 2,
- D3D12_COMMAND_LIST_TYPE_COPY = 3,
- D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4,
- D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5,
- D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6,
- D3D12_COMMAND_LIST_TYPE_NONE = -1
- } D3D12_COMMAND_LIST_TYPE;
-
-typedef
-enum D3D12_COMMAND_QUEUE_FLAGS
- {
- D3D12_COMMAND_QUEUE_FLAG_NONE = 0,
- D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1
- } D3D12_COMMAND_QUEUE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_QUEUE_FLAGS )
-typedef
-enum D3D12_COMMAND_QUEUE_PRIORITY
- {
- D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0,
- D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100,
- D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000
- } D3D12_COMMAND_QUEUE_PRIORITY;
-
-typedef struct D3D12_COMMAND_QUEUE_DESC
- {
- D3D12_COMMAND_LIST_TYPE Type;
- INT Priority;
- D3D12_COMMAND_QUEUE_FLAGS Flags;
- UINT NodeMask;
- } D3D12_COMMAND_QUEUE_DESC;
-
-typedef
-enum D3D12_PRIMITIVE_TOPOLOGY_TYPE
- {
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4
- } D3D12_PRIMITIVE_TOPOLOGY_TYPE;
-
-typedef
-enum D3D12_INPUT_CLASSIFICATION
- {
- D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0,
- D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1
- } D3D12_INPUT_CLASSIFICATION;
-
-typedef struct D3D12_INPUT_ELEMENT_DESC
- {
- LPCSTR SemanticName;
- UINT SemanticIndex;
- DXGI_FORMAT Format;
- UINT InputSlot;
- UINT AlignedByteOffset;
- D3D12_INPUT_CLASSIFICATION InputSlotClass;
- UINT InstanceDataStepRate;
- } D3D12_INPUT_ELEMENT_DESC;
-
-typedef
-enum D3D12_FILL_MODE
- {
- D3D12_FILL_MODE_WIREFRAME = 2,
- D3D12_FILL_MODE_SOLID = 3
- } D3D12_FILL_MODE;
-
-typedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY;
-
-typedef D3D_PRIMITIVE D3D12_PRIMITIVE;
-
-typedef
-enum D3D12_CULL_MODE
- {
- D3D12_CULL_MODE_NONE = 1,
- D3D12_CULL_MODE_FRONT = 2,
- D3D12_CULL_MODE_BACK = 3
- } D3D12_CULL_MODE;
-
-typedef struct D3D12_SO_DECLARATION_ENTRY
- {
- UINT Stream;
- LPCSTR SemanticName;
- UINT SemanticIndex;
- BYTE StartComponent;
- BYTE ComponentCount;
- BYTE OutputSlot;
- } D3D12_SO_DECLARATION_ENTRY;
-
-typedef struct D3D12_VIEWPORT
- {
- FLOAT TopLeftX;
- FLOAT TopLeftY;
- FLOAT Width;
- FLOAT Height;
- FLOAT MinDepth;
- FLOAT MaxDepth;
- } D3D12_VIEWPORT;
-
-typedef RECT D3D12_RECT;
-
-typedef struct D3D12_BOX
- {
- UINT left;
- UINT top;
- UINT front;
- UINT right;
- UINT bottom;
- UINT back;
- } D3D12_BOX;
-
-typedef
-enum D3D12_COMPARISON_FUNC
- {
- D3D12_COMPARISON_FUNC_NONE = 0,
- D3D12_COMPARISON_FUNC_NEVER = 1,
- D3D12_COMPARISON_FUNC_LESS = 2,
- D3D12_COMPARISON_FUNC_EQUAL = 3,
- D3D12_COMPARISON_FUNC_LESS_EQUAL = 4,
- D3D12_COMPARISON_FUNC_GREATER = 5,
- D3D12_COMPARISON_FUNC_NOT_EQUAL = 6,
- D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7,
- D3D12_COMPARISON_FUNC_ALWAYS = 8
- } D3D12_COMPARISON_FUNC;
-
-typedef
-enum D3D12_DEPTH_WRITE_MASK
- {
- D3D12_DEPTH_WRITE_MASK_ZERO = 0,
- D3D12_DEPTH_WRITE_MASK_ALL = 1
- } D3D12_DEPTH_WRITE_MASK;
-
-typedef
-enum D3D12_STENCIL_OP
- {
- D3D12_STENCIL_OP_KEEP = 1,
- D3D12_STENCIL_OP_ZERO = 2,
- D3D12_STENCIL_OP_REPLACE = 3,
- D3D12_STENCIL_OP_INCR_SAT = 4,
- D3D12_STENCIL_OP_DECR_SAT = 5,
- D3D12_STENCIL_OP_INVERT = 6,
- D3D12_STENCIL_OP_INCR = 7,
- D3D12_STENCIL_OP_DECR = 8
- } D3D12_STENCIL_OP;
-
-typedef struct D3D12_DEPTH_STENCILOP_DESC
- {
- D3D12_STENCIL_OP StencilFailOp;
- D3D12_STENCIL_OP StencilDepthFailOp;
- D3D12_STENCIL_OP StencilPassOp;
- D3D12_COMPARISON_FUNC StencilFunc;
- } D3D12_DEPTH_STENCILOP_DESC;
-
-typedef struct D3D12_DEPTH_STENCIL_DESC
- {
- BOOL DepthEnable;
- D3D12_DEPTH_WRITE_MASK DepthWriteMask;
- D3D12_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- D3D12_DEPTH_STENCILOP_DESC FrontFace;
- D3D12_DEPTH_STENCILOP_DESC BackFace;
- } D3D12_DEPTH_STENCIL_DESC;
-
-typedef struct D3D12_DEPTH_STENCIL_DESC1
- {
- BOOL DepthEnable;
- D3D12_DEPTH_WRITE_MASK DepthWriteMask;
- D3D12_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- D3D12_DEPTH_STENCILOP_DESC FrontFace;
- D3D12_DEPTH_STENCILOP_DESC BackFace;
- BOOL DepthBoundsTestEnable;
- } D3D12_DEPTH_STENCIL_DESC1;
-
-typedef struct D3D12_DEPTH_STENCILOP_DESC1
- {
- D3D12_STENCIL_OP StencilFailOp;
- D3D12_STENCIL_OP StencilDepthFailOp;
- D3D12_STENCIL_OP StencilPassOp;
- D3D12_COMPARISON_FUNC StencilFunc;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- } D3D12_DEPTH_STENCILOP_DESC1;
-
-typedef struct D3D12_DEPTH_STENCIL_DESC2
- {
- BOOL DepthEnable;
- D3D12_DEPTH_WRITE_MASK DepthWriteMask;
- D3D12_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- D3D12_DEPTH_STENCILOP_DESC1 FrontFace;
- D3D12_DEPTH_STENCILOP_DESC1 BackFace;
- BOOL DepthBoundsTestEnable;
- } D3D12_DEPTH_STENCIL_DESC2;
-
-typedef
-enum D3D12_BLEND
- {
- D3D12_BLEND_ZERO = 1,
- D3D12_BLEND_ONE = 2,
- D3D12_BLEND_SRC_COLOR = 3,
- D3D12_BLEND_INV_SRC_COLOR = 4,
- D3D12_BLEND_SRC_ALPHA = 5,
- D3D12_BLEND_INV_SRC_ALPHA = 6,
- D3D12_BLEND_DEST_ALPHA = 7,
- D3D12_BLEND_INV_DEST_ALPHA = 8,
- D3D12_BLEND_DEST_COLOR = 9,
- D3D12_BLEND_INV_DEST_COLOR = 10,
- D3D12_BLEND_SRC_ALPHA_SAT = 11,
- D3D12_BLEND_BLEND_FACTOR = 14,
- D3D12_BLEND_INV_BLEND_FACTOR = 15,
- D3D12_BLEND_SRC1_COLOR = 16,
- D3D12_BLEND_INV_SRC1_COLOR = 17,
- D3D12_BLEND_SRC1_ALPHA = 18,
- D3D12_BLEND_INV_SRC1_ALPHA = 19,
- D3D12_BLEND_ALPHA_FACTOR = 20,
- D3D12_BLEND_INV_ALPHA_FACTOR = 21
- } D3D12_BLEND;
-
-typedef
-enum D3D12_BLEND_OP
- {
- D3D12_BLEND_OP_ADD = 1,
- D3D12_BLEND_OP_SUBTRACT = 2,
- D3D12_BLEND_OP_REV_SUBTRACT = 3,
- D3D12_BLEND_OP_MIN = 4,
- D3D12_BLEND_OP_MAX = 5
- } D3D12_BLEND_OP;
-
-typedef
-enum D3D12_COLOR_WRITE_ENABLE
- {
- D3D12_COLOR_WRITE_ENABLE_RED = 1,
- D3D12_COLOR_WRITE_ENABLE_GREEN = 2,
- D3D12_COLOR_WRITE_ENABLE_BLUE = 4,
- D3D12_COLOR_WRITE_ENABLE_ALPHA = 8,
- D3D12_COLOR_WRITE_ENABLE_ALL = ( ( ( D3D12_COLOR_WRITE_ENABLE_RED | D3D12_COLOR_WRITE_ENABLE_GREEN ) | D3D12_COLOR_WRITE_ENABLE_BLUE ) | D3D12_COLOR_WRITE_ENABLE_ALPHA )
- } D3D12_COLOR_WRITE_ENABLE;
-
-typedef
-enum D3D12_LOGIC_OP
- {
- D3D12_LOGIC_OP_CLEAR = 0,
- D3D12_LOGIC_OP_SET = ( D3D12_LOGIC_OP_CLEAR + 1 ) ,
- D3D12_LOGIC_OP_COPY = ( D3D12_LOGIC_OP_SET + 1 ) ,
- D3D12_LOGIC_OP_COPY_INVERTED = ( D3D12_LOGIC_OP_COPY + 1 ) ,
- D3D12_LOGIC_OP_NOOP = ( D3D12_LOGIC_OP_COPY_INVERTED + 1 ) ,
- D3D12_LOGIC_OP_INVERT = ( D3D12_LOGIC_OP_NOOP + 1 ) ,
- D3D12_LOGIC_OP_AND = ( D3D12_LOGIC_OP_INVERT + 1 ) ,
- D3D12_LOGIC_OP_NAND = ( D3D12_LOGIC_OP_AND + 1 ) ,
- D3D12_LOGIC_OP_OR = ( D3D12_LOGIC_OP_NAND + 1 ) ,
- D3D12_LOGIC_OP_NOR = ( D3D12_LOGIC_OP_OR + 1 ) ,
- D3D12_LOGIC_OP_XOR = ( D3D12_LOGIC_OP_NOR + 1 ) ,
- D3D12_LOGIC_OP_EQUIV = ( D3D12_LOGIC_OP_XOR + 1 ) ,
- D3D12_LOGIC_OP_AND_REVERSE = ( D3D12_LOGIC_OP_EQUIV + 1 ) ,
- D3D12_LOGIC_OP_AND_INVERTED = ( D3D12_LOGIC_OP_AND_REVERSE + 1 ) ,
- D3D12_LOGIC_OP_OR_REVERSE = ( D3D12_LOGIC_OP_AND_INVERTED + 1 ) ,
- D3D12_LOGIC_OP_OR_INVERTED = ( D3D12_LOGIC_OP_OR_REVERSE + 1 )
- } D3D12_LOGIC_OP;
-
-typedef struct D3D12_RENDER_TARGET_BLEND_DESC
- {
- BOOL BlendEnable;
- BOOL LogicOpEnable;
- D3D12_BLEND SrcBlend;
- D3D12_BLEND DestBlend;
- D3D12_BLEND_OP BlendOp;
- D3D12_BLEND SrcBlendAlpha;
- D3D12_BLEND DestBlendAlpha;
- D3D12_BLEND_OP BlendOpAlpha;
- D3D12_LOGIC_OP LogicOp;
- UINT8 RenderTargetWriteMask;
- } D3D12_RENDER_TARGET_BLEND_DESC;
-
-typedef struct D3D12_BLEND_DESC
- {
- BOOL AlphaToCoverageEnable;
- BOOL IndependentBlendEnable;
- D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[ 8 ];
- } D3D12_BLEND_DESC;
-
-/* Note, the array size for RenderTarget[] above is D3D12_SIMULTANEOUS_RENDERTARGET_COUNT.
- IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */
-typedef
-enum D3D12_CONSERVATIVE_RASTERIZATION_MODE
- {
- D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0,
- D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1
- } D3D12_CONSERVATIVE_RASTERIZATION_MODE;
-
-typedef struct D3D12_RASTERIZER_DESC
- {
- D3D12_FILL_MODE FillMode;
- D3D12_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- INT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- BOOL MultisampleEnable;
- BOOL AntialiasedLineEnable;
- UINT ForcedSampleCount;
- D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
- } D3D12_RASTERIZER_DESC;
-
-typedef struct D3D12_RASTERIZER_DESC1
- {
- D3D12_FILL_MODE FillMode;
- D3D12_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- FLOAT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- BOOL MultisampleEnable;
- BOOL AntialiasedLineEnable;
- UINT ForcedSampleCount;
- D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
- } D3D12_RASTERIZER_DESC1;
-
-typedef
-enum D3D12_LINE_RASTERIZATION_MODE
- {
- D3D12_LINE_RASTERIZATION_MODE_ALIASED = 0,
- D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED = ( D3D12_LINE_RASTERIZATION_MODE_ALIASED + 1 ) ,
- D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE = ( D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED + 1 ) ,
- D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_NARROW = ( D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE + 1 )
- } D3D12_LINE_RASTERIZATION_MODE;
-
-typedef struct D3D12_RASTERIZER_DESC2
- {
- D3D12_FILL_MODE FillMode;
- D3D12_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- FLOAT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- D3D12_LINE_RASTERIZATION_MODE LineRasterizationMode;
- UINT ForcedSampleCount;
- D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
- } D3D12_RASTERIZER_DESC2;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_s_ifspec;
-
-#ifndef __ID3D12Object_INTERFACE_DEFINED__
-#define __ID3D12Object_INTERFACE_DEFINED__
-
-/* interface ID3D12Object */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Object;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c4fec28f-7966-4e95-9f94-f431cb56c3b8")
- ID3D12Object : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetName(
- _In_z_ LPCWSTR Name) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12ObjectVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Object * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Object * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Object * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Object * This,
- _In_z_ LPCWSTR Name);
-
- END_INTERFACE
- } ID3D12ObjectVtbl;
-
- interface ID3D12Object
- {
- CONST_VTBL struct ID3D12ObjectVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Object_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Object_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Object_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Object_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Object_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Object_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Object_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Object_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceChild_INTERFACE_DEFINED__
-#define __ID3D12DeviceChild_INTERFACE_DEFINED__
-
-/* interface ID3D12DeviceChild */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DeviceChild;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("905db94b-a00c-4140-9df5-2b64ca9ea357")
- ID3D12DeviceChild : public ID3D12Object
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetDevice(
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DeviceChildVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceChild * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceChild * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceChild * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12DeviceChild * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12DeviceChild * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12DeviceChildVtbl;
-
- interface ID3D12DeviceChild
- {
- CONST_VTBL struct ID3D12DeviceChildVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DeviceChild_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DeviceChild_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DeviceChild_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DeviceChild_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12DeviceChild_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12DeviceChild_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12DeviceChild_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12DeviceChild_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DeviceChild_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12RootSignature_INTERFACE_DEFINED__
-#define __ID3D12RootSignature_INTERFACE_DEFINED__
-
-/* interface ID3D12RootSignature */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12RootSignature;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c54a6b66-72df-4ee8-8be5-a946a1429214")
- ID3D12RootSignature : public ID3D12DeviceChild
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12RootSignatureVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12RootSignature * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12RootSignature * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12RootSignature * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12RootSignature * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12RootSignature * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12RootSignatureVtbl;
-
- interface ID3D12RootSignature
- {
- CONST_VTBL struct ID3D12RootSignatureVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12RootSignature_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12RootSignature_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12RootSignature_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12RootSignature_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12RootSignature_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12RootSignature_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12RootSignature_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12RootSignature_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12RootSignature_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0001 */
-/* [local] */
-
-typedef struct D3D12_SHADER_BYTECODE
- {
- _Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode;
- SIZE_T BytecodeLength;
- } D3D12_SHADER_BYTECODE;
-
-typedef struct D3D12_STREAM_OUTPUT_DESC
- {
- _Field_size_full_(NumEntries) const D3D12_SO_DECLARATION_ENTRY *pSODeclaration;
- UINT NumEntries;
- _Field_size_full_(NumStrides) const UINT *pBufferStrides;
- UINT NumStrides;
- UINT RasterizedStream;
- } D3D12_STREAM_OUTPUT_DESC;
-
-typedef struct D3D12_INPUT_LAYOUT_DESC
- {
- _Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs;
- UINT NumElements;
- } D3D12_INPUT_LAYOUT_DESC;
-
-typedef
-enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
- {
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0,
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1,
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2
- } D3D12_INDEX_BUFFER_STRIP_CUT_VALUE;
-
-typedef
-enum D3D12_STANDARD_MULTISAMPLE_QUALITY_LEVELS
- {
- D3D12_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff,
- D3D12_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe
- } D3D12_STANDARD_MULTISAMPLE_QUALITY_LEVELS;
-
-typedef struct D3D12_CACHED_PIPELINE_STATE
- {
- _Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob;
- SIZE_T CachedBlobSizeInBytes;
- } D3D12_CACHED_PIPELINE_STATE;
-
-typedef
-enum D3D12_PIPELINE_STATE_FLAGS
- {
- D3D12_PIPELINE_STATE_FLAG_NONE = 0,
- D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x1,
- D3D12_PIPELINE_STATE_FLAG_DYNAMIC_DEPTH_BIAS = 0x4,
- D3D12_PIPELINE_STATE_FLAG_DYNAMIC_INDEX_BUFFER_STRIP_CUT = 0x8
- } D3D12_PIPELINE_STATE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_PIPELINE_STATE_FLAGS )
-typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC
- {
- ID3D12RootSignature *pRootSignature;
- D3D12_SHADER_BYTECODE VS;
- D3D12_SHADER_BYTECODE PS;
- D3D12_SHADER_BYTECODE DS;
- D3D12_SHADER_BYTECODE HS;
- D3D12_SHADER_BYTECODE GS;
- D3D12_STREAM_OUTPUT_DESC StreamOutput;
- D3D12_BLEND_DESC BlendState;
- UINT SampleMask;
- D3D12_RASTERIZER_DESC RasterizerState;
- D3D12_DEPTH_STENCIL_DESC DepthStencilState;
- D3D12_INPUT_LAYOUT_DESC InputLayout;
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue;
- D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;
- UINT NumRenderTargets;
- DXGI_FORMAT RTVFormats[ 8 ];
- DXGI_FORMAT DSVFormat;
- DXGI_SAMPLE_DESC SampleDesc;
- UINT NodeMask;
- D3D12_CACHED_PIPELINE_STATE CachedPSO;
- D3D12_PIPELINE_STATE_FLAGS Flags;
- } D3D12_GRAPHICS_PIPELINE_STATE_DESC;
-
-typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC
- {
- ID3D12RootSignature *pRootSignature;
- D3D12_SHADER_BYTECODE CS;
- UINT NodeMask;
- D3D12_CACHED_PIPELINE_STATE CachedPSO;
- D3D12_PIPELINE_STATE_FLAGS Flags;
- } D3D12_COMPUTE_PIPELINE_STATE_DESC;
-
-struct D3D12_RT_FORMAT_ARRAY
- {
- DXGI_FORMAT RTFormats[ 8 ];
- UINT NumRenderTargets;
- } ;
-typedef struct D3D12_PIPELINE_STATE_STREAM_DESC
- {
- _In_ SIZE_T SizeInBytes;
- _In_reads_(_Inexpressible_("Dependent on size of subobjects")) void *pPipelineStateSubobjectStream;
- } D3D12_PIPELINE_STATE_STREAM_DESC;
-
-typedef
-enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE
- {
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 24,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 25,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 26,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1 = 27,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2 = 28,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2 + 1 )
- } D3D12_PIPELINE_STATE_SUBOBJECT_TYPE;
-
-typedef
-enum D3D12_FEATURE
- {
- D3D12_FEATURE_D3D12_OPTIONS = 0,
- D3D12_FEATURE_ARCHITECTURE = 1,
- D3D12_FEATURE_FEATURE_LEVELS = 2,
- D3D12_FEATURE_FORMAT_SUPPORT = 3,
- D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4,
- D3D12_FEATURE_FORMAT_INFO = 5,
- D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6,
- D3D12_FEATURE_SHADER_MODEL = 7,
- D3D12_FEATURE_D3D12_OPTIONS1 = 8,
- D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = 10,
- D3D12_FEATURE_ROOT_SIGNATURE = 12,
- D3D12_FEATURE_ARCHITECTURE1 = 16,
- D3D12_FEATURE_D3D12_OPTIONS2 = 18,
- D3D12_FEATURE_SHADER_CACHE = 19,
- D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20,
- D3D12_FEATURE_D3D12_OPTIONS3 = 21,
- D3D12_FEATURE_EXISTING_HEAPS = 22,
- D3D12_FEATURE_D3D12_OPTIONS4 = 23,
- D3D12_FEATURE_SERIALIZATION = 24,
- D3D12_FEATURE_CROSS_NODE = 25,
- D3D12_FEATURE_D3D12_OPTIONS5 = 27,
- D3D12_FEATURE_DISPLAYABLE = 28,
- D3D12_FEATURE_D3D12_OPTIONS6 = 30,
- D3D12_FEATURE_QUERY_META_COMMAND = 31,
- D3D12_FEATURE_D3D12_OPTIONS7 = 32,
- D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33,
- D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34,
- D3D12_FEATURE_D3D12_OPTIONS8 = 36,
- D3D12_FEATURE_D3D12_OPTIONS9 = 37,
- D3D12_FEATURE_D3D12_OPTIONS10 = 39,
- D3D12_FEATURE_D3D12_OPTIONS11 = 40,
- D3D12_FEATURE_D3D12_OPTIONS12 = 41,
- D3D12_FEATURE_D3D12_OPTIONS13 = 42,
- D3D12_FEATURE_D3D12_OPTIONS14 = 43,
- D3D12_FEATURE_D3D12_OPTIONS15 = 44,
- D3D12_FEATURE_D3D12_OPTIONS16 = 45,
- D3D12_FEATURE_D3D12_OPTIONS17 = 46,
- D3D12_FEATURE_D3D12_OPTIONS18 = 47,
- D3D12_FEATURE_D3D12_OPTIONS19 = 48,
- D3D12_FEATURE_D3D12_OPTIONS20 = 49,
- D3D12_FEATURE_PREDICATION = 50,
- D3D12_FEATURE_PLACED_RESOURCE_SUPPORT_INFO = 51,
- D3D12_FEATURE_HARDWARE_COPY = 52,
- D3D12_FEATURE_D3D12_OPTIONS21 = 53
- } D3D12_FEATURE;
-
-typedef
-enum D3D12_SHADER_MIN_PRECISION_SUPPORT
- {
- D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = 0,
- D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1,
- D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = 0x2
- } D3D12_SHADER_MIN_PRECISION_SUPPORT;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_MIN_PRECISION_SUPPORT )
-typedef
-enum D3D12_TILED_RESOURCES_TIER
- {
- D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0,
- D3D12_TILED_RESOURCES_TIER_1 = 1,
- D3D12_TILED_RESOURCES_TIER_2 = 2,
- D3D12_TILED_RESOURCES_TIER_3 = 3,
- D3D12_TILED_RESOURCES_TIER_4 = 4
- } D3D12_TILED_RESOURCES_TIER;
-
-typedef
-enum D3D12_RESOURCE_BINDING_TIER
- {
- D3D12_RESOURCE_BINDING_TIER_1 = 1,
- D3D12_RESOURCE_BINDING_TIER_2 = 2,
- D3D12_RESOURCE_BINDING_TIER_3 = 3
- } D3D12_RESOURCE_BINDING_TIER;
-
-typedef
-enum D3D12_CONSERVATIVE_RASTERIZATION_TIER
- {
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = 0,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3
- } D3D12_CONSERVATIVE_RASTERIZATION_TIER;
-
-typedef
-enum D3D12_FORMAT_SUPPORT1
- {
- D3D12_FORMAT_SUPPORT1_NONE = 0,
- D3D12_FORMAT_SUPPORT1_BUFFER = 0x1,
- D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = 0x2,
- D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = 0x4,
- D3D12_FORMAT_SUPPORT1_SO_BUFFER = 0x8,
- D3D12_FORMAT_SUPPORT1_TEXTURE1D = 0x10,
- D3D12_FORMAT_SUPPORT1_TEXTURE2D = 0x20,
- D3D12_FORMAT_SUPPORT1_TEXTURE3D = 0x40,
- D3D12_FORMAT_SUPPORT1_TEXTURECUBE = 0x80,
- D3D12_FORMAT_SUPPORT1_SHADER_LOAD = 0x100,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = 0x200,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = 0x400,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = 0x800,
- D3D12_FORMAT_SUPPORT1_MIP = 0x1000,
- D3D12_FORMAT_SUPPORT1_RENDER_TARGET = 0x4000,
- D3D12_FORMAT_SUPPORT1_BLENDABLE = 0x8000,
- D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = 0x10000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = 0x40000,
- D3D12_FORMAT_SUPPORT1_DISPLAY = 0x80000,
- D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = 0x100000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = 0x200000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = 0x400000,
- D3D12_FORMAT_SUPPORT1_SHADER_GATHER = 0x800000,
- D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = 0x1000000,
- D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000,
- D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = 0x4000000,
- D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = 0x8000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = 0x10000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000
- } D3D12_FORMAT_SUPPORT1;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT1 )
-typedef
-enum D3D12_FORMAT_SUPPORT2
- {
- D3D12_FORMAT_SUPPORT2_NONE = 0,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20,
- D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40,
- D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80,
- D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100,
- D3D12_FORMAT_SUPPORT2_TILED = 0x200,
- D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000,
- D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK = 0x8000
- } D3D12_FORMAT_SUPPORT2;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT2 )
-typedef
-enum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS
- {
- D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = 0,
- D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = 0x1
- } D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS )
-typedef
-enum D3D12_CROSS_NODE_SHARING_TIER
- {
- D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0,
- D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1,
- D3D12_CROSS_NODE_SHARING_TIER_1 = 2,
- D3D12_CROSS_NODE_SHARING_TIER_2 = 3,
- D3D12_CROSS_NODE_SHARING_TIER_3 = 4
- } D3D12_CROSS_NODE_SHARING_TIER;
-
-typedef
-enum D3D12_RESOURCE_HEAP_TIER
- {
- D3D12_RESOURCE_HEAP_TIER_1 = 1,
- D3D12_RESOURCE_HEAP_TIER_2 = 2
- } D3D12_RESOURCE_HEAP_TIER;
-
-typedef
-enum D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER
- {
- D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED = 0,
- D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 = 1,
- D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 = 2
- } D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER;
-
-typedef
-enum D3D12_VIEW_INSTANCING_TIER
- {
- D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = 0,
- D3D12_VIEW_INSTANCING_TIER_1 = 1,
- D3D12_VIEW_INSTANCING_TIER_2 = 2,
- D3D12_VIEW_INSTANCING_TIER_3 = 3
- } D3D12_VIEW_INSTANCING_TIER;
-
-typedef
-enum D3D12_WORK_GRAPHS_TIER
- {
- D3D12_WORK_GRAPHS_TIER_NOT_SUPPORTED = 0,
- D3D12_WORK_GRAPHS_TIER_1_0 = 10
- } D3D12_WORK_GRAPHS_TIER;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS
- {
- _Out_ BOOL DoublePrecisionFloatShaderOps;
- _Out_ BOOL OutputMergerLogicOp;
- _Out_ D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport;
- _Out_ D3D12_TILED_RESOURCES_TIER TiledResourcesTier;
- _Out_ D3D12_RESOURCE_BINDING_TIER ResourceBindingTier;
- _Out_ BOOL PSSpecifiedStencilRefSupported;
- _Out_ BOOL TypedUAVLoadAdditionalFormats;
- _Out_ BOOL ROVsSupported;
- _Out_ D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
- _Out_ UINT MaxGPUVirtualAddressBitsPerResource;
- _Out_ BOOL StandardSwizzle64KBSupported;
- _Out_ D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier;
- _Out_ BOOL CrossAdapterRowMajorTextureSupported;
- _Out_ BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
- _Out_ D3D12_RESOURCE_HEAP_TIER ResourceHeapTier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS1
- {
- _Out_ BOOL WaveOps;
- _Out_ UINT WaveLaneCountMin;
- _Out_ UINT WaveLaneCountMax;
- _Out_ UINT TotalLaneCount;
- _Out_ BOOL ExpandedComputeResourceStates;
- _Out_ BOOL Int64ShaderOps;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS1;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS2
- {
- _Out_ BOOL DepthBoundsTestSupported;
- _Out_ D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS2;
-
-typedef
-enum D3D_ROOT_SIGNATURE_VERSION
- {
- D3D_ROOT_SIGNATURE_VERSION_1 = 0x1,
- D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1,
- D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2,
- D3D_ROOT_SIGNATURE_VERSION_1_2 = 0x3
- } D3D_ROOT_SIGNATURE_VERSION;
-
-typedef struct D3D12_FEATURE_DATA_ROOT_SIGNATURE
- {
- _Inout_ D3D_ROOT_SIGNATURE_VERSION HighestVersion;
- } D3D12_FEATURE_DATA_ROOT_SIGNATURE;
-
-typedef struct D3D12_FEATURE_DATA_ARCHITECTURE
- {
- _In_ UINT NodeIndex;
- _Out_ BOOL TileBasedRenderer;
- _Out_ BOOL UMA;
- _Out_ BOOL CacheCoherentUMA;
- } D3D12_FEATURE_DATA_ARCHITECTURE;
-
-typedef struct D3D12_FEATURE_DATA_ARCHITECTURE1
- {
- _In_ UINT NodeIndex;
- _Out_ BOOL TileBasedRenderer;
- _Out_ BOOL UMA;
- _Out_ BOOL CacheCoherentUMA;
- _Out_ BOOL IsolatedMMU;
- } D3D12_FEATURE_DATA_ARCHITECTURE1;
-
-typedef struct D3D12_FEATURE_DATA_FEATURE_LEVELS
- {
- _In_ UINT NumFeatureLevels;
- _In_reads_(NumFeatureLevels) const D3D_FEATURE_LEVEL *pFeatureLevelsRequested;
- _Out_ D3D_FEATURE_LEVEL MaxSupportedFeatureLevel;
- } D3D12_FEATURE_DATA_FEATURE_LEVELS;
-
-typedef
-enum D3D_SHADER_MODEL
- {
- D3D_SHADER_MODEL_NONE = 0,
- D3D_SHADER_MODEL_5_1 = 0x51,
- D3D_SHADER_MODEL_6_0 = 0x60,
- D3D_SHADER_MODEL_6_1 = 0x61,
- D3D_SHADER_MODEL_6_2 = 0x62,
- D3D_SHADER_MODEL_6_3 = 0x63,
- D3D_SHADER_MODEL_6_4 = 0x64,
- D3D_SHADER_MODEL_6_5 = 0x65,
- D3D_SHADER_MODEL_6_6 = 0x66,
- D3D_SHADER_MODEL_6_7 = 0x67,
- D3D_SHADER_MODEL_6_8 = 0x68,
- D3D_SHADER_MODEL_6_9 = 0x69,
- D3D_HIGHEST_SHADER_MODEL = D3D_SHADER_MODEL_6_9
- } D3D_SHADER_MODEL;
-
-typedef struct D3D12_FEATURE_DATA_SHADER_MODEL
- {
- _Inout_ D3D_SHADER_MODEL HighestShaderModel;
- } D3D12_FEATURE_DATA_SHADER_MODEL;
-
-typedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT
- {
- _In_ DXGI_FORMAT Format;
- _Out_ D3D12_FORMAT_SUPPORT1 Support1;
- _Out_ D3D12_FORMAT_SUPPORT2 Support2;
- } D3D12_FEATURE_DATA_FORMAT_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS
- {
- _In_ DXGI_FORMAT Format;
- _In_ UINT SampleCount;
- _In_ D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags;
- _Out_ UINT NumQualityLevels;
- } D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS;
-
-typedef struct D3D12_FEATURE_DATA_FORMAT_INFO
- {
- DXGI_FORMAT Format;
- UINT8 PlaneCount;
- } D3D12_FEATURE_DATA_FORMAT_INFO;
-
-typedef struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT
- {
- UINT MaxGPUVirtualAddressBitsPerResource;
- UINT MaxGPUVirtualAddressBitsPerProcess;
- } D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT;
-
-typedef
-enum D3D12_SHADER_CACHE_SUPPORT_FLAGS
- {
- D3D12_SHADER_CACHE_SUPPORT_NONE = 0,
- D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 0x1,
- D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 0x2,
- D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4,
- D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8,
- D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE = 0x10,
- D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR = 0x20,
- D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE = 0x40
- } D3D12_SHADER_CACHE_SUPPORT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_SUPPORT_FLAGS )
-typedef struct D3D12_FEATURE_DATA_SHADER_CACHE
- {
- _Out_ D3D12_SHADER_CACHE_SUPPORT_FLAGS SupportFlags;
- } D3D12_FEATURE_DATA_SHADER_CACHE;
-
-typedef struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY
- {
- _In_ D3D12_COMMAND_LIST_TYPE CommandListType;
- _In_ UINT Priority;
- _Out_ BOOL PriorityForTypeIsSupported;
- } D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY;
-
-typedef
-enum D3D12_COMMAND_LIST_SUPPORT_FLAGS
- {
- D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT = ( 1 << D3D12_COMMAND_LIST_TYPE_DIRECT ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE = ( 1 << D3D12_COMMAND_LIST_TYPE_BUNDLE ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE = ( 1 << D3D12_COMMAND_LIST_TYPE_COMPUTE ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = ( 1 << D3D12_COMMAND_LIST_TYPE_COPY ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE )
- } D3D12_COMMAND_LIST_SUPPORT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_SUPPORT_FLAGS )
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS3
- {
- _Out_ BOOL CopyQueueTimestampQueriesSupported;
- _Out_ BOOL CastingFullyTypedFormatSupported;
- _Out_ D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags;
- _Out_ D3D12_VIEW_INSTANCING_TIER ViewInstancingTier;
- _Out_ BOOL BarycentricsSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS3;
-
-typedef struct D3D12_FEATURE_DATA_EXISTING_HEAPS
- {
- _Out_ BOOL Supported;
- } D3D12_FEATURE_DATA_EXISTING_HEAPS;
-
-typedef
-enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER
- {
- D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 = 0,
- D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = ( D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 + 1 ) ,
- D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 = ( D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 + 1 )
- } D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER;
-
-typedef struct D3D12_FEATURE_DATA_DISPLAYABLE
- {
- _Out_ BOOL DisplayableTexture;
- _Out_ D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier;
- } D3D12_FEATURE_DATA_DISPLAYABLE;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS4
- {
- _Out_ BOOL MSAA64KBAlignedTextureSupported;
- _Out_ D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier;
- _Out_ BOOL Native16BitShaderOpsSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS4;
-
-typedef
-enum D3D12_HEAP_SERIALIZATION_TIER
- {
- D3D12_HEAP_SERIALIZATION_TIER_0 = 0,
- D3D12_HEAP_SERIALIZATION_TIER_10 = 10
- } D3D12_HEAP_SERIALIZATION_TIER;
-
-typedef struct D3D12_FEATURE_DATA_SERIALIZATION
- {
- _In_ UINT NodeIndex;
- _Out_ D3D12_HEAP_SERIALIZATION_TIER HeapSerializationTier;
- } D3D12_FEATURE_DATA_SERIALIZATION;
-
-typedef struct D3D12_FEATURE_DATA_CROSS_NODE
- {
- D3D12_CROSS_NODE_SHARING_TIER SharingTier;
- BOOL AtomicShaderInstructions;
- } D3D12_FEATURE_DATA_CROSS_NODE;
-
-typedef
-enum D3D12_RENDER_PASS_TIER
- {
- D3D12_RENDER_PASS_TIER_0 = 0,
- D3D12_RENDER_PASS_TIER_1 = 1,
- D3D12_RENDER_PASS_TIER_2 = 2
- } D3D12_RENDER_PASS_TIER;
-
-typedef
-enum D3D12_RAYTRACING_TIER
- {
- D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0,
- D3D12_RAYTRACING_TIER_1_0 = 10,
- D3D12_RAYTRACING_TIER_1_1 = 11
- } D3D12_RAYTRACING_TIER;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS5
- {
- _Out_ BOOL SRVOnlyTiledResourceTier3;
- _Out_ D3D12_RENDER_PASS_TIER RenderPassesTier;
- _Out_ D3D12_RAYTRACING_TIER RaytracingTier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS5;
-
-typedef
-enum D3D12_VARIABLE_SHADING_RATE_TIER
- {
- D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED = 0,
- D3D12_VARIABLE_SHADING_RATE_TIER_1 = 1,
- D3D12_VARIABLE_SHADING_RATE_TIER_2 = 2
- } D3D12_VARIABLE_SHADING_RATE_TIER;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS6
- {
- _Out_ BOOL AdditionalShadingRatesSupported;
- _Out_ BOOL PerPrimitiveShadingRateSupportedWithViewportIndexing;
- _Out_ D3D12_VARIABLE_SHADING_RATE_TIER VariableShadingRateTier;
- _Out_ UINT ShadingRateImageTileSize;
- _Out_ BOOL BackgroundProcessingSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS6;
-
-typedef
-enum D3D12_MESH_SHADER_TIER
- {
- D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = 0,
- D3D12_MESH_SHADER_TIER_1 = 10
- } D3D12_MESH_SHADER_TIER;
-
-typedef
-enum D3D12_SAMPLER_FEEDBACK_TIER
- {
- D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = 0,
- D3D12_SAMPLER_FEEDBACK_TIER_0_9 = 90,
- D3D12_SAMPLER_FEEDBACK_TIER_1_0 = 100
- } D3D12_SAMPLER_FEEDBACK_TIER;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS7
- {
- _Out_ D3D12_MESH_SHADER_TIER MeshShaderTier;
- _Out_ D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS7;
-
-typedef struct D3D12_FEATURE_DATA_QUERY_META_COMMAND
- {
- _In_ GUID CommandId;
- _In_ UINT NodeMask;
- _Field_size_bytes_full_opt_( QueryInputDataSizeInBytes ) const void *pQueryInputData;
- _In_ SIZE_T QueryInputDataSizeInBytes;
- _Field_size_bytes_full_( QueryOutputDataSizeInBytes ) void *pQueryOutputData;
- _In_ SIZE_T QueryOutputDataSizeInBytes;
- } D3D12_FEATURE_DATA_QUERY_META_COMMAND;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS8
- {
- _Out_ BOOL UnalignedBlockTexturesSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS8;
-
-typedef
-enum D3D12_WAVE_MMA_TIER
- {
- D3D12_WAVE_MMA_TIER_NOT_SUPPORTED = 0,
- D3D12_WAVE_MMA_TIER_1_0 = 10
- } D3D12_WAVE_MMA_TIER;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS9
- {
- _Out_ BOOL MeshShaderPipelineStatsSupported;
- _Out_ BOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex;
- _Out_ BOOL AtomicInt64OnTypedResourceSupported;
- _Out_ BOOL AtomicInt64OnGroupSharedSupported;
- _Out_ BOOL DerivativesInMeshAndAmplificationShadersSupported;
- _Out_ D3D12_WAVE_MMA_TIER WaveMMATier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS9;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS10
- {
- _Out_ BOOL VariableRateShadingSumCombinerSupported;
- _Out_ BOOL MeshShaderPerPrimitiveShadingRateSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS10;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS11
- {
- _Out_ BOOL AtomicInt64OnDescriptorHeapResourceSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS11;
-
-typedef
-enum D3D12_TRI_STATE
- {
- D3D12_TRI_STATE_UNKNOWN = -1,
- D3D12_TRI_STATE_FALSE = 0,
- D3D12_TRI_STATE_TRUE = 1
- } D3D12_TRI_STATE;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS12
- {
- _Out_ D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives;
- _Out_ BOOL EnhancedBarriersSupported;
- _Out_ BOOL RelaxedFormatCastingSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS12;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS13
- {
- _Out_ BOOL UnrestrictedBufferTextureCopyPitchSupported;
- _Out_ BOOL UnrestrictedVertexElementAlignmentSupported;
- _Out_ BOOL InvertedViewportHeightFlipsYSupported;
- _Out_ BOOL InvertedViewportDepthFlipsZSupported;
- _Out_ BOOL TextureCopyBetweenDimensionsSupported;
- _Out_ BOOL AlphaBlendFactorSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS13;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS14
- {
- _Out_ BOOL AdvancedTextureOpsSupported;
- _Out_ BOOL WriteableMSAATexturesSupported;
- _Out_ BOOL IndependentFrontAndBackStencilRefMaskSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS14;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS15
- {
- _Out_ BOOL TriangleFanSupported;
- _Out_ BOOL DynamicIndexBufferStripCutSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS15;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS16
- {
- _Out_ BOOL DynamicDepthBiasSupported;
- _Out_ BOOL GPUUploadHeapSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS16;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS17
- {
- _Out_ BOOL NonNormalizedCoordinateSamplersSupported;
- _Out_ BOOL ManualWriteTrackingResourceSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS17;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS18
- {
- _Out_ BOOL RenderPassesValid;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS18;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS19
- {
- BOOL MismatchingOutputDimensionsSupported;
- UINT SupportedSampleCountsWithNoOutputs;
- BOOL PointSamplingAddressesNeverRoundUp;
- BOOL RasterizerDesc2Supported;
- BOOL NarrowQuadrilateralLinesSupported;
- BOOL AnisoFilterWithPointMipSupported;
- UINT MaxSamplerDescriptorHeapSize;
- UINT MaxSamplerDescriptorHeapSizeWithStaticSamplers;
- UINT MaxViewDescriptorHeapSize;
- _Out_ BOOL ComputeOnlyCustomHeapSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS19;
-
-typedef
-enum D3D12_RECREATE_AT_TIER
- {
- D3D12_RECREATE_AT_TIER_NOT_SUPPORTED = 0,
- D3D12_RECREATE_AT_TIER_1 = 1
- } D3D12_RECREATE_AT_TIER;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS20
- {
- _Out_ BOOL ComputeOnlyWriteWatchSupported;
- D3D12_RECREATE_AT_TIER RecreateAtTier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS20;
-
-typedef
-enum D3D12_EXECUTE_INDIRECT_TIER
- {
- D3D12_EXECUTE_INDIRECT_TIER_1_0 = 10,
- D3D12_EXECUTE_INDIRECT_TIER_1_1 = 11
- } D3D12_EXECUTE_INDIRECT_TIER;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS21
- {
- _Out_ D3D12_WORK_GRAPHS_TIER WorkGraphsTier;
- _Out_ D3D12_EXECUTE_INDIRECT_TIER ExecuteIndirectTier;
- _Out_ BOOL SampleCmpGradientAndBiasSupported;
- _Out_ BOOL ExtendedCommandInfoSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS21;
-
-typedef struct D3D12_FEATURE_DATA_PREDICATION
- {
- _Out_ BOOL Supported;
- } D3D12_FEATURE_DATA_PREDICATION;
-
-typedef struct D3D12_FEATURE_DATA_HARDWARE_COPY
- {
- _Out_ BOOL Supported;
- } D3D12_FEATURE_DATA_HARDWARE_COPY;
-
-typedef struct D3D12_RESOURCE_ALLOCATION_INFO
- {
- UINT64 SizeInBytes;
- UINT64 Alignment;
- } D3D12_RESOURCE_ALLOCATION_INFO;
-
-typedef struct D3D12_RESOURCE_ALLOCATION_INFO1
- {
- UINT64 Offset;
- UINT64 Alignment;
- UINT64 SizeInBytes;
- } D3D12_RESOURCE_ALLOCATION_INFO1;
-
-typedef
-enum D3D12_HEAP_TYPE
- {
- D3D12_HEAP_TYPE_DEFAULT = 1,
- D3D12_HEAP_TYPE_UPLOAD = 2,
- D3D12_HEAP_TYPE_READBACK = 3,
- D3D12_HEAP_TYPE_CUSTOM = 4,
- D3D12_HEAP_TYPE_GPU_UPLOAD = 5
- } D3D12_HEAP_TYPE;
-
-typedef
-enum D3D12_CPU_PAGE_PROPERTY
- {
- D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0,
- D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1,
- D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2,
- D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3
- } D3D12_CPU_PAGE_PROPERTY;
-
-typedef
-enum D3D12_MEMORY_POOL
- {
- D3D12_MEMORY_POOL_UNKNOWN = 0,
- D3D12_MEMORY_POOL_L0 = 1,
- D3D12_MEMORY_POOL_L1 = 2
- } D3D12_MEMORY_POOL;
-
-typedef struct D3D12_HEAP_PROPERTIES
- {
- D3D12_HEAP_TYPE Type;
- D3D12_CPU_PAGE_PROPERTY CPUPageProperty;
- D3D12_MEMORY_POOL MemoryPoolPreference;
- UINT CreationNodeMask;
- UINT VisibleNodeMask;
- } D3D12_HEAP_PROPERTIES;
-
-typedef
-enum D3D12_HEAP_FLAGS
- {
- D3D12_HEAP_FLAG_NONE = 0,
- D3D12_HEAP_FLAG_SHARED = 0x1,
- D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4,
- D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8,
- D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20,
- D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40,
- D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80,
- D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100,
- D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200,
- D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 0x400,
- D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 0x800,
- D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 0x1000,
- D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 0x2000,
- D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0,
- D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0,
- D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44,
- D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84
- } D3D12_HEAP_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_HEAP_FLAGS )
-typedef struct D3D12_HEAP_DESC
- {
- UINT64 SizeInBytes;
- D3D12_HEAP_PROPERTIES Properties;
- UINT64 Alignment;
- D3D12_HEAP_FLAGS Flags;
- } D3D12_HEAP_DESC;
-
-typedef
-enum D3D12_RESOURCE_DIMENSION
- {
- D3D12_RESOURCE_DIMENSION_UNKNOWN = 0,
- D3D12_RESOURCE_DIMENSION_BUFFER = 1,
- D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2,
- D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3,
- D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4
- } D3D12_RESOURCE_DIMENSION;
-
-typedef struct D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO
- {
- _In_ DXGI_FORMAT Format;
- _In_ D3D12_RESOURCE_DIMENSION Dimension;
- _In_ D3D12_HEAP_PROPERTIES DestHeapProperties;
- _Out_ BOOL Supported;
- } D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO;
-
-typedef
-enum D3D12_TEXTURE_LAYOUT
- {
- D3D12_TEXTURE_LAYOUT_UNKNOWN = 0,
- D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1,
- D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2,
- D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3
- } D3D12_TEXTURE_LAYOUT;
-
-typedef
-enum D3D12_RESOURCE_FLAGS
- {
- D3D12_RESOURCE_FLAG_NONE = 0,
- D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
- D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
- D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
- D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
- D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
- D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20,
- D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40,
- D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80,
- D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100
- } D3D12_RESOURCE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_FLAGS )
-typedef struct D3D12_MIP_REGION
- {
- UINT Width;
- UINT Height;
- UINT Depth;
- } D3D12_MIP_REGION;
-
-typedef struct D3D12_RESOURCE_DESC
- {
- D3D12_RESOURCE_DIMENSION Dimension;
- UINT64 Alignment;
- UINT64 Width;
- UINT Height;
- UINT16 DepthOrArraySize;
- UINT16 MipLevels;
- DXGI_FORMAT Format;
- DXGI_SAMPLE_DESC SampleDesc;
- D3D12_TEXTURE_LAYOUT Layout;
- D3D12_RESOURCE_FLAGS Flags;
- } D3D12_RESOURCE_DESC;
-
-typedef struct D3D12_RESOURCE_DESC1
- {
- D3D12_RESOURCE_DIMENSION Dimension;
- UINT64 Alignment;
- UINT64 Width;
- UINT Height;
- UINT16 DepthOrArraySize;
- UINT16 MipLevels;
- DXGI_FORMAT Format;
- DXGI_SAMPLE_DESC SampleDesc;
- D3D12_TEXTURE_LAYOUT Layout;
- D3D12_RESOURCE_FLAGS Flags;
- D3D12_MIP_REGION SamplerFeedbackMipRegion;
- } D3D12_RESOURCE_DESC1;
-
-typedef struct D3D12_DEPTH_STENCIL_VALUE
- {
- FLOAT Depth;
- UINT8 Stencil;
- } D3D12_DEPTH_STENCIL_VALUE;
-
-typedef struct D3D12_CLEAR_VALUE
- {
- DXGI_FORMAT Format;
- union
- {
- FLOAT Color[ 4 ];
- D3D12_DEPTH_STENCIL_VALUE DepthStencil;
- } ;
- } D3D12_CLEAR_VALUE;
-
-typedef struct D3D12_RANGE
- {
- SIZE_T Begin;
- SIZE_T End;
- } D3D12_RANGE;
-
-typedef struct D3D12_RANGE_UINT64
- {
- UINT64 Begin;
- UINT64 End;
- } D3D12_RANGE_UINT64;
-
-typedef struct D3D12_SUBRESOURCE_RANGE_UINT64
- {
- UINT Subresource;
- D3D12_RANGE_UINT64 Range;
- } D3D12_SUBRESOURCE_RANGE_UINT64;
-
-typedef struct D3D12_SUBRESOURCE_INFO
- {
- UINT64 Offset;
- UINT RowPitch;
- UINT DepthPitch;
- } D3D12_SUBRESOURCE_INFO;
-
-typedef struct D3D12_TILED_RESOURCE_COORDINATE
- {
- UINT X;
- UINT Y;
- UINT Z;
- UINT Subresource;
- } D3D12_TILED_RESOURCE_COORDINATE;
-
-typedef struct D3D12_TILE_REGION_SIZE
- {
- UINT NumTiles;
- BOOL UseBox;
- UINT Width;
- UINT16 Height;
- UINT16 Depth;
- } D3D12_TILE_REGION_SIZE;
-
-typedef
-enum D3D12_TILE_RANGE_FLAGS
- {
- D3D12_TILE_RANGE_FLAG_NONE = 0,
- D3D12_TILE_RANGE_FLAG_NULL = 1,
- D3D12_TILE_RANGE_FLAG_SKIP = 2,
- D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 4
- } D3D12_TILE_RANGE_FLAGS;
-
-typedef struct D3D12_SUBRESOURCE_TILING
- {
- UINT WidthInTiles;
- UINT16 HeightInTiles;
- UINT16 DepthInTiles;
- UINT StartTileIndexInOverallResource;
- } D3D12_SUBRESOURCE_TILING;
-
-typedef struct D3D12_TILE_SHAPE
- {
- UINT WidthInTexels;
- UINT HeightInTexels;
- UINT DepthInTexels;
- } D3D12_TILE_SHAPE;
-
-typedef struct D3D12_PACKED_MIP_INFO
- {
- UINT8 NumStandardMips;
- UINT8 NumPackedMips;
- UINT NumTilesForPackedMips;
- UINT StartTileIndexInOverallResource;
- } D3D12_PACKED_MIP_INFO;
-
-typedef
-enum D3D12_TILE_MAPPING_FLAGS
- {
- D3D12_TILE_MAPPING_FLAG_NONE = 0,
- D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1
- } D3D12_TILE_MAPPING_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_MAPPING_FLAGS )
-typedef
-enum D3D12_TILE_COPY_FLAGS
- {
- D3D12_TILE_COPY_FLAG_NONE = 0,
- D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1,
- D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2,
- D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4
- } D3D12_TILE_COPY_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_COPY_FLAGS )
-typedef
-enum D3D12_RESOURCE_STATES
- {
- D3D12_RESOURCE_STATE_COMMON = 0,
- D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1,
- D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2,
- D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4,
- D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8,
- D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10,
- D3D12_RESOURCE_STATE_DEPTH_READ = 0x20,
- D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x40,
- D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x80,
- D3D12_RESOURCE_STATE_STREAM_OUT = 0x100,
- D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x200,
- D3D12_RESOURCE_STATE_COPY_DEST = 0x400,
- D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800,
- D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000,
- D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000,
- D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 0x400000,
- D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 0x1000000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 0x8000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 0x4000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 0x100000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 0x40000000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = 0x80000000,
- D3D12_RESOURCE_STATE_GENERIC_READ = ( ( ( ( ( 0x1 | 0x2 ) | 0x40 ) | 0x80 ) | 0x200 ) | 0x800 ) ,
- D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = ( 0x40 | 0x80 ) ,
- D3D12_RESOURCE_STATE_PRESENT = 0,
- D3D12_RESOURCE_STATE_PREDICATION = 0x200,
- D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 0x10000,
- D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 0x20000,
- D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 0x40000,
- D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 0x80000,
- D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 0x200000,
- D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 0x800000
- } D3D12_RESOURCE_STATES;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_STATES )
-typedef
-enum D3D12_RESOURCE_BARRIER_TYPE
- {
- D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0,
- D3D12_RESOURCE_BARRIER_TYPE_ALIASING = ( D3D12_RESOURCE_BARRIER_TYPE_TRANSITION + 1 ) ,
- D3D12_RESOURCE_BARRIER_TYPE_UAV = ( D3D12_RESOURCE_BARRIER_TYPE_ALIASING + 1 )
- } D3D12_RESOURCE_BARRIER_TYPE;
-
-
-typedef struct D3D12_RESOURCE_TRANSITION_BARRIER
- {
- ID3D12Resource *pResource;
- UINT Subresource;
- D3D12_RESOURCE_STATES StateBefore;
- D3D12_RESOURCE_STATES StateAfter;
- } D3D12_RESOURCE_TRANSITION_BARRIER;
-
-typedef struct D3D12_RESOURCE_ALIASING_BARRIER
- {
- ID3D12Resource *pResourceBefore;
- ID3D12Resource *pResourceAfter;
- } D3D12_RESOURCE_ALIASING_BARRIER;
-
-typedef struct D3D12_RESOURCE_UAV_BARRIER
- {
- ID3D12Resource *pResource;
- } D3D12_RESOURCE_UAV_BARRIER;
-
-typedef
-enum D3D12_RESOURCE_BARRIER_FLAGS
- {
- D3D12_RESOURCE_BARRIER_FLAG_NONE = 0,
- D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1,
- D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2
- } D3D12_RESOURCE_BARRIER_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_BARRIER_FLAGS )
-typedef struct D3D12_RESOURCE_BARRIER
- {
- D3D12_RESOURCE_BARRIER_TYPE Type;
- D3D12_RESOURCE_BARRIER_FLAGS Flags;
- union
- {
- D3D12_RESOURCE_TRANSITION_BARRIER Transition;
- D3D12_RESOURCE_ALIASING_BARRIER Aliasing;
- D3D12_RESOURCE_UAV_BARRIER UAV;
- } ;
- } D3D12_RESOURCE_BARRIER;
-
-typedef struct D3D12_SUBRESOURCE_FOOTPRINT
- {
- DXGI_FORMAT Format;
- UINT Width;
- UINT Height;
- UINT Depth;
- UINT RowPitch;
- } D3D12_SUBRESOURCE_FOOTPRINT;
-
-typedef struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT
- {
- UINT64 Offset;
- D3D12_SUBRESOURCE_FOOTPRINT Footprint;
- } D3D12_PLACED_SUBRESOURCE_FOOTPRINT;
-
-typedef
-enum D3D12_TEXTURE_COPY_TYPE
- {
- D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0,
- D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1
- } D3D12_TEXTURE_COPY_TYPE;
-
-typedef struct D3D12_TEXTURE_COPY_LOCATION
- {
- ID3D12Resource *pResource;
- D3D12_TEXTURE_COPY_TYPE Type;
- union
- {
- D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint;
- UINT SubresourceIndex;
- } ;
- } D3D12_TEXTURE_COPY_LOCATION;
-
-typedef
-enum D3D12_RESOLVE_MODE
- {
- D3D12_RESOLVE_MODE_DECOMPRESS = 0,
- D3D12_RESOLVE_MODE_MIN = 1,
- D3D12_RESOLVE_MODE_MAX = 2,
- D3D12_RESOLVE_MODE_AVERAGE = 3,
- D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = 4,
- D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = 5
- } D3D12_RESOLVE_MODE;
-
-typedef struct D3D12_SAMPLE_POSITION
- {
- INT8 X;
- INT8 Y;
- } D3D12_SAMPLE_POSITION;
-
-typedef struct D3D12_VIEW_INSTANCE_LOCATION
- {
- UINT ViewportArrayIndex;
- UINT RenderTargetArrayIndex;
- } D3D12_VIEW_INSTANCE_LOCATION;
-
-typedef
-enum D3D12_VIEW_INSTANCING_FLAGS
- {
- D3D12_VIEW_INSTANCING_FLAG_NONE = 0,
- D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = 0x1
- } D3D12_VIEW_INSTANCING_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIEW_INSTANCING_FLAGS )
-typedef struct D3D12_VIEW_INSTANCING_DESC
- {
- UINT ViewInstanceCount;
- _Field_size_full_(ViewInstanceCount) const D3D12_VIEW_INSTANCE_LOCATION *pViewInstanceLocations;
- D3D12_VIEW_INSTANCING_FLAGS Flags;
- } D3D12_VIEW_INSTANCING_DESC;
-
-typedef
-enum D3D12_SHADER_COMPONENT_MAPPING
- {
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0,
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1,
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2,
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3,
- D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4,
- D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5
- } D3D12_SHADER_COMPONENT_MAPPING;
-
-#define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7
-#define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3
-#define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4))
-#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \
- (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT*ComponentToExtract) & D3D12_SHADER_COMPONENT_MAPPING_MASK))
-#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3)
-typedef
-enum D3D12_BUFFER_SRV_FLAGS
- {
- D3D12_BUFFER_SRV_FLAG_NONE = 0,
- D3D12_BUFFER_SRV_FLAG_RAW = 0x1
- } D3D12_BUFFER_SRV_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_SRV_FLAGS )
-typedef struct D3D12_BUFFER_SRV
- {
- UINT64 FirstElement;
- UINT NumElements;
- UINT StructureByteStride;
- D3D12_BUFFER_SRV_FLAGS Flags;
- } D3D12_BUFFER_SRV;
-
-typedef struct D3D12_TEX1D_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX1D_SRV;
-
-typedef struct D3D12_TEX1D_ARRAY_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX1D_ARRAY_SRV;
-
-typedef struct D3D12_TEX2D_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT PlaneSlice;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX2D_SRV;
-
-typedef struct D3D12_TEX2D_ARRAY_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX2D_ARRAY_SRV;
-
-typedef struct D3D12_TEX3D_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX3D_SRV;
-
-typedef struct D3D12_TEXCUBE_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEXCUBE_SRV;
-
-typedef struct D3D12_TEXCUBE_ARRAY_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT First2DArrayFace;
- UINT NumCubes;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEXCUBE_ARRAY_SRV;
-
-typedef struct D3D12_TEX2DMS_SRV
- {
- UINT UnusedField_NothingToDefine;
- } D3D12_TEX2DMS_SRV;
-
-typedef struct D3D12_TEX2DMS_ARRAY_SRV
- {
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2DMS_ARRAY_SRV;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV
- {
- D3D12_GPU_VIRTUAL_ADDRESS Location;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV;
-
-typedef
-enum D3D12_SRV_DIMENSION
- {
- D3D12_SRV_DIMENSION_UNKNOWN = 0,
- D3D12_SRV_DIMENSION_BUFFER = 1,
- D3D12_SRV_DIMENSION_TEXTURE1D = 2,
- D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_SRV_DIMENSION_TEXTURE2D = 4,
- D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_SRV_DIMENSION_TEXTURE2DMS = 6,
- D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D12_SRV_DIMENSION_TEXTURE3D = 8,
- D3D12_SRV_DIMENSION_TEXTURECUBE = 9,
- D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10,
- D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE = 11
- } D3D12_SRV_DIMENSION;
-
-typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_SRV_DIMENSION ViewDimension;
- UINT Shader4ComponentMapping;
- union
- {
- D3D12_BUFFER_SRV Buffer;
- D3D12_TEX1D_SRV Texture1D;
- D3D12_TEX1D_ARRAY_SRV Texture1DArray;
- D3D12_TEX2D_SRV Texture2D;
- D3D12_TEX2D_ARRAY_SRV Texture2DArray;
- D3D12_TEX2DMS_SRV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray;
- D3D12_TEX3D_SRV Texture3D;
- D3D12_TEXCUBE_SRV TextureCube;
- D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure;
- } ;
- } D3D12_SHADER_RESOURCE_VIEW_DESC;
-
-typedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
- } D3D12_CONSTANT_BUFFER_VIEW_DESC;
-
-typedef
-enum D3D12_FILTER
- {
- D3D12_FILTER_MIN_MAG_MIP_POINT = 0,
- D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
- D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
- D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
- D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
- D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
- D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
- D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
- D3D12_FILTER_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x54,
- D3D12_FILTER_ANISOTROPIC = 0x55,
- D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
- D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
- D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
- D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
- D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
- D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
- D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
- D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
- D3D12_FILTER_COMPARISON_MIN_MAG_ANISOTROPIC_MIP_POINT = 0xd4,
- D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
- D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
- D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
- D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
- D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
- D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
- D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
- D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
- D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
- D3D12_FILTER_MINIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x154,
- D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155,
- D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
- D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
- D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
- D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
- D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
- D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
- D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
- D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
- D3D12_FILTER_MAXIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x1d4,
- D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
- } D3D12_FILTER;
-
-typedef
-enum D3D12_FILTER_TYPE
- {
- D3D12_FILTER_TYPE_POINT = 0,
- D3D12_FILTER_TYPE_LINEAR = 1
- } D3D12_FILTER_TYPE;
-
-typedef
-enum D3D12_FILTER_REDUCTION_TYPE
- {
- D3D12_FILTER_REDUCTION_TYPE_STANDARD = 0,
- D3D12_FILTER_REDUCTION_TYPE_COMPARISON = 1,
- D3D12_FILTER_REDUCTION_TYPE_MINIMUM = 2,
- D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = 3
- } D3D12_FILTER_REDUCTION_TYPE;
-
-#define D3D12_FILTER_REDUCTION_TYPE_MASK ( 0x3 )
-
-#define D3D12_FILTER_REDUCTION_TYPE_SHIFT ( 7 )
-
-#define D3D12_FILTER_TYPE_MASK ( 0x3 )
-
-#define D3D12_MIN_FILTER_SHIFT ( 4 )
-
-#define D3D12_MAG_FILTER_SHIFT ( 2 )
-
-#define D3D12_MIP_FILTER_SHIFT ( 0 )
-
-#define D3D12_ANISOTROPIC_FILTERING_BIT ( 0x40 )
-
-#define D3D12_ENCODE_BASIC_FILTER( min, mag, mip, reduction ) \
- ( ( D3D12_FILTER ) ( \
- ( ( ( min ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIN_FILTER_SHIFT ) | \
- ( ( ( mag ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MAG_FILTER_SHIFT ) | \
- ( ( ( mip ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIP_FILTER_SHIFT ) | \
- ( ( ( reduction ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) << D3D12_FILTER_REDUCTION_TYPE_SHIFT ) ) )
-#define D3D12_ENCODE_ANISOTROPIC_FILTER( reduction ) \
- ( ( D3D12_FILTER ) ( \
- D3D12_ANISOTROPIC_FILTERING_BIT | \
- D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \
- D3D12_FILTER_TYPE_LINEAR, \
- D3D12_FILTER_TYPE_LINEAR, \
- reduction ) ) )
-#define D3D12_ENCODE_MIN_MAG_ANISOTROPIC_MIP_POINT_FILTER( reduction ) \
- ( ( D3D12_FILTER ) ( \
- D3D12_ANISOTROPIC_FILTERING_BIT | \
- D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \
- D3D12_FILTER_TYPE_LINEAR, \
- D3D12_FILTER_TYPE_POINT, \
- reduction ) ) )
-#define D3D12_DECODE_MIN_FILTER( D3D12Filter ) \
- ( ( D3D12_FILTER_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_MIN_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
-#define D3D12_DECODE_MAG_FILTER( D3D12Filter ) \
- ( ( D3D12_FILTER_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_MAG_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
-#define D3D12_DECODE_MIP_FILTER( D3D12Filter ) \
- ( ( D3D12_FILTER_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_MIP_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
-#define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) \
- ( ( D3D12_FILTER_REDUCTION_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) )
-#define D3D12_DECODE_IS_COMPARISON_FILTER( D3D12Filter ) \
- ( D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON )
-#define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter ) \
- ( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) && \
- ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) && \
- ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) )
-typedef
-enum D3D12_TEXTURE_ADDRESS_MODE
- {
- D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1,
- D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2,
- D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3,
- D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4,
- D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5
- } D3D12_TEXTURE_ADDRESS_MODE;
-
-typedef struct D3D12_SAMPLER_DESC
- {
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- FLOAT BorderColor[ 4 ];
- FLOAT MinLOD;
- FLOAT MaxLOD;
- } D3D12_SAMPLER_DESC;
-
-typedef
-enum D3D12_SAMPLER_FLAGS
- {
- D3D12_SAMPLER_FLAG_NONE = 0,
- D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR = 0x1,
- D3D12_SAMPLER_FLAG_NON_NORMALIZED_COORDINATES = 0x2
- } D3D12_SAMPLER_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_SAMPLER_FLAGS )
-typedef struct D3D12_SAMPLER_DESC2
- {
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- union
- {
- FLOAT FloatBorderColor[ 4 ];
- UINT UintBorderColor[ 4 ];
- } ;
- FLOAT MinLOD;
- FLOAT MaxLOD;
- D3D12_SAMPLER_FLAGS Flags;
- } D3D12_SAMPLER_DESC2;
-
-typedef
-enum D3D12_BUFFER_UAV_FLAGS
- {
- D3D12_BUFFER_UAV_FLAG_NONE = 0,
- D3D12_BUFFER_UAV_FLAG_RAW = 0x1
- } D3D12_BUFFER_UAV_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_UAV_FLAGS )
-typedef struct D3D12_BUFFER_UAV
- {
- UINT64 FirstElement;
- UINT NumElements;
- UINT StructureByteStride;
- UINT64 CounterOffsetInBytes;
- D3D12_BUFFER_UAV_FLAGS Flags;
- } D3D12_BUFFER_UAV;
-
-typedef struct D3D12_TEX1D_UAV
- {
- UINT MipSlice;
- } D3D12_TEX1D_UAV;
-
-typedef struct D3D12_TEX1D_ARRAY_UAV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX1D_ARRAY_UAV;
-
-typedef struct D3D12_TEX2D_UAV
- {
- UINT MipSlice;
- UINT PlaneSlice;
- } D3D12_TEX2D_UAV;
-
-typedef struct D3D12_TEX2D_ARRAY_UAV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
- } D3D12_TEX2D_ARRAY_UAV;
-
-typedef struct D3D12_TEX2DMS_UAV
- {
- UINT UnusedField_NothingToDefine;
- } D3D12_TEX2DMS_UAV;
-
-typedef struct D3D12_TEX2DMS_ARRAY_UAV
- {
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2DMS_ARRAY_UAV;
-
-typedef struct D3D12_TEX3D_UAV
- {
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
- } D3D12_TEX3D_UAV;
-
-typedef
-enum D3D12_UAV_DIMENSION
- {
- D3D12_UAV_DIMENSION_UNKNOWN = 0,
- D3D12_UAV_DIMENSION_BUFFER = 1,
- D3D12_UAV_DIMENSION_TEXTURE1D = 2,
- D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_UAV_DIMENSION_TEXTURE2D = 4,
- D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_UAV_DIMENSION_TEXTURE2DMS = 6,
- D3D12_UAV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D12_UAV_DIMENSION_TEXTURE3D = 8
- } D3D12_UAV_DIMENSION;
-
-typedef struct D3D12_UNORDERED_ACCESS_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_UAV_DIMENSION ViewDimension;
- union
- {
- D3D12_BUFFER_UAV Buffer;
- D3D12_TEX1D_UAV Texture1D;
- D3D12_TEX1D_ARRAY_UAV Texture1DArray;
- D3D12_TEX2D_UAV Texture2D;
- D3D12_TEX2D_ARRAY_UAV Texture2DArray;
- D3D12_TEX2DMS_UAV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_UAV Texture2DMSArray;
- D3D12_TEX3D_UAV Texture3D;
- } ;
- } D3D12_UNORDERED_ACCESS_VIEW_DESC;
-
-typedef struct D3D12_BUFFER_RTV
- {
- UINT64 FirstElement;
- UINT NumElements;
- } D3D12_BUFFER_RTV;
-
-typedef struct D3D12_TEX1D_RTV
- {
- UINT MipSlice;
- } D3D12_TEX1D_RTV;
-
-typedef struct D3D12_TEX1D_ARRAY_RTV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX1D_ARRAY_RTV;
-
-typedef struct D3D12_TEX2D_RTV
- {
- UINT MipSlice;
- UINT PlaneSlice;
- } D3D12_TEX2D_RTV;
-
-typedef struct D3D12_TEX2DMS_RTV
- {
- UINT UnusedField_NothingToDefine;
- } D3D12_TEX2DMS_RTV;
-
-typedef struct D3D12_TEX2D_ARRAY_RTV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
- } D3D12_TEX2D_ARRAY_RTV;
-
-typedef struct D3D12_TEX2DMS_ARRAY_RTV
- {
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2DMS_ARRAY_RTV;
-
-typedef struct D3D12_TEX3D_RTV
- {
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
- } D3D12_TEX3D_RTV;
-
-typedef
-enum D3D12_RTV_DIMENSION
- {
- D3D12_RTV_DIMENSION_UNKNOWN = 0,
- D3D12_RTV_DIMENSION_BUFFER = 1,
- D3D12_RTV_DIMENSION_TEXTURE1D = 2,
- D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_RTV_DIMENSION_TEXTURE2D = 4,
- D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_RTV_DIMENSION_TEXTURE2DMS = 6,
- D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D12_RTV_DIMENSION_TEXTURE3D = 8
- } D3D12_RTV_DIMENSION;
-
-typedef struct D3D12_RENDER_TARGET_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_RTV_DIMENSION ViewDimension;
- union
- {
- D3D12_BUFFER_RTV Buffer;
- D3D12_TEX1D_RTV Texture1D;
- D3D12_TEX1D_ARRAY_RTV Texture1DArray;
- D3D12_TEX2D_RTV Texture2D;
- D3D12_TEX2D_ARRAY_RTV Texture2DArray;
- D3D12_TEX2DMS_RTV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray;
- D3D12_TEX3D_RTV Texture3D;
- } ;
- } D3D12_RENDER_TARGET_VIEW_DESC;
-
-typedef struct D3D12_TEX1D_DSV
- {
- UINT MipSlice;
- } D3D12_TEX1D_DSV;
-
-typedef struct D3D12_TEX1D_ARRAY_DSV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX1D_ARRAY_DSV;
-
-typedef struct D3D12_TEX2D_DSV
- {
- UINT MipSlice;
- } D3D12_TEX2D_DSV;
-
-typedef struct D3D12_TEX2D_ARRAY_DSV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2D_ARRAY_DSV;
-
-typedef struct D3D12_TEX2DMS_DSV
- {
- UINT UnusedField_NothingToDefine;
- } D3D12_TEX2DMS_DSV;
-
-typedef struct D3D12_TEX2DMS_ARRAY_DSV
- {
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2DMS_ARRAY_DSV;
-
-typedef
-enum D3D12_DSV_FLAGS
- {
- D3D12_DSV_FLAG_NONE = 0,
- D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1,
- D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2
- } D3D12_DSV_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_DSV_FLAGS )
-typedef
-enum D3D12_DSV_DIMENSION
- {
- D3D12_DSV_DIMENSION_UNKNOWN = 0,
- D3D12_DSV_DIMENSION_TEXTURE1D = 1,
- D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2,
- D3D12_DSV_DIMENSION_TEXTURE2D = 3,
- D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4,
- D3D12_DSV_DIMENSION_TEXTURE2DMS = 5,
- D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
- } D3D12_DSV_DIMENSION;
-
-typedef struct D3D12_DEPTH_STENCIL_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_DSV_DIMENSION ViewDimension;
- D3D12_DSV_FLAGS Flags;
- union
- {
- D3D12_TEX1D_DSV Texture1D;
- D3D12_TEX1D_ARRAY_DSV Texture1DArray;
- D3D12_TEX2D_DSV Texture2D;
- D3D12_TEX2D_ARRAY_DSV Texture2DArray;
- D3D12_TEX2DMS_DSV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray;
- } ;
- } D3D12_DEPTH_STENCIL_VIEW_DESC;
-
-typedef
-enum D3D12_CLEAR_FLAGS
- {
- D3D12_CLEAR_FLAG_DEPTH = 0x1,
- D3D12_CLEAR_FLAG_STENCIL = 0x2
- } D3D12_CLEAR_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_CLEAR_FLAGS )
-typedef
-enum D3D12_FENCE_FLAGS
- {
- D3D12_FENCE_FLAG_NONE = 0,
- D3D12_FENCE_FLAG_SHARED = 0x1,
- D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2,
- D3D12_FENCE_FLAG_NON_MONITORED = 0x4
- } D3D12_FENCE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_FENCE_FLAGS )
-typedef
-enum D3D12_DESCRIPTOR_HEAP_TYPE
- {
- D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0,
- D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = ( D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV + 1 ) ,
- D3D12_DESCRIPTOR_HEAP_TYPE_RTV = ( D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER + 1 ) ,
- D3D12_DESCRIPTOR_HEAP_TYPE_DSV = ( D3D12_DESCRIPTOR_HEAP_TYPE_RTV + 1 ) ,
- D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = ( D3D12_DESCRIPTOR_HEAP_TYPE_DSV + 1 )
- } D3D12_DESCRIPTOR_HEAP_TYPE;
-
-typedef
-enum D3D12_DESCRIPTOR_HEAP_FLAGS
- {
- D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0,
- D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1
- } D3D12_DESCRIPTOR_HEAP_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_HEAP_FLAGS )
-typedef struct D3D12_DESCRIPTOR_HEAP_DESC
- {
- D3D12_DESCRIPTOR_HEAP_TYPE Type;
- UINT NumDescriptors;
- D3D12_DESCRIPTOR_HEAP_FLAGS Flags;
- UINT NodeMask;
- } D3D12_DESCRIPTOR_HEAP_DESC;
-
-typedef
-enum D3D12_DESCRIPTOR_RANGE_TYPE
- {
- D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0,
- D3D12_DESCRIPTOR_RANGE_TYPE_UAV = ( D3D12_DESCRIPTOR_RANGE_TYPE_SRV + 1 ) ,
- D3D12_DESCRIPTOR_RANGE_TYPE_CBV = ( D3D12_DESCRIPTOR_RANGE_TYPE_UAV + 1 ) ,
- D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = ( D3D12_DESCRIPTOR_RANGE_TYPE_CBV + 1 )
- } D3D12_DESCRIPTOR_RANGE_TYPE;
-
-typedef struct D3D12_DESCRIPTOR_RANGE
- {
- D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
- UINT NumDescriptors;
- UINT BaseShaderRegister;
- UINT RegisterSpace;
- UINT OffsetInDescriptorsFromTableStart;
- } D3D12_DESCRIPTOR_RANGE;
-
-typedef struct D3D12_ROOT_DESCRIPTOR_TABLE
- {
- UINT NumDescriptorRanges;
- _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges;
- } D3D12_ROOT_DESCRIPTOR_TABLE;
-
-typedef struct D3D12_ROOT_CONSTANTS
- {
- UINT ShaderRegister;
- UINT RegisterSpace;
- UINT Num32BitValues;
- } D3D12_ROOT_CONSTANTS;
-
-typedef struct D3D12_ROOT_DESCRIPTOR
- {
- UINT ShaderRegister;
- UINT RegisterSpace;
- } D3D12_ROOT_DESCRIPTOR;
-
-typedef
-enum D3D12_SHADER_VISIBILITY
- {
- D3D12_SHADER_VISIBILITY_ALL = 0,
- D3D12_SHADER_VISIBILITY_VERTEX = 1,
- D3D12_SHADER_VISIBILITY_HULL = 2,
- D3D12_SHADER_VISIBILITY_DOMAIN = 3,
- D3D12_SHADER_VISIBILITY_GEOMETRY = 4,
- D3D12_SHADER_VISIBILITY_PIXEL = 5,
- D3D12_SHADER_VISIBILITY_AMPLIFICATION = 6,
- D3D12_SHADER_VISIBILITY_MESH = 7
- } D3D12_SHADER_VISIBILITY;
-
-typedef
-enum D3D12_ROOT_PARAMETER_TYPE
- {
- D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0,
- D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = ( D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE + 1 ) ,
- D3D12_ROOT_PARAMETER_TYPE_CBV = ( D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS + 1 ) ,
- D3D12_ROOT_PARAMETER_TYPE_SRV = ( D3D12_ROOT_PARAMETER_TYPE_CBV + 1 ) ,
- D3D12_ROOT_PARAMETER_TYPE_UAV = ( D3D12_ROOT_PARAMETER_TYPE_SRV + 1 )
- } D3D12_ROOT_PARAMETER_TYPE;
-
-typedef struct D3D12_ROOT_PARAMETER
- {
- D3D12_ROOT_PARAMETER_TYPE ParameterType;
- union
- {
- D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable;
- D3D12_ROOT_CONSTANTS Constants;
- D3D12_ROOT_DESCRIPTOR Descriptor;
- } ;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- } D3D12_ROOT_PARAMETER;
-
-typedef
-enum D3D12_ROOT_SIGNATURE_FLAGS
- {
- D3D12_ROOT_SIGNATURE_FLAG_NONE = 0,
- D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
- D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40,
- D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200,
- D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400,
- D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800
- } D3D12_ROOT_SIGNATURE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_SIGNATURE_FLAGS )
-typedef
-enum D3D12_STATIC_BORDER_COLOR
- {
- D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0,
- D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = ( D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK + 1 ) ,
- D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK + 1 ) ,
- D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE + 1 ) ,
- D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT + 1 )
- } D3D12_STATIC_BORDER_COLOR;
-
-typedef struct D3D12_STATIC_SAMPLER_DESC
- {
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- D3D12_STATIC_BORDER_COLOR BorderColor;
- FLOAT MinLOD;
- FLOAT MaxLOD;
- UINT ShaderRegister;
- UINT RegisterSpace;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- } D3D12_STATIC_SAMPLER_DESC;
-
-typedef struct D3D12_STATIC_SAMPLER_DESC1
- {
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- D3D12_STATIC_BORDER_COLOR BorderColor;
- FLOAT MinLOD;
- FLOAT MaxLOD;
- UINT ShaderRegister;
- UINT RegisterSpace;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- D3D12_SAMPLER_FLAGS Flags;
- } D3D12_STATIC_SAMPLER_DESC1;
-
-typedef struct D3D12_ROOT_SIGNATURE_DESC
- {
- UINT NumParameters;
- _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER *pParameters;
- UINT NumStaticSamplers;
- _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
- D3D12_ROOT_SIGNATURE_FLAGS Flags;
- } D3D12_ROOT_SIGNATURE_DESC;
-
-typedef
-enum D3D12_DESCRIPTOR_RANGE_FLAGS
- {
- D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0,
- D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1,
- D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2,
- D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
- D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8,
- D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000
- } D3D12_DESCRIPTOR_RANGE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_RANGE_FLAGS )
-typedef struct D3D12_DESCRIPTOR_RANGE1
- {
- D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
- UINT NumDescriptors;
- UINT BaseShaderRegister;
- UINT RegisterSpace;
- D3D12_DESCRIPTOR_RANGE_FLAGS Flags;
- UINT OffsetInDescriptorsFromTableStart;
- } D3D12_DESCRIPTOR_RANGE1;
-
-typedef struct D3D12_ROOT_DESCRIPTOR_TABLE1
- {
- UINT NumDescriptorRanges;
- _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges;
- } D3D12_ROOT_DESCRIPTOR_TABLE1;
-
-typedef
-enum D3D12_ROOT_DESCRIPTOR_FLAGS
- {
- D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0,
- D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2,
- D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
- D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8
- } D3D12_ROOT_DESCRIPTOR_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_DESCRIPTOR_FLAGS )
-typedef struct D3D12_ROOT_DESCRIPTOR1
- {
- UINT ShaderRegister;
- UINT RegisterSpace;
- D3D12_ROOT_DESCRIPTOR_FLAGS Flags;
- } D3D12_ROOT_DESCRIPTOR1;
-
-typedef struct D3D12_ROOT_PARAMETER1
- {
- D3D12_ROOT_PARAMETER_TYPE ParameterType;
- union
- {
- D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable;
- D3D12_ROOT_CONSTANTS Constants;
- D3D12_ROOT_DESCRIPTOR1 Descriptor;
- } ;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- } D3D12_ROOT_PARAMETER1;
-
-typedef struct D3D12_ROOT_SIGNATURE_DESC1
- {
- UINT NumParameters;
- _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters;
- UINT NumStaticSamplers;
- _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
- D3D12_ROOT_SIGNATURE_FLAGS Flags;
- } D3D12_ROOT_SIGNATURE_DESC1;
-
-typedef struct D3D12_ROOT_SIGNATURE_DESC2
- {
- UINT NumParameters;
- _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters;
- UINT NumStaticSamplers;
- _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC1 *pStaticSamplers;
- D3D12_ROOT_SIGNATURE_FLAGS Flags;
- } D3D12_ROOT_SIGNATURE_DESC2;
-
-typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC
- {
- D3D_ROOT_SIGNATURE_VERSION Version;
- union
- {
- D3D12_ROOT_SIGNATURE_DESC Desc_1_0;
- D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1;
- D3D12_ROOT_SIGNATURE_DESC2 Desc_1_2;
- } ;
- } D3D12_VERSIONED_ROOT_SIGNATURE_DESC;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_s_ifspec;
-
-#ifndef __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
-#define __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
-
-/* interface ID3D12RootSignatureDeserializer */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12RootSignatureDeserializer;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("34AB647B-3CC8-46AC-841B-C0965645C046")
- ID3D12RootSignatureDeserializer : public IUnknown
- {
- public:
- virtual const D3D12_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetRootSignatureDesc( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12RootSignatureDeserializerVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12RootSignatureDeserializer * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12RootSignatureDeserializer * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12RootSignatureDeserializer * This);
-
- DECLSPEC_XFGVIRT(ID3D12RootSignatureDeserializer, GetRootSignatureDesc)
- const D3D12_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetRootSignatureDesc )(
- ID3D12RootSignatureDeserializer * This);
-
- END_INTERFACE
- } ID3D12RootSignatureDeserializerVtbl;
-
- interface ID3D12RootSignatureDeserializer
- {
- CONST_VTBL struct ID3D12RootSignatureDeserializerVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12RootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12RootSignatureDeserializer_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12RootSignatureDeserializer_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12RootSignatureDeserializer_GetRootSignatureDesc(This) \
- ( (This)->lpVtbl -> GetRootSignatureDesc(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__
-#define __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__
-
-/* interface ID3D12VersionedRootSignatureDeserializer */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VersionedRootSignatureDeserializer;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("7F91CE67-090C-4BB7-B78E-ED8FF2E31DA0")
- ID3D12VersionedRootSignatureDeserializer : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetRootSignatureDescAtVersion(
- D3D_ROOT_SIGNATURE_VERSION convertToVersion,
- _Out_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc) = 0;
-
- virtual const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetUnconvertedRootSignatureDesc( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VersionedRootSignatureDeserializerVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VersionedRootSignatureDeserializer * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VersionedRootSignatureDeserializer * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VersionedRootSignatureDeserializer * This);
-
- DECLSPEC_XFGVIRT(ID3D12VersionedRootSignatureDeserializer, GetRootSignatureDescAtVersion)
- HRESULT ( STDMETHODCALLTYPE *GetRootSignatureDescAtVersion )(
- ID3D12VersionedRootSignatureDeserializer * This,
- D3D_ROOT_SIGNATURE_VERSION convertToVersion,
- _Out_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc);
-
- DECLSPEC_XFGVIRT(ID3D12VersionedRootSignatureDeserializer, GetUnconvertedRootSignatureDesc)
- const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetUnconvertedRootSignatureDesc )(
- ID3D12VersionedRootSignatureDeserializer * This);
-
- END_INTERFACE
- } ID3D12VersionedRootSignatureDeserializerVtbl;
-
- interface ID3D12VersionedRootSignatureDeserializer
- {
- CONST_VTBL struct ID3D12VersionedRootSignatureDeserializerVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VersionedRootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VersionedRootSignatureDeserializer_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VersionedRootSignatureDeserializer_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) \
- ( (This)->lpVtbl -> GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) )
-
-#define ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(This) \
- ( (This)->lpVtbl -> GetUnconvertedRootSignatureDesc(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0003 */
-/* [local] */
-
-typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(
- _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature,
- _In_ D3D_ROOT_SIGNATURE_VERSION Version,
- _Out_ ID3DBlob** ppBlob,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
-
-HRESULT WINAPI D3D12SerializeRootSignature(
- _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature,
- _In_ D3D_ROOT_SIGNATURE_VERSION Version,
- _Out_ ID3DBlob** ppBlob,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
-
-typedef HRESULT (WINAPI* PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(
- _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
- _In_ SIZE_T SrcDataSizeInBytes,
- _In_ REFIID pRootSignatureDeserializerInterface,
- _Out_ void** ppRootSignatureDeserializer);
-
-HRESULT WINAPI D3D12CreateRootSignatureDeserializer(
- _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
- _In_ SIZE_T SrcDataSizeInBytes,
- _In_ REFIID pRootSignatureDeserializerInterface,
- _Out_ void** ppRootSignatureDeserializer);
-
-typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(
- _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
- _Out_ ID3DBlob** ppBlob,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
-
-HRESULT WINAPI D3D12SerializeVersionedRootSignature(
- _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
- _Out_ ID3DBlob** ppBlob,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
-
-typedef HRESULT (WINAPI* PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)(
- _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
- _In_ SIZE_T SrcDataSizeInBytes,
- _In_ REFIID pRootSignatureDeserializerInterface,
- _Out_ void** ppRootSignatureDeserializer);
-
-HRESULT WINAPI D3D12CreateVersionedRootSignatureDeserializer(
- _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
- _In_ SIZE_T SrcDataSizeInBytes,
- _In_ REFIID pRootSignatureDeserializerInterface,
- _Out_ void** ppRootSignatureDeserializer);
-
-typedef struct D3D12_CPU_DESCRIPTOR_HANDLE
- {
- SIZE_T ptr;
- } D3D12_CPU_DESCRIPTOR_HANDLE;
-
-typedef struct D3D12_GPU_DESCRIPTOR_HANDLE
- {
- UINT64 ptr;
- } D3D12_GPU_DESCRIPTOR_HANDLE;
-
-// If rects are supplied in D3D12_DISCARD_REGION, below, the resource
-// must have 2D subresources with all specified subresources the same dimension.
-typedef struct D3D12_DISCARD_REGION
- {
- UINT NumRects;
- _In_reads_(NumRects) const D3D12_RECT *pRects;
- UINT FirstSubresource;
- UINT NumSubresources;
- } D3D12_DISCARD_REGION;
-
-typedef
-enum D3D12_QUERY_HEAP_TYPE
- {
- D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0,
- D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1,
- D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2,
- D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3,
- D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS = 4,
- D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP = 5,
- D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 = 7
- } D3D12_QUERY_HEAP_TYPE;
-
-typedef struct D3D12_QUERY_HEAP_DESC
- {
- D3D12_QUERY_HEAP_TYPE Type;
- UINT Count;
- UINT NodeMask;
- } D3D12_QUERY_HEAP_DESC;
-
-typedef
-enum D3D12_QUERY_TYPE
- {
- D3D12_QUERY_TYPE_OCCLUSION = 0,
- D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1,
- D3D12_QUERY_TYPE_TIMESTAMP = 2,
- D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7,
- D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS = 8,
- D3D12_QUERY_TYPE_PIPELINE_STATISTICS1 = 10
- } D3D12_QUERY_TYPE;
-
-typedef
-enum D3D12_PREDICATION_OP
- {
- D3D12_PREDICATION_OP_EQUAL_ZERO = 0,
- D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1
- } D3D12_PREDICATION_OP;
-
-typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS
- {
- UINT64 IAVertices;
- UINT64 IAPrimitives;
- UINT64 VSInvocations;
- UINT64 GSInvocations;
- UINT64 GSPrimitives;
- UINT64 CInvocations;
- UINT64 CPrimitives;
- UINT64 PSInvocations;
- UINT64 HSInvocations;
- UINT64 DSInvocations;
- UINT64 CSInvocations;
- } D3D12_QUERY_DATA_PIPELINE_STATISTICS;
-
-typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS1
- {
- UINT64 IAVertices;
- UINT64 IAPrimitives;
- UINT64 VSInvocations;
- UINT64 GSInvocations;
- UINT64 GSPrimitives;
- UINT64 CInvocations;
- UINT64 CPrimitives;
- UINT64 PSInvocations;
- UINT64 HSInvocations;
- UINT64 DSInvocations;
- UINT64 CSInvocations;
- UINT64 ASInvocations;
- UINT64 MSInvocations;
- UINT64 MSPrimitives;
- } D3D12_QUERY_DATA_PIPELINE_STATISTICS1;
-
-typedef struct D3D12_QUERY_DATA_SO_STATISTICS
- {
- UINT64 NumPrimitivesWritten;
- UINT64 PrimitivesStorageNeeded;
- } D3D12_QUERY_DATA_SO_STATISTICS;
-
-typedef struct D3D12_STREAM_OUTPUT_BUFFER_VIEW
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT64 SizeInBytes;
- D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation;
- } D3D12_STREAM_OUTPUT_BUFFER_VIEW;
-
-typedef struct D3D12_DRAW_ARGUMENTS
- {
- UINT VertexCountPerInstance;
- UINT InstanceCount;
- UINT StartVertexLocation;
- UINT StartInstanceLocation;
- } D3D12_DRAW_ARGUMENTS;
-
-typedef struct D3D12_DRAW_INDEXED_ARGUMENTS
- {
- UINT IndexCountPerInstance;
- UINT InstanceCount;
- UINT StartIndexLocation;
- INT BaseVertexLocation;
- UINT StartInstanceLocation;
- } D3D12_DRAW_INDEXED_ARGUMENTS;
-
-typedef struct D3D12_DISPATCH_ARGUMENTS
- {
- UINT ThreadGroupCountX;
- UINT ThreadGroupCountY;
- UINT ThreadGroupCountZ;
- } D3D12_DISPATCH_ARGUMENTS;
-
-typedef struct D3D12_VERTEX_BUFFER_VIEW
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
- UINT StrideInBytes;
- } D3D12_VERTEX_BUFFER_VIEW;
-
-typedef struct D3D12_INDEX_BUFFER_VIEW
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
- DXGI_FORMAT Format;
- } D3D12_INDEX_BUFFER_VIEW;
-
-typedef
-enum D3D12_INDIRECT_ARGUMENT_TYPE
- {
- D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0,
- D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = ( D3D12_INDIRECT_ARGUMENT_TYPE_DRAW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = ( D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = ( D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS = ( D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH = ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_INCREMENTING_CONSTANT = ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH + 1 )
- } D3D12_INDIRECT_ARGUMENT_TYPE;
-
-typedef struct D3D12_INDIRECT_ARGUMENT_DESC
- {
- D3D12_INDIRECT_ARGUMENT_TYPE Type;
- union
- {
- struct
- {
- UINT Slot;
- } VertexBuffer;
- struct
- {
- UINT RootParameterIndex;
- UINT DestOffsetIn32BitValues;
- UINT Num32BitValuesToSet;
- } Constant;
- struct
- {
- UINT RootParameterIndex;
- } ConstantBufferView;
- struct
- {
- UINT RootParameterIndex;
- } ShaderResourceView;
- struct
- {
- UINT RootParameterIndex;
- } UnorderedAccessView;
- struct
- {
- UINT RootParameterIndex;
- UINT DestOffsetIn32BitValues;
- } IncrementingConstant;
- } ;
- } D3D12_INDIRECT_ARGUMENT_DESC;
-
-typedef struct D3D12_COMMAND_SIGNATURE_DESC
- {
- UINT ByteStride;
- UINT NumArgumentDescs;
- _Field_size_full_(NumArgumentDescs) const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs;
- UINT NodeMask;
- } D3D12_COMMAND_SIGNATURE_DESC;
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_s_ifspec;
-
-#ifndef __ID3D12Pageable_INTERFACE_DEFINED__
-#define __ID3D12Pageable_INTERFACE_DEFINED__
-
-/* interface ID3D12Pageable */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Pageable;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("63ee58fb-1268-4835-86da-f008ce62f0d6")
- ID3D12Pageable : public ID3D12DeviceChild
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12PageableVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Pageable * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Pageable * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Pageable * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Pageable * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Pageable * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12PageableVtbl;
-
- interface ID3D12Pageable
- {
- CONST_VTBL struct ID3D12PageableVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Pageable_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Pageable_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Pageable_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Pageable_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Pageable_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Pageable_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Pageable_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Pageable_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Pageable_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Heap_INTERFACE_DEFINED__
-#define __ID3D12Heap_INTERFACE_DEFINED__
-
-/* interface ID3D12Heap */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Heap;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6b3b2502-6e51-45b3-90ee-9884265e8df3")
- ID3D12Heap : public ID3D12Pageable
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_HEAP_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_HEAP_DESC * RetVal) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12HeapVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Heap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Heap * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Heap * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Heap * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Heap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Heap, GetDesc)
-#if !defined(_WIN32)
- D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Heap * This);
-
-#else
- D3D12_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Heap * This,
- D3D12_HEAP_DESC * RetVal);
-
-#endif
-
- END_INTERFACE
- } ID3D12HeapVtbl;
-
- interface ID3D12Heap
- {
- CONST_VTBL struct ID3D12HeapVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Heap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Heap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Heap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Heap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Heap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Heap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Heap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Heap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#if !defined(_WIN32)
-
-#define ID3D12Heap_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12Heap_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Heap_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Resource_INTERFACE_DEFINED__
-#define __ID3D12Resource_INTERFACE_DEFINED__
-
-/* interface ID3D12Resource */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Resource;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("696442be-a72e-4059-bc79-5b5c98040fad")
- ID3D12Resource : public ID3D12Pageable
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Map(
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pReadRange,
- _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData) = 0;
-
- virtual void STDMETHODCALLTYPE Unmap(
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange) = 0;
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_RESOURCE_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_RESOURCE_DESC * RetVal) = 0;
-#endif
-
- virtual D3D12_GPU_VIRTUAL_ADDRESS STDMETHODCALLTYPE GetGPUVirtualAddress( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE WriteToSubresource(
- UINT DstSubresource,
- _In_opt_ const D3D12_BOX *pDstBox,
- _In_ const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ReadFromSubresource(
- _Out_ void *pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- _In_opt_ const D3D12_BOX *pSrcBox) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetHeapProperties(
- _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
- _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12ResourceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Resource * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Resource * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Resource * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Resource * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Resource * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Map)
- HRESULT ( STDMETHODCALLTYPE *Map )(
- ID3D12Resource * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pReadRange,
- _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Unmap)
- void ( STDMETHODCALLTYPE *Unmap )(
- ID3D12Resource * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc)
-#if !defined(_WIN32)
- D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource * This);
-
-#else
- D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource * This,
- D3D12_RESOURCE_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress)
- D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
- ID3D12Resource * This);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource)
- HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
- ID3D12Resource * This,
- UINT DstSubresource,
- _In_opt_ const D3D12_BOX *pDstBox,
- _In_ const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource)
- HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
- ID3D12Resource * This,
- _Out_ void *pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties)
- HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )(
- ID3D12Resource * This,
- _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
- _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags);
-
- END_INTERFACE
- } ID3D12ResourceVtbl;
-
- interface ID3D12Resource
- {
- CONST_VTBL struct ID3D12ResourceVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Resource_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Resource_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Resource_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Resource_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Resource_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Resource_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Resource_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Resource_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12Resource_Map(This,Subresource,pReadRange,ppData) \
- ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) )
-
-#define ID3D12Resource_Unmap(This,Subresource,pWrittenRange) \
- ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) )
-#if !defined(_WIN32)
-
-#define ID3D12Resource_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12Resource_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#define ID3D12Resource_GetGPUVirtualAddress(This) \
- ( (This)->lpVtbl -> GetGPUVirtualAddress(This) )
-
-#define ID3D12Resource_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
- ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
-
-#define ID3D12Resource_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
- ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
-
-#define ID3D12Resource_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
- ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Resource_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12CommandAllocator_INTERFACE_DEFINED__
-#define __ID3D12CommandAllocator_INTERFACE_DEFINED__
-
-/* interface ID3D12CommandAllocator */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12CommandAllocator;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6102dee4-af59-4b09-b999-b44d73f09b24")
- ID3D12CommandAllocator : public ID3D12Pageable
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12CommandAllocatorVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandAllocator * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandAllocator * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandAllocator * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandAllocator * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandAllocator * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandAllocator, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12CommandAllocator * This);
-
- END_INTERFACE
- } ID3D12CommandAllocatorVtbl;
-
- interface ID3D12CommandAllocator
- {
- CONST_VTBL struct ID3D12CommandAllocatorVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12CommandAllocator_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12CommandAllocator_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12CommandAllocator_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12CommandAllocator_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12CommandAllocator_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12CommandAllocator_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12CommandAllocator_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12CommandAllocator_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12CommandAllocator_Reset(This) \
- ( (This)->lpVtbl -> Reset(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12CommandAllocator_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Fence_INTERFACE_DEFINED__
-#define __ID3D12Fence_INTERFACE_DEFINED__
-
-/* interface ID3D12Fence */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Fence;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("0a753dcf-c4d8-4b91-adf6-be5a60d95a76")
- ID3D12Fence : public ID3D12Pageable
- {
- public:
- virtual UINT64 STDMETHODCALLTYPE GetCompletedValue( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion(
- UINT64 Value,
- HANDLE hEvent) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Signal(
- UINT64 Value) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12FenceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Fence * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Fence * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Fence * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Fence * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Fence * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, GetCompletedValue)
- UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )(
- ID3D12Fence * This);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, SetEventOnCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )(
- ID3D12Fence * This,
- UINT64 Value,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, Signal)
- HRESULT ( STDMETHODCALLTYPE *Signal )(
- ID3D12Fence * This,
- UINT64 Value);
-
- END_INTERFACE
- } ID3D12FenceVtbl;
-
- interface ID3D12Fence
- {
- CONST_VTBL struct ID3D12FenceVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Fence_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Fence_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Fence_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Fence_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Fence_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Fence_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Fence_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Fence_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12Fence_GetCompletedValue(This) \
- ( (This)->lpVtbl -> GetCompletedValue(This) )
-
-#define ID3D12Fence_SetEventOnCompletion(This,Value,hEvent) \
- ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) )
-
-#define ID3D12Fence_Signal(This,Value) \
- ( (This)->lpVtbl -> Signal(This,Value) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Fence_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Fence1_INTERFACE_DEFINED__
-#define __ID3D12Fence1_INTERFACE_DEFINED__
-
-/* interface ID3D12Fence1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Fence1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("433685fe-e22b-4ca0-a8db-b5b4f4dd0e4a")
- ID3D12Fence1 : public ID3D12Fence
- {
- public:
- virtual D3D12_FENCE_FLAGS STDMETHODCALLTYPE GetCreationFlags( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Fence1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Fence1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Fence1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Fence1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Fence1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Fence1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Fence1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Fence1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Fence1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, GetCompletedValue)
- UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )(
- ID3D12Fence1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, SetEventOnCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )(
- ID3D12Fence1 * This,
- UINT64 Value,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, Signal)
- HRESULT ( STDMETHODCALLTYPE *Signal )(
- ID3D12Fence1 * This,
- UINT64 Value);
-
- DECLSPEC_XFGVIRT(ID3D12Fence1, GetCreationFlags)
- D3D12_FENCE_FLAGS ( STDMETHODCALLTYPE *GetCreationFlags )(
- ID3D12Fence1 * This);
-
- END_INTERFACE
- } ID3D12Fence1Vtbl;
-
- interface ID3D12Fence1
- {
- CONST_VTBL struct ID3D12Fence1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Fence1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Fence1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Fence1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Fence1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Fence1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Fence1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Fence1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Fence1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12Fence1_GetCompletedValue(This) \
- ( (This)->lpVtbl -> GetCompletedValue(This) )
-
-#define ID3D12Fence1_SetEventOnCompletion(This,Value,hEvent) \
- ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) )
-
-#define ID3D12Fence1_Signal(This,Value) \
- ( (This)->lpVtbl -> Signal(This,Value) )
-
-
-#define ID3D12Fence1_GetCreationFlags(This) \
- ( (This)->lpVtbl -> GetCreationFlags(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Fence1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12PipelineState_INTERFACE_DEFINED__
-#define __ID3D12PipelineState_INTERFACE_DEFINED__
-
-/* interface ID3D12PipelineState */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12PipelineState;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("765a30f3-f624-4c6f-a828-ace948622445")
- ID3D12PipelineState : public ID3D12Pageable
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetCachedBlob(
- _COM_Outptr_ ID3DBlob **ppBlob) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12PipelineStateVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12PipelineState * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12PipelineState * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12PipelineState * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12PipelineState * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12PipelineState * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineState, GetCachedBlob)
- HRESULT ( STDMETHODCALLTYPE *GetCachedBlob )(
- ID3D12PipelineState * This,
- _COM_Outptr_ ID3DBlob **ppBlob);
-
- END_INTERFACE
- } ID3D12PipelineStateVtbl;
-
- interface ID3D12PipelineState
- {
- CONST_VTBL struct ID3D12PipelineStateVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12PipelineState_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12PipelineState_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12PipelineState_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12PipelineState_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12PipelineState_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12PipelineState_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12PipelineState_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12PipelineState_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12PipelineState_GetCachedBlob(This,ppBlob) \
- ( (This)->lpVtbl -> GetCachedBlob(This,ppBlob) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12PipelineState_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DescriptorHeap_INTERFACE_DEFINED__
-#define __ID3D12DescriptorHeap_INTERFACE_DEFINED__
-
-/* interface ID3D12DescriptorHeap */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DescriptorHeap;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("8efb471d-616c-4f49-90f7-127bb763fa51")
- ID3D12DescriptorHeap : public ID3D12Pageable
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_DESCRIPTOR_HEAP_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_DESCRIPTOR_HEAP_DESC * RetVal) = 0;
-#endif
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart( void) = 0;
-#else
- virtual D3D12_CPU_DESCRIPTOR_HANDLE *STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart(
- D3D12_CPU_DESCRIPTOR_HANDLE * RetVal) = 0;
-#endif
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart( void) = 0;
-#else
- virtual D3D12_GPU_DESCRIPTOR_HANDLE *STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart(
- D3D12_GPU_DESCRIPTOR_HANDLE * RetVal) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DescriptorHeapVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DescriptorHeap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DescriptorHeap * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DescriptorHeap * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12DescriptorHeap * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12DescriptorHeap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetDesc)
-#if !defined(_WIN32)
- D3D12_DESCRIPTOR_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DescriptorHeap * This);
-
-#else
- D3D12_DESCRIPTOR_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DescriptorHeap * This,
- D3D12_DESCRIPTOR_HEAP_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetCPUDescriptorHandleForHeapStart)
-#if !defined(_WIN32)
- D3D12_CPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This);
-
-#else
- D3D12_CPU_DESCRIPTOR_HANDLE *( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This,
- D3D12_CPU_DESCRIPTOR_HANDLE * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetGPUDescriptorHandleForHeapStart)
-#if !defined(_WIN32)
- D3D12_GPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This);
-
-#else
- D3D12_GPU_DESCRIPTOR_HANDLE *( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This,
- D3D12_GPU_DESCRIPTOR_HANDLE * RetVal);
-
-#endif
-
- END_INTERFACE
- } ID3D12DescriptorHeapVtbl;
-
- interface ID3D12DescriptorHeap
- {
- CONST_VTBL struct ID3D12DescriptorHeapVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DescriptorHeap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DescriptorHeap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DescriptorHeap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DescriptorHeap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12DescriptorHeap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12DescriptorHeap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12DescriptorHeap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12DescriptorHeap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#if !defined(_WIN32)
-
-#define ID3D12DescriptorHeap_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12DescriptorHeap_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This) \
- ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This) )
-#else
-#define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This,RetVal) \
- ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This,RetVal) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This) \
- ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This) )
-#else
-#define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This,RetVal) \
- ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This,RetVal) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DescriptorHeap_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12QueryHeap_INTERFACE_DEFINED__
-#define __ID3D12QueryHeap_INTERFACE_DEFINED__
-
-/* interface ID3D12QueryHeap */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12QueryHeap;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("0d9658ae-ed45-469e-a61d-970ec583cab4")
- ID3D12QueryHeap : public ID3D12Pageable
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12QueryHeapVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12QueryHeap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12QueryHeap * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12QueryHeap * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12QueryHeap * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12QueryHeap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12QueryHeapVtbl;
-
- interface ID3D12QueryHeap
- {
- CONST_VTBL struct ID3D12QueryHeapVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12QueryHeap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12QueryHeap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12QueryHeap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12QueryHeap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12QueryHeap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12QueryHeap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12QueryHeap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12QueryHeap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12QueryHeap_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12CommandSignature_INTERFACE_DEFINED__
-#define __ID3D12CommandSignature_INTERFACE_DEFINED__
-
-/* interface ID3D12CommandSignature */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12CommandSignature;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c36a797c-ec80-4f0a-8985-a7b2475082d1")
- ID3D12CommandSignature : public ID3D12Pageable
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12CommandSignatureVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandSignature * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandSignature * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandSignature * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandSignature * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandSignature * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12CommandSignatureVtbl;
-
- interface ID3D12CommandSignature
- {
- CONST_VTBL struct ID3D12CommandSignatureVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12CommandSignature_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12CommandSignature_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12CommandSignature_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12CommandSignature_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12CommandSignature_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12CommandSignature_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12CommandSignature_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12CommandSignature_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12CommandSignature_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12CommandList_INTERFACE_DEFINED__
-#define __ID3D12CommandList_INTERFACE_DEFINED__
-
-/* interface ID3D12CommandList */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12CommandList;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("7116d91c-e7e4-47ce-b8c6-ec8168f437e5")
- ID3D12CommandList : public ID3D12DeviceChild
- {
- public:
- virtual D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE GetType( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12CommandListVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandList * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandList * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandList * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12CommandList * This);
-
- END_INTERFACE
- } ID3D12CommandListVtbl;
-
- interface ID3D12CommandList
- {
- CONST_VTBL struct ID3D12CommandListVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12CommandList_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12CommandList_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12CommandList_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12CommandList_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12CommandList_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12CommandList_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12CommandList_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12CommandList_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12CommandList_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12CommandList_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
-#define __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
-
-/* interface ID3D12GraphicsCommandList */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GraphicsCommandList;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("5b160d0f-ac1b-4185-8ba8-b3ae42a5a455")
- ID3D12GraphicsCommandList : public ID3D12CommandList
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reset(
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState) = 0;
-
- virtual void STDMETHODCALLTYPE ClearState(
- _In_opt_ ID3D12PipelineState *pPipelineState) = 0;
-
- virtual void STDMETHODCALLTYPE DrawInstanced(
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation) = 0;
-
- virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation) = 0;
-
- virtual void STDMETHODCALLTYPE Dispatch(
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ) = 0;
-
- virtual void STDMETHODCALLTYPE CopyBufferRegion(
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes) = 0;
-
- virtual void STDMETHODCALLTYPE CopyTextureRegion(
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox) = 0;
-
- virtual void STDMETHODCALLTYPE CopyResource(
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource) = 0;
-
- virtual void STDMETHODCALLTYPE CopyTiles(
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveSubresource(
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format) = 0;
-
- virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetViewports(
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetScissorRects(
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetBlendFactor(
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetStencilRef(
- _In_ UINT StencilRef) = 0;
-
- virtual void STDMETHODCALLTYPE SetPipelineState(
- _In_ ID3D12PipelineState *pPipelineState) = 0;
-
- virtual void STDMETHODCALLTYPE ResourceBarrier(
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0;
-
- virtual void STDMETHODCALLTYPE ExecuteBundle(
- _In_ ID3D12GraphicsCommandList *pCommandList) = 0;
-
- virtual void STDMETHODCALLTYPE SetDescriptorHeaps(
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRootSignature(
- _In_opt_ ID3D12RootSignature *pRootSignature) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRootSignature(
- _In_opt_ ID3D12RootSignature *pRootSignature) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRootDescriptorTable(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRootDescriptorTable(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstant(
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstant(
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstants(
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstants(
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRootConstantBufferView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRootConstantBufferView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRootShaderResourceView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRootShaderResourceView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRootUnorderedAccessView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRootUnorderedAccessView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE IASetIndexBuffer(
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView) = 0;
-
- virtual void STDMETHODCALLTYPE IASetVertexBuffers(
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews) = 0;
-
- virtual void STDMETHODCALLTYPE SOSetTargets(
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetRenderTargets(
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE ClearDepthStencilView(
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE ClearRenderTargetView(
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE DiscardResource(
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0;
-
- virtual void STDMETHODCALLTYPE BeginQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index) = 0;
-
- virtual void STDMETHODCALLTYPE EndQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveQueryData(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset) = 0;
-
- virtual void STDMETHODCALLTYPE SetPredication(
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation) = 0;
-
- virtual void STDMETHODCALLTYPE SetMarker(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE BeginEvent(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
-
- virtual void STDMETHODCALLTYPE ExecuteIndirect(
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GraphicsCommandListVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- END_INTERFACE
- } ID3D12GraphicsCommandListVtbl;
-
- interface ID3D12GraphicsCommandList
- {
- CONST_VTBL struct ID3D12GraphicsCommandListVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GraphicsCommandList_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GraphicsCommandList_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GraphicsCommandList_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GraphicsCommandList_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12GraphicsCommandList_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12GraphicsCommandList_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12GraphicsCommandList_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12GraphicsCommandList_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12GraphicsCommandList_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12GraphicsCommandList_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12GraphicsCommandList_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
-
-#define ID3D12GraphicsCommandList_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#define ID3D12GraphicsCommandList_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
-
-#define ID3D12GraphicsCommandList_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
-
-#define ID3D12GraphicsCommandList_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
-
-#define ID3D12GraphicsCommandList_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
-
-#define ID3D12GraphicsCommandList_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
-
-#define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
-
-#define ID3D12GraphicsCommandList_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
-
-#define ID3D12GraphicsCommandList_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
-
-#define ID3D12GraphicsCommandList_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
-
-#define ID3D12GraphicsCommandList_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12GraphicsCommandList_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
-
-#define ID3D12GraphicsCommandList_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
-
-#define ID3D12GraphicsCommandList_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
-
-#define ID3D12GraphicsCommandList_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
-
-#define ID3D12GraphicsCommandList_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12GraphicsCommandList_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12GraphicsCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12GraphicsCommandList_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12GraphicsCommandList_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__
-#define __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__
-
-/* interface ID3D12GraphicsCommandList1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GraphicsCommandList1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("553103fb-1fe7-4557-bb38-946d7d0e7ca7")
- ID3D12GraphicsCommandList1 : public ID3D12GraphicsCommandList
- {
- public:
- virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT(
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges) = 0;
-
- virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT64(
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetDepthBounds(
- _In_ FLOAT Min,
- _In_ FLOAT Max) = 0;
-
- virtual void STDMETHODCALLTYPE SetSamplePositions(
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveSubresourceRegion(
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode) = 0;
-
- virtual void STDMETHODCALLTYPE SetViewInstanceMask(
- _In_ UINT Mask) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GraphicsCommandList1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList1 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList1 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList1 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList1 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList1 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList1 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList1 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList1 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT Mask);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList1Vtbl;
-
- interface ID3D12GraphicsCommandList1
- {
- CONST_VTBL struct ID3D12GraphicsCommandList1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GraphicsCommandList1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GraphicsCommandList1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GraphicsCommandList1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GraphicsCommandList1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12GraphicsCommandList1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12GraphicsCommandList1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12GraphicsCommandList1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12GraphicsCommandList1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12GraphicsCommandList1_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12GraphicsCommandList1_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12GraphicsCommandList1_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
-
-#define ID3D12GraphicsCommandList1_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList1_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList1_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList1_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#define ID3D12GraphicsCommandList1_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
-
-#define ID3D12GraphicsCommandList1_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
-
-#define ID3D12GraphicsCommandList1_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
-
-#define ID3D12GraphicsCommandList1_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
-
-#define ID3D12GraphicsCommandList1_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
-
-#define ID3D12GraphicsCommandList1_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
-
-#define ID3D12GraphicsCommandList1_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
-
-#define ID3D12GraphicsCommandList1_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList1_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
-
-#define ID3D12GraphicsCommandList1_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
-
-#define ID3D12GraphicsCommandList1_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12GraphicsCommandList1_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
-
-#define ID3D12GraphicsCommandList1_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
-
-#define ID3D12GraphicsCommandList1_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList1_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList1_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
-
-#define ID3D12GraphicsCommandList1_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList1_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList1_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
-
-#define ID3D12GraphicsCommandList1_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList1_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList1_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12GraphicsCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList1_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12GraphicsCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12GraphicsCommandList1_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList1_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList1_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12GraphicsCommandList1_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
-
-
-#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList1_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
-
-#define ID3D12GraphicsCommandList1_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
-
-#define ID3D12GraphicsCommandList1_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
-
-#define ID3D12GraphicsCommandList1_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0018 */
-/* [local] */
-
-typedef struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER
- {
- D3D12_GPU_VIRTUAL_ADDRESS Dest;
- UINT32 Value;
- } D3D12_WRITEBUFFERIMMEDIATE_PARAMETER;
-
-typedef
-enum D3D12_WRITEBUFFERIMMEDIATE_MODE
- {
- D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT = 0,
- D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN = 0x1,
- D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT = 0x2
- } D3D12_WRITEBUFFERIMMEDIATE_MODE;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0018_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0018_v0_0_s_ifspec;
-
-#ifndef __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__
-#define __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__
-
-/* interface ID3D12GraphicsCommandList2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GraphicsCommandList2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("38C3E585-FF17-412C-9150-4FC6F9D72A28")
- ID3D12GraphicsCommandList2 : public ID3D12GraphicsCommandList1
- {
- public:
- virtual void STDMETHODCALLTYPE WriteBufferImmediate(
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GraphicsCommandList2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList2 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList2 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList2 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList2 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList2 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList2 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList2 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList2 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList2 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList2 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList2 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList2 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList2 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList2 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList2 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList2 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList2 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList2 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList2 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList2 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList2 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList2Vtbl;
-
- interface ID3D12GraphicsCommandList2
- {
- CONST_VTBL struct ID3D12GraphicsCommandList2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GraphicsCommandList2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GraphicsCommandList2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GraphicsCommandList2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GraphicsCommandList2_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12GraphicsCommandList2_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12GraphicsCommandList2_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12GraphicsCommandList2_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12GraphicsCommandList2_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12GraphicsCommandList2_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12GraphicsCommandList2_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12GraphicsCommandList2_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
-
-#define ID3D12GraphicsCommandList2_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList2_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList2_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList2_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#define ID3D12GraphicsCommandList2_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
-
-#define ID3D12GraphicsCommandList2_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
-
-#define ID3D12GraphicsCommandList2_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
-
-#define ID3D12GraphicsCommandList2_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
-
-#define ID3D12GraphicsCommandList2_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
-
-#define ID3D12GraphicsCommandList2_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
-
-#define ID3D12GraphicsCommandList2_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
-
-#define ID3D12GraphicsCommandList2_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList2_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
-
-#define ID3D12GraphicsCommandList2_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
-
-#define ID3D12GraphicsCommandList2_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12GraphicsCommandList2_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
-
-#define ID3D12GraphicsCommandList2_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
-
-#define ID3D12GraphicsCommandList2_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList2_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList2_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
-
-#define ID3D12GraphicsCommandList2_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList2_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList2_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
-
-#define ID3D12GraphicsCommandList2_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList2_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList2_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12GraphicsCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList2_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12GraphicsCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12GraphicsCommandList2_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList2_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList2_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12GraphicsCommandList2_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
-
-
-#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList2_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
-
-#define ID3D12GraphicsCommandList2_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
-
-#define ID3D12GraphicsCommandList2_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
-
-#define ID3D12GraphicsCommandList2_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
-
-
-#define ID3D12GraphicsCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12CommandQueue_INTERFACE_DEFINED__
-#define __ID3D12CommandQueue_INTERFACE_DEFINED__
-
-/* interface ID3D12CommandQueue */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12CommandQueue;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("0ec870a6-5d7e-4c22-8cfc-5baae07616ed")
- ID3D12CommandQueue : public ID3D12Pageable
- {
- public:
- virtual void STDMETHODCALLTYPE UpdateTileMappings(
- _In_ ID3D12Resource *pResource,
- UINT NumResourceRegions,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
- _In_opt_ ID3D12Heap *pHeap,
- UINT NumRanges,
- _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
- _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
- _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
- D3D12_TILE_MAPPING_FLAGS Flags) = 0;
-
- virtual void STDMETHODCALLTYPE CopyTileMappings(
- _In_ ID3D12Resource *pDstResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
- _In_ ID3D12Resource *pSrcResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
- D3D12_TILE_MAPPING_FLAGS Flags) = 0;
-
- virtual void STDMETHODCALLTYPE ExecuteCommandLists(
- _In_ UINT NumCommandLists,
- _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists) = 0;
-
- virtual void STDMETHODCALLTYPE SetMarker(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE BeginEvent(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Signal(
- ID3D12Fence *pFence,
- UINT64 Value) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Wait(
- ID3D12Fence *pFence,
- UINT64 Value) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTimestampFrequency(
- _Out_ UINT64 *pFrequency) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetClockCalibration(
- _Out_ UINT64 *pGpuTimestamp,
- _Out_ UINT64 *pCpuTimestamp) = 0;
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_COMMAND_QUEUE_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_COMMAND_QUEUE_DESC * RetVal) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12CommandQueueVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandQueue * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandQueue * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandQueue * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandQueue * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, UpdateTileMappings)
- void ( STDMETHODCALLTYPE *UpdateTileMappings )(
- ID3D12CommandQueue * This,
- _In_ ID3D12Resource *pResource,
- UINT NumResourceRegions,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
- _In_opt_ ID3D12Heap *pHeap,
- UINT NumRanges,
- _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
- _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
- _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
- D3D12_TILE_MAPPING_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, CopyTileMappings)
- void ( STDMETHODCALLTYPE *CopyTileMappings )(
- ID3D12CommandQueue * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
- _In_ ID3D12Resource *pSrcResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
- D3D12_TILE_MAPPING_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, ExecuteCommandLists)
- void ( STDMETHODCALLTYPE *ExecuteCommandLists )(
- ID3D12CommandQueue * This,
- _In_ UINT NumCommandLists,
- _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12CommandQueue * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12CommandQueue * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12CommandQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, Signal)
- HRESULT ( STDMETHODCALLTYPE *Signal )(
- ID3D12CommandQueue * This,
- ID3D12Fence *pFence,
- UINT64 Value);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, Wait)
- HRESULT ( STDMETHODCALLTYPE *Wait )(
- ID3D12CommandQueue * This,
- ID3D12Fence *pFence,
- UINT64 Value);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetTimestampFrequency)
- HRESULT ( STDMETHODCALLTYPE *GetTimestampFrequency )(
- ID3D12CommandQueue * This,
- _Out_ UINT64 *pFrequency);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetClockCalibration)
- HRESULT ( STDMETHODCALLTYPE *GetClockCalibration )(
- ID3D12CommandQueue * This,
- _Out_ UINT64 *pGpuTimestamp,
- _Out_ UINT64 *pCpuTimestamp);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetDesc)
-#if !defined(_WIN32)
- D3D12_COMMAND_QUEUE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12CommandQueue * This);
-
-#else
- D3D12_COMMAND_QUEUE_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12CommandQueue * This,
- D3D12_COMMAND_QUEUE_DESC * RetVal);
-
-#endif
-
- END_INTERFACE
- } ID3D12CommandQueueVtbl;
-
- interface ID3D12CommandQueue
- {
- CONST_VTBL struct ID3D12CommandQueueVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12CommandQueue_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12CommandQueue_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12CommandQueue_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12CommandQueue_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12CommandQueue_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12CommandQueue_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12CommandQueue_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12CommandQueue_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12CommandQueue_UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) \
- ( (This)->lpVtbl -> UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) )
-
-#define ID3D12CommandQueue_CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) \
- ( (This)->lpVtbl -> CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) )
-
-#define ID3D12CommandQueue_ExecuteCommandLists(This,NumCommandLists,ppCommandLists) \
- ( (This)->lpVtbl -> ExecuteCommandLists(This,NumCommandLists,ppCommandLists) )
-
-#define ID3D12CommandQueue_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12CommandQueue_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12CommandQueue_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12CommandQueue_Signal(This,pFence,Value) \
- ( (This)->lpVtbl -> Signal(This,pFence,Value) )
-
-#define ID3D12CommandQueue_Wait(This,pFence,Value) \
- ( (This)->lpVtbl -> Wait(This,pFence,Value) )
-
-#define ID3D12CommandQueue_GetTimestampFrequency(This,pFrequency) \
- ( (This)->lpVtbl -> GetTimestampFrequency(This,pFrequency) )
-
-#define ID3D12CommandQueue_GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) \
- ( (This)->lpVtbl -> GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) )
-#if !defined(_WIN32)
-
-#define ID3D12CommandQueue_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12CommandQueue_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12CommandQueue_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0020 */
-/* [local] */
-
-#ifdef __midl
-#ifndef LUID_DEFINED
-#define LUID_DEFINED 1
-typedef struct __LUID
- {
- DWORD LowPart;
- LONG HighPart;
- } LUID;
-
-typedef struct __LUID *PLUID;
-
-#endif
-#endif
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_s_ifspec;
-
-#ifndef __ID3D12Device_INTERFACE_DEFINED__
-#define __ID3D12Device_INTERFACE_DEFINED__
-
-/* interface ID3D12Device */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("189819f1-1db6-4b57-be54-1821339b85f7")
- ID3D12Device : public ID3D12Object
- {
- public:
- virtual UINT STDMETHODCALLTYPE GetNodeCount( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue(
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommandAllocator(
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateGraphicsPipelineState(
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateComputePipelineState(
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommandList(
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateDescriptorHeap(
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetDescriptorHandleIncrementSize(
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateRootSignature(
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature) = 0;
-
- virtual void STDMETHODCALLTYPE CreateConstantBufferView(
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CreateShaderResourceView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CreateUnorderedAccessView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CreateRenderTargetView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CreateDepthStencilView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CreateSampler(
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CopyDescriptors(
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
-
- virtual void STDMETHODCALLTYPE CopyDescriptorsSimple(
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo(
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0;
-#else
- virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo(
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0;
-#endif
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties(
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType) = 0;
-#else
- virtual D3D12_HEAP_PROPERTIES *STDMETHODCALLTYPE GetCustomHeapProperties(
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType) = 0;
-#endif
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource(
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateHeap(
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource(
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateReservedResource(
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle(
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE OpenSharedHandle(
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE OpenSharedHandleByName(
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE MakeResident(
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Evict(
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateFence(
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0;
-
- virtual void STDMETHODCALLTYPE GetCopyableFootprints(
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateQueryHeap(
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetStablePowerState(
- BOOL Enable) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommandSignature(
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature) = 0;
-
- virtual void STDMETHODCALLTYPE GetResourceTiling(
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips) = 0;
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual LUID STDMETHODCALLTYPE GetAdapterLuid( void) = 0;
-#else
- virtual LUID *STDMETHODCALLTYPE GetAdapterLuid(
- LUID * RetVal) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DeviceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device * This,
- LUID * RetVal);
-
-#endif
-
- END_INTERFACE
- } ID3D12DeviceVtbl;
-
- interface ID3D12Device
- {
- CONST_VTBL struct ID3D12DeviceVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12PipelineLibrary_INTERFACE_DEFINED__
-#define __ID3D12PipelineLibrary_INTERFACE_DEFINED__
-
-/* interface ID3D12PipelineLibrary */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12PipelineLibrary;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c64226a8-9201-46af-b4cc-53fb9ff7414f")
- ID3D12PipelineLibrary : public ID3D12DeviceChild
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE StorePipeline(
- _In_opt_ LPCWSTR pName,
- _In_ ID3D12PipelineState *pPipeline) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE LoadGraphicsPipeline(
- _In_ LPCWSTR pName,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE LoadComputePipeline(
- _In_ LPCWSTR pName,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- virtual SIZE_T STDMETHODCALLTYPE GetSerializedSize( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Serialize(
- _Out_writes_(DataSizeInBytes) void *pData,
- SIZE_T DataSizeInBytes) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12PipelineLibraryVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12PipelineLibrary * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12PipelineLibrary * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12PipelineLibrary * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12PipelineLibrary * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12PipelineLibrary * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12PipelineLibrary * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12PipelineLibrary * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12PipelineLibrary * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, StorePipeline)
- HRESULT ( STDMETHODCALLTYPE *StorePipeline )(
- ID3D12PipelineLibrary * This,
- _In_opt_ LPCWSTR pName,
- _In_ ID3D12PipelineState *pPipeline);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadGraphicsPipeline)
- HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )(
- ID3D12PipelineLibrary * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadComputePipeline)
- HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )(
- ID3D12PipelineLibrary * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, GetSerializedSize)
- SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )(
- ID3D12PipelineLibrary * This);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, Serialize)
- HRESULT ( STDMETHODCALLTYPE *Serialize )(
- ID3D12PipelineLibrary * This,
- _Out_writes_(DataSizeInBytes) void *pData,
- SIZE_T DataSizeInBytes);
-
- END_INTERFACE
- } ID3D12PipelineLibraryVtbl;
-
- interface ID3D12PipelineLibrary
- {
- CONST_VTBL struct ID3D12PipelineLibraryVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12PipelineLibrary_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12PipelineLibrary_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12PipelineLibrary_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12PipelineLibrary_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12PipelineLibrary_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12PipelineLibrary_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12PipelineLibrary_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12PipelineLibrary_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12PipelineLibrary_StorePipeline(This,pName,pPipeline) \
- ( (This)->lpVtbl -> StorePipeline(This,pName,pPipeline) )
-
-#define ID3D12PipelineLibrary_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) )
-
-#define ID3D12PipelineLibrary_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) )
-
-#define ID3D12PipelineLibrary_GetSerializedSize(This) \
- ( (This)->lpVtbl -> GetSerializedSize(This) )
-
-#define ID3D12PipelineLibrary_Serialize(This,pData,DataSizeInBytes) \
- ( (This)->lpVtbl -> Serialize(This,pData,DataSizeInBytes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12PipelineLibrary_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12PipelineLibrary1_INTERFACE_DEFINED__
-#define __ID3D12PipelineLibrary1_INTERFACE_DEFINED__
-
-/* interface ID3D12PipelineLibrary1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12PipelineLibrary1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("80eabf42-2568-4e5e-bd82-c37f86961dc3")
- ID3D12PipelineLibrary1 : public ID3D12PipelineLibrary
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE LoadPipeline(
- _In_ LPCWSTR pName,
- _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12PipelineLibrary1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12PipelineLibrary1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12PipelineLibrary1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12PipelineLibrary1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12PipelineLibrary1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12PipelineLibrary1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12PipelineLibrary1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12PipelineLibrary1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12PipelineLibrary1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, StorePipeline)
- HRESULT ( STDMETHODCALLTYPE *StorePipeline )(
- ID3D12PipelineLibrary1 * This,
- _In_opt_ LPCWSTR pName,
- _In_ ID3D12PipelineState *pPipeline);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadGraphicsPipeline)
- HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )(
- ID3D12PipelineLibrary1 * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadComputePipeline)
- HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )(
- ID3D12PipelineLibrary1 * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, GetSerializedSize)
- SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )(
- ID3D12PipelineLibrary1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, Serialize)
- HRESULT ( STDMETHODCALLTYPE *Serialize )(
- ID3D12PipelineLibrary1 * This,
- _Out_writes_(DataSizeInBytes) void *pData,
- SIZE_T DataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary1, LoadPipeline)
- HRESULT ( STDMETHODCALLTYPE *LoadPipeline )(
- ID3D12PipelineLibrary1 * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- END_INTERFACE
- } ID3D12PipelineLibrary1Vtbl;
-
- interface ID3D12PipelineLibrary1
- {
- CONST_VTBL struct ID3D12PipelineLibrary1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12PipelineLibrary1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12PipelineLibrary1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12PipelineLibrary1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12PipelineLibrary1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12PipelineLibrary1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12PipelineLibrary1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12PipelineLibrary1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12PipelineLibrary1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12PipelineLibrary1_StorePipeline(This,pName,pPipeline) \
- ( (This)->lpVtbl -> StorePipeline(This,pName,pPipeline) )
-
-#define ID3D12PipelineLibrary1_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) )
-
-#define ID3D12PipelineLibrary1_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) )
-
-#define ID3D12PipelineLibrary1_GetSerializedSize(This) \
- ( (This)->lpVtbl -> GetSerializedSize(This) )
-
-#define ID3D12PipelineLibrary1_Serialize(This,pData,DataSizeInBytes) \
- ( (This)->lpVtbl -> Serialize(This,pData,DataSizeInBytes) )
-
-
-#define ID3D12PipelineLibrary1_LoadPipeline(This,pName,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> LoadPipeline(This,pName,pDesc,riid,ppPipelineState) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12PipelineLibrary1_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0023 */
-/* [local] */
-
-typedef
-enum D3D12_MULTIPLE_FENCE_WAIT_FLAGS
- {
- D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0,
- D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 0x1,
- D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0
- } D3D12_MULTIPLE_FENCE_WAIT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTIPLE_FENCE_WAIT_FLAGS )
-typedef
-enum D3D12_RESIDENCY_PRIORITY
- {
- D3D12_RESIDENCY_PRIORITY_MINIMUM = 0x28000000,
- D3D12_RESIDENCY_PRIORITY_LOW = 0x50000000,
- D3D12_RESIDENCY_PRIORITY_NORMAL = 0x78000000,
- D3D12_RESIDENCY_PRIORITY_HIGH = 0xa0010000,
- D3D12_RESIDENCY_PRIORITY_MAXIMUM = 0xc8000000
- } D3D12_RESIDENCY_PRIORITY;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0023_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0023_v0_0_s_ifspec;
-
-#ifndef __ID3D12Device1_INTERFACE_DEFINED__
-#define __ID3D12Device1_INTERFACE_DEFINED__
-
-/* interface ID3D12Device1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("77acce80-638e-4e65-8895-c1f23386863e")
- ID3D12Device1 : public ID3D12Device
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreatePipelineLibrary(
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetEventOnMultipleFenceCompletion(
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetResidencyPriority(
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device1 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device1 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device1 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device1 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device1 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device1 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device1 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device1 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device1 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device1 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device1 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device1 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device1 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device1 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device1 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device1 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device1 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device1 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device1 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device1 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device1 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device1 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device1 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device1 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device1 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device1 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device1 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device1 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device1 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device1 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device1 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device1 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device1 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device1 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device1 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device1 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device1 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device1 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device1 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device1 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device1 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- END_INTERFACE
- } ID3D12Device1Vtbl;
-
- interface ID3D12Device1
- {
- CONST_VTBL struct ID3D12Device1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device1_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device1_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device1_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device1_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device1_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device1_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device1_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device1_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device1_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device1_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device1_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device1_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device1_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device1_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device1_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device1_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device1_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device1_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device1_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device1_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device1_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device1_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device1_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device1_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device1_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device1_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device1_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device1_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device1_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device1_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device1_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device1_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device1_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device1_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device1_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device1_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device1_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device1_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device1_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device1_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device1_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device1_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device1_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Device2_INTERFACE_DEFINED__
-#define __ID3D12Device2_INTERFACE_DEFINED__
-
-/* interface ID3D12Device2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("30baa41e-b15b-475c-a0bb-1af5c5b64328")
- ID3D12Device2 : public ID3D12Device1
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreatePipelineState(
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device2 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device2 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device2 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device2 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device2 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device2 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device2 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device2 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device2 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device2 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device2 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device2 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device2 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device2 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device2 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device2 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device2 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device2 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device2 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device2 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device2 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device2 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device2 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device2 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device2 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device2 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device2 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device2 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device2 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device2 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device2 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device2 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device2 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device2 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device2 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device2 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device2 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device2 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device2 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device2 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device2 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device2 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device2 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device2 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device2 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device2 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- END_INTERFACE
- } ID3D12Device2Vtbl;
-
- interface ID3D12Device2
- {
- CONST_VTBL struct ID3D12Device2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device2_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device2_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device2_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device2_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device2_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device2_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device2_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device2_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device2_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device2_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device2_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device2_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device2_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device2_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device2_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device2_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device2_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device2_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device2_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device2_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device2_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device2_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device2_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device2_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device2_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device2_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device2_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device2_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device2_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device2_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device2_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device2_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device2_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device2_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device2_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device2_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device2_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device2_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device2_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device2_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device2_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device2_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device2_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device2_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device2_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device2_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device2_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device2_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device2_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0025 */
-/* [local] */
-
-typedef
-enum D3D12_RESIDENCY_FLAGS
- {
- D3D12_RESIDENCY_FLAG_NONE = 0,
- D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = 0x1
- } D3D12_RESIDENCY_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESIDENCY_FLAGS )
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_s_ifspec;
-
-#ifndef __ID3D12Device3_INTERFACE_DEFINED__
-#define __ID3D12Device3_INTERFACE_DEFINED__
-
-/* interface ID3D12Device3 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device3;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("81dadc15-2bad-4392-93c5-101345c4aa98")
- ID3D12Device3 : public ID3D12Device2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromAddress(
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromFileMapping(
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnqueueMakeResident(
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device3Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device3 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device3 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device3 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device3 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device3 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device3 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device3 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device3 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device3 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device3 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device3 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device3 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device3 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device3 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device3 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device3 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device3 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device3 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device3 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device3 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device3 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device3 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device3 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device3 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device3 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device3 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device3 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device3 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device3 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device3 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device3 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device3 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device3 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device3 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device3 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device3 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device3 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device3 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device3 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device3 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device3 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device3 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device3 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device3 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device3 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device3 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device3 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device3 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device3 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device3 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device3 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- END_INTERFACE
- } ID3D12Device3Vtbl;
-
- interface ID3D12Device3
- {
- CONST_VTBL struct ID3D12Device3Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device3_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device3_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device3_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device3_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device3_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device3_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device3_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device3_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device3_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device3_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device3_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device3_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device3_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device3_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device3_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device3_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device3_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device3_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device3_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device3_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device3_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device3_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device3_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device3_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device3_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device3_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device3_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device3_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device3_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device3_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device3_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device3_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device3_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device3_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device3_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device3_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device3_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device3_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device3_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device3_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device3_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device3_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device3_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device3_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device3_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device3_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device3_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device3_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device3_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device3_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device3_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device3_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0026 */
-/* [local] */
-
-typedef
-enum D3D12_COMMAND_LIST_FLAGS
- {
- D3D12_COMMAND_LIST_FLAG_NONE = 0
- } D3D12_COMMAND_LIST_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_FLAGS )
-typedef
-enum D3D12_COMMAND_POOL_FLAGS
- {
- D3D12_COMMAND_POOL_FLAG_NONE = 0
- } D3D12_COMMAND_POOL_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_POOL_FLAGS )
-typedef
-enum D3D12_COMMAND_RECORDER_FLAGS
- {
- D3D12_COMMAND_RECORDER_FLAG_NONE = 0
- } D3D12_COMMAND_RECORDER_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_RECORDER_FLAGS )
-typedef
-enum D3D12_PROTECTED_SESSION_STATUS
- {
- D3D12_PROTECTED_SESSION_STATUS_OK = 0,
- D3D12_PROTECTED_SESSION_STATUS_INVALID = 1
- } D3D12_PROTECTED_SESSION_STATUS;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0026_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0026_v0_0_s_ifspec;
-
-#ifndef __ID3D12ProtectedSession_INTERFACE_DEFINED__
-#define __ID3D12ProtectedSession_INTERFACE_DEFINED__
-
-/* interface ID3D12ProtectedSession */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12ProtectedSession;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("A1533D18-0AC1-4084-85B9-89A96116806B")
- ID3D12ProtectedSession : public ID3D12DeviceChild
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetStatusFence(
- REFIID riid,
- _COM_Outptr_opt_ void **ppFence) = 0;
-
- virtual D3D12_PROTECTED_SESSION_STATUS STDMETHODCALLTYPE GetSessionStatus( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12ProtectedSessionVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12ProtectedSession * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12ProtectedSession * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12ProtectedSession * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12ProtectedSession * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12ProtectedSession * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12ProtectedSession * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12ProtectedSession * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12ProtectedSession * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence)
- HRESULT ( STDMETHODCALLTYPE *GetStatusFence )(
- ID3D12ProtectedSession * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus)
- D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )(
- ID3D12ProtectedSession * This);
-
- END_INTERFACE
- } ID3D12ProtectedSessionVtbl;
-
- interface ID3D12ProtectedSession
- {
- CONST_VTBL struct ID3D12ProtectedSessionVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12ProtectedSession_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12ProtectedSession_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12ProtectedSession_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12ProtectedSession_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12ProtectedSession_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12ProtectedSession_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12ProtectedSession_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12ProtectedSession_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12ProtectedSession_GetStatusFence(This,riid,ppFence) \
- ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) )
-
-#define ID3D12ProtectedSession_GetSessionStatus(This) \
- ( (This)->lpVtbl -> GetSessionStatus(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12ProtectedSession_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0027 */
-/* [local] */
-
-typedef
-enum D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS
- {
- D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE = 0,
- D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED = 0x1
- } D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS )
-typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT
- {
- UINT NodeIndex;
- D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS Support;
- } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT;
-
-typedef
-enum D3D12_PROTECTED_RESOURCE_SESSION_FLAGS
- {
- D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0
- } D3D12_PROTECTED_RESOURCE_SESSION_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_FLAGS )
-typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC
- {
- UINT NodeMask;
- D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
- } D3D12_PROTECTED_RESOURCE_SESSION_DESC;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_s_ifspec;
-
-#ifndef __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__
-#define __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__
-
-/* interface ID3D12ProtectedResourceSession */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12ProtectedResourceSession;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6CD696F4-F289-40CC-8091-5A6C0A099C3D")
- ID3D12ProtectedResourceSession : public ID3D12ProtectedSession
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12ProtectedResourceSessionVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12ProtectedResourceSession * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12ProtectedResourceSession * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12ProtectedResourceSession * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12ProtectedResourceSession * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12ProtectedResourceSession * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12ProtectedResourceSession * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12ProtectedResourceSession * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12ProtectedResourceSession * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence)
- HRESULT ( STDMETHODCALLTYPE *GetStatusFence )(
- ID3D12ProtectedResourceSession * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus)
- D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )(
- ID3D12ProtectedResourceSession * This);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession, GetDesc)
-#if !defined(_WIN32)
- D3D12_PROTECTED_RESOURCE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ProtectedResourceSession * This);
-
-#else
- D3D12_PROTECTED_RESOURCE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ProtectedResourceSession * This,
- D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal);
-
-#endif
-
- END_INTERFACE
- } ID3D12ProtectedResourceSessionVtbl;
-
- interface ID3D12ProtectedResourceSession
- {
- CONST_VTBL struct ID3D12ProtectedResourceSessionVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12ProtectedResourceSession_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12ProtectedResourceSession_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12ProtectedResourceSession_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12ProtectedResourceSession_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12ProtectedResourceSession_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12ProtectedResourceSession_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12ProtectedResourceSession_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12ProtectedResourceSession_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12ProtectedResourceSession_GetStatusFence(This,riid,ppFence) \
- ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) )
-
-#define ID3D12ProtectedResourceSession_GetSessionStatus(This) \
- ( (This)->lpVtbl -> GetSessionStatus(This) )
-
-#if !defined(_WIN32)
-
-#define ID3D12ProtectedResourceSession_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12ProtectedResourceSession_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Device4_INTERFACE_DEFINED__
-#define __ID3D12Device4_INTERFACE_DEFINED__
-
-/* interface ID3D12Device4 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device4;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("e865df17-a9ee-46f9-a463-3098315aa2e5")
- ID3D12Device4 : public ID3D12Device3
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateCommandList1(
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession(
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource1(
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateHeap1(
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateReservedResource1(
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo1(
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
-#else
- virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo1(
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device4Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device4 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device4 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device4 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device4 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device4 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device4 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device4 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device4 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device4 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device4 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device4 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device4 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device4 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device4 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device4 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device4 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device4 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device4 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device4 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device4 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device4 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device4 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device4 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device4 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device4 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device4 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device4 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device4 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device4 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device4 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device4 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device4 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device4 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device4 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device4 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device4 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device4 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device4 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device4 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device4 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device4 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device4 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device4 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device4 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device4 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device4 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device4 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device4 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device4 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device4 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device4 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device4 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device4 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device4 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device4 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device4 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device4 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device4 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- END_INTERFACE
- } ID3D12Device4Vtbl;
-
- interface ID3D12Device4
- {
- CONST_VTBL struct ID3D12Device4Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device4_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device4_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device4_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device4_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device4_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device4_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device4_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device4_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device4_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device4_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device4_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device4_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device4_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device4_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device4_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device4_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device4_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device4_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device4_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device4_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device4_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device4_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device4_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device4_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device4_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device4_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device4_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device4_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device4_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device4_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device4_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device4_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device4_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device4_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device4_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device4_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device4_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device4_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device4_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device4_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device4_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device4_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device4_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device4_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device4_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device4_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device4_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device4_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device4_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device4_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device4_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device4_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device4_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device4_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-
-#define ID3D12Device4_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
-
-#define ID3D12Device4_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
-
-#define ID3D12Device4_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device4_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
-
-#define ID3D12Device4_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
-#if !defined(_WIN32)
-
-#define ID3D12Device4_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device4_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device4_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0029 */
-/* [local] */
-
-typedef
-enum D3D12_LIFETIME_STATE
- {
- D3D12_LIFETIME_STATE_IN_USE = 0,
- D3D12_LIFETIME_STATE_NOT_IN_USE = ( D3D12_LIFETIME_STATE_IN_USE + 1 )
- } D3D12_LIFETIME_STATE;
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0029_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0029_v0_0_s_ifspec;
-
-#ifndef __ID3D12LifetimeOwner_INTERFACE_DEFINED__
-#define __ID3D12LifetimeOwner_INTERFACE_DEFINED__
-
-/* interface ID3D12LifetimeOwner */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12LifetimeOwner;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("e667af9f-cd56-4f46-83ce-032e595d70a8")
- ID3D12LifetimeOwner : public IUnknown
- {
- public:
- virtual void STDMETHODCALLTYPE LifetimeStateUpdated(
- D3D12_LIFETIME_STATE NewState) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12LifetimeOwnerVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12LifetimeOwner * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12LifetimeOwner * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12LifetimeOwner * This);
-
- DECLSPEC_XFGVIRT(ID3D12LifetimeOwner, LifetimeStateUpdated)
- void ( STDMETHODCALLTYPE *LifetimeStateUpdated )(
- ID3D12LifetimeOwner * This,
- D3D12_LIFETIME_STATE NewState);
-
- END_INTERFACE
- } ID3D12LifetimeOwnerVtbl;
-
- interface ID3D12LifetimeOwner
- {
- CONST_VTBL struct ID3D12LifetimeOwnerVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12LifetimeOwner_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12LifetimeOwner_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12LifetimeOwner_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12LifetimeOwner_LifetimeStateUpdated(This,NewState) \
- ( (This)->lpVtbl -> LifetimeStateUpdated(This,NewState) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12LifetimeOwner_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12SwapChainAssistant_INTERFACE_DEFINED__
-#define __ID3D12SwapChainAssistant_INTERFACE_DEFINED__
-
-/* interface ID3D12SwapChainAssistant */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12SwapChainAssistant;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("f1df64b6-57fd-49cd-8807-c0eb88b45c8f")
- ID3D12SwapChainAssistant : public IUnknown
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual LUID STDMETHODCALLTYPE GetLUID( void) = 0;
-#else
- virtual LUID *STDMETHODCALLTYPE GetLUID(
- LUID * RetVal) = 0;
-#endif
-
- virtual HRESULT STDMETHODCALLTYPE GetSwapChainObject(
- REFIID riid,
- _COM_Outptr_ void **ppv) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCurrentResourceAndCommandQueue(
- REFIID riidResource,
- _COM_Outptr_ void **ppvResource,
- REFIID riidQueue,
- _COM_Outptr_ void **ppvQueue) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE InsertImplicitSync( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12SwapChainAssistantVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12SwapChainAssistant * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12SwapChainAssistant * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12SwapChainAssistant * This);
-
- DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetLUID)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetLUID )(
- ID3D12SwapChainAssistant * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetLUID )(
- ID3D12SwapChainAssistant * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetSwapChainObject)
- HRESULT ( STDMETHODCALLTYPE *GetSwapChainObject )(
- ID3D12SwapChainAssistant * This,
- REFIID riid,
- _COM_Outptr_ void **ppv);
-
- DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetCurrentResourceAndCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *GetCurrentResourceAndCommandQueue )(
- ID3D12SwapChainAssistant * This,
- REFIID riidResource,
- _COM_Outptr_ void **ppvResource,
- REFIID riidQueue,
- _COM_Outptr_ void **ppvQueue);
-
- DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, InsertImplicitSync)
- HRESULT ( STDMETHODCALLTYPE *InsertImplicitSync )(
- ID3D12SwapChainAssistant * This);
-
- END_INTERFACE
- } ID3D12SwapChainAssistantVtbl;
-
- interface ID3D12SwapChainAssistant
- {
- CONST_VTBL struct ID3D12SwapChainAssistantVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12SwapChainAssistant_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12SwapChainAssistant_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12SwapChainAssistant_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-#if !defined(_WIN32)
-
-#define ID3D12SwapChainAssistant_GetLUID(This) \
- ( (This)->lpVtbl -> GetLUID(This) )
-#else
-#define ID3D12SwapChainAssistant_GetLUID(This,RetVal) \
- ( (This)->lpVtbl -> GetLUID(This,RetVal) )
-#endif
-
-#define ID3D12SwapChainAssistant_GetSwapChainObject(This,riid,ppv) \
- ( (This)->lpVtbl -> GetSwapChainObject(This,riid,ppv) )
-
-#define ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(This,riidResource,ppvResource,riidQueue,ppvQueue) \
- ( (This)->lpVtbl -> GetCurrentResourceAndCommandQueue(This,riidResource,ppvResource,riidQueue,ppvQueue) )
-
-#define ID3D12SwapChainAssistant_InsertImplicitSync(This) \
- ( (This)->lpVtbl -> InsertImplicitSync(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12SwapChainAssistant_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12LifetimeTracker_INTERFACE_DEFINED__
-#define __ID3D12LifetimeTracker_INTERFACE_DEFINED__
-
-/* interface ID3D12LifetimeTracker */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12LifetimeTracker;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("3fd03d36-4eb1-424a-a582-494ecb8ba813")
- ID3D12LifetimeTracker : public ID3D12DeviceChild
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE DestroyOwnedObject(
- _In_ ID3D12DeviceChild *pObject) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12LifetimeTrackerVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12LifetimeTracker * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12LifetimeTracker * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12LifetimeTracker * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12LifetimeTracker * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12LifetimeTracker * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12LifetimeTracker * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12LifetimeTracker * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12LifetimeTracker * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12LifetimeTracker, DestroyOwnedObject)
- HRESULT ( STDMETHODCALLTYPE *DestroyOwnedObject )(
- ID3D12LifetimeTracker * This,
- _In_ ID3D12DeviceChild *pObject);
-
- END_INTERFACE
- } ID3D12LifetimeTrackerVtbl;
-
- interface ID3D12LifetimeTracker
- {
- CONST_VTBL struct ID3D12LifetimeTrackerVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12LifetimeTracker_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12LifetimeTracker_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12LifetimeTracker_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12LifetimeTracker_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12LifetimeTracker_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12LifetimeTracker_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12LifetimeTracker_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12LifetimeTracker_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12LifetimeTracker_DestroyOwnedObject(This,pObject) \
- ( (This)->lpVtbl -> DestroyOwnedObject(This,pObject) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12LifetimeTracker_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0032 */
-/* [local] */
-
-typedef
-enum D3D12_META_COMMAND_PARAMETER_TYPE
- {
- D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT = 0,
- D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 = 1,
- D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS = 2,
- D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 3,
- D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 4
- } D3D12_META_COMMAND_PARAMETER_TYPE;
-
-typedef
-enum D3D12_META_COMMAND_PARAMETER_FLAGS
- {
- D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = 0x1,
- D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = 0x2
- } D3D12_META_COMMAND_PARAMETER_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_META_COMMAND_PARAMETER_FLAGS )
-typedef
-enum D3D12_META_COMMAND_PARAMETER_STAGE
- {
- D3D12_META_COMMAND_PARAMETER_STAGE_CREATION = 0,
- D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1,
- D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION = 2
- } D3D12_META_COMMAND_PARAMETER_STAGE;
-
-typedef struct D3D12_META_COMMAND_PARAMETER_DESC
- {
- LPCWSTR Name;
- D3D12_META_COMMAND_PARAMETER_TYPE Type;
- D3D12_META_COMMAND_PARAMETER_FLAGS Flags;
- D3D12_RESOURCE_STATES RequiredResourceState;
- UINT StructureOffset;
- } D3D12_META_COMMAND_PARAMETER_DESC;
-
-typedef
-enum D3D12_GRAPHICS_STATES
- {
- D3D12_GRAPHICS_STATE_NONE = 0,
- D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = ( 1 << 0 ) ,
- D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = ( 1 << 1 ) ,
- D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = ( 1 << 2 ) ,
- D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = ( 1 << 3 ) ,
- D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = ( 1 << 4 ) ,
- D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = ( 1 << 5 ) ,
- D3D12_GRAPHICS_STATE_RS_VIEWPORTS = ( 1 << 6 ) ,
- D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = ( 1 << 7 ) ,
- D3D12_GRAPHICS_STATE_PREDICATION = ( 1 << 8 ) ,
- D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = ( 1 << 9 ) ,
- D3D12_GRAPHICS_STATE_OM_STENCIL_REF = ( 1 << 10 ) ,
- D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = ( 1 << 11 ) ,
- D3D12_GRAPHICS_STATE_PIPELINE_STATE = ( 1 << 12 ) ,
- D3D12_GRAPHICS_STATE_SO_TARGETS = ( 1 << 13 ) ,
- D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = ( 1 << 14 ) ,
- D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = ( 1 << 15 ) ,
- D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = ( 1 << 16 )
- } D3D12_GRAPHICS_STATES;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_GRAPHICS_STATES )
-typedef struct D3D12_META_COMMAND_DESC
- {
- GUID Id;
- LPCWSTR Name;
- D3D12_GRAPHICS_STATES InitializationDirtyState;
- D3D12_GRAPHICS_STATES ExecutionDirtyState;
- } D3D12_META_COMMAND_DESC;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0032_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0032_v0_0_s_ifspec;
-
-#ifndef __ID3D12StateObject_INTERFACE_DEFINED__
-#define __ID3D12StateObject_INTERFACE_DEFINED__
-
-/* interface ID3D12StateObject */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12StateObject;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("47016943-fca8-4594-93ea-af258b55346d")
- ID3D12StateObject : public ID3D12Pageable
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12StateObjectVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12StateObject * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12StateObject * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12StateObject * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12StateObject * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12StateObject * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12StateObject * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12StateObject * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12StateObject * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12StateObjectVtbl;
-
- interface ID3D12StateObject
- {
- CONST_VTBL struct ID3D12StateObjectVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12StateObject_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12StateObject_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12StateObject_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12StateObject_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12StateObject_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12StateObject_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12StateObject_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12StateObject_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12StateObject_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12StateObjectProperties_INTERFACE_DEFINED__
-#define __ID3D12StateObjectProperties_INTERFACE_DEFINED__
-
-/* interface ID3D12StateObjectProperties */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12StateObjectProperties;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("de5fa827-9bf9-4f26-89ff-d7f56fde3860")
- ID3D12StateObjectProperties : public IUnknown
- {
- public:
- virtual void *STDMETHODCALLTYPE GetShaderIdentifier(
- _In_ LPCWSTR pExportName) = 0;
-
- virtual UINT64 STDMETHODCALLTYPE GetShaderStackSize(
- _In_ LPCWSTR pExportName) = 0;
-
- virtual UINT64 STDMETHODCALLTYPE GetPipelineStackSize( void) = 0;
-
- virtual void STDMETHODCALLTYPE SetPipelineStackSize(
- UINT64 PipelineStackSizeInBytes) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12StateObjectPropertiesVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12StateObjectProperties * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12StateObjectProperties * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12StateObjectProperties * This);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderIdentifier)
- void *( STDMETHODCALLTYPE *GetShaderIdentifier )(
- ID3D12StateObjectProperties * This,
- _In_ LPCWSTR pExportName);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderStackSize)
- UINT64 ( STDMETHODCALLTYPE *GetShaderStackSize )(
- ID3D12StateObjectProperties * This,
- _In_ LPCWSTR pExportName);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetPipelineStackSize)
- UINT64 ( STDMETHODCALLTYPE *GetPipelineStackSize )(
- ID3D12StateObjectProperties * This);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, SetPipelineStackSize)
- void ( STDMETHODCALLTYPE *SetPipelineStackSize )(
- ID3D12StateObjectProperties * This,
- UINT64 PipelineStackSizeInBytes);
-
- END_INTERFACE
- } ID3D12StateObjectPropertiesVtbl;
-
- interface ID3D12StateObjectProperties
- {
- CONST_VTBL struct ID3D12StateObjectPropertiesVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12StateObjectProperties_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12StateObjectProperties_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12StateObjectProperties_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12StateObjectProperties_GetShaderIdentifier(This,pExportName) \
- ( (This)->lpVtbl -> GetShaderIdentifier(This,pExportName) )
-
-#define ID3D12StateObjectProperties_GetShaderStackSize(This,pExportName) \
- ( (This)->lpVtbl -> GetShaderStackSize(This,pExportName) )
-
-#define ID3D12StateObjectProperties_GetPipelineStackSize(This) \
- ( (This)->lpVtbl -> GetPipelineStackSize(This) )
-
-#define ID3D12StateObjectProperties_SetPipelineStackSize(This,PipelineStackSizeInBytes) \
- ( (This)->lpVtbl -> SetPipelineStackSize(This,PipelineStackSizeInBytes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12StateObjectProperties_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0034 */
-/* [local] */
-
-typedef struct D3D12_PROGRAM_IDENTIFIER
- {
- UINT64 OpaqueData[ 4 ];
- } D3D12_PROGRAM_IDENTIFIER;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0034_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0034_v0_0_s_ifspec;
-
-#ifndef __ID3D12StateObjectProperties1_INTERFACE_DEFINED__
-#define __ID3D12StateObjectProperties1_INTERFACE_DEFINED__
-
-/* interface ID3D12StateObjectProperties1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12StateObjectProperties1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("460caac7-1d24-446a-a184-ca67db494138")
- ID3D12StateObjectProperties1 : public ID3D12StateObjectProperties
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_PROGRAM_IDENTIFIER STDMETHODCALLTYPE GetProgramIdentifier(
- LPCWSTR pProgramName) = 0;
-#else
- virtual D3D12_PROGRAM_IDENTIFIER *STDMETHODCALLTYPE GetProgramIdentifier(
- D3D12_PROGRAM_IDENTIFIER * RetVal,
- LPCWSTR pProgramName) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12StateObjectProperties1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12StateObjectProperties1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12StateObjectProperties1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12StateObjectProperties1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderIdentifier)
- void *( STDMETHODCALLTYPE *GetShaderIdentifier )(
- ID3D12StateObjectProperties1 * This,
- _In_ LPCWSTR pExportName);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderStackSize)
- UINT64 ( STDMETHODCALLTYPE *GetShaderStackSize )(
- ID3D12StateObjectProperties1 * This,
- _In_ LPCWSTR pExportName);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetPipelineStackSize)
- UINT64 ( STDMETHODCALLTYPE *GetPipelineStackSize )(
- ID3D12StateObjectProperties1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, SetPipelineStackSize)
- void ( STDMETHODCALLTYPE *SetPipelineStackSize )(
- ID3D12StateObjectProperties1 * This,
- UINT64 PipelineStackSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties1, GetProgramIdentifier)
-#if !defined(_WIN32)
- D3D12_PROGRAM_IDENTIFIER ( STDMETHODCALLTYPE *GetProgramIdentifier )(
- ID3D12StateObjectProperties1 * This,
- LPCWSTR pProgramName);
-
-#else
- D3D12_PROGRAM_IDENTIFIER *( STDMETHODCALLTYPE *GetProgramIdentifier )(
- ID3D12StateObjectProperties1 * This,
- D3D12_PROGRAM_IDENTIFIER * RetVal,
- LPCWSTR pProgramName);
-
-#endif
-
- END_INTERFACE
- } ID3D12StateObjectProperties1Vtbl;
-
- interface ID3D12StateObjectProperties1
- {
- CONST_VTBL struct ID3D12StateObjectProperties1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12StateObjectProperties1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12StateObjectProperties1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12StateObjectProperties1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12StateObjectProperties1_GetShaderIdentifier(This,pExportName) \
- ( (This)->lpVtbl -> GetShaderIdentifier(This,pExportName) )
-
-#define ID3D12StateObjectProperties1_GetShaderStackSize(This,pExportName) \
- ( (This)->lpVtbl -> GetShaderStackSize(This,pExportName) )
-
-#define ID3D12StateObjectProperties1_GetPipelineStackSize(This) \
- ( (This)->lpVtbl -> GetPipelineStackSize(This) )
-
-#define ID3D12StateObjectProperties1_SetPipelineStackSize(This,PipelineStackSizeInBytes) \
- ( (This)->lpVtbl -> SetPipelineStackSize(This,PipelineStackSizeInBytes) )
-
-#if !defined(_WIN32)
-
-#define ID3D12StateObjectProperties1_GetProgramIdentifier(This,pProgramName) \
- ( (This)->lpVtbl -> GetProgramIdentifier(This,pProgramName) )
-#else
-#define ID3D12StateObjectProperties1_GetProgramIdentifier(This,RetVal,pProgramName) \
- ( (This)->lpVtbl -> GetProgramIdentifier(This,RetVal,pProgramName) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12StateObjectProperties1_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0035 */
-/* [local] */
-
-typedef struct D3D12_NODE_ID
- {
- LPCWSTR Name;
- UINT ArrayIndex;
- } D3D12_NODE_ID;
-
-typedef struct D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS
- {
- UINT64 MinSizeInBytes;
- UINT64 MaxSizeInBytes;
- UINT SizeGranularityInBytes;
- } D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0035_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0035_v0_0_s_ifspec;
-
-#ifndef __ID3D12WorkGraphProperties_INTERFACE_DEFINED__
-#define __ID3D12WorkGraphProperties_INTERFACE_DEFINED__
-
-/* interface ID3D12WorkGraphProperties */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12WorkGraphProperties;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("065acf71-f863-4b89-82f4-02e4d5886757")
- ID3D12WorkGraphProperties : public IUnknown
- {
- public:
- virtual UINT STDMETHODCALLTYPE GetNumWorkGraphs( void) = 0;
-
- virtual LPCWSTR STDMETHODCALLTYPE GetProgramName(
- UINT WorkGraphIndex) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetWorkGraphIndex(
- LPCWSTR pProgramName) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetNumNodes(
- UINT WorkGraphIndex) = 0;
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_NODE_ID STDMETHODCALLTYPE GetNodeID(
- UINT WorkGraphIndex,
- UINT NodeIndex) = 0;
-#else
- virtual D3D12_NODE_ID *STDMETHODCALLTYPE GetNodeID(
- D3D12_NODE_ID * RetVal,
- UINT WorkGraphIndex,
- UINT NodeIndex) = 0;
-#endif
-
- virtual UINT STDMETHODCALLTYPE GetNodeIndex(
- UINT WorkGraphIndex,
- D3D12_NODE_ID NodeID) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetNodeLocalRootArgumentsTableIndex(
- UINT WorkGraphIndex,
- UINT NodeIndex) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetNumEntrypoints(
- UINT WorkGraphIndex) = 0;
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_NODE_ID STDMETHODCALLTYPE GetEntrypointID(
- UINT WorkGraphIndex,
- UINT EntrypointIndex) = 0;
-#else
- virtual D3D12_NODE_ID *STDMETHODCALLTYPE GetEntrypointID(
- D3D12_NODE_ID * RetVal,
- UINT WorkGraphIndex,
- UINT EntrypointIndex) = 0;
-#endif
-
- virtual UINT STDMETHODCALLTYPE GetEntrypointIndex(
- UINT WorkGraphIndex,
- D3D12_NODE_ID NodeID) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetEntrypointRecordSizeInBytes(
- UINT WorkGraphIndex,
- UINT EntrypointIndex) = 0;
-
- virtual void STDMETHODCALLTYPE GetWorkGraphMemoryRequirements(
- UINT WorkGraphIndex,
- _Out_ D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS *pWorkGraphMemoryRequirements) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetEntrypointRecordAlignmentInBytes(
- UINT WorkGraphIndex,
- UINT EntrypointIndex) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12WorkGraphPropertiesVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12WorkGraphProperties * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12WorkGraphProperties * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12WorkGraphProperties * This);
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNumWorkGraphs)
- UINT ( STDMETHODCALLTYPE *GetNumWorkGraphs )(
- ID3D12WorkGraphProperties * This);
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetProgramName)
- LPCWSTR ( STDMETHODCALLTYPE *GetProgramName )(
- ID3D12WorkGraphProperties * This,
- UINT WorkGraphIndex);
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetWorkGraphIndex)
- UINT ( STDMETHODCALLTYPE *GetWorkGraphIndex )(
- ID3D12WorkGraphProperties * This,
- LPCWSTR pProgramName);
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNumNodes)
- UINT ( STDMETHODCALLTYPE *GetNumNodes )(
- ID3D12WorkGraphProperties * This,
- UINT WorkGraphIndex);
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNodeID)
-#if !defined(_WIN32)
- D3D12_NODE_ID ( STDMETHODCALLTYPE *GetNodeID )(
- ID3D12WorkGraphProperties * This,
- UINT WorkGraphIndex,
- UINT NodeIndex);
-
-#else
- D3D12_NODE_ID *( STDMETHODCALLTYPE *GetNodeID )(
- ID3D12WorkGraphProperties * This,
- D3D12_NODE_ID * RetVal,
- UINT WorkGraphIndex,
- UINT NodeIndex);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNodeIndex)
- UINT ( STDMETHODCALLTYPE *GetNodeIndex )(
- ID3D12WorkGraphProperties * This,
- UINT WorkGraphIndex,
- D3D12_NODE_ID NodeID);
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNodeLocalRootArgumentsTableIndex)
- UINT ( STDMETHODCALLTYPE *GetNodeLocalRootArgumentsTableIndex )(
- ID3D12WorkGraphProperties * This,
- UINT WorkGraphIndex,
- UINT NodeIndex);
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNumEntrypoints)
- UINT ( STDMETHODCALLTYPE *GetNumEntrypoints )(
- ID3D12WorkGraphProperties * This,
- UINT WorkGraphIndex);
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointID)
-#if !defined(_WIN32)
- D3D12_NODE_ID ( STDMETHODCALLTYPE *GetEntrypointID )(
- ID3D12WorkGraphProperties * This,
- UINT WorkGraphIndex,
- UINT EntrypointIndex);
-
-#else
- D3D12_NODE_ID *( STDMETHODCALLTYPE *GetEntrypointID )(
- ID3D12WorkGraphProperties * This,
- D3D12_NODE_ID * RetVal,
- UINT WorkGraphIndex,
- UINT EntrypointIndex);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointIndex)
- UINT ( STDMETHODCALLTYPE *GetEntrypointIndex )(
- ID3D12WorkGraphProperties * This,
- UINT WorkGraphIndex,
- D3D12_NODE_ID NodeID);
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointRecordSizeInBytes)
- UINT ( STDMETHODCALLTYPE *GetEntrypointRecordSizeInBytes )(
- ID3D12WorkGraphProperties * This,
- UINT WorkGraphIndex,
- UINT EntrypointIndex);
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetWorkGraphMemoryRequirements)
- void ( STDMETHODCALLTYPE *GetWorkGraphMemoryRequirements )(
- ID3D12WorkGraphProperties * This,
- UINT WorkGraphIndex,
- _Out_ D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS *pWorkGraphMemoryRequirements);
-
- DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointRecordAlignmentInBytes)
- UINT ( STDMETHODCALLTYPE *GetEntrypointRecordAlignmentInBytes )(
- ID3D12WorkGraphProperties * This,
- UINT WorkGraphIndex,
- UINT EntrypointIndex);
-
- END_INTERFACE
- } ID3D12WorkGraphPropertiesVtbl;
-
- interface ID3D12WorkGraphProperties
- {
- CONST_VTBL struct ID3D12WorkGraphPropertiesVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12WorkGraphProperties_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12WorkGraphProperties_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12WorkGraphProperties_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12WorkGraphProperties_GetNumWorkGraphs(This) \
- ( (This)->lpVtbl -> GetNumWorkGraphs(This) )
-
-#define ID3D12WorkGraphProperties_GetProgramName(This,WorkGraphIndex) \
- ( (This)->lpVtbl -> GetProgramName(This,WorkGraphIndex) )
-
-#define ID3D12WorkGraphProperties_GetWorkGraphIndex(This,pProgramName) \
- ( (This)->lpVtbl -> GetWorkGraphIndex(This,pProgramName) )
-
-#define ID3D12WorkGraphProperties_GetNumNodes(This,WorkGraphIndex) \
- ( (This)->lpVtbl -> GetNumNodes(This,WorkGraphIndex) )
-#if !defined(_WIN32)
-
-#define ID3D12WorkGraphProperties_GetNodeID(This,WorkGraphIndex,NodeIndex) \
- ( (This)->lpVtbl -> GetNodeID(This,WorkGraphIndex,NodeIndex) )
-#else
-#define ID3D12WorkGraphProperties_GetNodeID(This,RetVal,WorkGraphIndex,NodeIndex) \
- ( (This)->lpVtbl -> GetNodeID(This,RetVal,WorkGraphIndex,NodeIndex) )
-#endif
-
-#define ID3D12WorkGraphProperties_GetNodeIndex(This,WorkGraphIndex,NodeID) \
- ( (This)->lpVtbl -> GetNodeIndex(This,WorkGraphIndex,NodeID) )
-
-#define ID3D12WorkGraphProperties_GetNodeLocalRootArgumentsTableIndex(This,WorkGraphIndex,NodeIndex) \
- ( (This)->lpVtbl -> GetNodeLocalRootArgumentsTableIndex(This,WorkGraphIndex,NodeIndex) )
-
-#define ID3D12WorkGraphProperties_GetNumEntrypoints(This,WorkGraphIndex) \
- ( (This)->lpVtbl -> GetNumEntrypoints(This,WorkGraphIndex) )
-#if !defined(_WIN32)
-
-#define ID3D12WorkGraphProperties_GetEntrypointID(This,WorkGraphIndex,EntrypointIndex) \
- ( (This)->lpVtbl -> GetEntrypointID(This,WorkGraphIndex,EntrypointIndex) )
-#else
-#define ID3D12WorkGraphProperties_GetEntrypointID(This,RetVal,WorkGraphIndex,EntrypointIndex) \
- ( (This)->lpVtbl -> GetEntrypointID(This,RetVal,WorkGraphIndex,EntrypointIndex) )
-#endif
-
-#define ID3D12WorkGraphProperties_GetEntrypointIndex(This,WorkGraphIndex,NodeID) \
- ( (This)->lpVtbl -> GetEntrypointIndex(This,WorkGraphIndex,NodeID) )
-
-#define ID3D12WorkGraphProperties_GetEntrypointRecordSizeInBytes(This,WorkGraphIndex,EntrypointIndex) \
- ( (This)->lpVtbl -> GetEntrypointRecordSizeInBytes(This,WorkGraphIndex,EntrypointIndex) )
-
-#define ID3D12WorkGraphProperties_GetWorkGraphMemoryRequirements(This,WorkGraphIndex,pWorkGraphMemoryRequirements) \
- ( (This)->lpVtbl -> GetWorkGraphMemoryRequirements(This,WorkGraphIndex,pWorkGraphMemoryRequirements) )
-
-#define ID3D12WorkGraphProperties_GetEntrypointRecordAlignmentInBytes(This,WorkGraphIndex,EntrypointIndex) \
- ( (This)->lpVtbl -> GetEntrypointRecordAlignmentInBytes(This,WorkGraphIndex,EntrypointIndex) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12WorkGraphProperties_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0036 */
-/* [local] */
-
-typedef
-enum D3D12_STATE_SUBOBJECT_TYPE
- {
- D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = 0,
- D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = 1,
- D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = 2,
- D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = 3,
- D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = 5,
- D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = 6,
- D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 7,
- D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 8,
- D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 9,
- D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 10,
- D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 11,
- D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = 12,
- D3D12_STATE_SUBOBJECT_TYPE_WORK_GRAPH = 13,
- D3D12_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = 14,
- D3D12_STATE_SUBOBJECT_TYPE_BLEND = 15,
- D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = 16,
- D3D12_STATE_SUBOBJECT_TYPE_RASTERIZER = 17,
- D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = 18,
- D3D12_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = 19,
- D3D12_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = 20,
- D3D12_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = 21,
- D3D12_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = 22,
- D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = 23,
- D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = 24,
- D3D12_STATE_SUBOBJECT_TYPE_FLAGS = 26,
- D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = 27,
- D3D12_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = 28,
- D3D12_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM = 29,
- D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 30,
- D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID = ( D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 + 1 )
- } D3D12_STATE_SUBOBJECT_TYPE;
-
-typedef struct D3D12_STATE_SUBOBJECT
- {
- D3D12_STATE_SUBOBJECT_TYPE Type;
- const void *pDesc;
- } D3D12_STATE_SUBOBJECT;
-
-typedef
-enum D3D12_STATE_OBJECT_FLAGS
- {
- D3D12_STATE_OBJECT_FLAG_NONE = 0,
- D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1,
- D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2,
- D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS = 0x4
- } D3D12_STATE_OBJECT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_STATE_OBJECT_FLAGS )
-typedef struct D3D12_STATE_OBJECT_CONFIG
- {
- D3D12_STATE_OBJECT_FLAGS Flags;
- } D3D12_STATE_OBJECT_CONFIG;
-
-typedef struct D3D12_GLOBAL_ROOT_SIGNATURE
- {
- ID3D12RootSignature *pGlobalRootSignature;
- } D3D12_GLOBAL_ROOT_SIGNATURE;
-
-typedef struct D3D12_LOCAL_ROOT_SIGNATURE
- {
- ID3D12RootSignature *pLocalRootSignature;
- } D3D12_LOCAL_ROOT_SIGNATURE;
-
-typedef struct D3D12_NODE_MASK
- {
- UINT NodeMask;
- } D3D12_NODE_MASK;
-
-typedef struct D3D12_SAMPLE_MASK
- {
- UINT SampleMask;
- } D3D12_SAMPLE_MASK;
-
-typedef struct D3D12_IB_STRIP_CUT_VALUE
- {
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IndexBufferStripCutValue;
- } D3D12_IB_STRIP_CUT_VALUE;
-
-typedef struct D3D12_PRIMITIVE_TOPOLOGY_DESC
- {
- D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopology;
- } D3D12_PRIMITIVE_TOPOLOGY_DESC;
-
-typedef struct D3D12_DEPTH_STENCIL_FORMAT
- {
- DXGI_FORMAT DepthStencilFormat;
- } D3D12_DEPTH_STENCIL_FORMAT;
-
-typedef
-enum D3D12_EXPORT_FLAGS
- {
- D3D12_EXPORT_FLAG_NONE = 0
- } D3D12_EXPORT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_EXPORT_FLAGS )
-typedef struct D3D12_EXPORT_DESC
- {
- LPCWSTR Name;
- _In_opt_ LPCWSTR ExportToRename;
- D3D12_EXPORT_FLAGS Flags;
- } D3D12_EXPORT_DESC;
-
-typedef struct D3D12_DXIL_LIBRARY_DESC
- {
- D3D12_SHADER_BYTECODE DXILLibrary;
- UINT NumExports;
- _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports;
- } D3D12_DXIL_LIBRARY_DESC;
-
-typedef struct D3D12_EXISTING_COLLECTION_DESC
- {
- ID3D12StateObject *pExistingCollection;
- UINT NumExports;
- _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports;
- } D3D12_EXISTING_COLLECTION_DESC;
-
-typedef struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION
- {
- const D3D12_STATE_SUBOBJECT *pSubobjectToAssociate;
- UINT NumExports;
- _In_reads_(NumExports) LPCWSTR *pExports;
- } D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
-
-typedef struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION
- {
- LPCWSTR SubobjectToAssociate;
- UINT NumExports;
- _In_reads_(NumExports) LPCWSTR *pExports;
- } D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
-
-typedef
-enum D3D12_HIT_GROUP_TYPE
- {
- D3D12_HIT_GROUP_TYPE_TRIANGLES = 0,
- D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE = 0x1
- } D3D12_HIT_GROUP_TYPE;
-
-typedef struct D3D12_HIT_GROUP_DESC
- {
- LPCWSTR HitGroupExport;
- D3D12_HIT_GROUP_TYPE Type;
- _In_opt_ LPCWSTR AnyHitShaderImport;
- _In_opt_ LPCWSTR ClosestHitShaderImport;
- _In_opt_ LPCWSTR IntersectionShaderImport;
- } D3D12_HIT_GROUP_DESC;
-
-typedef struct D3D12_RAYTRACING_SHADER_CONFIG
- {
- UINT MaxPayloadSizeInBytes;
- UINT MaxAttributeSizeInBytes;
- } D3D12_RAYTRACING_SHADER_CONFIG;
-
-typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG
- {
- UINT MaxTraceRecursionDepth;
- } D3D12_RAYTRACING_PIPELINE_CONFIG;
-
-typedef
-enum D3D12_RAYTRACING_PIPELINE_FLAGS
- {
- D3D12_RAYTRACING_PIPELINE_FLAG_NONE = 0,
- D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES = 0x100,
- D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200
- } D3D12_RAYTRACING_PIPELINE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_PIPELINE_FLAGS )
-typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG1
- {
- UINT MaxTraceRecursionDepth;
- D3D12_RAYTRACING_PIPELINE_FLAGS Flags;
- } D3D12_RAYTRACING_PIPELINE_CONFIG1;
-
-typedef struct D3D12_NODE_OUTPUT_OVERRIDES
- {
- UINT OutputIndex;
- _In_opt_ const D3D12_NODE_ID *pNewName;
- _In_opt_ const BOOL *pAllowSparseNodes;
- _In_opt_ const UINT *pMaxRecords;
- _In_opt_ const UINT *pMaxRecordsSharedWithOutputIndex;
- } D3D12_NODE_OUTPUT_OVERRIDES;
-
-typedef struct D3D12_BROADCASTING_LAUNCH_OVERRIDES
- {
- _In_opt_ const UINT *pLocalRootArgumentsTableIndex;
- _In_opt_ const BOOL *pProgramEntry;
- _In_opt_ const D3D12_NODE_ID *pNewName;
- _In_opt_ const D3D12_NODE_ID *pShareInputOf;
- _In_reads_opt_(3) const UINT *pDispatchGrid;
- _In_reads_opt_(3) const UINT *pMaxDispatchGrid;
- UINT NumOutputOverrides;
- _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides;
- } D3D12_BROADCASTING_LAUNCH_OVERRIDES;
-
-typedef struct D3D12_COALESCING_LAUNCH_OVERRIDES
- {
- _In_opt_ const UINT *pLocalRootArgumentsTableIndex;
- _In_opt_ const BOOL *pProgramEntry;
- _In_opt_ const D3D12_NODE_ID *pNewName;
- _In_opt_ const D3D12_NODE_ID *pShareInputOf;
- UINT NumOutputOverrides;
- _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides;
- } D3D12_COALESCING_LAUNCH_OVERRIDES;
-
-typedef struct D3D12_THREAD_LAUNCH_OVERRIDES
- {
- _In_opt_ const UINT *pLocalRootArgumentsTableIndex;
- _In_opt_ const BOOL *pProgramEntry;
- _In_opt_ const D3D12_NODE_ID *pNewName;
- _In_opt_ const D3D12_NODE_ID *pShareInputOf;
- UINT NumOutputOverrides;
- _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides;
- } D3D12_THREAD_LAUNCH_OVERRIDES;
-
-typedef struct D3D12_COMMON_COMPUTE_NODE_OVERRIDES
- {
- _In_opt_ const UINT *pLocalRootArgumentsTableIndex;
- _In_opt_ const BOOL *pProgramEntry;
- _In_opt_ const D3D12_NODE_ID *pNewName;
- _In_opt_ const D3D12_NODE_ID *pShareInputOf;
- UINT NumOutputOverrides;
- _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides;
- } D3D12_COMMON_COMPUTE_NODE_OVERRIDES;
-
-typedef
-enum D3D12_NODE_OVERRIDES_TYPE
- {
- D3D12_NODE_OVERRIDES_TYPE_NONE = 0,
- D3D12_NODE_OVERRIDES_TYPE_BROADCASTING_LAUNCH = 1,
- D3D12_NODE_OVERRIDES_TYPE_COALESCING_LAUNCH = 2,
- D3D12_NODE_OVERRIDES_TYPE_THREAD_LAUNCH = 3,
- D3D12_NODE_OVERRIDES_TYPE_COMMON_COMPUTE = 4
- } D3D12_NODE_OVERRIDES_TYPE;
-
-typedef struct D3D12_SHADER_NODE
- {
- LPCWSTR Shader;
- D3D12_NODE_OVERRIDES_TYPE OverridesType;
- union
- {
- const D3D12_BROADCASTING_LAUNCH_OVERRIDES *pBroadcastingLaunchOverrides;
- const D3D12_COALESCING_LAUNCH_OVERRIDES *pCoalescingLaunchOverrides;
- const D3D12_THREAD_LAUNCH_OVERRIDES *pThreadLaunchOverrides;
- const D3D12_COMMON_COMPUTE_NODE_OVERRIDES *pCommonComputeNodeOverrides;
- } ;
- } D3D12_SHADER_NODE;
-
-typedef
-enum D3D12_NODE_TYPE
- {
- D3D12_NODE_TYPE_SHADER = 0
- } D3D12_NODE_TYPE;
-
-typedef struct D3D12_NODE
- {
- D3D12_NODE_TYPE NodeType;
- union
- {
- D3D12_SHADER_NODE Shader;
- } ;
- } D3D12_NODE;
-
-typedef
-enum D3D12_WORK_GRAPH_FLAGS
- {
- D3D12_WORK_GRAPH_FLAG_NONE = 0,
- D3D12_WORK_GRAPH_FLAG_INCLUDE_ALL_AVAILABLE_NODES = 0x1
- } D3D12_WORK_GRAPH_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_WORK_GRAPH_FLAGS )
-typedef struct D3D12_WORK_GRAPH_DESC
- {
- LPCWSTR ProgramName;
- D3D12_WORK_GRAPH_FLAGS Flags;
- UINT NumEntrypoints;
- _In_reads_opt_(NumEntrypoints) const D3D12_NODE_ID *pEntrypoints;
- UINT NumExplicitlyDefinedNodes;
- _In_reads_opt_(NumExplicitlyDefinedNodes) const D3D12_NODE *pExplicitlyDefinedNodes;
- } D3D12_WORK_GRAPH_DESC;
-
-typedef struct D3D12_GENERIC_PROGRAM_DESC
- {
- LPCWSTR ProgramName;
- UINT NumExports;
- _In_reads_(NumExports) LPCWSTR *pExports;
- UINT NumSubobjects;
- _In_reads_opt_(NumSubobjects) const D3D12_STATE_SUBOBJECT *const *ppSubobjects;
- } D3D12_GENERIC_PROGRAM_DESC;
-
-typedef
-enum D3D12_STATE_OBJECT_TYPE
- {
- D3D12_STATE_OBJECT_TYPE_COLLECTION = 0,
- D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = 3,
- D3D12_STATE_OBJECT_TYPE_EXECUTABLE = 4
- } D3D12_STATE_OBJECT_TYPE;
-
-typedef struct D3D12_STATE_OBJECT_DESC
- {
- D3D12_STATE_OBJECT_TYPE Type;
- UINT NumSubobjects;
- _In_reads_(NumSubobjects) const D3D12_STATE_SUBOBJECT *pSubobjects;
- } D3D12_STATE_OBJECT_DESC;
-
-typedef
-enum D3D12_RAYTRACING_GEOMETRY_FLAGS
- {
- D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0,
- D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1,
- D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2
- } D3D12_RAYTRACING_GEOMETRY_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_GEOMETRY_FLAGS )
-typedef
-enum D3D12_RAYTRACING_GEOMETRY_TYPE
- {
- D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES = 0,
- D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS = ( D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES + 1 )
- } D3D12_RAYTRACING_GEOMETRY_TYPE;
-
-typedef
-enum D3D12_RAYTRACING_INSTANCE_FLAGS
- {
- D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0,
- D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1,
- D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2,
- D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4,
- D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8
- } D3D12_RAYTRACING_INSTANCE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_INSTANCE_FLAGS )
-typedef struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE
- {
- D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
- UINT64 StrideInBytes;
- } D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE;
-
-typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE
- {
- D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
- UINT64 SizeInBytes;
- } D3D12_GPU_VIRTUAL_ADDRESS_RANGE;
-
-typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE
- {
- D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
- UINT64 SizeInBytes;
- UINT64 StrideInBytes;
- } D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE;
-
-typedef struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC
- {
- D3D12_GPU_VIRTUAL_ADDRESS Transform3x4;
- DXGI_FORMAT IndexFormat;
- DXGI_FORMAT VertexFormat;
- UINT IndexCount;
- UINT VertexCount;
- D3D12_GPU_VIRTUAL_ADDRESS IndexBuffer;
- D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE VertexBuffer;
- } D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC;
-
-typedef struct D3D12_RAYTRACING_AABB
- {
- FLOAT MinX;
- FLOAT MinY;
- FLOAT MinZ;
- FLOAT MaxX;
- FLOAT MaxY;
- FLOAT MaxZ;
- } D3D12_RAYTRACING_AABB;
-
-typedef struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC
- {
- UINT64 AABBCount;
- D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE AABBs;
- } D3D12_RAYTRACING_GEOMETRY_AABBS_DESC;
-
-typedef
-enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE = 0,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE = 0x1,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION = 0x2,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE = 0x4,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD = 0x8,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY = 0x10,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE = 0x20
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS )
-typedef
-enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE = 0,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT = 0x1,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS = 0x2,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE = 0x3,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE = 0x4
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE;
-
-typedef
-enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = 0,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = 0x1
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE;
-
-typedef
-enum D3D12_ELEMENTS_LAYOUT
- {
- D3D12_ELEMENTS_LAYOUT_ARRAY = 0,
- D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = 0x1
- } D3D12_ELEMENTS_LAYOUT;
-
-typedef
-enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE = 0,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION = 0x1,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION = 0x2,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE = 0x3
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC
- {
- D3D12_GPU_VIRTUAL_ADDRESS DestBuffer;
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE InfoType;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC
- {
- UINT64 CompactedSizeInBytes;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC
- {
- UINT64 DecodedSizeInBytes;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC;
-
-typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
- UINT NumDescs;
- } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER;
-
-// Regarding D3D12_BUILD_RAY_TRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER above,
-// depending on Type field, NumDescs above is followed by either:
-// D3D12_RAY_TRACING_INSTANCE_DESC InstanceDescs[NumDescs]
-// or D3D12_RAY_TRACING_GEOMETRY_DESC GeometryDescs[NumDescs].
-// There is 4 bytes of padding between GeometryDesc structs in the array so alignment is natural when viewed by CPU.
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC
- {
- UINT64 SerializedSizeInBytes;
- UINT64 NumBottomLevelAccelerationStructurePointers;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC;
-
-typedef struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER
- {
- GUID DriverOpaqueGUID;
- BYTE DriverOpaqueVersioningData[ 16 ];
- } D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER;
-
-typedef
-enum D3D12_SERIALIZED_DATA_TYPE
- {
- D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0
- } D3D12_SERIALIZED_DATA_TYPE;
-
-typedef
-enum D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS
- {
- D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE = 0,
- D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE = 0x1,
- D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED = 0x2,
- D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION = 0x3,
- D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 0x4
- } D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS;
-
-typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER
- {
- D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier;
- UINT64 SerializedSizeInBytesIncludingHeader;
- UINT64 DeserializedSizeInBytes;
- UINT64 NumBottomLevelAccelerationStructurePointersAfterHeader;
- } D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC
- {
- UINT64 CurrentSizeInBytes;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC;
-
-typedef struct D3D12_RAYTRACING_INSTANCE_DESC
- {
- FLOAT Transform[ 3 ][ 4 ];
- UINT InstanceID : 24;
- UINT InstanceMask : 8;
- UINT InstanceContributionToHitGroupIndex : 24;
- UINT Flags : 8;
- D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure;
- } D3D12_RAYTRACING_INSTANCE_DESC;
-
-typedef struct D3D12_RAYTRACING_GEOMETRY_DESC
- {
- D3D12_RAYTRACING_GEOMETRY_TYPE Type;
- D3D12_RAYTRACING_GEOMETRY_FLAGS Flags;
- union
- {
- D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles;
- D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs;
- } ;
- } D3D12_RAYTRACING_GEOMETRY_DESC;
-
-typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags;
- UINT NumDescs;
- D3D12_ELEMENTS_LAYOUT DescsLayout;
- union
- {
- D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs;
- const D3D12_RAYTRACING_GEOMETRY_DESC *pGeometryDescs;
- const D3D12_RAYTRACING_GEOMETRY_DESC *const *ppGeometryDescs;
- } ;
- } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS;
-
-typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC
- {
- D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData;
- D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs;
- _In_opt_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData;
- D3D12_GPU_VIRTUAL_ADDRESS ScratchAccelerationStructureData;
- } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO
- {
- UINT64 ResultDataMaxSizeInBytes;
- UINT64 ScratchDataSizeInBytes;
- UINT64 UpdateScratchDataSizeInBytes;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO;
-
-typedef
-enum D3D12_RAY_FLAGS
- {
- D3D12_RAY_FLAG_NONE = 0,
- D3D12_RAY_FLAG_FORCE_OPAQUE = 0x1,
- D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x2,
- D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x4,
- D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x8,
- D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10,
- D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20,
- D3D12_RAY_FLAG_CULL_OPAQUE = 0x40,
- D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80,
- D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100,
- D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200
- } D3D12_RAY_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAY_FLAGS )
-typedef
-enum D3D12_HIT_KIND
- {
- D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = 0xfe,
- D3D12_HIT_KIND_TRIANGLE_BACK_FACE = 0xff
- } D3D12_HIT_KIND;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0036_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0036_v0_0_s_ifspec;
-
-#ifndef __ID3D12Device5_INTERFACE_DEFINED__
-#define __ID3D12Device5_INTERFACE_DEFINED__
-
-/* interface ID3D12Device5 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device5;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("8b4f173b-2fea-4b80-8f58-4307191ab95d")
- ID3D12Device5 : public ID3D12Device4
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateLifetimeTracker(
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker) = 0;
-
- virtual void STDMETHODCALLTYPE RemoveDevice( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommands(
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommandParameters(
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateMetaCommand(
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateStateObject(
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject) = 0;
-
- virtual void STDMETHODCALLTYPE GetRaytracingAccelerationStructurePrebuildInfo(
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo) = 0;
-
- virtual D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS STDMETHODCALLTYPE CheckDriverMatchingIdentifier(
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device5Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device5 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device5 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device5 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device5 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device5 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device5 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device5 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device5 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device5 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device5 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device5 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device5 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device5 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device5 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device5 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device5 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device5 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device5 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device5 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device5 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device5 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device5 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device5 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device5 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device5 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device5 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device5 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device5 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device5 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device5 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device5 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device5 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device5 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device5 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device5 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device5 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device5 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device5 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device5 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device5 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device5 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device5 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device5 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device5 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device5 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device5 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device5 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device5 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device5 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device5 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device5 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device5 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device5 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device5 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device5 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device5 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device5 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device5 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device5 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device5 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device5 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device5 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device5 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device5 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device5 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- END_INTERFACE
- } ID3D12Device5Vtbl;
-
- interface ID3D12Device5
- {
- CONST_VTBL struct ID3D12Device5Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device5_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device5_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device5_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device5_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device5_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device5_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device5_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device5_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device5_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device5_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device5_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device5_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device5_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device5_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device5_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device5_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device5_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device5_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device5_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device5_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device5_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device5_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device5_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device5_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device5_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device5_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device5_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device5_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device5_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device5_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device5_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device5_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device5_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device5_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device5_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device5_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device5_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device5_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device5_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device5_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device5_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device5_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device5_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device5_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device5_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device5_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device5_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device5_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device5_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device5_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device5_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device5_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device5_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device5_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-
-#define ID3D12Device5_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
-
-#define ID3D12Device5_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
-
-#define ID3D12Device5_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device5_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
-
-#define ID3D12Device5_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
-#if !defined(_WIN32)
-
-#define ID3D12Device5_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device5_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device5_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
-
-#define ID3D12Device5_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
-
-#define ID3D12Device5_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
-
-#define ID3D12Device5_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
-
-#define ID3D12Device5_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
-
-#define ID3D12Device5_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
-
-#define ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
-
-#define ID3D12Device5_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device5_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0037 */
-/* [local] */
-
-typedef
-enum D3D12_AUTO_BREADCRUMB_OP
- {
- D3D12_AUTO_BREADCRUMB_OP_SETMARKER = 0,
- D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = 1,
- D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = 2,
- D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = 3,
- D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = 4,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = 5,
- D3D12_AUTO_BREADCRUMB_OP_DISPATCH = 6,
- D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = 7,
- D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = 8,
- D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = 9,
- D3D12_AUTO_BREADCRUMB_OP_COPYTILES = 10,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = 11,
- D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = 12,
- D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = 13,
- D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = 14,
- D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = 15,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = 16,
- D3D12_AUTO_BREADCRUMB_OP_PRESENT = 17,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = 18,
- D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = 19,
- D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = 20,
- D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = 21,
- D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = 22,
- D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = 23,
- D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = 24,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = 25,
- D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = 26,
- D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = 27,
- D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = 28,
- D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = 29,
- D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = 30,
- D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = 31,
- D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 32,
- D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = 33,
- D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = 34,
- D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = 35,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = 36,
- D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = 37,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = 38,
- D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = 39,
- D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = 40,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = 41,
- D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = 42,
- D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = 43,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = 44,
- D3D12_AUTO_BREADCRUMB_OP_BARRIER = 45,
- D3D12_AUTO_BREADCRUMB_OP_BEGIN_COMMAND_LIST = 46,
- D3D12_AUTO_BREADCRUMB_OP_DISPATCHGRAPH = 47,
- D3D12_AUTO_BREADCRUMB_OP_SETPROGRAM = 48
- } D3D12_AUTO_BREADCRUMB_OP;
-
-typedef struct D3D12_AUTO_BREADCRUMB_NODE
- {
- const char *pCommandListDebugNameA;
- const wchar_t *pCommandListDebugNameW;
- const char *pCommandQueueDebugNameA;
- const wchar_t *pCommandQueueDebugNameW;
- ID3D12GraphicsCommandList *pCommandList;
- ID3D12CommandQueue *pCommandQueue;
- UINT32 BreadcrumbCount;
- const UINT32 *pLastBreadcrumbValue;
- const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory;
- const struct D3D12_AUTO_BREADCRUMB_NODE *pNext;
- } D3D12_AUTO_BREADCRUMB_NODE;
-
-typedef struct D3D12_DRED_BREADCRUMB_CONTEXT
- {
- UINT BreadcrumbIndex;
- const wchar_t *pContextString;
- } D3D12_DRED_BREADCRUMB_CONTEXT;
-
-typedef struct D3D12_AUTO_BREADCRUMB_NODE1
- {
- const char *pCommandListDebugNameA;
- const wchar_t *pCommandListDebugNameW;
- const char *pCommandQueueDebugNameA;
- const wchar_t *pCommandQueueDebugNameW;
- ID3D12GraphicsCommandList *pCommandList;
- ID3D12CommandQueue *pCommandQueue;
- UINT BreadcrumbCount;
- const UINT *pLastBreadcrumbValue;
- const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory;
- const struct D3D12_AUTO_BREADCRUMB_NODE1 *pNext;
- UINT BreadcrumbContextsCount;
- D3D12_DRED_BREADCRUMB_CONTEXT *pBreadcrumbContexts;
- } D3D12_AUTO_BREADCRUMB_NODE1;
-
-typedef
-enum D3D12_DRED_VERSION
- {
- D3D12_DRED_VERSION_1_0 = 0x1,
- D3D12_DRED_VERSION_1_1 = 0x2,
- D3D12_DRED_VERSION_1_2 = 0x3,
- D3D12_DRED_VERSION_1_3 = 0x4
- } D3D12_DRED_VERSION;
-
-typedef
-enum D3D12_DRED_FLAGS
- {
- D3D12_DRED_FLAG_NONE = 0,
- D3D12_DRED_FLAG_FORCE_ENABLE = 1,
- D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS = 2
- } D3D12_DRED_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_FLAGS )
-typedef
-enum D3D12_DRED_ENABLEMENT
- {
- D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = 0,
- D3D12_DRED_ENABLEMENT_FORCED_OFF = 1,
- D3D12_DRED_ENABLEMENT_FORCED_ON = 2
- } D3D12_DRED_ENABLEMENT;
-
-typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA
- {
- _In_ D3D12_DRED_FLAGS Flags;
- _Out_ D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode;
- } D3D12_DEVICE_REMOVED_EXTENDED_DATA;
-
-typedef
-enum D3D12_DRED_ALLOCATION_TYPE
- {
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = 19,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = 20,
- D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = 21,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = 22,
- D3D12_DRED_ALLOCATION_TYPE_FENCE = 23,
- D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = 24,
- D3D12_DRED_ALLOCATION_TYPE_HEAP = 25,
- D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = 27,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = 28,
- D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = 29,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = 30,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = 32,
- D3D12_DRED_ALLOCATION_TYPE_RESOURCE = 34,
- D3D12_DRED_ALLOCATION_TYPE_PASS = 35,
- D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = 36,
- D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = 37,
- D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = 38,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = 39,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = 40,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = 41,
- D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = 42,
- D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = 43,
- D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = 44,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = 45,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = 46,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = 47,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER = 48,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP = 49,
- D3D12_DRED_ALLOCATION_TYPE_INVALID = 0xffffffff
- } D3D12_DRED_ALLOCATION_TYPE;
-
-typedef struct D3D12_DRED_ALLOCATION_NODE
- {
- const char *ObjectNameA;
- const wchar_t *ObjectNameW;
- D3D12_DRED_ALLOCATION_TYPE AllocationType;
- const struct D3D12_DRED_ALLOCATION_NODE *pNext;
- } D3D12_DRED_ALLOCATION_NODE;
-
-typedef struct D3D12_DRED_ALLOCATION_NODE1
- {
- const char *ObjectNameA;
- const wchar_t *ObjectNameW;
- D3D12_DRED_ALLOCATION_TYPE AllocationType;
- const struct D3D12_DRED_ALLOCATION_NODE1 *pNext;
- const IUnknown *pObject;
- } D3D12_DRED_ALLOCATION_NODE1;
-
-typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT
- {
- _Out_ const D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode;
- } D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT;
-
-typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1
- {
- _Out_ const D3D12_AUTO_BREADCRUMB_NODE1 *pHeadAutoBreadcrumbNode;
- } D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1;
-
-typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT
- {
- D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
- _Out_ const D3D12_DRED_ALLOCATION_NODE *pHeadExistingAllocationNode;
- _Out_ const D3D12_DRED_ALLOCATION_NODE *pHeadRecentFreedAllocationNode;
- } D3D12_DRED_PAGE_FAULT_OUTPUT;
-
-typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT1
- {
- D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
- _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode;
- _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode;
- } D3D12_DRED_PAGE_FAULT_OUTPUT1;
-
-typedef
-enum D3D12_DRED_PAGE_FAULT_FLAGS
- {
- D3D12_DRED_PAGE_FAULT_FLAGS_NONE = 0
- } D3D12_DRED_PAGE_FAULT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_PAGE_FAULT_FLAGS )
-typedef
-enum D3D12_DRED_DEVICE_STATE
- {
- D3D12_DRED_DEVICE_STATE_UNKNOWN = 0,
- D3D12_DRED_DEVICE_STATE_HUNG = 3,
- D3D12_DRED_DEVICE_STATE_FAULT = 6,
- D3D12_DRED_DEVICE_STATE_PAGEFAULT = 7
- } D3D12_DRED_DEVICE_STATE;
-
-typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT2
- {
- D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
- _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode;
- _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode;
- D3D12_DRED_PAGE_FAULT_FLAGS PageFaultFlags;
- } D3D12_DRED_PAGE_FAULT_OUTPUT2;
-
-typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1
- {
- HRESULT DeviceRemovedReason;
- D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT AutoBreadcrumbsOutput;
- D3D12_DRED_PAGE_FAULT_OUTPUT PageFaultOutput;
- } D3D12_DEVICE_REMOVED_EXTENDED_DATA1;
-
-typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2
- {
- HRESULT DeviceRemovedReason;
- D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput;
- D3D12_DRED_PAGE_FAULT_OUTPUT1 PageFaultOutput;
- } D3D12_DEVICE_REMOVED_EXTENDED_DATA2;
-
-typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA3
- {
- HRESULT DeviceRemovedReason;
- D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput;
- D3D12_DRED_PAGE_FAULT_OUTPUT2 PageFaultOutput;
- D3D12_DRED_DEVICE_STATE DeviceState;
- } D3D12_DEVICE_REMOVED_EXTENDED_DATA3;
-
-typedef struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA
- {
- D3D12_DRED_VERSION Version;
- union
- {
- D3D12_DEVICE_REMOVED_EXTENDED_DATA Dred_1_0;
- D3D12_DEVICE_REMOVED_EXTENDED_DATA1 Dred_1_1;
- D3D12_DEVICE_REMOVED_EXTENDED_DATA2 Dred_1_2;
- D3D12_DEVICE_REMOVED_EXTENDED_DATA3 Dred_1_3;
- } ;
- } D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0037_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0037_v0_0_s_ifspec;
-
-#ifndef __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__
-#define __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__
-
-/* interface ID3D12DeviceRemovedExtendedDataSettings */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("82BC481C-6B9B-4030-AEDB-7EE3D1DF1E63")
- ID3D12DeviceRemovedExtendedDataSettings : public IUnknown
- {
- public:
- virtual void STDMETHODCALLTYPE SetAutoBreadcrumbsEnablement(
- D3D12_DRED_ENABLEMENT Enablement) = 0;
-
- virtual void STDMETHODCALLTYPE SetPageFaultEnablement(
- D3D12_DRED_ENABLEMENT Enablement) = 0;
-
- virtual void STDMETHODCALLTYPE SetWatsonDumpEnablement(
- D3D12_DRED_ENABLEMENT Enablement) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DeviceRemovedExtendedDataSettingsVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedDataSettings * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedDataSettings * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedDataSettings * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement)
- void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement)
- void ( STDMETHODCALLTYPE *SetPageFaultEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement)
- void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedDataSettingsVtbl;
-
- interface ID3D12DeviceRemovedExtendedDataSettings
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettingsVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DeviceRemovedExtendedDataSettings_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__
-#define __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__
-
-/* interface ID3D12DeviceRemovedExtendedDataSettings1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("DBD5AE51-3317-4F0A-ADF9-1D7CEDCAAE0B")
- ID3D12DeviceRemovedExtendedDataSettings1 : public ID3D12DeviceRemovedExtendedDataSettings
- {
- public:
- virtual void STDMETHODCALLTYPE SetBreadcrumbContextEnablement(
- D3D12_DRED_ENABLEMENT Enablement) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DeviceRemovedExtendedDataSettings1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement)
- void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement)
- void ( STDMETHODCALLTYPE *SetPageFaultEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement)
- void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings1, SetBreadcrumbContextEnablement)
- void ( STDMETHODCALLTYPE *SetBreadcrumbContextEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedDataSettings1Vtbl;
-
- interface ID3D12DeviceRemovedExtendedDataSettings1
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettings1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DeviceRemovedExtendedDataSettings1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DeviceRemovedExtendedDataSettings1_SetAutoBreadcrumbsEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings1_SetPageFaultEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings1_SetWatsonDumpEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) )
-
-
-#define ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetBreadcrumbContextEnablement(This,Enablement) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__
-#define __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__
-
-/* interface ID3D12DeviceRemovedExtendedDataSettings2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("61552388-01ab-4008-a436-83db189566ea")
- ID3D12DeviceRemovedExtendedDataSettings2 : public ID3D12DeviceRemovedExtendedDataSettings1
- {
- public:
- virtual void STDMETHODCALLTYPE UseMarkersOnlyAutoBreadcrumbs(
- BOOL MarkersOnly) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DeviceRemovedExtendedDataSettings2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement)
- void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement)
- void ( STDMETHODCALLTYPE *SetPageFaultEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement)
- void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings1, SetBreadcrumbContextEnablement)
- void ( STDMETHODCALLTYPE *SetBreadcrumbContextEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings2, UseMarkersOnlyAutoBreadcrumbs)
- void ( STDMETHODCALLTYPE *UseMarkersOnlyAutoBreadcrumbs )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- BOOL MarkersOnly);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedDataSettings2Vtbl;
-
- interface ID3D12DeviceRemovedExtendedDataSettings2
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettings2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DeviceRemovedExtendedDataSettings2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DeviceRemovedExtendedDataSettings2_SetAutoBreadcrumbsEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings2_SetPageFaultEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) )
-
-#define ID3D12DeviceRemovedExtendedDataSettings2_SetWatsonDumpEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) )
-
-
-#define ID3D12DeviceRemovedExtendedDataSettings2_SetBreadcrumbContextEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetBreadcrumbContextEnablement(This,Enablement) )
-
-
-#define ID3D12DeviceRemovedExtendedDataSettings2_UseMarkersOnlyAutoBreadcrumbs(This,MarkersOnly) \
- ( (This)->lpVtbl -> UseMarkersOnlyAutoBreadcrumbs(This,MarkersOnly) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__
-#define __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__
-
-/* interface ID3D12DeviceRemovedExtendedData */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("98931D33-5AE8-4791-AA3C-1A73A2934E71")
- ID3D12DeviceRemovedExtendedData : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput(
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput(
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DeviceRemovedExtendedDataVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedData * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedData * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedData * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput)
- HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )(
- ID3D12DeviceRemovedExtendedData * This,
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )(
- ID3D12DeviceRemovedExtendedData * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedDataVtbl;
-
- interface ID3D12DeviceRemovedExtendedData
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedDataVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DeviceRemovedExtendedData_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DeviceRemovedExtendedData_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DeviceRemovedExtendedData_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) )
-
-#define ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__
-#define __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__
-
-/* interface ID3D12DeviceRemovedExtendedData1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("9727A022-CF1D-4DDA-9EBA-EFFA653FC506")
- ID3D12DeviceRemovedExtendedData1 : public ID3D12DeviceRemovedExtendedData
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput1(
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput1(
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DeviceRemovedExtendedData1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedData1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedData1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedData1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput)
- HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )(
- ID3D12DeviceRemovedExtendedData1 * This,
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )(
- ID3D12DeviceRemovedExtendedData1 * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetAutoBreadcrumbsOutput1)
- HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1 )(
- ID3D12DeviceRemovedExtendedData1 * This,
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetPageFaultAllocationOutput1)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput1 )(
- ID3D12DeviceRemovedExtendedData1 * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedData1Vtbl;
-
- interface ID3D12DeviceRemovedExtendedData1
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedData1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DeviceRemovedExtendedData1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DeviceRemovedExtendedData1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DeviceRemovedExtendedData1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) )
-
-#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) )
-
-
-#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(This,pOutput) \
- ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput1(This,pOutput) )
-
-#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput1(This,pOutput) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__
-#define __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__
-
-/* interface ID3D12DeviceRemovedExtendedData2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("67FC5816-E4CA-4915-BF18-42541272DA54")
- ID3D12DeviceRemovedExtendedData2 : public ID3D12DeviceRemovedExtendedData1
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput2(
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT2 *pOutput) = 0;
-
- virtual D3D12_DRED_DEVICE_STATE STDMETHODCALLTYPE GetDeviceState( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DeviceRemovedExtendedData2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedData2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedData2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedData2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput)
- HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )(
- ID3D12DeviceRemovedExtendedData2 * This,
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )(
- ID3D12DeviceRemovedExtendedData2 * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetAutoBreadcrumbsOutput1)
- HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1 )(
- ID3D12DeviceRemovedExtendedData2 * This,
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetPageFaultAllocationOutput1)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput1 )(
- ID3D12DeviceRemovedExtendedData2 * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData2, GetPageFaultAllocationOutput2)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput2 )(
- ID3D12DeviceRemovedExtendedData2 * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT2 *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData2, GetDeviceState)
- D3D12_DRED_DEVICE_STATE ( STDMETHODCALLTYPE *GetDeviceState )(
- ID3D12DeviceRemovedExtendedData2 * This);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedData2Vtbl;
-
- interface ID3D12DeviceRemovedExtendedData2
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedData2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DeviceRemovedExtendedData2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DeviceRemovedExtendedData2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DeviceRemovedExtendedData2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) )
-
-#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) )
-
-
-#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput1(This,pOutput) \
- ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput1(This,pOutput) )
-
-#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput1(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput1(This,pOutput) )
-
-
-#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput2(This,pOutput) )
-
-#define ID3D12DeviceRemovedExtendedData2_GetDeviceState(This) \
- ( (This)->lpVtbl -> GetDeviceState(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0043 */
-/* [local] */
-
-typedef
-enum D3D12_BACKGROUND_PROCESSING_MODE
- {
- D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED = 0,
- D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS = ( D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED + 1 ) ,
- D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK = ( D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS + 1 ) ,
- D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM = ( D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK + 1 )
- } D3D12_BACKGROUND_PROCESSING_MODE;
-
-typedef
-enum D3D12_MEASUREMENTS_ACTION
- {
- D3D12_MEASUREMENTS_ACTION_KEEP_ALL = 0,
- D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS = ( D3D12_MEASUREMENTS_ACTION_KEEP_ALL + 1 ) ,
- D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY = ( D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS + 1 ) ,
- D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS = ( D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY + 1 )
- } D3D12_MEASUREMENTS_ACTION;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0043_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0043_v0_0_s_ifspec;
-
-#ifndef __ID3D12Device6_INTERFACE_DEFINED__
-#define __ID3D12Device6_INTERFACE_DEFINED__
-
-/* interface ID3D12Device6 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device6;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c70b221b-40e4-4a17-89af-025a0727a6dc")
- ID3D12Device6 : public ID3D12Device5
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetBackgroundProcessingMode(
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device6Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device6 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device6 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device6 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device6 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device6 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device6 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device6 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device6 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device6 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device6 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device6 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device6 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device6 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device6 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device6 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device6 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device6 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device6 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device6 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device6 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device6 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device6 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device6 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device6 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device6 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device6 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device6 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device6 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device6 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device6 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device6 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device6 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device6 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device6 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device6 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device6 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device6 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device6 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device6 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device6 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device6 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device6 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device6 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device6 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device6 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device6 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device6 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device6 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device6 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device6 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device6 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device6 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device6 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device6 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device6 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device6 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device6 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device6 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device6 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device6 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device6 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device6 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device6 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device6 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device6 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device6 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- END_INTERFACE
- } ID3D12Device6Vtbl;
-
- interface ID3D12Device6
- {
- CONST_VTBL struct ID3D12Device6Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device6_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device6_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device6_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device6_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device6_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device6_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device6_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device6_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device6_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device6_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device6_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device6_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device6_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device6_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device6_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device6_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device6_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device6_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device6_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device6_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device6_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device6_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device6_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device6_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device6_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device6_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device6_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device6_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device6_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device6_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device6_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device6_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device6_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device6_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device6_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device6_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device6_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device6_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device6_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device6_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device6_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device6_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device6_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device6_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device6_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device6_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device6_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device6_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device6_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device6_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device6_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device6_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device6_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device6_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-
-#define ID3D12Device6_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
-
-#define ID3D12Device6_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
-
-#define ID3D12Device6_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device6_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
-
-#define ID3D12Device6_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
-#if !defined(_WIN32)
-
-#define ID3D12Device6_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device6_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device6_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
-
-#define ID3D12Device6_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
-
-#define ID3D12Device6_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
-
-#define ID3D12Device6_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
-
-#define ID3D12Device6_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
-
-#define ID3D12Device6_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
-
-#define ID3D12Device6_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
-
-#define ID3D12Device6_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
-
-
-#define ID3D12Device6_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device6_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0044 */
-/* [local] */
-
-DEFINE_GUID(D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED, 0x62B0084E, 0xC70E, 0x4DAA, 0xA1, 0x09, 0x30, 0xFF, 0x8D, 0x5A, 0x04, 0x82);
-typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT
- {
- UINT NodeIndex;
- UINT Count;
- } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT;
-
-typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES
- {
- UINT NodeIndex;
- UINT Count;
- GUID *pTypes;
- } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES;
-
-typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1
- {
- UINT NodeMask;
- D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
- GUID ProtectionType;
- } D3D12_PROTECTED_RESOURCE_SESSION_DESC1;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0044_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0044_v0_0_s_ifspec;
-
-#ifndef __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__
-#define __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__
-
-/* interface ID3D12ProtectedResourceSession1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12ProtectedResourceSession1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("D6F12DD6-76FB-406E-8961-4296EEFC0409")
- ID3D12ProtectedResourceSession1 : public ID3D12ProtectedResourceSession
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1 STDMETHODCALLTYPE GetDesc1( void) = 0;
-#else
- virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *STDMETHODCALLTYPE GetDesc1(
- D3D12_PROTECTED_RESOURCE_SESSION_DESC1 * RetVal) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12ProtectedResourceSession1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12ProtectedResourceSession1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12ProtectedResourceSession1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12ProtectedResourceSession1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12ProtectedResourceSession1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12ProtectedResourceSession1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12ProtectedResourceSession1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12ProtectedResourceSession1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12ProtectedResourceSession1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence)
- HRESULT ( STDMETHODCALLTYPE *GetStatusFence )(
- ID3D12ProtectedResourceSession1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus)
- D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )(
- ID3D12ProtectedResourceSession1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession, GetDesc)
-#if !defined(_WIN32)
- D3D12_PROTECTED_RESOURCE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ProtectedResourceSession1 * This);
-
-#else
- D3D12_PROTECTED_RESOURCE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ProtectedResourceSession1 * This,
- D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession1, GetDesc1)
-#if !defined(_WIN32)
- D3D12_PROTECTED_RESOURCE_SESSION_DESC1 ( STDMETHODCALLTYPE *GetDesc1 )(
- ID3D12ProtectedResourceSession1 * This);
-
-#else
- D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *( STDMETHODCALLTYPE *GetDesc1 )(
- ID3D12ProtectedResourceSession1 * This,
- D3D12_PROTECTED_RESOURCE_SESSION_DESC1 * RetVal);
-
-#endif
-
- END_INTERFACE
- } ID3D12ProtectedResourceSession1Vtbl;
-
- interface ID3D12ProtectedResourceSession1
- {
- CONST_VTBL struct ID3D12ProtectedResourceSession1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12ProtectedResourceSession1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12ProtectedResourceSession1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12ProtectedResourceSession1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12ProtectedResourceSession1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12ProtectedResourceSession1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12ProtectedResourceSession1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12ProtectedResourceSession1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12ProtectedResourceSession1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12ProtectedResourceSession1_GetStatusFence(This,riid,ppFence) \
- ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) )
-
-#define ID3D12ProtectedResourceSession1_GetSessionStatus(This) \
- ( (This)->lpVtbl -> GetSessionStatus(This) )
-
-#if !defined(_WIN32)
-
-#define ID3D12ProtectedResourceSession1_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12ProtectedResourceSession1_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#if !defined(_WIN32)
-
-#define ID3D12ProtectedResourceSession1_GetDesc1(This) \
- ( (This)->lpVtbl -> GetDesc1(This) )
-#else
-#define ID3D12ProtectedResourceSession1_GetDesc1(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc1(This,RetVal) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Device7_INTERFACE_DEFINED__
-#define __ID3D12Device7_INTERFACE_DEFINED__
-
-/* interface ID3D12Device7 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device7;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("5c014b53-68a1-4b9b-8bd1-dd6046b9358b")
- ID3D12Device7 : public ID3D12Device6
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE AddToStateObject(
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession1(
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device7Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device7 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device7 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device7 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device7 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device7 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device7 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device7 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device7 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device7 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device7 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device7 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device7 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device7 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device7 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device7 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device7 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device7 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device7 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device7 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device7 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device7 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device7 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device7 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device7 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device7 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device7 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device7 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device7 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device7 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device7 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device7 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device7 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device7 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device7 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device7 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device7 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device7 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device7 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device7 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device7 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device7 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device7 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device7 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device7 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device7 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device7 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device7 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device7 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device7 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device7 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device7 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device7 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device7 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device7 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device7 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device7 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device7 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device7 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device7 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device7 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device7 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device7 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device7 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device7 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device7 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device7 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device7 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device7 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- END_INTERFACE
- } ID3D12Device7Vtbl;
-
- interface ID3D12Device7
- {
- CONST_VTBL struct ID3D12Device7Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device7_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device7_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device7_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device7_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device7_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device7_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device7_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device7_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device7_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device7_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device7_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device7_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device7_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device7_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device7_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device7_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device7_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device7_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device7_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device7_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device7_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device7_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device7_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device7_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device7_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device7_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device7_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device7_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device7_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device7_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device7_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device7_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device7_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device7_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device7_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device7_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device7_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device7_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device7_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device7_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device7_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device7_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device7_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device7_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device7_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device7_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device7_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device7_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device7_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device7_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device7_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device7_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device7_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device7_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-
-#define ID3D12Device7_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
-
-#define ID3D12Device7_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
-
-#define ID3D12Device7_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device7_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
-
-#define ID3D12Device7_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
-#if !defined(_WIN32)
-
-#define ID3D12Device7_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device7_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device7_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
-
-#define ID3D12Device7_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
-
-#define ID3D12Device7_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
-
-#define ID3D12Device7_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
-
-#define ID3D12Device7_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
-
-#define ID3D12Device7_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
-
-#define ID3D12Device7_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
-
-#define ID3D12Device7_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
-
-
-#define ID3D12Device7_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
-
-
-#define ID3D12Device7_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
-
-#define ID3D12Device7_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device7_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Device8_INTERFACE_DEFINED__
-#define __ID3D12Device8_INTERFACE_DEFINED__
-
-/* interface ID3D12Device8 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device8;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("9218E6BB-F944-4F7E-A75C-B1B2C7B701F3")
- ID3D12Device8 : public ID3D12Device7
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo2(
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
-#else
- virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo2(
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
-#endif
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource2(
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource1(
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual void STDMETHODCALLTYPE CreateSamplerFeedbackUnorderedAccessView(
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE GetCopyableFootprints1(
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device8Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device8 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device8 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device8 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device8 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device8 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device8 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device8 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device8 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device8 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device8 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device8 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device8 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device8 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device8 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device8 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device8 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device8 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device8 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device8 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device8 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device8 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device8 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device8 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device8 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device8 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device8 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device8 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device8 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device8 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device8 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device8 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device8 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device8 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device8 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device8 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device8 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device8 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device8 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device8 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device8 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device8 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device8 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device8 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device8 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device8 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device8 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device8 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device8 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device8 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device8 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device8 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device8 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device8 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device8 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device8 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device8 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device8 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device8 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device8 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device8 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device8 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device8 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device8 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device8 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device8 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device8 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device8 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device8 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device8 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device8 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device8 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device8 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device8 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device8 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- END_INTERFACE
- } ID3D12Device8Vtbl;
-
- interface ID3D12Device8
- {
- CONST_VTBL struct ID3D12Device8Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device8_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device8_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device8_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device8_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device8_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device8_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device8_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device8_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device8_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device8_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device8_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device8_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device8_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device8_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device8_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device8_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device8_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device8_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device8_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device8_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device8_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device8_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device8_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device8_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device8_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device8_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device8_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device8_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device8_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device8_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device8_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device8_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device8_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device8_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device8_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device8_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device8_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device8_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device8_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device8_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device8_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device8_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device8_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device8_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device8_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device8_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device8_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device8_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device8_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device8_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device8_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device8_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device8_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device8_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-
-#define ID3D12Device8_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
-
-#define ID3D12Device8_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
-
-#define ID3D12Device8_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device8_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
-
-#define ID3D12Device8_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
-#if !defined(_WIN32)
-
-#define ID3D12Device8_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device8_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device8_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
-
-#define ID3D12Device8_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
-
-#define ID3D12Device8_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
-
-#define ID3D12Device8_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
-
-#define ID3D12Device8_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
-
-#define ID3D12Device8_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
-
-#define ID3D12Device8_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
-
-#define ID3D12Device8_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
-
-
-#define ID3D12Device8_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
-
-
-#define ID3D12Device8_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
-
-#define ID3D12Device8_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
-
-#if !defined(_WIN32)
-
-#define ID3D12Device8_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device8_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-#define ID3D12Device8_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device8_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
-
-#define ID3D12Device8_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device8_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Resource1_INTERFACE_DEFINED__
-#define __ID3D12Resource1_INTERFACE_DEFINED__
-
-/* interface ID3D12Resource1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Resource1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("9D5E227A-4430-4161-88B3-3ECA6BB16E19")
- ID3D12Resource1 : public ID3D12Resource
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Resource1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Resource1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Resource1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Resource1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Resource1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Resource1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Resource1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Resource1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Resource1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Map)
- HRESULT ( STDMETHODCALLTYPE *Map )(
- ID3D12Resource1 * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pReadRange,
- _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Unmap)
- void ( STDMETHODCALLTYPE *Unmap )(
- ID3D12Resource1 * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc)
-#if !defined(_WIN32)
- D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource1 * This);
-
-#else
- D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource1 * This,
- D3D12_RESOURCE_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress)
- D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
- ID3D12Resource1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource)
- HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
- ID3D12Resource1 * This,
- UINT DstSubresource,
- _In_opt_ const D3D12_BOX *pDstBox,
- _In_ const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource)
- HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
- ID3D12Resource1 * This,
- _Out_ void *pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties)
- HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )(
- ID3D12Resource1 * This,
- _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
- _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags);
-
- DECLSPEC_XFGVIRT(ID3D12Resource1, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12Resource1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- END_INTERFACE
- } ID3D12Resource1Vtbl;
-
- interface ID3D12Resource1
- {
- CONST_VTBL struct ID3D12Resource1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Resource1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Resource1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Resource1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Resource1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Resource1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Resource1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Resource1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Resource1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12Resource1_Map(This,Subresource,pReadRange,ppData) \
- ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) )
-
-#define ID3D12Resource1_Unmap(This,Subresource,pWrittenRange) \
- ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) )
-#if !defined(_WIN32)
-
-#define ID3D12Resource1_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12Resource1_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#define ID3D12Resource1_GetGPUVirtualAddress(This) \
- ( (This)->lpVtbl -> GetGPUVirtualAddress(This) )
-
-#define ID3D12Resource1_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
- ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
-
-#define ID3D12Resource1_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
- ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
-
-#define ID3D12Resource1_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
- ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) )
-
-
-#define ID3D12Resource1_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Resource1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Resource2_INTERFACE_DEFINED__
-#define __ID3D12Resource2_INTERFACE_DEFINED__
-
-/* interface ID3D12Resource2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Resource2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("BE36EC3B-EA85-4AEB-A45A-E9D76404A495")
- ID3D12Resource2 : public ID3D12Resource1
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_DESC1 STDMETHODCALLTYPE GetDesc1( void) = 0;
-#else
- virtual D3D12_RESOURCE_DESC1 *STDMETHODCALLTYPE GetDesc1(
- D3D12_RESOURCE_DESC1 * RetVal) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Resource2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Resource2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Resource2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Resource2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Resource2 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Resource2 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Resource2 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Resource2 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Resource2 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Map)
- HRESULT ( STDMETHODCALLTYPE *Map )(
- ID3D12Resource2 * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pReadRange,
- _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Unmap)
- void ( STDMETHODCALLTYPE *Unmap )(
- ID3D12Resource2 * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc)
-#if !defined(_WIN32)
- D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource2 * This);
-
-#else
- D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource2 * This,
- D3D12_RESOURCE_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress)
- D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
- ID3D12Resource2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource)
- HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
- ID3D12Resource2 * This,
- UINT DstSubresource,
- _In_opt_ const D3D12_BOX *pDstBox,
- _In_ const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource)
- HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
- ID3D12Resource2 * This,
- _Out_ void *pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties)
- HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )(
- ID3D12Resource2 * This,
- _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
- _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags);
-
- DECLSPEC_XFGVIRT(ID3D12Resource1, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12Resource2 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- DECLSPEC_XFGVIRT(ID3D12Resource2, GetDesc1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_DESC1 ( STDMETHODCALLTYPE *GetDesc1 )(
- ID3D12Resource2 * This);
-
-#else
- D3D12_RESOURCE_DESC1 *( STDMETHODCALLTYPE *GetDesc1 )(
- ID3D12Resource2 * This,
- D3D12_RESOURCE_DESC1 * RetVal);
-
-#endif
-
- END_INTERFACE
- } ID3D12Resource2Vtbl;
-
- interface ID3D12Resource2
- {
- CONST_VTBL struct ID3D12Resource2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Resource2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Resource2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Resource2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Resource2_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Resource2_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Resource2_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Resource2_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Resource2_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12Resource2_Map(This,Subresource,pReadRange,ppData) \
- ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) )
-
-#define ID3D12Resource2_Unmap(This,Subresource,pWrittenRange) \
- ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) )
-#if !defined(_WIN32)
-
-#define ID3D12Resource2_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12Resource2_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#define ID3D12Resource2_GetGPUVirtualAddress(This) \
- ( (This)->lpVtbl -> GetGPUVirtualAddress(This) )
-
-#define ID3D12Resource2_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
- ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
-
-#define ID3D12Resource2_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
- ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
-
-#define ID3D12Resource2_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
- ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) )
-
-
-#define ID3D12Resource2_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
-
-#if !defined(_WIN32)
-
-#define ID3D12Resource2_GetDesc1(This) \
- ( (This)->lpVtbl -> GetDesc1(This) )
-#else
-#define ID3D12Resource2_GetDesc1(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc1(This,RetVal) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Resource2_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Heap1_INTERFACE_DEFINED__
-#define __ID3D12Heap1_INTERFACE_DEFINED__
-
-/* interface ID3D12Heap1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Heap1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("572F7389-2168-49E3-9693-D6DF5871BF6D")
- ID3D12Heap1 : public ID3D12Heap
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Heap1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Heap1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Heap1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Heap1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Heap1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Heap1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Heap1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Heap1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Heap1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Heap, GetDesc)
-#if !defined(_WIN32)
- D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Heap1 * This);
-
-#else
- D3D12_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Heap1 * This,
- D3D12_HEAP_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Heap1, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12Heap1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- END_INTERFACE
- } ID3D12Heap1Vtbl;
-
- interface ID3D12Heap1
- {
- CONST_VTBL struct ID3D12Heap1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Heap1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Heap1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Heap1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Heap1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Heap1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Heap1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Heap1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Heap1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#if !defined(_WIN32)
-
-#define ID3D12Heap1_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12Heap1_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-
-#define ID3D12Heap1_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Heap1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__
-#define __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__
-
-/* interface ID3D12GraphicsCommandList3 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GraphicsCommandList3;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6FDA83A7-B84C-4E38-9AC8-C7BD22016B3D")
- ID3D12GraphicsCommandList3 : public ID3D12GraphicsCommandList2
- {
- public:
- virtual void STDMETHODCALLTYPE SetProtectedResourceSession(
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GraphicsCommandList3Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList3 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList3 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList3 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList3 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList3 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList3 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList3 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList3 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList3 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList3 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList3 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList3 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList3 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList3 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList3 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList3 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList3 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList3 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList3Vtbl;
-
- interface ID3D12GraphicsCommandList3
- {
- CONST_VTBL struct ID3D12GraphicsCommandList3Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GraphicsCommandList3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GraphicsCommandList3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GraphicsCommandList3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GraphicsCommandList3_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12GraphicsCommandList3_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12GraphicsCommandList3_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12GraphicsCommandList3_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12GraphicsCommandList3_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12GraphicsCommandList3_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12GraphicsCommandList3_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12GraphicsCommandList3_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
-
-#define ID3D12GraphicsCommandList3_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList3_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList3_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList3_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#define ID3D12GraphicsCommandList3_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
-
-#define ID3D12GraphicsCommandList3_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
-
-#define ID3D12GraphicsCommandList3_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
-
-#define ID3D12GraphicsCommandList3_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
-
-#define ID3D12GraphicsCommandList3_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
-
-#define ID3D12GraphicsCommandList3_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
-
-#define ID3D12GraphicsCommandList3_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
-
-#define ID3D12GraphicsCommandList3_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList3_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
-
-#define ID3D12GraphicsCommandList3_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
-
-#define ID3D12GraphicsCommandList3_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12GraphicsCommandList3_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
-
-#define ID3D12GraphicsCommandList3_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
-
-#define ID3D12GraphicsCommandList3_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList3_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList3_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList3_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList3_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList3_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList3_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList3_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList3_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList3_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList3_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
-
-#define ID3D12GraphicsCommandList3_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList3_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList3_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
-
-#define ID3D12GraphicsCommandList3_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList3_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList3_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12GraphicsCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList3_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12GraphicsCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12GraphicsCommandList3_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList3_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList3_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12GraphicsCommandList3_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
-
-
-#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList3_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
-
-#define ID3D12GraphicsCommandList3_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
-
-#define ID3D12GraphicsCommandList3_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
-
-#define ID3D12GraphicsCommandList3_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
-
-
-#define ID3D12GraphicsCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12GraphicsCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0051 */
-/* [local] */
-
-typedef
-enum D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE
- {
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD = 0,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD + 1 ) ,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE + 1 ) ,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR + 1 ) ,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS + 1 ) ,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER + 1 ) ,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_UAV = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV + 1 )
- } D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE;
-
-typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS
- {
- D3D12_CLEAR_VALUE ClearValue;
- } D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS;
-
-typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS
- {
- UINT AdditionalWidth;
- UINT AdditionalHeight;
- } D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS;
-
-typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS
- {
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Type;
- union
- {
- D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS Clear;
- D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal;
- } ;
- } D3D12_RENDER_PASS_BEGINNING_ACCESS;
-
-typedef
-enum D3D12_RENDER_PASS_ENDING_ACCESS_TYPE
- {
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD = 0,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD + 1 ) ,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE + 1 ) ,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE + 1 ) ,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS + 1 ) ,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER + 1 ) ,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_UAV = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV + 1 )
- } D3D12_RENDER_PASS_ENDING_ACCESS_TYPE;
-
-typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS
- {
- UINT SrcSubresource;
- UINT DstSubresource;
- UINT DstX;
- UINT DstY;
- D3D12_RECT SrcRect;
- } D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS;
-
-typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS
- {
- ID3D12Resource *pSrcResource;
- ID3D12Resource *pDstResource;
- UINT SubresourceCount;
- _Field_size_full_(SubresourceCount) const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS *pSubresourceParameters;
- DXGI_FORMAT Format;
- D3D12_RESOLVE_MODE ResolveMode;
- BOOL PreserveResolveSource;
- } D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS;
-
-typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS
- {
- UINT AdditionalWidth;
- UINT AdditionalHeight;
- } D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS;
-
-typedef struct D3D12_RENDER_PASS_ENDING_ACCESS
- {
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Type;
- union
- {
- D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve;
- D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal;
- } ;
- } D3D12_RENDER_PASS_ENDING_ACCESS;
-
-typedef struct D3D12_RENDER_PASS_RENDER_TARGET_DESC
- {
- D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor;
- D3D12_RENDER_PASS_BEGINNING_ACCESS BeginningAccess;
- D3D12_RENDER_PASS_ENDING_ACCESS EndingAccess;
- } D3D12_RENDER_PASS_RENDER_TARGET_DESC;
-
-typedef struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC
- {
- D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor;
- D3D12_RENDER_PASS_BEGINNING_ACCESS DepthBeginningAccess;
- D3D12_RENDER_PASS_BEGINNING_ACCESS StencilBeginningAccess;
- D3D12_RENDER_PASS_ENDING_ACCESS DepthEndingAccess;
- D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess;
- } D3D12_RENDER_PASS_DEPTH_STENCIL_DESC;
-
-typedef
-enum D3D12_RENDER_PASS_FLAGS
- {
- D3D12_RENDER_PASS_FLAG_NONE = 0,
- D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 0x1,
- D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 0x2,
- D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 0x4,
- D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_DEPTH = 0x8,
- D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_STENCIL = 0x10
- } D3D12_RENDER_PASS_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_RENDER_PASS_FLAGS )
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0051_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0051_v0_0_s_ifspec;
-
-#ifndef __ID3D12MetaCommand_INTERFACE_DEFINED__
-#define __ID3D12MetaCommand_INTERFACE_DEFINED__
-
-/* interface ID3D12MetaCommand */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12MetaCommand;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("DBB84C27-36CE-4FC9-B801-F048C46AC570")
- ID3D12MetaCommand : public ID3D12Pageable
- {
- public:
- virtual UINT64 STDMETHODCALLTYPE GetRequiredParameterResourceSize(
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _In_ UINT ParameterIndex) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12MetaCommandVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12MetaCommand * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12MetaCommand * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12MetaCommand * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12MetaCommand * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12MetaCommand * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12MetaCommand * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12MetaCommand * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12MetaCommand * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12MetaCommand, GetRequiredParameterResourceSize)
- UINT64 ( STDMETHODCALLTYPE *GetRequiredParameterResourceSize )(
- ID3D12MetaCommand * This,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _In_ UINT ParameterIndex);
-
- END_INTERFACE
- } ID3D12MetaCommandVtbl;
-
- interface ID3D12MetaCommand
- {
- CONST_VTBL struct ID3D12MetaCommandVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12MetaCommand_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12MetaCommand_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12MetaCommand_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12MetaCommand_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12MetaCommand_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12MetaCommand_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12MetaCommand_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12MetaCommand_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12MetaCommand_GetRequiredParameterResourceSize(This,Stage,ParameterIndex) \
- ( (This)->lpVtbl -> GetRequiredParameterResourceSize(This,Stage,ParameterIndex) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12MetaCommand_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0052 */
-/* [local] */
-
-typedef struct D3D12_DISPATCH_RAYS_DESC
- {
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE RayGenerationShaderRecord;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE MissShaderTable;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE HitGroupTable;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE CallableShaderTable;
- UINT Width;
- UINT Height;
- UINT Depth;
- } D3D12_DISPATCH_RAYS_DESC;
-
-typedef
-enum D3D12_SET_WORK_GRAPH_FLAGS
- {
- D3D12_SET_WORK_GRAPH_FLAG_NONE = 0,
- D3D12_SET_WORK_GRAPH_FLAG_INITIALIZE = 0x1
- } D3D12_SET_WORK_GRAPH_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_SET_WORK_GRAPH_FLAGS )
-typedef struct D3D12_SET_WORK_GRAPH_DESC
- {
- D3D12_PROGRAM_IDENTIFIER ProgramIdentifier;
- D3D12_SET_WORK_GRAPH_FLAGS Flags;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE BackingMemory;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE NodeLocalRootArgumentsTable;
- } D3D12_SET_WORK_GRAPH_DESC;
-
-typedef struct D3D12_SET_RAYTRACING_PIPELINE_DESC
- {
- D3D12_PROGRAM_IDENTIFIER ProgramIdentifier;
- } D3D12_SET_RAYTRACING_PIPELINE_DESC;
-
-typedef struct D3D12_SET_GENERIC_PIPELINE_DESC
- {
- D3D12_PROGRAM_IDENTIFIER ProgramIdentifier;
- } D3D12_SET_GENERIC_PIPELINE_DESC;
-
-typedef
-enum D3D12_PROGRAM_TYPE
- {
- D3D12_PROGRAM_TYPE_GENERIC_PIPELINE = 1,
- D3D12_PROGRAM_TYPE_RAYTRACING_PIPELINE = 4,
- D3D12_PROGRAM_TYPE_WORK_GRAPH = 5
- } D3D12_PROGRAM_TYPE;
-
-typedef struct D3D12_SET_PROGRAM_DESC
- {
- D3D12_PROGRAM_TYPE Type;
- union
- {
- D3D12_SET_GENERIC_PIPELINE_DESC GenericPipeline;
- D3D12_SET_RAYTRACING_PIPELINE_DESC RaytracingPipeline;
- D3D12_SET_WORK_GRAPH_DESC WorkGraph;
- } ;
- } D3D12_SET_PROGRAM_DESC;
-
-typedef
-enum D3D12_DISPATCH_MODE
- {
- D3D12_DISPATCH_MODE_NODE_CPU_INPUT = 0,
- D3D12_DISPATCH_MODE_NODE_GPU_INPUT = 1,
- D3D12_DISPATCH_MODE_MULTI_NODE_CPU_INPUT = 2,
- D3D12_DISPATCH_MODE_MULTI_NODE_GPU_INPUT = 3
- } D3D12_DISPATCH_MODE;
-
-typedef struct D3D12_NODE_CPU_INPUT
- {
- UINT EntrypointIndex;
- UINT NumRecords;
- const void *pRecords;
- UINT64 RecordStrideInBytes;
- } D3D12_NODE_CPU_INPUT;
-
-typedef struct D3D12_NODE_GPU_INPUT
- {
- UINT EntrypointIndex;
- UINT NumRecords;
- D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE Records;
- } D3D12_NODE_GPU_INPUT;
-
-typedef struct D3D12_MULTI_NODE_CPU_INPUT
- {
- UINT NumNodeInputs;
- const D3D12_NODE_CPU_INPUT *pNodeInputs;
- UINT64 NodeInputStrideInBytes;
- } D3D12_MULTI_NODE_CPU_INPUT;
-
-typedef struct D3D12_MULTI_NODE_GPU_INPUT
- {
- UINT NumNodeInputs;
- D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE NodeInputs;
- } D3D12_MULTI_NODE_GPU_INPUT;
-
-typedef struct D3D12_DISPATCH_GRAPH_DESC
- {
- D3D12_DISPATCH_MODE Mode;
- union
- {
- D3D12_NODE_CPU_INPUT NodeCPUInput;
- D3D12_GPU_VIRTUAL_ADDRESS NodeGPUInput;
- D3D12_MULTI_NODE_CPU_INPUT MultiNodeCPUInput;
- D3D12_GPU_VIRTUAL_ADDRESS MultiNodeGPUInput;
- } ;
- } D3D12_DISPATCH_GRAPH_DESC;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0052_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0052_v0_0_s_ifspec;
-
-#ifndef __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__
-#define __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__
-
-/* interface ID3D12GraphicsCommandList4 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GraphicsCommandList4;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("8754318e-d3a9-4541-98cf-645b50dc4874")
- ID3D12GraphicsCommandList4 : public ID3D12GraphicsCommandList3
- {
- public:
- virtual void STDMETHODCALLTYPE BeginRenderPass(
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags) = 0;
-
- virtual void STDMETHODCALLTYPE EndRenderPass( void) = 0;
-
- virtual void STDMETHODCALLTYPE InitializeMetaCommand(
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes) = 0;
-
- virtual void STDMETHODCALLTYPE ExecuteMetaCommand(
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes) = 0;
-
- virtual void STDMETHODCALLTYPE BuildRaytracingAccelerationStructure(
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs) = 0;
-
- virtual void STDMETHODCALLTYPE EmitRaytracingAccelerationStructurePostbuildInfo(
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData) = 0;
-
- virtual void STDMETHODCALLTYPE CopyRaytracingAccelerationStructure(
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode) = 0;
-
- virtual void STDMETHODCALLTYPE SetPipelineState1(
- _In_ ID3D12StateObject *pStateObject) = 0;
-
- virtual void STDMETHODCALLTYPE DispatchRays(
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GraphicsCommandList4Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList4 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList4 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList4 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList4 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList4 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList4 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList4 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList4 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList4 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList4 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList4 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList4 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList4 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList4 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList4 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList4 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList4 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList4Vtbl;
-
- interface ID3D12GraphicsCommandList4
- {
- CONST_VTBL struct ID3D12GraphicsCommandList4Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GraphicsCommandList4_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GraphicsCommandList4_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GraphicsCommandList4_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GraphicsCommandList4_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12GraphicsCommandList4_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12GraphicsCommandList4_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12GraphicsCommandList4_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12GraphicsCommandList4_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12GraphicsCommandList4_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12GraphicsCommandList4_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12GraphicsCommandList4_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
-
-#define ID3D12GraphicsCommandList4_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList4_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList4_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList4_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#define ID3D12GraphicsCommandList4_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
-
-#define ID3D12GraphicsCommandList4_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
-
-#define ID3D12GraphicsCommandList4_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
-
-#define ID3D12GraphicsCommandList4_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
-
-#define ID3D12GraphicsCommandList4_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
-
-#define ID3D12GraphicsCommandList4_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
-
-#define ID3D12GraphicsCommandList4_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
-
-#define ID3D12GraphicsCommandList4_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList4_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
-
-#define ID3D12GraphicsCommandList4_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
-
-#define ID3D12GraphicsCommandList4_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList4_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12GraphicsCommandList4_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
-
-#define ID3D12GraphicsCommandList4_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
-
-#define ID3D12GraphicsCommandList4_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList4_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList4_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList4_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList4_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList4_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList4_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList4_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList4_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList4_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList4_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
-
-#define ID3D12GraphicsCommandList4_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList4_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList4_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
-
-#define ID3D12GraphicsCommandList4_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList4_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList4_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12GraphicsCommandList4_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList4_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList4_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12GraphicsCommandList4_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12GraphicsCommandList4_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList4_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList4_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12GraphicsCommandList4_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
-
-
-#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList4_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
-
-#define ID3D12GraphicsCommandList4_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
-
-#define ID3D12GraphicsCommandList4_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
-
-#define ID3D12GraphicsCommandList4_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
-
-
-#define ID3D12GraphicsCommandList4_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12GraphicsCommandList4_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-
-#define ID3D12GraphicsCommandList4_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
-
-#define ID3D12GraphicsCommandList4_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
-
-#define ID3D12GraphicsCommandList4_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList4_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
-
-#define ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
-
-#define ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
-
-#define ID3D12GraphicsCommandList4_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
-
-#define ID3D12GraphicsCommandList4_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0053 */
-/* [local] */
-
-typedef
-enum D3D12_SHADER_CACHE_MODE
- {
- D3D12_SHADER_CACHE_MODE_MEMORY = 0,
- D3D12_SHADER_CACHE_MODE_DISK = ( D3D12_SHADER_CACHE_MODE_MEMORY + 1 )
- } D3D12_SHADER_CACHE_MODE;
-
-typedef
-enum D3D12_SHADER_CACHE_FLAGS
- {
- D3D12_SHADER_CACHE_FLAG_NONE = 0,
- D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = 0x1,
- D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = 0x2
- } D3D12_SHADER_CACHE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_FLAGS )
-typedef struct D3D12_SHADER_CACHE_SESSION_DESC
- {
- GUID Identifier;
- D3D12_SHADER_CACHE_MODE Mode;
- D3D12_SHADER_CACHE_FLAGS Flags;
- UINT MaximumInMemoryCacheSizeBytes;
- UINT MaximumInMemoryCacheEntries;
- UINT MaximumValueFileSizeBytes;
- UINT64 Version;
- } D3D12_SHADER_CACHE_SESSION_DESC;
-
-typedef
-enum D3D12_BARRIER_LAYOUT
- {
- D3D12_BARRIER_LAYOUT_UNDEFINED = 0xffffffff,
- D3D12_BARRIER_LAYOUT_COMMON = 0,
- D3D12_BARRIER_LAYOUT_PRESENT = 0,
- D3D12_BARRIER_LAYOUT_GENERIC_READ = ( D3D12_BARRIER_LAYOUT_PRESENT + 1 ) ,
- D3D12_BARRIER_LAYOUT_RENDER_TARGET = ( D3D12_BARRIER_LAYOUT_GENERIC_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS = ( D3D12_BARRIER_LAYOUT_RENDER_TARGET + 1 ) ,
- D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE = ( D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS + 1 ) ,
- D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ = ( D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE + 1 ) ,
- D3D12_BARRIER_LAYOUT_SHADER_RESOURCE = ( D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_COPY_SOURCE = ( D3D12_BARRIER_LAYOUT_SHADER_RESOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_COPY_DEST = ( D3D12_BARRIER_LAYOUT_COPY_SOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE = ( D3D12_BARRIER_LAYOUT_COPY_DEST + 1 ) ,
- D3D12_BARRIER_LAYOUT_RESOLVE_DEST = ( D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE = ( D3D12_BARRIER_LAYOUT_RESOLVE_DEST + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ = ( D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE = ( D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ = ( D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE = ( D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ = ( D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE = ( D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON = ( D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST + 1 )
- } D3D12_BARRIER_LAYOUT;
-
-typedef
-enum D3D12_BARRIER_SYNC
- {
- D3D12_BARRIER_SYNC_NONE = 0,
- D3D12_BARRIER_SYNC_ALL = 0x1,
- D3D12_BARRIER_SYNC_DRAW = 0x2,
- D3D12_BARRIER_SYNC_INDEX_INPUT = 0x4,
- D3D12_BARRIER_SYNC_VERTEX_SHADING = 0x8,
- D3D12_BARRIER_SYNC_PIXEL_SHADING = 0x10,
- D3D12_BARRIER_SYNC_DEPTH_STENCIL = 0x20,
- D3D12_BARRIER_SYNC_RENDER_TARGET = 0x40,
- D3D12_BARRIER_SYNC_COMPUTE_SHADING = 0x80,
- D3D12_BARRIER_SYNC_RAYTRACING = 0x100,
- D3D12_BARRIER_SYNC_COPY = 0x200,
- D3D12_BARRIER_SYNC_RESOLVE = 0x400,
- D3D12_BARRIER_SYNC_EXECUTE_INDIRECT = 0x800,
- D3D12_BARRIER_SYNC_PREDICATION = 0x800,
- D3D12_BARRIER_SYNC_ALL_SHADING = 0x1000,
- D3D12_BARRIER_SYNC_NON_PIXEL_SHADING = 0x2000,
- D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO = 0x4000,
- D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW = 0x8000,
- D3D12_BARRIER_SYNC_VIDEO_DECODE = 0x100000,
- D3D12_BARRIER_SYNC_VIDEO_PROCESS = 0x200000,
- D3D12_BARRIER_SYNC_VIDEO_ENCODE = 0x400000,
- D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE = 0x800000,
- D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE = 0x1000000,
- D3D12_BARRIER_SYNC_SPLIT = 0x80000000
- } D3D12_BARRIER_SYNC;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_SYNC )
-typedef
-enum D3D12_BARRIER_ACCESS
- {
- D3D12_BARRIER_ACCESS_COMMON = 0,
- D3D12_BARRIER_ACCESS_VERTEX_BUFFER = 0x1,
- D3D12_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2,
- D3D12_BARRIER_ACCESS_INDEX_BUFFER = 0x4,
- D3D12_BARRIER_ACCESS_RENDER_TARGET = 0x8,
- D3D12_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10,
- D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20,
- D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40,
- D3D12_BARRIER_ACCESS_SHADER_RESOURCE = 0x80,
- D3D12_BARRIER_ACCESS_STREAM_OUTPUT = 0x100,
- D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200,
- D3D12_BARRIER_ACCESS_PREDICATION = 0x200,
- D3D12_BARRIER_ACCESS_COPY_DEST = 0x400,
- D3D12_BARRIER_ACCESS_COPY_SOURCE = 0x800,
- D3D12_BARRIER_ACCESS_RESOLVE_DEST = 0x1000,
- D3D12_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000,
- D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000,
- D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000,
- D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000,
- D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000,
- D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000,
- D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000,
- D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000,
- D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000,
- D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000,
- D3D12_BARRIER_ACCESS_NO_ACCESS = 0x80000000
- } D3D12_BARRIER_ACCESS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_ACCESS )
-typedef
-enum D3D12_BARRIER_TYPE
- {
- D3D12_BARRIER_TYPE_GLOBAL = 0,
- D3D12_BARRIER_TYPE_TEXTURE = ( D3D12_BARRIER_TYPE_GLOBAL + 1 ) ,
- D3D12_BARRIER_TYPE_BUFFER = ( D3D12_BARRIER_TYPE_TEXTURE + 1 )
- } D3D12_BARRIER_TYPE;
-
-typedef
-enum D3D12_TEXTURE_BARRIER_FLAGS
- {
- D3D12_TEXTURE_BARRIER_FLAG_NONE = 0,
- D3D12_TEXTURE_BARRIER_FLAG_DISCARD = 0x1
- } D3D12_TEXTURE_BARRIER_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_TEXTURE_BARRIER_FLAGS )
-typedef struct D3D12_BARRIER_SUBRESOURCE_RANGE
- {
- UINT IndexOrFirstMipLevel;
- UINT NumMipLevels;
- UINT FirstArraySlice;
- UINT NumArraySlices;
- UINT FirstPlane;
- UINT NumPlanes;
- } D3D12_BARRIER_SUBRESOURCE_RANGE;
-
-typedef struct D3D12_GLOBAL_BARRIER
- {
- D3D12_BARRIER_SYNC SyncBefore;
- D3D12_BARRIER_SYNC SyncAfter;
- D3D12_BARRIER_ACCESS AccessBefore;
- D3D12_BARRIER_ACCESS AccessAfter;
- } D3D12_GLOBAL_BARRIER;
-
-typedef struct D3D12_TEXTURE_BARRIER
- {
- D3D12_BARRIER_SYNC SyncBefore;
- D3D12_BARRIER_SYNC SyncAfter;
- D3D12_BARRIER_ACCESS AccessBefore;
- D3D12_BARRIER_ACCESS AccessAfter;
- D3D12_BARRIER_LAYOUT LayoutBefore;
- D3D12_BARRIER_LAYOUT LayoutAfter;
- _In_ ID3D12Resource *pResource;
- D3D12_BARRIER_SUBRESOURCE_RANGE Subresources;
- D3D12_TEXTURE_BARRIER_FLAGS Flags;
- } D3D12_TEXTURE_BARRIER;
-
-typedef struct D3D12_BUFFER_BARRIER
- {
- D3D12_BARRIER_SYNC SyncBefore;
- D3D12_BARRIER_SYNC SyncAfter;
- D3D12_BARRIER_ACCESS AccessBefore;
- D3D12_BARRIER_ACCESS AccessAfter;
- _In_ ID3D12Resource *pResource;
- UINT64 Offset;
- UINT64 Size;
- } D3D12_BUFFER_BARRIER;
-
-typedef struct D3D12_BARRIER_GROUP
- {
- D3D12_BARRIER_TYPE Type;
- UINT32 NumBarriers;
- union
- {
- _In_reads_(NumBarriers) const D3D12_GLOBAL_BARRIER *pGlobalBarriers;
- _In_reads_(NumBarriers) const D3D12_TEXTURE_BARRIER *pTextureBarriers;
- _In_reads_(NumBarriers) const D3D12_BUFFER_BARRIER *pBufferBarriers;
- } ;
- } D3D12_BARRIER_GROUP;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0053_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0053_v0_0_s_ifspec;
-
-#ifndef __ID3D12ShaderCacheSession_INTERFACE_DEFINED__
-#define __ID3D12ShaderCacheSession_INTERFACE_DEFINED__
-
-/* interface ID3D12ShaderCacheSession */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12ShaderCacheSession;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("28e2495d-0f64-4ae4-a6ec-129255dc49a8")
- ID3D12ShaderCacheSession : public ID3D12DeviceChild
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE FindValue(
- /* [annotation][in] */
- _In_reads_bytes_(KeySize) const void *pKey,
- UINT KeySize,
- /* [annotation][out] */
- _Out_writes_bytes_(*pValueSize) void *pValue,
- _Inout_ UINT *pValueSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE StoreValue(
- /* [annotation][in] */
- _In_reads_bytes_(KeySize) const void *pKey,
- UINT KeySize,
- /* [annotation][in] */
- _In_reads_bytes_(ValueSize) const void *pValue,
- UINT ValueSize) = 0;
-
- virtual void STDMETHODCALLTYPE SetDeleteOnDestroy( void) = 0;
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_SHADER_CACHE_SESSION_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_SHADER_CACHE_SESSION_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_SHADER_CACHE_SESSION_DESC * RetVal) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12ShaderCacheSessionVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12ShaderCacheSession * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12ShaderCacheSession * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12ShaderCacheSession * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12ShaderCacheSession * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12ShaderCacheSession * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12ShaderCacheSession * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12ShaderCacheSession * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12ShaderCacheSession * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, FindValue)
- HRESULT ( STDMETHODCALLTYPE *FindValue )(
- ID3D12ShaderCacheSession * This,
- /* [annotation][in] */
- _In_reads_bytes_(KeySize) const void *pKey,
- UINT KeySize,
- /* [annotation][out] */
- _Out_writes_bytes_(*pValueSize) void *pValue,
- _Inout_ UINT *pValueSize);
-
- DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, StoreValue)
- HRESULT ( STDMETHODCALLTYPE *StoreValue )(
- ID3D12ShaderCacheSession * This,
- /* [annotation][in] */
- _In_reads_bytes_(KeySize) const void *pKey,
- UINT KeySize,
- /* [annotation][in] */
- _In_reads_bytes_(ValueSize) const void *pValue,
- UINT ValueSize);
-
- DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, SetDeleteOnDestroy)
- void ( STDMETHODCALLTYPE *SetDeleteOnDestroy )(
- ID3D12ShaderCacheSession * This);
-
- DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, GetDesc)
-#if !defined(_WIN32)
- D3D12_SHADER_CACHE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ShaderCacheSession * This);
-
-#else
- D3D12_SHADER_CACHE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ShaderCacheSession * This,
- D3D12_SHADER_CACHE_SESSION_DESC * RetVal);
-
-#endif
-
- END_INTERFACE
- } ID3D12ShaderCacheSessionVtbl;
-
- interface ID3D12ShaderCacheSession
- {
- CONST_VTBL struct ID3D12ShaderCacheSessionVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12ShaderCacheSession_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12ShaderCacheSession_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12ShaderCacheSession_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12ShaderCacheSession_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12ShaderCacheSession_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12ShaderCacheSession_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12ShaderCacheSession_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12ShaderCacheSession_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12ShaderCacheSession_FindValue(This,pKey,KeySize,pValue,pValueSize) \
- ( (This)->lpVtbl -> FindValue(This,pKey,KeySize,pValue,pValueSize) )
-
-#define ID3D12ShaderCacheSession_StoreValue(This,pKey,KeySize,pValue,ValueSize) \
- ( (This)->lpVtbl -> StoreValue(This,pKey,KeySize,pValue,ValueSize) )
-
-#define ID3D12ShaderCacheSession_SetDeleteOnDestroy(This) \
- ( (This)->lpVtbl -> SetDeleteOnDestroy(This) )
-#if !defined(_WIN32)
-
-#define ID3D12ShaderCacheSession_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12ShaderCacheSession_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12ShaderCacheSession_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0054 */
-/* [local] */
-
-typedef
-enum D3D12_SHADER_CACHE_KIND_FLAGS
- {
- D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = 0x1,
- D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = 0x2,
- D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = 0x4,
- D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = 0x8
- } D3D12_SHADER_CACHE_KIND_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_KIND_FLAGS )
-typedef
-enum D3D12_SHADER_CACHE_CONTROL_FLAGS
- {
- D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = 0x1,
- D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = 0x2,
- D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = 0x4
- } D3D12_SHADER_CACHE_CONTROL_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_CONTROL_FLAGS )
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0054_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0054_v0_0_s_ifspec;
-
-#ifndef __ID3D12Device9_INTERFACE_DEFINED__
-#define __ID3D12Device9_INTERFACE_DEFINED__
-
-/* interface ID3D12Device9 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device9;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("4c80e962-f032-4f60-bc9e-ebc2cfa1d83c")
- ID3D12Device9 : public ID3D12Device8
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateShaderCacheSession(
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ShaderCacheControl(
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue1(
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device9Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device9 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device9 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device9 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device9 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device9 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device9 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device9 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device9 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device9 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device9 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device9 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device9 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device9 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device9 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device9 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device9 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device9 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device9 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device9 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device9 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device9 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device9 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device9 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device9 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device9 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device9 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device9 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device9 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device9 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device9 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device9 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device9 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device9 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device9 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device9 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device9 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device9 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device9 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device9 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device9 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device9 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device9 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device9 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device9 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device9 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device9 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device9 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device9 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device9 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device9 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device9 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device9 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device9 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device9 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device9 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device9 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device9 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device9 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device9 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device9 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device9 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device9 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device9 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device9 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device9 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device9 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device9 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device9 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device9 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
- HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
- ID3D12Device9 * This,
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
- HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
- ID3D12Device9 * This,
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- END_INTERFACE
- } ID3D12Device9Vtbl;
-
- interface ID3D12Device9
- {
- CONST_VTBL struct ID3D12Device9Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device9_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device9_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device9_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device9_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device9_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device9_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device9_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device9_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device9_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device9_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device9_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device9_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device9_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device9_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device9_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device9_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device9_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device9_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device9_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device9_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device9_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device9_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device9_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device9_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device9_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device9_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device9_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device9_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device9_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device9_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device9_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device9_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device9_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device9_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device9_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device9_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device9_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device9_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device9_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device9_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device9_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device9_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device9_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device9_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device9_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device9_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device9_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device9_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device9_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device9_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device9_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device9_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device9_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device9_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-
-#define ID3D12Device9_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
-
-#define ID3D12Device9_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
-
-#define ID3D12Device9_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device9_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
-
-#define ID3D12Device9_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
-#if !defined(_WIN32)
-
-#define ID3D12Device9_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device9_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device9_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
-
-#define ID3D12Device9_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
-
-#define ID3D12Device9_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
-
-#define ID3D12Device9_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
-
-#define ID3D12Device9_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
-
-#define ID3D12Device9_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
-
-#define ID3D12Device9_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
-
-#define ID3D12Device9_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
-
-
-#define ID3D12Device9_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
-
-
-#define ID3D12Device9_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
-
-#define ID3D12Device9_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
-
-#if !defined(_WIN32)
-
-#define ID3D12Device9_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device9_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-#define ID3D12Device9_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device9_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device9_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
-
-#define ID3D12Device9_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-
-#define ID3D12Device9_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
- ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
-
-#define ID3D12Device9_ShaderCacheControl(This,Kinds,Control) \
- ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
-
-#define ID3D12Device9_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device9_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Device10_INTERFACE_DEFINED__
-#define __ID3D12Device10_INTERFACE_DEFINED__
-
-/* interface ID3D12Device10 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device10;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("517f8718-aa66-49f9-b02b-a7ab89c06031")
- ID3D12Device10 : public ID3D12Device9
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource3(
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource2(
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateReservedResource2(
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device10Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device10 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device10 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device10 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device10 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device10 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device10 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device10 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device10 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device10 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device10 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device10 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device10 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device10 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device10 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device10 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device10 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device10 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device10 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device10 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device10 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device10 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device10 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device10 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device10 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device10 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device10 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device10 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device10 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device10 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device10 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device10 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device10 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device10 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device10 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device10 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device10 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device10 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device10 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device10 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device10 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device10 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device10 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device10 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device10 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device10 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device10 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device10 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device10 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device10 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device10 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device10 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device10 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device10 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device10 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device10 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device10 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device10 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device10 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device10 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device10 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device10 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device10 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device10 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device10 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device10 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device10 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
- HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
- ID3D12Device10 * This,
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
- HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
- ID3D12Device10 * This,
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
- ID3D12Device10 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
- ID3D12Device10 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- END_INTERFACE
- } ID3D12Device10Vtbl;
-
- interface ID3D12Device10
- {
- CONST_VTBL struct ID3D12Device10Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device10_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device10_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device10_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device10_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device10_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device10_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device10_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device10_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device10_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device10_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device10_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device10_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device10_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device10_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device10_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device10_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device10_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device10_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device10_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device10_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device10_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device10_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device10_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device10_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device10_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device10_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device10_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device10_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device10_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device10_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device10_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device10_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device10_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device10_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device10_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device10_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device10_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device10_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device10_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device10_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device10_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device10_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device10_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device10_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device10_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device10_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device10_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device10_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device10_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device10_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device10_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device10_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device10_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device10_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-
-#define ID3D12Device10_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
-
-#define ID3D12Device10_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
-
-#define ID3D12Device10_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device10_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
-
-#define ID3D12Device10_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
-#if !defined(_WIN32)
-
-#define ID3D12Device10_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device10_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device10_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
-
-#define ID3D12Device10_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
-
-#define ID3D12Device10_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
-
-#define ID3D12Device10_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
-
-#define ID3D12Device10_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
-
-#define ID3D12Device10_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
-
-#define ID3D12Device10_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
-
-#define ID3D12Device10_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
-
-
-#define ID3D12Device10_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
-
-
-#define ID3D12Device10_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
-
-#define ID3D12Device10_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
-
-#if !defined(_WIN32)
-
-#define ID3D12Device10_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device10_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-#define ID3D12Device10_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device10_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device10_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
-
-#define ID3D12Device10_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-
-#define ID3D12Device10_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
- ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
-
-#define ID3D12Device10_ShaderCacheControl(This,Kinds,Control) \
- ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
-
-#define ID3D12Device10_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
-
-
-#define ID3D12Device10_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
-
-#define ID3D12Device10_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
-
-#define ID3D12Device10_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device10_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Device11_INTERFACE_DEFINED__
-#define __ID3D12Device11_INTERFACE_DEFINED__
-
-/* interface ID3D12Device11 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device11;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("5405c344-d457-444e-b4dd-2366e45aee39")
- ID3D12Device11 : public ID3D12Device10
- {
- public:
- virtual void STDMETHODCALLTYPE CreateSampler2(
- _In_ const D3D12_SAMPLER_DESC2 *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device11Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device11 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device11 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device11 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device11 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device11 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device11 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device11 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device11 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device11 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device11 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device11 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device11 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device11 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device11 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device11 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device11 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device11 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device11 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device11 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device11 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device11 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device11 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device11 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device11 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device11 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device11 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device11 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device11 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device11 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device11 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device11 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device11 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device11 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device11 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device11 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device11 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device11 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device11 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device11 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device11 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device11 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device11 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device11 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device11 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device11 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device11 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device11 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device11 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device11 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device11 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device11 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device11 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device11 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device11 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device11 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device11 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device11 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device11 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device11 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device11 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device11 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device11 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device11 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device11 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device11 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device11 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device11 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device11 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device11 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device11 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
- HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
- ID3D12Device11 * This,
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
- HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
- ID3D12Device11 * This,
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
- ID3D12Device11 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
- ID3D12Device11 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2)
- void ( STDMETHODCALLTYPE *CreateSampler2 )(
- ID3D12Device11 * This,
- _In_ const D3D12_SAMPLER_DESC2 *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- END_INTERFACE
- } ID3D12Device11Vtbl;
-
- interface ID3D12Device11
- {
- CONST_VTBL struct ID3D12Device11Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device11_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device11_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device11_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device11_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device11_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device11_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device11_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device11_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device11_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device11_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device11_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device11_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device11_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device11_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device11_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device11_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device11_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device11_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device11_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device11_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device11_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device11_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device11_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device11_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device11_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device11_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device11_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device11_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device11_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device11_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device11_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device11_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device11_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device11_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device11_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device11_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device11_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device11_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device11_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device11_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device11_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device11_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device11_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device11_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device11_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device11_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device11_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device11_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device11_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device11_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device11_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device11_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device11_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device11_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-
-#define ID3D12Device11_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
-
-#define ID3D12Device11_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
-
-#define ID3D12Device11_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device11_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
-
-#define ID3D12Device11_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
-#if !defined(_WIN32)
-
-#define ID3D12Device11_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device11_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device11_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
-
-#define ID3D12Device11_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
-
-#define ID3D12Device11_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
-
-#define ID3D12Device11_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
-
-#define ID3D12Device11_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
-
-#define ID3D12Device11_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
-
-#define ID3D12Device11_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
-
-#define ID3D12Device11_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
-
-
-#define ID3D12Device11_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
-
-
-#define ID3D12Device11_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
-
-#define ID3D12Device11_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
-
-#if !defined(_WIN32)
-
-#define ID3D12Device11_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device11_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-#define ID3D12Device11_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device11_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device11_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
-
-#define ID3D12Device11_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-
-#define ID3D12Device11_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
- ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
-
-#define ID3D12Device11_ShaderCacheControl(This,Kinds,Control) \
- ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
-
-#define ID3D12Device11_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
-
-
-#define ID3D12Device11_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
-
-#define ID3D12Device11_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
-
-#define ID3D12Device11_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
-
-
-#define ID3D12Device11_CreateSampler2(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device11_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Device12_INTERFACE_DEFINED__
-#define __ID3D12Device12_INTERFACE_DEFINED__
-
-/* interface ID3D12Device12 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device12;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("5af5c532-4c91-4cd0-b541-15a405395fc5")
- ID3D12Device12 : public ID3D12Device11
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo3(
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
-#else
- virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo3(
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device12Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device12 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device12 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device12 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device12 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device12 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device12 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device12 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device12 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device12 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device12 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device12 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device12 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device12 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device12 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device12 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device12 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device12 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device12 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device12 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device12 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device12 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device12 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device12 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device12 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device12 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device12 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device12 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device12 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device12 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device12 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device12 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device12 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device12 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device12 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device12 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device12 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device12 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device12 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device12 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device12 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device12 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device12 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device12 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device12 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device12 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device12 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device12 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device12 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device12 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device12 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device12 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device12 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device12 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device12 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device12 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device12 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device12 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device12 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device12 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device12 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device12 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device12 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device12 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device12 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device12 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device12 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device12 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device12 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device12 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device12 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
- HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
- ID3D12Device12 * This,
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
- HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
- ID3D12Device12 * This,
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
- ID3D12Device12 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
- ID3D12Device12 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2)
- void ( STDMETHODCALLTYPE *CreateSampler2 )(
- ID3D12Device12 * This,
- _In_ const D3D12_SAMPLER_DESC2 *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device12, GetResourceAllocationInfo3)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
- ID3D12Device12 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
- ID3D12Device12 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- END_INTERFACE
- } ID3D12Device12Vtbl;
-
- interface ID3D12Device12
- {
- CONST_VTBL struct ID3D12Device12Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device12_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device12_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device12_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device12_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device12_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device12_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device12_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device12_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device12_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device12_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device12_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device12_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device12_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device12_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device12_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device12_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device12_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device12_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device12_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device12_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device12_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device12_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device12_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device12_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device12_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device12_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device12_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device12_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device12_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device12_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device12_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device12_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device12_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device12_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device12_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device12_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device12_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device12_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device12_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device12_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device12_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device12_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device12_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device12_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device12_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device12_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device12_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device12_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device12_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device12_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device12_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device12_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device12_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device12_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-
-#define ID3D12Device12_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
-
-#define ID3D12Device12_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
-
-#define ID3D12Device12_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device12_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
-
-#define ID3D12Device12_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
-#if !defined(_WIN32)
-
-#define ID3D12Device12_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device12_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device12_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
-
-#define ID3D12Device12_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
-
-#define ID3D12Device12_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
-
-#define ID3D12Device12_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
-
-#define ID3D12Device12_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
-
-#define ID3D12Device12_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
-
-#define ID3D12Device12_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
-
-#define ID3D12Device12_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
-
-
-#define ID3D12Device12_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
-
-
-#define ID3D12Device12_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
-
-#define ID3D12Device12_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
-
-#if !defined(_WIN32)
-
-#define ID3D12Device12_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device12_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-#define ID3D12Device12_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device12_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device12_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
-
-#define ID3D12Device12_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-
-#define ID3D12Device12_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
- ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
-
-#define ID3D12Device12_ShaderCacheControl(This,Kinds,Control) \
- ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
-
-#define ID3D12Device12_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
-
-
-#define ID3D12Device12_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
-
-#define ID3D12Device12_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
-
-#define ID3D12Device12_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
-
-
-#define ID3D12Device12_CreateSampler2(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) )
-
-#if !defined(_WIN32)
-
-#define ID3D12Device12_GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device12_GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device12_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Device13_INTERFACE_DEFINED__
-#define __ID3D12Device13_INTERFACE_DEFINED__
-
-/* interface ID3D12Device13 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device13;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("14eecffc-4df8-40f7-a118-5c816f45695e")
- ID3D12Device13 : public ID3D12Device12
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromAddress1(
- _In_ const void *pAddress,
- SIZE_T size,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device13Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device13 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device13 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device13 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device13 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device13 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device13 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device13 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device13 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device13 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device13 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device13 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device13 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device13 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device13 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device13 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device13 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device13 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device13 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device13 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device13 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device13 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device13 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device13 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device13 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device13 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device13 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device13 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device13 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device13 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device13 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device13 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device13 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device13 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device13 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device13 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device13 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device13 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device13 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device13 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device13 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device13 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device13 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device13 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device13 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device13 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device13 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device13 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device13 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device13 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device13 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device13 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device13 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device13 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device13 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device13 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device13 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device13 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device13 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device13 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device13 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device13 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device13 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device13 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device13 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device13 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device13 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device13 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device13 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device13 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device13 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
- HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
- ID3D12Device13 * This,
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
- HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
- ID3D12Device13 * This,
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
- ID3D12Device13 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
- ID3D12Device13 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2)
- void ( STDMETHODCALLTYPE *CreateSampler2 )(
- ID3D12Device13 * This,
- _In_ const D3D12_SAMPLER_DESC2 *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device12, GetResourceAllocationInfo3)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
- ID3D12Device13 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
- ID3D12Device13 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device13, OpenExistingHeapFromAddress1)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress1 )(
- ID3D12Device13 * This,
- _In_ const void *pAddress,
- SIZE_T size,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- END_INTERFACE
- } ID3D12Device13Vtbl;
-
- interface ID3D12Device13
- {
- CONST_VTBL struct ID3D12Device13Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device13_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device13_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device13_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device13_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device13_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device13_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device13_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device13_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device13_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device13_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device13_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device13_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device13_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device13_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device13_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device13_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device13_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device13_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device13_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device13_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device13_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device13_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device13_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device13_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device13_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device13_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device13_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device13_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device13_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device13_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device13_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device13_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device13_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device13_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device13_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device13_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device13_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device13_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device13_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device13_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device13_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device13_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device13_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device13_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device13_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device13_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device13_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device13_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device13_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device13_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device13_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device13_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device13_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device13_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-
-#define ID3D12Device13_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
-
-#define ID3D12Device13_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
-
-#define ID3D12Device13_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device13_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
-
-#define ID3D12Device13_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
-#if !defined(_WIN32)
-
-#define ID3D12Device13_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device13_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device13_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
-
-#define ID3D12Device13_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
-
-#define ID3D12Device13_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
-
-#define ID3D12Device13_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
-
-#define ID3D12Device13_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
-
-#define ID3D12Device13_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
-
-#define ID3D12Device13_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
-
-#define ID3D12Device13_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
-
-
-#define ID3D12Device13_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
-
-
-#define ID3D12Device13_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
-
-#define ID3D12Device13_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
-
-#if !defined(_WIN32)
-
-#define ID3D12Device13_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device13_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-#define ID3D12Device13_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device13_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device13_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
-
-#define ID3D12Device13_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-
-#define ID3D12Device13_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
- ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
-
-#define ID3D12Device13_ShaderCacheControl(This,Kinds,Control) \
- ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
-
-#define ID3D12Device13_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
-
-
-#define ID3D12Device13_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
-
-#define ID3D12Device13_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
-
-#define ID3D12Device13_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
-
-
-#define ID3D12Device13_CreateSampler2(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) )
-
-#if !defined(_WIN32)
-
-#define ID3D12Device13_GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device13_GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device13_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device13_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Device14_INTERFACE_DEFINED__
-#define __ID3D12Device14_INTERFACE_DEFINED__
-
-/* interface ID3D12Device14 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Device14;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("5f6e592d-d895-44c2-8e4a-88ad4926d323")
- ID3D12Device14 : public ID3D12Device13
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateRootSignatureFromSubobjectInLibrary(
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pLibraryBlob,
- _In_ SIZE_T blobLengthInBytes,
- _In_opt_ LPCWSTR subobjectName,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Device14Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device14 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device14 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device14 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device14 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device14 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device14 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device14 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device14 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device14 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device14 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device14 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device14 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device14 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device14 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device14 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device14 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device14 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device14 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device14 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device14 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device14 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device14 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device14 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device14 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device14 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device14 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device14 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
-#if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device14 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device14 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device14 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device14 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device14 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device14 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device14 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device14 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device14 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device14 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device14 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device14 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device14 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device14 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device14 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device14 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device14 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device14 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
-#if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device14 * This);
-
-#else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device14 * This,
- LUID * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device14 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device14 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device14 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device14 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device14 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device14 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device14 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device14 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device14 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device14 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device14 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device14 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device14 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device14 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device14 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device14 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device14 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device14 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device14 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device14 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device14 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device14 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device14 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device14 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device14 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device14 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device14 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device14 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device14 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device14 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device14 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
- HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
- ID3D12Device14 * This,
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
- HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
- ID3D12Device14 * This,
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
- ID3D12Device14 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
- ID3D12Device14 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
- ID3D12Device14 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
- ID3D12Device14 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2)
- void ( STDMETHODCALLTYPE *CreateSampler2 )(
- ID3D12Device14 * This,
- _In_ const D3D12_SAMPLER_DESC2 *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device12, GetResourceAllocationInfo3)
-#if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
- ID3D12Device14 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
- ID3D12Device14 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12Device13, OpenExistingHeapFromAddress1)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress1 )(
- ID3D12Device14 * This,
- _In_ const void *pAddress,
- SIZE_T size,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device14, CreateRootSignatureFromSubobjectInLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignatureFromSubobjectInLibrary )(
- ID3D12Device14 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pLibraryBlob,
- _In_ SIZE_T blobLengthInBytes,
- _In_opt_ LPCWSTR subobjectName,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- END_INTERFACE
- } ID3D12Device14Vtbl;
-
- interface ID3D12Device14
- {
- CONST_VTBL struct ID3D12Device14Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Device14_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Device14_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Device14_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Device14_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12Device14_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12Device14_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12Device14_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12Device14_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
-
-#define ID3D12Device14_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
-
-#define ID3D12Device14_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
-
-#define ID3D12Device14_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device14_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
-
-#define ID3D12Device14_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
-
-#define ID3D12Device14_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12Device14_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
-
-#define ID3D12Device14_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
-
-#define ID3D12Device14_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
-
-#define ID3D12Device14_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device14_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device14_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device14_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device14_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
-
-#define ID3D12Device14_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
-
-#define ID3D12Device14_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
-
-#define ID3D12Device14_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
-#if !defined(_WIN32)
-
-#define ID3D12Device14_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
-#else
-#define ID3D12Device14_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
-#endif
-#if !defined(_WIN32)
-
-#define ID3D12Device14_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
-#else
-#define ID3D12Device14_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
-#endif
-
-#define ID3D12Device14_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
-
-#define ID3D12Device14_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device14_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device14_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device14_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
-
-#define ID3D12Device14_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
-
-#define ID3D12Device14_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
-
-#define ID3D12Device14_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
-
-#define ID3D12Device14_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
-
-#define ID3D12Device14_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
-
-#define ID3D12Device14_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
-
-#define ID3D12Device14_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-#define ID3D12Device14_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
-
-#define ID3D12Device14_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
-
-#define ID3D12Device14_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
-
-#define ID3D12Device14_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
-#if !defined(_WIN32)
-
-#define ID3D12Device14_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
-#else
-#define ID3D12Device14_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
-#endif
-
-
-#define ID3D12Device14_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
-
-#define ID3D12Device14_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
-
-#define ID3D12Device14_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
-
-
-#define ID3D12Device14_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
-
-
-#define ID3D12Device14_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
-
-#define ID3D12Device14_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
-
-#define ID3D12Device14_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
-
-
-#define ID3D12Device14_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
-
-#define ID3D12Device14_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
-
-#define ID3D12Device14_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device14_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
-
-#define ID3D12Device14_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
-#if !defined(_WIN32)
-
-#define ID3D12Device14_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device14_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device14_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
-
-#define ID3D12Device14_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
-
-#define ID3D12Device14_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
-
-#define ID3D12Device14_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
-
-#define ID3D12Device14_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
-
-#define ID3D12Device14_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
-
-#define ID3D12Device14_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
-
-#define ID3D12Device14_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
-
-
-#define ID3D12Device14_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
-
-
-#define ID3D12Device14_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
-
-#define ID3D12Device14_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
-
-#if !defined(_WIN32)
-
-#define ID3D12Device14_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device14_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
-#endif
-
-#define ID3D12Device14_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
-
-#define ID3D12Device14_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
-
-#define ID3D12Device14_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
-
-#define ID3D12Device14_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
-
-
-#define ID3D12Device14_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
- ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
-
-#define ID3D12Device14_ShaderCacheControl(This,Kinds,Control) \
- ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
-
-#define ID3D12Device14_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
-
-
-#define ID3D12Device14_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
-
-#define ID3D12Device14_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
-
-#define ID3D12Device14_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
-
-
-#define ID3D12Device14_CreateSampler2(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) )
-
-#if !defined(_WIN32)
-
-#define ID3D12Device14_GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
-#else
-#define ID3D12Device14_GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
-#endif
-
-
-#define ID3D12Device14_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) )
-
-
-#define ID3D12Device14_CreateRootSignatureFromSubobjectInLibrary(This,nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignatureFromSubobjectInLibrary(This,nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Device14_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__
-#define __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__
-
-/* interface ID3D12VirtualizationGuestDevice */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VirtualizationGuestDevice;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("bc66d368-7373-4943-8757-fc87dc79e476")
- ID3D12VirtualizationGuestDevice : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE ShareWithHost(
- _In_ ID3D12DeviceChild *pObject,
- _Out_ HANDLE *pHandle) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateFenceFd(
- _In_ ID3D12Fence *pFence,
- UINT64 FenceValue,
- _Out_ int *pFenceFd) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VirtualizationGuestDeviceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VirtualizationGuestDevice * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VirtualizationGuestDevice * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VirtualizationGuestDevice * This);
-
- DECLSPEC_XFGVIRT(ID3D12VirtualizationGuestDevice, ShareWithHost)
- HRESULT ( STDMETHODCALLTYPE *ShareWithHost )(
- ID3D12VirtualizationGuestDevice * This,
- _In_ ID3D12DeviceChild *pObject,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12VirtualizationGuestDevice, CreateFenceFd)
- HRESULT ( STDMETHODCALLTYPE *CreateFenceFd )(
- ID3D12VirtualizationGuestDevice * This,
- _In_ ID3D12Fence *pFence,
- UINT64 FenceValue,
- _Out_ int *pFenceFd);
-
- END_INTERFACE
- } ID3D12VirtualizationGuestDeviceVtbl;
-
- interface ID3D12VirtualizationGuestDevice
- {
- CONST_VTBL struct ID3D12VirtualizationGuestDeviceVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VirtualizationGuestDevice_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VirtualizationGuestDevice_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VirtualizationGuestDevice_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VirtualizationGuestDevice_ShareWithHost(This,pObject,pHandle) \
- ( (This)->lpVtbl -> ShareWithHost(This,pObject,pHandle) )
-
-#define ID3D12VirtualizationGuestDevice_CreateFenceFd(This,pFence,FenceValue,pFenceFd) \
- ( (This)->lpVtbl -> CreateFenceFd(This,pFence,FenceValue,pFenceFd) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Tools_INTERFACE_DEFINED__
-#define __ID3D12Tools_INTERFACE_DEFINED__
-
-/* interface ID3D12Tools */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Tools;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("7071e1f0-e84b-4b33-974f-12fa49de65c5")
- ID3D12Tools : public IUnknown
- {
- public:
- virtual void STDMETHODCALLTYPE EnableShaderInstrumentation(
- BOOL bEnable) = 0;
-
- virtual BOOL STDMETHODCALLTYPE ShaderInstrumentationEnabled( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12ToolsVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Tools * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Tools * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Tools * This);
-
- DECLSPEC_XFGVIRT(ID3D12Tools, EnableShaderInstrumentation)
- void ( STDMETHODCALLTYPE *EnableShaderInstrumentation )(
- ID3D12Tools * This,
- BOOL bEnable);
-
- DECLSPEC_XFGVIRT(ID3D12Tools, ShaderInstrumentationEnabled)
- BOOL ( STDMETHODCALLTYPE *ShaderInstrumentationEnabled )(
- ID3D12Tools * This);
-
- END_INTERFACE
- } ID3D12ToolsVtbl;
-
- interface ID3D12Tools
- {
- CONST_VTBL struct ID3D12ToolsVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Tools_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Tools_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Tools_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Tools_EnableShaderInstrumentation(This,bEnable) \
- ( (This)->lpVtbl -> EnableShaderInstrumentation(This,bEnable) )
-
-#define ID3D12Tools_ShaderInstrumentationEnabled(This) \
- ( (This)->lpVtbl -> ShaderInstrumentationEnabled(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Tools_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0062 */
-/* [local] */
-
-typedef struct D3D12_SUBRESOURCE_DATA
- {
- const void *pData;
- LONG_PTR RowPitch;
- LONG_PTR SlicePitch;
- } D3D12_SUBRESOURCE_DATA;
-
-typedef struct D3D12_MEMCPY_DEST
- {
- void *pData;
- SIZE_T RowPitch;
- SIZE_T SlicePitch;
- } D3D12_MEMCPY_DEST;
-
-#if !defined( D3D12_IGNORE_SDK_LAYERS )
-#include "d3d12sdklayers.h"
-#endif
-
-///////////////////////////////////////////////////////////////////////////
-// D3D12CreateDevice
-// ------------------
-//
-// pAdapter
-// If NULL, D3D12CreateDevice will choose the primary adapter.
-// If non-NULL, D3D12CreateDevice will use the provided adapter.
-// MinimumFeatureLevel
-// The minimum feature level required for successful device creation.
-// riid
-// The interface IID of the device to be returned. Expected: ID3D12Device.
-// ppDevice
-// Pointer to returned interface. May be NULL.
-//
-// Return Values
-// Any of those documented for
-// CreateDXGIFactory1
-// IDXGIFactory::EnumAdapters
-// D3D12CreateDevice
-//
-///////////////////////////////////////////////////////////////////////////
-typedef HRESULT (WINAPI* PFN_D3D12_CREATE_DEVICE)( _In_opt_ IUnknown*,
- D3D_FEATURE_LEVEL,
- _In_ REFIID, _COM_Outptr_opt_ void** );
-
-HRESULT WINAPI D3D12CreateDevice(
- _In_opt_ IUnknown* pAdapter,
- D3D_FEATURE_LEVEL MinimumFeatureLevel,
- _In_ REFIID riid, // Expected: ID3D12Device
- _COM_Outptr_opt_ void** ppDevice );
-
-
-typedef HRESULT (WINAPI* PFN_D3D12_GET_DEBUG_INTERFACE)( _In_ REFIID, _COM_Outptr_opt_ void** );
-
-HRESULT WINAPI D3D12GetDebugInterface( _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );
-
-// --------------------------------------------------------------------------------------------------------------------------------
-// D3D12EnableExperimentalFeatures
-//
-// Pass in a list of feature GUIDs to be enabled together.
-//
-// If a particular feature requires some configuration information on enablement, it will have
-// a configuration struct that can be passed alongside the GUID.
-//
-// Some features might use an interface IID as the GUID. For these, once the feature is enabled via
-// D3D12EnableExperimentalFeatures, D3D12GetDebugInterface can then be called with the IID to retrieve the interface
-// for manipulating the feature. This allows for control that might not cleanly be expressed by just
-// the configuration struct that D3D12EnableExperimentalFeatures provides.
-//
-// If this method is called and a change to existing feature enablement is made,
-// all current D3D12 devices are set to DEVICE_REMOVED state, since under the covers there is really only one
-// singleton device for a process. Removing the devices when configuration changes prevents
-// mismatched expectations of how a device is supposed to work after it has been created from the app's point of view.
-//
-// The call returns E_NOINTERFACE if an unrecognized feature is passed in or Windows Developer mode is not on.
-// The call returns E_INVALIDARG if the configuration of a feature is incorrect, the set of features passed
-// in are known to be incompatible with each other, or other errors.
-// Returns S_OK otherwise.
-//
-// --------------------------------------------------------------------------------------------------------------------------------
-HRESULT WINAPI D3D12EnableExperimentalFeatures(
- UINT NumFeatures,
- _In_count_(NumFeatures) const IID* pIIDs,
- _In_opt_count_(NumFeatures) void* pConfigurationStructs,
- _In_opt_count_(NumFeatures) UINT* pConfigurationStructSizes);
-
-// --------------------------------------------------------------------------------------------------------------------------------
-// Experimental Feature: D3D12ExperimentalShaderModels
-//
-// Use with D3D12EnableExperimentalFeatures to enable experimental shader model support,
-// meaning shader models that haven't been finalized for use in retail.
-//
-// Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array.
-//
-// --------------------------------------------------------------------------------------------------------------------------------
-static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */
- 0x76f5573e,
- 0xf13a,
- 0x40f5,
- { 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f }
-};
-// --------------------------------------------------------------------------------------------------------------------------------
-// Experimental Feature: D3D12TiledResourceTier4
-//
-// Use with D3D12EnableExperimentalFeatures to enable tiled resource tier 4 support,
-// meaning texture tile data-inheritance is allowed.
-//
-// Enabling D3D12TiledResourceTier4 needs no configuration struct, pass NULL in the pConfigurationStructs array.
-//
-// --------------------------------------------------------------------------------------------------------------------------------
-static const UUID D3D12TiledResourceTier4 = { /* c9c4725f-a81a-4f56-8c5b-c51039d694fb */
- 0xc9c4725f,
- 0xa81a,
- 0x4f56,
- { 0x8c, 0x5b, 0xc5, 0x10, 0x39, 0xd6, 0x94, 0xfb }
-};
-// --------------------------------------------------------------------------------------------------------------------------------
-// D3D12GetInterface
-//
-// Retrieve Global D3D12 Interface.
-//
-
-DEFINE_GUID(CLSID_D3D12Debug, 0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f);
-DEFINE_GUID(CLSID_D3D12Tools, 0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8);
-DEFINE_GUID(CLSID_D3D12DeviceRemovedExtendedData, 0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2);
-DEFINE_GUID(CLSID_D3D12SDKConfiguration, 0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce);
-DEFINE_GUID(CLSID_D3D12DeviceFactory, 0x114863bf, 0xc386, 0x4aee, 0xb3, 0x9d, 0x8f, 0x0b, 0xbb, 0x06, 0x29, 0x55);
-
-typedef HRESULT (WINAPI* PFN_D3D12_GET_INTERFACE)( _In_ REFCLSID, _In_ REFIID, _COM_Outptr_opt_ void** );
-
-HRESULT WINAPI D3D12GetInterface( _In_ REFCLSID rclsid, _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0062_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0062_v0_0_s_ifspec;
-
-#ifndef __ID3D12SDKConfiguration_INTERFACE_DEFINED__
-#define __ID3D12SDKConfiguration_INTERFACE_DEFINED__
-
-/* interface ID3D12SDKConfiguration */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12SDKConfiguration;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("e9eb5314-33aa-42b2-a718-d77f58b1f1c7")
- ID3D12SDKConfiguration : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetSDKVersion(
- UINT SDKVersion,
- _In_z_ LPCSTR SDKPath) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12SDKConfigurationVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12SDKConfiguration * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12SDKConfiguration * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12SDKConfiguration * This);
-
- DECLSPEC_XFGVIRT(ID3D12SDKConfiguration, SetSDKVersion)
- HRESULT ( STDMETHODCALLTYPE *SetSDKVersion )(
- ID3D12SDKConfiguration * This,
- UINT SDKVersion,
- _In_z_ LPCSTR SDKPath);
-
- END_INTERFACE
- } ID3D12SDKConfigurationVtbl;
-
- interface ID3D12SDKConfiguration
- {
- CONST_VTBL struct ID3D12SDKConfigurationVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12SDKConfiguration_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12SDKConfiguration_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12SDKConfiguration_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12SDKConfiguration_SetSDKVersion(This,SDKVersion,SDKPath) \
- ( (This)->lpVtbl -> SetSDKVersion(This,SDKVersion,SDKPath) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12SDKConfiguration_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12SDKConfiguration1_INTERFACE_DEFINED__
-#define __ID3D12SDKConfiguration1_INTERFACE_DEFINED__
-
-/* interface ID3D12SDKConfiguration1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12SDKConfiguration1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("8aaf9303-ad25-48b9-9a57-d9c37e009d9f")
- ID3D12SDKConfiguration1 : public ID3D12SDKConfiguration
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateDeviceFactory(
- UINT SDKVersion,
- _In_ LPCSTR SDKPath,
- REFIID riid,
- _COM_Outptr_ void **ppvFactory) = 0;
-
- virtual void STDMETHODCALLTYPE FreeUnusedSDKs( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12SDKConfiguration1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12SDKConfiguration1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12SDKConfiguration1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12SDKConfiguration1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12SDKConfiguration, SetSDKVersion)
- HRESULT ( STDMETHODCALLTYPE *SetSDKVersion )(
- ID3D12SDKConfiguration1 * This,
- UINT SDKVersion,
- _In_z_ LPCSTR SDKPath);
-
- DECLSPEC_XFGVIRT(ID3D12SDKConfiguration1, CreateDeviceFactory)
- HRESULT ( STDMETHODCALLTYPE *CreateDeviceFactory )(
- ID3D12SDKConfiguration1 * This,
- UINT SDKVersion,
- _In_ LPCSTR SDKPath,
- REFIID riid,
- _COM_Outptr_ void **ppvFactory);
-
- DECLSPEC_XFGVIRT(ID3D12SDKConfiguration1, FreeUnusedSDKs)
- void ( STDMETHODCALLTYPE *FreeUnusedSDKs )(
- ID3D12SDKConfiguration1 * This);
-
- END_INTERFACE
- } ID3D12SDKConfiguration1Vtbl;
-
- interface ID3D12SDKConfiguration1
- {
- CONST_VTBL struct ID3D12SDKConfiguration1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12SDKConfiguration1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12SDKConfiguration1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12SDKConfiguration1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12SDKConfiguration1_SetSDKVersion(This,SDKVersion,SDKPath) \
- ( (This)->lpVtbl -> SetSDKVersion(This,SDKVersion,SDKPath) )
-
-
-#define ID3D12SDKConfiguration1_CreateDeviceFactory(This,SDKVersion,SDKPath,riid,ppvFactory) \
- ( (This)->lpVtbl -> CreateDeviceFactory(This,SDKVersion,SDKPath,riid,ppvFactory) )
-
-#define ID3D12SDKConfiguration1_FreeUnusedSDKs(This) \
- ( (This)->lpVtbl -> FreeUnusedSDKs(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12SDKConfiguration1_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0064 */
-/* [local] */
-
-typedef
-enum D3D12_DEVICE_FACTORY_FLAGS
- {
- D3D12_DEVICE_FACTORY_FLAG_NONE = 0,
- D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_EXISTING_DEVICE = 0x1,
- D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_INCOMPATIBLE_EXISTING_DEVICE = 0x2,
- D3D12_DEVICE_FACTORY_FLAG_DISALLOW_STORING_NEW_DEVICE_AS_SINGLETON = 0x4
- } D3D12_DEVICE_FACTORY_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FACTORY_FLAGS )
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0064_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0064_v0_0_s_ifspec;
-
-#ifndef __ID3D12DeviceFactory_INTERFACE_DEFINED__
-#define __ID3D12DeviceFactory_INTERFACE_DEFINED__
-
-/* interface ID3D12DeviceFactory */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DeviceFactory;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("61f307d3-d34e-4e7c-8374-3ba4de23cccb")
- ID3D12DeviceFactory : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE InitializeFromGlobalState( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ApplyToGlobalState( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetFlags(
- D3D12_DEVICE_FACTORY_FLAGS flags) = 0;
-
- virtual D3D12_DEVICE_FACTORY_FLAGS STDMETHODCALLTYPE GetFlags( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetConfigurationInterface(
- REFCLSID clsid,
- REFIID iid,
- _COM_Outptr_ void **ppv) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnableExperimentalFeatures(
- UINT NumFeatures,
- _In_reads_(NumFeatures) const IID *pIIDs,
- _In_reads_opt_(NumFeatures) void *pConfigurationStructs,
- _In_reads_opt_(NumFeatures) UINT *pConfigurationStructSizes) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateDevice(
- _In_opt_ IUnknown *adapter,
- D3D_FEATURE_LEVEL FeatureLevel,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DeviceFactoryVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceFactory * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceFactory * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceFactory * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, InitializeFromGlobalState)
- HRESULT ( STDMETHODCALLTYPE *InitializeFromGlobalState )(
- ID3D12DeviceFactory * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, ApplyToGlobalState)
- HRESULT ( STDMETHODCALLTYPE *ApplyToGlobalState )(
- ID3D12DeviceFactory * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, SetFlags)
- HRESULT ( STDMETHODCALLTYPE *SetFlags )(
- ID3D12DeviceFactory * This,
- D3D12_DEVICE_FACTORY_FLAGS flags);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, GetFlags)
- D3D12_DEVICE_FACTORY_FLAGS ( STDMETHODCALLTYPE *GetFlags )(
- ID3D12DeviceFactory * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, GetConfigurationInterface)
- HRESULT ( STDMETHODCALLTYPE *GetConfigurationInterface )(
- ID3D12DeviceFactory * This,
- REFCLSID clsid,
- REFIID iid,
- _COM_Outptr_ void **ppv);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, EnableExperimentalFeatures)
- HRESULT ( STDMETHODCALLTYPE *EnableExperimentalFeatures )(
- ID3D12DeviceFactory * This,
- UINT NumFeatures,
- _In_reads_(NumFeatures) const IID *pIIDs,
- _In_reads_opt_(NumFeatures) void *pConfigurationStructs,
- _In_reads_opt_(NumFeatures) UINT *pConfigurationStructSizes);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, CreateDevice)
- HRESULT ( STDMETHODCALLTYPE *CreateDevice )(
- ID3D12DeviceFactory * This,
- _In_opt_ IUnknown *adapter,
- D3D_FEATURE_LEVEL FeatureLevel,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12DeviceFactoryVtbl;
-
- interface ID3D12DeviceFactory
- {
- CONST_VTBL struct ID3D12DeviceFactoryVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DeviceFactory_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DeviceFactory_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DeviceFactory_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DeviceFactory_InitializeFromGlobalState(This) \
- ( (This)->lpVtbl -> InitializeFromGlobalState(This) )
-
-#define ID3D12DeviceFactory_ApplyToGlobalState(This) \
- ( (This)->lpVtbl -> ApplyToGlobalState(This) )
-
-#define ID3D12DeviceFactory_SetFlags(This,flags) \
- ( (This)->lpVtbl -> SetFlags(This,flags) )
-
-#define ID3D12DeviceFactory_GetFlags(This) \
- ( (This)->lpVtbl -> GetFlags(This) )
-
-#define ID3D12DeviceFactory_GetConfigurationInterface(This,clsid,iid,ppv) \
- ( (This)->lpVtbl -> GetConfigurationInterface(This,clsid,iid,ppv) )
-
-#define ID3D12DeviceFactory_EnableExperimentalFeatures(This,NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) \
- ( (This)->lpVtbl -> EnableExperimentalFeatures(This,NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) )
-
-#define ID3D12DeviceFactory_CreateDevice(This,adapter,FeatureLevel,riid,ppvDevice) \
- ( (This)->lpVtbl -> CreateDevice(This,adapter,FeatureLevel,riid,ppvDevice) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DeviceFactory_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0065 */
-/* [local] */
-
-typedef
-enum D3D12_DEVICE_FLAGS
- {
- D3D12_DEVICE_FLAG_NONE = 0,
- D3D12_DEVICE_FLAG_DEBUG_LAYER_ENABLED = 0x1,
- D3D12_DEVICE_FLAG_GPU_BASED_VALIDATION_ENABLED = 0x2,
- D3D12_DEVICE_FLAG_SYNCHRONIZED_COMMAND_QUEUE_VALIDATION_DISABLED = 0x4,
- D3D12_DEVICE_FLAG_DRED_AUTO_BREADCRUMBS_ENABLED = 0x8,
- D3D12_DEVICE_FLAG_DRED_PAGE_FAULT_REPORTING_ENABLED = 0x10,
- D3D12_DEVICE_FLAG_DRED_WATSON_REPORTING_ENABLED = 0x20,
- D3D12_DEVICE_FLAG_DRED_BREADCRUMB_CONTEXT_ENABLED = 0x40,
- D3D12_DEVICE_FLAG_DRED_USE_MARKERS_ONLY_BREADCRUMBS = 0x80,
- D3D12_DEVICE_FLAG_SHADER_INSTRUMENTATION_ENABLED = 0x100,
- D3D12_DEVICE_FLAG_AUTO_DEBUG_NAME_ENABLED = 0x200,
- D3D12_DEVICE_FLAG_FORCE_LEGACY_STATE_VALIDATION = 0x400
- } D3D12_DEVICE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FLAGS )
-typedef struct D3D12_DEVICE_CONFIGURATION_DESC
- {
- D3D12_DEVICE_FLAGS Flags;
- UINT GpuBasedValidationFlags;
- UINT SDKVersion;
- UINT NumEnabledExperimentalFeatures;
- } D3D12_DEVICE_CONFIGURATION_DESC;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0065_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0065_v0_0_s_ifspec;
-
-#ifndef __ID3D12DeviceConfiguration_INTERFACE_DEFINED__
-#define __ID3D12DeviceConfiguration_INTERFACE_DEFINED__
-
-/* interface ID3D12DeviceConfiguration */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DeviceConfiguration;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("78dbf87b-f766-422b-a61c-c8c446bdb9ad")
- ID3D12DeviceConfiguration : public IUnknown
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_DEVICE_CONFIGURATION_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_DEVICE_CONFIGURATION_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_DEVICE_CONFIGURATION_DESC * RetVal) = 0;
-#endif
-
- virtual HRESULT STDMETHODCALLTYPE GetEnabledExperimentalFeatures(
- _Out_writes_(NumGuids) GUID *pGuids,
- UINT NumGuids) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SerializeVersionedRootSignature(
- _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc,
- _COM_Outptr_ ID3DBlob **ppResult,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppError) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVersionedRootSignatureDeserializer(
- _In_reads_bytes_(Size) const void *pBlob,
- SIZE_T Size,
- REFIID riid,
- _COM_Outptr_ void **ppvDeserializer) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DeviceConfigurationVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceConfiguration * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceConfiguration * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceConfiguration * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetDesc)
-#if !defined(_WIN32)
- D3D12_DEVICE_CONFIGURATION_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DeviceConfiguration * This);
-
-#else
- D3D12_DEVICE_CONFIGURATION_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DeviceConfiguration * This,
- D3D12_DEVICE_CONFIGURATION_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetEnabledExperimentalFeatures)
- HRESULT ( STDMETHODCALLTYPE *GetEnabledExperimentalFeatures )(
- ID3D12DeviceConfiguration * This,
- _Out_writes_(NumGuids) GUID *pGuids,
- UINT NumGuids);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, SerializeVersionedRootSignature)
- HRESULT ( STDMETHODCALLTYPE *SerializeVersionedRootSignature )(
- ID3D12DeviceConfiguration * This,
- _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc,
- _COM_Outptr_ ID3DBlob **ppResult,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppError);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, CreateVersionedRootSignatureDeserializer)
- HRESULT ( STDMETHODCALLTYPE *CreateVersionedRootSignatureDeserializer )(
- ID3D12DeviceConfiguration * This,
- _In_reads_bytes_(Size) const void *pBlob,
- SIZE_T Size,
- REFIID riid,
- _COM_Outptr_ void **ppvDeserializer);
-
- END_INTERFACE
- } ID3D12DeviceConfigurationVtbl;
-
- interface ID3D12DeviceConfiguration
- {
- CONST_VTBL struct ID3D12DeviceConfigurationVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DeviceConfiguration_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DeviceConfiguration_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DeviceConfiguration_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-#if !defined(_WIN32)
-
-#define ID3D12DeviceConfiguration_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12DeviceConfiguration_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#define ID3D12DeviceConfiguration_GetEnabledExperimentalFeatures(This,pGuids,NumGuids) \
- ( (This)->lpVtbl -> GetEnabledExperimentalFeatures(This,pGuids,NumGuids) )
-
-#define ID3D12DeviceConfiguration_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) \
- ( (This)->lpVtbl -> SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) )
-
-#define ID3D12DeviceConfiguration_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) \
- ( (This)->lpVtbl -> CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DeviceConfiguration_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DeviceConfiguration1_INTERFACE_DEFINED__
-#define __ID3D12DeviceConfiguration1_INTERFACE_DEFINED__
-
-/* interface ID3D12DeviceConfiguration1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DeviceConfiguration1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("ed342442-6343-4e16-bb82-a3a577874e56")
- ID3D12DeviceConfiguration1 : public ID3D12DeviceConfiguration
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(
- _In_reads_bytes_(Size) const void *pLibraryBlob,
- SIZE_T Size,
- LPCWSTR RootSignatureSubobjectName,
- REFIID riid,
- _COM_Outptr_ void **ppvDeserializer) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DeviceConfiguration1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceConfiguration1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceConfiguration1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceConfiguration1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetDesc)
-#if !defined(_WIN32)
- D3D12_DEVICE_CONFIGURATION_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DeviceConfiguration1 * This);
-
-#else
- D3D12_DEVICE_CONFIGURATION_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DeviceConfiguration1 * This,
- D3D12_DEVICE_CONFIGURATION_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetEnabledExperimentalFeatures)
- HRESULT ( STDMETHODCALLTYPE *GetEnabledExperimentalFeatures )(
- ID3D12DeviceConfiguration1 * This,
- _Out_writes_(NumGuids) GUID *pGuids,
- UINT NumGuids);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, SerializeVersionedRootSignature)
- HRESULT ( STDMETHODCALLTYPE *SerializeVersionedRootSignature )(
- ID3D12DeviceConfiguration1 * This,
- _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc,
- _COM_Outptr_ ID3DBlob **ppResult,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppError);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, CreateVersionedRootSignatureDeserializer)
- HRESULT ( STDMETHODCALLTYPE *CreateVersionedRootSignatureDeserializer )(
- ID3D12DeviceConfiguration1 * This,
- _In_reads_bytes_(Size) const void *pBlob,
- SIZE_T Size,
- REFIID riid,
- _COM_Outptr_ void **ppvDeserializer);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration1, CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary )(
- ID3D12DeviceConfiguration1 * This,
- _In_reads_bytes_(Size) const void *pLibraryBlob,
- SIZE_T Size,
- LPCWSTR RootSignatureSubobjectName,
- REFIID riid,
- _COM_Outptr_ void **ppvDeserializer);
-
- END_INTERFACE
- } ID3D12DeviceConfiguration1Vtbl;
-
- interface ID3D12DeviceConfiguration1
- {
- CONST_VTBL struct ID3D12DeviceConfiguration1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DeviceConfiguration1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DeviceConfiguration1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DeviceConfiguration1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-#if !defined(_WIN32)
-
-#define ID3D12DeviceConfiguration1_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12DeviceConfiguration1_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#define ID3D12DeviceConfiguration1_GetEnabledExperimentalFeatures(This,pGuids,NumGuids) \
- ( (This)->lpVtbl -> GetEnabledExperimentalFeatures(This,pGuids,NumGuids) )
-
-#define ID3D12DeviceConfiguration1_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) \
- ( (This)->lpVtbl -> SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) )
-
-#define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) \
- ( (This)->lpVtbl -> CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) )
-
-
-#define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(This,pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer) \
- ( (This)->lpVtbl -> CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(This,pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DeviceConfiguration1_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0067 */
-/* [local] */
-
-typedef
-enum D3D12_AXIS_SHADING_RATE
- {
- D3D12_AXIS_SHADING_RATE_1X = 0,
- D3D12_AXIS_SHADING_RATE_2X = 0x1,
- D3D12_AXIS_SHADING_RATE_4X = 0x2
- } D3D12_AXIS_SHADING_RATE;
-
-#define D3D12_SHADING_RATE_X_AXIS_SHIFT 2
-#define D3D12_SHADING_RATE_VALID_MASK 3
-#define D3D12_MAKE_COARSE_SHADING_RATE(x,y) ((x) << D3D12_SHADING_RATE_X_AXIS_SHIFT | (y))
-#define D3D12_GET_COARSE_SHADING_RATE_X_AXIS(x) (((x) >> D3D12_SHADING_RATE_X_AXIS_SHIFT) & D3D12_SHADING_RATE_VALID_MASK)
-#define D3D12_GET_COARSE_SHADING_RATE_Y_AXIS(y) ((y) & D3D12_SHADING_RATE_VALID_MASK)
-typedef
-enum D3D12_SHADING_RATE
- {
- D3D12_SHADING_RATE_1X1 = 0,
- D3D12_SHADING_RATE_1X2 = 0x1,
- D3D12_SHADING_RATE_2X1 = 0x4,
- D3D12_SHADING_RATE_2X2 = 0x5,
- D3D12_SHADING_RATE_2X4 = 0x6,
- D3D12_SHADING_RATE_4X2 = 0x9,
- D3D12_SHADING_RATE_4X4 = 0xa
- } D3D12_SHADING_RATE;
-
-typedef
-enum D3D12_SHADING_RATE_COMBINER
- {
- D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = 0,
- D3D12_SHADING_RATE_COMBINER_OVERRIDE = 1,
- D3D12_SHADING_RATE_COMBINER_MIN = 2,
- D3D12_SHADING_RATE_COMBINER_MAX = 3,
- D3D12_SHADING_RATE_COMBINER_SUM = 4
- } D3D12_SHADING_RATE_COMBINER;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0067_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0067_v0_0_s_ifspec;
-
-#ifndef __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__
-#define __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__
-
-/* interface ID3D12GraphicsCommandList5 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GraphicsCommandList5;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("55050859-4024-474c-87f5-6472eaee44ea")
- ID3D12GraphicsCommandList5 : public ID3D12GraphicsCommandList4
- {
- public:
- virtual void STDMETHODCALLTYPE RSSetShadingRate(
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetShadingRateImage(
- _In_opt_ ID3D12Resource *shadingRateImage) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GraphicsCommandList5Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList5 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList5 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList5 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList5 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList5 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList5 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList5 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList5 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList5 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList5 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList5 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList5 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList5 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList5 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList5 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList5 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList5 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
- void ( STDMETHODCALLTYPE *RSSetShadingRate )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
- void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12Resource *shadingRateImage);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList5Vtbl;
-
- interface ID3D12GraphicsCommandList5
- {
- CONST_VTBL struct ID3D12GraphicsCommandList5Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GraphicsCommandList5_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GraphicsCommandList5_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GraphicsCommandList5_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GraphicsCommandList5_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12GraphicsCommandList5_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12GraphicsCommandList5_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12GraphicsCommandList5_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12GraphicsCommandList5_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12GraphicsCommandList5_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12GraphicsCommandList5_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12GraphicsCommandList5_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
-
-#define ID3D12GraphicsCommandList5_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList5_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList5_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList5_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#define ID3D12GraphicsCommandList5_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
-
-#define ID3D12GraphicsCommandList5_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
-
-#define ID3D12GraphicsCommandList5_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
-
-#define ID3D12GraphicsCommandList5_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
-
-#define ID3D12GraphicsCommandList5_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
-
-#define ID3D12GraphicsCommandList5_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
-
-#define ID3D12GraphicsCommandList5_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
-
-#define ID3D12GraphicsCommandList5_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList5_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
-
-#define ID3D12GraphicsCommandList5_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
-
-#define ID3D12GraphicsCommandList5_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList5_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12GraphicsCommandList5_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
-
-#define ID3D12GraphicsCommandList5_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
-
-#define ID3D12GraphicsCommandList5_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList5_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList5_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
-
-#define ID3D12GraphicsCommandList5_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList5_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList5_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
-
-#define ID3D12GraphicsCommandList5_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList5_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList5_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12GraphicsCommandList5_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList5_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList5_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12GraphicsCommandList5_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12GraphicsCommandList5_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList5_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList5_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12GraphicsCommandList5_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
-
-
-#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList5_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
-
-#define ID3D12GraphicsCommandList5_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
-
-#define ID3D12GraphicsCommandList5_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
-
-#define ID3D12GraphicsCommandList5_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
-
-
-#define ID3D12GraphicsCommandList5_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12GraphicsCommandList5_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-
-#define ID3D12GraphicsCommandList5_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
-
-#define ID3D12GraphicsCommandList5_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
-
-#define ID3D12GraphicsCommandList5_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList5_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList5_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
-
-#define ID3D12GraphicsCommandList5_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
-
-#define ID3D12GraphicsCommandList5_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
-
-#define ID3D12GraphicsCommandList5_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
-
-#define ID3D12GraphicsCommandList5_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
-
-
-#define ID3D12GraphicsCommandList5_RSSetShadingRate(This,baseShadingRate,combiners) \
- ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
-
-#define ID3D12GraphicsCommandList5_RSSetShadingRateImage(This,shadingRateImage) \
- ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0068 */
-/* [local] */
-
-typedef struct D3D12_DISPATCH_MESH_ARGUMENTS
- {
- UINT ThreadGroupCountX;
- UINT ThreadGroupCountY;
- UINT ThreadGroupCountZ;
- } D3D12_DISPATCH_MESH_ARGUMENTS;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0068_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0068_v0_0_s_ifspec;
-
-#ifndef __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__
-#define __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__
-
-/* interface ID3D12GraphicsCommandList6 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GraphicsCommandList6;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c3827890-e548-4cfa-96cf-5689a9370f80")
- ID3D12GraphicsCommandList6 : public ID3D12GraphicsCommandList5
- {
- public:
- virtual void STDMETHODCALLTYPE DispatchMesh(
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GraphicsCommandList6Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList6 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList6 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList6 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList6 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList6 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList6 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList6 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList6 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList6 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList6 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList6 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList6 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList6 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList6 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList6 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList6 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList6 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
- void ( STDMETHODCALLTYPE *RSSetShadingRate )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
- void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12Resource *shadingRateImage);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
- void ( STDMETHODCALLTYPE *DispatchMesh )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList6Vtbl;
-
- interface ID3D12GraphicsCommandList6
- {
- CONST_VTBL struct ID3D12GraphicsCommandList6Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GraphicsCommandList6_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GraphicsCommandList6_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GraphicsCommandList6_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GraphicsCommandList6_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12GraphicsCommandList6_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12GraphicsCommandList6_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12GraphicsCommandList6_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12GraphicsCommandList6_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12GraphicsCommandList6_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12GraphicsCommandList6_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12GraphicsCommandList6_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
-
-#define ID3D12GraphicsCommandList6_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList6_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList6_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList6_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#define ID3D12GraphicsCommandList6_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
-
-#define ID3D12GraphicsCommandList6_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
-
-#define ID3D12GraphicsCommandList6_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
-
-#define ID3D12GraphicsCommandList6_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
-
-#define ID3D12GraphicsCommandList6_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
-
-#define ID3D12GraphicsCommandList6_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
-
-#define ID3D12GraphicsCommandList6_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
-
-#define ID3D12GraphicsCommandList6_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList6_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
-
-#define ID3D12GraphicsCommandList6_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
-
-#define ID3D12GraphicsCommandList6_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList6_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12GraphicsCommandList6_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
-
-#define ID3D12GraphicsCommandList6_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
-
-#define ID3D12GraphicsCommandList6_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList6_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList6_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
-
-#define ID3D12GraphicsCommandList6_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList6_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList6_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
-
-#define ID3D12GraphicsCommandList6_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList6_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList6_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12GraphicsCommandList6_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList6_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList6_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12GraphicsCommandList6_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12GraphicsCommandList6_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList6_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList6_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12GraphicsCommandList6_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
-
-
-#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList6_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
-
-#define ID3D12GraphicsCommandList6_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
-
-#define ID3D12GraphicsCommandList6_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
-
-#define ID3D12GraphicsCommandList6_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
-
-
-#define ID3D12GraphicsCommandList6_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12GraphicsCommandList6_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-
-#define ID3D12GraphicsCommandList6_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
-
-#define ID3D12GraphicsCommandList6_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
-
-#define ID3D12GraphicsCommandList6_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList6_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList6_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
-
-#define ID3D12GraphicsCommandList6_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
-
-#define ID3D12GraphicsCommandList6_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
-
-#define ID3D12GraphicsCommandList6_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
-
-#define ID3D12GraphicsCommandList6_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
-
-
-#define ID3D12GraphicsCommandList6_RSSetShadingRate(This,baseShadingRate,combiners) \
- ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
-
-#define ID3D12GraphicsCommandList6_RSSetShadingRateImage(This,shadingRateImage) \
- ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
-
-
-#define ID3D12GraphicsCommandList6_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__
-#define __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__
-
-/* interface ID3D12GraphicsCommandList7 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GraphicsCommandList7;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("dd171223-8b61-4769-90e3-160ccde4e2c1")
- ID3D12GraphicsCommandList7 : public ID3D12GraphicsCommandList6
- {
- public:
- virtual void STDMETHODCALLTYPE Barrier(
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GraphicsCommandList7Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList7 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList7 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList7 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList7 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList7 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList7 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList7 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList7 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList7 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList7 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList7 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList7 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList7 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList7 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList7 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList7 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList7 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
- void ( STDMETHODCALLTYPE *RSSetShadingRate )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
- void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12Resource *shadingRateImage);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
- void ( STDMETHODCALLTYPE *DispatchMesh )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier)
- void ( STDMETHODCALLTYPE *Barrier )(
- ID3D12GraphicsCommandList7 * This,
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList7Vtbl;
-
- interface ID3D12GraphicsCommandList7
- {
- CONST_VTBL struct ID3D12GraphicsCommandList7Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GraphicsCommandList7_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GraphicsCommandList7_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GraphicsCommandList7_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GraphicsCommandList7_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12GraphicsCommandList7_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12GraphicsCommandList7_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12GraphicsCommandList7_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12GraphicsCommandList7_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12GraphicsCommandList7_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12GraphicsCommandList7_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12GraphicsCommandList7_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
-
-#define ID3D12GraphicsCommandList7_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList7_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList7_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList7_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#define ID3D12GraphicsCommandList7_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
-
-#define ID3D12GraphicsCommandList7_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
-
-#define ID3D12GraphicsCommandList7_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
-
-#define ID3D12GraphicsCommandList7_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
-
-#define ID3D12GraphicsCommandList7_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
-
-#define ID3D12GraphicsCommandList7_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
-
-#define ID3D12GraphicsCommandList7_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
-
-#define ID3D12GraphicsCommandList7_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList7_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
-
-#define ID3D12GraphicsCommandList7_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
-
-#define ID3D12GraphicsCommandList7_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList7_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12GraphicsCommandList7_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
-
-#define ID3D12GraphicsCommandList7_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
-
-#define ID3D12GraphicsCommandList7_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList7_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList7_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList7_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList7_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList7_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList7_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList7_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList7_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList7_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList7_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
-
-#define ID3D12GraphicsCommandList7_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList7_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList7_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
-
-#define ID3D12GraphicsCommandList7_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList7_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList7_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12GraphicsCommandList7_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList7_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList7_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12GraphicsCommandList7_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12GraphicsCommandList7_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList7_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList7_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12GraphicsCommandList7_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
-
-
-#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList7_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
-
-#define ID3D12GraphicsCommandList7_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
-
-#define ID3D12GraphicsCommandList7_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
-
-#define ID3D12GraphicsCommandList7_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
-
-
-#define ID3D12GraphicsCommandList7_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12GraphicsCommandList7_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-
-#define ID3D12GraphicsCommandList7_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
-
-#define ID3D12GraphicsCommandList7_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
-
-#define ID3D12GraphicsCommandList7_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList7_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList7_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
-
-#define ID3D12GraphicsCommandList7_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
-
-#define ID3D12GraphicsCommandList7_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
-
-#define ID3D12GraphicsCommandList7_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
-
-#define ID3D12GraphicsCommandList7_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
-
-
-#define ID3D12GraphicsCommandList7_RSSetShadingRate(This,baseShadingRate,combiners) \
- ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
-
-#define ID3D12GraphicsCommandList7_RSSetShadingRateImage(This,shadingRateImage) \
- ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
-
-
-#define ID3D12GraphicsCommandList7_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-
-#define ID3D12GraphicsCommandList7_Barrier(This,NumBarrierGroups,pBarrierGroups) \
- ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__
-#define __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__
-
-/* interface ID3D12GraphicsCommandList8 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GraphicsCommandList8;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("ee936ef9-599d-4d28-938e-23c4ad05ce51")
- ID3D12GraphicsCommandList8 : public ID3D12GraphicsCommandList7
- {
- public:
- virtual void STDMETHODCALLTYPE OMSetFrontAndBackStencilRef(
- _In_ UINT FrontStencilRef,
- _In_ UINT BackStencilRef) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GraphicsCommandList8Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList8 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList8 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList8 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList8 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList8 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList8 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList8 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList8 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList8 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList8 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList8 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList8 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList8 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList8 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList8 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList8 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList8 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
- void ( STDMETHODCALLTYPE *RSSetShadingRate )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
- void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12Resource *shadingRateImage);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
- void ( STDMETHODCALLTYPE *DispatchMesh )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier)
- void ( STDMETHODCALLTYPE *Barrier )(
- ID3D12GraphicsCommandList8 * This,
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList8, OMSetFrontAndBackStencilRef)
- void ( STDMETHODCALLTYPE *OMSetFrontAndBackStencilRef )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT FrontStencilRef,
- _In_ UINT BackStencilRef);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList8Vtbl;
-
- interface ID3D12GraphicsCommandList8
- {
- CONST_VTBL struct ID3D12GraphicsCommandList8Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GraphicsCommandList8_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GraphicsCommandList8_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GraphicsCommandList8_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GraphicsCommandList8_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12GraphicsCommandList8_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12GraphicsCommandList8_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12GraphicsCommandList8_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12GraphicsCommandList8_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12GraphicsCommandList8_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12GraphicsCommandList8_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12GraphicsCommandList8_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
-
-#define ID3D12GraphicsCommandList8_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList8_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList8_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList8_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#define ID3D12GraphicsCommandList8_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
-
-#define ID3D12GraphicsCommandList8_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
-
-#define ID3D12GraphicsCommandList8_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
-
-#define ID3D12GraphicsCommandList8_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
-
-#define ID3D12GraphicsCommandList8_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
-
-#define ID3D12GraphicsCommandList8_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
-
-#define ID3D12GraphicsCommandList8_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
-
-#define ID3D12GraphicsCommandList8_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList8_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
-
-#define ID3D12GraphicsCommandList8_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
-
-#define ID3D12GraphicsCommandList8_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList8_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12GraphicsCommandList8_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
-
-#define ID3D12GraphicsCommandList8_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
-
-#define ID3D12GraphicsCommandList8_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList8_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList8_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList8_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList8_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList8_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList8_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList8_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList8_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList8_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList8_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
-
-#define ID3D12GraphicsCommandList8_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList8_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList8_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
-
-#define ID3D12GraphicsCommandList8_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList8_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList8_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12GraphicsCommandList8_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList8_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList8_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12GraphicsCommandList8_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12GraphicsCommandList8_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList8_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList8_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12GraphicsCommandList8_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
-
-
-#define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList8_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
-
-#define ID3D12GraphicsCommandList8_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
-
-#define ID3D12GraphicsCommandList8_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
-
-#define ID3D12GraphicsCommandList8_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
-
-
-#define ID3D12GraphicsCommandList8_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12GraphicsCommandList8_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-
-#define ID3D12GraphicsCommandList8_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
-
-#define ID3D12GraphicsCommandList8_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
-
-#define ID3D12GraphicsCommandList8_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList8_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList8_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
-
-#define ID3D12GraphicsCommandList8_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
-
-#define ID3D12GraphicsCommandList8_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
-
-#define ID3D12GraphicsCommandList8_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
-
-#define ID3D12GraphicsCommandList8_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
-
-
-#define ID3D12GraphicsCommandList8_RSSetShadingRate(This,baseShadingRate,combiners) \
- ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
-
-#define ID3D12GraphicsCommandList8_RSSetShadingRateImage(This,shadingRateImage) \
- ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
-
-
-#define ID3D12GraphicsCommandList8_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-
-#define ID3D12GraphicsCommandList8_Barrier(This,NumBarrierGroups,pBarrierGroups) \
- ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
-
-
-#define ID3D12GraphicsCommandList8_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \
- ( (This)->lpVtbl -> OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__
-#define __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__
-
-/* interface ID3D12GraphicsCommandList9 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GraphicsCommandList9;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("34ed2808-ffe6-4c2b-b11a-cabd2b0c59e1")
- ID3D12GraphicsCommandList9 : public ID3D12GraphicsCommandList8
- {
- public:
- virtual void STDMETHODCALLTYPE RSSetDepthBias(
- _In_ FLOAT DepthBias,
- _In_ FLOAT DepthBiasClamp,
- _In_ FLOAT SlopeScaledDepthBias) = 0;
-
- virtual void STDMETHODCALLTYPE IASetIndexBufferStripCutValue(
- _In_ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GraphicsCommandList9Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList9 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList9 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList9 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList9 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList9 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList9 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList9 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList9 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList9 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList9 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList9 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList9 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList9 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList9 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList9 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList9 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList9 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
- void ( STDMETHODCALLTYPE *RSSetShadingRate )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
- void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12Resource *shadingRateImage);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
- void ( STDMETHODCALLTYPE *DispatchMesh )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier)
- void ( STDMETHODCALLTYPE *Barrier )(
- ID3D12GraphicsCommandList9 * This,
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList8, OMSetFrontAndBackStencilRef)
- void ( STDMETHODCALLTYPE *OMSetFrontAndBackStencilRef )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT FrontStencilRef,
- _In_ UINT BackStencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, RSSetDepthBias)
- void ( STDMETHODCALLTYPE *RSSetDepthBias )(
- ID3D12GraphicsCommandList9 * This,
- _In_ FLOAT DepthBias,
- _In_ FLOAT DepthBiasClamp,
- _In_ FLOAT SlopeScaledDepthBias);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, IASetIndexBufferStripCutValue)
- void ( STDMETHODCALLTYPE *IASetIndexBufferStripCutValue )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList9Vtbl;
-
- interface ID3D12GraphicsCommandList9
- {
- CONST_VTBL struct ID3D12GraphicsCommandList9Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GraphicsCommandList9_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GraphicsCommandList9_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GraphicsCommandList9_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GraphicsCommandList9_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12GraphicsCommandList9_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12GraphicsCommandList9_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12GraphicsCommandList9_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12GraphicsCommandList9_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12GraphicsCommandList9_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12GraphicsCommandList9_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12GraphicsCommandList9_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
-
-#define ID3D12GraphicsCommandList9_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList9_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList9_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList9_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#define ID3D12GraphicsCommandList9_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
-
-#define ID3D12GraphicsCommandList9_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
-
-#define ID3D12GraphicsCommandList9_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
-
-#define ID3D12GraphicsCommandList9_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
-
-#define ID3D12GraphicsCommandList9_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
-
-#define ID3D12GraphicsCommandList9_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
-
-#define ID3D12GraphicsCommandList9_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
-
-#define ID3D12GraphicsCommandList9_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList9_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
-
-#define ID3D12GraphicsCommandList9_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
-
-#define ID3D12GraphicsCommandList9_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList9_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12GraphicsCommandList9_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
-
-#define ID3D12GraphicsCommandList9_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
-
-#define ID3D12GraphicsCommandList9_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList9_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList9_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList9_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList9_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList9_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList9_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList9_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList9_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList9_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList9_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
-
-#define ID3D12GraphicsCommandList9_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList9_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList9_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
-
-#define ID3D12GraphicsCommandList9_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList9_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList9_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12GraphicsCommandList9_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList9_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList9_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12GraphicsCommandList9_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12GraphicsCommandList9_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList9_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList9_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12GraphicsCommandList9_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
-
-
-#define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList9_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
-
-#define ID3D12GraphicsCommandList9_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
-
-#define ID3D12GraphicsCommandList9_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
-
-#define ID3D12GraphicsCommandList9_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
-
-
-#define ID3D12GraphicsCommandList9_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12GraphicsCommandList9_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-
-#define ID3D12GraphicsCommandList9_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
-
-#define ID3D12GraphicsCommandList9_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
-
-#define ID3D12GraphicsCommandList9_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList9_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList9_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
-
-#define ID3D12GraphicsCommandList9_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
-
-#define ID3D12GraphicsCommandList9_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
-
-#define ID3D12GraphicsCommandList9_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
-
-#define ID3D12GraphicsCommandList9_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
-
-
-#define ID3D12GraphicsCommandList9_RSSetShadingRate(This,baseShadingRate,combiners) \
- ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
-
-#define ID3D12GraphicsCommandList9_RSSetShadingRateImage(This,shadingRateImage) \
- ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
-
-
-#define ID3D12GraphicsCommandList9_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-
-#define ID3D12GraphicsCommandList9_Barrier(This,NumBarrierGroups,pBarrierGroups) \
- ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
-
-
-#define ID3D12GraphicsCommandList9_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \
- ( (This)->lpVtbl -> OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) )
-
-
-#define ID3D12GraphicsCommandList9_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) \
- ( (This)->lpVtbl -> RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) )
-
-#define ID3D12GraphicsCommandList9_IASetIndexBufferStripCutValue(This,IBStripCutValue) \
- ( (This)->lpVtbl -> IASetIndexBufferStripCutValue(This,IBStripCutValue) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12GraphicsCommandList10_INTERFACE_DEFINED__
-#define __ID3D12GraphicsCommandList10_INTERFACE_DEFINED__
-
-/* interface ID3D12GraphicsCommandList10 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GraphicsCommandList10;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("7013c015-d161-4b63-a08c-238552dd8acc")
- ID3D12GraphicsCommandList10 : public ID3D12GraphicsCommandList9
- {
- public:
- virtual void STDMETHODCALLTYPE SetProgram(
- _In_ const D3D12_SET_PROGRAM_DESC *pDesc) = 0;
-
- virtual void STDMETHODCALLTYPE DispatchGraph(
- _In_ const D3D12_DISPATCH_GRAPH_DESC *pDesc) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GraphicsCommandList10Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList10 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList10 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList10 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList10 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList10 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList10 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList10 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList10 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList10 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList10 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList10 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList10 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList10 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList10 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList10 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList10 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList10 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList10 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList10 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList10 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList10 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList10 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList10 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList10 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList10 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList10 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList10 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList10 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList10 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList10 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList10 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
- void ( STDMETHODCALLTYPE *RSSetShadingRate )(
- ID3D12GraphicsCommandList10 * This,
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
- void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
- ID3D12GraphicsCommandList10 * This,
- _In_opt_ ID3D12Resource *shadingRateImage);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
- void ( STDMETHODCALLTYPE *DispatchMesh )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier)
- void ( STDMETHODCALLTYPE *Barrier )(
- ID3D12GraphicsCommandList10 * This,
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList8, OMSetFrontAndBackStencilRef)
- void ( STDMETHODCALLTYPE *OMSetFrontAndBackStencilRef )(
- ID3D12GraphicsCommandList10 * This,
- _In_ UINT FrontStencilRef,
- _In_ UINT BackStencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, RSSetDepthBias)
- void ( STDMETHODCALLTYPE *RSSetDepthBias )(
- ID3D12GraphicsCommandList10 * This,
- _In_ FLOAT DepthBias,
- _In_ FLOAT DepthBiasClamp,
- _In_ FLOAT SlopeScaledDepthBias);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, IASetIndexBufferStripCutValue)
- void ( STDMETHODCALLTYPE *IASetIndexBufferStripCutValue )(
- ID3D12GraphicsCommandList10 * This,
- _In_ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList10, SetProgram)
- void ( STDMETHODCALLTYPE *SetProgram )(
- ID3D12GraphicsCommandList10 * This,
- _In_ const D3D12_SET_PROGRAM_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList10, DispatchGraph)
- void ( STDMETHODCALLTYPE *DispatchGraph )(
- ID3D12GraphicsCommandList10 * This,
- _In_ const D3D12_DISPATCH_GRAPH_DESC *pDesc);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList10Vtbl;
-
- interface ID3D12GraphicsCommandList10
- {
- CONST_VTBL struct ID3D12GraphicsCommandList10Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GraphicsCommandList10_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GraphicsCommandList10_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GraphicsCommandList10_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GraphicsCommandList10_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12GraphicsCommandList10_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12GraphicsCommandList10_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12GraphicsCommandList10_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12GraphicsCommandList10_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12GraphicsCommandList10_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12GraphicsCommandList10_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12GraphicsCommandList10_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
-
-#define ID3D12GraphicsCommandList10_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList10_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList10_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
-
-#define ID3D12GraphicsCommandList10_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-#define ID3D12GraphicsCommandList10_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
-
-#define ID3D12GraphicsCommandList10_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
-
-#define ID3D12GraphicsCommandList10_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
-
-#define ID3D12GraphicsCommandList10_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
-
-#define ID3D12GraphicsCommandList10_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
-
-#define ID3D12GraphicsCommandList10_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
-
-#define ID3D12GraphicsCommandList10_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
-
-#define ID3D12GraphicsCommandList10_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList10_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
-
-#define ID3D12GraphicsCommandList10_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
-
-#define ID3D12GraphicsCommandList10_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
-
-#define ID3D12GraphicsCommandList10_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12GraphicsCommandList10_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
-
-#define ID3D12GraphicsCommandList10_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
-
-#define ID3D12GraphicsCommandList10_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList10_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
-
-#define ID3D12GraphicsCommandList10_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList10_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
-
-#define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
-
-#define ID3D12GraphicsCommandList10_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList10_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList10_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList10_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList10_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList10_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
-
-#define ID3D12GraphicsCommandList10_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
-
-#define ID3D12GraphicsCommandList10_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList10_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
-
-#define ID3D12GraphicsCommandList10_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
-
-#define ID3D12GraphicsCommandList10_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList10_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
-
-#define ID3D12GraphicsCommandList10_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12GraphicsCommandList10_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList10_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12GraphicsCommandList10_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12GraphicsCommandList10_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12GraphicsCommandList10_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList10_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12GraphicsCommandList10_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12GraphicsCommandList10_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
-
-
-#define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
-
-#define ID3D12GraphicsCommandList10_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
-
-#define ID3D12GraphicsCommandList10_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
-
-#define ID3D12GraphicsCommandList10_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
-
-#define ID3D12GraphicsCommandList10_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
-
-
-#define ID3D12GraphicsCommandList10_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12GraphicsCommandList10_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-
-#define ID3D12GraphicsCommandList10_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
-
-#define ID3D12GraphicsCommandList10_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
-
-#define ID3D12GraphicsCommandList10_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList10_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
-
-#define ID3D12GraphicsCommandList10_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
-
-#define ID3D12GraphicsCommandList10_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
-
-#define ID3D12GraphicsCommandList10_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
-
-#define ID3D12GraphicsCommandList10_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
-
-#define ID3D12GraphicsCommandList10_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
-
-
-#define ID3D12GraphicsCommandList10_RSSetShadingRate(This,baseShadingRate,combiners) \
- ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
-
-#define ID3D12GraphicsCommandList10_RSSetShadingRateImage(This,shadingRateImage) \
- ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
-
-
-#define ID3D12GraphicsCommandList10_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
-
-
-#define ID3D12GraphicsCommandList10_Barrier(This,NumBarrierGroups,pBarrierGroups) \
- ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
-
-
-#define ID3D12GraphicsCommandList10_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \
- ( (This)->lpVtbl -> OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) )
-
-
-#define ID3D12GraphicsCommandList10_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) \
- ( (This)->lpVtbl -> RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) )
-
-#define ID3D12GraphicsCommandList10_IASetIndexBufferStripCutValue(This,IBStripCutValue) \
- ( (This)->lpVtbl -> IASetIndexBufferStripCutValue(This,IBStripCutValue) )
-
-
-#define ID3D12GraphicsCommandList10_SetProgram(This,pDesc) \
- ( (This)->lpVtbl -> SetProgram(This,pDesc) )
-
-#define ID3D12GraphicsCommandList10_DispatchGraph(This,pDesc) \
- ( (This)->lpVtbl -> DispatchGraph(This,pDesc) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GraphicsCommandList10_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12GBVDiagnostics_INTERFACE_DEFINED__
-#define __ID3D12GBVDiagnostics_INTERFACE_DEFINED__
-
-/* interface ID3D12GBVDiagnostics */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12GBVDiagnostics;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("597985ab-9b75-4dbb-be23-0761195bebee")
- ID3D12GBVDiagnostics : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetGBVEntireSubresourceStatesData(
- _In_ ID3D12Resource *pResource,
- _Out_writes_bytes_(DataSize) int *pData,
- UINT DataSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetGBVSubresourceState(
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- _Out_ int *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetGBVResourceUniformState(
- _In_ ID3D12Resource *pResource,
- _Out_ int *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetGBVResourceInfo(
- _In_ ID3D12Resource *pResource,
- _In_opt_ D3D12_RESOURCE_DESC *pResourceDesc,
- _In_opt_ UINT32 *pResourceHash,
- _In_opt_ UINT32 *pSubresourceStatesByteOffset) = 0;
-
- virtual void STDMETHODCALLTYPE GBVReserved0( void) = 0;
-
- virtual void STDMETHODCALLTYPE GBVReserved1( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12GBVDiagnosticsVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GBVDiagnostics * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GBVDiagnostics * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GBVDiagnostics * This);
-
- DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVEntireSubresourceStatesData)
- HRESULT ( STDMETHODCALLTYPE *GetGBVEntireSubresourceStatesData )(
- ID3D12GBVDiagnostics * This,
- _In_ ID3D12Resource *pResource,
- _Out_writes_bytes_(DataSize) int *pData,
- UINT DataSize);
-
- DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVSubresourceState)
- HRESULT ( STDMETHODCALLTYPE *GetGBVSubresourceState )(
- ID3D12GBVDiagnostics * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- _Out_ int *pData);
-
- DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVResourceUniformState)
- HRESULT ( STDMETHODCALLTYPE *GetGBVResourceUniformState )(
- ID3D12GBVDiagnostics * This,
- _In_ ID3D12Resource *pResource,
- _Out_ int *pData);
-
- DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVResourceInfo)
- HRESULT ( STDMETHODCALLTYPE *GetGBVResourceInfo )(
- ID3D12GBVDiagnostics * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ D3D12_RESOURCE_DESC *pResourceDesc,
- _In_opt_ UINT32 *pResourceHash,
- _In_opt_ UINT32 *pSubresourceStatesByteOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GBVReserved0)
- void ( STDMETHODCALLTYPE *GBVReserved0 )(
- ID3D12GBVDiagnostics * This);
-
- DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GBVReserved1)
- void ( STDMETHODCALLTYPE *GBVReserved1 )(
- ID3D12GBVDiagnostics * This);
-
- END_INTERFACE
- } ID3D12GBVDiagnosticsVtbl;
-
- interface ID3D12GBVDiagnostics
- {
- CONST_VTBL struct ID3D12GBVDiagnosticsVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12GBVDiagnostics_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12GBVDiagnostics_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12GBVDiagnostics_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12GBVDiagnostics_GetGBVEntireSubresourceStatesData(This,pResource,pData,DataSize) \
- ( (This)->lpVtbl -> GetGBVEntireSubresourceStatesData(This,pResource,pData,DataSize) )
-
-#define ID3D12GBVDiagnostics_GetGBVSubresourceState(This,pResource,Subresource,pData) \
- ( (This)->lpVtbl -> GetGBVSubresourceState(This,pResource,Subresource,pData) )
-
-#define ID3D12GBVDiagnostics_GetGBVResourceUniformState(This,pResource,pData) \
- ( (This)->lpVtbl -> GetGBVResourceUniformState(This,pResource,pData) )
-
-#define ID3D12GBVDiagnostics_GetGBVResourceInfo(This,pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset) \
- ( (This)->lpVtbl -> GetGBVResourceInfo(This,pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset) )
-
-#define ID3D12GBVDiagnostics_GBVReserved0(This) \
- ( (This)->lpVtbl -> GBVReserved0(This) )
-
-#define ID3D12GBVDiagnostics_GBVReserved1(This) \
- ( (This)->lpVtbl -> GBVReserved1(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12GBVDiagnostics_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12_0000_0074 */
-/* [local] */
-
-#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */
-#pragma endregion
-DEFINE_GUID(IID_ID3D12Object,0xc4fec28f,0x7966,0x4e95,0x9f,0x94,0xf4,0x31,0xcb,0x56,0xc3,0xb8);
-DEFINE_GUID(IID_ID3D12DeviceChild,0x905db94b,0xa00c,0x4140,0x9d,0xf5,0x2b,0x64,0xca,0x9e,0xa3,0x57);
-DEFINE_GUID(IID_ID3D12RootSignature,0xc54a6b66,0x72df,0x4ee8,0x8b,0xe5,0xa9,0x46,0xa1,0x42,0x92,0x14);
-DEFINE_GUID(IID_ID3D12RootSignatureDeserializer,0x34AB647B,0x3CC8,0x46AC,0x84,0x1B,0xC0,0x96,0x56,0x45,0xC0,0x46);
-DEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer,0x7F91CE67,0x090C,0x4BB7,0xB7,0x8E,0xED,0x8F,0xF2,0xE3,0x1D,0xA0);
-DEFINE_GUID(IID_ID3D12Pageable,0x63ee58fb,0x1268,0x4835,0x86,0xda,0xf0,0x08,0xce,0x62,0xf0,0xd6);
-DEFINE_GUID(IID_ID3D12Heap,0x6b3b2502,0x6e51,0x45b3,0x90,0xee,0x98,0x84,0x26,0x5e,0x8d,0xf3);
-DEFINE_GUID(IID_ID3D12Resource,0x696442be,0xa72e,0x4059,0xbc,0x79,0x5b,0x5c,0x98,0x04,0x0f,0xad);
-DEFINE_GUID(IID_ID3D12CommandAllocator,0x6102dee4,0xaf59,0x4b09,0xb9,0x99,0xb4,0x4d,0x73,0xf0,0x9b,0x24);
-DEFINE_GUID(IID_ID3D12Fence,0x0a753dcf,0xc4d8,0x4b91,0xad,0xf6,0xbe,0x5a,0x60,0xd9,0x5a,0x76);
-DEFINE_GUID(IID_ID3D12Fence1,0x433685fe,0xe22b,0x4ca0,0xa8,0xdb,0xb5,0xb4,0xf4,0xdd,0x0e,0x4a);
-DEFINE_GUID(IID_ID3D12PipelineState,0x765a30f3,0xf624,0x4c6f,0xa8,0x28,0xac,0xe9,0x48,0x62,0x24,0x45);
-DEFINE_GUID(IID_ID3D12DescriptorHeap,0x8efb471d,0x616c,0x4f49,0x90,0xf7,0x12,0x7b,0xb7,0x63,0xfa,0x51);
-DEFINE_GUID(IID_ID3D12QueryHeap,0x0d9658ae,0xed45,0x469e,0xa6,0x1d,0x97,0x0e,0xc5,0x83,0xca,0xb4);
-DEFINE_GUID(IID_ID3D12CommandSignature,0xc36a797c,0xec80,0x4f0a,0x89,0x85,0xa7,0xb2,0x47,0x50,0x82,0xd1);
-DEFINE_GUID(IID_ID3D12CommandList,0x7116d91c,0xe7e4,0x47ce,0xb8,0xc6,0xec,0x81,0x68,0xf4,0x37,0xe5);
-DEFINE_GUID(IID_ID3D12GraphicsCommandList,0x5b160d0f,0xac1b,0x4185,0x8b,0xa8,0xb3,0xae,0x42,0xa5,0xa4,0x55);
-DEFINE_GUID(IID_ID3D12GraphicsCommandList1,0x553103fb,0x1fe7,0x4557,0xbb,0x38,0x94,0x6d,0x7d,0x0e,0x7c,0xa7);
-DEFINE_GUID(IID_ID3D12GraphicsCommandList2,0x38C3E585,0xFF17,0x412C,0x91,0x50,0x4F,0xC6,0xF9,0xD7,0x2A,0x28);
-DEFINE_GUID(IID_ID3D12CommandQueue,0x0ec870a6,0x5d7e,0x4c22,0x8c,0xfc,0x5b,0xaa,0xe0,0x76,0x16,0xed);
-DEFINE_GUID(IID_ID3D12Device,0x189819f1,0x1db6,0x4b57,0xbe,0x54,0x18,0x21,0x33,0x9b,0x85,0xf7);
-DEFINE_GUID(IID_ID3D12PipelineLibrary,0xc64226a8,0x9201,0x46af,0xb4,0xcc,0x53,0xfb,0x9f,0xf7,0x41,0x4f);
-DEFINE_GUID(IID_ID3D12PipelineLibrary1,0x80eabf42,0x2568,0x4e5e,0xbd,0x82,0xc3,0x7f,0x86,0x96,0x1d,0xc3);
-DEFINE_GUID(IID_ID3D12Device1,0x77acce80,0x638e,0x4e65,0x88,0x95,0xc1,0xf2,0x33,0x86,0x86,0x3e);
-DEFINE_GUID(IID_ID3D12Device2,0x30baa41e,0xb15b,0x475c,0xa0,0xbb,0x1a,0xf5,0xc5,0xb6,0x43,0x28);
-DEFINE_GUID(IID_ID3D12Device3,0x81dadc15,0x2bad,0x4392,0x93,0xc5,0x10,0x13,0x45,0xc4,0xaa,0x98);
-DEFINE_GUID(IID_ID3D12ProtectedSession,0xA1533D18,0x0AC1,0x4084,0x85,0xB9,0x89,0xA9,0x61,0x16,0x80,0x6B);
-DEFINE_GUID(IID_ID3D12ProtectedResourceSession,0x6CD696F4,0xF289,0x40CC,0x80,0x91,0x5A,0x6C,0x0A,0x09,0x9C,0x3D);
-DEFINE_GUID(IID_ID3D12Device4,0xe865df17,0xa9ee,0x46f9,0xa4,0x63,0x30,0x98,0x31,0x5a,0xa2,0xe5);
-DEFINE_GUID(IID_ID3D12LifetimeOwner,0xe667af9f,0xcd56,0x4f46,0x83,0xce,0x03,0x2e,0x59,0x5d,0x70,0xa8);
-DEFINE_GUID(IID_ID3D12SwapChainAssistant,0xf1df64b6,0x57fd,0x49cd,0x88,0x07,0xc0,0xeb,0x88,0xb4,0x5c,0x8f);
-DEFINE_GUID(IID_ID3D12LifetimeTracker,0x3fd03d36,0x4eb1,0x424a,0xa5,0x82,0x49,0x4e,0xcb,0x8b,0xa8,0x13);
-DEFINE_GUID(IID_ID3D12StateObject,0x47016943,0xfca8,0x4594,0x93,0xea,0xaf,0x25,0x8b,0x55,0x34,0x6d);
-DEFINE_GUID(IID_ID3D12StateObjectProperties,0xde5fa827,0x9bf9,0x4f26,0x89,0xff,0xd7,0xf5,0x6f,0xde,0x38,0x60);
-DEFINE_GUID(IID_ID3D12StateObjectProperties1,0x460caac7,0x1d24,0x446a,0xa1,0x84,0xca,0x67,0xdb,0x49,0x41,0x38);
-DEFINE_GUID(IID_ID3D12WorkGraphProperties,0x065acf71,0xf863,0x4b89,0x82,0xf4,0x02,0xe4,0xd5,0x88,0x67,0x57);
-DEFINE_GUID(IID_ID3D12Device5,0x8b4f173b,0x2fea,0x4b80,0x8f,0x58,0x43,0x07,0x19,0x1a,0xb9,0x5d);
-DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings,0x82BC481C,0x6B9B,0x4030,0xAE,0xDB,0x7E,0xE3,0xD1,0xDF,0x1E,0x63);
-DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings1,0xDBD5AE51,0x3317,0x4F0A,0xAD,0xF9,0x1D,0x7C,0xED,0xCA,0xAE,0x0B);
-DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings2,0x61552388,0x01ab,0x4008,0xa4,0x36,0x83,0xdb,0x18,0x95,0x66,0xea);
-DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData,0x98931D33,0x5AE8,0x4791,0xAA,0x3C,0x1A,0x73,0xA2,0x93,0x4E,0x71);
-DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData1,0x9727A022,0xCF1D,0x4DDA,0x9E,0xBA,0xEF,0xFA,0x65,0x3F,0xC5,0x06);
-DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData2,0x67FC5816,0xE4CA,0x4915,0xBF,0x18,0x42,0x54,0x12,0x72,0xDA,0x54);
-DEFINE_GUID(IID_ID3D12Device6,0xc70b221b,0x40e4,0x4a17,0x89,0xaf,0x02,0x5a,0x07,0x27,0xa6,0xdc);
-DEFINE_GUID(IID_ID3D12ProtectedResourceSession1,0xD6F12DD6,0x76FB,0x406E,0x89,0x61,0x42,0x96,0xEE,0xFC,0x04,0x09);
-DEFINE_GUID(IID_ID3D12Device7,0x5c014b53,0x68a1,0x4b9b,0x8b,0xd1,0xdd,0x60,0x46,0xb9,0x35,0x8b);
-DEFINE_GUID(IID_ID3D12Device8,0x9218E6BB,0xF944,0x4F7E,0xA7,0x5C,0xB1,0xB2,0xC7,0xB7,0x01,0xF3);
-DEFINE_GUID(IID_ID3D12Resource1,0x9D5E227A,0x4430,0x4161,0x88,0xB3,0x3E,0xCA,0x6B,0xB1,0x6E,0x19);
-DEFINE_GUID(IID_ID3D12Resource2,0xBE36EC3B,0xEA85,0x4AEB,0xA4,0x5A,0xE9,0xD7,0x64,0x04,0xA4,0x95);
-DEFINE_GUID(IID_ID3D12Heap1,0x572F7389,0x2168,0x49E3,0x96,0x93,0xD6,0xDF,0x58,0x71,0xBF,0x6D);
-DEFINE_GUID(IID_ID3D12GraphicsCommandList3,0x6FDA83A7,0xB84C,0x4E38,0x9A,0xC8,0xC7,0xBD,0x22,0x01,0x6B,0x3D);
-DEFINE_GUID(IID_ID3D12MetaCommand,0xDBB84C27,0x36CE,0x4FC9,0xB8,0x01,0xF0,0x48,0xC4,0x6A,0xC5,0x70);
-DEFINE_GUID(IID_ID3D12GraphicsCommandList4,0x8754318e,0xd3a9,0x4541,0x98,0xcf,0x64,0x5b,0x50,0xdc,0x48,0x74);
-DEFINE_GUID(IID_ID3D12ShaderCacheSession,0x28e2495d,0x0f64,0x4ae4,0xa6,0xec,0x12,0x92,0x55,0xdc,0x49,0xa8);
-DEFINE_GUID(IID_ID3D12Device9,0x4c80e962,0xf032,0x4f60,0xbc,0x9e,0xeb,0xc2,0xcf,0xa1,0xd8,0x3c);
-DEFINE_GUID(IID_ID3D12Device10,0x517f8718,0xaa66,0x49f9,0xb0,0x2b,0xa7,0xab,0x89,0xc0,0x60,0x31);
-DEFINE_GUID(IID_ID3D12Device11,0x5405c344,0xd457,0x444e,0xb4,0xdd,0x23,0x66,0xe4,0x5a,0xee,0x39);
-DEFINE_GUID(IID_ID3D12Device12,0x5af5c532,0x4c91,0x4cd0,0xb5,0x41,0x15,0xa4,0x05,0x39,0x5f,0xc5);
-DEFINE_GUID(IID_ID3D12Device13,0x14eecffc,0x4df8,0x40f7,0xa1,0x18,0x5c,0x81,0x6f,0x45,0x69,0x5e);
-DEFINE_GUID(IID_ID3D12Device14,0x5f6e592d,0xd895,0x44c2,0x8e,0x4a,0x88,0xad,0x49,0x26,0xd3,0x23);
-DEFINE_GUID(IID_ID3D12VirtualizationGuestDevice,0xbc66d368,0x7373,0x4943,0x87,0x57,0xfc,0x87,0xdc,0x79,0xe4,0x76);
-DEFINE_GUID(IID_ID3D12Tools,0x7071e1f0,0xe84b,0x4b33,0x97,0x4f,0x12,0xfa,0x49,0xde,0x65,0xc5);
-DEFINE_GUID(IID_ID3D12SDKConfiguration,0xe9eb5314,0x33aa,0x42b2,0xa7,0x18,0xd7,0x7f,0x58,0xb1,0xf1,0xc7);
-DEFINE_GUID(IID_ID3D12SDKConfiguration1,0x8aaf9303,0xad25,0x48b9,0x9a,0x57,0xd9,0xc3,0x7e,0x00,0x9d,0x9f);
-DEFINE_GUID(IID_ID3D12DeviceFactory,0x61f307d3,0xd34e,0x4e7c,0x83,0x74,0x3b,0xa4,0xde,0x23,0xcc,0xcb);
-DEFINE_GUID(IID_ID3D12DeviceConfiguration,0x78dbf87b,0xf766,0x422b,0xa6,0x1c,0xc8,0xc4,0x46,0xbd,0xb9,0xad);
-DEFINE_GUID(IID_ID3D12DeviceConfiguration1,0xed342442,0x6343,0x4e16,0xbb,0x82,0xa3,0xa5,0x77,0x87,0x4e,0x56);
-DEFINE_GUID(IID_ID3D12GraphicsCommandList5,0x55050859,0x4024,0x474c,0x87,0xf5,0x64,0x72,0xea,0xee,0x44,0xea);
-DEFINE_GUID(IID_ID3D12GraphicsCommandList6,0xc3827890,0xe548,0x4cfa,0x96,0xcf,0x56,0x89,0xa9,0x37,0x0f,0x80);
-DEFINE_GUID(IID_ID3D12GraphicsCommandList7,0xdd171223,0x8b61,0x4769,0x90,0xe3,0x16,0x0c,0xcd,0xe4,0xe2,0xc1);
-DEFINE_GUID(IID_ID3D12GraphicsCommandList8,0xee936ef9,0x599d,0x4d28,0x93,0x8e,0x23,0xc4,0xad,0x05,0xce,0x51);
-DEFINE_GUID(IID_ID3D12GraphicsCommandList9,0x34ed2808,0xffe6,0x4c2b,0xb1,0x1a,0xca,0xbd,0x2b,0x0c,0x59,0xe1);
-DEFINE_GUID(IID_ID3D12GraphicsCommandList10,0x7013c015,0xd161,0x4b63,0xa0,0x8c,0x23,0x85,0x52,0xdd,0x8a,0xcc);
-DEFINE_GUID(IID_ID3D12GBVDiagnostics,0x597985ab,0x9b75,0x4dbb,0xbe,0x23,0x07,0x61,0x19,0x5b,0xeb,0xee);
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0074_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0074_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12.idl b/Juliet/src/Graphics/DX12/D3D12/directx/d3d12.idl
deleted file mode 100644
index cb9f456..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12.idl
+++ /dev/null
@@ -1,6558 +0,0 @@
-/*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- * Licensed under the MIT license
- *
- *-------------------------------------------------------------------------------------*/
-import "oaidl.idl";
-import "ocidl.idl";
-
-import "dxgicommon.idl";
-import "dxgiformat.idl";
-
-import "d3dcommon.idl";
-
-cpp_quote("#include ")
-
-#pragma region App Family
-cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)")
-
-// NOTE: The following constants are generated from the D3D12 hardware spec. Do not edit these values directly.
-cpp_quote( "#ifndef _D3D12_CONSTANTS" )
-cpp_quote( "#define _D3D12_CONSTANTS" )
-const UINT D3D12_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff;
-const UINT D3D12_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff;
-const UINT D3D12_8BIT_INDEX_STRIP_CUT_VALUE = 0xff;
-const UINT D3D12_APPEND_ALIGNED_ELEMENT = 0xffffffff;
-const UINT D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9;
-const UINT D3D12_CLIP_OR_CULL_DISTANCE_COUNT = 8;
-const UINT D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2;
-const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
-const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
-const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15;
-const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT = 16;
-const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
-const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15;
-const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
-const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
-const UINT D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64;
-const UINT D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
-const UINT D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1;
-const UINT D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
-const UINT D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
-const UINT D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1;
-const UINT D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128;
-const UINT D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1;
-const UINT D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1;
-const UINT D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128;
-const UINT D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1;
-const UINT D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16;
-const UINT D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1;
-const UINT D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1;
-const UINT D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT = 16;
-const UINT D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32;
-const UINT D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4;
-const UINT D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_COMMONSHADER_TEMP_REGISTER_COUNT = 4096;
-const UINT D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3;
-const UINT D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3;
-const UINT D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10;
-const INT D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10;
-const INT D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8;
-const UINT D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7;
-const UINT D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT = 256;
-const UINT D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 256;
-const UINT D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP = 64;
-const UINT D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 240;
-const UINT D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP = 68;
-const UINT D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 224;
-const UINT D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP = 72;
-const UINT D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 208;
-const UINT D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP = 76;
-const UINT D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 192;
-const UINT D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP = 84;
-const UINT D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 176;
-const UINT D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP = 92;
-const UINT D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 160;
-const UINT D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP = 100;
-const UINT D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 144;
-const UINT D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP = 112;
-const UINT D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 128;
-const UINT D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP = 128;
-const UINT D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 112;
-const UINT D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP = 144;
-const UINT D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 96;
-const UINT D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP = 168;
-const UINT D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 80;
-const UINT D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP = 204;
-const UINT D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 64;
-const UINT D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP = 256;
-const UINT D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 48;
-const UINT D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP = 340;
-const UINT D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 32;
-const UINT D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP = 512;
-const UINT D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 16;
-const UINT D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP = 768;
-const UINT D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION = 1;
-const UINT D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT = 256;
-const UINT D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP = 768;
-const UINT D3D12_CS_4_X_THREAD_GROUP_MAX_X = 768;
-const UINT D3D12_CS_4_X_THREAD_GROUP_MAX_Y = 768;
-const UINT D3D12_CS_4_X_UAV_REGISTER_COUNT = 1;
-const UINT D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION = 65535;
-const UINT D3D12_CS_TGSM_REGISTER_COUNT = 8192;
-const UINT D3D12_CS_TGSM_REGISTER_READS_PER_INST = 1;
-const UINT D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS = 1;
-const UINT D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS = 1;
-const UINT D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS = 3;
-const UINT D3D12_CS_THREADGROUPID_REGISTER_COUNT = 1;
-const UINT D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS = 1;
-const UINT D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT = 1;
-const UINT D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS = 3;
-const UINT D3D12_CS_THREADIDINGROUP_REGISTER_COUNT = 1;
-const UINT D3D12_CS_THREADID_REGISTER_COMPONENTS = 3;
-const UINT D3D12_CS_THREADID_REGISTER_COUNT = 1;
-const UINT D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP = 1024;
-const UINT D3D12_CS_THREAD_GROUP_MAX_X = 1024;
-const UINT D3D12_CS_THREAD_GROUP_MAX_Y = 1024;
-const UINT D3D12_CS_THREAD_GROUP_MAX_Z = 64;
-const UINT D3D12_CS_THREAD_GROUP_MIN_X = 1;
-const UINT D3D12_CS_THREAD_GROUP_MIN_Y = 1;
-const UINT D3D12_CS_THREAD_GROUP_MIN_Z = 1;
-const UINT D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL = 16384;
-cpp_quote( "#define D3D12_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f )" )
-cpp_quote( "#define D3D12_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )" )
-cpp_quote( "#define D3D12_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f )" )
-cpp_quote( "#define D3D12_DEFAULT_BLEND_FACTOR_RED ( 1.0f )" )
-cpp_quote( "#define D3D12_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f )" )
-const UINT D3D12_DEFAULT_DEPTH_BIAS = 0;
-cpp_quote( "#define D3D12_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f )" )
-const UINT D3D12_DEFAULT_MAX_ANISOTROPY = 16;
-cpp_quote( "#define D3D12_DEFAULT_MIP_LOD_BIAS ( 0.0f )" )
-const UINT D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT = 4194304;
-const UINT D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0;
-const UINT D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT = 65536;
-const UINT D3D12_DEFAULT_SAMPLE_MASK = 0xffffffff;
-const UINT D3D12_DEFAULT_SCISSOR_ENDX = 0;
-const UINT D3D12_DEFAULT_SCISSOR_ENDY = 0;
-const UINT D3D12_DEFAULT_SCISSOR_STARTX = 0;
-const UINT D3D12_DEFAULT_SCISSOR_STARTY = 0;
-cpp_quote( "#define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f )" )
-const UINT D3D12_DEFAULT_STENCIL_READ_MASK = 0xff;
-const UINT D3D12_DEFAULT_STENCIL_REFERENCE = 0;
-const UINT D3D12_DEFAULT_STENCIL_WRITE_MASK = 0xff;
-const UINT D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0;
-const UINT D3D12_DEFAULT_VIEWPORT_HEIGHT = 0;
-cpp_quote( "#define D3D12_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f )" )
-cpp_quote( "#define D3D12_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f )" )
-const UINT D3D12_DEFAULT_VIEWPORT_TOPLEFTX = 0;
-const UINT D3D12_DEFAULT_VIEWPORT_TOPLEFTY = 0;
-const UINT D3D12_DEFAULT_VIEWPORT_WIDTH = 0;
-const UINT D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND = 0xffffffff;
-const UINT D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END = 0xfffffff7;
-const UINT D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START = 0xfffffff0;
-const UINT D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = 3968;
-const UINT D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS = 4;
-const UINT D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT = 32;
-const UINT D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS = 1;
-const UINT D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS = 3;
-const UINT D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT = 1;
-const UINT D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS = 1;
-const UINT D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = 4;
-const UINT D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT = 32;
-const UINT D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = 1;
-const UINT D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS = 1;
-const UINT D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT = 1;
-const UINT D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS = 1;
-const UINT D3D12_DS_OUTPUT_REGISTER_COMPONENTS = 4;
-const UINT D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_DS_OUTPUT_REGISTER_COUNT = 32;
-cpp_quote( "#define D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 )" )
-cpp_quote( "#define D3D12_FLOAT32_MAX ( 3.402823466e+38f )" )
-cpp_quote( "#define D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f )" )
-cpp_quote( "#define D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f )" )
-cpp_quote( "#define D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f )" )
-cpp_quote( "#define D3D12_FLOAT_TO_SRGB_OFFSET ( 0.055f )" )
-cpp_quote( "#define D3D12_FLOAT_TO_SRGB_SCALE_1 ( 12.92f )" )
-cpp_quote( "#define D3D12_FLOAT_TO_SRGB_SCALE_2 ( 1.055f )" )
-cpp_quote( "#define D3D12_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f )" )
-cpp_quote( "#define D3D12_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f )" )
-cpp_quote( "#define D3D12_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f )" )
-cpp_quote( "#define D3D12_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f )" )
-cpp_quote( "#define D3D12_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f )" )
-const UINT D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST = 2;
-const UINT D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS = 1;
-const UINT D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS = 1;
-const UINT D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT = 1;
-const UINT D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1;
-const UINT D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1;
-const UINT D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1;
-const UINT D3D12_GS_INPUT_REGISTER_COMPONENTS = 4;
-const UINT D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_GS_INPUT_REGISTER_COUNT = 32;
-const UINT D3D12_GS_INPUT_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_GS_INPUT_REGISTER_READ_PORTS = 1;
-const UINT D3D12_GS_INPUT_REGISTER_VERTICES = 32;
-const UINT D3D12_GS_MAX_INSTANCE_COUNT = 32;
-const UINT D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES = 1024;
-const UINT D3D12_GS_OUTPUT_ELEMENTS = 32;
-const UINT D3D12_GS_OUTPUT_REGISTER_COMPONENTS = 4;
-const UINT D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_GS_OUTPUT_REGISTER_COUNT = 32;
-const UINT D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT = 32;
-const UINT D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT = 32;
-const UINT D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS = 4;
-const UINT D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS = 1;
-const UINT D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND = 0xFFFFFFFF;
-const UINT D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS = 1;
-const UINT D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT = 1;
-const UINT D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS = 1;
-const UINT D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS = 1;
-const UINT D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT = 1;
-const UINT D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS = 1;
-const UINT D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS = 1;
-const UINT D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT = 1;
-const UINT D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS = 1;
-const UINT D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND = 0xFFFFFFFF;
-cpp_quote( "#define D3D12_HS_MAXTESSFACTOR_LOWER_BOUND ( 1.0f )" )
-cpp_quote( "#define D3D12_HS_MAXTESSFACTOR_UPPER_BOUND ( 64.0f )" )
-const UINT D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = 3968;
-const UINT D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS = 1;
-const UINT D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT = 1;
-const UINT D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS = 1;
-const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = 4;
-const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT = 32;
-const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = 1;
-const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS = 128;
-const UINT D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0;
-const UINT D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0;
-const UINT D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0;
-const UINT D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1;
-const UINT D3D12_IA_INSTANCE_ID_BIT_COUNT = 32;
-const UINT D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32;
-const UINT D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT = 32;
-const UINT D3D12_IA_PRIMITIVE_ID_BIT_COUNT = 32;
-const UINT D3D12_IA_VERTEX_ID_BIT_COUNT = 32;
-const UINT D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32;
-const UINT D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 128;
-const UINT D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 32;
-const UINT D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = 0xffffffff;
-const UINT D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER = 0xffffffff;
-const UINT D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL = 0xffffffff;
-const UINT D3D12_KEEP_UNORDERED_ACCESS_VIEWS = 0xffffffff;
-cpp_quote( "#define D3D12_LINEAR_GAMMA ( 1.0f )" )
-const UINT D3D12_MAJOR_VERSION = 12;
-cpp_quote( "#define D3D12_MAX_BORDER_COLOR_COMPONENT ( 1.0f )" )
-cpp_quote( "#define D3D12_MAX_DEPTH ( 1.0f )" )
-const UINT D3D12_MAX_LIVE_STATIC_SAMPLERS = 2032;
-const UINT D3D12_MAX_MAXANISOTROPY = 16;
-const UINT D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT = 32;
-cpp_quote( "#define D3D12_MAX_POSITION_VALUE ( 3.402823466e+34f )" )
-const UINT D3D12_MAX_ROOT_COST = 64;
-const UINT D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 = 1000000;
-const UINT D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 = 1000000;
-const UINT D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE = 2048;
-const UINT D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17;
-const UINT D3D12_MAX_VIEW_INSTANCE_COUNT = 4;
-const UINT D3D12_MINOR_VERSION = 0;
-cpp_quote( "#define D3D12_MIN_BORDER_COLOR_COMPONENT ( 0.0f )" )
-cpp_quote( "#define D3D12_MIN_DEPTH ( 0.0f )" )
-const UINT D3D12_MIN_MAXANISOTROPY = 0;
-cpp_quote( "#define D3D12_MIP_LOD_BIAS_MAX ( 15.99f )" )
-cpp_quote( "#define D3D12_MIP_LOD_BIAS_MIN ( -16.0f )" )
-const UINT D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT = 8;
-const UINT D3D12_MIP_LOD_RANGE_BIT_COUNT = 8;
-cpp_quote( "#define D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f )" )
-const UINT D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0;
-const UINT D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END = 0xffffffff;
-const UINT D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START = 0xfffffff8;
-const UINT D3D12_PACKED_TILE = 0xffffffff;
-const UINT D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15;
-const UINT D3D12_PREVIEW_SDK_VERSION = 714;
-const UINT D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 16;
-const UINT D3D12_PS_CS_UAV_REGISTER_COMPONENTS = 1;
-const UINT D3D12_PS_CS_UAV_REGISTER_COUNT = 8;
-const UINT D3D12_PS_CS_UAV_REGISTER_READS_PER_INST = 1;
-const UINT D3D12_PS_CS_UAV_REGISTER_READ_PORTS = 1;
-const UINT D3D12_PS_FRONTFACING_DEFAULT_VALUE = 0xFFFFFFFF;
-const UINT D3D12_PS_FRONTFACING_FALSE_VALUE = 0x00000000;
-const UINT D3D12_PS_FRONTFACING_TRUE_VALUE = 0xFFFFFFFF;
-const UINT D3D12_PS_INPUT_REGISTER_COMPONENTS = 4;
-const UINT D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_PS_INPUT_REGISTER_COUNT = 32;
-const UINT D3D12_PS_INPUT_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_PS_INPUT_REGISTER_READ_PORTS = 1;
-cpp_quote( "#define D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f )" )
-const UINT D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1;
-const UINT D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1;
-const UINT D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS = 1;
-const UINT D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_PS_OUTPUT_MASK_REGISTER_COUNT = 1;
-const UINT D3D12_PS_OUTPUT_REGISTER_COMPONENTS = 4;
-const UINT D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_PS_OUTPUT_REGISTER_COUNT = 8;
-cpp_quote( "#define D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f )" )
-const UINT D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT = 16;
-const UINT D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT = 8;
-const UINT D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT = 256;
-const UINT D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT = 16;
-const UINT D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES = 32;
-const UINT D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH = 31;
-const UINT D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE = 16777216;
-const UINT D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE = 16777216;
-const UINT D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE = 536870912;
-const UINT D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS = 1073741824;
-const UINT D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE = 4096;
-const UINT D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT = 32;
-const UINT D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT = 64;
-const UINT D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT = 16;
-const UINT D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE = 4096;
-const UINT D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27;
-const UINT D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
-const UINT D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE = 4096;
-const UINT D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32;
-const UINT D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32;
-const UINT D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 16384;
-const UINT D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024;
-const UINT D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
-const UINT D3D12_REQ_MAXANISOTROPY = 16;
-const UINT D3D12_REQ_MIP_LEVELS = 15;
-const UINT D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048;
-const UINT D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE = 4096;
-const UINT D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 16384;
-const UINT D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM = 128;
-cpp_quote( "#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM ( 0.25f )" )
-const UINT D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM = 2048;
-const UINT D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP = 20;
-const UINT D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE = 4096;
-const UINT D3D12_REQ_SUBRESOURCES = 30720;
-const UINT D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 2048;
-const UINT D3D12_REQ_TEXTURE1D_U_DIMENSION = 16384;
-const UINT D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 2048;
-const UINT D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION = 16384;
-const UINT D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048;
-const UINT D3D12_REQ_TEXTURECUBE_DIMENSION = 16384;
-const UINT D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0;
-const UINT D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES = 0xffffffff;
-const UINT D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT = 2;
-const UINT D3D12_SDK_VERSION = 614;
-const UINT D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES = 32;
-const UINT D3D12_SHADER_MAJOR_VERSION = 5;
-const UINT D3D12_SHADER_MAX_INSTANCES = 65535;
-const UINT D3D12_SHADER_MAX_INTERFACES = 253;
-const UINT D3D12_SHADER_MAX_INTERFACE_CALL_SITES = 4096;
-const UINT D3D12_SHADER_MAX_TYPES = 65535;
-const UINT D3D12_SHADER_MINOR_VERSION = 1;
-const UINT D3D12_SHIFT_INSTRUCTION_PAD_VALUE = 0;
-const UINT D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5;
-const UINT D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
-const UINT D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT = 65536;
-const UINT D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT = 4096;
-const UINT D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048;
-const UINT D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 512;
-const UINT D3D12_SO_BUFFER_SLOT_COUNT = 4;
-const UINT D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff;
-const UINT D3D12_SO_NO_RASTERIZED_STREAM = 0xffffffff;
-const UINT D3D12_SO_OUTPUT_COMPONENT_COUNT = 128;
-const UINT D3D12_SO_STREAM_COUNT = 4;
-const UINT D3D12_SPEC_DATE_DAY = 14;
-const UINT D3D12_SPEC_DATE_MONTH = 11;
-const UINT D3D12_SPEC_DATE_YEAR = 2014;
-cpp_quote( "#define D3D12_SPEC_VERSION ( 1.16 )" )
-cpp_quote( "#define D3D12_SRGB_GAMMA ( 2.2f )" )
-cpp_quote( "#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f )" )
-cpp_quote( "#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f )" )
-cpp_quote( "#define D3D12_SRGB_TO_FLOAT_EXPONENT ( 2.4f )" )
-cpp_quote( "#define D3D12_SRGB_TO_FLOAT_OFFSET ( 0.055f )" )
-cpp_quote( "#define D3D12_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f )" )
-cpp_quote( "#define D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f )" )
-const UINT D3D12_STANDARD_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64;
-const UINT D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4;
-const UINT D3D12_STANDARD_PIXEL_COMPONENT_COUNT = 128;
-const UINT D3D12_STANDARD_PIXEL_ELEMENT_COUNT = 32;
-const UINT D3D12_STANDARD_VECTOR_SIZE = 4;
-const UINT D3D12_STANDARD_VERTEX_ELEMENT_COUNT = 32;
-const UINT D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64;
-const UINT D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8;
-const UINT D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT = 8;
-const UINT D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END = 0xffffffff;
-const UINT D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START = 0xfffffff0;
-const UINT D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR = 64;
-const UINT D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR = 64;
-const UINT D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR = 63;
-const UINT D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR = 64;
-const UINT D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR = 2;
-const UINT D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR = 1;
-const UINT D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR = 1;
-const UINT D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT = 16;
-const UINT D3D12_TEXTURE_DATA_PITCH_ALIGNMENT = 256;
-const UINT D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT = 512;
-const UINT D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES = 65536;
-const UINT D3D12_TRACKED_WORKLOAD_MAX_INSTANCES = 32;
-const UINT D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT = 4096;
-const UINT D3D12_UAV_SLOT_COUNT = 64;
-const UINT D3D12_UNBOUND_MEMORY_ACCESS_RESULT = 0;
-const UINT D3D12_VIDEO_DECODE_MAX_ARGUMENTS = 10;
-const UINT D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS = 4;
-const UINT D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT = 256;
-const UINT D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT = 256;
-const UINT D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN = 0xffffffff;
-const UINT D3D12_VIDEO_ENCODER_AV1_INVALID_DPB_RESOURCE_INDEX = 0xFF;
-const UINT D3D12_VIDEO_ENCODER_AV1_MAX_TILE_COLS = 64;
-const UINT D3D12_VIDEO_ENCODER_AV1_MAX_TILE_ROWS = 64;
-const UINT D3D12_VIDEO_ENCODER_AV1_SUPERRES_DENOM_MIN = 9;
-const UINT D3D12_VIDEO_ENCODER_AV1_SUPERRES_NUM = 8;
-const UINT D3D12_VIDEO_PROCESS_MAX_FILTERS = 32;
-const UINT D3D12_VIDEO_PROCESS_STEREO_VIEWS = 2;
-const UINT D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
-const UINT D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16;
-const UINT D3D12_VIEWPORT_BOUNDS_MAX = 32767;
-const INT D3D12_VIEWPORT_BOUNDS_MIN = -32768;
-const UINT D3D12_VS_INPUT_REGISTER_COMPONENTS = 4;
-const UINT D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_VS_INPUT_REGISTER_COUNT = 32;
-const UINT D3D12_VS_INPUT_REGISTER_READS_PER_INST = 2;
-const UINT D3D12_VS_INPUT_REGISTER_READ_PORTS = 1;
-const UINT D3D12_VS_OUTPUT_REGISTER_COMPONENTS = 4;
-const UINT D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const UINT D3D12_VS_OUTPUT_REGISTER_COUNT = 32;
-const UINT D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10;
-const UINT D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25;
-const UINT D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25;
-const UINT D3D12_WORK_GRAPHS_BACKING_MEMORY_ALIGNMENT_IN_BYTES = 8;
-const UINT D3D12_WORK_GRAPHS_MAX_NODE_DEPTH = 32;
-cpp_quote( "#endif" )
-
-
-// Forward declarations
-interface ID3D12CommandQueue;
-
-
-typedef UINT64 D3D12_GPU_VIRTUAL_ADDRESS;
-
-typedef enum D3D12_COMMAND_LIST_TYPE
-{
- D3D12_COMMAND_LIST_TYPE_DIRECT = 0,
- D3D12_COMMAND_LIST_TYPE_BUNDLE = 1,
- D3D12_COMMAND_LIST_TYPE_COMPUTE = 2,
- D3D12_COMMAND_LIST_TYPE_COPY = 3,
- D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4,
- D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5,
- D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6,
-
- D3D12_COMMAND_LIST_TYPE_NONE = -1,
-
-} D3D12_COMMAND_LIST_TYPE;
-
-typedef enum D3D12_COMMAND_QUEUE_FLAGS
-{
- D3D12_COMMAND_QUEUE_FLAG_NONE = 0x0,
- D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1,
-} D3D12_COMMAND_QUEUE_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_QUEUE_FLAGS )" )
-
-typedef enum D3D12_COMMAND_QUEUE_PRIORITY
-{
- D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0,
- D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100,
- D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000
-} D3D12_COMMAND_QUEUE_PRIORITY;
-
-typedef struct D3D12_COMMAND_QUEUE_DESC
-{
- D3D12_COMMAND_LIST_TYPE Type;
- INT Priority;
- D3D12_COMMAND_QUEUE_FLAGS Flags;
- UINT NodeMask;
-} D3D12_COMMAND_QUEUE_DESC;
-
-typedef enum D3D12_PRIMITIVE_TOPOLOGY_TYPE
-{
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4
-} D3D12_PRIMITIVE_TOPOLOGY_TYPE;
-
-typedef enum D3D12_INPUT_CLASSIFICATION
-{
- D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0,
- D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1
-} D3D12_INPUT_CLASSIFICATION;
-
-typedef struct D3D12_INPUT_ELEMENT_DESC
-{
- LPCSTR SemanticName;
- UINT SemanticIndex;
- DXGI_FORMAT Format;
- UINT InputSlot;
- UINT AlignedByteOffset;
- D3D12_INPUT_CLASSIFICATION InputSlotClass;
- UINT InstanceDataStepRate;
-} D3D12_INPUT_ELEMENT_DESC;
-
-// Keep FILL_MODE values in sync with earlier DX versions (HW consumes values directly).
-typedef enum D3D12_FILL_MODE
-{
- // 1 was POINT in D3D, unused in D3D12
- D3D12_FILL_MODE_WIREFRAME = 2,
- D3D12_FILL_MODE_SOLID = 3
-} D3D12_FILL_MODE;
-
-typedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY;
-
-typedef D3D_PRIMITIVE D3D12_PRIMITIVE;
-
-// Keep CULL_MODE values in sync with earlier DX versions (HW consumes values directly).
-typedef enum D3D12_CULL_MODE
-{
- D3D12_CULL_MODE_NONE = 1,
- D3D12_CULL_MODE_FRONT = 2,
- D3D12_CULL_MODE_BACK = 3
-} D3D12_CULL_MODE;
-
-typedef struct D3D12_SO_DECLARATION_ENTRY
-{
- UINT Stream;
- LPCSTR SemanticName;
- UINT SemanticIndex;
- BYTE StartComponent;
- BYTE ComponentCount;
- BYTE OutputSlot;
-} D3D12_SO_DECLARATION_ENTRY;
-
-typedef struct D3D12_VIEWPORT
-{
- FLOAT TopLeftX;
- FLOAT TopLeftY;
- FLOAT Width;
- FLOAT Height;
- FLOAT MinDepth;
- FLOAT MaxDepth;
-} D3D12_VIEWPORT;
-
-
-typedef RECT D3D12_RECT;
-
-
-typedef struct D3D12_BOX
-{
- UINT left;
- UINT top;
- UINT front;
- UINT right;
- UINT bottom;
- UINT back;
-} D3D12_BOX;
-
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-// Depth-Stencil State
-//
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-// Keep COMPARISON_FUNC values in sync with earlier DX versions (HW consumes values directly).
-typedef enum D3D12_COMPARISON_FUNC
-{
- D3D12_COMPARISON_FUNC_NONE = 0,
- D3D12_COMPARISON_FUNC_NEVER = 1,
- D3D12_COMPARISON_FUNC_LESS = 2,
- D3D12_COMPARISON_FUNC_EQUAL = 3,
- D3D12_COMPARISON_FUNC_LESS_EQUAL = 4,
- D3D12_COMPARISON_FUNC_GREATER = 5,
- D3D12_COMPARISON_FUNC_NOT_EQUAL = 6,
- D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7,
- D3D12_COMPARISON_FUNC_ALWAYS = 8
-} D3D12_COMPARISON_FUNC;
-
-typedef enum D3D12_DEPTH_WRITE_MASK
-{
- D3D12_DEPTH_WRITE_MASK_ZERO = 0,
- D3D12_DEPTH_WRITE_MASK_ALL = 1
-} D3D12_DEPTH_WRITE_MASK;
-
-// Keep STENCILOP values in sync with earlier DX versions (HW consumes values directly).
-typedef enum D3D12_STENCIL_OP
-{
- D3D12_STENCIL_OP_KEEP = 1,
- D3D12_STENCIL_OP_ZERO = 2,
- D3D12_STENCIL_OP_REPLACE = 3,
- D3D12_STENCIL_OP_INCR_SAT = 4,
- D3D12_STENCIL_OP_DECR_SAT = 5,
- D3D12_STENCIL_OP_INVERT = 6,
- D3D12_STENCIL_OP_INCR = 7,
- D3D12_STENCIL_OP_DECR = 8
-} D3D12_STENCIL_OP;
-
-typedef struct D3D12_DEPTH_STENCILOP_DESC
-{
- D3D12_STENCIL_OP StencilFailOp;
- D3D12_STENCIL_OP StencilDepthFailOp;
- D3D12_STENCIL_OP StencilPassOp;
- D3D12_COMPARISON_FUNC StencilFunc;
-} D3D12_DEPTH_STENCILOP_DESC;
-
-typedef struct D3D12_DEPTH_STENCIL_DESC
-{
- BOOL DepthEnable;
- D3D12_DEPTH_WRITE_MASK DepthWriteMask;
- D3D12_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- D3D12_DEPTH_STENCILOP_DESC FrontFace;
- D3D12_DEPTH_STENCILOP_DESC BackFace;
-} D3D12_DEPTH_STENCIL_DESC;
-
-typedef struct D3D12_DEPTH_STENCIL_DESC1
-{
- BOOL DepthEnable;
- D3D12_DEPTH_WRITE_MASK DepthWriteMask;
- D3D12_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- D3D12_DEPTH_STENCILOP_DESC FrontFace;
- D3D12_DEPTH_STENCILOP_DESC BackFace;
- BOOL DepthBoundsTestEnable;
-} D3D12_DEPTH_STENCIL_DESC1;
-
-// Front/back face independent stencil masks
-typedef struct D3D12_DEPTH_STENCILOP_DESC1
-{
- D3D12_STENCIL_OP StencilFailOp;
- D3D12_STENCIL_OP StencilDepthFailOp;
- D3D12_STENCIL_OP StencilPassOp;
- D3D12_COMPARISON_FUNC StencilFunc;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
-} D3D12_DEPTH_STENCILOP_DESC1;
-
-typedef struct D3D12_DEPTH_STENCIL_DESC2
-{
- BOOL DepthEnable;
- D3D12_DEPTH_WRITE_MASK DepthWriteMask;
- D3D12_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- D3D12_DEPTH_STENCILOP_DESC1 FrontFace;
- D3D12_DEPTH_STENCILOP_DESC1 BackFace;
- BOOL DepthBoundsTestEnable;
-} D3D12_DEPTH_STENCIL_DESC2;
-
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-// Blend State
-//
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-// Keep BLEND values in sync with earlier DX versions (HW consumes values directly).
-typedef enum D3D12_BLEND
-{
- D3D12_BLEND_ZERO = 1,
- D3D12_BLEND_ONE = 2,
- D3D12_BLEND_SRC_COLOR = 3, // PS output oN.rgb (N is current RT being blended)
- D3D12_BLEND_INV_SRC_COLOR = 4, // 1.0f - PS output oN.rgb
- D3D12_BLEND_SRC_ALPHA = 5, // PS output oN.a
- D3D12_BLEND_INV_SRC_ALPHA = 6, // 1.0f - PS output oN.a
- D3D12_BLEND_DEST_ALPHA = 7, // RT(N).a (N is current RT being blended)
- D3D12_BLEND_INV_DEST_ALPHA = 8, // 1.0f - RT(N).a
- D3D12_BLEND_DEST_COLOR = 9, // RT(N).rgb
- D3D12_BLEND_INV_DEST_COLOR = 10,// 1.0f - RT(N).rgb
- D3D12_BLEND_SRC_ALPHA_SAT = 11,// (f,f,f,1), f = min(1 - RT(N).a, oN.a)
- // 12 reserved (was BOTHSRCALPHA)
- // 13 reserved (was BOTHSRCALPHA)
- D3D12_BLEND_BLEND_FACTOR = 14,
- D3D12_BLEND_INV_BLEND_FACTOR = 15,
- D3D12_BLEND_SRC1_COLOR = 16, // PS output o1.rgb
- D3D12_BLEND_INV_SRC1_COLOR = 17, // 1.0f - PS output o1.rgb
- D3D12_BLEND_SRC1_ALPHA = 18, // PS output o1.a
- D3D12_BLEND_INV_SRC1_ALPHA = 19, // 1.0f - PS output o1.a
- D3D12_BLEND_ALPHA_FACTOR = 20,
- D3D12_BLEND_INV_ALPHA_FACTOR = 21
-} D3D12_BLEND;
-
-// Keep BLENDOP values in sync with earlier DX versions (HW consumes values directly).
-typedef enum D3D12_BLEND_OP
-{
- D3D12_BLEND_OP_ADD = 1,
- D3D12_BLEND_OP_SUBTRACT = 2,
- D3D12_BLEND_OP_REV_SUBTRACT = 3,
- D3D12_BLEND_OP_MIN = 4, // min semantics are like min shader instruction
- D3D12_BLEND_OP_MAX = 5, // max semantics are like max shader instruction
-} D3D12_BLEND_OP;
-
-typedef enum D3D12_COLOR_WRITE_ENABLE
-{
- D3D12_COLOR_WRITE_ENABLE_RED = 1,
- D3D12_COLOR_WRITE_ENABLE_GREEN = 2,
- D3D12_COLOR_WRITE_ENABLE_BLUE = 4,
- D3D12_COLOR_WRITE_ENABLE_ALPHA = 8,
- D3D12_COLOR_WRITE_ENABLE_ALL = (D3D12_COLOR_WRITE_ENABLE_RED|D3D12_COLOR_WRITE_ENABLE_GREEN|
- D3D12_COLOR_WRITE_ENABLE_BLUE|D3D12_COLOR_WRITE_ENABLE_ALPHA),
-} D3D12_COLOR_WRITE_ENABLE;
-
-typedef enum D3D12_LOGIC_OP
-{
- // Operation:
- // (s == PS output, d = RTV contents)
- D3D12_LOGIC_OP_CLEAR = 0, // 0
- D3D12_LOGIC_OP_SET, // 1
- D3D12_LOGIC_OP_COPY, // s
- D3D12_LOGIC_OP_COPY_INVERTED, // ~s
- D3D12_LOGIC_OP_NOOP, // d
- D3D12_LOGIC_OP_INVERT, // ~d
- D3D12_LOGIC_OP_AND, // s & d
- D3D12_LOGIC_OP_NAND, // ~(s & d)
- D3D12_LOGIC_OP_OR, // s | d
- D3D12_LOGIC_OP_NOR, // ~(s | d)
- D3D12_LOGIC_OP_XOR, // s ^ d
- D3D12_LOGIC_OP_EQUIV, // ~(s ^ d)
- D3D12_LOGIC_OP_AND_REVERSE, // s & ~d
- D3D12_LOGIC_OP_AND_INVERTED, // ~s & d
- D3D12_LOGIC_OP_OR_REVERSE, // s | ~d
- D3D12_LOGIC_OP_OR_INVERTED, // ~s | d
-} D3D12_LOGIC_OP;
-
-typedef struct D3D12_RENDER_TARGET_BLEND_DESC
-{
- BOOL BlendEnable;
- BOOL LogicOpEnable; // LogicOpEnable and BlendEnable can't both be true
- D3D12_BLEND SrcBlend;
- D3D12_BLEND DestBlend;
- D3D12_BLEND_OP BlendOp;
- D3D12_BLEND SrcBlendAlpha;
- D3D12_BLEND DestBlendAlpha;
- D3D12_BLEND_OP BlendOpAlpha;
- D3D12_LOGIC_OP LogicOp; // applies to RGBA
- UINT8 RenderTargetWriteMask; // D3D12_COLOR_WRITE_ENABLE
-} D3D12_RENDER_TARGET_BLEND_DESC;
-
-typedef struct D3D12_BLEND_DESC
-{
- BOOL AlphaToCoverageEnable; // relevant to multisample antialiasing only
- BOOL IndependentBlendEnable; // if FALSE, then replicate the first entry in RenderTarget array to other entries
- D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT];
-} D3D12_BLEND_DESC;
-
-cpp_quote( "/* Note, the array size for RenderTarget[] above is D3D12_SIMULTANEOUS_RENDERTARGET_COUNT. ")
-cpp_quote( " IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */" )
-
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-// Rasterizer State
-//
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-typedef enum D3D12_CONSERVATIVE_RASTERIZATION_MODE
-{
- D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0, // Default
- D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1,
-} D3D12_CONSERVATIVE_RASTERIZATION_MODE;
-
-typedef struct D3D12_RASTERIZER_DESC
-{
- D3D12_FILL_MODE FillMode;
- D3D12_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- INT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- BOOL MultisampleEnable;
- BOOL AntialiasedLineEnable;
- UINT ForcedSampleCount;
- D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
-} D3D12_RASTERIZER_DESC;
-
-typedef struct D3D12_RASTERIZER_DESC1
-{
- D3D12_FILL_MODE FillMode;
- D3D12_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- FLOAT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- BOOL MultisampleEnable;
- BOOL AntialiasedLineEnable;
- UINT ForcedSampleCount;
- D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
-} D3D12_RASTERIZER_DESC1;
-
-typedef enum D3D12_LINE_RASTERIZATION_MODE
-{
- D3D12_LINE_RASTERIZATION_MODE_ALIASED,
- D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED,
- D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE,
- D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_NARROW,
-} D3D12_LINE_RASTERIZATION_MODE;
-
-typedef struct D3D12_RASTERIZER_DESC2
-{
- D3D12_FILL_MODE FillMode;
- D3D12_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- FLOAT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- D3D12_LINE_RASTERIZATION_MODE LineRasterizationMode;
- UINT ForcedSampleCount;
- D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
-} D3D12_RASTERIZER_DESC2;
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-// Pipeline State v1
-//
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-[ uuid( c54a6b66-72df-4ee8-8be5-a946a1429214 ), object, local, pointer_default( unique ) ]
-interface ID3D12RootSignature
- : ID3D12DeviceChild
-{
-}
-
-typedef struct D3D12_SHADER_BYTECODE
-{
- [annotation("_Field_size_bytes_full_(BytecodeLength)")] const void* pShaderBytecode;
- SIZE_T BytecodeLength;
-} D3D12_SHADER_BYTECODE;
-
-typedef struct D3D12_STREAM_OUTPUT_DESC
-{
- [annotation("_Field_size_full_(NumEntries)")] const D3D12_SO_DECLARATION_ENTRY* pSODeclaration;
- UINT NumEntries;
- [annotation("_Field_size_full_(NumStrides)")] const UINT* pBufferStrides;
- UINT NumStrides;
- UINT RasterizedStream;
-} D3D12_STREAM_OUTPUT_DESC;
-
-typedef struct D3D12_INPUT_LAYOUT_DESC
-{
- [annotation("_Field_size_full_(NumElements)")] const D3D12_INPUT_ELEMENT_DESC* pInputElementDescs;
- UINT NumElements;
-} D3D12_INPUT_LAYOUT_DESC;
-
-typedef enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
-{
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0,
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1,
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2
-} D3D12_INDEX_BUFFER_STRIP_CUT_VALUE;
-
-typedef enum D3D12_STANDARD_MULTISAMPLE_QUALITY_LEVELS
-{
- D3D12_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff,
- D3D12_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe
-} D3D12_STANDARD_MULTISAMPLE_QUALITY_LEVELS;
-
-typedef struct D3D12_CACHED_PIPELINE_STATE
-{
- [annotation("_Field_size_bytes_full_(CachedBlobSizeInBytes)")] const void* pCachedBlob;
- SIZE_T CachedBlobSizeInBytes;
-} D3D12_CACHED_PIPELINE_STATE;
-
-typedef enum D3D12_PIPELINE_STATE_FLAGS
-{
- D3D12_PIPELINE_STATE_FLAG_NONE = 0x0,
- D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x1,
- D3D12_PIPELINE_STATE_FLAG_DYNAMIC_DEPTH_BIAS = 0x4,
- D3D12_PIPELINE_STATE_FLAG_DYNAMIC_INDEX_BUFFER_STRIP_CUT = 0x8,
-
-} D3D12_PIPELINE_STATE_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_PIPELINE_STATE_FLAGS )" )
-
-typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC
-{
- ID3D12RootSignature* pRootSignature;
- D3D12_SHADER_BYTECODE VS;
- D3D12_SHADER_BYTECODE PS;
- D3D12_SHADER_BYTECODE DS;
- D3D12_SHADER_BYTECODE HS;
- D3D12_SHADER_BYTECODE GS;
- D3D12_STREAM_OUTPUT_DESC StreamOutput;
- D3D12_BLEND_DESC BlendState;
- UINT SampleMask;
- D3D12_RASTERIZER_DESC RasterizerState;
- D3D12_DEPTH_STENCIL_DESC DepthStencilState;
- D3D12_INPUT_LAYOUT_DESC InputLayout;
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue;
- D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;
- UINT NumRenderTargets;
- DXGI_FORMAT RTVFormats[ D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ];
- DXGI_FORMAT DSVFormat;
- DXGI_SAMPLE_DESC SampleDesc;
- UINT NodeMask;
- D3D12_CACHED_PIPELINE_STATE CachedPSO;
- D3D12_PIPELINE_STATE_FLAGS Flags;
-} D3D12_GRAPHICS_PIPELINE_STATE_DESC;
-
-typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC
-{
- ID3D12RootSignature* pRootSignature;
- D3D12_SHADER_BYTECODE CS;
- UINT NodeMask;
- D3D12_CACHED_PIPELINE_STATE CachedPSO;
- D3D12_PIPELINE_STATE_FLAGS Flags;
-} D3D12_COMPUTE_PIPELINE_STATE_DESC;
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-// Pipeline State v2
-//
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-struct D3D12_RT_FORMAT_ARRAY
-{
- DXGI_FORMAT RTFormats[D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT];
- UINT NumRenderTargets;
-};
-
-typedef struct D3D12_PIPELINE_STATE_STREAM_DESC
-{
- [annotation("_In_")] SIZE_T SizeInBytes;
- [annotation("_In_reads_(_Inexpressible_(\"Dependent on size of subobjects\"))")] void* pPipelineStateSubobjectStream;
-} D3D12_PIPELINE_STATE_STREAM_DESC;
-
-typedef enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE
-{
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE, // ID3D12RootSignature*
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS, // D3D12_SHADER_BYTECODE
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS, // D3D12_SHADER_BYTECODE
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS, // D3D12_SHADER_BYTECODE
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS, // D3D12_SHADER_BYTECODE
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS, // D3D12_SHADER_BYTECODE
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS, // D3D12_SHADER_BYTECODE
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT, // D3D12_STREAM_OUTPUT_DESC
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND, // D3D12_BLEND_DESC
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK, // UINT
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER, // D3D12_RASTERIZER_DESC
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL, // D3D12_DEPTH_STENCIL_DESC
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT, // D3D12_INPUT_LAYOUT_DESC
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE, // D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY, // D3D12_PRIMITIVE_TOPOLOGY_TYPE
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS, // D3D12_RT_FORMAT_ARRAY
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT, // DXGI_FORMAT
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC, // DXGI_SAMPLE_DESC
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK, // UINT
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO, // D3D12_CACHED_PIPELINE_STATE
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS, // D3D12_PIPELINE_STATE_FLAGS
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1, // D3D12_DEPTH_STENCIL_DESC1
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING, // D3D12_VIEW_INSTANCING_DESC
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 24, // D3D12_SHADER_BYTECODE
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 25, // D3D12_SHADER_BYTECODE
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 26, // D3D12_DEPTH_STENCIL_DESC2
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1 = 27, // D3D12_RASTERIZER_DESC1
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2 = 28, // D3D12_RASTERIZER_DESC2
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID,
-} D3D12_PIPELINE_STATE_SUBOBJECT_TYPE;
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-// D3D12 Caps
-//
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-typedef enum D3D12_FEATURE
-{
- D3D12_FEATURE_D3D12_OPTIONS = 0,
- D3D12_FEATURE_ARCHITECTURE = 1, // Deprecated by D3D12_FEATURE_ARCHITECTURE1
- D3D12_FEATURE_FEATURE_LEVELS = 2,
- D3D12_FEATURE_FORMAT_SUPPORT = 3,
- D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4,
- D3D12_FEATURE_FORMAT_INFO = 5,
- D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6,
- D3D12_FEATURE_SHADER_MODEL = 7,
- D3D12_FEATURE_D3D12_OPTIONS1 = 8,
- D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = 10,
- D3D12_FEATURE_ROOT_SIGNATURE = 12,
- D3D12_FEATURE_ARCHITECTURE1 = 16,
- D3D12_FEATURE_D3D12_OPTIONS2 = 18,
- D3D12_FEATURE_SHADER_CACHE = 19,
- D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20,
- D3D12_FEATURE_D3D12_OPTIONS3 = 21,
- D3D12_FEATURE_EXISTING_HEAPS = 22,
- D3D12_FEATURE_D3D12_OPTIONS4 = 23,
- D3D12_FEATURE_SERIALIZATION = 24,
- D3D12_FEATURE_CROSS_NODE = 25,
- D3D12_FEATURE_D3D12_OPTIONS5 = 27,
- D3D12_FEATURE_DISPLAYABLE = 28,
- D3D12_FEATURE_D3D12_OPTIONS6 = 30,
- D3D12_FEATURE_QUERY_META_COMMAND = 31,
- D3D12_FEATURE_D3D12_OPTIONS7 = 32,
- D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33,
- D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34,
- D3D12_FEATURE_D3D12_OPTIONS8 = 36,
- D3D12_FEATURE_D3D12_OPTIONS9 = 37,
- D3D12_FEATURE_D3D12_OPTIONS10 = 39,
- D3D12_FEATURE_D3D12_OPTIONS11 = 40,
- D3D12_FEATURE_D3D12_OPTIONS12 = 41,
- D3D12_FEATURE_D3D12_OPTIONS13 = 42,
- D3D12_FEATURE_D3D12_OPTIONS14 = 43,
- D3D12_FEATURE_D3D12_OPTIONS15 = 44,
- D3D12_FEATURE_D3D12_OPTIONS16 = 45,
- D3D12_FEATURE_D3D12_OPTIONS17 = 46,
- D3D12_FEATURE_D3D12_OPTIONS18 = 47,
- D3D12_FEATURE_D3D12_OPTIONS19 = 48,
- D3D12_FEATURE_D3D12_OPTIONS20 = 49,
- D3D12_FEATURE_PREDICATION = 50,
- D3D12_FEATURE_PLACED_RESOURCE_SUPPORT_INFO = 51,
- D3D12_FEATURE_HARDWARE_COPY = 52,
- D3D12_FEATURE_D3D12_OPTIONS21 = 53,
-} D3D12_FEATURE;
-
-typedef enum D3D12_SHADER_MIN_PRECISION_SUPPORT
-{
- D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = 0x0,
- D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1,
- D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = 0x2
-} D3D12_SHADER_MIN_PRECISION_SUPPORT;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_MIN_PRECISION_SUPPORT )" )
-
-typedef enum D3D12_TILED_RESOURCES_TIER
-{
- D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0,
- D3D12_TILED_RESOURCES_TIER_1 = 1,
- D3D12_TILED_RESOURCES_TIER_2 = 2,
- D3D12_TILED_RESOURCES_TIER_3 = 3,
- D3D12_TILED_RESOURCES_TIER_4 = 4,
-} D3D12_TILED_RESOURCES_TIER;
-
-typedef enum D3D12_RESOURCE_BINDING_TIER
-{
- D3D12_RESOURCE_BINDING_TIER_1 = 1,
- D3D12_RESOURCE_BINDING_TIER_2 = 2,
- D3D12_RESOURCE_BINDING_TIER_3 = 3,
-} D3D12_RESOURCE_BINDING_TIER;
-
-typedef enum D3D12_CONSERVATIVE_RASTERIZATION_TIER {
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = 0,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3,
-} D3D12_CONSERVATIVE_RASTERIZATION_TIER;
-
-
-typedef enum D3D12_FORMAT_SUPPORT1
-{
- D3D12_FORMAT_SUPPORT1_NONE = 0,
- D3D12_FORMAT_SUPPORT1_BUFFER = 0x00000001,
- D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = 0x00000002,
- D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = 0x00000004,
- D3D12_FORMAT_SUPPORT1_SO_BUFFER = 0x00000008,
- D3D12_FORMAT_SUPPORT1_TEXTURE1D = 0x00000010,
- D3D12_FORMAT_SUPPORT1_TEXTURE2D = 0x00000020,
- D3D12_FORMAT_SUPPORT1_TEXTURE3D = 0x00000040,
- D3D12_FORMAT_SUPPORT1_TEXTURECUBE = 0x00000080,
- D3D12_FORMAT_SUPPORT1_SHADER_LOAD = 0x00000100,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = 0x00000200,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = 0x00000400,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = 0x00000800,
- D3D12_FORMAT_SUPPORT1_MIP = 0x00001000,
- D3D12_FORMAT_SUPPORT1_RENDER_TARGET = 0x00004000,
- D3D12_FORMAT_SUPPORT1_BLENDABLE = 0x00008000,
- D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = 0x00010000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = 0x00040000,
- D3D12_FORMAT_SUPPORT1_DISPLAY = 0x00080000,
- D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = 0x00100000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = 0x00200000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = 0x00400000,
- D3D12_FORMAT_SUPPORT1_SHADER_GATHER = 0x00800000,
- D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = 0x01000000,
- D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = 0x02000000,
- D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = 0x04000000,
- D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = 0x08000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = 0x10000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000,
-} D3D12_FORMAT_SUPPORT1;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT1 )" )
-
-typedef enum D3D12_FORMAT_SUPPORT2
-{
- D3D12_FORMAT_SUPPORT2_NONE = 0,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x00000001,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x00000002,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x00000004,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x00000008,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x00000010,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x00000020,
- D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x00000040,
- D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x00000080,
- D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x00000100,
- D3D12_FORMAT_SUPPORT2_TILED = 0x00000200,
- D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x00004000,
- D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK = 0x00008000,
-} D3D12_FORMAT_SUPPORT2;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT2 )" )
-
-typedef enum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS
-{
- D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = 0,
- D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = 0x00000001,
-} D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS )" )
-
-typedef enum D3D12_CROSS_NODE_SHARING_TIER
-{
- D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0,
- D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1,
- D3D12_CROSS_NODE_SHARING_TIER_1 = 2,
- D3D12_CROSS_NODE_SHARING_TIER_2 = 3,
- D3D12_CROSS_NODE_SHARING_TIER_3 = 4,
-} D3D12_CROSS_NODE_SHARING_TIER;
-
-typedef enum D3D12_RESOURCE_HEAP_TIER
-{
- D3D12_RESOURCE_HEAP_TIER_1 = 1,
- D3D12_RESOURCE_HEAP_TIER_2 = 2,
-} D3D12_RESOURCE_HEAP_TIER;
-
-typedef enum D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER
-{
- D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED = 0,
- D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 = 1,
- D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 = 2,
-} D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER;
-
-typedef enum D3D12_VIEW_INSTANCING_TIER
-{
- D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = 0,
- D3D12_VIEW_INSTANCING_TIER_1 = 1,
- D3D12_VIEW_INSTANCING_TIER_2 = 2,
- D3D12_VIEW_INSTANCING_TIER_3 = 3,
-} D3D12_VIEW_INSTANCING_TIER;
-
-typedef enum D3D12_WORK_GRAPHS_TIER {
- D3D12_WORK_GRAPHS_TIER_NOT_SUPPORTED = 0,
- D3D12_WORK_GRAPHS_TIER_1_0 = 10,
-} D3D12_WORK_GRAPHS_TIER;
-
-// D3D12_FEATURE_D3D12_OPTIONS
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS
-{
- [annotation("_Out_")] BOOL DoublePrecisionFloatShaderOps;
- [annotation("_Out_")] BOOL OutputMergerLogicOp;
- [annotation("_Out_")] D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport;
- [annotation("_Out_")] D3D12_TILED_RESOURCES_TIER TiledResourcesTier;
- [annotation("_Out_")] D3D12_RESOURCE_BINDING_TIER ResourceBindingTier;
- [annotation("_Out_")] BOOL PSSpecifiedStencilRefSupported;
- [annotation("_Out_")] BOOL TypedUAVLoadAdditionalFormats;
- [annotation("_Out_")] BOOL ROVsSupported;
- [annotation("_Out_")] D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
- [annotation("_Out_")] UINT MaxGPUVirtualAddressBitsPerResource;
- [annotation("_Out_")] BOOL StandardSwizzle64KBSupported;
- [annotation("_Out_")] D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier;
- [annotation("_Out_")] BOOL CrossAdapterRowMajorTextureSupported;
- [annotation("_Out_")] BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
- [annotation("_Out_")] D3D12_RESOURCE_HEAP_TIER ResourceHeapTier;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS;
-
-// D3D12_FEATURE_D3D12_OPTIONS1
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS1
-{
- [annotation("_Out_")] BOOL WaveOps;
- [annotation("_Out_")] UINT WaveLaneCountMin;
- [annotation("_Out_")] UINT WaveLaneCountMax;
- [annotation("_Out_")] UINT TotalLaneCount;
- [annotation("_Out_")] BOOL ExpandedComputeResourceStates;
- [annotation("_Out_")] BOOL Int64ShaderOps;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS1;
-
-// D3D12_FEATURE_D3D12_OPTIONS2
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS2
-{
- [annotation("_Out_")] BOOL DepthBoundsTestSupported;
- [annotation("_Out_")] D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS2;
-
-// D3D12_FEATURE_ROOT_SIGNATURE
-typedef enum D3D_ROOT_SIGNATURE_VERSION
-{
- D3D_ROOT_SIGNATURE_VERSION_1 = 0x1,
- D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1,
- D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2,
- D3D_ROOT_SIGNATURE_VERSION_1_2 = 0x3,
-} D3D_ROOT_SIGNATURE_VERSION;
-
-typedef struct D3D12_FEATURE_DATA_ROOT_SIGNATURE
-{
- [annotation("_Inout_")] D3D_ROOT_SIGNATURE_VERSION HighestVersion;
-} D3D12_FEATURE_DATA_ROOT_SIGNATURE;
-
-// D3D12_FEATURE_ARCHITECTURE
-typedef struct D3D12_FEATURE_DATA_ARCHITECTURE // Deprecated by D3D12_FEATURE_DATA_ARCHITECTURE1
-{
- [annotation("_In_")] UINT NodeIndex;
- [annotation("_Out_")] BOOL TileBasedRenderer;
- [annotation("_Out_")] BOOL UMA; // Needed for applications to understand WRITE_COMBINE
- [annotation("_Out_")] BOOL CacheCoherentUMA; // Only TRUE when UMA is also TRUE
-} D3D12_FEATURE_DATA_ARCHITECTURE;
-
-// D3D12_FEATURE_ARCHITECTURE1
-typedef struct D3D12_FEATURE_DATA_ARCHITECTURE1
-{
- [annotation("_In_")] UINT NodeIndex;
- [annotation("_Out_")] BOOL TileBasedRenderer;
- [annotation("_Out_")] BOOL UMA; // Needed for applications to understand WRITE_COMBINE
- [annotation("_Out_")] BOOL CacheCoherentUMA; // Only TRUE when UMA is also TRUE
- [annotation("_Out_")] BOOL IsolatedMMU; // GPU accesses don't honor the same MMU functionality as the CPU
-} D3D12_FEATURE_DATA_ARCHITECTURE1;
-
-// D3D12_FEATURE_FEATURE_LEVELS
-typedef struct D3D12_FEATURE_DATA_FEATURE_LEVELS
-{
- [annotation("_In_")] UINT NumFeatureLevels;
- [annotation("_In_reads_(NumFeatureLevels)")] const D3D_FEATURE_LEVEL* pFeatureLevelsRequested;
- [annotation("_Out_")] D3D_FEATURE_LEVEL MaxSupportedFeatureLevel;
-} D3D12_FEATURE_DATA_FEATURE_LEVELS;
-
-// D3D_SHADER_MODEL
-typedef enum D3D_SHADER_MODEL
-{
- D3D_SHADER_MODEL_NONE = 0x0, // e.g MCDM Generic devices
- D3D_SHADER_MODEL_5_1 = 0x51,
- D3D_SHADER_MODEL_6_0 = 0x60,
- D3D_SHADER_MODEL_6_1 = 0x61,
- D3D_SHADER_MODEL_6_2 = 0x62,
- D3D_SHADER_MODEL_6_3 = 0x63,
- D3D_SHADER_MODEL_6_4 = 0x64,
- D3D_SHADER_MODEL_6_5 = 0x65,
- D3D_SHADER_MODEL_6_6 = 0x66,
- D3D_SHADER_MODEL_6_7 = 0x67,
- D3D_SHADER_MODEL_6_8 = 0x68,
- D3D_SHADER_MODEL_6_9 = 0x69,
- D3D_HIGHEST_SHADER_MODEL = D3D_SHADER_MODEL_6_9
-} D3D_SHADER_MODEL;
-
-typedef struct D3D12_FEATURE_DATA_SHADER_MODEL
-{
- [annotation("_Inout_")] D3D_SHADER_MODEL HighestShaderModel;
-} D3D12_FEATURE_DATA_SHADER_MODEL;
-
-// D3D12_FEATURE_FORMAT_SUPPORT
-typedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT
-{
- [annotation("_In_")] DXGI_FORMAT Format;
- [annotation("_Out_")] D3D12_FORMAT_SUPPORT1 Support1;
- [annotation("_Out_")] D3D12_FORMAT_SUPPORT2 Support2;
-} D3D12_FEATURE_DATA_FORMAT_SUPPORT;
-
-// D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS
-typedef struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS
-{
- [annotation("_In_")] DXGI_FORMAT Format;
- [annotation("_In_")] UINT SampleCount;
- [annotation("_In_")] D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags;
- [annotation("_Out_")] UINT NumQualityLevels;
-} D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS;
-
-// D3D12_FEATURE_FORMAT_INFO
-typedef struct D3D12_FEATURE_DATA_FORMAT_INFO
-{
- DXGI_FORMAT Format;
- UINT8 PlaneCount;
-} D3D12_FEATURE_DATA_FORMAT_INFO;
-
-// D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT
-typedef struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT
-{
- UINT MaxGPUVirtualAddressBitsPerResource;
- UINT MaxGPUVirtualAddressBitsPerProcess;
-} D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT;
-
-
-typedef enum D3D12_SHADER_CACHE_SUPPORT_FLAGS
-{
- D3D12_SHADER_CACHE_SUPPORT_NONE = 0x0,
- D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 0x1, // Always supported
- D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 0x2,
- D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4,
- D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8,
- D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE = 0x10,
- D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR = 0x20,
- D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE = 0x40
-} D3D12_SHADER_CACHE_SUPPORT_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_SUPPORT_FLAGS )" )
-
-// D3D12_FEATURE_SHADER_CACHE
-typedef struct D3D12_FEATURE_DATA_SHADER_CACHE
-{
- [annotation("_Out_")] D3D12_SHADER_CACHE_SUPPORT_FLAGS SupportFlags;
-} D3D12_FEATURE_DATA_SHADER_CACHE;
-
-// D3D12_FEATURE_COMMAND_QUEUE_PRIORITY
-typedef struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY
-{
- [annotation("_In_")] D3D12_COMMAND_LIST_TYPE CommandListType;
- [annotation("_In_")] UINT Priority;
- [annotation("_Out_")] BOOL PriorityForTypeIsSupported;
-} D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY;
-
-typedef enum D3D12_COMMAND_LIST_SUPPORT_FLAGS
-{
- D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0x00000000,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT = 1 << D3D12_COMMAND_LIST_TYPE_DIRECT,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE = 1 << D3D12_COMMAND_LIST_TYPE_BUNDLE,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE = 1 << D3D12_COMMAND_LIST_TYPE_COMPUTE,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = 1 << D3D12_COMMAND_LIST_TYPE_COPY,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE,
-
-} D3D12_COMMAND_LIST_SUPPORT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_SUPPORT_FLAGS )")
-
-// D3D12_FEATURE_D3D12_OPTIONS3
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS3
-{
- [annotation("_Out_")] BOOL CopyQueueTimestampQueriesSupported;
- [annotation("_Out_")] BOOL CastingFullyTypedFormatSupported;
- [annotation("_Out_")] D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags;
- [annotation("_Out_")] D3D12_VIEW_INSTANCING_TIER ViewInstancingTier;
- [annotation("_Out_")] BOOL BarycentricsSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS3;
-
-// D3D12_FEATURE_EXISTING_HEAPS
-typedef struct D3D12_FEATURE_DATA_EXISTING_HEAPS
-{
- [annotation("_Out_")] BOOL Supported;
-} D3D12_FEATURE_DATA_EXISTING_HEAPS;
-
-typedef enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER
-{
- D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0,
- D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1,
- D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2,
-} D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER;
-
-typedef struct D3D12_FEATURE_DATA_DISPLAYABLE
-{
- [annotation("_Out_")] BOOL DisplayableTexture;
- [annotation("_Out_")] D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier;
-} D3D12_FEATURE_DATA_DISPLAYABLE;
-
-// D3D12_FEATURE_D3D12_OPTIONS4
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS4
-{
- [annotation("_Out_")] BOOL MSAA64KBAlignedTextureSupported;
- [annotation("_Out_")] D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier;
- [annotation("_Out_")] BOOL Native16BitShaderOpsSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS4;
-
-typedef enum D3D12_HEAP_SERIALIZATION_TIER
-{
- D3D12_HEAP_SERIALIZATION_TIER_0 = 0,
- D3D12_HEAP_SERIALIZATION_TIER_10 = 10,
-} D3D12_HEAP_SERIALIZATION_TIER;
-
-// D3D12_FEATURE_SERIALIZATION
-typedef struct D3D12_FEATURE_DATA_SERIALIZATION
-{
- [annotation("_In_")] UINT NodeIndex;
- [annotation("_Out_")] D3D12_HEAP_SERIALIZATION_TIER HeapSerializationTier;
-} D3D12_FEATURE_DATA_SERIALIZATION;
-
-// D3D12_FEATURE_CROSS_NODE
-typedef struct D3D12_FEATURE_DATA_CROSS_NODE
-{
- D3D12_CROSS_NODE_SHARING_TIER SharingTier;
- BOOL AtomicShaderInstructions;
-} D3D12_FEATURE_DATA_CROSS_NODE;
-
-
-typedef enum D3D12_RENDER_PASS_TIER
-{
- D3D12_RENDER_PASS_TIER_0 = 0,
- D3D12_RENDER_PASS_TIER_1 = 1,
- D3D12_RENDER_PASS_TIER_2 = 2,
-
-
-} D3D12_RENDER_PASS_TIER;
-
-typedef enum D3D12_RAYTRACING_TIER
-{
- D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0,
- D3D12_RAYTRACING_TIER_1_0 = 10,
- D3D12_RAYTRACING_TIER_1_1 = 11,
-} D3D12_RAYTRACING_TIER;
-
-// D3D12_FEATURE_D3D12_OPTIONS5
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS5
-{
- [annotation("_Out_")] BOOL SRVOnlyTiledResourceTier3;
- [annotation("_Out_")] D3D12_RENDER_PASS_TIER RenderPassesTier;
- [annotation("_Out_")] D3D12_RAYTRACING_TIER RaytracingTier;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS5;
-
-typedef enum D3D12_VARIABLE_SHADING_RATE_TIER
-{
- D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED = 0,
- D3D12_VARIABLE_SHADING_RATE_TIER_1 = 1,
- D3D12_VARIABLE_SHADING_RATE_TIER_2 = 2,
-} D3D12_VARIABLE_SHADING_RATE_TIER;
-
-// D3D12_FEATURE_D3D12_OPTIONS6
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS6
-{
- [annotation("_Out_")] BOOL AdditionalShadingRatesSupported;
- [annotation("_Out_")] BOOL PerPrimitiveShadingRateSupportedWithViewportIndexing;
- [annotation("_Out_")] D3D12_VARIABLE_SHADING_RATE_TIER VariableShadingRateTier;
- [annotation("_Out_")] UINT ShadingRateImageTileSize;
- [annotation("_Out_")] BOOL BackgroundProcessingSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS6;
-
-typedef enum D3D12_MESH_SHADER_TIER
-{
- D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = 0,
- D3D12_MESH_SHADER_TIER_1 = 10,
-} D3D12_MESH_SHADER_TIER;
-
-typedef enum D3D12_SAMPLER_FEEDBACK_TIER
-{
- D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = 0,
- D3D12_SAMPLER_FEEDBACK_TIER_0_9 = 90,
- D3D12_SAMPLER_FEEDBACK_TIER_1_0 = 100
-} D3D12_SAMPLER_FEEDBACK_TIER;
-
-// D3D12_FEATURE_D3D12_OPTIONS7
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS7
-{
- [annotation("_Out_")] D3D12_MESH_SHADER_TIER MeshShaderTier;
- [annotation("_Out_")] D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier;
-
-} D3D12_FEATURE_DATA_D3D12_OPTIONS7;
-
-typedef struct D3D12_FEATURE_DATA_QUERY_META_COMMAND
-{
- [annotation("_In_")] GUID CommandId;
- [annotation("_In_")] UINT NodeMask;
- [annotation("_Field_size_bytes_full_opt_( QueryInputDataSizeInBytes )")] const void* pQueryInputData;
- [annotation("_In_")] SIZE_T QueryInputDataSizeInBytes;
- [annotation("_Field_size_bytes_full_( QueryOutputDataSizeInBytes )")] void* pQueryOutputData;
- [annotation("_In_")] SIZE_T QueryOutputDataSizeInBytes;
-} D3D12_FEATURE_DATA_QUERY_META_COMMAND;
-
-// D3D12_FEATURE_D3D12_OPTIONS8
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS8
-{
- [annotation("_Out_")] BOOL UnalignedBlockTexturesSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS8;
-
-typedef enum D3D12_WAVE_MMA_TIER {
- D3D12_WAVE_MMA_TIER_NOT_SUPPORTED = 0,
- D3D12_WAVE_MMA_TIER_1_0 = 10,
-} D3D12_WAVE_MMA_TIER;
-
-// D3D12_FEATURE_D3D12_OPTIONS9
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS9
-{
- [annotation("_Out_")] BOOL MeshShaderPipelineStatsSupported;
- [annotation("_Out_")] BOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex;
- [annotation("_Out_")] BOOL AtomicInt64OnTypedResourceSupported;
- [annotation("_Out_")] BOOL AtomicInt64OnGroupSharedSupported;
- [annotation("_Out_")] BOOL DerivativesInMeshAndAmplificationShadersSupported;
- [annotation("_Out_")] D3D12_WAVE_MMA_TIER WaveMMATier;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS9;
-
-// D3D12_FEATURE_D3D12_OPTIONS10
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS10
-{
- [annotation("_Out_")] BOOL VariableRateShadingSumCombinerSupported;
- [annotation("_Out_")] BOOL MeshShaderPerPrimitiveShadingRateSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS10;
-
-// D3D12_FEATURE_D3D12_OPTIONS11
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS11
-{
- [annotation("_Out_")] BOOL AtomicInt64OnDescriptorHeapResourceSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS11;
-
-typedef enum D3D12_TRI_STATE {
- D3D12_TRI_STATE_UNKNOWN = -1,
- D3D12_TRI_STATE_FALSE = 0,
- D3D12_TRI_STATE_TRUE = 1,
-} D3D12_TRI_STATE;
-
-// D3D12_FEATURE_D3D12_OPTIONS12
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS12
-{
- [annotation("_Out_")] D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives;
- [annotation("_Out_")] BOOL EnhancedBarriersSupported;
- [annotation("_Out_")] BOOL RelaxedFormatCastingSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS12;
-
-// D3D12_FEATURE_D3D12_OPTIONS13
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS13
-{
- [annotation("_Out_")] BOOL UnrestrictedBufferTextureCopyPitchSupported;
- [annotation("_Out_")] BOOL UnrestrictedVertexElementAlignmentSupported;
- [annotation("_Out_")] BOOL InvertedViewportHeightFlipsYSupported;
- [annotation("_Out_")] BOOL InvertedViewportDepthFlipsZSupported;
- [annotation("_Out_")] BOOL TextureCopyBetweenDimensionsSupported;
- [annotation("_Out_")] BOOL AlphaBlendFactorSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS13;
-
-// D3D12_FEATURE_D3D12_OPTIONS14
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS14
-{
- [annotation("_Out_")] BOOL AdvancedTextureOpsSupported;
- [annotation("_Out_")] BOOL WriteableMSAATexturesSupported;
- [annotation("_Out_")] BOOL IndependentFrontAndBackStencilRefMaskSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS14;
-
-// D3D12_FEATURE_D3D12_OPTIONS15
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS15
-{
- [annotation("_Out_")] BOOL TriangleFanSupported;
- [annotation("_Out_")] BOOL DynamicIndexBufferStripCutSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS15;
-
-// D3D12_FEATURE_D3D12_OPTIONS16
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS16
-{
- [annotation("_Out_")] BOOL DynamicDepthBiasSupported;
- [annotation("_Out_")] BOOL GPUUploadHeapSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS16;
-
-// D3D12_FEATURE_D3D12_OPTIONS17
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS17
-{
- [annotation("_Out_")] BOOL NonNormalizedCoordinateSamplersSupported;
- [annotation("_Out_")] BOOL ManualWriteTrackingResourceSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS17;
-
-// D3D12_FEATURE_D3D12_OPTIONS18
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS18
-{
- [annotation("_Out_")] BOOL RenderPassesValid;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS18;
-
-// D3D12_FEATURE_D3D12_OPTIONS19
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS19
-{
- BOOL MismatchingOutputDimensionsSupported;
- UINT SupportedSampleCountsWithNoOutputs;
- BOOL PointSamplingAddressesNeverRoundUp;
- BOOL RasterizerDesc2Supported;
- BOOL NarrowQuadrilateralLinesSupported;
- BOOL AnisoFilterWithPointMipSupported;
- UINT MaxSamplerDescriptorHeapSize;
- UINT MaxSamplerDescriptorHeapSizeWithStaticSamplers;
- UINT MaxViewDescriptorHeapSize;
- [annotation("_Out_")] BOOL ComputeOnlyCustomHeapSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS19;
-
-
-typedef enum D3D12_RECREATE_AT_TIER
-{
- D3D12_RECREATE_AT_TIER_NOT_SUPPORTED = 0,
-
- // * Supports retrieving resource and heap allocation information
- // with ID3D12PageableTools::GetAllocationInfo
- // * Supports setting resource and heap virtual addresses with
- // ID3D12DeviceTools::SetNextAllocation
- D3D12_RECREATE_AT_TIER_1 = 1,
-
-} D3D12_RECREATE_AT_TIER;
-
-
-// D3D12_FEATURE_D3D12_OPTIONS20
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS20
-{
- [annotation("_Out_")] BOOL ComputeOnlyWriteWatchSupported;
- D3D12_RECREATE_AT_TIER RecreateAtTier;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS20;
-
-typedef enum D3D12_EXECUTE_INDIRECT_TIER
-{
- D3D12_EXECUTE_INDIRECT_TIER_1_0 = 10,
- D3D12_EXECUTE_INDIRECT_TIER_1_1 = 11,
-} D3D12_EXECUTE_INDIRECT_TIER;
-
-typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS21
-{
- [annotation("_Out_")] D3D12_WORK_GRAPHS_TIER WorkGraphsTier;
- [annotation("_Out_")] D3D12_EXECUTE_INDIRECT_TIER ExecuteIndirectTier;
- [annotation("_Out_")] BOOL SampleCmpGradientAndBiasSupported;
- [annotation("_Out_")] BOOL ExtendedCommandInfoSupported;
-} D3D12_FEATURE_DATA_D3D12_OPTIONS21;
-
-
-typedef struct D3D12_FEATURE_DATA_PREDICATION
-{
- [annotation("_Out_")] BOOL Supported;
-} D3D12_FEATURE_DATA_PREDICATION;
-
-typedef struct D3D12_FEATURE_DATA_HARDWARE_COPY
-{
- [annotation("_Out_")] BOOL Supported;
-} D3D12_FEATURE_DATA_HARDWARE_COPY;
-
-
-typedef struct D3D12_RESOURCE_ALLOCATION_INFO
-{
- UINT64 SizeInBytes;
- UINT64 Alignment;
-} D3D12_RESOURCE_ALLOCATION_INFO;
-
-typedef struct D3D12_RESOURCE_ALLOCATION_INFO1
-{
- UINT64 Offset;
- UINT64 Alignment;
- UINT64 SizeInBytes;
-} D3D12_RESOURCE_ALLOCATION_INFO1;
-
-typedef enum D3D12_HEAP_TYPE
-{
- D3D12_HEAP_TYPE_DEFAULT = 1,
- D3D12_HEAP_TYPE_UPLOAD = 2,
- D3D12_HEAP_TYPE_READBACK = 3,
- D3D12_HEAP_TYPE_CUSTOM = 4,
- D3D12_HEAP_TYPE_GPU_UPLOAD = 5,
-} D3D12_HEAP_TYPE;
-
-typedef enum D3D12_CPU_PAGE_PROPERTY
-{
- D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0,
- D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1,
- D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2,
- D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3,
-} D3D12_CPU_PAGE_PROPERTY;
-
-typedef enum D3D12_MEMORY_POOL
-{
- D3D12_MEMORY_POOL_UNKNOWN = 0,
- D3D12_MEMORY_POOL_L0 = 1, // Maximum bandwidth for CPU
- D3D12_MEMORY_POOL_L1 = 2, // More bandwidth for GPU, less for CPU
-} D3D12_MEMORY_POOL;
-
-typedef struct D3D12_HEAP_PROPERTIES
-{
- D3D12_HEAP_TYPE Type;
- D3D12_CPU_PAGE_PROPERTY CPUPageProperty;
- D3D12_MEMORY_POOL MemoryPoolPreference;
- UINT CreationNodeMask;
- UINT VisibleNodeMask;
-} D3D12_HEAP_PROPERTIES;
-
-typedef enum D3D12_HEAP_FLAGS
-{
- D3D12_HEAP_FLAG_NONE = 0x0,
- D3D12_HEAP_FLAG_SHARED = 0x1,
- D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4,
- D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8,
- D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20,
- D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40,
- D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80,
- D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100,
- D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200,
- D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 0x400,
- D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 0x800,
- D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 0x1000,
- D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 0x2000,
-
- // These are convenience aliases to manage resource heap tier restrictions. They cannot be bitwise OR'ed together cleanly.
- D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0x0,
- D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xC0,
- D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44,
- D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84,
-
-
-} D3D12_HEAP_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_HEAP_FLAGS )" )
-
-typedef struct D3D12_HEAP_DESC
-{
- UINT64 SizeInBytes;
- D3D12_HEAP_PROPERTIES Properties;
- UINT64 Alignment;
- D3D12_HEAP_FLAGS Flags;
-} D3D12_HEAP_DESC;
-
-typedef enum D3D12_RESOURCE_DIMENSION
-{
- D3D12_RESOURCE_DIMENSION_UNKNOWN = 0,
- D3D12_RESOURCE_DIMENSION_BUFFER = 1,
- D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2,
- D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3,
- D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4,
-} D3D12_RESOURCE_DIMENSION;
-
-typedef struct D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO
-{
- [annotation("_In_")] DXGI_FORMAT Format;
- [annotation("_In_")] D3D12_RESOURCE_DIMENSION Dimension;
- [annotation("_In_")] D3D12_HEAP_PROPERTIES DestHeapProperties;
- [annotation("_Out_")] BOOL Supported;
-} D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO;
-
-typedef enum D3D12_TEXTURE_LAYOUT
-{
- D3D12_TEXTURE_LAYOUT_UNKNOWN = 0,
- D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1, // Must be used with buffers. Can be used with cross-adapter shared textures.
- D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2,
- D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3,
-} D3D12_TEXTURE_LAYOUT;
-
-typedef enum D3D12_RESOURCE_FLAGS
-{
- D3D12_RESOURCE_FLAG_NONE = 0x0,
- D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
- D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
- D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
- D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
- D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
- D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20,
- D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40,
- D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80,
- D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100,
-
-} D3D12_RESOURCE_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_FLAGS )" )
-
-typedef struct D3D12_MIP_REGION
-{
- UINT Width;
- UINT Height;
- UINT Depth;
-} D3D12_MIP_REGION;
-
-typedef struct D3D12_RESOURCE_DESC
-{
- D3D12_RESOURCE_DIMENSION Dimension;
- UINT64 Alignment;
- UINT64 Width;
- UINT Height;
- UINT16 DepthOrArraySize;
- UINT16 MipLevels;
- DXGI_FORMAT Format;
- DXGI_SAMPLE_DESC SampleDesc;
- D3D12_TEXTURE_LAYOUT Layout;
- D3D12_RESOURCE_FLAGS Flags;
-} D3D12_RESOURCE_DESC;
-
-typedef struct D3D12_RESOURCE_DESC1
-{
- D3D12_RESOURCE_DIMENSION Dimension;
- UINT64 Alignment;
- UINT64 Width;
- UINT Height;
- UINT16 DepthOrArraySize;
- UINT16 MipLevels;
- DXGI_FORMAT Format;
- DXGI_SAMPLE_DESC SampleDesc;
- D3D12_TEXTURE_LAYOUT Layout;
- D3D12_RESOURCE_FLAGS Flags;
- D3D12_MIP_REGION SamplerFeedbackMipRegion;
-} D3D12_RESOURCE_DESC1;
-
-
-
-typedef struct D3D12_DEPTH_STENCIL_VALUE
-{
- FLOAT Depth;
- UINT8 Stencil;
-} D3D12_DEPTH_STENCIL_VALUE;
-
-typedef struct D3D12_CLEAR_VALUE
-{
- DXGI_FORMAT Format;
- union
- {
- FLOAT Color[4];
- D3D12_DEPTH_STENCIL_VALUE DepthStencil;
- };
-} D3D12_CLEAR_VALUE;
-
-typedef struct D3D12_RANGE
-{
- SIZE_T Begin;
- SIZE_T End; // One past end, so (End - Begin) = Size
-} D3D12_RANGE;
-
-typedef struct D3D12_RANGE_UINT64
-{
- UINT64 Begin;
- UINT64 End; // One past end, so (End - Begin) = Size
-} D3D12_RANGE_UINT64;
-
-typedef struct D3D12_SUBRESOURCE_RANGE_UINT64
-{
- UINT Subresource;
- D3D12_RANGE_UINT64 Range;
-} D3D12_SUBRESOURCE_RANGE_UINT64;
-
-typedef struct D3D12_SUBRESOURCE_INFO
-{
- UINT64 Offset;
- UINT RowPitch;
- UINT DepthPitch;
-} D3D12_SUBRESOURCE_INFO;
-
-typedef struct D3D12_TILED_RESOURCE_COORDINATE
-{
- UINT X;
- UINT Y;
- UINT Z;
- UINT Subresource;
-} D3D12_TILED_RESOURCE_COORDINATE;
-
-typedef struct D3D12_TILE_REGION_SIZE
-{
- UINT NumTiles;
- BOOL UseBox;
- UINT Width;
- UINT16 Height;
- UINT16 Depth;
-} D3D12_TILE_REGION_SIZE;
-
-typedef enum D3D12_TILE_RANGE_FLAGS
-{
- D3D12_TILE_RANGE_FLAG_NONE = 0,
- D3D12_TILE_RANGE_FLAG_NULL = 1,
- D3D12_TILE_RANGE_FLAG_SKIP = 2,
- D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 4,
-
-} D3D12_TILE_RANGE_FLAGS;
-
-typedef struct D3D12_SUBRESOURCE_TILING
-{
- UINT WidthInTiles;
- UINT16 HeightInTiles;
- UINT16 DepthInTiles;
- UINT StartTileIndexInOverallResource;
-} D3D12_SUBRESOURCE_TILING;
-
-typedef struct D3D12_TILE_SHAPE
-{
- UINT WidthInTexels;
- UINT HeightInTexels;
- UINT DepthInTexels;
-} D3D12_TILE_SHAPE;
-
-typedef struct D3D12_PACKED_MIP_INFO
-{
- UINT8 NumStandardMips;
- UINT8 NumPackedMips;
- UINT NumTilesForPackedMips;
- UINT StartTileIndexInOverallResource;
-} D3D12_PACKED_MIP_INFO;
-
-typedef enum D3D12_TILE_MAPPING_FLAGS
-{
- D3D12_TILE_MAPPING_FLAG_NONE = 0x0,
- D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1,
-} D3D12_TILE_MAPPING_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_MAPPING_FLAGS )" )
-
-typedef enum D3D12_TILE_COPY_FLAGS
-{
- D3D12_TILE_COPY_FLAG_NONE = 0x0,
- D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1,
- D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2,
- D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4,
-} D3D12_TILE_COPY_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_COPY_FLAGS )")
-
-// Resource Barrier
-typedef enum D3D12_RESOURCE_STATES
-{
- D3D12_RESOURCE_STATE_COMMON = 0,
-
- D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x00001,
- D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x00002,
- D3D12_RESOURCE_STATE_RENDER_TARGET = 0x00004,
- D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x00008,
- D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x00010,
- D3D12_RESOURCE_STATE_DEPTH_READ = 0x00020,
- D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x00040,
- D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x00080,
- D3D12_RESOURCE_STATE_STREAM_OUT = 0x00100,
- D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x00200,
- D3D12_RESOURCE_STATE_COPY_DEST = 0x00400,
- D3D12_RESOURCE_STATE_COPY_SOURCE = 0x00800,
- D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x01000,
- D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x02000,
- D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 0x400000,
- D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 0x1000000,
-
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 0x8000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 0x4000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 0x100000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 0x40000000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = 0x80000000,
-
- D3D12_RESOURCE_STATE_GENERIC_READ =
- /*D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER*/ 0x0001 |
- /*D3D12_RESOURCE_STATE_INDEX_BUFFER*/ 0x0002 |
- /*D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE*/ 0x0040 |
- /*D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE*/ 0x0080 |
- /*D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT*/ 0x0200 |
- /*D3D12_RESOURCE_STATE_COPY_SOURCE*/ 0x0800,
-
- D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE =
- /*D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE*/ 0x40 |
- /*D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE*/ 0x80,
-
- D3D12_RESOURCE_STATE_PRESENT = 0,
- D3D12_RESOURCE_STATE_PREDICATION = /*D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT*/ 0x0200,
-
- D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 0x00010000,
- D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 0x00020000,
- D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 0x00040000,
- D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 0x00080000,
- D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 0x00200000,
- D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 0x00800000,
-
-} D3D12_RESOURCE_STATES;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_STATES )" )
-
-typedef enum D3D12_RESOURCE_BARRIER_TYPE
-{
- D3D12_RESOURCE_BARRIER_TYPE_TRANSITION,
- D3D12_RESOURCE_BARRIER_TYPE_ALIASING,
- D3D12_RESOURCE_BARRIER_TYPE_UAV,
-} D3D12_RESOURCE_BARRIER_TYPE;
-
-interface ID3D12Resource;
-
-typedef struct D3D12_RESOURCE_TRANSITION_BARRIER
-{
- ID3D12Resource* pResource;
- UINT Subresource;
- D3D12_RESOURCE_STATES StateBefore;
- D3D12_RESOURCE_STATES StateAfter;
-} D3D12_RESOURCE_TRANSITION_BARRIER;
-
-typedef struct D3D12_RESOURCE_ALIASING_BARRIER
-{
- ID3D12Resource* pResourceBefore;
- ID3D12Resource* pResourceAfter;
-} D3D12_RESOURCE_ALIASING_BARRIER;
-
-typedef struct D3D12_RESOURCE_UAV_BARRIER
-{
- ID3D12Resource* pResource;
-} D3D12_RESOURCE_UAV_BARRIER;
-
-typedef enum D3D12_RESOURCE_BARRIER_FLAGS
-{
- D3D12_RESOURCE_BARRIER_FLAG_NONE = 0x0,
- D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1,
- D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2,
-} D3D12_RESOURCE_BARRIER_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_BARRIER_FLAGS )" )
-
-typedef struct D3D12_RESOURCE_BARRIER
-{
- D3D12_RESOURCE_BARRIER_TYPE Type;
- D3D12_RESOURCE_BARRIER_FLAGS Flags;
-
- union
- {
- D3D12_RESOURCE_TRANSITION_BARRIER Transition;
- D3D12_RESOURCE_ALIASING_BARRIER Aliasing;
- D3D12_RESOURCE_UAV_BARRIER UAV;
- };
-} D3D12_RESOURCE_BARRIER;
-
-typedef struct D3D12_SUBRESOURCE_FOOTPRINT
-{
- DXGI_FORMAT Format;
- UINT Width;
- UINT Height;
- UINT Depth;
- UINT RowPitch; // Must be a multiple of D3D12_TEXTURE_DATA_PITCH_ALIGNMENT
-} D3D12_SUBRESOURCE_FOOTPRINT;
-
-typedef struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT
-{
- UINT64 Offset; // Must be a multiple of D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT
- D3D12_SUBRESOURCE_FOOTPRINT Footprint;
-} D3D12_PLACED_SUBRESOURCE_FOOTPRINT;
-
-typedef enum D3D12_TEXTURE_COPY_TYPE
-{
- D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0,
- D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1,
-} D3D12_TEXTURE_COPY_TYPE;
-
-typedef struct D3D12_TEXTURE_COPY_LOCATION
-{
- ID3D12Resource* pResource;
- D3D12_TEXTURE_COPY_TYPE Type;
- union
- {
- D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint;
- UINT SubresourceIndex;
- };
-} D3D12_TEXTURE_COPY_LOCATION;
-
-typedef enum D3D12_RESOLVE_MODE
-{
- D3D12_RESOLVE_MODE_DECOMPRESS = 0,
- D3D12_RESOLVE_MODE_MIN = 1,
- D3D12_RESOLVE_MODE_MAX = 2,
- D3D12_RESOLVE_MODE_AVERAGE = 3,
- D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = 4,
- D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = 5
-} D3D12_RESOLVE_MODE;
-
-typedef struct D3D12_SAMPLE_POSITION
-{
- INT8 X;
- INT8 Y;
-} D3D12_SAMPLE_POSITION;
-
-typedef struct D3D12_VIEW_INSTANCE_LOCATION
-{
- UINT ViewportArrayIndex;
- UINT RenderTargetArrayIndex;
-} D3D12_VIEW_INSTANCE_LOCATION;
-
-typedef enum D3D12_VIEW_INSTANCING_FLAGS
-{
- D3D12_VIEW_INSTANCING_FLAG_NONE = 0x0,
- D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = 0x1,
-} D3D12_VIEW_INSTANCING_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIEW_INSTANCING_FLAGS )")
-
-typedef struct D3D12_VIEW_INSTANCING_DESC
-{
- UINT ViewInstanceCount;
- [annotation("_Field_size_full_(ViewInstanceCount)")] const D3D12_VIEW_INSTANCE_LOCATION* pViewInstanceLocations;
- D3D12_VIEW_INSTANCING_FLAGS Flags;
-} D3D12_VIEW_INSTANCING_DESC;
-
-// D3D12 view descriptions
-typedef enum D3D12_SHADER_COMPONENT_MAPPING
-{
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0,
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1,
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2,
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3,
- D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4,
- D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5,
-} D3D12_SHADER_COMPONENT_MAPPING;
-
-cpp_quote( "#define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7 ")
-cpp_quote( "#define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3 ")
-cpp_quote( "#define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4)) ")
-cpp_quote( "#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \\")
-cpp_quote( " (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT*ComponentToExtract) & D3D12_SHADER_COMPONENT_MAPPING_MASK))")
-cpp_quote( "#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3) ")
-typedef enum D3D12_BUFFER_SRV_FLAGS
-{
- D3D12_BUFFER_SRV_FLAG_NONE = 0,
- D3D12_BUFFER_SRV_FLAG_RAW = 0x00000001, // allow device multi-component reads with DWORD addressing
-} D3D12_BUFFER_SRV_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_SRV_FLAGS )" )
-
-typedef struct D3D12_BUFFER_SRV
-{
- UINT64 FirstElement;
- UINT NumElements;
- UINT StructureByteStride; // if nonzero, format must be DXGI_FORMAT_UNKNOWN
- D3D12_BUFFER_SRV_FLAGS Flags;
-} D3D12_BUFFER_SRV;
-
-typedef struct D3D12_TEX1D_SRV
-{
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
-} D3D12_TEX1D_SRV;
-
-typedef struct D3D12_TEX1D_ARRAY_SRV
-{
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
- FLOAT ResourceMinLODClamp;
-} D3D12_TEX1D_ARRAY_SRV;
-
-typedef struct D3D12_TEX2D_SRV
-{
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT PlaneSlice;
- FLOAT ResourceMinLODClamp;
-} D3D12_TEX2D_SRV;
-
-typedef struct D3D12_TEX2D_ARRAY_SRV
-{
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
- FLOAT ResourceMinLODClamp;
-} D3D12_TEX2D_ARRAY_SRV;
-
-typedef struct D3D12_TEX3D_SRV
-{
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
-} D3D12_TEX3D_SRV;
-
-typedef struct D3D12_TEXCUBE_SRV
-{
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
-} D3D12_TEXCUBE_SRV;
-
-typedef struct D3D12_TEXCUBE_ARRAY_SRV
-{
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT First2DArrayFace;
- UINT NumCubes;
- FLOAT ResourceMinLODClamp;
-} D3D12_TEXCUBE_ARRAY_SRV;
-
-typedef struct D3D12_TEX2DMS_SRV
-{
- // don't need to define anything specific for this view dimension
- UINT UnusedField_NothingToDefine;
-} D3D12_TEX2DMS_SRV;
-
-typedef struct D3D12_TEX2DMS_ARRAY_SRV
-{
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D12_TEX2DMS_ARRAY_SRV;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV
-{
- D3D12_GPU_VIRTUAL_ADDRESS Location;
-} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV;
-
-typedef enum D3D12_SRV_DIMENSION {
- D3D12_SRV_DIMENSION_UNKNOWN = 0,
- D3D12_SRV_DIMENSION_BUFFER = 1,
- D3D12_SRV_DIMENSION_TEXTURE1D = 2,
- D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_SRV_DIMENSION_TEXTURE2D = 4,
- D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_SRV_DIMENSION_TEXTURE2DMS = 6,
- D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D12_SRV_DIMENSION_TEXTURE3D = 8,
- D3D12_SRV_DIMENSION_TEXTURECUBE = 9,
- D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10,
- D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE = 11,
-} D3D12_SRV_DIMENSION;
-
-typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC
-{
- DXGI_FORMAT Format;
- D3D12_SRV_DIMENSION ViewDimension;
- UINT Shader4ComponentMapping;
-
- union
- {
- D3D12_BUFFER_SRV Buffer;
- D3D12_TEX1D_SRV Texture1D;
- D3D12_TEX1D_ARRAY_SRV Texture1DArray;
- D3D12_TEX2D_SRV Texture2D;
- D3D12_TEX2D_ARRAY_SRV Texture2DArray;
- D3D12_TEX2DMS_SRV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray;
- D3D12_TEX3D_SRV Texture3D;
- D3D12_TEXCUBE_SRV TextureCube;
- D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure;
- };
-} D3D12_SHADER_RESOURCE_VIEW_DESC;
-
-typedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC
-{
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
-} D3D12_CONSTANT_BUFFER_VIEW_DESC;
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-// Sampler
-//
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-typedef enum D3D12_FILTER
-{
- // Bits used in defining enumeration of valid filters:
- // bits [1:0] - mip: 0 == point, 1 == linear, 2,3 unused
- // bits [3:2] - mag: 0 == point, 1 == linear, 2,3 unused
- // bits [5:4] - min: 0 == point, 1 == linear, 2,3 unused
- // bit [6] - aniso
- // bits [8:7] - reduction type:
- // 0 == standard filtering
- // 1 == comparison
- // 2 == min
- // 3 == max
- // bit [31] - mono 1-bit (narrow-purpose filter) [no longer supported in D3D12]
-
- D3D12_FILTER_MIN_MAG_MIP_POINT = 0x00000000,
- D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x00000001,
- D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x00000004,
- D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x00000005,
- D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x00000010,
- D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000011,
- D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x00000014,
- D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x00000015,
- D3D12_FILTER_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x00000054,
- D3D12_FILTER_ANISOTROPIC = 0x00000055,
- D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x00000080,
- D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x00000081,
- D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x00000084,
- D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x00000085,
- D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x00000090,
- D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000091,
- D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x00000094,
- D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x00000095,
- D3D12_FILTER_COMPARISON_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x000000d4,
- D3D12_FILTER_COMPARISON_ANISOTROPIC = 0x000000d5,
- D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x00000100,
- D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x00000101,
- D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x00000104,
- D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x00000105,
- D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x00000110,
- D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000111,
- D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x00000114,
- D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x00000115,
- D3D12_FILTER_MINIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x00000154,
- D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x00000155,
- D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x00000180,
- D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x00000181,
- D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x00000184,
- D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x00000185,
- D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x00000190,
- D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000191,
- D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x00000194,
- D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x00000195,
- D3D12_FILTER_MAXIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x000001d4,
- D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x000001d5
-} D3D12_FILTER;
-
-typedef enum D3D12_FILTER_TYPE
-{
- D3D12_FILTER_TYPE_POINT = 0,
- D3D12_FILTER_TYPE_LINEAR = 1,
-} D3D12_FILTER_TYPE;
-
-typedef enum D3D12_FILTER_REDUCTION_TYPE
-{
- D3D12_FILTER_REDUCTION_TYPE_STANDARD = 0,
- D3D12_FILTER_REDUCTION_TYPE_COMPARISON = 1,
- D3D12_FILTER_REDUCTION_TYPE_MINIMUM = 2,
- D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = 3,
-} D3D12_FILTER_REDUCTION_TYPE;
-
-const UINT D3D12_FILTER_REDUCTION_TYPE_MASK = 0x00000003;
-const UINT D3D12_FILTER_REDUCTION_TYPE_SHIFT = 7;
-
-const UINT D3D12_FILTER_TYPE_MASK = 0x00000003;
-const UINT D3D12_MIN_FILTER_SHIFT = 4;
-const UINT D3D12_MAG_FILTER_SHIFT = 2;
-const UINT D3D12_MIP_FILTER_SHIFT = 0;
-
-const UINT D3D12_ANISOTROPIC_FILTERING_BIT = 0x00000040;
-
-// encode enum entry for most filters except anisotropic filtering
-cpp_quote( "#define D3D12_ENCODE_BASIC_FILTER( min, mag, mip, reduction ) \\" )
-cpp_quote( " ( ( D3D12_FILTER ) ( \\" )
-cpp_quote( " ( ( ( min ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIN_FILTER_SHIFT ) | \\" )
-cpp_quote( " ( ( ( mag ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MAG_FILTER_SHIFT ) | \\" )
-cpp_quote( " ( ( ( mip ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIP_FILTER_SHIFT ) | \\" )
-cpp_quote( " ( ( ( reduction ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) << D3D12_FILTER_REDUCTION_TYPE_SHIFT ) ) ) " )
-
-// encode enum entry for anisotropic filtering (with or without comparison filtering)
-cpp_quote( "#define D3D12_ENCODE_ANISOTROPIC_FILTER( reduction ) \\" )
-cpp_quote( " ( ( D3D12_FILTER ) ( \\" )
-cpp_quote( " D3D12_ANISOTROPIC_FILTERING_BIT | \\" )
-cpp_quote( " D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \\" )
-cpp_quote( " D3D12_FILTER_TYPE_LINEAR, \\" )
-cpp_quote( " D3D12_FILTER_TYPE_LINEAR, \\" )
-cpp_quote( " reduction ) ) ) " )
-cpp_quote( "#define D3D12_ENCODE_MIN_MAG_ANISOTROPIC_MIP_POINT_FILTER( reduction ) \\" )
-cpp_quote( " ( ( D3D12_FILTER ) ( \\" )
-cpp_quote( " D3D12_ANISOTROPIC_FILTERING_BIT | \\" )
-cpp_quote( " D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \\" )
-cpp_quote( " D3D12_FILTER_TYPE_LINEAR, \\" )
-cpp_quote( " D3D12_FILTER_TYPE_POINT, \\" )
-cpp_quote( " reduction ) ) ) " )
-
-cpp_quote( "#define D3D12_DECODE_MIN_FILTER( D3D12Filter ) \\" )
-cpp_quote( " ( ( D3D12_FILTER_TYPE ) \\" )
-cpp_quote( " ( ( ( D3D12Filter ) >> D3D12_MIN_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) " )
-
-cpp_quote( "#define D3D12_DECODE_MAG_FILTER( D3D12Filter ) \\" )
-cpp_quote( " ( ( D3D12_FILTER_TYPE ) \\" )
-cpp_quote( " ( ( ( D3D12Filter ) >> D3D12_MAG_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) " )
-
-cpp_quote( "#define D3D12_DECODE_MIP_FILTER( D3D12Filter ) \\" )
-cpp_quote( " ( ( D3D12_FILTER_TYPE ) \\" )
-cpp_quote( " ( ( ( D3D12Filter ) >> D3D12_MIP_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) " )
-
-cpp_quote( "#define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) \\" )
-cpp_quote( " ( ( D3D12_FILTER_REDUCTION_TYPE ) \\" )
-cpp_quote( " ( ( ( D3D12Filter ) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) ) " )
-
-cpp_quote( "#define D3D12_DECODE_IS_COMPARISON_FILTER( D3D12Filter ) \\" )
-cpp_quote( " ( D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON ) " )
-
-cpp_quote( "#define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter ) \\" )
-cpp_quote( " ( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) && \\" )
-cpp_quote( " ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) && \\" )
-cpp_quote( " ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) ) " )
-
-typedef enum D3D12_TEXTURE_ADDRESS_MODE
-{
- D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1,
- D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2,
- D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3,
- D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4,
- D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5
-} D3D12_TEXTURE_ADDRESS_MODE;
-
-
-
-typedef struct D3D12_SAMPLER_DESC
-{
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- FLOAT BorderColor[4]; // RGBA
- FLOAT MinLOD;
- FLOAT MaxLOD;
-} D3D12_SAMPLER_DESC;
-
-
-typedef enum D3D12_SAMPLER_FLAGS
-{
- D3D12_SAMPLER_FLAG_NONE = 0x0,
- D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR = 0x01,
- D3D12_SAMPLER_FLAG_NON_NORMALIZED_COORDINATES = 0x02,
-} D3D12_SAMPLER_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_SAMPLER_FLAGS )")
-
-typedef struct D3D12_SAMPLER_DESC2
-{
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- union
- {
- FLOAT FloatBorderColor[4]; // RGBA
- UINT UintBorderColor[4];
- };
- FLOAT MinLOD;
- FLOAT MaxLOD;
- D3D12_SAMPLER_FLAGS Flags;
-} D3D12_SAMPLER_DESC2;
-
-
-
-typedef enum D3D12_BUFFER_UAV_FLAGS
-{
- D3D12_BUFFER_UAV_FLAG_NONE = 0,
- D3D12_BUFFER_UAV_FLAG_RAW = 0x00000001,
-} D3D12_BUFFER_UAV_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_UAV_FLAGS )" )
-
-typedef struct D3D12_BUFFER_UAV
-{
- UINT64 FirstElement;
- UINT NumElements;
- UINT StructureByteStride; // if nonzero, format must be DXGI_FORMAT_UNKNOWN
- UINT64 CounterOffsetInBytes;
- D3D12_BUFFER_UAV_FLAGS Flags;
-} D3D12_BUFFER_UAV;
-
-typedef struct D3D12_TEX1D_UAV
-{
- UINT MipSlice;
-} D3D12_TEX1D_UAV;
-
-typedef struct D3D12_TEX1D_ARRAY_UAV
-{
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D12_TEX1D_ARRAY_UAV;
-
-typedef struct D3D12_TEX2D_UAV
-{
- UINT MipSlice;
- UINT PlaneSlice;
-} D3D12_TEX2D_UAV;
-
-typedef struct D3D12_TEX2D_ARRAY_UAV
-{
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
-} D3D12_TEX2D_ARRAY_UAV;
-
-typedef struct D3D12_TEX2DMS_UAV
-{
- // don't need to define anything specific for this view dimension
- UINT UnusedField_NothingToDefine;
-} D3D12_TEX2DMS_UAV;
-
-typedef struct D3D12_TEX2DMS_ARRAY_UAV
-{
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D12_TEX2DMS_ARRAY_UAV;
-
-typedef struct D3D12_TEX3D_UAV
-{
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
-} D3D12_TEX3D_UAV;
-
-typedef enum D3D12_UAV_DIMENSION
-{
- D3D12_UAV_DIMENSION_UNKNOWN = 0,
- D3D12_UAV_DIMENSION_BUFFER = 1,
- D3D12_UAV_DIMENSION_TEXTURE1D = 2,
- D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_UAV_DIMENSION_TEXTURE2D = 4,
- D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_UAV_DIMENSION_TEXTURE2DMS = 6,
- D3D12_UAV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D12_UAV_DIMENSION_TEXTURE3D = 8,
-} D3D12_UAV_DIMENSION;
-
-typedef struct D3D12_UNORDERED_ACCESS_VIEW_DESC
-{
- DXGI_FORMAT Format;
- D3D12_UAV_DIMENSION ViewDimension;
-
- union
- {
- D3D12_BUFFER_UAV Buffer;
- D3D12_TEX1D_UAV Texture1D;
- D3D12_TEX1D_ARRAY_UAV Texture1DArray;
- D3D12_TEX2D_UAV Texture2D;
- D3D12_TEX2D_ARRAY_UAV Texture2DArray;
- D3D12_TEX2DMS_UAV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_UAV Texture2DMSArray;
- D3D12_TEX3D_UAV Texture3D;
- };
-} D3D12_UNORDERED_ACCESS_VIEW_DESC;
-
-typedef struct D3D12_BUFFER_RTV
-{
- UINT64 FirstElement;
- UINT NumElements;
-} D3D12_BUFFER_RTV;
-
-typedef struct D3D12_TEX1D_RTV
-{
- UINT MipSlice;
-} D3D12_TEX1D_RTV;
-
-typedef struct D3D12_TEX1D_ARRAY_RTV
-{
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D12_TEX1D_ARRAY_RTV;
-
-typedef struct D3D12_TEX2D_RTV
-{
- UINT MipSlice;
- UINT PlaneSlice;
-} D3D12_TEX2D_RTV;
-
-typedef struct D3D12_TEX2DMS_RTV
-{
- UINT UnusedField_NothingToDefine;
-} D3D12_TEX2DMS_RTV;
-
-typedef struct D3D12_TEX2D_ARRAY_RTV
-{
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
-} D3D12_TEX2D_ARRAY_RTV;
-
-typedef struct D3D12_TEX2DMS_ARRAY_RTV
-{
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D12_TEX2DMS_ARRAY_RTV;
-
-typedef struct D3D12_TEX3D_RTV
-{
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
-} D3D12_TEX3D_RTV;
-
-typedef enum D3D12_RTV_DIMENSION
-{
- D3D12_RTV_DIMENSION_UNKNOWN = 0,
- D3D12_RTV_DIMENSION_BUFFER = 1,
- D3D12_RTV_DIMENSION_TEXTURE1D = 2,
- D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_RTV_DIMENSION_TEXTURE2D = 4,
- D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_RTV_DIMENSION_TEXTURE2DMS = 6,
- D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D12_RTV_DIMENSION_TEXTURE3D = 8,
-} D3D12_RTV_DIMENSION;
-
-typedef struct D3D12_RENDER_TARGET_VIEW_DESC
-{
- DXGI_FORMAT Format;
- D3D12_RTV_DIMENSION ViewDimension;
-
- union
- {
- D3D12_BUFFER_RTV Buffer;
- D3D12_TEX1D_RTV Texture1D;
- D3D12_TEX1D_ARRAY_RTV Texture1DArray;
- D3D12_TEX2D_RTV Texture2D;
- D3D12_TEX2D_ARRAY_RTV Texture2DArray;
- D3D12_TEX2DMS_RTV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray;
- D3D12_TEX3D_RTV Texture3D;
- };
-} D3D12_RENDER_TARGET_VIEW_DESC;
-
-typedef struct D3D12_TEX1D_DSV
-{
- UINT MipSlice;
-} D3D12_TEX1D_DSV;
-
-typedef struct D3D12_TEX1D_ARRAY_DSV
-{
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D12_TEX1D_ARRAY_DSV;
-
-typedef struct D3D12_TEX2D_DSV
-{
- UINT MipSlice;
-} D3D12_TEX2D_DSV;
-
-typedef struct D3D12_TEX2D_ARRAY_DSV
-{
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D12_TEX2D_ARRAY_DSV;
-
-typedef struct D3D12_TEX2DMS_DSV
-{
- UINT UnusedField_NothingToDefine;
-} D3D12_TEX2DMS_DSV;
-
-typedef struct D3D12_TEX2DMS_ARRAY_DSV
-{
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D12_TEX2DMS_ARRAY_DSV;
-
-typedef enum D3D12_DSV_FLAGS
-{
- D3D12_DSV_FLAG_NONE = 0x0,
- D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1,
- D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2,
-} D3D12_DSV_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_DSV_FLAGS )" )
-
-typedef enum D3D12_DSV_DIMENSION
-{
- D3D12_DSV_DIMENSION_UNKNOWN = 0,
- D3D12_DSV_DIMENSION_TEXTURE1D = 1,
- D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2,
- D3D12_DSV_DIMENSION_TEXTURE2D = 3,
- D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4,
- D3D12_DSV_DIMENSION_TEXTURE2DMS = 5,
- D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6,
-} D3D12_DSV_DIMENSION;
-
-typedef struct D3D12_DEPTH_STENCIL_VIEW_DESC
-{
- DXGI_FORMAT Format;
- D3D12_DSV_DIMENSION ViewDimension;
- D3D12_DSV_FLAGS Flags;
-
- union
- {
- D3D12_TEX1D_DSV Texture1D;
- D3D12_TEX1D_ARRAY_DSV Texture1DArray;
- D3D12_TEX2D_DSV Texture2D;
- D3D12_TEX2D_ARRAY_DSV Texture2DArray;
- D3D12_TEX2DMS_DSV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray;
- };
-} D3D12_DEPTH_STENCIL_VIEW_DESC;
-
-typedef enum D3D12_CLEAR_FLAGS
-{
- // Intentionally no flag for NONE
- D3D12_CLEAR_FLAG_DEPTH = 0x01,
- D3D12_CLEAR_FLAG_STENCIL = 0x02,
-} D3D12_CLEAR_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_CLEAR_FLAGS )" )
-
-typedef enum D3D12_FENCE_FLAGS
-{
- D3D12_FENCE_FLAG_NONE = 0x0,
- D3D12_FENCE_FLAG_SHARED = 0x1,
- D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2,
- D3D12_FENCE_FLAG_NON_MONITORED = 0x4,
-} D3D12_FENCE_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_FENCE_FLAGS )" )
-
-typedef enum D3D12_DESCRIPTOR_HEAP_TYPE
-{
- D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV,
- D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER,
- D3D12_DESCRIPTOR_HEAP_TYPE_RTV,
- D3D12_DESCRIPTOR_HEAP_TYPE_DSV,
- D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES
-} D3D12_DESCRIPTOR_HEAP_TYPE;
-
-typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS
-{
- D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0x0,
- D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1,
-} D3D12_DESCRIPTOR_HEAP_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_HEAP_FLAGS )" )
-
-typedef struct D3D12_DESCRIPTOR_HEAP_DESC
-{
- D3D12_DESCRIPTOR_HEAP_TYPE Type;
- UINT NumDescriptors;
- D3D12_DESCRIPTOR_HEAP_FLAGS Flags;
- UINT NodeMask;
-} D3D12_DESCRIPTOR_HEAP_DESC;
-
-typedef enum D3D12_DESCRIPTOR_RANGE_TYPE
-{
- D3D12_DESCRIPTOR_RANGE_TYPE_SRV,
- D3D12_DESCRIPTOR_RANGE_TYPE_UAV,
- D3D12_DESCRIPTOR_RANGE_TYPE_CBV,
- D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER
-} D3D12_DESCRIPTOR_RANGE_TYPE;
-
-typedef struct D3D12_DESCRIPTOR_RANGE
-{
- D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
- UINT NumDescriptors;
- UINT BaseShaderRegister;
- UINT RegisterSpace;
- UINT OffsetInDescriptorsFromTableStart;
-} D3D12_DESCRIPTOR_RANGE;
-
-
-typedef struct D3D12_ROOT_DESCRIPTOR_TABLE
-{
- UINT NumDescriptorRanges;
- [annotation("_Field_size_full_(NumDescriptorRanges)")] const D3D12_DESCRIPTOR_RANGE* pDescriptorRanges;
-} D3D12_ROOT_DESCRIPTOR_TABLE;
-
-
-typedef struct D3D12_ROOT_CONSTANTS
-{
- UINT ShaderRegister;
- UINT RegisterSpace;
- UINT Num32BitValues;
-} D3D12_ROOT_CONSTANTS;
-
-typedef struct D3D12_ROOT_DESCRIPTOR
-{
- UINT ShaderRegister;
- UINT RegisterSpace;
-} D3D12_ROOT_DESCRIPTOR;
-
-typedef enum D3D12_SHADER_VISIBILITY
-{
- D3D12_SHADER_VISIBILITY_ALL = 0,
- D3D12_SHADER_VISIBILITY_VERTEX = 1,
- D3D12_SHADER_VISIBILITY_HULL = 2,
- D3D12_SHADER_VISIBILITY_DOMAIN = 3,
- D3D12_SHADER_VISIBILITY_GEOMETRY = 4,
- D3D12_SHADER_VISIBILITY_PIXEL = 5,
- D3D12_SHADER_VISIBILITY_AMPLIFICATION = 6,
- D3D12_SHADER_VISIBILITY_MESH = 7,
-} D3D12_SHADER_VISIBILITY;
-
-typedef enum D3D12_ROOT_PARAMETER_TYPE
-{
- D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE,
- D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS,
- D3D12_ROOT_PARAMETER_TYPE_CBV,
- D3D12_ROOT_PARAMETER_TYPE_SRV,
- D3D12_ROOT_PARAMETER_TYPE_UAV
-} D3D12_ROOT_PARAMETER_TYPE;
-
-typedef struct D3D12_ROOT_PARAMETER
-{
- D3D12_ROOT_PARAMETER_TYPE ParameterType;
- union
- {
- D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable;
- D3D12_ROOT_CONSTANTS Constants;
- D3D12_ROOT_DESCRIPTOR Descriptor;
- };
- D3D12_SHADER_VISIBILITY ShaderVisibility;
-} D3D12_ROOT_PARAMETER;
-
-typedef enum D3D12_ROOT_SIGNATURE_FLAGS
-{
- D3D12_ROOT_SIGNATURE_FLAG_NONE = 0x0,
- D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
- D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40,
- D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200,
- D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400,
- D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800,
-} D3D12_ROOT_SIGNATURE_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_SIGNATURE_FLAGS )" )
-
-
-typedef enum D3D12_STATIC_BORDER_COLOR
-{
- D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK, // 0.0f,0.0f,0.0f,0.0f
- D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK, // 0.0f,0.0f,0.0f,1.0f
- D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE, // 1.0f,1.0f,1.0f,1.0f
- D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT, // 0,0,0,1
- D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT, // 1,1,1,1
-
-} D3D12_STATIC_BORDER_COLOR;
-
-typedef struct D3D12_STATIC_SAMPLER_DESC
-{
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- D3D12_STATIC_BORDER_COLOR BorderColor;
- FLOAT MinLOD;
- FLOAT MaxLOD;
- UINT ShaderRegister;
- UINT RegisterSpace;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
-} D3D12_STATIC_SAMPLER_DESC;
-
-typedef struct D3D12_STATIC_SAMPLER_DESC1
-{
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- D3D12_STATIC_BORDER_COLOR BorderColor;
- FLOAT MinLOD;
- FLOAT MaxLOD;
- UINT ShaderRegister;
- UINT RegisterSpace;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- D3D12_SAMPLER_FLAGS Flags;
-} D3D12_STATIC_SAMPLER_DESC1;
-
-typedef struct D3D12_ROOT_SIGNATURE_DESC
-{
- UINT NumParameters;
- [annotation("_Field_size_full_(NumParameters)")] const D3D12_ROOT_PARAMETER* pParameters;
- UINT NumStaticSamplers;
- [annotation("_Field_size_full_(NumStaticSamplers)")] const D3D12_STATIC_SAMPLER_DESC* pStaticSamplers;
- D3D12_ROOT_SIGNATURE_FLAGS Flags;
-} D3D12_ROOT_SIGNATURE_DESC;
-
-typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS
-{
- D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0x0,
- D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1,
- D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2,
- D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
- D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8,
- D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000,
-} D3D12_DESCRIPTOR_RANGE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_RANGE_FLAGS )")
-
-typedef struct D3D12_DESCRIPTOR_RANGE1
-{
- D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
- UINT NumDescriptors;
- UINT BaseShaderRegister;
- UINT RegisterSpace;
- D3D12_DESCRIPTOR_RANGE_FLAGS Flags;
- UINT OffsetInDescriptorsFromTableStart;
-} D3D12_DESCRIPTOR_RANGE1;
-
-typedef struct D3D12_ROOT_DESCRIPTOR_TABLE1
-{
- UINT NumDescriptorRanges;
- [annotation("_Field_size_full_(NumDescriptorRanges)")] const D3D12_DESCRIPTOR_RANGE1* pDescriptorRanges;
-} D3D12_ROOT_DESCRIPTOR_TABLE1;
-
-typedef enum D3D12_ROOT_DESCRIPTOR_FLAGS
-{
- D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0x0,
- D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2,
- D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
- D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8,
-} D3D12_ROOT_DESCRIPTOR_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_DESCRIPTOR_FLAGS )")
-
-typedef struct D3D12_ROOT_DESCRIPTOR1
-{
- UINT ShaderRegister;
- UINT RegisterSpace;
- D3D12_ROOT_DESCRIPTOR_FLAGS Flags;
-} D3D12_ROOT_DESCRIPTOR1;
-
-typedef struct D3D12_ROOT_PARAMETER1
-{
- D3D12_ROOT_PARAMETER_TYPE ParameterType;
- union
- {
- D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable;
- D3D12_ROOT_CONSTANTS Constants;
- D3D12_ROOT_DESCRIPTOR1 Descriptor;
- };
- D3D12_SHADER_VISIBILITY ShaderVisibility;
-} D3D12_ROOT_PARAMETER1;
-
-typedef struct D3D12_ROOT_SIGNATURE_DESC1
-{
- UINT NumParameters;
- [annotation("_Field_size_full_(NumParameters)")] const D3D12_ROOT_PARAMETER1* pParameters;
- UINT NumStaticSamplers;
- [annotation("_Field_size_full_(NumStaticSamplers)")] const D3D12_STATIC_SAMPLER_DESC* pStaticSamplers;
- D3D12_ROOT_SIGNATURE_FLAGS Flags;
-} D3D12_ROOT_SIGNATURE_DESC1;
-
-typedef struct D3D12_ROOT_SIGNATURE_DESC2
-{
- UINT NumParameters;
- [annotation("_Field_size_full_(NumParameters)")] const D3D12_ROOT_PARAMETER1* pParameters;
- UINT NumStaticSamplers;
- [annotation("_Field_size_full_(NumStaticSamplers)")] const D3D12_STATIC_SAMPLER_DESC1* pStaticSamplers;
- D3D12_ROOT_SIGNATURE_FLAGS Flags;
-} D3D12_ROOT_SIGNATURE_DESC2;
-
-
-typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC
-{
- D3D_ROOT_SIGNATURE_VERSION Version;
- union
- {
- D3D12_ROOT_SIGNATURE_DESC Desc_1_0;
- D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1;
- D3D12_ROOT_SIGNATURE_DESC2 Desc_1_2;
- };
-} D3D12_VERSIONED_ROOT_SIGNATURE_DESC;
-
-[ uuid( 34AB647B-3CC8-46AC-841B-C0965645C046 ), object, local, pointer_default( unique ) ]
-interface ID3D12RootSignatureDeserializer
- : IUnknown
-{
- const D3D12_ROOT_SIGNATURE_DESC * GetRootSignatureDesc();
-};
-
-[ uuid( 7F91CE67-090C-4BB7-B78E-ED8FF2E31DA0 ), object, local, pointer_default( unique ) ]
-interface ID3D12VersionedRootSignatureDeserializer
- : IUnknown
-{
- HRESULT GetRootSignatureDescAtVersion(D3D_ROOT_SIGNATURE_VERSION convertToVersion, [annotation("_Out_")] const D3D12_VERSIONED_ROOT_SIGNATURE_DESC** ppDesc);
- const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* GetUnconvertedRootSignatureDesc();
-};
-
-cpp_quote( "typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(")
-cpp_quote( " _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature," )
-cpp_quote( " _In_ D3D_ROOT_SIGNATURE_VERSION Version," )
-cpp_quote( " _Out_ ID3DBlob** ppBlob," )
-cpp_quote( " _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);" )
-cpp_quote( "" )
-cpp_quote( "HRESULT WINAPI D3D12SerializeRootSignature(")
-cpp_quote( " _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature," )
-cpp_quote( " _In_ D3D_ROOT_SIGNATURE_VERSION Version," )
-cpp_quote( " _Out_ ID3DBlob** ppBlob," )
-cpp_quote( " _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);" )
-cpp_quote( "" )
-cpp_quote( "typedef HRESULT (WINAPI* PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(")
-cpp_quote( " _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData," )
-cpp_quote( " _In_ SIZE_T SrcDataSizeInBytes," )
-cpp_quote( " _In_ REFIID pRootSignatureDeserializerInterface," )
-cpp_quote( " _Out_ void** ppRootSignatureDeserializer);" )
-cpp_quote( "" )
-cpp_quote( "HRESULT WINAPI D3D12CreateRootSignatureDeserializer(")
-cpp_quote( " _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData," )
-cpp_quote( " _In_ SIZE_T SrcDataSizeInBytes," )
-cpp_quote( " _In_ REFIID pRootSignatureDeserializerInterface," )
-cpp_quote( " _Out_ void** ppRootSignatureDeserializer);" )
-cpp_quote( "" )
-cpp_quote( "typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(" )
-cpp_quote( " _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature," )
-cpp_quote( " _Out_ ID3DBlob** ppBlob," )
-cpp_quote( " _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);" )
-cpp_quote( "" )
-cpp_quote( "HRESULT WINAPI D3D12SerializeVersionedRootSignature(" )
-cpp_quote( " _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature," )
-cpp_quote( " _Out_ ID3DBlob** ppBlob," )
-cpp_quote( " _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);" )
-cpp_quote( "" )
-cpp_quote( "typedef HRESULT (WINAPI* PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)(" )
-cpp_quote( " _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData," )
-cpp_quote( " _In_ SIZE_T SrcDataSizeInBytes," )
-cpp_quote( " _In_ REFIID pRootSignatureDeserializerInterface," )
-cpp_quote( " _Out_ void** ppRootSignatureDeserializer);" )
-cpp_quote( "" )
-cpp_quote( "HRESULT WINAPI D3D12CreateVersionedRootSignatureDeserializer(")
-cpp_quote( " _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData," )
-cpp_quote( " _In_ SIZE_T SrcDataSizeInBytes," )
-cpp_quote( " _In_ REFIID pRootSignatureDeserializerInterface," )
-cpp_quote( " _Out_ void** ppRootSignatureDeserializer);" )
-cpp_quote( "" )
-
-
-
-typedef struct D3D12_CPU_DESCRIPTOR_HANDLE
-{
- SIZE_T ptr;
-} D3D12_CPU_DESCRIPTOR_HANDLE;
-
-
-typedef struct D3D12_GPU_DESCRIPTOR_HANDLE
-{
- UINT64 ptr;
-} D3D12_GPU_DESCRIPTOR_HANDLE;
-
-cpp_quote( "// If rects are supplied in D3D12_DISCARD_REGION, below, the resource " )
-cpp_quote( "// must have 2D subresources with all specified subresources the same dimension." )
-typedef struct D3D12_DISCARD_REGION
-{
- UINT NumRects;
- [annotation("_In_reads_(NumRects)")] const D3D12_RECT* pRects;
- UINT FirstSubresource;
- UINT NumSubresources;
-} D3D12_DISCARD_REGION;
-
-typedef enum D3D12_QUERY_HEAP_TYPE
-{
- D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0,
- D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1,
- D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2,
- D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3,
- D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS = 4,
- D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP = 5,
- D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 = 7,
-
-} D3D12_QUERY_HEAP_TYPE;
-
-typedef struct D3D12_QUERY_HEAP_DESC
-{
- D3D12_QUERY_HEAP_TYPE Type;
- UINT Count;
- UINT NodeMask;
-} D3D12_QUERY_HEAP_DESC;
-
-typedef enum D3D12_QUERY_TYPE
-{
- D3D12_QUERY_TYPE_OCCLUSION = 0,
- D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1,
- D3D12_QUERY_TYPE_TIMESTAMP = 2,
- D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7,
- D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS = 8,
- D3D12_QUERY_TYPE_PIPELINE_STATISTICS1 = 10,
-
-} D3D12_QUERY_TYPE;
-
-typedef enum D3D12_PREDICATION_OP
-{
- D3D12_PREDICATION_OP_EQUAL_ZERO = 0,
- D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1,
-} D3D12_PREDICATION_OP;
-
-typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS
-{
- UINT64 IAVertices;
- UINT64 IAPrimitives;
- UINT64 VSInvocations;
- UINT64 GSInvocations;
- UINT64 GSPrimitives;
- UINT64 CInvocations;
- UINT64 CPrimitives;
- UINT64 PSInvocations;
- UINT64 HSInvocations;
- UINT64 DSInvocations;
- UINT64 CSInvocations;
-} D3D12_QUERY_DATA_PIPELINE_STATISTICS;
-
-typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS1
-{
- UINT64 IAVertices;
- UINT64 IAPrimitives;
- UINT64 VSInvocations;
- UINT64 GSInvocations;
- UINT64 GSPrimitives;
- UINT64 CInvocations;
- UINT64 CPrimitives;
- UINT64 PSInvocations;
- UINT64 HSInvocations;
- UINT64 DSInvocations;
- UINT64 CSInvocations;
- UINT64 ASInvocations;
- UINT64 MSInvocations;
- UINT64 MSPrimitives;
-} D3D12_QUERY_DATA_PIPELINE_STATISTICS1;
-
-typedef struct D3D12_QUERY_DATA_SO_STATISTICS
-{
- UINT64 NumPrimitivesWritten;
- UINT64 PrimitivesStorageNeeded;
-} D3D12_QUERY_DATA_SO_STATISTICS;
-
-typedef struct D3D12_STREAM_OUTPUT_BUFFER_VIEW
-{
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT64 SizeInBytes;
- D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation;
-} D3D12_STREAM_OUTPUT_BUFFER_VIEW;
-
-typedef struct D3D12_DRAW_ARGUMENTS
-{
- UINT VertexCountPerInstance;
- UINT InstanceCount;
- UINT StartVertexLocation;
- UINT StartInstanceLocation;
-} D3D12_DRAW_ARGUMENTS;
-
-typedef struct D3D12_DRAW_INDEXED_ARGUMENTS
-{
- UINT IndexCountPerInstance;
- UINT InstanceCount;
- UINT StartIndexLocation;
- INT BaseVertexLocation;
- UINT StartInstanceLocation;
-} D3D12_DRAW_INDEXED_ARGUMENTS;
-
-typedef struct D3D12_DISPATCH_ARGUMENTS
-{
- UINT ThreadGroupCountX;
- UINT ThreadGroupCountY;
- UINT ThreadGroupCountZ;
-} D3D12_DISPATCH_ARGUMENTS;
-
-typedef struct D3D12_VERTEX_BUFFER_VIEW
-{
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
- UINT StrideInBytes;
-} D3D12_VERTEX_BUFFER_VIEW;
-
-typedef struct D3D12_INDEX_BUFFER_VIEW
-{
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
- DXGI_FORMAT Format;
-} D3D12_INDEX_BUFFER_VIEW;
-
-typedef enum D3D12_INDIRECT_ARGUMENT_TYPE
-{
- D3D12_INDIRECT_ARGUMENT_TYPE_DRAW,
- D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED,
- D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH,
- D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW,
- D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW,
- D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT,
- D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW,
- D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW,
- D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW,
- D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS,
- D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH,
- D3D12_INDIRECT_ARGUMENT_TYPE_INCREMENTING_CONSTANT,
-} D3D12_INDIRECT_ARGUMENT_TYPE;
-
-typedef struct D3D12_INDIRECT_ARGUMENT_DESC
-{
- D3D12_INDIRECT_ARGUMENT_TYPE Type;
-
- union
- {
- struct
- {
- UINT Slot;
- } VertexBuffer;
-
- struct
- {
- UINT RootParameterIndex;
- UINT DestOffsetIn32BitValues;
- UINT Num32BitValuesToSet;
- } Constant;
-
- struct
- {
- UINT RootParameterIndex;
- } ConstantBufferView;
-
- struct
- {
- UINT RootParameterIndex;
- } ShaderResourceView;
-
- struct
- {
- UINT RootParameterIndex;
- } UnorderedAccessView;
-
- // Tier 1.1 support
- struct
- {
- UINT RootParameterIndex;
- UINT DestOffsetIn32BitValues;
- } IncrementingConstant;
- };
-} D3D12_INDIRECT_ARGUMENT_DESC;
-
-typedef struct D3D12_COMMAND_SIGNATURE_DESC
-{
- // The number of bytes between each drawing structure
- UINT ByteStride;
- UINT NumArgumentDescs;
- [annotation("_Field_size_full_(NumArgumentDescs)")] const D3D12_INDIRECT_ARGUMENT_DESC* pArgumentDescs;
- UINT NodeMask;
-} D3D12_COMMAND_SIGNATURE_DESC;
-
-interface ID3D12Device;
-
-[ uuid( c4fec28f-7966-4e95-9f94-f431cb56c3b8 ), object, local, pointer_default( unique ) ]
-interface ID3D12Object
- : IUnknown
-{
- HRESULT GetPrivateData(
- [annotation("_In_")] REFGUID guid,
- [annotation("_Inout_")] UINT* pDataSize,
- [annotation("_Out_writes_bytes_opt_( *pDataSize )")] void* pData );
- HRESULT SetPrivateData(
- [annotation("_In_")] REFGUID guid,
- [annotation("_In_")] UINT DataSize,
- [annotation("_In_reads_bytes_opt_( DataSize )")] const void* pData );
- HRESULT SetPrivateDataInterface(
- [annotation("_In_")] REFGUID guid,
- [annotation("_In_opt_")] const IUnknown* pData );
- HRESULT SetName(
- [annotation("_In_z_")] LPCWSTR Name );
-}
-
-[ uuid( 905db94b-a00c-4140-9df5-2b64ca9ea357 ), object, local, pointer_default( unique ) ]
-interface ID3D12DeviceChild
- : ID3D12Object
-{
- HRESULT GetDevice(
- [in] REFIID riid,
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvDevice
- );
-}
-
-[ uuid( 63ee58fb-1268-4835-86da-f008ce62f0d6 ), object, local, pointer_default( unique ) ]
-interface ID3D12Pageable
- : ID3D12DeviceChild
-{
-}
-
-[ uuid( 6b3b2502-6e51-45b3-90ee-9884265e8df3 ), object, local, pointer_default( unique ) ]
-interface ID3D12Heap
- : ID3D12Pageable
-{
- D3D12_HEAP_DESC GetDesc();
-}
-
-[ uuid( 696442be-a72e-4059-bc79-5b5c98040fad ), object, local, pointer_default( unique ) ]
-interface ID3D12Resource
- : ID3D12Pageable
-{
- HRESULT Map(
- UINT Subresource,
- [annotation("_In_opt_")] const D3D12_RANGE* pReadRange,
- [annotation("_Outptr_opt_result_bytebuffer_(_Inexpressible_(\"Dependent on resource\"))")] void** ppData);
-
- void Unmap(UINT Subresource, [annotation("_In_opt_")] const D3D12_RANGE* pWrittenRange );
-
- D3D12_RESOURCE_DESC GetDesc();
-
- D3D12_GPU_VIRTUAL_ADDRESS GetGPUVirtualAddress();
-
- HRESULT WriteToSubresource(
- UINT DstSubresource,
- [annotation("_In_opt_")] const D3D12_BOX* pDstBox,
- [annotation("_In_")] const void* pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch );
-
- HRESULT ReadFromSubresource(
- [annotation("_Out_")] void* pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- [annotation("_In_opt_")] const D3D12_BOX* pSrcBox );
-
- HRESULT GetHeapProperties(
- [annotation("_Out_opt_")] D3D12_HEAP_PROPERTIES* pHeapProperties,
- [annotation("_Out_opt_")] D3D12_HEAP_FLAGS* pHeapFlags
- );
-}
-
-[ uuid( 6102dee4-af59-4b09-b999-b44d73f09b24 ), object, local, pointer_default( unique ) ]
-interface ID3D12CommandAllocator
- : ID3D12Pageable
-{
- HRESULT Reset();
-}
-
-[ uuid( 0a753dcf-c4d8-4b91-adf6-be5a60d95a76 ), object, local, pointer_default( unique ) ]
-interface ID3D12Fence
- : ID3D12Pageable
-{
- UINT64 GetCompletedValue();
- HRESULT SetEventOnCompletion(UINT64 Value, HANDLE hEvent);
- HRESULT Signal(UINT64 Value);
-};
-
-[ uuid( 433685fe-e22b-4ca0-a8db-b5b4f4dd0e4a ), object, local, pointer_default( unique ) ]
-interface ID3D12Fence1
- : ID3D12Fence
-{
- D3D12_FENCE_FLAGS GetCreationFlags();
-};
-
-[ uuid( 765a30f3-f624-4c6f-a828-ace948622445 ), object, local, pointer_default( unique ) ]
-interface ID3D12PipelineState
- : ID3D12Pageable
-{
- HRESULT GetCachedBlob([annotation("_COM_Outptr_")] ID3DBlob** ppBlob);
-}
-
-[ uuid( 8efb471d-616c-4f49-90f7-127bb763fa51 ), object, local, pointer_default( unique ) ]
-interface ID3D12DescriptorHeap
- : ID3D12Pageable
-{
- D3D12_DESCRIPTOR_HEAP_DESC GetDesc();
-
- D3D12_CPU_DESCRIPTOR_HANDLE GetCPUDescriptorHandleForHeapStart();
- D3D12_GPU_DESCRIPTOR_HANDLE GetGPUDescriptorHandleForHeapStart();
-}
-
-[ uuid( 0d9658ae-ed45-469e-a61d-970ec583cab4 ), object, local, pointer_default( unique ) ]
-interface ID3D12QueryHeap
- : ID3D12Pageable
-{
-};
-
-[ uuid( c36a797c-ec80-4f0a-8985-a7b2475082d1 ), object, local, pointer_default( unique ) ]
-interface ID3D12CommandSignature
- : ID3D12Pageable
-{
-};
-
-[ uuid( 7116d91c-e7e4-47ce-b8c6-ec8168f437e5 ), object, local, pointer_default( unique ) ]
-interface ID3D12CommandList
- : ID3D12DeviceChild
-{
- D3D12_COMMAND_LIST_TYPE GetType();
-}
-
-// Superseded by ID3D12GraphicsCommandList1
-[ uuid( 5b160d0f-ac1b-4185-8ba8-b3ae42a5a455 ), object, local, pointer_default( unique ) ]
-interface ID3D12GraphicsCommandList
- : ID3D12CommandList
-{
- HRESULT Close();
-
- HRESULT Reset(
- [annotation("_In_")] ID3D12CommandAllocator* pAllocator,
- [annotation("_In_opt_")] ID3D12PipelineState* pInitialState
- );
-
- void ClearState(
- [annotation("_In_opt_")] ID3D12PipelineState* pPipelineState
- );
-
- void DrawInstanced(
- [annotation("_In_")] UINT VertexCountPerInstance,
- [annotation("_In_")] UINT InstanceCount,
- [annotation("_In_")] UINT StartVertexLocation,
- [annotation("_In_")] UINT StartInstanceLocation
- );
-
- void DrawIndexedInstanced(
- [annotation("_In_")] UINT IndexCountPerInstance,
- [annotation("_In_")] UINT InstanceCount,
- [annotation("_In_")] UINT StartIndexLocation,
- [annotation("_In_")] INT BaseVertexLocation,
- [annotation("_In_")] UINT StartInstanceLocation
- );
-
- void Dispatch(
- [annotation("_In_")] UINT ThreadGroupCountX,
- [annotation("_In_")] UINT ThreadGroupCountY,
- [annotation("_In_")] UINT ThreadGroupCountZ
- );
-
- void CopyBufferRegion(
- [annotation("_In_")] ID3D12Resource* pDstBuffer,
- UINT64 DstOffset,
- [annotation("_In_")] ID3D12Resource* pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes
- );
-
- void CopyTextureRegion(
- [annotation("_In_")] const D3D12_TEXTURE_COPY_LOCATION* pDst,
- UINT DstX, UINT DstY, UINT DstZ,
- [annotation("_In_")] const D3D12_TEXTURE_COPY_LOCATION* pSrc,
- [annotation("_In_opt_")] const D3D12_BOX* pSrcBox
- );
-
- void CopyResource(
- [annotation("_In_")] ID3D12Resource* pDstResource,
- [annotation("_In_")] ID3D12Resource* pSrcResource
- );
-
- void CopyTiles(
- [annotation("_In_")] ID3D12Resource* pTiledResource,
- [annotation("_In_")] const D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate,
- [annotation("_In_")] const D3D12_TILE_REGION_SIZE* pTileRegionSize,
- [annotation("_In_")] ID3D12Resource* pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags
- );
-
- void ResolveSubresource(
- [annotation("_In_")] ID3D12Resource* pDstResource,
- [annotation("_In_")] UINT DstSubresource,
- [annotation("_In_")] ID3D12Resource* pSrcResource,
- [annotation("_In_")] UINT SrcSubresource,
- [annotation("_In_")] DXGI_FORMAT Format
- );
-
- void IASetPrimitiveTopology(
- [annotation("_In_")] D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology
- );
-
- void RSSetViewports(
- [annotation("_In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)")] UINT NumViewports,
- [annotation("_In_reads_( NumViewports)")] const D3D12_VIEWPORT* pViewports
- );
-
- void RSSetScissorRects(
- [annotation("_In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)")] UINT NumRects,
- [annotation("_In_reads_( NumRects)")] const D3D12_RECT* pRects
- );
-
- void OMSetBlendFactor(
- [annotation("_In_reads_opt_(4)")] const FLOAT BlendFactor[ 4 ]
- );
-
- void OMSetStencilRef(
- [annotation("_In_")] UINT StencilRef
- );
-
- void SetPipelineState(
- [annotation("_In_")] ID3D12PipelineState* pPipelineState
- );
-
- void ResourceBarrier(
- [annotation("_In_")] UINT NumBarriers,
- [annotation("_In_reads_(NumBarriers)")] const D3D12_RESOURCE_BARRIER* pBarriers
- );
-
- void ExecuteBundle(
- [annotation("_In_")] ID3D12GraphicsCommandList* pCommandList
- );
-
- void SetDescriptorHeaps(
- [annotation("_In_")] UINT NumDescriptorHeaps,
- [annotation("_In_reads_(NumDescriptorHeaps)")] ID3D12DescriptorHeap* const* ppDescriptorHeaps
- );
-
- void SetComputeRootSignature(
- [annotation("_In_opt_")] ID3D12RootSignature* pRootSignature
- );
-
- void SetGraphicsRootSignature(
- [annotation("_In_opt_")] ID3D12RootSignature* pRootSignature
- );
-
- void SetComputeRootDescriptorTable(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor
- );
-
- void SetGraphicsRootDescriptorTable(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor
- );
-
- // Single constant
- void SetComputeRoot32BitConstant(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] UINT SrcData,
- [annotation("_In_")] UINT DestOffsetIn32BitValues
- );
-
- void SetGraphicsRoot32BitConstant(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] UINT SrcData,
- [annotation("_In_")] UINT DestOffsetIn32BitValues
- );
-
- // Group of constants
- void SetComputeRoot32BitConstants(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] UINT Num32BitValuesToSet,
- [annotation("_In_reads_(Num32BitValuesToSet*sizeof(UINT))")] const void* pSrcData,
- [annotation("_In_")] UINT DestOffsetIn32BitValues
- );
-
- void SetGraphicsRoot32BitConstants(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] UINT Num32BitValuesToSet,
- [annotation("_In_reads_(Num32BitValuesToSet*sizeof(UINT))")] const void* pSrcData,
- [annotation("_In_")] UINT DestOffsetIn32BitValues
- );
-
- // CBV
- void SetComputeRootConstantBufferView(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
- );
-
- void SetGraphicsRootConstantBufferView(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
- );
-
- // SRV
- void SetComputeRootShaderResourceView(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
- );
-
- void SetGraphicsRootShaderResourceView(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
- );
-
- // UAV
- void SetComputeRootUnorderedAccessView(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
- );
-
- void SetGraphicsRootUnorderedAccessView(
- [annotation("_In_")] UINT RootParameterIndex,
- [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
- );
-
- void IASetIndexBuffer(
- [annotation("_In_opt_")] const D3D12_INDEX_BUFFER_VIEW* pView
- );
-
- void IASetVertexBuffers(
- [annotation("_In_")] UINT StartSlot,
- [annotation("_In_")] UINT NumViews,
- [annotation("_In_reads_opt_(NumViews)")] const D3D12_VERTEX_BUFFER_VIEW* pViews
- );
-
- void SOSetTargets(
- [annotation("_In_")] UINT StartSlot,
- [annotation("_In_")] UINT NumViews,
- [annotation("_In_reads_opt_(NumViews)")] const D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews
- );
-
- void OMSetRenderTargets(
- [annotation("_In_")] UINT NumRenderTargetDescriptors,
- [annotation("_In_opt_")] const D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors,
- [annotation("_In_")] BOOL RTsSingleHandleToDescriptorRange,
- [annotation("_In_opt_")] const D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor
- );
-
- void ClearDepthStencilView(
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- [annotation("_In_")] D3D12_CLEAR_FLAGS ClearFlags,
- [annotation("_In_")] FLOAT Depth,
- [annotation("_In_")] UINT8 Stencil,
- [annotation("_In_")] UINT NumRects,
- [annotation("_In_reads_(NumRects)")] const D3D12_RECT* pRects
- );
-
- void ClearRenderTargetView(
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- [annotation("_In_")] const FLOAT ColorRGBA[4],
- [annotation("_In_")] UINT NumRects,
- [annotation("_In_reads_(NumRects)")] const D3D12_RECT* pRects
- );
-
- void ClearUnorderedAccessViewUint(
- [annotation("_In_")] D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- [annotation("_In_")] ID3D12Resource* pResource,
- [annotation("_In_")] const UINT Values[4],
- [annotation("_In_")] UINT NumRects,
- [annotation("_In_reads_(NumRects)")] const D3D12_RECT* pRects
- );
-
- void ClearUnorderedAccessViewFloat(
- [annotation("_In_")] D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- [annotation("_In_")] ID3D12Resource* pResource,
- [annotation("_In_")] const FLOAT Values[4],
- [annotation("_In_")] UINT NumRects,
- [annotation("_In_reads_(NumRects)")] const D3D12_RECT* pRects
- );
-
- void DiscardResource(
- [annotation("_In_")] ID3D12Resource* pResource,
- [annotation("_In_opt_")] const D3D12_DISCARD_REGION* pRegion
- );
-
- void BeginQuery(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT Index
- );
-
- void EndQuery(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT Index
- );
-
- void ResolveQueryData(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT StartIndex,
- [annotation("_In_")] UINT NumQueries,
- [annotation("_In_")] ID3D12Resource* pDestinationBuffer,
- [annotation("_In_")] UINT64 AlignedDestinationBufferOffset
- );
-
- void SetPredication(
- [annotation("_In_opt_")] ID3D12Resource* pBuffer,
- [annotation("_In_")] UINT64 AlignedBufferOffset,
- [annotation("_In_")] D3D12_PREDICATION_OP Operation
- );
-
- void SetMarker(UINT Metadata, [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, UINT Size);
- void BeginEvent(UINT Metadata, [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, UINT Size);
- void EndEvent();
-
- void ExecuteIndirect(
- [annotation("_In_")] ID3D12CommandSignature* pCommandSignature,
- [annotation("_In_")] UINT MaxCommandCount,
- [annotation("_In_")] ID3D12Resource* pArgumentBuffer,
- [annotation("_In_")] UINT64 ArgumentBufferOffset,
- [annotation("_In_opt_")] ID3D12Resource* pCountBuffer,
- [annotation("_In_")] UINT64 CountBufferOffset
- );
-}
-
-[ uuid( 553103fb-1fe7-4557-bb38-946d7d0e7ca7 ), object, local, pointer_default( unique ) ]
-interface ID3D12GraphicsCommandList1
- : ID3D12GraphicsCommandList
-{
- void AtomicCopyBufferUINT(
- [annotation("_In_")] ID3D12Resource* pDstBuffer,
- UINT64 DstOffset,
- [annotation("_In_")] ID3D12Resource* pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies, // 0 Dependencies means only the dst buffer offset is synchronized
- [annotation("_In_reads_(Dependencies)")] ID3D12Resource*const* ppDependentResources,
- [annotation("_In_reads_(Dependencies)")] const D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges
- );
-
- // UINT64 is only valid on UMA architectures
- void AtomicCopyBufferUINT64(
- [annotation("_In_")] ID3D12Resource* pDstBuffer,
- UINT64 DstOffset,
- [annotation("_In_")] ID3D12Resource* pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies, // 0 Dependencies means only the dst buffer offset is synchronized
- [annotation("_In_reads_(Dependencies)")] ID3D12Resource*const* ppDependentResources,
- [annotation("_In_reads_(Dependencies)")] const D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges
- );
-
- void OMSetDepthBounds(
- [annotation("_In_")] FLOAT Min,
- [annotation("_In_")] FLOAT Max
- );
-
- void SetSamplePositions(
- [annotation("_In_")] UINT NumSamplesPerPixel,
- [annotation("_In_")] UINT NumPixels,
- [annotation("_In_reads_(NumSamplesPerPixel*NumPixels)")] D3D12_SAMPLE_POSITION* pSamplePositions
- );
-
- void ResolveSubresourceRegion(
- [annotation("_In_")] ID3D12Resource* pDstResource,
- [annotation("_In_")] UINT DstSubresource,
- [annotation("_In_")] UINT DstX,
- [annotation("_In_")] UINT DstY,
- [annotation("_In_")] ID3D12Resource* pSrcResource,
- [annotation("_In_")] UINT SrcSubresource,
- [annotation("_In_opt_")] D3D12_RECT* pSrcRect,
- [annotation("_In_")] DXGI_FORMAT Format,
- [annotation("_In_")] D3D12_RESOLVE_MODE ResolveMode
- );
-
- void SetViewInstanceMask(
- [annotation("_In_")] UINT Mask
- );
-
-}
-
-typedef struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER
-{
- D3D12_GPU_VIRTUAL_ADDRESS Dest;
- UINT32 Value;
-} D3D12_WRITEBUFFERIMMEDIATE_PARAMETER;
-
-typedef enum D3D12_WRITEBUFFERIMMEDIATE_MODE
-{
- D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT = 0x0,
- D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN = 0x1,
- D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT = 0x2,
-
-} D3D12_WRITEBUFFERIMMEDIATE_MODE;
-
-[uuid(38C3E585-FF17-412C-9150-4FC6F9D72A28), object, local, pointer_default(unique)]
-interface ID3D12GraphicsCommandList2 : ID3D12GraphicsCommandList1
-{
- void WriteBufferImmediate(
- UINT Count,
- [annotation("_In_reads_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- [annotation("_In_reads_opt_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes
- );
-}
-
-[ uuid( 0ec870a6-5d7e-4c22-8cfc-5baae07616ed ), object, local, pointer_default( unique ) ]
-interface ID3D12CommandQueue
- : ID3D12Pageable
-{
- void UpdateTileMappings(
- [annotation("_In_")] ID3D12Resource* pResource,
- UINT NumResourceRegions,
- [annotation("_In_reads_opt_(NumResourceRegions)")] const D3D12_TILED_RESOURCE_COORDINATE* pResourceRegionStartCoordinates,
- [annotation("_In_reads_opt_(NumResourceRegions)")] const D3D12_TILE_REGION_SIZE* pResourceRegionSizes,
- [annotation("_In_opt_")] ID3D12Heap* pHeap,
- UINT NumRanges,
- [annotation("_In_reads_opt_(NumRanges)")] const D3D12_TILE_RANGE_FLAGS* pRangeFlags,
- [annotation("_In_reads_opt_(NumRanges)")] const UINT* pHeapRangeStartOffsets,
- [annotation("_In_reads_opt_(NumRanges)")] const UINT* pRangeTileCounts,
- D3D12_TILE_MAPPING_FLAGS Flags );
-
- void CopyTileMappings(
- [annotation("_In_")] ID3D12Resource* pDstResource,
- [annotation("_In_")] const D3D12_TILED_RESOURCE_COORDINATE* pDstRegionStartCoordinate,
- [annotation("_In_")] ID3D12Resource* pSrcResource,
- [annotation("_In_")] const D3D12_TILED_RESOURCE_COORDINATE* pSrcRegionStartCoordinate,
- [annotation("_In_")] const D3D12_TILE_REGION_SIZE* pRegionSize,
- D3D12_TILE_MAPPING_FLAGS Flags );
-
- void ExecuteCommandLists(
- [annotation("_In_")] UINT NumCommandLists,
- [annotation("_In_reads_(NumCommandLists)")] ID3D12CommandList * const * ppCommandLists
- );
-
- void SetMarker(UINT Metadata, [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, UINT Size);
- void BeginEvent(UINT Metadata, [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, UINT Size);
- void EndEvent();
-
- HRESULT Signal(ID3D12Fence* pFence, UINT64 Value);
- HRESULT Wait(ID3D12Fence* pFence, UINT64 Value);
-
- HRESULT GetTimestampFrequency(
- [annotation("_Out_")] UINT64* pFrequency
- );
-
- HRESULT GetClockCalibration(
- [annotation("_Out_")] UINT64* pGpuTimestamp,
- [annotation("_Out_")] UINT64* pCpuTimestamp
- );
-
- D3D12_COMMAND_QUEUE_DESC GetDesc();
-}
-
-//--------------------------------------------------------------------------------------------------------
-// The system LUID struct isn't defined in wtypes, so we repeat it here just
-// for the MIDL compiler.
-cpp_quote("#ifdef __midl")
-cpp_quote("#ifndef LUID_DEFINED")
-cpp_quote("#define LUID_DEFINED 1")
-typedef struct __LUID {
- DWORD LowPart;
- LONG HighPart;
-} LUID, *PLUID;
-cpp_quote("#endif")
-cpp_quote("#endif")
-
-[ uuid( 189819f1-1db6-4b57-be54-1821339b85f7 ), object, local, pointer_default( unique ) ]
-interface ID3D12Device
- : ID3D12Object
-{
- UINT GetNodeCount();
-
- HRESULT CreateCommandQueue(
- [annotation("_In_")] const D3D12_COMMAND_QUEUE_DESC* pDesc,
- [in] REFIID riid, // Expected: ID3D12CommandQueue
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppCommandQueue
- );
-
- HRESULT CreateCommandAllocator(
- [annotation("_In_")] D3D12_COMMAND_LIST_TYPE type,
- [in] REFIID riid, // Expected: ID3D12CommandAllocator
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppCommandAllocator
- );
-
- HRESULT CreateGraphicsPipelineState(
- [annotation("_In_")] const D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc,
- [in] REFIID riid, // Expected: ID3D12PipelineState
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState
- );
-
- HRESULT CreateComputePipelineState(
- [annotation("_In_")] const D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc,
- [in] REFIID riid, // Expected: ID3D12PipelineState
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState
- );
-
- HRESULT CreateCommandList(
- [annotation("_In_")] UINT nodeMask,
- [annotation("_In_")] D3D12_COMMAND_LIST_TYPE type,
- [annotation("_In_")] ID3D12CommandAllocator* pCommandAllocator,
- [annotation("_In_opt_")] ID3D12PipelineState* pInitialState,
- [in] REFIID riid, // Expected: ID3D12CommandList
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppCommandList
- );
-
- HRESULT CheckFeatureSupport(
- D3D12_FEATURE Feature,
- [annotation("_Inout_updates_bytes_(FeatureSupportDataSize)")] void* pFeatureSupportData,
- UINT FeatureSupportDataSize
- );
-
- HRESULT CreateDescriptorHeap(
- [annotation("_In_")] const D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc,
- [in] REFIID riid, // Expected ID3D12DescriptorHeap
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvHeap);
-
- UINT GetDescriptorHandleIncrementSize(
- [annotation("_In_")] D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- HRESULT CreateRootSignature(
- [annotation("_In_")] UINT nodeMask,
- [annotation("_In_reads_(blobLengthInBytes)")] const void* pBlobWithRootSignature,
- [annotation("_In_")] SIZE_T blobLengthInBytes,
- [in] REFIID riid, // Expected ID3D12RootSignature
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvRootSignature);
-
- void CreateConstantBufferView(
- [annotation("_In_opt_")] const D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void CreateShaderResourceView(
- [annotation("_In_opt_")] ID3D12Resource* pResource,
- [annotation("_In_opt_")] const D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void CreateUnorderedAccessView(
- [annotation("_In_opt_")] ID3D12Resource* pResource,
- [annotation("_In_opt_")] ID3D12Resource* pCounterResource,
- [annotation("_In_opt_")] const D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void CreateRenderTargetView(
- [annotation("_In_opt_")] ID3D12Resource* pResource,
- [annotation("_In_opt_")] const D3D12_RENDER_TARGET_VIEW_DESC* pDesc,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void CreateDepthStencilView(
- [annotation("_In_opt_")] ID3D12Resource* pResource,
- [annotation("_In_opt_")] const D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void CreateSampler(
- [annotation("_In_")] const D3D12_SAMPLER_DESC* pDesc,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void CopyDescriptors(
- [annotation("_In_")] UINT NumDestDescriptorRanges,
- [annotation("_In_reads_(NumDestDescriptorRanges)")] const D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts,
- [annotation("_In_reads_opt_(NumDestDescriptorRanges)")] const UINT* pDestDescriptorRangeSizes, // NULL means all ranges 1
- [annotation("_In_")] UINT NumSrcDescriptorRanges,
- [annotation("_In_reads_(NumSrcDescriptorRanges)")] const D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts,
- [annotation("_In_reads_opt_(NumSrcDescriptorRanges)")] const UINT* pSrcDescriptorRangeSizes, // NULL means all ranges 1
- [annotation("_In_")] D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- void CopyDescriptorsSimple(
- [annotation("_In_")] UINT NumDescriptors,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- [annotation("_In_")] D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo(
- [annotation("_In_")] UINT visibleMask,
- [annotation("_In_")] UINT numResourceDescs,
- [annotation("_In_reads_(numResourceDescs)")] const D3D12_RESOURCE_DESC* pResourceDescs );
-
- D3D12_HEAP_PROPERTIES GetCustomHeapProperties(
- [annotation("_In_")] UINT nodeMask,
- D3D12_HEAP_TYPE heapType
- );
-
- HRESULT CreateCommittedResource(
- [annotation("_In_")] const D3D12_HEAP_PROPERTIES* pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
- [in] REFIID riidResource, // Expected: ID3D12Resource*
- [out, iid_is(riidResource), annotation("_COM_Outptr_opt_")] void** ppvResource );
-
- HRESULT CreateHeap(
- [annotation("_In_")] const D3D12_HEAP_DESC* pDesc,
- [in] REFIID riid, // Expected: ID3D12Heap*
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvHeap );
-
- HRESULT CreatePlacedResource(
- [annotation("_In_")] ID3D12Heap* pHeap,
- UINT64 HeapOffset,
- [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc,
- D3D12_RESOURCE_STATES InitialState,
- [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
- [in] REFIID riid, // Expected: ID3D12Resource*
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource );
-
- HRESULT CreateReservedResource(
- [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc,
- D3D12_RESOURCE_STATES InitialState,
- [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
- [in] REFIID riid, // Expected: ID3D12Resource*
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource );
-
- HRESULT CreateSharedHandle(
- [annotation("_In_")] ID3D12DeviceChild* pObject,
- [annotation("_In_opt_")] const SECURITY_ATTRIBUTES* pAttributes,
- DWORD Access,
- [annotation("_In_opt_")] LPCWSTR Name,
- [annotation("_Out_")] HANDLE* pHandle );
-
- HRESULT OpenSharedHandle(
- [annotation("_In_")] HANDLE NTHandle,
- [in] REFIID riid, // Expected: ID3D12Resource*, ID3D12Heap*, or ID3D12Fence
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvObj );
-
- HRESULT OpenSharedHandleByName(
- [annotation("_In_")] LPCWSTR Name,
- DWORD Access,
- [out, annotation("_Out_")] HANDLE* pNTHandle );
-
- HRESULT MakeResident(
- UINT NumObjects,
- [annotation("_In_reads_(NumObjects)")] ID3D12Pageable*const* ppObjects );
-
- HRESULT Evict(
- UINT NumObjects,
- [annotation("_In_reads_(NumObjects)")] ID3D12Pageable*const* ppObjects );
-
- HRESULT CreateFence(
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- [in] REFIID riid, // Expected: ID3D12Fence
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppFence);
-
- HRESULT GetDeviceRemovedReason();
-
- void GetCopyableFootprints(
- [annotation("_In_")] const D3D12_RESOURCE_DESC* pResourceDesc,
- [annotation("_In_range_(0,D3D12_REQ_SUBRESOURCES)")] UINT FirstSubresource,
- [annotation("_In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource)")] UINT NumSubresources,
- UINT64 BaseOffset,
- [annotation("_Out_writes_opt_(NumSubresources)")] D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts,
- [annotation("_Out_writes_opt_(NumSubresources)")] UINT* pNumRows,
- [annotation("_Out_writes_opt_(NumSubresources)")] UINT64* pRowSizeInBytes,
- [annotation("_Out_opt_")] UINT64* pTotalBytes );
-
- HRESULT CreateQueryHeap(
- [annotation("_In_")] const D3D12_QUERY_HEAP_DESC* pDesc,
- [in] REFIID riid, // Expected: ID3D12QueryHeap
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvHeap
- );
-
- HRESULT SetStablePowerState(BOOL Enable);
-
- HRESULT CreateCommandSignature(
- [annotation("_In_")] const D3D12_COMMAND_SIGNATURE_DESC* pDesc,
- [annotation("_In_opt_")] ID3D12RootSignature* pRootSignature,
- [in] REFIID riid, // Expected: ID3D12CommandSignature
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvCommandSignature
- );
-
- void GetResourceTiling(
- [annotation("_In_")] ID3D12Resource* pTiledResource,
- [annotation("_Out_opt_")] UINT* pNumTilesForEntireResource,
- [annotation("_Out_opt_")] D3D12_PACKED_MIP_INFO* pPackedMipDesc,
- [annotation("_Out_opt_")] D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips,
- [annotation("_Inout_opt_")] UINT* pNumSubresourceTilings,
- [annotation("_In_")] UINT FirstSubresourceTilingToGet,
- [annotation("_Out_writes_(*pNumSubresourceTilings)")] D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips
- );
-
- LUID GetAdapterLuid();
-}
-
-// D3D12 Revision 1
-[ uuid( c64226a8-9201-46af-b4cc-53fb9ff7414f ), object, local, pointer_default( unique ) ]
-interface ID3D12PipelineLibrary
- : ID3D12DeviceChild
-{
- HRESULT StorePipeline(
- [annotation("_In_opt_")] LPCWSTR pName,
- [annotation("_In_")] ID3D12PipelineState *pPipeline
- );
-
- HRESULT LoadGraphicsPipeline(
- [annotation("_In_")] LPCWSTR pName,
- [annotation("_In_")] const D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc,
- [in] REFIID riid, // Expected: ID3D12PipelineState
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState
- );
-
- HRESULT LoadComputePipeline(
- [annotation("_In_")] LPCWSTR pName,
- [annotation("_In_")] const D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc,
- [in] REFIID riid, // Expected: ID3D12PipelineState
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState
- );
-
- SIZE_T GetSerializedSize();
-
- HRESULT Serialize(
- [annotation("_Out_writes_(DataSizeInBytes)")] void* pData,
- SIZE_T DataSizeInBytes
- );
-}
-
-// Pipeline State v2
-[ uuid( 80eabf42-2568-4e5e-bd82-c37f86961dc3 ), object, local, pointer_default( unique ) ]
-interface ID3D12PipelineLibrary1
- : ID3D12PipelineLibrary
-{
- HRESULT LoadPipeline(
- [annotation("_In_")] LPCWSTR pName,
- [annotation("_In_")] const D3D12_PIPELINE_STATE_STREAM_DESC* pDesc,
- [in] REFIID riid, // Expected: ID3D12PipelineState
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState
- );
-}
-
-typedef enum D3D12_MULTIPLE_FENCE_WAIT_FLAGS
-{
- D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0x0,
- D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 0x1,
-
- D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0x0, // Alias, default behavior is ALL
-} D3D12_MULTIPLE_FENCE_WAIT_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTIPLE_FENCE_WAIT_FLAGS )" )
-
-// Applications may use the whole value range of UINT for a priority.
-// These names are merely semantic suggestions.
-typedef enum D3D12_RESIDENCY_PRIORITY
-{
- D3D12_RESIDENCY_PRIORITY_MINIMUM = 0x28000000,
- D3D12_RESIDENCY_PRIORITY_LOW = 0x50000000,
- D3D12_RESIDENCY_PRIORITY_NORMAL = 0x78000000,
- D3D12_RESIDENCY_PRIORITY_HIGH = 0xa0010000,
- D3D12_RESIDENCY_PRIORITY_MAXIMUM = 0xc8000000,
-} D3D12_RESIDENCY_PRIORITY;
-
-[uuid(77acce80-638e-4e65-8895-c1f23386863e), object, local, pointer_default(unique)]
-interface ID3D12Device1
- : ID3D12Device
-{
- HRESULT CreatePipelineLibrary(
- [annotation("_In_reads_(BlobLength)")] const void *pLibraryBlob,
- SIZE_T BlobLength,
- [in] REFIID riid, // Expected: ID3D12PipelineLibrary
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineLibrary
- );
-
- HRESULT SetEventOnMultipleFenceCompletion(
- [annotation("_In_reads_(NumFences)")] ID3D12Fence* const* ppFences,
- [annotation("_In_reads_(NumFences)")] const UINT64* pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent
- );
-
- HRESULT SetResidencyPriority(
- UINT NumObjects,
- [annotation("_In_reads_(NumObjects)")] ID3D12Pageable*const* ppObjects,
- [annotation("_In_reads_(NumObjects)")] const D3D12_RESIDENCY_PRIORITY* pPriorities );
-}
-
-[uuid(30baa41e-b15b-475c-a0bb-1af5c5b64328), object, local, pointer_default(unique)]
-interface ID3D12Device2
- : ID3D12Device1
-{
- HRESULT CreatePipelineState(
- [in] const D3D12_PIPELINE_STATE_STREAM_DESC* pDesc,
- [in] REFIID riid, // Can be any pipeline state interface, provided the pipeline subobjects match
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState
- );
-}
-
-typedef enum D3D12_RESIDENCY_FLAGS
-{
- D3D12_RESIDENCY_FLAG_NONE = 0x0,
- D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = 0x1,
-} D3D12_RESIDENCY_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESIDENCY_FLAGS )" )
-
-[uuid(81dadc15-2bad-4392-93c5-101345c4aa98), object, local, pointer_default(unique)]
-interface ID3D12Device3
- : ID3D12Device2
-{
- HRESULT OpenExistingHeapFromAddress(
- [annotation("_In_")] const void* pAddress,
- [in] REFIID riid, // Expected: ID3D12Heap
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvHeap
- );
- HRESULT OpenExistingHeapFromFileMapping(
- [annotation("_In_")] HANDLE hFileMapping,
- [in] REFIID riid, // Expected: ID3D12Heap
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvHeap
- );
- HRESULT EnqueueMakeResident(
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- [annotation("_In_reads_(NumObjects)")] ID3D12Pageable*const* ppObjects,
- [annotation("_In_")] ID3D12Fence* pFenceToSignal,
- UINT64 FenceValueToSignal
- );
-}
-
-typedef enum D3D12_COMMAND_LIST_FLAGS
-{
- D3D12_COMMAND_LIST_FLAG_NONE = 0x0,
-} D3D12_COMMAND_LIST_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_FLAGS )")
-
-
-typedef enum D3D12_COMMAND_POOL_FLAGS
-{
- D3D12_COMMAND_POOL_FLAG_NONE = 0x0,
-
-} D3D12_COMMAND_POOL_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_POOL_FLAGS )")
-
-typedef enum D3D12_COMMAND_RECORDER_FLAGS
-{
- D3D12_COMMAND_RECORDER_FLAG_NONE = 0x0,
-
-} D3D12_COMMAND_RECORDER_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_RECORDER_FLAGS )")
-
-typedef enum D3D12_PROTECTED_SESSION_STATUS
-{
- D3D12_PROTECTED_SESSION_STATUS_OK = 0,
- D3D12_PROTECTED_SESSION_STATUS_INVALID = 1,
-} D3D12_PROTECTED_SESSION_STATUS;
-
-[uuid(A1533D18-0AC1-4084-85B9-89A96116806B), object, local, pointer_default(unique)]
-interface ID3D12ProtectedSession
- : ID3D12DeviceChild
-{
- HRESULT GetStatusFence(
- [in] REFIID riid,
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppFence);
-
- D3D12_PROTECTED_SESSION_STATUS GetSessionStatus();
-}
-
-typedef enum D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS
-{
- D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE = 0x0,
- D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED = 0x1,
-
-} D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS )")
-
-typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT
-{
- UINT NodeIndex; // input
- D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS Support; // output
-} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT;
-
-typedef enum D3D12_PROTECTED_RESOURCE_SESSION_FLAGS
-{
- D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0x0,
-
-} D3D12_PROTECTED_RESOURCE_SESSION_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_FLAGS )")
-
-typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC
-{
- UINT NodeMask;
- D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
-} D3D12_PROTECTED_RESOURCE_SESSION_DESC;
-
-[uuid(6CD696F4-F289-40CC-8091-5A6C0A099C3D), object, local, pointer_default(unique)]
-interface ID3D12ProtectedResourceSession
- : ID3D12ProtectedSession
-{
- D3D12_PROTECTED_RESOURCE_SESSION_DESC GetDesc();
-}
-
-[uuid(e865df17-a9ee-46f9-a463-3098315aa2e5), object, local, pointer_default(unique)]
-interface ID3D12Device4
- : ID3D12Device3
-{
- HRESULT CreateCommandList1(
- [annotation("_In_")] UINT nodeMask,
- [annotation("_In_")] D3D12_COMMAND_LIST_TYPE type,
- [annotation("_In_")] D3D12_COMMAND_LIST_FLAGS flags,
- [in] REFIID riid, // Expected: ID3D12CommandList
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppCommandList
- );
-
- HRESULT CreateProtectedResourceSession(
- [annotation("_In_")] const D3D12_PROTECTED_RESOURCE_SESSION_DESC* pDesc,
- [annotation("_In_")] REFIID riid, // Expected: ID3D12ProtectedResourceSession,
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppSession
- );
-
- HRESULT CreateCommittedResource1(
- [annotation("_In_")] const D3D12_HEAP_PROPERTIES* pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedSession,
- [in] REFIID riidResource, // Expected: ID3D12Resource1*
- [out, iid_is(riidResource), annotation("_COM_Outptr_opt_")] void** ppvResource
- );
-
- HRESULT CreateHeap1(
- [annotation("_In_")] const D3D12_HEAP_DESC* pDesc,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedSession,
- [in] REFIID riid, // Expected: ID3D12Heap1*
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvHeap
- );
-
- HRESULT CreateReservedResource1(
- [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc,
- D3D12_RESOURCE_STATES InitialState,
- [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedSession,
- [in] REFIID riid, // Expected: ID3D12Resource1*
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource
- );
-
- D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1(
- UINT visibleMask,
- UINT numResourceDescs,
- [annotation("_In_reads_(numResourceDescs)")] const D3D12_RESOURCE_DESC* pResourceDescs,
- [annotation("_Out_writes_opt_(numResourceDescs)")] D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1
- );
-}
-
-typedef enum D3D12_LIFETIME_STATE
-{
- D3D12_LIFETIME_STATE_IN_USE,
- D3D12_LIFETIME_STATE_NOT_IN_USE,
-} D3D12_LIFETIME_STATE;
-
-interface ID3D12LifetimeTracker;
-
-[uuid(e667af9f-cd56-4f46-83ce-032e595d70a8), object, local, pointer_default(unique)]
-interface ID3D12LifetimeOwner : IUnknown
-{
- void LifetimeStateUpdated(D3D12_LIFETIME_STATE NewState);
-}
-
-[uuid(f1df64b6-57fd-49cd-8807-c0eb88b45c8f), object, local, pointer_default(unique)]
-interface ID3D12SwapChainAssistant
- : IUnknown
-{
- LUID GetLUID();
- HRESULT GetSwapChainObject(REFIID riid, [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppv);
- HRESULT GetCurrentResourceAndCommandQueue(REFIID riidResource, [out, iid_is(riidResource), annotation("_COM_Outptr_")] void** ppvResource,
- REFIID riidQueue, [out, iid_is(riidQueue), annotation("_COM_Outptr_")] void** ppvQueue);
- HRESULT InsertImplicitSync();
-}
-
-[uuid(3fd03d36-4eb1-424a-a582-494ecb8ba813), object, local, pointer_default(unique)]
-interface ID3D12LifetimeTracker
- : ID3D12DeviceChild
-{
- HRESULT DestroyOwnedObject([annotation("_In_")] ID3D12DeviceChild* pObject);
-}
-
-typedef enum D3D12_META_COMMAND_PARAMETER_TYPE
-{
- D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT = 0,
- D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 = 1,
- D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS = 2,
- D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 3,
- D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 4,
-} D3D12_META_COMMAND_PARAMETER_TYPE;
-
-typedef enum D3D12_META_COMMAND_PARAMETER_FLAGS
-{
- D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = 0x00000001,
- D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = 0x00000002
-} D3D12_META_COMMAND_PARAMETER_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_META_COMMAND_PARAMETER_FLAGS )")
-
-typedef enum D3D12_META_COMMAND_PARAMETER_STAGE
-{
- D3D12_META_COMMAND_PARAMETER_STAGE_CREATION = 0,
- D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1,
- D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION = 2,
-} D3D12_META_COMMAND_PARAMETER_STAGE;
-
-typedef struct D3D12_META_COMMAND_PARAMETER_DESC
-{
- LPCWSTR Name;
- D3D12_META_COMMAND_PARAMETER_TYPE Type;
- D3D12_META_COMMAND_PARAMETER_FLAGS Flags;
- D3D12_RESOURCE_STATES RequiredResourceState;
- UINT StructureOffset;
-} D3D12_META_COMMAND_PARAMETER_DESC;
-
-typedef enum D3D12_GRAPHICS_STATES
-{
- D3D12_GRAPHICS_STATE_NONE = 0,
- D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = (1 << 0),
- D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = (1 << 1),
- D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = (1 << 2),
- D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = (1 << 3),
- D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = (1 << 4),
- D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = (1 << 5),
- D3D12_GRAPHICS_STATE_RS_VIEWPORTS = (1 << 6),
- D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = (1 << 7),
- D3D12_GRAPHICS_STATE_PREDICATION = (1 << 8),
- D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = (1 << 9),
- D3D12_GRAPHICS_STATE_OM_STENCIL_REF = (1 << 10),
- D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = (1 << 11),
- D3D12_GRAPHICS_STATE_PIPELINE_STATE = (1 << 12),
- D3D12_GRAPHICS_STATE_SO_TARGETS = (1 << 13),
- D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = (1 << 14),
- D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = (1 << 15),
- D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = (1 << 16),
-
-} D3D12_GRAPHICS_STATES;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_GRAPHICS_STATES )")
-
-typedef struct D3D12_META_COMMAND_DESC
-{
- GUID Id;
- LPCWSTR Name;
- D3D12_GRAPHICS_STATES InitializationDirtyState;
- D3D12_GRAPHICS_STATES ExecutionDirtyState;
-} D3D12_META_COMMAND_DESC;
-
-[uuid(47016943-fca8-4594-93ea-af258b55346d), object, local, pointer_default(unique)]
-interface ID3D12StateObject
- : ID3D12Pageable
-{
-}
-
-[uuid(de5fa827-9bf9-4f26-89ff-d7f56fde3860), object, local, pointer_default(unique)]
-interface ID3D12StateObjectProperties
- : IUnknown
-{
- void* GetShaderIdentifier([annotation("_In_")] LPCWSTR pExportName);
- UINT64 GetShaderStackSize([annotation("_In_")] LPCWSTR pExportName);
- UINT64 GetPipelineStackSize();
- void SetPipelineStackSize(UINT64 PipelineStackSizeInBytes);
-}
-
-typedef struct D3D12_PROGRAM_IDENTIFIER
-{
- UINT64 OpaqueData[4];
-} D3D12_PROGRAM_IDENTIFIER;
-
-[uuid(460caac7-1d24-446a-a184-ca67db494138), object, local, pointer_default(unique)]
-interface ID3D12StateObjectProperties1
- : ID3D12StateObjectProperties
-{
- D3D12_PROGRAM_IDENTIFIER GetProgramIdentifier(LPCWSTR pProgramName);
-}
-
-typedef struct D3D12_NODE_ID
-{
- LPCWSTR Name;
- UINT ArrayIndex;
-} D3D12_NODE_ID;
-
-typedef struct D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS
-{
- UINT64 MinSizeInBytes;
- UINT64 MaxSizeInBytes;
- UINT SizeGranularityInBytes;
-} D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS;
-
-[uuid(065acf71-f863-4b89-82f4-02e4d5886757), object, local, pointer_default(unique)]
-interface ID3D12WorkGraphProperties : IUnknown
-{
- UINT GetNumWorkGraphs();
- LPCWSTR GetProgramName(UINT WorkGraphIndex);
- UINT GetWorkGraphIndex(LPCWSTR pProgramName);
-
- UINT GetNumNodes(UINT WorkGraphIndex);
- D3D12_NODE_ID GetNodeID(UINT WorkGraphIndex, UINT NodeIndex);
- UINT GetNodeIndex(UINT WorkGraphIndex, D3D12_NODE_ID NodeID);
- UINT GetNodeLocalRootArgumentsTableIndex(UINT WorkGraphIndex, UINT NodeIndex);
-
- UINT GetNumEntrypoints(UINT WorkGraphIndex);
- D3D12_NODE_ID GetEntrypointID(UINT WorkGraphIndex, UINT EntrypointIndex);
- UINT GetEntrypointIndex(UINT WorkGraphIndex, D3D12_NODE_ID NodeID);
- UINT GetEntrypointRecordSizeInBytes(UINT WorkGraphIndex, UINT EntrypointIndex);
-
- void GetWorkGraphMemoryRequirements(
- UINT WorkGraphIndex,
- [annotation("_Out_")] D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS* pWorkGraphMemoryRequirements);
-
- UINT GetEntrypointRecordAlignmentInBytes(UINT WorkGraphIndex, UINT EntrypointIndex);
-}
-
-typedef enum D3D12_STATE_SUBOBJECT_TYPE
-{
- D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = 0, // D3D12_STATE_OBJECT_CONFIG
- D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = 1, // D3D12_GLOBAL_ROOT_SIGNATURE
- D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = 2, // D3D12_LOCAL_ROOT_SIGNATURE
- D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = 3, // D3D12_NODE_MASK
- // 4 unused
- D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = 5, // D3D12_DXIL_LIBRARY_DESC
- D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = 6, // D3D12_EXISTING_COLLECTION_DESC
- D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 7, // D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION
- D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 8, // D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION
- D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 9, // D3D12_RAYTRACING_SHADER_CONFIG
- D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 10, // D3D12_RAYTRACING_PIPELINE_CONFIG
- D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 11, // D3D12_HIT_GROUP_DESC
- D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = 12, // D3D12_RAYTRACING_PIPELINE_CONFIG1
- D3D12_STATE_SUBOBJECT_TYPE_WORK_GRAPH = 13, // D3D12_WORK_GRAPH_DESC
- D3D12_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = 14, // D3D12_STREAM_OUTPUT_DESC
- D3D12_STATE_SUBOBJECT_TYPE_BLEND = 15, // D3D12_BLEND_DESC
- D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = 16, // UINT
- D3D12_STATE_SUBOBJECT_TYPE_RASTERIZER = 17, // D3D12_RASTERIZER_DESC2
- D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = 18, // D3D12_DEPTH_STENCIL_DESC
- D3D12_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = 19, // D3D12_INPUT_LAYOUT_DESC
- D3D12_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = 20, // D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
- D3D12_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = 21, // D3D12_PRIMITIVE_TOPOLOGY_TYPE
- D3D12_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = 22, // D3D12_RT_FORMAT_ARRAY
- D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = 23, // DXGI_FORMAT
- D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = 24, // DXGI_SAMPLE_DESC
- // 25 is unused
- D3D12_STATE_SUBOBJECT_TYPE_FLAGS = 26, // D3D12_PIPELINE_STATE_FLAGS
- D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = 27, // D3D12_DEPTH_STENCIL_DESC1
- D3D12_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = 28, // D3D12_VIEW_INSTANCING_DESC
- D3D12_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM = 29, // D3D12_GENERIC_PROGRAM_DESC
- D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 30, // D3D12_DEPTH_STENCIL_DESC2
-
- D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID,
-} D3D12_STATE_SUBOBJECT_TYPE;
-
-typedef struct D3D12_STATE_SUBOBJECT
-{
- D3D12_STATE_SUBOBJECT_TYPE Type;
- const void* pDesc;
-} D3D12_STATE_SUBOBJECT;
-
-typedef enum D3D12_STATE_OBJECT_FLAGS
-{
- D3D12_STATE_OBJECT_FLAG_NONE = 0x0,
- D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1,
- D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2,
- D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS = 0x4,
-} D3D12_STATE_OBJECT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_STATE_OBJECT_FLAGS )")
-
-typedef struct D3D12_STATE_OBJECT_CONFIG
-{
- D3D12_STATE_OBJECT_FLAGS Flags;
-} D3D12_STATE_OBJECT_CONFIG;
-
-typedef struct D3D12_GLOBAL_ROOT_SIGNATURE
-{
- ID3D12RootSignature* pGlobalRootSignature;
-} D3D12_GLOBAL_ROOT_SIGNATURE;
-
-typedef struct D3D12_LOCAL_ROOT_SIGNATURE
-{
- ID3D12RootSignature* pLocalRootSignature;
-} D3D12_LOCAL_ROOT_SIGNATURE;
-
-typedef struct D3D12_NODE_MASK
-{
- UINT NodeMask;
-} D3D12_NODE_MASK;
-
-typedef struct D3D12_SAMPLE_MASK
-{
- UINT SampleMask;
-} D3D12_SAMPLE_MASK;
-
-typedef struct D3D12_IB_STRIP_CUT_VALUE
-{
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IndexBufferStripCutValue;
-} D3D12_IB_STRIP_CUT_VALUE;
-
-typedef struct D3D12_PRIMITIVE_TOPOLOGY_DESC
-{
- D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopology;
-} D3D12_PRIMITIVE_TOPOLOGY_DESC;
-
-typedef struct D3D12_DEPTH_STENCIL_FORMAT
-{
- DXGI_FORMAT DepthStencilFormat;
-} D3D12_DEPTH_STENCIL_FORMAT;
-
-typedef enum D3D12_EXPORT_FLAGS
-{
- D3D12_EXPORT_FLAG_NONE = 0x0,
-} D3D12_EXPORT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_EXPORT_FLAGS )")
-
-typedef struct D3D12_EXPORT_DESC
-{
- LPCWSTR Name;
- [annotation("_In_opt_")] LPCWSTR ExportToRename;
- D3D12_EXPORT_FLAGS Flags;
-} D3D12_EXPORT_DESC;
-
-typedef struct D3D12_DXIL_LIBRARY_DESC
-{
- D3D12_SHADER_BYTECODE DXILLibrary;
- UINT NumExports; // Optional, if 0 all exports in the library/collection will be surfaced
- [annotation("_In_reads_(NumExports)")] const D3D12_EXPORT_DESC* pExports;
-} D3D12_DXIL_LIBRARY_DESC;
-
-typedef struct D3D12_EXISTING_COLLECTION_DESC
-{
- ID3D12StateObject* pExistingCollection;
- UINT NumExports; // Optional, if 0 all exports in the library/collection will be surfaced
- [annotation("_In_reads_(NumExports)")] const D3D12_EXPORT_DESC* pExports;
-} D3D12_EXISTING_COLLECTION_DESC;
-
-typedef struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION
-{
- const D3D12_STATE_SUBOBJECT* pSubobjectToAssociate;
- UINT NumExports;
- [annotation("_In_reads_(NumExports)")] LPCWSTR* pExports;
-} D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
-
-typedef struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION
-{
- LPCWSTR SubobjectToAssociate;
- UINT NumExports;
- [annotation("_In_reads_(NumExports)")] LPCWSTR* pExports;
-} D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
-
-typedef enum D3D12_HIT_GROUP_TYPE
-{
- D3D12_HIT_GROUP_TYPE_TRIANGLES = 0x0,
- D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE = 0x1,
-} D3D12_HIT_GROUP_TYPE;
-
-typedef struct D3D12_HIT_GROUP_DESC
-{
- LPCWSTR HitGroupExport;
- D3D12_HIT_GROUP_TYPE Type;
- [annotation("_In_opt_")] LPCWSTR AnyHitShaderImport;
- [annotation("_In_opt_")] LPCWSTR ClosestHitShaderImport;
- [annotation("_In_opt_")] LPCWSTR IntersectionShaderImport;
-} D3D12_HIT_GROUP_DESC;
-
-typedef struct D3D12_RAYTRACING_SHADER_CONFIG
-{
- UINT MaxPayloadSizeInBytes;
- UINT MaxAttributeSizeInBytes;
-} D3D12_RAYTRACING_SHADER_CONFIG;
-
-typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG
-{
- UINT MaxTraceRecursionDepth;
-} D3D12_RAYTRACING_PIPELINE_CONFIG;
-
-typedef enum D3D12_RAYTRACING_PIPELINE_FLAGS
-{
- D3D12_RAYTRACING_PIPELINE_FLAG_NONE = 0x0,
- D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES = 0x100,
- D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200,
-} D3D12_RAYTRACING_PIPELINE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_PIPELINE_FLAGS )")
-
-typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG1
-{
- UINT MaxTraceRecursionDepth;
- D3D12_RAYTRACING_PIPELINE_FLAGS Flags;
-} D3D12_RAYTRACING_PIPELINE_CONFIG1;
-
-typedef struct D3D12_NODE_OUTPUT_OVERRIDES
-{
- UINT OutputIndex;
- [annotation("_In_opt_")] const D3D12_NODE_ID* pNewName;
- [annotation("_In_opt_")] const BOOL* pAllowSparseNodes;
- [annotation("_In_opt_")] const UINT* pMaxRecords;
- [annotation("_In_opt_")] const UINT* pMaxRecordsSharedWithOutputIndex;
-} D3D12_NODE_OUTPUT_OVERRIDES;
-
-typedef struct D3D12_BROADCASTING_LAUNCH_OVERRIDES
-{
- [annotation("_In_opt_")] const UINT* pLocalRootArgumentsTableIndex;
- [annotation("_In_opt_")] const BOOL* pProgramEntry;
- [annotation("_In_opt_")] const D3D12_NODE_ID* pNewName;
- [annotation("_In_opt_ ")] const D3D12_NODE_ID* pShareInputOf;
- [annotation("_In_reads_opt_(3)")] const UINT* pDispatchGrid;
- [annotation("_In_reads_opt_(3)")] const UINT* pMaxDispatchGrid;
- UINT NumOutputOverrides;
- [annotation("_In_reads_opt_(NumOutputOverrides)")] const D3D12_NODE_OUTPUT_OVERRIDES* pOutputOverrides;
-} D3D12_BROADCASTING_LAUNCH_OVERRIDES;
-
-typedef struct D3D12_COALESCING_LAUNCH_OVERRIDES
-{
- [annotation("_In_opt_")] const UINT* pLocalRootArgumentsTableIndex;
- [annotation("_In_opt_")] const BOOL* pProgramEntry;
- [annotation("_In_opt_")] const D3D12_NODE_ID* pNewName;
- [annotation("_In_opt_")] const D3D12_NODE_ID* pShareInputOf;
- UINT NumOutputOverrides;
- [annotation("_In_reads_opt_(NumOutputOverrides)")] const D3D12_NODE_OUTPUT_OVERRIDES* pOutputOverrides;
-} D3D12_COALESCING_LAUNCH_OVERRIDES;
-
-typedef struct D3D12_THREAD_LAUNCH_OVERRIDES
-{
- [annotation("_In_opt_")] const UINT* pLocalRootArgumentsTableIndex;
- [annotation("_In_opt_")] const BOOL* pProgramEntry;
- [annotation("_In_opt_")] const D3D12_NODE_ID* pNewName;
- [annotation("_In_opt_")] const D3D12_NODE_ID* pShareInputOf;
- UINT NumOutputOverrides;
- [annotation("_In_reads_opt_(NumOutputOverrides)")] const D3D12_NODE_OUTPUT_OVERRIDES* pOutputOverrides;
-} D3D12_THREAD_LAUNCH_OVERRIDES;
-
-typedef struct D3D12_COMMON_COMPUTE_NODE_OVERRIDES
-{
- [annotation("_In_opt_")] const UINT* pLocalRootArgumentsTableIndex;
- [annotation("_In_opt_")] const BOOL* pProgramEntry;
- [annotation("_In_opt_")] const D3D12_NODE_ID* pNewName;
- [annotation("_In_opt_")] const D3D12_NODE_ID* pShareInputOf;
- UINT NumOutputOverrides;
- [annotation("_In_reads_opt_(NumOutputOverrides)")] const D3D12_NODE_OUTPUT_OVERRIDES* pOutputOverrides;
-} D3D12_COMMON_COMPUTE_NODE_OVERRIDES;
-
-typedef enum D3D12_NODE_OVERRIDES_TYPE
-{
- D3D12_NODE_OVERRIDES_TYPE_NONE = 0,
- D3D12_NODE_OVERRIDES_TYPE_BROADCASTING_LAUNCH = 1,
- D3D12_NODE_OVERRIDES_TYPE_COALESCING_LAUNCH = 2,
- D3D12_NODE_OVERRIDES_TYPE_THREAD_LAUNCH = 3,
- D3D12_NODE_OVERRIDES_TYPE_COMMON_COMPUTE = 4,
-} D3D12_NODE_OVERRIDES_TYPE;
-
-typedef struct D3D12_SHADER_NODE
-{
- LPCWSTR Shader;
- D3D12_NODE_OVERRIDES_TYPE OverridesType;
- union
- {
- const D3D12_BROADCASTING_LAUNCH_OVERRIDES* pBroadcastingLaunchOverrides;
- const D3D12_COALESCING_LAUNCH_OVERRIDES* pCoalescingLaunchOverrides;
- const D3D12_THREAD_LAUNCH_OVERRIDES* pThreadLaunchOverrides;
- const D3D12_COMMON_COMPUTE_NODE_OVERRIDES* pCommonComputeNodeOverrides;
- };
-} D3D12_SHADER_NODE;
-
-typedef enum D3D12_NODE_TYPE
-{
- D3D12_NODE_TYPE_SHADER = 0x0
-} D3D12_NODE_TYPE;
-
-typedef struct D3D12_NODE
-{
- D3D12_NODE_TYPE NodeType;
- union
- {
- D3D12_SHADER_NODE Shader; // D3D12_NODE_TYPE_SHADER
- };
-} D3D12_NODE;
-
-typedef enum D3D12_WORK_GRAPH_FLAGS
-{
- D3D12_WORK_GRAPH_FLAG_NONE = 0x0,
- D3D12_WORK_GRAPH_FLAG_INCLUDE_ALL_AVAILABLE_NODES = 0x1,
-} D3D12_WORK_GRAPH_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_WORK_GRAPH_FLAGS )")
-
-typedef struct D3D12_WORK_GRAPH_DESC
-{
- LPCWSTR ProgramName;
- D3D12_WORK_GRAPH_FLAGS Flags;
- UINT NumEntrypoints;
- [annotation("_In_reads_opt_(NumEntrypoints)")] const D3D12_NODE_ID* pEntrypoints;
- UINT NumExplicitlyDefinedNodes;
- [annotation("_In_reads_opt_(NumExplicitlyDefinedNodes)")] const D3D12_NODE* pExplicitlyDefinedNodes;
-} D3D12_WORK_GRAPH_DESC;
-
-typedef struct D3D12_GENERIC_PROGRAM_DESC
-{
- LPCWSTR ProgramName;
- UINT NumExports;
- [annotation("_In_reads_(NumExports)")] LPCWSTR* pExports;
- UINT NumSubobjects;
- [annotation("_In_reads_opt_(NumSubobjects)")] const D3D12_STATE_SUBOBJECT* const* ppSubobjects;
-} D3D12_GENERIC_PROGRAM_DESC;
-
-typedef enum D3D12_STATE_OBJECT_TYPE
-{
- D3D12_STATE_OBJECT_TYPE_COLLECTION = 0,
- D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = 3,
- D3D12_STATE_OBJECT_TYPE_EXECUTABLE = 4
-} D3D12_STATE_OBJECT_TYPE;
-
-typedef struct D3D12_STATE_OBJECT_DESC
-{
- D3D12_STATE_OBJECT_TYPE Type;
- UINT NumSubobjects;
- [annotation("_In_reads_(NumSubobjects)")] const D3D12_STATE_SUBOBJECT* pSubobjects;
-} D3D12_STATE_OBJECT_DESC;
-
-typedef enum D3D12_RAYTRACING_GEOMETRY_FLAGS
-{
- D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0x0,
- D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1,
- D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2,
-} D3D12_RAYTRACING_GEOMETRY_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_GEOMETRY_FLAGS )")
-
-typedef enum D3D12_RAYTRACING_GEOMETRY_TYPE
-{
- D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES,
- D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS,
-} D3D12_RAYTRACING_GEOMETRY_TYPE;
-
-typedef enum D3D12_RAYTRACING_INSTANCE_FLAGS
-{
- D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0x0,
- D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1,
- D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2,
- D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4,
- D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8
-} D3D12_RAYTRACING_INSTANCE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_INSTANCE_FLAGS )")
-
-typedef struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE
-{
- D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
- UINT64 StrideInBytes;
-} D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE;
-
-typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE
-{
- D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
- UINT64 SizeInBytes;
-} D3D12_GPU_VIRTUAL_ADDRESS_RANGE;
-
-typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE
-{
- D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
- UINT64 SizeInBytes;
- UINT64 StrideInBytes;
-} D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE;
-
-typedef struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC
-{
- D3D12_GPU_VIRTUAL_ADDRESS Transform3x4;
- DXGI_FORMAT IndexFormat;
- DXGI_FORMAT VertexFormat;
- UINT IndexCount;
- UINT VertexCount;
- D3D12_GPU_VIRTUAL_ADDRESS IndexBuffer;
- D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE VertexBuffer;
-} D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC;
-
-typedef struct D3D12_RAYTRACING_AABB
-{
- FLOAT MinX;
- FLOAT MinY;
- FLOAT MinZ;
- FLOAT MaxX;
- FLOAT MaxY;
- FLOAT MaxZ;
-} D3D12_RAYTRACING_AABB;
-
-typedef struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC
-{
- UINT64 AABBCount;
- D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE AABBs;
-} D3D12_RAYTRACING_GEOMETRY_AABBS_DESC;
-
-typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS
-{
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE = 0x00,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE = 0x01,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION = 0x02,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE = 0x04,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD = 0x08,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY = 0x10,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE = 0x20,
-} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS )")
-
-typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE
-{
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE = 0x0,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT = 0x1,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS = 0x2,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE = 0x3,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE = 0x4,
-} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE;
-
-typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE
-{
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = 0x0,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = 0x1
-} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE;
-
-typedef enum D3D12_ELEMENTS_LAYOUT
-{
- D3D12_ELEMENTS_LAYOUT_ARRAY = 0x0,
- D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = 0x1
-} D3D12_ELEMENTS_LAYOUT;
-
-typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE
-{
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE = 0x0,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION = 0x1,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION = 0x2,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE = 0x3,
-} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC
-{
- D3D12_GPU_VIRTUAL_ADDRESS DestBuffer;
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE InfoType;
-} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC
-{
- UINT64 CompactedSizeInBytes;
-} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC
-{
- UINT64 DecodedSizeInBytes;
-} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC;
-
-typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER
-{
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
- UINT NumDescs;
-} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER;
-cpp_quote("// Regarding D3D12_BUILD_RAY_TRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER above,")
-cpp_quote("// depending on Type field, NumDescs above is followed by either:")
-cpp_quote("// D3D12_RAY_TRACING_INSTANCE_DESC InstanceDescs[NumDescs]")
-cpp_quote("// or D3D12_RAY_TRACING_GEOMETRY_DESC GeometryDescs[NumDescs].")
-cpp_quote("// There is 4 bytes of padding between GeometryDesc structs in the array so alignment is natural when viewed by CPU.")
-cpp_quote("")
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC
-{
- UINT64 SerializedSizeInBytes;
- UINT64 NumBottomLevelAccelerationStructurePointers;
-} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC;
-
-typedef struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER
-{
- GUID DriverOpaqueGUID;
- BYTE DriverOpaqueVersioningData[16];
-} D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER;
-
-typedef enum D3D12_SERIALIZED_DATA_TYPE
-{
- D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0x0,
-} D3D12_SERIALIZED_DATA_TYPE;
-
-typedef enum D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS
-{
- D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE = 0x0,
- D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE = 0x1,
- D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED = 0x2,
- D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION = 0x3,
- D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 0x4,
-} D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS;
-
-typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER
-{
- D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier;
- UINT64 SerializedSizeInBytesIncludingHeader;
- UINT64 DeserializedSizeInBytes;
- UINT64 NumBottomLevelAccelerationStructurePointersAfterHeader;
-} D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC
-{
- UINT64 CurrentSizeInBytes;
-} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC;
-
-typedef struct D3D12_RAYTRACING_INSTANCE_DESC
-{
- FLOAT Transform[3][4];
- UINT InstanceID : 24;
- UINT InstanceMask : 8;
- UINT InstanceContributionToHitGroupIndex : 24;
- UINT Flags : 8;
- D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure;
-} D3D12_RAYTRACING_INSTANCE_DESC;
-
-typedef struct D3D12_RAYTRACING_GEOMETRY_DESC
-{
- D3D12_RAYTRACING_GEOMETRY_TYPE Type;
- D3D12_RAYTRACING_GEOMETRY_FLAGS Flags;
- union
- {
- D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles;
- D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs;
- };
-} D3D12_RAYTRACING_GEOMETRY_DESC;
-
-typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS
-{
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags;
- UINT NumDescs;
- D3D12_ELEMENTS_LAYOUT DescsLayout;
- union
- {
- D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs;
- const D3D12_RAYTRACING_GEOMETRY_DESC* pGeometryDescs;
- const D3D12_RAYTRACING_GEOMETRY_DESC*const* ppGeometryDescs;
- };
-} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS;
-
-typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC
-{
- D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData;
- D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs;
- [annotation("_In_opt_")] D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData;
- D3D12_GPU_VIRTUAL_ADDRESS ScratchAccelerationStructureData;
-} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC;
-
-typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO
-{
- UINT64 ResultDataMaxSizeInBytes;
- UINT64 ScratchDataSizeInBytes;
- UINT64 UpdateScratchDataSizeInBytes;
-} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO;
-
-typedef enum D3D12_RAY_FLAGS
-{
- D3D12_RAY_FLAG_NONE = 0x00,
- D3D12_RAY_FLAG_FORCE_OPAQUE = 0x01,
- D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x02,
- D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x04,
- D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x08,
- D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10,
- D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20,
- D3D12_RAY_FLAG_CULL_OPAQUE = 0x40,
- D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80,
- D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100,
- D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200,
-} D3D12_RAY_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAY_FLAGS )" )
-
-typedef enum D3D12_HIT_KIND
-{
- D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = 0xfe,
- D3D12_HIT_KIND_TRIANGLE_BACK_FACE = 0xff,
-} D3D12_HIT_KIND;
-
-[uuid(8b4f173b-2fea-4b80-8f58-4307191ab95d), object, local, pointer_default(unique)]
-interface ID3D12Device5
- : ID3D12Device4
-{
- HRESULT CreateLifetimeTracker(
- [annotation("_In_")] ID3D12LifetimeOwner* pOwner,
- [in] REFIID riid, // Expected: ID3D12LifetimeTracker*
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvTracker
- );
-
- void RemoveDevice();
-
- HRESULT EnumerateMetaCommands(
- [annotation("_Inout_")] UINT* pNumMetaCommands,
- [annotation("_Out_writes_opt_(*pNumMetaCommands)")] D3D12_META_COMMAND_DESC* pDescs
- );
-
- HRESULT EnumerateMetaCommandParameters(
- [annotation("_In_")] REFGUID CommandId,
- [annotation("_In_")] D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- [annotation("_Out_opt_")] UINT* pTotalStructureSizeInBytes,
- [annotation("_Inout_")] UINT* pParameterCount,
- [annotation("_Out_writes_opt_(*pParameterCount)")] D3D12_META_COMMAND_PARAMETER_DESC* pParameterDescs
- );
-
- HRESULT CreateMetaCommand(
- [annotation("_In_")] REFGUID CommandId,
- [annotation("_In_")] UINT NodeMask,
- [annotation("_In_reads_bytes_opt_(CreationParametersDataSizeInBytes)")] const void * pCreationParametersData,
- [annotation("_In_")] SIZE_T CreationParametersDataSizeInBytes,
- [in] REFIID riid,
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppMetaCommand
- );
-
- HRESULT CreateStateObject(
- [in] const D3D12_STATE_OBJECT_DESC* pDesc,
- [in] REFIID riid, // ID3D12StateObject
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppStateObject
- );
-
- void GetRaytracingAccelerationStructurePrebuildInfo(
- [annotation("_In_")] const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS* pDesc,
- [annotation("_Out_")] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo
- );
-
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS CheckDriverMatchingIdentifier(
- [annotation("_In_")] D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- [annotation("_In_")] const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER* pIdentifierToCheck);
-}
-
-
-typedef enum D3D12_AUTO_BREADCRUMB_OP
-{
- D3D12_AUTO_BREADCRUMB_OP_SETMARKER = 0,
- D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = 1,
- D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = 2,
- D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = 3,
- D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = 4,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = 5,
- D3D12_AUTO_BREADCRUMB_OP_DISPATCH = 6,
- D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = 7,
- D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = 8,
- D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = 9,
- D3D12_AUTO_BREADCRUMB_OP_COPYTILES = 10,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = 11,
- D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = 12,
- D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = 13,
- D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = 14,
- D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = 15,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = 16,
- D3D12_AUTO_BREADCRUMB_OP_PRESENT = 17,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = 18,
- D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = 19,
- D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = 20,
- D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = 21,
- D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = 22,
- D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = 23,
- D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = 24,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = 25,
- D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = 26,
- D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = 27,
- D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = 28,
- D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = 29,
- D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = 30,
- D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = 31,
- D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 32,
- D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = 33,
- D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = 34,
- D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = 35,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = 36,
- D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = 37,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = 38,
- D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = 39,
- D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = 40,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = 41,
- D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = 42,
- D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = 43,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = 44,
- D3D12_AUTO_BREADCRUMB_OP_BARRIER = 45,
- D3D12_AUTO_BREADCRUMB_OP_BEGIN_COMMAND_LIST = 46,
- D3D12_AUTO_BREADCRUMB_OP_DISPATCHGRAPH = 47,
- D3D12_AUTO_BREADCRUMB_OP_SETPROGRAM = 48,
-} D3D12_AUTO_BREADCRUMB_OP;
-
-typedef struct D3D12_AUTO_BREADCRUMB_NODE
-{
- const char *pCommandListDebugNameA;
- const wchar_t *pCommandListDebugNameW;
- const char *pCommandQueueDebugNameA;
- const wchar_t *pCommandQueueDebugNameW;
- ID3D12GraphicsCommandList *pCommandList;
- ID3D12CommandQueue *pCommandQueue;
- UINT32 BreadcrumbCount;
- const UINT32 *pLastBreadcrumbValue;
- const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory;
- const struct D3D12_AUTO_BREADCRUMB_NODE *pNext; // pointer to next node
-} D3D12_AUTO_BREADCRUMB_NODE;
-
-typedef struct D3D12_DRED_BREADCRUMB_CONTEXT
-{
- UINT BreadcrumbIndex;
- const wchar_t *pContextString;
-} D3D12_DRED_BREADCRUMB_CONTEXT;
-
-// !!! Must be castable to D3D12_AUTO_BREADCRUMB_NODE
-typedef struct D3D12_AUTO_BREADCRUMB_NODE1
-{
- const char *pCommandListDebugNameA;
- const wchar_t *pCommandListDebugNameW;
- const char *pCommandQueueDebugNameA;
- const wchar_t *pCommandQueueDebugNameW;
- ID3D12GraphicsCommandList *pCommandList;
- ID3D12CommandQueue *pCommandQueue;
- UINT BreadcrumbCount;
- const UINT *pLastBreadcrumbValue;
- const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory;
- const struct D3D12_AUTO_BREADCRUMB_NODE1 *pNext; // pointer to next node
- UINT BreadcrumbContextsCount;
- D3D12_DRED_BREADCRUMB_CONTEXT *pBreadcrumbContexts;
-} D3D12_AUTO_BREADCRUMB_NODE1;
-
-// D3D12_DRED_VERSION
-typedef enum D3D12_DRED_VERSION
-{
- D3D12_DRED_VERSION_1_0 = 0x1,
- D3D12_DRED_VERSION_1_1 = 0x2,
- D3D12_DRED_VERSION_1_2 = 0x3,
- D3D12_DRED_VERSION_1_3 = 0x4,
-} D3D12_DRED_VERSION;
-
-typedef enum D3D12_DRED_FLAGS
-{
- D3D12_DRED_FLAG_NONE = 0,
- D3D12_DRED_FLAG_FORCE_ENABLE = 1,
- D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS = 2,
-} D3D12_DRED_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_FLAGS )")
-
-typedef enum D3D12_DRED_ENABLEMENT
-{
- D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = 0,
- D3D12_DRED_ENABLEMENT_FORCED_OFF = 1,
- D3D12_DRED_ENABLEMENT_FORCED_ON = 2,
-} D3D12_DRED_ENABLEMENT;
-
-typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA
-{
- [annotation("_In_")] D3D12_DRED_FLAGS Flags; // Dred flags
- [annotation("_Out_")] D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode; // Pointer to head of a linked list of auto-breadcrumb data
-} D3D12_DEVICE_REMOVED_EXTENDED_DATA;
-
-typedef enum D3D12_DRED_ALLOCATION_TYPE
-{
- // Enum starts at 19 and skips 26 to maintain compatibility with older D3D12 drivers
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = 19,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = 20,
- D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = 21,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = 22,
- D3D12_DRED_ALLOCATION_TYPE_FENCE = 23,
- D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = 24,
- D3D12_DRED_ALLOCATION_TYPE_HEAP = 25,
- D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = 27,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = 28,
- D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = 29,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = 30,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = 32,
- D3D12_DRED_ALLOCATION_TYPE_RESOURCE = 34,
- D3D12_DRED_ALLOCATION_TYPE_PASS = 35,
- D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = 36,
- D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = 37,
- D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = 38,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = 39,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = 40,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = 41,
- D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = 42,
- D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = 43,
- D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = 44,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = 45,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = 46,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = 47,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER = 48,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP = 49,
-
-
- D3D12_DRED_ALLOCATION_TYPE_INVALID = 0xFFFFFFFF
-} D3D12_DRED_ALLOCATION_TYPE;
-
-typedef struct D3D12_DRED_ALLOCATION_NODE
-{
- const char *ObjectNameA;
- const wchar_t *ObjectNameW;
- D3D12_DRED_ALLOCATION_TYPE AllocationType;
- const struct D3D12_DRED_ALLOCATION_NODE *pNext;
-} D3D12_DRED_ALLOCATION_NODE;
-
-typedef struct D3D12_DRED_ALLOCATION_NODE1
-{
- const char *ObjectNameA;
- const wchar_t *ObjectNameW;
- D3D12_DRED_ALLOCATION_TYPE AllocationType;
- const struct D3D12_DRED_ALLOCATION_NODE1 *pNext;
- const IUnknown *pObject;
-} D3D12_DRED_ALLOCATION_NODE1;
-
-typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT
-{
- [annotation("_Out_")] const D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode; // Pointer to head of a null-terminated linked list of auto-breadcrumb data
-} D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT;
-
-typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1
-{
- [annotation("_Out_")] const D3D12_AUTO_BREADCRUMB_NODE1 *pHeadAutoBreadcrumbNode; // Pointer to head of a null-terminated linked list of auto-breadcrumb data
-} D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1;
-
-typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT
-{
- D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; //If the device removal was due to GPU Fault, this contains the VA of the faulting op
- [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE *pHeadExistingAllocationNode;
- [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE *pHeadRecentFreedAllocationNode;
-} D3D12_DRED_PAGE_FAULT_OUTPUT;
-
-typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT1
-{
- D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; //If the device removal was due to GPU Fault, this contains the VA of the faulting op
- [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode;
- [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode;
-} D3D12_DRED_PAGE_FAULT_OUTPUT1;
-
-typedef enum D3D12_DRED_PAGE_FAULT_FLAGS
-{
- D3D12_DRED_PAGE_FAULT_FLAGS_NONE = 0,
-} D3D12_DRED_PAGE_FAULT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_PAGE_FAULT_FLAGS )")
-
-typedef enum D3D12_DRED_DEVICE_STATE
-{
- D3D12_DRED_DEVICE_STATE_UNKNOWN = 0, // Only known if DRED event occurred
- D3D12_DRED_DEVICE_STATE_HUNG = 3,
- D3D12_DRED_DEVICE_STATE_FAULT = 6,
- D3D12_DRED_DEVICE_STATE_PAGEFAULT = 7,
-} D3D12_DRED_DEVICE_STATE;
-
-typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT2
-{
- D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; //If the device removal was due to GPU Fault, this contains the VA of the faulting op
- [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode;
- [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode;
- D3D12_DRED_PAGE_FAULT_FLAGS PageFaultFlags;
-
-} D3D12_DRED_PAGE_FAULT_OUTPUT2;
-
-typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1
-{
- HRESULT DeviceRemovedReason;
- D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT AutoBreadcrumbsOutput;
- D3D12_DRED_PAGE_FAULT_OUTPUT PageFaultOutput;
-} D3D12_DEVICE_REMOVED_EXTENDED_DATA1;
-
-typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2
-{
- HRESULT DeviceRemovedReason;
- D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput;
- D3D12_DRED_PAGE_FAULT_OUTPUT1 PageFaultOutput;
-} D3D12_DEVICE_REMOVED_EXTENDED_DATA2;
-
-typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA3
-{
- HRESULT DeviceRemovedReason;
- D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput;
- D3D12_DRED_PAGE_FAULT_OUTPUT2 PageFaultOutput;
- D3D12_DRED_DEVICE_STATE DeviceState;
-} D3D12_DEVICE_REMOVED_EXTENDED_DATA3;
-
-typedef struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA
-{
- D3D12_DRED_VERSION Version; // Version of the DRED data
- union
- {
- D3D12_DEVICE_REMOVED_EXTENDED_DATA Dred_1_0;
- D3D12_DEVICE_REMOVED_EXTENDED_DATA1 Dred_1_1;
- D3D12_DEVICE_REMOVED_EXTENDED_DATA2 Dred_1_2;
- D3D12_DEVICE_REMOVED_EXTENDED_DATA3 Dred_1_3;
- };
-} D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA;
-
-[uuid(82BC481C-6B9B-4030-AEDB-7EE3D1DF1E63), object, local, pointer_default(unique)]
-interface ID3D12DeviceRemovedExtendedDataSettings
- : IUnknown
-{
- void SetAutoBreadcrumbsEnablement(D3D12_DRED_ENABLEMENT Enablement);
- void SetPageFaultEnablement(D3D12_DRED_ENABLEMENT Enablement);
- void SetWatsonDumpEnablement(D3D12_DRED_ENABLEMENT Enablement);
-};
-
-[uuid(DBD5AE51-3317-4F0A-ADF9-1D7CEDCAAE0B), object, local, pointer_default(unique)]
-interface ID3D12DeviceRemovedExtendedDataSettings1
- : ID3D12DeviceRemovedExtendedDataSettings
-{
- void SetBreadcrumbContextEnablement(D3D12_DRED_ENABLEMENT Enablement);
-};
-
-[uuid(61552388-01ab-4008-a436-83db189566ea), object, local, pointer_default(unique)]
-interface ID3D12DeviceRemovedExtendedDataSettings2
- : ID3D12DeviceRemovedExtendedDataSettings1
-{
- void UseMarkersOnlyAutoBreadcrumbs(BOOL MarkersOnly);
-};
-
-
-[uuid(98931D33-5AE8-4791-AA3C-1A73A2934E71), object, local, pointer_default(unique)]
-interface ID3D12DeviceRemovedExtendedData
- : IUnknown
-{
- HRESULT GetAutoBreadcrumbsOutput([annotation("_Out_")] D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput);
- HRESULT GetPageFaultAllocationOutput([annotation("_Out_")] D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput);
-};
-
-[uuid(9727A022-CF1D-4DDA-9EBA-EFFA653FC506), object, local, pointer_default(unique)]
-interface ID3D12DeviceRemovedExtendedData1
- : ID3D12DeviceRemovedExtendedData
-{
- HRESULT GetAutoBreadcrumbsOutput1([annotation("_Out_")] D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput);
- HRESULT GetPageFaultAllocationOutput1([annotation("_Out_")] D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput);
-};
-
-[uuid(67FC5816-E4CA-4915-BF18-42541272DA54), object, local, pointer_default(unique)]
-interface ID3D12DeviceRemovedExtendedData2
- : ID3D12DeviceRemovedExtendedData1
-{
- HRESULT GetPageFaultAllocationOutput2([annotation("_Out_")] D3D12_DRED_PAGE_FAULT_OUTPUT2 *pOutput);
- D3D12_DRED_DEVICE_STATE GetDeviceState();
-};
-
-typedef enum D3D12_BACKGROUND_PROCESSING_MODE
-{
- D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED,
- D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS,
- D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK,
- D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM,
-} D3D12_BACKGROUND_PROCESSING_MODE;
-
-typedef enum D3D12_MEASUREMENTS_ACTION
-{
- D3D12_MEASUREMENTS_ACTION_KEEP_ALL,
- D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS,
- D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY,
- D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS,
-} D3D12_MEASUREMENTS_ACTION;
-
-[uuid(c70b221b-40e4-4a17-89af-025a0727a6dc), object, local, pointer_default(unique)]
-interface ID3D12Device6 : ID3D12Device5
-{
- HRESULT SetBackgroundProcessingMode(
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- [annotation("_In_opt_")] HANDLE hEventToSignalUponCompletion,
- [annotation("_Out_opt_")] BOOL* pbFurtherMeasurementsDesired);
-};
-
-cpp_quote("DEFINE_GUID(D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED, 0x62B0084E, 0xC70E, 0x4DAA, 0xA1, 0x09, 0x30, 0xFF, 0x8D, 0x5A, 0x04, 0x82); ")
-
-// D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT
-typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT
-{
- UINT NodeIndex; // input
- UINT Count; // output
-} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT;
-
-// D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES
-typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES
-{
- UINT NodeIndex; // input
- UINT Count; // input
- GUID* pTypes; // output
-} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES;
-
-typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1
-{
- UINT NodeMask;
- D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
- GUID ProtectionType;
-} D3D12_PROTECTED_RESOURCE_SESSION_DESC1;
-
-[uuid(D6F12DD6-76FB-406E-8961-4296EEFC0409), object, local, pointer_default(unique)]
-interface ID3D12ProtectedResourceSession1
- : ID3D12ProtectedResourceSession
-{
- D3D12_PROTECTED_RESOURCE_SESSION_DESC1 GetDesc1();
-};
-
-[uuid(5c014b53-68a1-4b9b-8bd1-dd6046b9358b), object, local, pointer_default(unique)]
-interface ID3D12Device7 : ID3D12Device6
-{
- HRESULT AddToStateObject(
- [in] const D3D12_STATE_OBJECT_DESC* pAddition,
- [in] ID3D12StateObject* pStateObjectToGrowFrom,
- [in] REFIID riid, // ID3D12StateObject
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppNewStateObject
- );
-
- HRESULT CreateProtectedResourceSession1(
- [annotation("_In_")] const D3D12_PROTECTED_RESOURCE_SESSION_DESC1* pDesc,
- [annotation("_In_")] REFIID riid, // Expected: ID3D12ProtectedResourceSession1,
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppSession
- );
-};
-
-[uuid(9218E6BB-F944-4F7E-A75C-B1B2C7B701F3), object, local, pointer_default(unique)]
-interface ID3D12Device8 : ID3D12Device7
-{
- D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo2(
- UINT visibleMask,
- UINT numResourceDescs,
- [annotation("_In_reads_(numResourceDescs)")] const D3D12_RESOURCE_DESC1* pResourceDescs,
- [annotation("_Out_writes_opt_(numResourceDescs)")] D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1);
-
- HRESULT CreateCommittedResource2(
- [annotation("_In_")] const D3D12_HEAP_PROPERTIES* pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- [annotation("_In_")] const D3D12_RESOURCE_DESC1* pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession* pProtectedSession,
- [in] REFIID riidResource, // Expected: ID3D12Resource1*
- [out, iid_is(riidResource), annotation("_COM_Outptr_opt_")] void** ppvResource);
-
- HRESULT CreatePlacedResource1(
- [annotation("_In_")] ID3D12Heap* pHeap,
- UINT64 HeapOffset,
- [annotation("_In_")] const D3D12_RESOURCE_DESC1* pDesc,
- D3D12_RESOURCE_STATES InitialState,
- [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
- [in] REFIID riid, // Expected: ID3D12Resource*
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource);
-
- void CreateSamplerFeedbackUnorderedAccessView(
- [annotation("_In_opt_")] ID3D12Resource* pTargetedResource,
- [annotation("_In_opt_")] ID3D12Resource* pFeedbackResource,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void GetCopyableFootprints1(
- [annotation("_In_")] const D3D12_RESOURCE_DESC1* pResourceDesc,
- [annotation("_In_range_(0,D3D12_REQ_SUBRESOURCES)")] UINT FirstSubresource,
- [annotation("_In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource)")] UINT NumSubresources,
- UINT64 BaseOffset,
- [annotation("_Out_writes_opt_(NumSubresources)")] D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts,
- [annotation("_Out_writes_opt_(NumSubresources)")] UINT* pNumRows,
- [annotation("_Out_writes_opt_(NumSubresources)")] UINT64* pRowSizeInBytes,
- [annotation("_Out_opt_")] UINT64* pTotalBytes);
-};
-
-
-[uuid(9D5E227A-4430-4161-88B3-3ECA6BB16E19), object, local, pointer_default(unique)]
-interface ID3D12Resource1
- : ID3D12Resource
-{
- HRESULT GetProtectedResourceSession(
- [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession);
-}
-
-[uuid(BE36EC3B-EA85-4AEB-A45A-E9D76404A495), object, local, pointer_default(unique)]
-interface ID3D12Resource2
- : ID3D12Resource1
-{
- D3D12_RESOURCE_DESC1 GetDesc1();
-}
-
-
-
-[uuid(572F7389-2168-49E3-9693-D6DF5871BF6D), object, local, pointer_default(unique)]
-interface ID3D12Heap1
- : ID3D12Heap
-{
- HRESULT GetProtectedResourceSession(
- [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession);
-}
-
-
-[uuid(6FDA83A7-B84C-4E38-9AC8-C7BD22016B3D), object, local, pointer_default(unique)]
-interface ID3D12GraphicsCommandList3 : ID3D12GraphicsCommandList2
-{
- void SetProtectedResourceSession(
- [annotation("_In_opt_")]ID3D12ProtectedResourceSession *pProtectedResourceSession
- );
-}
-
-// Beginning Access
-typedef enum D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE
-{
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_UAV
-} D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE;
-
-typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS
-{
- D3D12_CLEAR_VALUE ClearValue;
-} D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS;
-
-typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS
-{
- UINT AdditionalWidth;
- UINT AdditionalHeight;
-} D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS;
-
-typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS
-{
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Type;
-
- union
- {
- D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS Clear;
- D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal;
- };
-} D3D12_RENDER_PASS_BEGINNING_ACCESS;
-
-// Ending Access
-typedef enum D3D12_RENDER_PASS_ENDING_ACCESS_TYPE
-{
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_UAV
-} D3D12_RENDER_PASS_ENDING_ACCESS_TYPE;
-
-typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS
-{
- UINT SrcSubresource;
- UINT DstSubresource;
-
- UINT DstX;
- UINT DstY;
- D3D12_RECT SrcRect; // (0, 0, 0, 0) == resolve entire resource.
-
-} D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS;
-
-typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS
-{
- ID3D12Resource* pSrcResource;
- ID3D12Resource* pDstResource;
-
- // Can be a subset of RT's array slices, but can't target subresources that were't part of RTV/DSV.
- UINT SubresourceCount;
- [annotation("_Field_size_full_(SubresourceCount)")] const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS *pSubresourceParameters;
-
- DXGI_FORMAT Format;
- D3D12_RESOLVE_MODE ResolveMode;
-
- BOOL PreserveResolveSource;
-
-} D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS;
-
-typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS
-{
- UINT AdditionalWidth;
- UINT AdditionalHeight;
-} D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS;
-
-typedef struct D3D12_RENDER_PASS_ENDING_ACCESS
-{
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Type;
-
- union
- {
- D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve;
- D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal;
- };
-} D3D12_RENDER_PASS_ENDING_ACCESS;
-
-// Render Target Desc
-typedef struct D3D12_RENDER_PASS_RENDER_TARGET_DESC
-{
- D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor;
-
- D3D12_RENDER_PASS_BEGINNING_ACCESS BeginningAccess;
- D3D12_RENDER_PASS_ENDING_ACCESS EndingAccess;
-
-} D3D12_RENDER_PASS_RENDER_TARGET_DESC;
-
-// Depth-Stencil Desc
-typedef struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC
-{
- D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor;
-
- D3D12_RENDER_PASS_BEGINNING_ACCESS DepthBeginningAccess;
- D3D12_RENDER_PASS_BEGINNING_ACCESS StencilBeginningAccess;
-
- D3D12_RENDER_PASS_ENDING_ACCESS DepthEndingAccess;
- D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess;
-
-} D3D12_RENDER_PASS_DEPTH_STENCIL_DESC;
-
-typedef enum D3D12_RENDER_PASS_FLAGS
-{
- D3D12_RENDER_PASS_FLAG_NONE = 0x0,
- D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 0x1,
- D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 0x2,
- D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 0x4,
- D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_DEPTH = 0x8,
- D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_STENCIL = 0x10
-} D3D12_RENDER_PASS_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_RENDER_PASS_FLAGS )")
-
-[uuid(DBB84C27-36CE-4FC9-B801-F048C46AC570), object, local, pointer_default(unique)]
-interface ID3D12MetaCommand : ID3D12Pageable
-{
- UINT64 GetRequiredParameterResourceSize([annotation("_In_")] D3D12_META_COMMAND_PARAMETER_STAGE Stage, [annotation("_In_")] UINT ParameterIndex);
-}
-
-typedef struct D3D12_DISPATCH_RAYS_DESC
-{
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE RayGenerationShaderRecord;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE MissShaderTable;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE HitGroupTable;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE CallableShaderTable;
- UINT Width;
- UINT Height;
- UINT Depth;
-} D3D12_DISPATCH_RAYS_DESC;
-
-typedef enum D3D12_SET_WORK_GRAPH_FLAGS
-{
- D3D12_SET_WORK_GRAPH_FLAG_NONE = 0x0,
- D3D12_SET_WORK_GRAPH_FLAG_INITIALIZE = 0x1,
-} D3D12_SET_WORK_GRAPH_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_SET_WORK_GRAPH_FLAGS )" )
-
-typedef struct D3D12_SET_WORK_GRAPH_DESC
-{
- D3D12_PROGRAM_IDENTIFIER ProgramIdentifier;
- D3D12_SET_WORK_GRAPH_FLAGS Flags;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE BackingMemory;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE NodeLocalRootArgumentsTable;
-} D3D12_SET_WORK_GRAPH_DESC;
-
-typedef struct D3D12_SET_RAYTRACING_PIPELINE_DESC
-{
- D3D12_PROGRAM_IDENTIFIER ProgramIdentifier;
-} D3D12_SET_RAYTRACING_PIPELINE_DESC;
-
-typedef struct D3D12_SET_GENERIC_PIPELINE_DESC
-{
- D3D12_PROGRAM_IDENTIFIER ProgramIdentifier;
-} D3D12_SET_GENERIC_PIPELINE_DESC;
-
-typedef enum D3D12_PROGRAM_TYPE
-{
- D3D12_PROGRAM_TYPE_GENERIC_PIPELINE = 1,
- D3D12_PROGRAM_TYPE_RAYTRACING_PIPELINE = 4,
- D3D12_PROGRAM_TYPE_WORK_GRAPH = 5
-} D3D12_PROGRAM_TYPE;
-
-typedef struct D3D12_SET_PROGRAM_DESC
-{
- D3D12_PROGRAM_TYPE Type;
- union
- {
- D3D12_SET_GENERIC_PIPELINE_DESC GenericPipeline;
- D3D12_SET_RAYTRACING_PIPELINE_DESC RaytracingPipeline;
- D3D12_SET_WORK_GRAPH_DESC WorkGraph;
- };
-} D3D12_SET_PROGRAM_DESC;
-
-typedef enum D3D12_DISPATCH_MODE
-{
- D3D12_DISPATCH_MODE_NODE_CPU_INPUT = 0, // D3D12_NODE_CPU_INPUT
- D3D12_DISPATCH_MODE_NODE_GPU_INPUT = 1, // D3D12_NODE_GPU_INPUT in GPU memory
- D3D12_DISPATCH_MODE_MULTI_NODE_CPU_INPUT = 2, // D3D12_MULTI_NODE_CPU_INPUT
- D3D12_DISPATCH_MODE_MULTI_NODE_GPU_INPUT = 3 // D3D12_MULTI_NODE_GPU_INPUT in GPU memory
-} D3D12_DISPATCH_MODE;
-
-typedef struct D3D12_NODE_CPU_INPUT
-{
- UINT EntrypointIndex;
- UINT NumRecords;
- const void* pRecords;
- UINT64 RecordStrideInBytes;
-} D3D12_NODE_CPU_INPUT;
-
-typedef struct D3D12_NODE_GPU_INPUT
-{
- UINT EntrypointIndex;
- UINT NumRecords;
- D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE Records;
-} D3D12_NODE_GPU_INPUT;
-
-typedef struct D3D12_MULTI_NODE_CPU_INPUT
-{
- UINT NumNodeInputs;
- const D3D12_NODE_CPU_INPUT* pNodeInputs;
- UINT64 NodeInputStrideInBytes;
-} D3D12_MULTI_NODE_CPU_INPUT;
-
-typedef struct D3D12_MULTI_NODE_GPU_INPUT
-{
- UINT NumNodeInputs;
- D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE NodeInputs; // D3D12_GPU_NODE_INPUT array
-} D3D12_MULTI_NODE_GPU_INPUT;
-
-typedef struct D3D12_DISPATCH_GRAPH_DESC
-{
- D3D12_DISPATCH_MODE Mode;
- union
- {
- D3D12_NODE_CPU_INPUT NodeCPUInput;
- D3D12_GPU_VIRTUAL_ADDRESS NodeGPUInput;
- D3D12_MULTI_NODE_CPU_INPUT MultiNodeCPUInput;
- D3D12_GPU_VIRTUAL_ADDRESS MultiNodeGPUInput;
- };
-} D3D12_DISPATCH_GRAPH_DESC;
-
-[uuid(8754318e-d3a9-4541-98cf-645b50dc4874), object, local, pointer_default(unique)]
-interface ID3D12GraphicsCommandList4 : ID3D12GraphicsCommandList3
-{
- void BeginRenderPass(
- [annotation("_In_")] UINT NumRenderTargets,
- [annotation("_In_reads_opt_(NumRenderTargets)")] const D3D12_RENDER_PASS_RENDER_TARGET_DESC* pRenderTargets,
- [annotation("_In_opt_")] const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC* pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags
- );
-
- void EndRenderPass();
-
- void InitializeMetaCommand(
- [annotation("_In_")] ID3D12MetaCommand * pMetaCommand,
- [annotation("_In_reads_bytes_opt_(InitializationParametersDataSizeInBytes)")] const void * pInitializationParametersData,
- [annotation("_In_")] SIZE_T InitializationParametersDataSizeInBytes
- );
-
- void ExecuteMetaCommand(
- [annotation("_In_")] ID3D12MetaCommand * pMetaCommand,
- [annotation("_In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes)")] const void * pExecutionParametersData,
- [annotation("_In_")] SIZE_T ExecutionParametersDataSizeInBytes
- );
-
- void BuildRaytracingAccelerationStructure(
- [annotation("_In_")] const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC* pDesc,
- [annotation("_In_")] UINT NumPostbuildInfoDescs,
- [annotation("_In_reads_opt_(NumPostbuildInfoDescs)")] const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pPostbuildInfoDescs
- );
-
- void EmitRaytracingAccelerationStructurePostbuildInfo(
- [annotation("_In_")] const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pDesc,
- [annotation("_In_")] UINT NumSourceAccelerationStructures,
- [annotation("_In_reads_( NumSourceAccelerationStructures )")] const D3D12_GPU_VIRTUAL_ADDRESS* pSourceAccelerationStructureData);
-
- void CopyRaytracingAccelerationStructure(
- [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- [annotation("_In_")] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- void SetPipelineState1(
- [annotation("_In_")] ID3D12StateObject* pStateObject);
-
- void DispatchRays(
- [annotation("_In_")] const D3D12_DISPATCH_RAYS_DESC* pDesc);
-}
-
-typedef enum D3D12_SHADER_CACHE_MODE
-{
- D3D12_SHADER_CACHE_MODE_MEMORY,
- D3D12_SHADER_CACHE_MODE_DISK,
-} D3D12_SHADER_CACHE_MODE;
-
-typedef enum D3D12_SHADER_CACHE_FLAGS
-{
- D3D12_SHADER_CACHE_FLAG_NONE = 0x0,
- D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = 0x1,
- D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = 0x2,
-} D3D12_SHADER_CACHE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_FLAGS )")
-
-typedef struct D3D12_SHADER_CACHE_SESSION_DESC
-{
- GUID Identifier;
- D3D12_SHADER_CACHE_MODE Mode;
- D3D12_SHADER_CACHE_FLAGS Flags;
-
- UINT MaximumInMemoryCacheSizeBytes;
- UINT MaximumInMemoryCacheEntries;
-
- UINT MaximumValueFileSizeBytes;
-
- UINT64 Version;
-} D3D12_SHADER_CACHE_SESSION_DESC;
-
-typedef enum D3D12_BARRIER_LAYOUT
-{
- D3D12_BARRIER_LAYOUT_UNDEFINED = 0xffffffff,
- D3D12_BARRIER_LAYOUT_COMMON = 0,
- D3D12_BARRIER_LAYOUT_PRESENT = 0,
- D3D12_BARRIER_LAYOUT_GENERIC_READ,
- D3D12_BARRIER_LAYOUT_RENDER_TARGET,
- D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS,
- D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE,
- D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ,
- D3D12_BARRIER_LAYOUT_SHADER_RESOURCE,
- D3D12_BARRIER_LAYOUT_COPY_SOURCE,
- D3D12_BARRIER_LAYOUT_COPY_DEST,
- D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE,
- D3D12_BARRIER_LAYOUT_RESOLVE_DEST,
- D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE,
- D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ,
- D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE,
- D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ,
- D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE,
- D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ,
- D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST,
- D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON,
-
-} D3D12_BARRIER_LAYOUT;
-
-typedef enum D3D12_BARRIER_SYNC
-{
- D3D12_BARRIER_SYNC_NONE = 0x0,
- D3D12_BARRIER_SYNC_ALL = 0x1,
- D3D12_BARRIER_SYNC_DRAW = 0x2,
- D3D12_BARRIER_SYNC_INDEX_INPUT = 0x4,
- D3D12_BARRIER_SYNC_VERTEX_SHADING = 0x8,
- D3D12_BARRIER_SYNC_PIXEL_SHADING = 0x10,
- D3D12_BARRIER_SYNC_DEPTH_STENCIL = 0x20,
- D3D12_BARRIER_SYNC_RENDER_TARGET = 0x40,
- D3D12_BARRIER_SYNC_COMPUTE_SHADING = 0x80,
- D3D12_BARRIER_SYNC_RAYTRACING = 0x100,
- D3D12_BARRIER_SYNC_COPY = 0x200,
- D3D12_BARRIER_SYNC_RESOLVE = 0x400,
- D3D12_BARRIER_SYNC_EXECUTE_INDIRECT = 0x800,
- D3D12_BARRIER_SYNC_PREDICATION = 0x800, // Aliased with SYNC_EXECUTE_INDIRECT
- D3D12_BARRIER_SYNC_ALL_SHADING = 0x1000,
- D3D12_BARRIER_SYNC_NON_PIXEL_SHADING = 0x2000,
- D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO = 0x4000,
- D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW = 0x8000,
- D3D12_BARRIER_SYNC_VIDEO_DECODE = 0x100000,
- D3D12_BARRIER_SYNC_VIDEO_PROCESS = 0x200000,
- D3D12_BARRIER_SYNC_VIDEO_ENCODE = 0x400000,
- D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE = 0x800000,
- D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE = 0x1000000,
- D3D12_BARRIER_SYNC_SPLIT = 0x80000000,
-} D3D12_BARRIER_SYNC;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_SYNC )" )
-
-typedef enum D3D12_BARRIER_ACCESS
-{
- D3D12_BARRIER_ACCESS_COMMON = 0,
- D3D12_BARRIER_ACCESS_VERTEX_BUFFER = 0x1,
- D3D12_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2,
- D3D12_BARRIER_ACCESS_INDEX_BUFFER = 0x4,
- D3D12_BARRIER_ACCESS_RENDER_TARGET = 0x8,
- D3D12_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10,
- D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20,
- D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40,
- D3D12_BARRIER_ACCESS_SHADER_RESOURCE = 0x80,
- D3D12_BARRIER_ACCESS_STREAM_OUTPUT = 0x100,
- D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200,
- D3D12_BARRIER_ACCESS_PREDICATION = 0x200, // Aliased with ACCESS_INDIRECT_ARGUMENT
- D3D12_BARRIER_ACCESS_COPY_DEST = 0x400,
- D3D12_BARRIER_ACCESS_COPY_SOURCE = 0x800,
- D3D12_BARRIER_ACCESS_RESOLVE_DEST = 0x1000,
- D3D12_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000,
- D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000,
- D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000,
- D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000,
- D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000,
- D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000,
- D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000,
- D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000,
- D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000,
- D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000,
- D3D12_BARRIER_ACCESS_NO_ACCESS = 0x80000000,
-} D3D12_BARRIER_ACCESS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_ACCESS )" )
-
-typedef enum D3D12_BARRIER_TYPE
-{
- D3D12_BARRIER_TYPE_GLOBAL,
- D3D12_BARRIER_TYPE_TEXTURE,
- D3D12_BARRIER_TYPE_BUFFER,
-} D3D12_BARRIER_TYPE;
-
-typedef enum D3D12_TEXTURE_BARRIER_FLAGS
-{
- D3D12_TEXTURE_BARRIER_FLAG_NONE = 0x0,
- D3D12_TEXTURE_BARRIER_FLAG_DISCARD = 0x1,
-} D3D12_TEXTURE_BARRIER_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_TEXTURE_BARRIER_FLAGS )")
-
-typedef struct D3D12_BARRIER_SUBRESOURCE_RANGE
-{
- UINT IndexOrFirstMipLevel;
- UINT NumMipLevels;
- UINT FirstArraySlice;
- UINT NumArraySlices;
- UINT FirstPlane;
- UINT NumPlanes;
-} D3D12_BARRIER_SUBRESOURCE_RANGE;
-
-typedef struct D3D12_GLOBAL_BARRIER
-{
- D3D12_BARRIER_SYNC SyncBefore;
- D3D12_BARRIER_SYNC SyncAfter;
- D3D12_BARRIER_ACCESS AccessBefore;
- D3D12_BARRIER_ACCESS AccessAfter;
-} D3D12_GLOBAL_BARRIER;
-
-typedef struct D3D12_TEXTURE_BARRIER
-{
- D3D12_BARRIER_SYNC SyncBefore;
- D3D12_BARRIER_SYNC SyncAfter;
- D3D12_BARRIER_ACCESS AccessBefore;
- D3D12_BARRIER_ACCESS AccessAfter;
- D3D12_BARRIER_LAYOUT LayoutBefore;
- D3D12_BARRIER_LAYOUT LayoutAfter;
- [annotation("_In_")] ID3D12Resource *pResource;
- D3D12_BARRIER_SUBRESOURCE_RANGE Subresources;
- D3D12_TEXTURE_BARRIER_FLAGS Flags;
-} D3D12_TEXTURE_BARRIER;
-
-typedef struct D3D12_BUFFER_BARRIER
-{
- D3D12_BARRIER_SYNC SyncBefore;
- D3D12_BARRIER_SYNC SyncAfter;
- D3D12_BARRIER_ACCESS AccessBefore;
- D3D12_BARRIER_ACCESS AccessAfter;
- [annotation("_In_")] ID3D12Resource *pResource;
- UINT64 Offset;
- UINT64 Size;
-} D3D12_BUFFER_BARRIER;
-
-typedef struct D3D12_BARRIER_GROUP
-{
- D3D12_BARRIER_TYPE Type;
- UINT32 NumBarriers;
- union
- {
- [annotation("_In_reads_(NumBarriers)")] const D3D12_GLOBAL_BARRIER *pGlobalBarriers;
- [annotation("_In_reads_(NumBarriers)")] const D3D12_TEXTURE_BARRIER *pTextureBarriers;
- [annotation("_In_reads_(NumBarriers)")] const D3D12_BUFFER_BARRIER *pBufferBarriers;
- };
-} D3D12_BARRIER_GROUP;
-
-[uuid(28e2495d-0f64-4ae4-a6ec-129255dc49a8), object, local, pointer_default(unique)]
-interface ID3D12ShaderCacheSession
- : ID3D12DeviceChild
-{
- HRESULT FindValue(
- [in, annotation("_In_reads_bytes_(KeySize)")] const void* pKey,
- UINT KeySize,
- [out, annotation("_Out_writes_bytes_(*pValueSize)")] void* pValue,
- [annotation("_Inout_")] UINT* pValueSize);
- HRESULT StoreValue(
- [in, annotation("_In_reads_bytes_(KeySize)")] const void* pKey,
- UINT KeySize,
- [in, annotation("_In_reads_bytes_(ValueSize)")] const void* pValue,
- UINT ValueSize);
-
- void SetDeleteOnDestroy();
- D3D12_SHADER_CACHE_SESSION_DESC GetDesc();
-};
-
-typedef enum D3D12_SHADER_CACHE_KIND_FLAGS
-{
- D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = 0x1,
- D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = 0x2,
- D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = 0x4,
- D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = 0x8,
-} D3D12_SHADER_CACHE_KIND_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_KIND_FLAGS )")
-
-typedef enum D3D12_SHADER_CACHE_CONTROL_FLAGS
-{
- D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = 0x1,
- D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = 0x2,
- D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = 0x4,
-} D3D12_SHADER_CACHE_CONTROL_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_CONTROL_FLAGS )")
-
-[uuid(4c80e962-f032-4f60-bc9e-ebc2cfa1d83c), object, local, pointer_default(unique)]
-interface ID3D12Device9
- : ID3D12Device8
-{
- HRESULT CreateShaderCacheSession(
- [annotation("_In_")] const D3D12_SHADER_CACHE_SESSION_DESC* pDesc,
- REFIID riid,
- [annotation("_COM_Outptr_opt_")] void** ppvSession);
-
- HRESULT ShaderCacheControl(
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- HRESULT CreateCommandQueue1(
- [annotation("_In_")] const D3D12_COMMAND_QUEUE_DESC* pDesc,
- REFIID CreatorID,
- [in] REFIID riid, // Expected: ID3D12CommandQueue
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppCommandQueue
- );
-};
-
-[uuid(517f8718-aa66-49f9-b02b-a7ab89c06031), object, local, pointer_default(unique)]
-interface ID3D12Device10
- : ID3D12Device9
-{
- HRESULT CreateCommittedResource3(
- [annotation("_In_")] const D3D12_HEAP_PROPERTIES* pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- [annotation("_In_")] const D3D12_RESOURCE_DESC1* pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession* pProtectedSession,
- UINT32 NumCastableFormats,
- [annotation("_In_opt_count_(NumCastableFormats)")] const DXGI_FORMAT *pCastableFormats,
- [in] REFIID riidResource, // Expected: ID3D12Resource1*
- [out, iid_is(riidResource), annotation("_COM_Outptr_opt_")] void** ppvResource);
-
- HRESULT CreatePlacedResource2(
- [annotation("_In_")] ID3D12Heap* pHeap,
- UINT64 HeapOffset,
- [annotation("_In_")] const D3D12_RESOURCE_DESC1* pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
- UINT32 NumCastableFormats,
- [annotation("_In_opt_count_(NumCastableFormats)")] const DXGI_FORMAT *pCastableFormats,
- [in] REFIID riid, // Expected: ID3D12Resource*
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource);
-
- HRESULT CreateReservedResource2(
- [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- [annotation("_In_opt_count_(NumCastableFormats)")] const DXGI_FORMAT *pCastableFormats,
- [in] REFIID riid, // Expected: ID3D12Resource1*
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource
- );
-};
-
-[uuid(5405c344-d457-444e-b4dd-2366e45aee39), object, local, pointer_default(unique)]
-interface ID3D12Device11
- : ID3D12Device10
-{
- void CreateSampler2(
- [annotation("_In_")] const D3D12_SAMPLER_DESC2* pDesc,
- [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-};
-
-[uuid(5af5c532-4c91-4cd0-b541-15a405395fc5), object, local, pointer_default(unique)]
-interface ID3D12Device12
- : ID3D12Device11
-{
- D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo3(
- UINT visibleMask,
- UINT numResourceDescs,
- [annotation("_In_reads_(numResourceDescs)")] const D3D12_RESOURCE_DESC1* pResourceDescs,
- [annotation("_In_opt_count_(numResourceDescs)")] const UINT32* pNumCastableFormats,
- [annotation("_In_opt_count_(numResourceDescs)")] const DXGI_FORMAT *const *ppCastableFormats,
- [annotation("_Out_writes_opt_(numResourceDescs)")] D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1);
-};
-
-[uuid(14eecffc-4df8-40f7-a118-5c816f45695e), object, local, pointer_default(unique)]
-interface ID3D12Device13
- : ID3D12Device12
-{
- HRESULT OpenExistingHeapFromAddress1(
- [annotation("_In_")] const void* pAddress,
- SIZE_T size,
- [in] REFIID riid, // Expected: ID3D12Heap
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvHeap
- );
-};
-
-[uuid(5f6e592d-d895-44c2-8e4a-88ad4926d323), object, local, pointer_default(unique)]
-interface ID3D12Device14 : ID3D12Device13
-{
- HRESULT CreateRootSignatureFromSubobjectInLibrary(
- [annotation("_In_")] UINT nodeMask,
- [annotation("_In_reads_(blobLengthInBytes)")] const void* pLibraryBlob,
- [annotation("_In_")] SIZE_T blobLengthInBytes,
- [annotation("_In_opt_")] LPCWSTR subobjectName,
- [in] REFIID riid, // Expected ID3D12RootSignature
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvRootSignature);
-};
-
-
-[uuid(bc66d368-7373-4943-8757-fc87dc79e476), object, local, pointer_default(unique)]
-interface ID3D12VirtualizationGuestDevice
- : IUnknown
-{
- HRESULT ShareWithHost(
- [annotation("_In_")] ID3D12DeviceChild* pObject,
- [annotation("_Out_")] HANDLE* pHandle
- );
-
- HRESULT CreateFenceFd(
- [annotation("_In_")] ID3D12Fence *pFence,
- UINT64 FenceValue,
- [annotation("_Out_")] int *pFenceFd
- );
-};
-
-
-[uuid(7071e1f0-e84b-4b33-974f-12fa49de65c5), object, local, pointer_default(unique)]
-interface ID3D12Tools
- : IUnknown
-{
- void EnableShaderInstrumentation(BOOL bEnable);
- BOOL ShaderInstrumentationEnabled();
-}
-
-
-typedef struct D3D12_SUBRESOURCE_DATA
-{
- const void* pData;
- LONG_PTR RowPitch;
- LONG_PTR SlicePitch;
-} D3D12_SUBRESOURCE_DATA;
-
-typedef struct D3D12_MEMCPY_DEST
-{
- void* pData;
- SIZE_T RowPitch;
- SIZE_T SlicePitch;
-} D3D12_MEMCPY_DEST;
-
-
-
-cpp_quote( "#if !defined( D3D12_IGNORE_SDK_LAYERS ) ")
-cpp_quote( "#include \"d3d12sdklayers.h\" ")
-cpp_quote( "#endif ")
-
-
-cpp_quote("")
-cpp_quote("///////////////////////////////////////////////////////////////////////////")
-cpp_quote("// D3D12CreateDevice")
-cpp_quote("// ------------------")
-cpp_quote("//")
-cpp_quote("// pAdapter")
-cpp_quote("// If NULL, D3D12CreateDevice will choose the primary adapter.")
-cpp_quote("// If non-NULL, D3D12CreateDevice will use the provided adapter.")
-cpp_quote("// MinimumFeatureLevel")
-cpp_quote("// The minimum feature level required for successful device creation.")
-cpp_quote("// riid")
-cpp_quote("// The interface IID of the device to be returned. Expected: ID3D12Device.")
-cpp_quote("// ppDevice")
-cpp_quote("// Pointer to returned interface. May be NULL.")
-cpp_quote("//")
-cpp_quote("// Return Values")
-cpp_quote("// Any of those documented for ")
-cpp_quote("// CreateDXGIFactory1")
-cpp_quote("// IDXGIFactory::EnumAdapters")
-cpp_quote("// D3D12CreateDevice")
-cpp_quote("//")
-cpp_quote("///////////////////////////////////////////////////////////////////////////")
-cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_CREATE_DEVICE)( _In_opt_ IUnknown*, ")
-cpp_quote(" D3D_FEATURE_LEVEL, ")
-cpp_quote(" _In_ REFIID, _COM_Outptr_opt_ void** );")
-cpp_quote("")
-cpp_quote("HRESULT WINAPI D3D12CreateDevice(")
-cpp_quote(" _In_opt_ IUnknown* pAdapter,")
-cpp_quote(" D3D_FEATURE_LEVEL MinimumFeatureLevel,")
-cpp_quote(" _In_ REFIID riid, // Expected: ID3D12Device")
-cpp_quote(" _COM_Outptr_opt_ void** ppDevice );")
-cpp_quote("")
-
-cpp_quote("")
-cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_GET_DEBUG_INTERFACE)( _In_ REFIID, _COM_Outptr_opt_ void** );")
-cpp_quote("")
-cpp_quote("HRESULT WINAPI D3D12GetDebugInterface( _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );")
-cpp_quote("")
-
-cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------")
-cpp_quote("// D3D12EnableExperimentalFeatures")
-cpp_quote("//")
-cpp_quote("// Pass in a list of feature GUIDs to be enabled together.")
-cpp_quote("// ")
-cpp_quote("// If a particular feature requires some configuration information on enablement, it will have")
-cpp_quote("// a configuration struct that can be passed alongside the GUID.")
-cpp_quote("// ")
-cpp_quote("// Some features might use an interface IID as the GUID. For these, once the feature is enabled via")
-cpp_quote("// D3D12EnableExperimentalFeatures, D3D12GetDebugInterface can then be called with the IID to retrieve the interface")
-cpp_quote("// for manipulating the feature. This allows for control that might not cleanly be expressed by just ")
-cpp_quote("// the configuration struct that D3D12EnableExperimentalFeatures provides.")
-cpp_quote("//")
-cpp_quote("// If this method is called and a change to existing feature enablement is made, ")
-cpp_quote("// all current D3D12 devices are set to DEVICE_REMOVED state, since under the covers there is really only one")
-cpp_quote("// singleton device for a process. Removing the devices when configuration changes prevents")
-cpp_quote("// mismatched expectations of how a device is supposed to work after it has been created from the app's point of view.")
-cpp_quote("//")
-cpp_quote("// The call returns E_NOINTERFACE if an unrecognized feature is passed in or Windows Developer mode is not on.")
-cpp_quote("// The call returns E_INVALIDARG if the configuration of a feature is incorrect, the set of features passed")
-cpp_quote("// in are known to be incompatible with each other, or other errors.")
-cpp_quote("// Returns S_OK otherwise.")
-cpp_quote("//")
-cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------")
-cpp_quote("HRESULT WINAPI D3D12EnableExperimentalFeatures(")
-cpp_quote(" UINT NumFeatures,")
-cpp_quote(" _In_count_(NumFeatures) const IID* pIIDs,")
-cpp_quote(" _In_opt_count_(NumFeatures) void* pConfigurationStructs,")
-cpp_quote(" _In_opt_count_(NumFeatures) UINT* pConfigurationStructSizes);")
-cpp_quote("")
-cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------")
-cpp_quote("// Experimental Feature: D3D12ExperimentalShaderModels")
-cpp_quote("//")
-cpp_quote("// Use with D3D12EnableExperimentalFeatures to enable experimental shader model support,")
-cpp_quote("// meaning shader models that haven't been finalized for use in retail.")
-cpp_quote("//")
-cpp_quote("// Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array.")
-cpp_quote("//")
-cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------")
-cpp_quote("static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */")
-cpp_quote(" 0x76f5573e,")
-cpp_quote(" 0xf13a,")
-cpp_quote(" 0x40f5,")
-cpp_quote(" { 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f }")
-cpp_quote("};")
-cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------")
-cpp_quote("// Experimental Feature: D3D12TiledResourceTier4")
-cpp_quote("//")
-cpp_quote("// Use with D3D12EnableExperimentalFeatures to enable tiled resource tier 4 support,")
-cpp_quote("// meaning texture tile data-inheritance is allowed.")
-cpp_quote("//")
-cpp_quote("// Enabling D3D12TiledResourceTier4 needs no configuration struct, pass NULL in the pConfigurationStructs array.")
-cpp_quote("//")
-cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------")
-cpp_quote("static const UUID D3D12TiledResourceTier4 = { /* c9c4725f-a81a-4f56-8c5b-c51039d694fb */")
-cpp_quote(" 0xc9c4725f,")
-cpp_quote(" 0xa81a,")
-cpp_quote(" 0x4f56,")
-cpp_quote(" { 0x8c, 0x5b, 0xc5, 0x10, 0x39, 0xd6, 0x94, 0xfb }")
-cpp_quote("};")
-
-cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------")
-cpp_quote("// D3D12GetInterface")
-cpp_quote("//")
-cpp_quote("// Retrieve Global D3D12 Interface.")
-cpp_quote("//")
-cpp_quote("")
-cpp_quote("DEFINE_GUID(CLSID_D3D12Debug, 0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f);")
-cpp_quote("DEFINE_GUID(CLSID_D3D12Tools, 0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8);")
-cpp_quote("DEFINE_GUID(CLSID_D3D12DeviceRemovedExtendedData, 0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2);")
-cpp_quote("DEFINE_GUID(CLSID_D3D12SDKConfiguration, 0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce);")
-cpp_quote("DEFINE_GUID(CLSID_D3D12DeviceFactory, 0x114863bf, 0xc386, 0x4aee, 0xb3, 0x9d, 0x8f, 0x0b, 0xbb, 0x06, 0x29, 0x55);")
-cpp_quote("")
-cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_GET_INTERFACE)( _In_ REFCLSID, _In_ REFIID, _COM_Outptr_opt_ void** );")
-cpp_quote("")
-cpp_quote("HRESULT WINAPI D3D12GetInterface( _In_ REFCLSID rclsid, _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );")
-cpp_quote("")
-
-//==================================================================================================================================
-//
-// SDK Configuration
-//
-//==================================================================================================================================
-
-[uuid(e9eb5314-33aa-42b2-a718-d77f58b1f1c7), object, local, pointer_default(unique)]
-interface ID3D12SDKConfiguration
- : IUnknown
-{
- HRESULT SetSDKVersion(
- UINT SDKVersion,
- [annotation("_In_z_")] LPCSTR SDKPath
- );
-}
-
-[uuid(8aaf9303-ad25-48b9-9a57-d9c37e009d9f), object, local, pointer_default(unique)]
-interface ID3D12SDKConfiguration1
- : ID3D12SDKConfiguration
-{
- HRESULT CreateDeviceFactory(
- UINT SDKVersion,
- [annotation("_In_")] LPCSTR SDKPath,
- REFIID riid, // Expected: ID3D12DeviceFactory
- [annotation("_COM_Outptr_")] void **ppvFactory
- );
- void FreeUnusedSDKs();
-}
-
-typedef enum D3D12_DEVICE_FACTORY_FLAGS
-{
- D3D12_DEVICE_FACTORY_FLAG_NONE = 0,
- D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_EXISTING_DEVICE = 0x1,
- D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_INCOMPATIBLE_EXISTING_DEVICE = 0x2,
- D3D12_DEVICE_FACTORY_FLAG_DISALLOW_STORING_NEW_DEVICE_AS_SINGLETON = 0x4,
-} D3D12_DEVICE_FACTORY_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FACTORY_FLAGS )")
-
-[uuid(61f307d3-d34e-4e7c-8374-3ba4de23cccb), object, local, pointer_default(unique)]
-interface ID3D12DeviceFactory
- : IUnknown
-{
- HRESULT InitializeFromGlobalState();
- HRESULT ApplyToGlobalState();
-
- HRESULT SetFlags(D3D12_DEVICE_FACTORY_FLAGS flags);
- D3D12_DEVICE_FACTORY_FLAGS GetFlags();
-
- HRESULT GetConfigurationInterface(
- REFCLSID clsid,
- REFIID iid,
- [annotation("_COM_Outptr_")] void **ppv);
-
- HRESULT EnableExperimentalFeatures(
- UINT NumFeatures,
- [annotation("_In_reads_(NumFeatures)")] const IID *pIIDs,
- [annotation("_In_reads_opt_(NumFeatures)")] void *pConfigurationStructs,
- [annotation("_In_reads_opt_(NumFeatures)")] UINT *pConfigurationStructSizes);
-
- HRESULT CreateDevice(
- [annotation("_In_opt_")] IUnknown *adapter,
- D3D_FEATURE_LEVEL FeatureLevel,
- REFIID riid,
- [annotation("_COM_Outptr_opt_")] void **ppvDevice);
-};
-
-typedef enum D3D12_DEVICE_FLAGS
-{
- D3D12_DEVICE_FLAG_NONE = 0,
- D3D12_DEVICE_FLAG_DEBUG_LAYER_ENABLED = 0x1,
- D3D12_DEVICE_FLAG_GPU_BASED_VALIDATION_ENABLED = 0x2,
- D3D12_DEVICE_FLAG_SYNCHRONIZED_COMMAND_QUEUE_VALIDATION_DISABLED = 0x4,
- D3D12_DEVICE_FLAG_DRED_AUTO_BREADCRUMBS_ENABLED = 0x8,
- D3D12_DEVICE_FLAG_DRED_PAGE_FAULT_REPORTING_ENABLED = 0x10,
- D3D12_DEVICE_FLAG_DRED_WATSON_REPORTING_ENABLED = 0x20,
- D3D12_DEVICE_FLAG_DRED_BREADCRUMB_CONTEXT_ENABLED = 0x40,
- D3D12_DEVICE_FLAG_DRED_USE_MARKERS_ONLY_BREADCRUMBS = 0x80,
- D3D12_DEVICE_FLAG_SHADER_INSTRUMENTATION_ENABLED = 0x100,
- D3D12_DEVICE_FLAG_AUTO_DEBUG_NAME_ENABLED = 0x200,
- D3D12_DEVICE_FLAG_FORCE_LEGACY_STATE_VALIDATION = 0x400,
-} D3D12_DEVICE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FLAGS )")
-
-typedef struct D3D12_DEVICE_CONFIGURATION_DESC
-{
- D3D12_DEVICE_FLAGS Flags;
- UINT GpuBasedValidationFlags; // D3D12_GPU_BASED_VALIDATION_FLAGS from d3d12sdklayers.h
- UINT SDKVersion;
- UINT NumEnabledExperimentalFeatures;
-} D3D12_DEVICE_CONFIGURATION_DESC;
-
-[uuid(78dbf87b-f766-422b-a61c-c8c446bdb9ad), object, local, pointer_default(unique)]
-interface ID3D12DeviceConfiguration
- : IUnknown
-{
- D3D12_DEVICE_CONFIGURATION_DESC GetDesc();
- HRESULT GetEnabledExperimentalFeatures([annotation("_Out_writes_(NumGuids)")] GUID *pGuids, UINT NumGuids);
-
- HRESULT SerializeVersionedRootSignature(
- [annotation("_In_")] const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc,
- [annotation("_COM_Outptr_")] ID3DBlob **ppResult,
- [annotation("_Always_(_Outptr_opt_result_maybenull_)")] ID3DBlob **ppError);
-
- HRESULT CreateVersionedRootSignatureDeserializer(
- [annotation("_In_reads_bytes_(Size)")] const void *pBlob,
- SIZE_T Size,
- REFIID riid,
- [annotation("_COM_Outptr_")] void **ppvDeserializer);
-};
-
-[uuid(ed342442-6343-4e16-bb82-a3a577874e56), object, local, pointer_default(unique)]
-interface ID3D12DeviceConfiguration1
- : ID3D12DeviceConfiguration
-{
- HRESULT CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(
- [annotation("_In_reads_bytes_(Size)")] const void* pLibraryBlob,
- SIZE_T Size,
- LPCWSTR RootSignatureSubobjectName,
- REFIID riid,
- [annotation("_COM_Outptr_")] void** ppvDeserializer);
-};
-
-
-typedef enum D3D12_AXIS_SHADING_RATE
-{
- D3D12_AXIS_SHADING_RATE_1X = 0x0,
- D3D12_AXIS_SHADING_RATE_2X = 0x1,
- D3D12_AXIS_SHADING_RATE_4X = 0x2
-} D3D12_AXIS_SHADING_RATE;
-
-
-cpp_quote("#define D3D12_SHADING_RATE_X_AXIS_SHIFT 2")
-cpp_quote("#define D3D12_SHADING_RATE_VALID_MASK 3")
-
-cpp_quote("#define D3D12_MAKE_COARSE_SHADING_RATE(x,y) ((x) << D3D12_SHADING_RATE_X_AXIS_SHIFT | (y))")
-
-cpp_quote("#define D3D12_GET_COARSE_SHADING_RATE_X_AXIS(x) (((x) >> D3D12_SHADING_RATE_X_AXIS_SHIFT) & D3D12_SHADING_RATE_VALID_MASK)")
-cpp_quote("#define D3D12_GET_COARSE_SHADING_RATE_Y_AXIS(y) ((y) & D3D12_SHADING_RATE_VALID_MASK)")
-
-typedef enum D3D12_SHADING_RATE
-{
- D3D12_SHADING_RATE_1X1 = 0x0,
- D3D12_SHADING_RATE_1X2 = 0x1,
- D3D12_SHADING_RATE_2X1 = 0x4,
- D3D12_SHADING_RATE_2X2 = 0x5,
- D3D12_SHADING_RATE_2X4 = 0x6,
- D3D12_SHADING_RATE_4X2 = 0x9,
- D3D12_SHADING_RATE_4X4 = 0xA
-} D3D12_SHADING_RATE;
-
-typedef enum D3D12_SHADING_RATE_COMBINER
-{
- D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = 0,
- D3D12_SHADING_RATE_COMBINER_OVERRIDE = 1,
- D3D12_SHADING_RATE_COMBINER_MIN = 2,
- D3D12_SHADING_RATE_COMBINER_MAX = 3,
- D3D12_SHADING_RATE_COMBINER_SUM = 4,
-} D3D12_SHADING_RATE_COMBINER;
-
-[uuid(55050859-4024-474c-87f5-6472eaee44ea), object, local, pointer_default(unique)]
-interface ID3D12GraphicsCommandList5 : ID3D12GraphicsCommandList4
-{
- void RSSetShadingRate(
- [annotation("_In_")] D3D12_SHADING_RATE baseShadingRate,
- [annotation("_In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT)")] const D3D12_SHADING_RATE_COMBINER* combiners);
-
- void RSSetShadingRateImage(
- [annotation("_In_opt_")] ID3D12Resource* shadingRateImage);
-}
-
-typedef struct D3D12_DISPATCH_MESH_ARGUMENTS
-{
- UINT ThreadGroupCountX;
- UINT ThreadGroupCountY;
- UINT ThreadGroupCountZ;
-} D3D12_DISPATCH_MESH_ARGUMENTS;
-
-[uuid(c3827890-e548-4cfa-96cf-5689a9370f80), object, local, pointer_default(unique)]
-interface ID3D12GraphicsCommandList6 : ID3D12GraphicsCommandList5
-{
- void DispatchMesh(
- [annotation("_In_")] UINT ThreadGroupCountX,
- [annotation("_In_")] UINT ThreadGroupCountY,
- [annotation("_In_")] UINT ThreadGroupCountZ
- );
-}
-
-[uuid(dd171223-8b61-4769-90e3-160ccde4e2c1), object, local, pointer_default(unique)]
-interface ID3D12GraphicsCommandList7 : ID3D12GraphicsCommandList6
-{
- void Barrier(
- UINT32 NumBarrierGroups,
- [annotation("_In_reads_(NumBarrierGroups)")] const D3D12_BARRIER_GROUP *pBarrierGroups
- );
-};
-
-[uuid(ee936ef9-599d-4d28-938e-23c4ad05ce51), object, local, pointer_default(unique)]
-interface ID3D12GraphicsCommandList8 : ID3D12GraphicsCommandList7
-{
- void OMSetFrontAndBackStencilRef(
- [annotation("_In_")] UINT FrontStencilRef,
- [annotation("_In_")] UINT BackStencilRef
- );
-};
-
-[uuid(34ed2808-ffe6-4c2b-b11a-cabd2b0c59e1), object, local, pointer_default(unique)]
-interface ID3D12GraphicsCommandList9 : ID3D12GraphicsCommandList8
-{
- void RSSetDepthBias(
- [annotation("_In_")] FLOAT DepthBias,
- [annotation("_In_")] FLOAT DepthBiasClamp,
- [annotation("_In_")] FLOAT SlopeScaledDepthBias
- );
-
- void IASetIndexBufferStripCutValue(
- [annotation("_In_")] D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue
- );
-};
-
-[uuid(7013c015-d161-4b63-a08c-238552dd8acc), object, local, pointer_default(unique)]
-interface ID3D12GraphicsCommandList10 : ID3D12GraphicsCommandList9
-{
- void SetProgram([annotation("_In_")] const D3D12_SET_PROGRAM_DESC* pDesc);
- void DispatchGraph([annotation("_In_")] const D3D12_DISPATCH_GRAPH_DESC* pDesc);
-};
-
-
-
-[uuid(597985ab-9b75-4dbb-be23-0761195bebee), object, local, pointer_default(unique)]
-interface ID3D12GBVDiagnostics
- : IUnknown
-{
- HRESULT GetGBVEntireSubresourceStatesData( [annotation("_In_")] ID3D12Resource* pResource, [annotation("_Out_writes_bytes_(DataSize)")] int *pData, UINT DataSize );
- HRESULT GetGBVSubresourceState( [annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, [annotation("_Out_")] int *pData );
- HRESULT GetGBVResourceUniformState( [annotation("_In_")] ID3D12Resource* pResource, [annotation("_Out_")] int *pData );
- HRESULT GetGBVResourceInfo( [annotation("_In_")] ID3D12Resource* pResource,
- [annotation("_In_opt_")] D3D12_RESOURCE_DESC* pResourceDesc,
- [annotation("_In_opt_")] UINT32* pResourceHash,
- [annotation("_In_opt_")] UINT32* pSubresourceStatesByteOffset );
-
- void GBVReserved0();
-
- void GBVReserved1();
-}
-
-//----------------------------------------------------------------------------------------------------------
-// Old types which are still supported by the runtime for app-compat
-
-cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */")
-#pragma endregion
-
-cpp_quote( "DEFINE_GUID(IID_ID3D12Object,0xc4fec28f,0x7966,0x4e95,0x9f,0x94,0xf4,0x31,0xcb,0x56,0xc3,0xb8);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceChild,0x905db94b,0xa00c,0x4140,0x9d,0xf5,0x2b,0x64,0xca,0x9e,0xa3,0x57);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12RootSignature,0xc54a6b66,0x72df,0x4ee8,0x8b,0xe5,0xa9,0x46,0xa1,0x42,0x92,0x14);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12RootSignatureDeserializer,0x34AB647B,0x3CC8,0x46AC,0x84,0x1B,0xC0,0x96,0x56,0x45,0xC0,0x46);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer,0x7F91CE67,0x090C,0x4BB7,0xB7,0x8E,0xED,0x8F,0xF2,0xE3,0x1D,0xA0);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Pageable,0x63ee58fb,0x1268,0x4835,0x86,0xda,0xf0,0x08,0xce,0x62,0xf0,0xd6);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Heap,0x6b3b2502,0x6e51,0x45b3,0x90,0xee,0x98,0x84,0x26,0x5e,0x8d,0xf3);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Resource,0x696442be,0xa72e,0x4059,0xbc,0x79,0x5b,0x5c,0x98,0x04,0x0f,0xad);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12CommandAllocator,0x6102dee4,0xaf59,0x4b09,0xb9,0x99,0xb4,0x4d,0x73,0xf0,0x9b,0x24);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Fence,0x0a753dcf,0xc4d8,0x4b91,0xad,0xf6,0xbe,0x5a,0x60,0xd9,0x5a,0x76);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Fence1,0x433685fe,0xe22b,0x4ca0,0xa8,0xdb,0xb5,0xb4,0xf4,0xdd,0x0e,0x4a);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12PipelineState,0x765a30f3,0xf624,0x4c6f,0xa8,0x28,0xac,0xe9,0x48,0x62,0x24,0x45);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DescriptorHeap,0x8efb471d,0x616c,0x4f49,0x90,0xf7,0x12,0x7b,0xb7,0x63,0xfa,0x51);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12QueryHeap,0x0d9658ae,0xed45,0x469e,0xa6,0x1d,0x97,0x0e,0xc5,0x83,0xca,0xb4);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12CommandSignature,0xc36a797c,0xec80,0x4f0a,0x89,0x85,0xa7,0xb2,0x47,0x50,0x82,0xd1);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12CommandList,0x7116d91c,0xe7e4,0x47ce,0xb8,0xc6,0xec,0x81,0x68,0xf4,0x37,0xe5);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList,0x5b160d0f,0xac1b,0x4185,0x8b,0xa8,0xb3,0xae,0x42,0xa5,0xa4,0x55);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList1,0x553103fb,0x1fe7,0x4557,0xbb,0x38,0x94,0x6d,0x7d,0x0e,0x7c,0xa7);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList2,0x38C3E585,0xFF17,0x412C,0x91,0x50,0x4F,0xC6,0xF9,0xD7,0x2A,0x28);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12CommandQueue,0x0ec870a6,0x5d7e,0x4c22,0x8c,0xfc,0x5b,0xaa,0xe0,0x76,0x16,0xed);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device,0x189819f1,0x1db6,0x4b57,0xbe,0x54,0x18,0x21,0x33,0x9b,0x85,0xf7);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12PipelineLibrary,0xc64226a8,0x9201,0x46af,0xb4,0xcc,0x53,0xfb,0x9f,0xf7,0x41,0x4f);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12PipelineLibrary1,0x80eabf42,0x2568,0x4e5e,0xbd,0x82,0xc3,0x7f,0x86,0x96,0x1d,0xc3);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device1,0x77acce80,0x638e,0x4e65,0x88,0x95,0xc1,0xf2,0x33,0x86,0x86,0x3e);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device2,0x30baa41e,0xb15b,0x475c,0xa0,0xbb,0x1a,0xf5,0xc5,0xb6,0x43,0x28);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device3,0x81dadc15,0x2bad,0x4392,0x93,0xc5,0x10,0x13,0x45,0xc4,0xaa,0x98);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12ProtectedSession,0xA1533D18,0x0AC1,0x4084,0x85,0xB9,0x89,0xA9,0x61,0x16,0x80,0x6B);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12ProtectedResourceSession,0x6CD696F4,0xF289,0x40CC,0x80,0x91,0x5A,0x6C,0x0A,0x09,0x9C,0x3D);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device4,0xe865df17,0xa9ee,0x46f9,0xa4,0x63,0x30,0x98,0x31,0x5a,0xa2,0xe5);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12LifetimeOwner,0xe667af9f,0xcd56,0x4f46,0x83,0xce,0x03,0x2e,0x59,0x5d,0x70,0xa8);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12SwapChainAssistant,0xf1df64b6,0x57fd,0x49cd,0x88,0x07,0xc0,0xeb,0x88,0xb4,0x5c,0x8f);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12LifetimeTracker,0x3fd03d36,0x4eb1,0x424a,0xa5,0x82,0x49,0x4e,0xcb,0x8b,0xa8,0x13);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12StateObject,0x47016943,0xfca8,0x4594,0x93,0xea,0xaf,0x25,0x8b,0x55,0x34,0x6d);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12StateObjectProperties,0xde5fa827,0x9bf9,0x4f26,0x89,0xff,0xd7,0xf5,0x6f,0xde,0x38,0x60);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12StateObjectProperties1,0x460caac7,0x1d24,0x446a,0xa1,0x84,0xca,0x67,0xdb,0x49,0x41,0x38);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12WorkGraphProperties,0x065acf71,0xf863,0x4b89,0x82,0xf4,0x02,0xe4,0xd5,0x88,0x67,0x57);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device5,0x8b4f173b,0x2fea,0x4b80,0x8f,0x58,0x43,0x07,0x19,0x1a,0xb9,0x5d);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings,0x82BC481C,0x6B9B,0x4030,0xAE,0xDB,0x7E,0xE3,0xD1,0xDF,0x1E,0x63);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings1,0xDBD5AE51,0x3317,0x4F0A,0xAD,0xF9,0x1D,0x7C,0xED,0xCA,0xAE,0x0B);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings2,0x61552388,0x01ab,0x4008,0xa4,0x36,0x83,0xdb,0x18,0x95,0x66,0xea);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData,0x98931D33,0x5AE8,0x4791,0xAA,0x3C,0x1A,0x73,0xA2,0x93,0x4E,0x71);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData1,0x9727A022,0xCF1D,0x4DDA,0x9E,0xBA,0xEF,0xFA,0x65,0x3F,0xC5,0x06);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData2,0x67FC5816,0xE4CA,0x4915,0xBF,0x18,0x42,0x54,0x12,0x72,0xDA,0x54);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device6,0xc70b221b,0x40e4,0x4a17,0x89,0xaf,0x02,0x5a,0x07,0x27,0xa6,0xdc);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12ProtectedResourceSession1,0xD6F12DD6,0x76FB,0x406E,0x89,0x61,0x42,0x96,0xEE,0xFC,0x04,0x09);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device7,0x5c014b53,0x68a1,0x4b9b,0x8b,0xd1,0xdd,0x60,0x46,0xb9,0x35,0x8b);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device8,0x9218E6BB,0xF944,0x4F7E,0xA7,0x5C,0xB1,0xB2,0xC7,0xB7,0x01,0xF3);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Resource1,0x9D5E227A,0x4430,0x4161,0x88,0xB3,0x3E,0xCA,0x6B,0xB1,0x6E,0x19);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Resource2,0xBE36EC3B,0xEA85,0x4AEB,0xA4,0x5A,0xE9,0xD7,0x64,0x04,0xA4,0x95);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Heap1,0x572F7389,0x2168,0x49E3,0x96,0x93,0xD6,0xDF,0x58,0x71,0xBF,0x6D);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList3,0x6FDA83A7,0xB84C,0x4E38,0x9A,0xC8,0xC7,0xBD,0x22,0x01,0x6B,0x3D);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12MetaCommand,0xDBB84C27,0x36CE,0x4FC9,0xB8,0x01,0xF0,0x48,0xC4,0x6A,0xC5,0x70);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList4,0x8754318e,0xd3a9,0x4541,0x98,0xcf,0x64,0x5b,0x50,0xdc,0x48,0x74);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12ShaderCacheSession,0x28e2495d,0x0f64,0x4ae4,0xa6,0xec,0x12,0x92,0x55,0xdc,0x49,0xa8);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device9,0x4c80e962,0xf032,0x4f60,0xbc,0x9e,0xeb,0xc2,0xcf,0xa1,0xd8,0x3c);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device10,0x517f8718,0xaa66,0x49f9,0xb0,0x2b,0xa7,0xab,0x89,0xc0,0x60,0x31);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device11,0x5405c344,0xd457,0x444e,0xb4,0xdd,0x23,0x66,0xe4,0x5a,0xee,0x39);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device12,0x5af5c532,0x4c91,0x4cd0,0xb5,0x41,0x15,0xa4,0x05,0x39,0x5f,0xc5);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device13,0x14eecffc,0x4df8,0x40f7,0xa1,0x18,0x5c,0x81,0x6f,0x45,0x69,0x5e);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Device14,0x5f6e592d,0xd895,0x44c2,0x8e,0x4a,0x88,0xad,0x49,0x26,0xd3,0x23);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VirtualizationGuestDevice,0xbc66d368,0x7373,0x4943,0x87,0x57,0xfc,0x87,0xdc,0x79,0xe4,0x76);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Tools,0x7071e1f0,0xe84b,0x4b33,0x97,0x4f,0x12,0xfa,0x49,0xde,0x65,0xc5);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12SDKConfiguration,0xe9eb5314,0x33aa,0x42b2,0xa7,0x18,0xd7,0x7f,0x58,0xb1,0xf1,0xc7);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12SDKConfiguration1,0x8aaf9303,0xad25,0x48b9,0x9a,0x57,0xd9,0xc3,0x7e,0x00,0x9d,0x9f);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceFactory,0x61f307d3,0xd34e,0x4e7c,0x83,0x74,0x3b,0xa4,0xde,0x23,0xcc,0xcb);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceConfiguration,0x78dbf87b,0xf766,0x422b,0xa6,0x1c,0xc8,0xc4,0x46,0xbd,0xb9,0xad);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceConfiguration1,0xed342442,0x6343,0x4e16,0xbb,0x82,0xa3,0xa5,0x77,0x87,0x4e,0x56);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList5,0x55050859,0x4024,0x474c,0x87,0xf5,0x64,0x72,0xea,0xee,0x44,0xea);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList6,0xc3827890,0xe548,0x4cfa,0x96,0xcf,0x56,0x89,0xa9,0x37,0x0f,0x80);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList7,0xdd171223,0x8b61,0x4769,0x90,0xe3,0x16,0x0c,0xcd,0xe4,0xe2,0xc1);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList8,0xee936ef9,0x599d,0x4d28,0x93,0x8e,0x23,0xc4,0xad,0x05,0xce,0x51);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList9,0x34ed2808,0xffe6,0x4c2b,0xb1,0x1a,0xca,0xbd,0x2b,0x0c,0x59,0xe1);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList10,0x7013c015,0xd161,0x4b63,0xa0,0x8c,0x23,0x85,0x52,0xdd,0x8a,0xcc);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12GBVDiagnostics,0x597985ab,0x9b75,0x4dbb,0xbe,0x23,0x07,0x61,0x19,0x5b,0xeb,0xee);" )
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12compatibility.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3d12compatibility.h
deleted file mode 100644
index bab8d6f..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12compatibility.h
+++ /dev/null
@@ -1,819 +0,0 @@
-/*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- * Licensed under the MIT license
- *
- *-------------------------------------------------------------------------------------*/
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 8.01.0628 */
-
-
-
-/* verify that the version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 500
-#endif
-
-/* verify that the version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCSAL_H_VERSION__
-#define __REQUIRED_RPCSAL_H_VERSION__ 100
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of
-#endif /* __RPCNDR_H_VERSION__ */
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __d3d12compatibility_h__
-#define __d3d12compatibility_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-#ifndef DECLSPEC_XFGVIRT
-#if defined(_CONTROL_FLOW_GUARD_XFG)
-#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
-#else
-#define DECLSPEC_XFGVIRT(base, func)
-#endif
-#endif
-
-/* Forward Declarations */
-
-#ifndef __ID3D12CompatibilityDevice_FWD_DEFINED__
-#define __ID3D12CompatibilityDevice_FWD_DEFINED__
-typedef interface ID3D12CompatibilityDevice ID3D12CompatibilityDevice;
-
-#endif /* __ID3D12CompatibilityDevice_FWD_DEFINED__ */
-
-
-#ifndef __D3D11On12CreatorID_FWD_DEFINED__
-#define __D3D11On12CreatorID_FWD_DEFINED__
-typedef interface D3D11On12CreatorID D3D11On12CreatorID;
-
-#endif /* __D3D11On12CreatorID_FWD_DEFINED__ */
-
-
-#ifndef __D3D9On12CreatorID_FWD_DEFINED__
-#define __D3D9On12CreatorID_FWD_DEFINED__
-typedef interface D3D9On12CreatorID D3D9On12CreatorID;
-
-#endif /* __D3D9On12CreatorID_FWD_DEFINED__ */
-
-
-#ifndef __OpenGLOn12CreatorID_FWD_DEFINED__
-#define __OpenGLOn12CreatorID_FWD_DEFINED__
-typedef interface OpenGLOn12CreatorID OpenGLOn12CreatorID;
-
-#endif /* __OpenGLOn12CreatorID_FWD_DEFINED__ */
-
-
-#ifndef __OpenCLOn12CreatorID_FWD_DEFINED__
-#define __OpenCLOn12CreatorID_FWD_DEFINED__
-typedef interface OpenCLOn12CreatorID OpenCLOn12CreatorID;
-
-#endif /* __OpenCLOn12CreatorID_FWD_DEFINED__ */
-
-
-#ifndef __VulkanOn12CreatorID_FWD_DEFINED__
-#define __VulkanOn12CreatorID_FWD_DEFINED__
-typedef interface VulkanOn12CreatorID VulkanOn12CreatorID;
-
-#endif /* __VulkanOn12CreatorID_FWD_DEFINED__ */
-
-
-#ifndef __DirectMLTensorFlowCreatorID_FWD_DEFINED__
-#define __DirectMLTensorFlowCreatorID_FWD_DEFINED__
-typedef interface DirectMLTensorFlowCreatorID DirectMLTensorFlowCreatorID;
-
-#endif /* __DirectMLTensorFlowCreatorID_FWD_DEFINED__ */
-
-
-#ifndef __DirectMLPyTorchCreatorID_FWD_DEFINED__
-#define __DirectMLPyTorchCreatorID_FWD_DEFINED__
-typedef interface DirectMLPyTorchCreatorID DirectMLPyTorchCreatorID;
-
-#endif /* __DirectMLPyTorchCreatorID_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "oaidl.h"
-#include "ocidl.h"
-#include "d3d11on12.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_d3d12compatibility_0000_0000 */
-/* [local] */
-
-#include
-#pragma region Desktop Family
-#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
-typedef
-enum D3D12_COMPATIBILITY_SHARED_FLAGS
- {
- D3D12_COMPATIBILITY_SHARED_FLAG_NONE = 0,
- D3D12_COMPATIBILITY_SHARED_FLAG_NON_NT_HANDLE = 0x1,
- D3D12_COMPATIBILITY_SHARED_FLAG_KEYED_MUTEX = 0x2,
- D3D12_COMPATIBILITY_SHARED_FLAG_9_ON_12 = 0x4
- } D3D12_COMPATIBILITY_SHARED_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPATIBILITY_SHARED_FLAGS )
-typedef
-enum D3D12_REFLECT_SHARED_PROPERTY
- {
- D3D12_REFLECT_SHARED_PROPERTY_D3D11_RESOURCE_FLAGS = 0,
- D3D12_REFELCT_SHARED_PROPERTY_COMPATIBILITY_SHARED_FLAGS = ( D3D12_REFLECT_SHARED_PROPERTY_D3D11_RESOURCE_FLAGS + 1 ) ,
- D3D12_REFLECT_SHARED_PROPERTY_NON_NT_SHARED_HANDLE = ( D3D12_REFELCT_SHARED_PROPERTY_COMPATIBILITY_SHARED_FLAGS + 1 )
- } D3D12_REFLECT_SHARED_PROPERTY;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0000_v0_0_s_ifspec;
-
-#ifndef __ID3D12CompatibilityDevice_INTERFACE_DEFINED__
-#define __ID3D12CompatibilityDevice_INTERFACE_DEFINED__
-
-/* interface ID3D12CompatibilityDevice */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12CompatibilityDevice;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("8f1c0e3c-fae3-4a82-b098-bfe1708207ff")
- ID3D12CompatibilityDevice : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateSharedResource(
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ const D3D11_RESOURCE_FLAGS *pFlags11,
- D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags,
- _In_opt_ ID3D12LifetimeTracker *pLifetimeTracker,
- _In_opt_ ID3D12SwapChainAssistant *pOwningSwapchain,
- REFIID riid,
- _COM_Outptr_opt_ void **ppResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateSharedHeap(
- _In_ const D3D12_HEAP_DESC *pHeapDesc,
- D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags,
- REFIID riid,
- _COM_Outptr_opt_ void **ppHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ReflectSharedProperties(
- _In_ ID3D12Object *pHeapOrResource,
- D3D12_REFLECT_SHARED_PROPERTY ReflectType,
- _Out_writes_bytes_(DataSize) void *pData,
- UINT DataSize) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12CompatibilityDeviceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CompatibilityDevice * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CompatibilityDevice * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CompatibilityDevice * This);
-
- DECLSPEC_XFGVIRT(ID3D12CompatibilityDevice, CreateSharedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedResource )(
- ID3D12CompatibilityDevice * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ const D3D11_RESOURCE_FLAGS *pFlags11,
- D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags,
- _In_opt_ ID3D12LifetimeTracker *pLifetimeTracker,
- _In_opt_ ID3D12SwapChainAssistant *pOwningSwapchain,
- REFIID riid,
- _COM_Outptr_opt_ void **ppResource);
-
- DECLSPEC_XFGVIRT(ID3D12CompatibilityDevice, CreateSharedHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHeap )(
- ID3D12CompatibilityDevice * This,
- _In_ const D3D12_HEAP_DESC *pHeapDesc,
- D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags,
- REFIID riid,
- _COM_Outptr_opt_ void **ppHeap);
-
- DECLSPEC_XFGVIRT(ID3D12CompatibilityDevice, ReflectSharedProperties)
- HRESULT ( STDMETHODCALLTYPE *ReflectSharedProperties )(
- ID3D12CompatibilityDevice * This,
- _In_ ID3D12Object *pHeapOrResource,
- D3D12_REFLECT_SHARED_PROPERTY ReflectType,
- _Out_writes_bytes_(DataSize) void *pData,
- UINT DataSize);
-
- END_INTERFACE
- } ID3D12CompatibilityDeviceVtbl;
-
- interface ID3D12CompatibilityDevice
- {
- CONST_VTBL struct ID3D12CompatibilityDeviceVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12CompatibilityDevice_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12CompatibilityDevice_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12CompatibilityDevice_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12CompatibilityDevice_CreateSharedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pFlags11,CompatibilityFlags,pLifetimeTracker,pOwningSwapchain,riid,ppResource) \
- ( (This)->lpVtbl -> CreateSharedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pFlags11,CompatibilityFlags,pLifetimeTracker,pOwningSwapchain,riid,ppResource) )
-
-#define ID3D12CompatibilityDevice_CreateSharedHeap(This,pHeapDesc,CompatibilityFlags,riid,ppHeap) \
- ( (This)->lpVtbl -> CreateSharedHeap(This,pHeapDesc,CompatibilityFlags,riid,ppHeap) )
-
-#define ID3D12CompatibilityDevice_ReflectSharedProperties(This,pHeapOrResource,ReflectType,pData,DataSize) \
- ( (This)->lpVtbl -> ReflectSharedProperties(This,pHeapOrResource,ReflectType,pData,DataSize) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12CompatibilityDevice_INTERFACE_DEFINED__ */
-
-
-#ifndef __D3D11On12CreatorID_INTERFACE_DEFINED__
-#define __D3D11On12CreatorID_INTERFACE_DEFINED__
-
-/* interface D3D11On12CreatorID */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_D3D11On12CreatorID;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("edbf5678-2960-4e81-8429-99d4b2630c4e")
- D3D11On12CreatorID : public IUnknown
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct D3D11On12CreatorIDVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- D3D11On12CreatorID * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- D3D11On12CreatorID * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- D3D11On12CreatorID * This);
-
- END_INTERFACE
- } D3D11On12CreatorIDVtbl;
-
- interface D3D11On12CreatorID
- {
- CONST_VTBL struct D3D11On12CreatorIDVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define D3D11On12CreatorID_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define D3D11On12CreatorID_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define D3D11On12CreatorID_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __D3D11On12CreatorID_INTERFACE_DEFINED__ */
-
-
-#ifndef __D3D9On12CreatorID_INTERFACE_DEFINED__
-#define __D3D9On12CreatorID_INTERFACE_DEFINED__
-
-/* interface D3D9On12CreatorID */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_D3D9On12CreatorID;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("fffcbb7f-15d3-42a2-841e-9d8d32f37ddd")
- D3D9On12CreatorID : public IUnknown
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct D3D9On12CreatorIDVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- D3D9On12CreatorID * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- D3D9On12CreatorID * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- D3D9On12CreatorID * This);
-
- END_INTERFACE
- } D3D9On12CreatorIDVtbl;
-
- interface D3D9On12CreatorID
- {
- CONST_VTBL struct D3D9On12CreatorIDVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define D3D9On12CreatorID_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define D3D9On12CreatorID_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define D3D9On12CreatorID_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __D3D9On12CreatorID_INTERFACE_DEFINED__ */
-
-
-#ifndef __OpenGLOn12CreatorID_INTERFACE_DEFINED__
-#define __OpenGLOn12CreatorID_INTERFACE_DEFINED__
-
-/* interface OpenGLOn12CreatorID */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_OpenGLOn12CreatorID;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6bb3cd34-0d19-45ab-97ed-d720ba3dfc80")
- OpenGLOn12CreatorID : public IUnknown
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct OpenGLOn12CreatorIDVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- OpenGLOn12CreatorID * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- OpenGLOn12CreatorID * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- OpenGLOn12CreatorID * This);
-
- END_INTERFACE
- } OpenGLOn12CreatorIDVtbl;
-
- interface OpenGLOn12CreatorID
- {
- CONST_VTBL struct OpenGLOn12CreatorIDVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define OpenGLOn12CreatorID_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define OpenGLOn12CreatorID_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define OpenGLOn12CreatorID_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __OpenGLOn12CreatorID_INTERFACE_DEFINED__ */
-
-
-#ifndef __OpenCLOn12CreatorID_INTERFACE_DEFINED__
-#define __OpenCLOn12CreatorID_INTERFACE_DEFINED__
-
-/* interface OpenCLOn12CreatorID */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_OpenCLOn12CreatorID;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("3f76bb74-91b5-4a88-b126-20ca0331cd60")
- OpenCLOn12CreatorID : public IUnknown
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct OpenCLOn12CreatorIDVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- OpenCLOn12CreatorID * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- OpenCLOn12CreatorID * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- OpenCLOn12CreatorID * This);
-
- END_INTERFACE
- } OpenCLOn12CreatorIDVtbl;
-
- interface OpenCLOn12CreatorID
- {
- CONST_VTBL struct OpenCLOn12CreatorIDVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define OpenCLOn12CreatorID_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define OpenCLOn12CreatorID_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define OpenCLOn12CreatorID_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __OpenCLOn12CreatorID_INTERFACE_DEFINED__ */
-
-
-#ifndef __VulkanOn12CreatorID_INTERFACE_DEFINED__
-#define __VulkanOn12CreatorID_INTERFACE_DEFINED__
-
-/* interface VulkanOn12CreatorID */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_VulkanOn12CreatorID;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("bc806e01-3052-406c-a3e8-9fc07f048f98")
- VulkanOn12CreatorID : public IUnknown
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct VulkanOn12CreatorIDVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- VulkanOn12CreatorID * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- VulkanOn12CreatorID * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- VulkanOn12CreatorID * This);
-
- END_INTERFACE
- } VulkanOn12CreatorIDVtbl;
-
- interface VulkanOn12CreatorID
- {
- CONST_VTBL struct VulkanOn12CreatorIDVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define VulkanOn12CreatorID_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define VulkanOn12CreatorID_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define VulkanOn12CreatorID_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __VulkanOn12CreatorID_INTERFACE_DEFINED__ */
-
-
-#ifndef __DirectMLTensorFlowCreatorID_INTERFACE_DEFINED__
-#define __DirectMLTensorFlowCreatorID_INTERFACE_DEFINED__
-
-/* interface DirectMLTensorFlowCreatorID */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_DirectMLTensorFlowCreatorID;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("cb7490ac-8a0f-44ec-9b7b-6f4cafe8e9ab")
- DirectMLTensorFlowCreatorID : public IUnknown
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct DirectMLTensorFlowCreatorIDVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- DirectMLTensorFlowCreatorID * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- DirectMLTensorFlowCreatorID * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- DirectMLTensorFlowCreatorID * This);
-
- END_INTERFACE
- } DirectMLTensorFlowCreatorIDVtbl;
-
- interface DirectMLTensorFlowCreatorID
- {
- CONST_VTBL struct DirectMLTensorFlowCreatorIDVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define DirectMLTensorFlowCreatorID_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define DirectMLTensorFlowCreatorID_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define DirectMLTensorFlowCreatorID_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __DirectMLTensorFlowCreatorID_INTERFACE_DEFINED__ */
-
-
-#ifndef __DirectMLPyTorchCreatorID_INTERFACE_DEFINED__
-#define __DirectMLPyTorchCreatorID_INTERFACE_DEFINED__
-
-/* interface DirectMLPyTorchCreatorID */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_DirectMLPyTorchCreatorID;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("af029192-fba1-4b05-9116-235e06560354")
- DirectMLPyTorchCreatorID : public IUnknown
- {
- public:
- };
-
-
-#else /* C style interface */
-
- typedef struct DirectMLPyTorchCreatorIDVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- DirectMLPyTorchCreatorID * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- DirectMLPyTorchCreatorID * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- DirectMLPyTorchCreatorID * This);
-
- END_INTERFACE
- } DirectMLPyTorchCreatorIDVtbl;
-
- interface DirectMLPyTorchCreatorID
- {
- CONST_VTBL struct DirectMLPyTorchCreatorIDVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define DirectMLPyTorchCreatorID_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define DirectMLPyTorchCreatorID_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define DirectMLPyTorchCreatorID_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __DirectMLPyTorchCreatorID_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12compatibility_0000_0008 */
-/* [local] */
-
-#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */
-#pragma endregion
-DEFINE_GUID(IID_ID3D12CompatibilityDevice,0x8f1c0e3c,0xfae3,0x4a82,0xb0,0x98,0xbf,0xe1,0x70,0x82,0x07,0xff);
-DEFINE_GUID(IID_D3D11On12CreatorID,0xedbf5678,0x2960,0x4e81,0x84,0x29,0x99,0xd4,0xb2,0x63,0x0c,0x4e);
-DEFINE_GUID(IID_D3D9On12CreatorID,0xfffcbb7f,0x15d3,0x42a2,0x84,0x1e,0x9d,0x8d,0x32,0xf3,0x7d,0xdd);
-DEFINE_GUID(IID_OpenGLOn12CreatorID,0x6bb3cd34,0x0d19,0x45ab,0x97,0xed,0xd7,0x20,0xba,0x3d,0xfc,0x80);
-DEFINE_GUID(IID_OpenCLOn12CreatorID,0x3f76bb74,0x91b5,0x4a88,0xb1,0x26,0x20,0xca,0x03,0x31,0xcd,0x60);
-DEFINE_GUID(IID_VulkanOn12CreatorID,0xbc806e01,0x3052,0x406c,0xa3,0xe8,0x9f,0xc0,0x7f,0x04,0x8f,0x98);
-DEFINE_GUID(IID_DirectMLTensorFlowCreatorID,0xcb7490ac,0x8a0f,0x44ec,0x9b,0x7b,0x6f,0x4c,0xaf,0xe8,0xe9,0xab);
-DEFINE_GUID(IID_DirectMLPyTorchCreatorID,0xaf029192,0xfba1,0x4b05,0x91,0x16,0x23,0x5e,0x06,0x56,0x03,0x54);
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0008_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0008_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12compatibility.idl b/Juliet/src/Graphics/DX12/D3D12/directx/d3d12compatibility.idl
deleted file mode 100644
index f0f6edd..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12compatibility.idl
+++ /dev/null
@@ -1,96 +0,0 @@
-/*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- * Licensed under the MIT license
- *
- *-------------------------------------------------------------------------------------*/
-import "oaidl.idl";
-import "ocidl.idl";
-
-import "d3d11on12.idl";
-
-cpp_quote("#include ")
-
-#pragma region Desktop Family
-cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)")
-
-typedef enum D3D12_COMPATIBILITY_SHARED_FLAGS
-{
- D3D12_COMPATIBILITY_SHARED_FLAG_NONE = 0,
- D3D12_COMPATIBILITY_SHARED_FLAG_NON_NT_HANDLE = 0x1,
- D3D12_COMPATIBILITY_SHARED_FLAG_KEYED_MUTEX = 0x2,
- D3D12_COMPATIBILITY_SHARED_FLAG_9_ON_12 = 0x4,
-
-} D3D12_COMPATIBILITY_SHARED_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPATIBILITY_SHARED_FLAGS )" )
-
-typedef enum D3D12_REFLECT_SHARED_PROPERTY
-{
- D3D12_REFLECT_SHARED_PROPERTY_D3D11_RESOURCE_FLAGS, // D3D11_RESOURCE_FLAGS
- D3D12_REFELCT_SHARED_PROPERTY_COMPATIBILITY_SHARED_FLAGS, // D3D12_COMPATIBILITY_SHARED_FLAGS
- D3D12_REFLECT_SHARED_PROPERTY_NON_NT_SHARED_HANDLE, // HANDLE
-} D3D12_REFLECT_SHARED_PROPERTY;
-
-[ uuid( 8f1c0e3c-fae3-4a82-b098-bfe1708207ff ), object, local, pointer_default( unique ) ]
-interface ID3D12CompatibilityDevice
- : IUnknown
-{
- HRESULT CreateSharedResource(
- [annotation("_In_")] const D3D12_HEAP_PROPERTIES* pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue,
- [annotation("_In_opt_")] const D3D11_RESOURCE_FLAGS* pFlags11,
- D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags,
- [annotation("_In_opt_")] ID3D12LifetimeTracker* pLifetimeTracker,
- [annotation("_In_opt_")] ID3D12SwapChainAssistant* pOwningSwapchain,
- REFIID riid,
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppResource);
-
- HRESULT CreateSharedHeap(
- [annotation("_In_")] const D3D12_HEAP_DESC* pHeapDesc,
- D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags,
- REFIID riid,
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppHeap);
-
- HRESULT ReflectSharedProperties(
- [annotation("_In_")] ID3D12Object* pHeapOrResource,
- D3D12_REFLECT_SHARED_PROPERTY ReflectType,
- [annotation("_Out_writes_bytes_(DataSize)")] void* pData,
- UINT DataSize);
-}
-
-[uuid(edbf5678-2960-4e81-8429-99d4b2630c4e), object, local, pointer_default(unique)]
-interface D3D11On12CreatorID : IUnknown { };
-
-[uuid(fffcbb7f-15d3-42a2-841e-9d8d32f37ddd), object, local, pointer_default(unique)]
-interface D3D9On12CreatorID : IUnknown { };
-
-[uuid(6bb3cd34-0d19-45ab-97ed-d720ba3dfc80), object, local, pointer_default(unique)]
-interface OpenGLOn12CreatorID : IUnknown { };
-
-[uuid(3f76bb74-91b5-4a88-b126-20ca0331cd60), object, local, pointer_default(unique)]
-interface OpenCLOn12CreatorID : IUnknown { };
-
-[uuid(bc806e01-3052-406c-a3e8-9fc07f048f98), object, local, pointer_default(unique)]
-interface VulkanOn12CreatorID : IUnknown { };
-
-[uuid(cb7490ac-8a0f-44ec-9b7b-6f4cafe8e9ab), object, local, pointer_default(unique)]
-interface DirectMLTensorFlowCreatorID : IUnknown { };
-
-[uuid(af029192-fba1-4b05-9116-235e06560354), object, local, pointer_default(unique)]
-interface DirectMLPyTorchCreatorID : IUnknown { };
-
-
-cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */")
-#pragma endregion
-
-cpp_quote( "DEFINE_GUID(IID_ID3D12CompatibilityDevice,0x8f1c0e3c,0xfae3,0x4a82,0xb0,0x98,0xbf,0xe1,0x70,0x82,0x07,0xff);" )
-cpp_quote( "DEFINE_GUID(IID_D3D11On12CreatorID,0xedbf5678,0x2960,0x4e81,0x84,0x29,0x99,0xd4,0xb2,0x63,0x0c,0x4e);" )
-cpp_quote( "DEFINE_GUID(IID_D3D9On12CreatorID,0xfffcbb7f,0x15d3,0x42a2,0x84,0x1e,0x9d,0x8d,0x32,0xf3,0x7d,0xdd);" )
-cpp_quote( "DEFINE_GUID(IID_OpenGLOn12CreatorID,0x6bb3cd34,0x0d19,0x45ab,0x97,0xed,0xd7,0x20,0xba,0x3d,0xfc,0x80);" )
-cpp_quote( "DEFINE_GUID(IID_OpenCLOn12CreatorID,0x3f76bb74,0x91b5,0x4a88,0xb1,0x26,0x20,0xca,0x03,0x31,0xcd,0x60);" )
-cpp_quote( "DEFINE_GUID(IID_VulkanOn12CreatorID,0xbc806e01,0x3052,0x406c,0xa3,0xe8,0x9f,0xc0,0x7f,0x04,0x8f,0x98);" )
-cpp_quote( "DEFINE_GUID(IID_DirectMLTensorFlowCreatorID,0xcb7490ac,0x8a0f,0x44ec,0x9b,0x7b,0x6f,0x4c,0xaf,0xe8,0xe9,0xab);" )
-cpp_quote( "DEFINE_GUID(IID_DirectMLPyTorchCreatorID,0xaf029192,0xfba1,0x4b05,0x91,0x16,0x23,0x5e,0x06,0x56,0x03,0x54);" )
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12sdklayers.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3d12sdklayers.h
deleted file mode 100644
index 3bab2e3..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12sdklayers.h
+++ /dev/null
@@ -1,4263 +0,0 @@
-/*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- * Licensed under the MIT license
- *
- *-------------------------------------------------------------------------------------*/
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 8.01.0628 */
-
-
-
-/* verify that the version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 500
-#endif
-
-/* verify that the version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCSAL_H_VERSION__
-#define __REQUIRED_RPCSAL_H_VERSION__ 100
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of
-#endif /* __RPCNDR_H_VERSION__ */
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __d3d12sdklayers_h__
-#define __d3d12sdklayers_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-#ifndef DECLSPEC_XFGVIRT
-#if defined(_CONTROL_FLOW_GUARD_XFG)
-#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
-#else
-#define DECLSPEC_XFGVIRT(base, func)
-#endif
-#endif
-
-/* Forward Declarations */
-
-#ifndef __ID3D12Debug_FWD_DEFINED__
-#define __ID3D12Debug_FWD_DEFINED__
-typedef interface ID3D12Debug ID3D12Debug;
-
-#endif /* __ID3D12Debug_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Debug1_FWD_DEFINED__
-#define __ID3D12Debug1_FWD_DEFINED__
-typedef interface ID3D12Debug1 ID3D12Debug1;
-
-#endif /* __ID3D12Debug1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Debug2_FWD_DEFINED__
-#define __ID3D12Debug2_FWD_DEFINED__
-typedef interface ID3D12Debug2 ID3D12Debug2;
-
-#endif /* __ID3D12Debug2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Debug3_FWD_DEFINED__
-#define __ID3D12Debug3_FWD_DEFINED__
-typedef interface ID3D12Debug3 ID3D12Debug3;
-
-#endif /* __ID3D12Debug3_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Debug4_FWD_DEFINED__
-#define __ID3D12Debug4_FWD_DEFINED__
-typedef interface ID3D12Debug4 ID3D12Debug4;
-
-#endif /* __ID3D12Debug4_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Debug5_FWD_DEFINED__
-#define __ID3D12Debug5_FWD_DEFINED__
-typedef interface ID3D12Debug5 ID3D12Debug5;
-
-#endif /* __ID3D12Debug5_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12Debug6_FWD_DEFINED__
-#define __ID3D12Debug6_FWD_DEFINED__
-typedef interface ID3D12Debug6 ID3D12Debug6;
-
-#endif /* __ID3D12Debug6_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DebugDevice1_FWD_DEFINED__
-#define __ID3D12DebugDevice1_FWD_DEFINED__
-typedef interface ID3D12DebugDevice1 ID3D12DebugDevice1;
-
-#endif /* __ID3D12DebugDevice1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DebugDevice_FWD_DEFINED__
-#define __ID3D12DebugDevice_FWD_DEFINED__
-typedef interface ID3D12DebugDevice ID3D12DebugDevice;
-
-#endif /* __ID3D12DebugDevice_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DebugDevice2_FWD_DEFINED__
-#define __ID3D12DebugDevice2_FWD_DEFINED__
-typedef interface ID3D12DebugDevice2 ID3D12DebugDevice2;
-
-#endif /* __ID3D12DebugDevice2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DebugCommandQueue_FWD_DEFINED__
-#define __ID3D12DebugCommandQueue_FWD_DEFINED__
-typedef interface ID3D12DebugCommandQueue ID3D12DebugCommandQueue;
-
-#endif /* __ID3D12DebugCommandQueue_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DebugCommandQueue1_FWD_DEFINED__
-#define __ID3D12DebugCommandQueue1_FWD_DEFINED__
-typedef interface ID3D12DebugCommandQueue1 ID3D12DebugCommandQueue1;
-
-#endif /* __ID3D12DebugCommandQueue1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DebugCommandList1_FWD_DEFINED__
-#define __ID3D12DebugCommandList1_FWD_DEFINED__
-typedef interface ID3D12DebugCommandList1 ID3D12DebugCommandList1;
-
-#endif /* __ID3D12DebugCommandList1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DebugCommandList_FWD_DEFINED__
-#define __ID3D12DebugCommandList_FWD_DEFINED__
-typedef interface ID3D12DebugCommandList ID3D12DebugCommandList;
-
-#endif /* __ID3D12DebugCommandList_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DebugCommandList2_FWD_DEFINED__
-#define __ID3D12DebugCommandList2_FWD_DEFINED__
-typedef interface ID3D12DebugCommandList2 ID3D12DebugCommandList2;
-
-#endif /* __ID3D12DebugCommandList2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12DebugCommandList3_FWD_DEFINED__
-#define __ID3D12DebugCommandList3_FWD_DEFINED__
-typedef interface ID3D12DebugCommandList3 ID3D12DebugCommandList3;
-
-#endif /* __ID3D12DebugCommandList3_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12SharingContract_FWD_DEFINED__
-#define __ID3D12SharingContract_FWD_DEFINED__
-typedef interface ID3D12SharingContract ID3D12SharingContract;
-
-#endif /* __ID3D12SharingContract_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12ManualWriteTrackingResource_FWD_DEFINED__
-#define __ID3D12ManualWriteTrackingResource_FWD_DEFINED__
-typedef interface ID3D12ManualWriteTrackingResource ID3D12ManualWriteTrackingResource;
-
-#endif /* __ID3D12ManualWriteTrackingResource_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12InfoQueue_FWD_DEFINED__
-#define __ID3D12InfoQueue_FWD_DEFINED__
-typedef interface ID3D12InfoQueue ID3D12InfoQueue;
-
-#endif /* __ID3D12InfoQueue_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12InfoQueue1_FWD_DEFINED__
-#define __ID3D12InfoQueue1_FWD_DEFINED__
-typedef interface ID3D12InfoQueue1 ID3D12InfoQueue1;
-
-#endif /* __ID3D12InfoQueue1_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "oaidl.h"
-#include "ocidl.h"
-#include "d3d12.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_d3d12sdklayers_0000_0000 */
-/* [local] */
-
-#include
-#pragma region App Family
-#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_s_ifspec;
-
-#ifndef __ID3D12Debug_INTERFACE_DEFINED__
-#define __ID3D12Debug_INTERFACE_DEFINED__
-
-/* interface ID3D12Debug */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Debug;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("344488b7-6846-474b-b989-f027448245e0")
- ID3D12Debug : public IUnknown
- {
- public:
- virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DebugVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Debug * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Debug * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Debug * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer)
- void ( STDMETHODCALLTYPE *EnableDebugLayer )(
- ID3D12Debug * This);
-
- END_INTERFACE
- } ID3D12DebugVtbl;
-
- interface ID3D12Debug
- {
- CONST_VTBL struct ID3D12DebugVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Debug_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Debug_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Debug_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Debug_EnableDebugLayer(This) \
- ( (This)->lpVtbl -> EnableDebugLayer(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Debug_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12sdklayers_0000_0001 */
-/* [local] */
-
-typedef
-enum D3D12_GPU_BASED_VALIDATION_FLAGS
- {
- D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = 0,
- D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = 0x1
- } D3D12_GPU_BASED_VALIDATION_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_FLAGS)
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_s_ifspec;
-
-#ifndef __ID3D12Debug1_INTERFACE_DEFINED__
-#define __ID3D12Debug1_INTERFACE_DEFINED__
-
-/* interface ID3D12Debug1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Debug1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("affaa4ca-63fe-4d8e-b8ad-159000af4304")
- ID3D12Debug1 : public IUnknown
- {
- public:
- virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0;
-
- virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation(
- BOOL Enable) = 0;
-
- virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation(
- BOOL Enable) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Debug1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Debug1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Debug1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Debug1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug1, EnableDebugLayer)
- void ( STDMETHODCALLTYPE *EnableDebugLayer )(
- ID3D12Debug1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug1, SetEnableGPUBasedValidation)
- void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
- ID3D12Debug1 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Debug1, SetEnableSynchronizedCommandQueueValidation)
- void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
- ID3D12Debug1 * This,
- BOOL Enable);
-
- END_INTERFACE
- } ID3D12Debug1Vtbl;
-
- interface ID3D12Debug1
- {
- CONST_VTBL struct ID3D12Debug1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Debug1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Debug1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Debug1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Debug1_EnableDebugLayer(This) \
- ( (This)->lpVtbl -> EnableDebugLayer(This) )
-
-#define ID3D12Debug1_SetEnableGPUBasedValidation(This,Enable) \
- ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
-
-#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
- ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Debug1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Debug2_INTERFACE_DEFINED__
-#define __ID3D12Debug2_INTERFACE_DEFINED__
-
-/* interface ID3D12Debug2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Debug2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("93a665c4-a3b2-4e5d-b692-a26ae14e3374")
- ID3D12Debug2 : public IUnknown
- {
- public:
- virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags(
- D3D12_GPU_BASED_VALIDATION_FLAGS Flags) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Debug2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Debug2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Debug2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Debug2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug2, SetGPUBasedValidationFlags)
- void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )(
- ID3D12Debug2 * This,
- D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
-
- END_INTERFACE
- } ID3D12Debug2Vtbl;
-
- interface ID3D12Debug2
- {
- CONST_VTBL struct ID3D12Debug2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Debug2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Debug2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Debug2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Debug2_SetGPUBasedValidationFlags(This,Flags) \
- ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Debug2_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Debug3_INTERFACE_DEFINED__
-#define __ID3D12Debug3_INTERFACE_DEFINED__
-
-/* interface ID3D12Debug3 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Debug3;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("5cf4e58f-f671-4ff1-a542-3686e3d153d1")
- ID3D12Debug3 : public ID3D12Debug
- {
- public:
- virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation(
- BOOL Enable) = 0;
-
- virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation(
- BOOL Enable) = 0;
-
- virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags(
- D3D12_GPU_BASED_VALIDATION_FLAGS Flags) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Debug3Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Debug3 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Debug3 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Debug3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer)
- void ( STDMETHODCALLTYPE *EnableDebugLayer )(
- ID3D12Debug3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation)
- void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
- ID3D12Debug3 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation)
- void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
- ID3D12Debug3 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags)
- void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )(
- ID3D12Debug3 * This,
- D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
-
- END_INTERFACE
- } ID3D12Debug3Vtbl;
-
- interface ID3D12Debug3
- {
- CONST_VTBL struct ID3D12Debug3Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Debug3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Debug3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Debug3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Debug3_EnableDebugLayer(This) \
- ( (This)->lpVtbl -> EnableDebugLayer(This) )
-
-
-#define ID3D12Debug3_SetEnableGPUBasedValidation(This,Enable) \
- ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
-
-#define ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
- ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
-
-#define ID3D12Debug3_SetGPUBasedValidationFlags(This,Flags) \
- ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Debug3_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Debug4_INTERFACE_DEFINED__
-#define __ID3D12Debug4_INTERFACE_DEFINED__
-
-/* interface ID3D12Debug4 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Debug4;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("014b816e-9ec5-4a2f-a845-ffbe441ce13a")
- ID3D12Debug4 : public ID3D12Debug3
- {
- public:
- virtual void STDMETHODCALLTYPE DisableDebugLayer( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Debug4Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Debug4 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Debug4 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Debug4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer)
- void ( STDMETHODCALLTYPE *EnableDebugLayer )(
- ID3D12Debug4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation)
- void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
- ID3D12Debug4 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation)
- void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
- ID3D12Debug4 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags)
- void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )(
- ID3D12Debug4 * This,
- D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer)
- void ( STDMETHODCALLTYPE *DisableDebugLayer )(
- ID3D12Debug4 * This);
-
- END_INTERFACE
- } ID3D12Debug4Vtbl;
-
- interface ID3D12Debug4
- {
- CONST_VTBL struct ID3D12Debug4Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Debug4_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Debug4_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Debug4_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Debug4_EnableDebugLayer(This) \
- ( (This)->lpVtbl -> EnableDebugLayer(This) )
-
-
-#define ID3D12Debug4_SetEnableGPUBasedValidation(This,Enable) \
- ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
-
-#define ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
- ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
-
-#define ID3D12Debug4_SetGPUBasedValidationFlags(This,Flags) \
- ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) )
-
-
-#define ID3D12Debug4_DisableDebugLayer(This) \
- ( (This)->lpVtbl -> DisableDebugLayer(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Debug4_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Debug5_INTERFACE_DEFINED__
-#define __ID3D12Debug5_INTERFACE_DEFINED__
-
-/* interface ID3D12Debug5 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Debug5;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("548d6b12-09fa-40e0-9069-5dcd589a52c9")
- ID3D12Debug5 : public ID3D12Debug4
- {
- public:
- virtual void STDMETHODCALLTYPE SetEnableAutoName(
- BOOL Enable) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Debug5Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Debug5 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Debug5 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Debug5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer)
- void ( STDMETHODCALLTYPE *EnableDebugLayer )(
- ID3D12Debug5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation)
- void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
- ID3D12Debug5 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation)
- void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
- ID3D12Debug5 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags)
- void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )(
- ID3D12Debug5 * This,
- D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer)
- void ( STDMETHODCALLTYPE *DisableDebugLayer )(
- ID3D12Debug5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug5, SetEnableAutoName)
- void ( STDMETHODCALLTYPE *SetEnableAutoName )(
- ID3D12Debug5 * This,
- BOOL Enable);
-
- END_INTERFACE
- } ID3D12Debug5Vtbl;
-
- interface ID3D12Debug5
- {
- CONST_VTBL struct ID3D12Debug5Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Debug5_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Debug5_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Debug5_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Debug5_EnableDebugLayer(This) \
- ( (This)->lpVtbl -> EnableDebugLayer(This) )
-
-
-#define ID3D12Debug5_SetEnableGPUBasedValidation(This,Enable) \
- ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
-
-#define ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
- ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
-
-#define ID3D12Debug5_SetGPUBasedValidationFlags(This,Flags) \
- ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) )
-
-
-#define ID3D12Debug5_DisableDebugLayer(This) \
- ( (This)->lpVtbl -> DisableDebugLayer(This) )
-
-
-#define ID3D12Debug5_SetEnableAutoName(This,Enable) \
- ( (This)->lpVtbl -> SetEnableAutoName(This,Enable) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Debug5_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12Debug6_INTERFACE_DEFINED__
-#define __ID3D12Debug6_INTERFACE_DEFINED__
-
-/* interface ID3D12Debug6 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12Debug6;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("82a816d6-5d01-4157-97d0-4975463fd1ed")
- ID3D12Debug6 : public ID3D12Debug5
- {
- public:
- virtual void STDMETHODCALLTYPE SetForceLegacyBarrierValidation(
- BOOL Enable) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12Debug6Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Debug6 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Debug6 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Debug6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer)
- void ( STDMETHODCALLTYPE *EnableDebugLayer )(
- ID3D12Debug6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation)
- void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
- ID3D12Debug6 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation)
- void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
- ID3D12Debug6 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags)
- void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )(
- ID3D12Debug6 * This,
- D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer)
- void ( STDMETHODCALLTYPE *DisableDebugLayer )(
- ID3D12Debug6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Debug5, SetEnableAutoName)
- void ( STDMETHODCALLTYPE *SetEnableAutoName )(
- ID3D12Debug6 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Debug6, SetForceLegacyBarrierValidation)
- void ( STDMETHODCALLTYPE *SetForceLegacyBarrierValidation )(
- ID3D12Debug6 * This,
- BOOL Enable);
-
- END_INTERFACE
- } ID3D12Debug6Vtbl;
-
- interface ID3D12Debug6
- {
- CONST_VTBL struct ID3D12Debug6Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12Debug6_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12Debug6_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12Debug6_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12Debug6_EnableDebugLayer(This) \
- ( (This)->lpVtbl -> EnableDebugLayer(This) )
-
-
-#define ID3D12Debug6_SetEnableGPUBasedValidation(This,Enable) \
- ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
-
-#define ID3D12Debug6_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
- ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
-
-#define ID3D12Debug6_SetGPUBasedValidationFlags(This,Flags) \
- ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) )
-
-
-#define ID3D12Debug6_DisableDebugLayer(This) \
- ( (This)->lpVtbl -> DisableDebugLayer(This) )
-
-
-#define ID3D12Debug6_SetEnableAutoName(This,Enable) \
- ( (This)->lpVtbl -> SetEnableAutoName(This,Enable) )
-
-
-#define ID3D12Debug6_SetForceLegacyBarrierValidation(This,Enable) \
- ( (This)->lpVtbl -> SetForceLegacyBarrierValidation(This,Enable) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12Debug6_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12sdklayers_0000_0007 */
-/* [local] */
-
-DEFINE_GUID(WKPDID_D3DAutoDebugObjectNameW, 0xd4902e36, 0x757a, 0x4942, 0x95, 0x94, 0xb6, 0x76, 0x9a, 0xfa, 0x43, 0xcd);
-typedef
-enum D3D12_RLDO_FLAGS
- {
- D3D12_RLDO_NONE = 0,
- D3D12_RLDO_SUMMARY = 0x1,
- D3D12_RLDO_DETAIL = 0x2,
- D3D12_RLDO_IGNORE_INTERNAL = 0x4
- } D3D12_RLDO_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS)
-typedef
-enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE
- {
- D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0,
- D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = ( D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS + 1 ) ,
- D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS + 1 )
- } D3D12_DEBUG_DEVICE_PARAMETER_TYPE;
-
-typedef
-enum D3D12_DEBUG_FEATURE
- {
- D3D12_DEBUG_FEATURE_NONE = 0,
- D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x1,
- D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x2,
- D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x4,
- D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = 0x8
- } D3D12_DEBUG_FEATURE;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE)
-typedef
-enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE
- {
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0,
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE + 1 ) ,
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY + 1 ) ,
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION + 1 ) ,
- NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION + 1 )
- } D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE;
-
-typedef
-enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS
- {
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0,
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x1,
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x2,
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x4,
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x7
- } D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS)
-typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS
- {
- UINT MaxMessagesPerCommandList;
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode;
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags;
- } D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS;
-
-typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR
- {
- FLOAT SlowdownFactor;
- } D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_s_ifspec;
-
-#ifndef __ID3D12DebugDevice1_INTERFACE_DEFINED__
-#define __ID3D12DebugDevice1_INTERFACE_DEFINED__
-
-/* interface ID3D12DebugDevice1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DebugDevice1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("a9b71770-d099-4a65-a698-3dee10020f88")
- ID3D12DebugDevice1 : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
- D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
- _In_reads_bytes_(DataSize) const void *pData,
- UINT DataSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
- D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
- _Out_writes_bytes_(DataSize) void *pData,
- UINT DataSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects(
- D3D12_RLDO_FLAGS Flags) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DebugDevice1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DebugDevice1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DebugDevice1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DebugDevice1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugDevice1, SetDebugParameter)
- HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
- ID3D12DebugDevice1 * This,
- D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
- _In_reads_bytes_(DataSize) const void *pData,
- UINT DataSize);
-
- DECLSPEC_XFGVIRT(ID3D12DebugDevice1, GetDebugParameter)
- HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
- ID3D12DebugDevice1 * This,
- D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
- _Out_writes_bytes_(DataSize) void *pData,
- UINT DataSize);
-
- DECLSPEC_XFGVIRT(ID3D12DebugDevice1, ReportLiveDeviceObjects)
- HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )(
- ID3D12DebugDevice1 * This,
- D3D12_RLDO_FLAGS Flags);
-
- END_INTERFACE
- } ID3D12DebugDevice1Vtbl;
-
- interface ID3D12DebugDevice1
- {
- CONST_VTBL struct ID3D12DebugDevice1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DebugDevice1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DebugDevice1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DebugDevice1_SetDebugParameter(This,Type,pData,DataSize) \
- ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
-
-#define ID3D12DebugDevice1_GetDebugParameter(This,Type,pData,DataSize) \
- ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
-
-#define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,Flags) \
- ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DebugDevice1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DebugDevice_INTERFACE_DEFINED__
-#define __ID3D12DebugDevice_INTERFACE_DEFINED__
-
-/* interface ID3D12DebugDevice */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DebugDevice;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("3febd6dd-4973-4787-8194-e45f9e28923e")
- ID3D12DebugDevice : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetFeatureMask(
- D3D12_DEBUG_FEATURE Mask) = 0;
-
- virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects(
- D3D12_RLDO_FLAGS Flags) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DebugDeviceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DebugDevice * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DebugDevice * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DebugDevice * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugDevice, SetFeatureMask)
- HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )(
- ID3D12DebugDevice * This,
- D3D12_DEBUG_FEATURE Mask);
-
- DECLSPEC_XFGVIRT(ID3D12DebugDevice, GetFeatureMask)
- D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )(
- ID3D12DebugDevice * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugDevice, ReportLiveDeviceObjects)
- HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )(
- ID3D12DebugDevice * This,
- D3D12_RLDO_FLAGS Flags);
-
- END_INTERFACE
- } ID3D12DebugDeviceVtbl;
-
- interface ID3D12DebugDevice
- {
- CONST_VTBL struct ID3D12DebugDeviceVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DebugDevice_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DebugDevice_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DebugDevice_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DebugDevice_SetFeatureMask(This,Mask) \
- ( (This)->lpVtbl -> SetFeatureMask(This,Mask) )
-
-#define ID3D12DebugDevice_GetFeatureMask(This) \
- ( (This)->lpVtbl -> GetFeatureMask(This) )
-
-#define ID3D12DebugDevice_ReportLiveDeviceObjects(This,Flags) \
- ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DebugDevice_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DebugDevice2_INTERFACE_DEFINED__
-#define __ID3D12DebugDevice2_INTERFACE_DEFINED__
-
-/* interface ID3D12DebugDevice2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DebugDevice2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("60eccbc1-378d-4df1-894c-f8ac5ce4d7dd")
- ID3D12DebugDevice2 : public ID3D12DebugDevice
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
- D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
- _In_reads_bytes_(DataSize) const void *pData,
- UINT DataSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
- D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
- _Out_writes_bytes_(DataSize) void *pData,
- UINT DataSize) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DebugDevice2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DebugDevice2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DebugDevice2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DebugDevice2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugDevice, SetFeatureMask)
- HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )(
- ID3D12DebugDevice2 * This,
- D3D12_DEBUG_FEATURE Mask);
-
- DECLSPEC_XFGVIRT(ID3D12DebugDevice, GetFeatureMask)
- D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )(
- ID3D12DebugDevice2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugDevice, ReportLiveDeviceObjects)
- HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )(
- ID3D12DebugDevice2 * This,
- D3D12_RLDO_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12DebugDevice2, SetDebugParameter)
- HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
- ID3D12DebugDevice2 * This,
- D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
- _In_reads_bytes_(DataSize) const void *pData,
- UINT DataSize);
-
- DECLSPEC_XFGVIRT(ID3D12DebugDevice2, GetDebugParameter)
- HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
- ID3D12DebugDevice2 * This,
- D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
- _Out_writes_bytes_(DataSize) void *pData,
- UINT DataSize);
-
- END_INTERFACE
- } ID3D12DebugDevice2Vtbl;
-
- interface ID3D12DebugDevice2
- {
- CONST_VTBL struct ID3D12DebugDevice2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DebugDevice2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DebugDevice2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DebugDevice2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DebugDevice2_SetFeatureMask(This,Mask) \
- ( (This)->lpVtbl -> SetFeatureMask(This,Mask) )
-
-#define ID3D12DebugDevice2_GetFeatureMask(This) \
- ( (This)->lpVtbl -> GetFeatureMask(This) )
-
-#define ID3D12DebugDevice2_ReportLiveDeviceObjects(This,Flags) \
- ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) )
-
-
-#define ID3D12DebugDevice2_SetDebugParameter(This,Type,pData,DataSize) \
- ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
-
-#define ID3D12DebugDevice2_GetDebugParameter(This,Type,pData,DataSize) \
- ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DebugDevice2_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12sdklayers_0000_0010 */
-/* [local] */
-
-DEFINE_GUID(DXGI_DEBUG_D3D12, 0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95);
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0010_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0010_v0_0_s_ifspec;
-
-#ifndef __ID3D12DebugCommandQueue_INTERFACE_DEFINED__
-#define __ID3D12DebugCommandQueue_INTERFACE_DEFINED__
-
-/* interface ID3D12DebugCommandQueue */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DebugCommandQueue;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("09e0bf36-54ac-484f-8847-4baeeab6053a")
- ID3D12DebugCommandQueue : public IUnknown
- {
- public:
- virtual BOOL STDMETHODCALLTYPE AssertResourceState(
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- UINT State) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DebugCommandQueueVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DebugCommandQueue * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DebugCommandQueue * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DebugCommandQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue, AssertResourceState)
- BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
- ID3D12DebugCommandQueue * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- UINT State);
-
- END_INTERFACE
- } ID3D12DebugCommandQueueVtbl;
-
- interface ID3D12DebugCommandQueue
- {
- CONST_VTBL struct ID3D12DebugCommandQueueVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DebugCommandQueue_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DebugCommandQueue_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DebugCommandQueue_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DebugCommandQueue_AssertResourceState(This,pResource,Subresource,State) \
- ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DebugCommandQueue1_INTERFACE_DEFINED__
-#define __ID3D12DebugCommandQueue1_INTERFACE_DEFINED__
-
-/* interface ID3D12DebugCommandQueue1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DebugCommandQueue1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("16be35a2-bfd6-49f2-bcae-eaae4aff862d")
- ID3D12DebugCommandQueue1 : public ID3D12DebugCommandQueue
- {
- public:
- virtual void STDMETHODCALLTYPE AssertResourceAccess(
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- D3D12_BARRIER_ACCESS Access) = 0;
-
- virtual void STDMETHODCALLTYPE AssertTextureLayout(
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- D3D12_BARRIER_LAYOUT Layout) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DebugCommandQueue1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DebugCommandQueue1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DebugCommandQueue1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DebugCommandQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue, AssertResourceState)
- BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
- ID3D12DebugCommandQueue1 * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- UINT State);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue1, AssertResourceAccess)
- void ( STDMETHODCALLTYPE *AssertResourceAccess )(
- ID3D12DebugCommandQueue1 * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- D3D12_BARRIER_ACCESS Access);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue1, AssertTextureLayout)
- void ( STDMETHODCALLTYPE *AssertTextureLayout )(
- ID3D12DebugCommandQueue1 * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- D3D12_BARRIER_LAYOUT Layout);
-
- END_INTERFACE
- } ID3D12DebugCommandQueue1Vtbl;
-
- interface ID3D12DebugCommandQueue1
- {
- CONST_VTBL struct ID3D12DebugCommandQueue1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DebugCommandQueue1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DebugCommandQueue1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DebugCommandQueue1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DebugCommandQueue1_AssertResourceState(This,pResource,Subresource,State) \
- ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
-
-
-#define ID3D12DebugCommandQueue1_AssertResourceAccess(This,pResource,Subresource,Access) \
- ( (This)->lpVtbl -> AssertResourceAccess(This,pResource,Subresource,Access) )
-
-#define ID3D12DebugCommandQueue1_AssertTextureLayout(This,pResource,Subresource,Layout) \
- ( (This)->lpVtbl -> AssertTextureLayout(This,pResource,Subresource,Layout) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DebugCommandQueue1_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12sdklayers_0000_0012 */
-/* [local] */
-
-typedef
-enum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE
- {
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 0
- } D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE;
-
-typedef struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS
- {
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE ShaderPatchMode;
- } D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0012_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0012_v0_0_s_ifspec;
-
-#ifndef __ID3D12DebugCommandList1_INTERFACE_DEFINED__
-#define __ID3D12DebugCommandList1_INTERFACE_DEFINED__
-
-/* interface ID3D12DebugCommandList1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DebugCommandList1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("102ca951-311b-4b01-b11f-ecb83e061b37")
- ID3D12DebugCommandList1 : public IUnknown
- {
- public:
- virtual BOOL STDMETHODCALLTYPE AssertResourceState(
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- UINT State) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
- _In_reads_bytes_(DataSize) const void *pData,
- UINT DataSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
- _Out_writes_bytes_(DataSize) void *pData,
- UINT DataSize) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DebugCommandList1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DebugCommandList1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DebugCommandList1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DebugCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, AssertResourceState)
- BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
- ID3D12DebugCommandList1 * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- UINT State);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, SetDebugParameter)
- HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
- ID3D12DebugCommandList1 * This,
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
- _In_reads_bytes_(DataSize) const void *pData,
- UINT DataSize);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, GetDebugParameter)
- HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
- ID3D12DebugCommandList1 * This,
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
- _Out_writes_bytes_(DataSize) void *pData,
- UINT DataSize);
-
- END_INTERFACE
- } ID3D12DebugCommandList1Vtbl;
-
- interface ID3D12DebugCommandList1
- {
- CONST_VTBL struct ID3D12DebugCommandList1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DebugCommandList1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DebugCommandList1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DebugCommandList1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DebugCommandList1_AssertResourceState(This,pResource,Subresource,State) \
- ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
-
-#define ID3D12DebugCommandList1_SetDebugParameter(This,Type,pData,DataSize) \
- ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
-
-#define ID3D12DebugCommandList1_GetDebugParameter(This,Type,pData,DataSize) \
- ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DebugCommandList1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DebugCommandList_INTERFACE_DEFINED__
-#define __ID3D12DebugCommandList_INTERFACE_DEFINED__
-
-/* interface ID3D12DebugCommandList */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DebugCommandList;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("09e0bf36-54ac-484f-8847-4baeeab6053f")
- ID3D12DebugCommandList : public IUnknown
- {
- public:
- virtual BOOL STDMETHODCALLTYPE AssertResourceState(
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- UINT State) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetFeatureMask(
- D3D12_DEBUG_FEATURE Mask) = 0;
-
- virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DebugCommandListVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DebugCommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DebugCommandList * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DebugCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState)
- BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
- ID3D12DebugCommandList * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- UINT State);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask)
- HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )(
- ID3D12DebugCommandList * This,
- D3D12_DEBUG_FEATURE Mask);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask)
- D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )(
- ID3D12DebugCommandList * This);
-
- END_INTERFACE
- } ID3D12DebugCommandListVtbl;
-
- interface ID3D12DebugCommandList
- {
- CONST_VTBL struct ID3D12DebugCommandListVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DebugCommandList_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DebugCommandList_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DebugCommandList_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DebugCommandList_AssertResourceState(This,pResource,Subresource,State) \
- ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
-
-#define ID3D12DebugCommandList_SetFeatureMask(This,Mask) \
- ( (This)->lpVtbl -> SetFeatureMask(This,Mask) )
-
-#define ID3D12DebugCommandList_GetFeatureMask(This) \
- ( (This)->lpVtbl -> GetFeatureMask(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DebugCommandList_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DebugCommandList2_INTERFACE_DEFINED__
-#define __ID3D12DebugCommandList2_INTERFACE_DEFINED__
-
-/* interface ID3D12DebugCommandList2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DebugCommandList2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("aeb575cf-4e06-48be-ba3b-c450fc96652e")
- ID3D12DebugCommandList2 : public ID3D12DebugCommandList
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
- _In_reads_bytes_(DataSize) const void *pData,
- UINT DataSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
- _Out_writes_bytes_(DataSize) void *pData,
- UINT DataSize) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DebugCommandList2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DebugCommandList2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DebugCommandList2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DebugCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState)
- BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
- ID3D12DebugCommandList2 * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- UINT State);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask)
- HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )(
- ID3D12DebugCommandList2 * This,
- D3D12_DEBUG_FEATURE Mask);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask)
- D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )(
- ID3D12DebugCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, SetDebugParameter)
- HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
- ID3D12DebugCommandList2 * This,
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
- _In_reads_bytes_(DataSize) const void *pData,
- UINT DataSize);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, GetDebugParameter)
- HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
- ID3D12DebugCommandList2 * This,
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
- _Out_writes_bytes_(DataSize) void *pData,
- UINT DataSize);
-
- END_INTERFACE
- } ID3D12DebugCommandList2Vtbl;
-
- interface ID3D12DebugCommandList2
- {
- CONST_VTBL struct ID3D12DebugCommandList2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DebugCommandList2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DebugCommandList2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DebugCommandList2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DebugCommandList2_AssertResourceState(This,pResource,Subresource,State) \
- ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
-
-#define ID3D12DebugCommandList2_SetFeatureMask(This,Mask) \
- ( (This)->lpVtbl -> SetFeatureMask(This,Mask) )
-
-#define ID3D12DebugCommandList2_GetFeatureMask(This) \
- ( (This)->lpVtbl -> GetFeatureMask(This) )
-
-
-#define ID3D12DebugCommandList2_SetDebugParameter(This,Type,pData,DataSize) \
- ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
-
-#define ID3D12DebugCommandList2_GetDebugParameter(This,Type,pData,DataSize) \
- ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DebugCommandList2_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12DebugCommandList3_INTERFACE_DEFINED__
-#define __ID3D12DebugCommandList3_INTERFACE_DEFINED__
-
-/* interface ID3D12DebugCommandList3 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12DebugCommandList3;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("197d5e15-4d37-4d34-af78-724cd70fdb1f")
- ID3D12DebugCommandList3 : public ID3D12DebugCommandList2
- {
- public:
- virtual void STDMETHODCALLTYPE AssertResourceAccess(
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- D3D12_BARRIER_ACCESS Access) = 0;
-
- virtual void STDMETHODCALLTYPE AssertTextureLayout(
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- D3D12_BARRIER_LAYOUT Layout) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12DebugCommandList3Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DebugCommandList3 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DebugCommandList3 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DebugCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState)
- BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
- ID3D12DebugCommandList3 * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- UINT State);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask)
- HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )(
- ID3D12DebugCommandList3 * This,
- D3D12_DEBUG_FEATURE Mask);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask)
- D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )(
- ID3D12DebugCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, SetDebugParameter)
- HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
- ID3D12DebugCommandList3 * This,
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
- _In_reads_bytes_(DataSize) const void *pData,
- UINT DataSize);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, GetDebugParameter)
- HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
- ID3D12DebugCommandList3 * This,
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
- _Out_writes_bytes_(DataSize) void *pData,
- UINT DataSize);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList3, AssertResourceAccess)
- void ( STDMETHODCALLTYPE *AssertResourceAccess )(
- ID3D12DebugCommandList3 * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- D3D12_BARRIER_ACCESS Access);
-
- DECLSPEC_XFGVIRT(ID3D12DebugCommandList3, AssertTextureLayout)
- void ( STDMETHODCALLTYPE *AssertTextureLayout )(
- ID3D12DebugCommandList3 * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- D3D12_BARRIER_LAYOUT Layout);
-
- END_INTERFACE
- } ID3D12DebugCommandList3Vtbl;
-
- interface ID3D12DebugCommandList3
- {
- CONST_VTBL struct ID3D12DebugCommandList3Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12DebugCommandList3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12DebugCommandList3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12DebugCommandList3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12DebugCommandList3_AssertResourceState(This,pResource,Subresource,State) \
- ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
-
-#define ID3D12DebugCommandList3_SetFeatureMask(This,Mask) \
- ( (This)->lpVtbl -> SetFeatureMask(This,Mask) )
-
-#define ID3D12DebugCommandList3_GetFeatureMask(This) \
- ( (This)->lpVtbl -> GetFeatureMask(This) )
-
-
-#define ID3D12DebugCommandList3_SetDebugParameter(This,Type,pData,DataSize) \
- ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
-
-#define ID3D12DebugCommandList3_GetDebugParameter(This,Type,pData,DataSize) \
- ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
-
-
-#define ID3D12DebugCommandList3_AssertResourceAccess(This,pResource,Subresource,Access) \
- ( (This)->lpVtbl -> AssertResourceAccess(This,pResource,Subresource,Access) )
-
-#define ID3D12DebugCommandList3_AssertTextureLayout(This,pResource,Subresource,Layout) \
- ( (This)->lpVtbl -> AssertTextureLayout(This,pResource,Subresource,Layout) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12DebugCommandList3_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12SharingContract_INTERFACE_DEFINED__
-#define __ID3D12SharingContract_INTERFACE_DEFINED__
-
-/* interface ID3D12SharingContract */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12SharingContract;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("0adf7d52-929c-4e61-addb-ffed30de66ef")
- ID3D12SharingContract : public IUnknown
- {
- public:
- virtual void STDMETHODCALLTYPE Present(
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- _In_ HWND window) = 0;
-
- virtual void STDMETHODCALLTYPE SharedFenceSignal(
- _In_ ID3D12Fence *pFence,
- UINT64 FenceValue) = 0;
-
- virtual void STDMETHODCALLTYPE BeginCapturableWork(
- _In_ REFGUID guid) = 0;
-
- virtual void STDMETHODCALLTYPE EndCapturableWork(
- _In_ REFGUID guid) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12SharingContractVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12SharingContract * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12SharingContract * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12SharingContract * This);
-
- DECLSPEC_XFGVIRT(ID3D12SharingContract, Present)
- void ( STDMETHODCALLTYPE *Present )(
- ID3D12SharingContract * This,
- _In_ ID3D12Resource *pResource,
- UINT Subresource,
- _In_ HWND window);
-
- DECLSPEC_XFGVIRT(ID3D12SharingContract, SharedFenceSignal)
- void ( STDMETHODCALLTYPE *SharedFenceSignal )(
- ID3D12SharingContract * This,
- _In_ ID3D12Fence *pFence,
- UINT64 FenceValue);
-
- DECLSPEC_XFGVIRT(ID3D12SharingContract, BeginCapturableWork)
- void ( STDMETHODCALLTYPE *BeginCapturableWork )(
- ID3D12SharingContract * This,
- _In_ REFGUID guid);
-
- DECLSPEC_XFGVIRT(ID3D12SharingContract, EndCapturableWork)
- void ( STDMETHODCALLTYPE *EndCapturableWork )(
- ID3D12SharingContract * This,
- _In_ REFGUID guid);
-
- END_INTERFACE
- } ID3D12SharingContractVtbl;
-
- interface ID3D12SharingContract
- {
- CONST_VTBL struct ID3D12SharingContractVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12SharingContract_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12SharingContract_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12SharingContract_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12SharingContract_Present(This,pResource,Subresource,window) \
- ( (This)->lpVtbl -> Present(This,pResource,Subresource,window) )
-
-#define ID3D12SharingContract_SharedFenceSignal(This,pFence,FenceValue) \
- ( (This)->lpVtbl -> SharedFenceSignal(This,pFence,FenceValue) )
-
-#define ID3D12SharingContract_BeginCapturableWork(This,guid) \
- ( (This)->lpVtbl -> BeginCapturableWork(This,guid) )
-
-#define ID3D12SharingContract_EndCapturableWork(This,guid) \
- ( (This)->lpVtbl -> EndCapturableWork(This,guid) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12SharingContract_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12ManualWriteTrackingResource_INTERFACE_DEFINED__
-#define __ID3D12ManualWriteTrackingResource_INTERFACE_DEFINED__
-
-/* interface ID3D12ManualWriteTrackingResource */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12ManualWriteTrackingResource;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("86ca3b85-49ad-4b6e-aed5-eddb18540f41")
- ID3D12ManualWriteTrackingResource : public IUnknown
- {
- public:
- virtual void STDMETHODCALLTYPE TrackWrite(
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12ManualWriteTrackingResourceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12ManualWriteTrackingResource * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12ManualWriteTrackingResource * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12ManualWriteTrackingResource * This);
-
- DECLSPEC_XFGVIRT(ID3D12ManualWriteTrackingResource, TrackWrite)
- void ( STDMETHODCALLTYPE *TrackWrite )(
- ID3D12ManualWriteTrackingResource * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange);
-
- END_INTERFACE
- } ID3D12ManualWriteTrackingResourceVtbl;
-
- interface ID3D12ManualWriteTrackingResource
- {
- CONST_VTBL struct ID3D12ManualWriteTrackingResourceVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12ManualWriteTrackingResource_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12ManualWriteTrackingResource_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12ManualWriteTrackingResource_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12ManualWriteTrackingResource_TrackWrite(This,Subresource,pWrittenRange) \
- ( (This)->lpVtbl -> TrackWrite(This,Subresource,pWrittenRange) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12ManualWriteTrackingResource_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12sdklayers_0000_0018 */
-/* [local] */
-
-typedef
-enum D3D12_MESSAGE_CATEGORY
- {
- D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0,
- D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = ( D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED + 1 ) ,
- D3D12_MESSAGE_CATEGORY_INITIALIZATION = ( D3D12_MESSAGE_CATEGORY_MISCELLANEOUS + 1 ) ,
- D3D12_MESSAGE_CATEGORY_CLEANUP = ( D3D12_MESSAGE_CATEGORY_INITIALIZATION + 1 ) ,
- D3D12_MESSAGE_CATEGORY_COMPILATION = ( D3D12_MESSAGE_CATEGORY_CLEANUP + 1 ) ,
- D3D12_MESSAGE_CATEGORY_STATE_CREATION = ( D3D12_MESSAGE_CATEGORY_COMPILATION + 1 ) ,
- D3D12_MESSAGE_CATEGORY_STATE_SETTING = ( D3D12_MESSAGE_CATEGORY_STATE_CREATION + 1 ) ,
- D3D12_MESSAGE_CATEGORY_STATE_GETTING = ( D3D12_MESSAGE_CATEGORY_STATE_SETTING + 1 ) ,
- D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = ( D3D12_MESSAGE_CATEGORY_STATE_GETTING + 1 ) ,
- D3D12_MESSAGE_CATEGORY_EXECUTION = ( D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION + 1 ) ,
- D3D12_MESSAGE_CATEGORY_SHADER = ( D3D12_MESSAGE_CATEGORY_EXECUTION + 1 )
- } D3D12_MESSAGE_CATEGORY;
-
-typedef
-enum D3D12_MESSAGE_SEVERITY
- {
- D3D12_MESSAGE_SEVERITY_CORRUPTION = 0,
- D3D12_MESSAGE_SEVERITY_ERROR = ( D3D12_MESSAGE_SEVERITY_CORRUPTION + 1 ) ,
- D3D12_MESSAGE_SEVERITY_WARNING = ( D3D12_MESSAGE_SEVERITY_ERROR + 1 ) ,
- D3D12_MESSAGE_SEVERITY_INFO = ( D3D12_MESSAGE_SEVERITY_WARNING + 1 ) ,
- D3D12_MESSAGE_SEVERITY_MESSAGE = ( D3D12_MESSAGE_SEVERITY_INFO + 1 )
- } D3D12_MESSAGE_SEVERITY;
-
-typedef
-enum D3D12_MESSAGE_ID
- {
- D3D12_MESSAGE_ID_UNKNOWN = 0,
- D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 1,
- D3D12_MESSAGE_ID_CORRUPTED_THIS = 2,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 3,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 4,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 5,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 6,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 7,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 8,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 9,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 10,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 11,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 12,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 13,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 14,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 15,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 16,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 17,
- D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 18,
- D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 19,
- D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 20,
- D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 21,
- D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 24,
- D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 25,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 26,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 27,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 28,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 29,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 30,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 31,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 32,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 35,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 36,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 37,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 38,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 39,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 40,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 41,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 42,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 45,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 46,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 47,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 48,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 49,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 52,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 53,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 54,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 55,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 56,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 57,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 58,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 59,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 60,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 61,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 62,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 63,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 64,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 65,
- D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 66,
- D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 67,
- D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 68,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 69,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 70,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 71,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 72,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 73,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 74,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 75,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 76,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 79,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 80,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 81,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 82,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 83,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 84,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 85,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 86,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 87,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 88,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 89,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 90,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 91,
- D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 92,
- D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 93,
- D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 94,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 95,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 96,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 97,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 98,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 100,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 101,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 102,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 103,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 104,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 105,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 106,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 107,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 108,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 109,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 111,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 112,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 113,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 114,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117,
- D3D12_MESSAGE_ID_GET_PROGRAM_IDENTIFIER_ERROR = 118,
- D3D12_MESSAGE_ID_GET_WORK_GRAPH_PROPERTIES_ERROR = 119,
- D3D12_MESSAGE_ID_SET_PROGRAM_ERROR = 120,
- D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 135,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 202,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 209,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 210,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 211,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 212,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 213,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 219,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 221,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 222,
- D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 232,
- D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 233,
- D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 234,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 239,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 240,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 245,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 253,
- D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 255,
- D3D12_MESSAGE_ID_LIVE_DEVICE = 274,
- D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 275,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 276,
- D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 277,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 278,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 280,
- D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 283,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 284,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 285,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 286,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 287,
- D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 289,
- D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 290,
- D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 291,
- D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 292,
- D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 294,
- D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 295,
- D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 296,
- D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 297,
- D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 310,
- D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 318,
- D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 321,
- D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 322,
- D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 323,
- D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 331,
- D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 332,
- D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 333,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 334,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 335,
- D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 336,
- D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 337,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 340,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 341,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 342,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 343,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 344,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 345,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 346,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 354,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 401,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 403,
- D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 410,
- D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 412,
- D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 414,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 416,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 418,
- D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 420,
- D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 422,
- D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 425,
- D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 426,
- D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 427,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 428,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 429,
- D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 430,
- D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 431,
- D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 447,
- D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 448,
- D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 493,
- D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 494,
- D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 506,
- D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 507,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 519,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 520,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 521,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 522,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 523,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 524,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 525,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 526,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 527,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 528,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 529,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 530,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 531,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 532,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 533,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 534,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 535,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 536,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 537,
- D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 538,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 540,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 541,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 542,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 543,
- D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 544,
- D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 546,
- D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 547,
- D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 549,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 552,
- D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 553,
- D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 554,
- D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 557,
- D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 558,
- D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 559,
- D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 560,
- D3D12_MESSAGE_ID_CREATE_RESOURCE = 562,
- D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 563,
- D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 564,
- D3D12_MESSAGE_ID_CREATE_LIBRARY = 565,
- D3D12_MESSAGE_ID_CREATE_HEAP = 566,
- D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 567,
- D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 568,
- D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 569,
- D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 570,
- D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 571,
- D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 572,
- D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 573,
- D3D12_MESSAGE_ID_LIVE_RESOURCE = 575,
- D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 576,
- D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 577,
- D3D12_MESSAGE_ID_LIVE_LIBRARY = 578,
- D3D12_MESSAGE_ID_LIVE_HEAP = 579,
- D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 580,
- D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 581,
- D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 582,
- D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 583,
- D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 584,
- D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 585,
- D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 586,
- D3D12_MESSAGE_ID_DESTROY_RESOURCE = 588,
- D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 589,
- D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 590,
- D3D12_MESSAGE_ID_DESTROY_LIBRARY = 591,
- D3D12_MESSAGE_ID_DESTROY_HEAP = 592,
- D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 593,
- D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 594,
- D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 595,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 597,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 599,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 602,
- D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 603,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 604,
- D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 607,
- D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 608,
- D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 609,
- D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 610,
- D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 611,
- D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 613,
- D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 614,
- D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 615,
- D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 616,
- D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 622,
- D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 623,
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 624,
- D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 625,
- D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 626,
- D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 627,
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 628,
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 629,
- D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 630,
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 631,
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 632,
- D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 633,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 634,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 635,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 636,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 637,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 638,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 639,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 640,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 641,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 642,
- D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 643,
- D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 644,
- D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 645,
- D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 646,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 647,
- D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 649,
- D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 650,
- D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 652,
- D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 653,
- D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 654,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 655,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 656,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 657,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 658,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 659,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 660,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 661,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 662,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 663,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 664,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 665,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 666,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 667,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 668,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 669,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 670,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 671,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 672,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 673,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 674,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 675,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 676,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 677,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 678,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 679,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 680,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 681,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 682,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 683,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 684,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 685,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 686,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 687,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 688,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 689,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 690,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 691,
- D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 692,
- D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 693,
- D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 694,
- D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 695,
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 696,
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 697,
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 698,
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 699,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 700,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 701,
- D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 702,
- D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 703,
- D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 705,
- D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 708,
- D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 709,
- D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 710,
- D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 711,
- D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 712,
- D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 713,
- D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 715,
- D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 717,
- D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 718,
- D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 719,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 720,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 721,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 722,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 723,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 724,
- D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 725,
- D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 726,
- D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 727,
- D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 728,
- D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 729,
- D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 731,
- D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 732,
- D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 733,
- D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 734,
- D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 735,
- D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 737,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 738,
- D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 739,
- D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 740,
- D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 739,
- D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 740,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 741,
- D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 742,
- D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 743,
- D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 744,
- D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 745,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 815,
- D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 816,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 817,
- D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 818,
- D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 820,
- D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 821,
- D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 822,
- D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 823,
- D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 824,
- D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 825,
- D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 826,
- D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 827,
- D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 828,
- D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 829,
- D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 832,
- D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 833,
- D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 834,
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 835,
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 836,
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 837,
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 838,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 839,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 840,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 841,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 842,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 843,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 844,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 845,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 846,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 847,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 848,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 849,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 850,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 851,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 852,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 853,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 854,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 855,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 856,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 857,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 858,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 859,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 860,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 861,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 862,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 863,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 864,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 865,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 866,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 867,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 868,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 869,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 870,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 871,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 872,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 873,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 874,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 875,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 876,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 877,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 878,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 879,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 880,
- D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 881,
- D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 882,
- D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 883,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 884,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 885,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 886,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 887,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 888,
- D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 889,
- D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 890,
- D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 891,
- D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 892,
- D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 893,
- D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 894,
- D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 895,
- D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 896,
- D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 897,
- D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 898,
- D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 899,
- D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 900,
- D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 901,
- D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 902,
- D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 903,
- D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 904,
- D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 905,
- D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 906,
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 907,
- D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 908,
- D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 909,
- D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 910,
- D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 911,
- D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 912,
- D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 913,
- D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 914,
- D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 915,
- D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 916,
- D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 917,
- D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 918,
- D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 919,
- D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 920,
- D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 921,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 922,
- D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 923,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 924,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 925,
- D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 926,
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 927,
- D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 929,
- D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 930,
- D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 931,
- D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 932,
- D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 933,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 934,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 935,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 936,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 937,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 938,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 939,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 940,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 941,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 942,
- D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 943,
- D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 944,
- D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 945,
- D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 946,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 947,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 948,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 949,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 950,
- D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 951,
- D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 952,
- D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 953,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 954,
- D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 955,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 956,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 957,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 958,
- D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 959,
- D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 960,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 961,
- D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 962,
- D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 963,
- D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 964,
- D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 965,
- D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 966,
- D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 967,
- D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 968,
- D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 969,
- D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 970,
- D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 971,
- D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 972,
- D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 973,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 974,
- D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 975,
- D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 976,
- D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 977,
- D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 978,
- D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 979,
- D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 980,
- D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 981,
- D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 982,
- D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 983,
- D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 984,
- D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 985,
- D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 986,
- D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 987,
- D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 988,
- D3D12_MESSAGE_ID_DEPRECATED_API = 989,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 990,
- D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 991,
- D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 992,
- D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 993,
- D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 994,
- D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 995,
- D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 996,
- D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 997,
- D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 998,
- D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 999,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 1000,
- D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 1001,
- D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 1002,
- D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 1003,
- D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 1004,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 1005,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 1006,
- D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 1007,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 1008,
- D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 1009,
- D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 1013,
- D3D12_MESSAGE_ID_BEGIN_EVENT = 1014,
- D3D12_MESSAGE_ID_END_EVENT = 1015,
- D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 1016,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 1017,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 1018,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 1019,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 1020,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 1021,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 1022,
- D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 1023,
- D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 1024,
- D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 1025,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 1026,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 1027,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 1028,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 1029,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 1030,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 1031,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 1032,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 1033,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 1034,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 1035,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 1036,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 1037,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 1038,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 1039,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 1040,
- D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 1041,
- D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 1042,
- D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 1043,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 1044,
- D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 1045,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 1046,
- D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 1047,
- D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 1048,
- D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 1049,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 1050,
- D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 1051,
- D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 1052,
- D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 1053,
- D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 1054,
- D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 1055,
- D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 1056,
- D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 1057,
- D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 1058,
- D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 1059,
- D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 1060,
- D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 1061,
- D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 1062,
- D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 1063,
- D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 1064,
- D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 1065,
- D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 1066,
- D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 1067,
- D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = 1068,
- D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = 1069,
- D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = 1070,
- D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = 1071,
- D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = 1072,
- D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = 1073,
- D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = 1074,
- D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = 1075,
- D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = 1076,
- D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 1077,
- D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = 1078,
- D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 1079,
- D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = 1080,
- D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 1081,
- D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 1082,
- D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = 1083,
- D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = 1084,
- D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = 1085,
- D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = 1086,
- D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 1087,
- D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = 1088,
- D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = 1089,
- D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = 1090,
- D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = 1091,
- D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 1092,
- D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 1093,
- D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = 1094,
- D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = 1095,
- D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = 1096,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1097,
- D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1098,
- D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 1099,
- D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 1100,
- D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = 1101,
- D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = 1102,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 1103,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 1104,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 1105,
- D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = 1106,
- D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 1107,
- D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 1108,
- D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 1109,
- D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 1110,
- D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 1111,
- D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = 1112,
- D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 1113,
- D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = 1114,
- D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = 1115,
- D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = 1116,
- D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = 1117,
- D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 1118,
- D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 1119,
- D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = 1120,
- D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 1121,
- D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = 1122,
- D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = 1123,
- D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = 1124,
- D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = 1125,
- D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 1126,
- D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 1127,
- D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = 1128,
- D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 1129,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 1130,
- D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 1131,
- D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 1132,
- D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 1133,
- D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 1134,
- D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = 1135,
- D3D12_MESSAGE_ID_EVICT_UNDERFLOW = 1136,
- D3D12_MESSAGE_ID_CREATE_META_COMMAND = 1137,
- D3D12_MESSAGE_ID_LIVE_META_COMMAND = 1138,
- D3D12_MESSAGE_ID_DESTROY_META_COMMAND = 1139,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = 1140,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = 1141,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 1142,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 1143,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 1144,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 1145,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 1146,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 1147,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 1148,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 1149,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 1150,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 1151,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 1152,
- D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 1153,
- D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 1154,
- D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 1155,
- D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 1156,
- D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 1157,
- D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1158,
- D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 1159,
- D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1160,
- D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = 1161,
- D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 1162,
- D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = 1163,
- D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = 1164,
- D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = 1165,
- D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 1166,
- D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = 1167,
- D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = 1168,
- D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = 1169,
- D3D12_MESSAGE_ID_RENDER_PASS_ERROR = 1170,
- D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = 1171,
- D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = 1172,
- D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = 1173,
- D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = 1174,
- D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = 1175,
- D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 1176,
- D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = 1177,
- D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = 1178,
- D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = 1179,
- D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = 1180,
- D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = 1181,
- D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = 1182,
- D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = 1183,
- D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = 1184,
- D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = 1185,
- D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = 1186,
- D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = 1187,
- D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = 1188,
- D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = 1189,
- D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = 1190,
- D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 1191,
- D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = 1192,
- D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = 1193,
- D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = 1194,
- D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = 1195,
- D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = 1196,
- D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = 1197,
- D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = 1198,
- D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = 1199,
- D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 1200,
- D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 1201,
- D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = 1202,
- D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = 1203,
- D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 1204,
- D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 1205,
- D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 1206,
- D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 1207,
- D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 1208,
- D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 1209,
- D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 1210,
- D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 1211,
- D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = 1212,
- D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = 1213,
- D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = 1214,
- D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 1215,
- D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 1216,
- D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = 1217,
- D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 1218,
- D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1219,
- D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = 1220,
- D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1221,
- D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 1222,
- D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 1223,
- D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 1224,
- D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = 1225,
- D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = 1226,
- D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = 1227,
- D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = 1228,
- D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 1229,
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 1230,
- D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 1231,
- D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1232,
- D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = 1233,
- D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 1234,
- D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = 1235,
- D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 1236,
- D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = 1237,
- D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = 1238,
- D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 1239,
- D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 1240,
- D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 1241,
- D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 1242,
- D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 1243,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 1244,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 1245,
- D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = 1246,
- D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 1247,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 1248,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 1249,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 1250,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 1251,
- D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 1252,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 1253,
- D3D12_MESSAGE_ID_EMPTY_DISPATCH = 1254,
- D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1255,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 1256,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 1257,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 1258,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 1259,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 1260,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 1261,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 1262,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1263,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 1264,
- D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = 1265,
- D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = 1266,
- D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 1267,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 1268,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 1269,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 1270,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 1271,
- D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 1272,
- D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 1273,
- D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1274,
- D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1275,
- D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 1276,
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 1277,
- D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 1278,
- D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 1279,
- D3D12_MESSAGE_ID_CREATE_SHADERCACHESESSION = 1280,
- D3D12_MESSAGE_ID_LIVE_SHADERCACHESESSION = 1281,
- D3D12_MESSAGE_ID_DESTROY_SHADERCACHESESSION = 1282,
- D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_INVALIDARGS = 1283,
- D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_DISABLED = 1284,
- D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_ALREADYOPEN = 1285,
- D3D12_MESSAGE_ID_SHADERCACHECONTROL_DEVELOPERMODE = 1286,
- D3D12_MESSAGE_ID_SHADERCACHECONTROL_INVALIDFLAGS = 1287,
- D3D12_MESSAGE_ID_SHADERCACHECONTROL_STATEALREADYSET = 1288,
- D3D12_MESSAGE_ID_SHADERCACHECONTROL_IGNOREDFLAG = 1289,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT = 1290,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_HASHCOLLISION = 1291,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_CACHEFULL = 1292,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_FINDVALUE_NOTFOUND = 1293,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_CORRUPT = 1294,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_DISABLED = 1295,
- D3D12_MESSAGE_ID_OVERSIZED_DISPATCH = 1296,
- D3D12_MESSAGE_ID_CREATE_VIDEOENCODER = 1297,
- D3D12_MESSAGE_ID_LIVE_VIDEOENCODER = 1298,
- D3D12_MESSAGE_ID_DESTROY_VIDEOENCODER = 1299,
- D3D12_MESSAGE_ID_CREATE_VIDEOENCODERHEAP = 1300,
- D3D12_MESSAGE_ID_LIVE_VIDEOENCODERHEAP = 1301,
- D3D12_MESSAGE_ID_DESTROY_VIDEOENCODERHEAP = 1302,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1303,
- D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1304,
- D3D12_MESSAGE_ID_ENCODE_FRAME_INVALID_PARAMETERS = 1305,
- D3D12_MESSAGE_ID_ENCODE_FRAME_UNSUPPORTED_PARAMETERS = 1306,
- D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS = 1307,
- D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS = 1308,
- D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_INVALID_PARAMETERS = 1309,
- D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS = 1310,
- D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS = 1311,
- D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS = 1312,
- D3D12_MESSAGE_ID_CREATECOMMANDLIST_NULL_COMMANDALLOCATOR = 1313,
- D3D12_MESSAGE_ID_CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE = 1314,
- D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE = 1315,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOP_WARNING = 1316,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOPALPHA_WARNING = 1317,
- D3D12_MESSAGE_ID_WRITE_COMBINE_PERFORMANCE_WARNING = 1318,
- D3D12_MESSAGE_ID_RESOLVE_QUERY_INVALID_QUERY_STATE = 1319,
- D3D12_MESSAGE_ID_SETPRIVATEDATA_NO_ACCESS = 1320,
- D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH = 1321,
- D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH = 1322,
- D3D12_MESSAGE_ID_CREATEMESHSHADER_TOPOLOGY_MISMATCH = 1323,
- D3D12_MESSAGE_ID_VRS_SUM_COMBINER_REQUIRES_CAPABILITY = 1324,
- D3D12_MESSAGE_ID_SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY = 1325,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED = 1326,
- D3D12_MESSAGE_ID_SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED = 1327,
- D3D12_MESSAGE_ID_CREATERESOURCE_STATE_IGNORED = 1328,
- D3D12_MESSAGE_ID_UNUSED_CROSS_EXECUTE_SPLIT_BARRIER = 1329,
- D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_HANDLE_ACCESS_DENIED = 1330,
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_VALUES = 1331,
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_ACCESS = 1332,
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_SYNC = 1333,
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT = 1334,
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_TYPE = 1335,
- D3D12_MESSAGE_ID_OUT_OF_BOUNDS_BARRIER_SUBRESOURCE_RANGE = 1336,
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_RESOURCE_DIMENSION = 1337,
- D3D12_MESSAGE_ID_SET_SCISSOR_RECTS_INVALID_RECT = 1338,
- D3D12_MESSAGE_ID_SHADING_RATE_SOURCE_REQUIRES_DIMENSION_TEXTURE2D = 1339,
- D3D12_MESSAGE_ID_BUFFER_BARRIER_SUBREGION_OUT_OF_BOUNDS = 1340,
- D3D12_MESSAGE_ID_UNSUPPORTED_BARRIER_LAYOUT = 1341,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALID_PARAMETERS = 1342,
- D3D12_MESSAGE_ID_ENHANCED_BARRIERS_NOT_SUPPORTED = 1343,
- D3D12_MESSAGE_ID_LEGACY_BARRIER_VALIDATION_FORCED_ON = 1346,
- D3D12_MESSAGE_ID_EMPTY_ROOT_DESCRIPTOR_TABLE = 1347,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ELEMENT_OFFSET_UNALIGNED = 1348,
- D3D12_MESSAGE_ID_ALPHA_BLEND_FACTOR_NOT_SUPPORTED = 1349,
- D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_LAYOUT = 1350,
- D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_STATE = 1351,
- D3D12_MESSAGE_ID_GRAPHICS_PIPELINE_STATE_DESC_ZERO_SAMPLE_MASK = 1352,
- D3D12_MESSAGE_ID_INDEPENDENT_STENCIL_REF_NOT_SUPPORTED = 1353,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INDEPENDENT_MASKS_UNSUPPORTED = 1354,
- D3D12_MESSAGE_ID_TEXTURE_BARRIER_SUBRESOURCES_OUT_OF_BOUNDS = 1355,
- D3D12_MESSAGE_ID_NON_OPTIMAL_BARRIER_ONLY_EXECUTE_COMMAND_LISTS = 1356,
- D3D12_MESSAGE_ID_EXECUTE_INDIRECT_ZERO_COMMAND_COUNT = 1357,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_TEXTURE_LAYOUT = 1358,
- D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NOT_SUPPORTED = 1359,
- D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_TRIANGLE_FANS_NOT_SUPPORTED = 1360,
- D3D12_MESSAGE_ID_CREATE_SAMPLER_COMPARISON_FUNC_IGNORED = 1361,
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDHEAPTYPE = 1362,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPTYPE = 1363,
- D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NOT_SUPPORTED = 1364,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_NON_WHOLE_DYNAMIC_DEPTH_BIAS = 1365,
- D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_FLAG_MISSING = 1366,
- D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NO_PIPELINE = 1367,
- D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_FLAG_MISSING = 1368,
- D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NO_PIPELINE = 1369,
- D3D12_MESSAGE_ID_NONNORMALIZED_COORDINATE_SAMPLING_NOT_SUPPORTED = 1370,
- D3D12_MESSAGE_ID_INVALID_CAST_TARGET = 1371,
- D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_END_STATE = 1372,
- D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_START_STATE = 1373,
- D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_ACCESS = 1374,
- D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_LOCAL_PRESERVE_PARAMETERS = 1375,
- D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_PRESERVE_RENDER_PARAMETERS_ERROR = 1376,
- D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_DEPTH_STENCIL_ERROR = 1377,
- D3D12_MESSAGE_ID_DRAW_POTENTIALLY_OUTSIDE_OF_VALID_RENDER_AREA = 1378,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_LINERASTERIZATIONMODE = 1379,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT_SMALLRESOURCE = 1380,
- D3D12_MESSAGE_ID_GENERIC_DEVICE_OPERATION_UNSUPPORTED = 1381,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDER_TARGET_WRONG_WRITE_MASK = 1382,
- D3D12_MESSAGE_ID_PROBABLE_PIX_EVENT_LEAK = 1383,
- D3D12_MESSAGE_ID_PIX_EVENT_UNDERFLOW = 1384,
- D3D12_MESSAGE_ID_RECREATEAT_INVALID_TARGET = 1385,
- D3D12_MESSAGE_ID_RECREATEAT_INSUFFICIENT_SUPPORT = 1386,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_STRUCTURED_BUFFER_STRIDE_MISMATCH = 1387,
- D3D12_MESSAGE_ID_DISPATCH_GRAPH_INVALID = 1388,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_FORMAT_INVALID = 1389,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_DIMENSION_INVALID = 1390,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_COLOR_FORMAT_INVALID = 1391,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_DEPTH_FORMAT_INVALID = 1392,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXPOSURE_SCALE_FORMAT_INVALID = 1393,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_ENGINE_CREATE_FLAGS_INVALID = 1394,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_LOAD_FAILURE = 1395,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_ENGINE_CREATION_ERROR = 1396,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_CREATION_ERROR = 1397,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_EXECUTION_ERROR = 1398,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REGION_INVALID = 1399,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_TIME_DELTA_INVALID = 1400,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REQUIRED_TEXTURE_IS_NULL = 1401,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_MOTION_VECTORS_FORMAT_INVALID = 1402,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FLAGS_INVALID = 1403,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FORMAT_INVALID = 1404,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_EXPOSURE_SCALE_TEXTURE_SIZE_INVALID = 1405,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_INDEX_OUT_OF_BOUNDS = 1406,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_ID_NOT_FOUND = 1407,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_DUPLICATE_VARIANT_ID = 1408,
- D3D12_MESSAGE_ID_DIRECTSR_OUT_OF_MEMORY = 1409,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_UNEXPECTED_TEXTURE_IS_IGNORED = 1410,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EVICT_UNDERFLOW = 1411,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_OPTIONAL_TEXTURE_IS_NULL = 1412,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_INVALID_CAMERA_JITTER = 1413,
- D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_WARNING = 1414,
- D3D12_MESSAGE_ID_GUID_TEXTURE_LAYOUT_UNSUPPORTED = 1415,
- D3D12_MESSAGE_ID_RESOLVE_ENCODER_INPUT_PARAM_LAYOUT_INVALID_PARAMETERS = 1416,
- D3D12_MESSAGE_ID_INVALID_BARRIER_ACCESS = 1417,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INSTANCE_COUNT_ZERO = 1418,
- D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SET_BEFORE_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1419,
- D3D12_MESSAGE_ID_DIFFERENT_DESCRIPTOR_HEAP_SET_AFTER_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1420,
- D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_DIFFERENT_DESCRIPTOR_HEAP_SET_AFTER_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG + 1 )
- } D3D12_MESSAGE_ID;
-
-typedef struct D3D12_MESSAGE
- {
- D3D12_MESSAGE_CATEGORY Category;
- D3D12_MESSAGE_SEVERITY Severity;
- D3D12_MESSAGE_ID ID;
- _Field_size_(DescriptionByteLength) const char *pDescription;
- SIZE_T DescriptionByteLength;
- } D3D12_MESSAGE;
-
-typedef struct D3D12_INFO_QUEUE_FILTER_DESC
- {
- UINT NumCategories;
- _Field_size_(NumCategories) D3D12_MESSAGE_CATEGORY *pCategoryList;
- UINT NumSeverities;
- _Field_size_(NumSeverities) D3D12_MESSAGE_SEVERITY *pSeverityList;
- UINT NumIDs;
- _Field_size_(NumIDs) D3D12_MESSAGE_ID *pIDList;
- } D3D12_INFO_QUEUE_FILTER_DESC;
-
-typedef struct D3D12_INFO_QUEUE_FILTER
- {
- D3D12_INFO_QUEUE_FILTER_DESC AllowList;
- D3D12_INFO_QUEUE_FILTER_DESC DenyList;
- } D3D12_INFO_QUEUE_FILTER;
-
-#define D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0018_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0018_v0_0_s_ifspec;
-
-#ifndef __ID3D12InfoQueue_INTERFACE_DEFINED__
-#define __ID3D12InfoQueue_INTERFACE_DEFINED__
-
-/* interface ID3D12InfoQueue */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12InfoQueue;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("0742a90b-c387-483f-b946-30a7e4e61458")
- ID3D12InfoQueue : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetMessageCountLimit(
- _In_ UINT64 MessageCountLimit) = 0;
-
- virtual void STDMETHODCALLTYPE ClearStoredMessages( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetMessage(
- _In_ UINT64 MessageIndex,
- _Out_writes_bytes_opt_(*pMessageByteLength) D3D12_MESSAGE *pMessage,
- _Inout_ SIZE_T *pMessageByteLength) = 0;
-
- virtual UINT64 STDMETHODCALLTYPE GetNumMessagesAllowedByStorageFilter( void) = 0;
-
- virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDeniedByStorageFilter( void) = 0;
-
- virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessages( void) = 0;
-
- virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessagesAllowedByRetrievalFilter( void) = 0;
-
- virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDiscardedByMessageCountLimit( void) = 0;
-
- virtual UINT64 STDMETHODCALLTYPE GetMessageCountLimit( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE AddStorageFilterEntries(
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetStorageFilter(
- _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
- _Inout_ SIZE_T *pFilterByteLength) = 0;
-
- virtual void STDMETHODCALLTYPE ClearStorageFilter( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE PushEmptyStorageFilter( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE PushCopyOfStorageFilter( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE PushStorageFilter(
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0;
-
- virtual void STDMETHODCALLTYPE PopStorageFilter( void) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetStorageFilterStackSize( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE AddRetrievalFilterEntries(
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetRetrievalFilter(
- _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
- _Inout_ SIZE_T *pFilterByteLength) = 0;
-
- virtual void STDMETHODCALLTYPE ClearRetrievalFilter( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE PushEmptyRetrievalFilter( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE PushCopyOfRetrievalFilter( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE PushRetrievalFilter(
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0;
-
- virtual void STDMETHODCALLTYPE PopRetrievalFilter( void) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetRetrievalFilterStackSize( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE AddMessage(
- _In_ D3D12_MESSAGE_CATEGORY Category,
- _In_ D3D12_MESSAGE_SEVERITY Severity,
- _In_ D3D12_MESSAGE_ID ID,
- _In_ LPCSTR pDescription) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE AddApplicationMessage(
- _In_ D3D12_MESSAGE_SEVERITY Severity,
- _In_ LPCSTR pDescription) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetBreakOnCategory(
- _In_ D3D12_MESSAGE_CATEGORY Category,
- _In_ BOOL bEnable) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetBreakOnSeverity(
- _In_ D3D12_MESSAGE_SEVERITY Severity,
- _In_ BOOL bEnable) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetBreakOnID(
- _In_ D3D12_MESSAGE_ID ID,
- _In_ BOOL bEnable) = 0;
-
- virtual BOOL STDMETHODCALLTYPE GetBreakOnCategory(
- _In_ D3D12_MESSAGE_CATEGORY Category) = 0;
-
- virtual BOOL STDMETHODCALLTYPE GetBreakOnSeverity(
- _In_ D3D12_MESSAGE_SEVERITY Severity) = 0;
-
- virtual BOOL STDMETHODCALLTYPE GetBreakOnID(
- _In_ D3D12_MESSAGE_ID ID) = 0;
-
- virtual void STDMETHODCALLTYPE SetMuteDebugOutput(
- _In_ BOOL bMute) = 0;
-
- virtual BOOL STDMETHODCALLTYPE GetMuteDebugOutput( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12InfoQueueVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12InfoQueue * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMessageCountLimit)
- HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )(
- ID3D12InfoQueue * This,
- _In_ UINT64 MessageCountLimit);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStoredMessages)
- void ( STDMETHODCALLTYPE *ClearStoredMessages )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessage)
- HRESULT ( STDMETHODCALLTYPE *GetMessage )(
- ID3D12InfoQueue * This,
- _In_ UINT64 MessageIndex,
- _Out_writes_bytes_opt_(*pMessageByteLength) D3D12_MESSAGE *pMessage,
- _Inout_ SIZE_T *pMessageByteLength);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesAllowedByStorageFilter)
- UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDeniedByStorageFilter)
- UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessages)
- UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessagesAllowedByRetrievalFilter)
- UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDiscardedByMessageCountLimit)
- UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessageCountLimit)
- UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddStorageFilterEntries)
- HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )(
- ID3D12InfoQueue * This,
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilter)
- HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )(
- ID3D12InfoQueue * This,
- _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
- _Inout_ SIZE_T *pFilterByteLength);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStorageFilter)
- void ( STDMETHODCALLTYPE *ClearStorageFilter )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyStorageFilter)
- HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfStorageFilter)
- HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushStorageFilter)
- HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )(
- ID3D12InfoQueue * This,
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopStorageFilter)
- void ( STDMETHODCALLTYPE *PopStorageFilter )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilterStackSize)
- UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddRetrievalFilterEntries)
- HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )(
- ID3D12InfoQueue * This,
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilter)
- HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )(
- ID3D12InfoQueue * This,
- _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
- _Inout_ SIZE_T *pFilterByteLength);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearRetrievalFilter)
- void ( STDMETHODCALLTYPE *ClearRetrievalFilter )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyRetrievalFilter)
- HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfRetrievalFilter)
- HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushRetrievalFilter)
- HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )(
- ID3D12InfoQueue * This,
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopRetrievalFilter)
- void ( STDMETHODCALLTYPE *PopRetrievalFilter )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilterStackSize)
- UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )(
- ID3D12InfoQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddMessage)
- HRESULT ( STDMETHODCALLTYPE *AddMessage )(
- ID3D12InfoQueue * This,
- _In_ D3D12_MESSAGE_CATEGORY Category,
- _In_ D3D12_MESSAGE_SEVERITY Severity,
- _In_ D3D12_MESSAGE_ID ID,
- _In_ LPCSTR pDescription);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddApplicationMessage)
- HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )(
- ID3D12InfoQueue * This,
- _In_ D3D12_MESSAGE_SEVERITY Severity,
- _In_ LPCSTR pDescription);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnCategory)
- HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )(
- ID3D12InfoQueue * This,
- _In_ D3D12_MESSAGE_CATEGORY Category,
- _In_ BOOL bEnable);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnSeverity)
- HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )(
- ID3D12InfoQueue * This,
- _In_ D3D12_MESSAGE_SEVERITY Severity,
- _In_ BOOL bEnable);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnID)
- HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )(
- ID3D12InfoQueue * This,
- _In_ D3D12_MESSAGE_ID ID,
- _In_ BOOL bEnable);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnCategory)
- BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )(
- ID3D12InfoQueue * This,
- _In_ D3D12_MESSAGE_CATEGORY Category);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnSeverity)
- BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )(
- ID3D12InfoQueue * This,
- _In_ D3D12_MESSAGE_SEVERITY Severity);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnID)
- BOOL ( STDMETHODCALLTYPE *GetBreakOnID )(
- ID3D12InfoQueue * This,
- _In_ D3D12_MESSAGE_ID ID);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMuteDebugOutput)
- void ( STDMETHODCALLTYPE *SetMuteDebugOutput )(
- ID3D12InfoQueue * This,
- _In_ BOOL bMute);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMuteDebugOutput)
- BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )(
- ID3D12InfoQueue * This);
-
- END_INTERFACE
- } ID3D12InfoQueueVtbl;
-
- interface ID3D12InfoQueue
- {
- CONST_VTBL struct ID3D12InfoQueueVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12InfoQueue_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12InfoQueue_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12InfoQueue_SetMessageCountLimit(This,MessageCountLimit) \
- ( (This)->lpVtbl -> SetMessageCountLimit(This,MessageCountLimit) )
-
-#define ID3D12InfoQueue_ClearStoredMessages(This) \
- ( (This)->lpVtbl -> ClearStoredMessages(This) )
-
-#define ID3D12InfoQueue_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \
- ( (This)->lpVtbl -> GetMessage(This,MessageIndex,pMessage,pMessageByteLength) )
-
-#define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This) \
- ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This) )
-
-#define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This) \
- ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This) )
-
-#define ID3D12InfoQueue_GetNumStoredMessages(This) \
- ( (This)->lpVtbl -> GetNumStoredMessages(This) )
-
-#define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This) \
- ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilter(This) )
-
-#define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This) \
- ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This) )
-
-#define ID3D12InfoQueue_GetMessageCountLimit(This) \
- ( (This)->lpVtbl -> GetMessageCountLimit(This) )
-
-#define ID3D12InfoQueue_AddStorageFilterEntries(This,pFilter) \
- ( (This)->lpVtbl -> AddStorageFilterEntries(This,pFilter) )
-
-#define ID3D12InfoQueue_GetStorageFilter(This,pFilter,pFilterByteLength) \
- ( (This)->lpVtbl -> GetStorageFilter(This,pFilter,pFilterByteLength) )
-
-#define ID3D12InfoQueue_ClearStorageFilter(This) \
- ( (This)->lpVtbl -> ClearStorageFilter(This) )
-
-#define ID3D12InfoQueue_PushEmptyStorageFilter(This) \
- ( (This)->lpVtbl -> PushEmptyStorageFilter(This) )
-
-#define ID3D12InfoQueue_PushCopyOfStorageFilter(This) \
- ( (This)->lpVtbl -> PushCopyOfStorageFilter(This) )
-
-#define ID3D12InfoQueue_PushStorageFilter(This,pFilter) \
- ( (This)->lpVtbl -> PushStorageFilter(This,pFilter) )
-
-#define ID3D12InfoQueue_PopStorageFilter(This) \
- ( (This)->lpVtbl -> PopStorageFilter(This) )
-
-#define ID3D12InfoQueue_GetStorageFilterStackSize(This) \
- ( (This)->lpVtbl -> GetStorageFilterStackSize(This) )
-
-#define ID3D12InfoQueue_AddRetrievalFilterEntries(This,pFilter) \
- ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,pFilter) )
-
-#define ID3D12InfoQueue_GetRetrievalFilter(This,pFilter,pFilterByteLength) \
- ( (This)->lpVtbl -> GetRetrievalFilter(This,pFilter,pFilterByteLength) )
-
-#define ID3D12InfoQueue_ClearRetrievalFilter(This) \
- ( (This)->lpVtbl -> ClearRetrievalFilter(This) )
-
-#define ID3D12InfoQueue_PushEmptyRetrievalFilter(This) \
- ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This) )
-
-#define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This) \
- ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This) )
-
-#define ID3D12InfoQueue_PushRetrievalFilter(This,pFilter) \
- ( (This)->lpVtbl -> PushRetrievalFilter(This,pFilter) )
-
-#define ID3D12InfoQueue_PopRetrievalFilter(This) \
- ( (This)->lpVtbl -> PopRetrievalFilter(This) )
-
-#define ID3D12InfoQueue_GetRetrievalFilterStackSize(This) \
- ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This) )
-
-#define ID3D12InfoQueue_AddMessage(This,Category,Severity,ID,pDescription) \
- ( (This)->lpVtbl -> AddMessage(This,Category,Severity,ID,pDescription) )
-
-#define ID3D12InfoQueue_AddApplicationMessage(This,Severity,pDescription) \
- ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) )
-
-#define ID3D12InfoQueue_SetBreakOnCategory(This,Category,bEnable) \
- ( (This)->lpVtbl -> SetBreakOnCategory(This,Category,bEnable) )
-
-#define ID3D12InfoQueue_SetBreakOnSeverity(This,Severity,bEnable) \
- ( (This)->lpVtbl -> SetBreakOnSeverity(This,Severity,bEnable) )
-
-#define ID3D12InfoQueue_SetBreakOnID(This,ID,bEnable) \
- ( (This)->lpVtbl -> SetBreakOnID(This,ID,bEnable) )
-
-#define ID3D12InfoQueue_GetBreakOnCategory(This,Category) \
- ( (This)->lpVtbl -> GetBreakOnCategory(This,Category) )
-
-#define ID3D12InfoQueue_GetBreakOnSeverity(This,Severity) \
- ( (This)->lpVtbl -> GetBreakOnSeverity(This,Severity) )
-
-#define ID3D12InfoQueue_GetBreakOnID(This,ID) \
- ( (This)->lpVtbl -> GetBreakOnID(This,ID) )
-
-#define ID3D12InfoQueue_SetMuteDebugOutput(This,bMute) \
- ( (This)->lpVtbl -> SetMuteDebugOutput(This,bMute) )
-
-#define ID3D12InfoQueue_GetMuteDebugOutput(This) \
- ( (This)->lpVtbl -> GetMuteDebugOutput(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12InfoQueue_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12sdklayers_0000_0019 */
-/* [local] */
-
-typedef
-enum D3D12_MESSAGE_CALLBACK_FLAGS
- {
- D3D12_MESSAGE_CALLBACK_FLAG_NONE = 0,
- D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS = 0x1
- } D3D12_MESSAGE_CALLBACK_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_MESSAGE_CALLBACK_FLAGS)
-typedef void ( __stdcall *D3D12MessageFunc )(
- D3D12_MESSAGE_CATEGORY Category,
- D3D12_MESSAGE_SEVERITY Severity,
- D3D12_MESSAGE_ID ID,
- LPCSTR pDescription,
- void *pContext);
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0019_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0019_v0_0_s_ifspec;
-
-#ifndef __ID3D12InfoQueue1_INTERFACE_DEFINED__
-#define __ID3D12InfoQueue1_INTERFACE_DEFINED__
-
-/* interface ID3D12InfoQueue1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12InfoQueue1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("2852dd88-b484-4c0c-b6b1-67168500e600")
- ID3D12InfoQueue1 : public ID3D12InfoQueue
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE RegisterMessageCallback(
- _In_ D3D12MessageFunc CallbackFunc,
- _In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags,
- _Inout_ void *pContext,
- _Inout_ DWORD *pCallbackCookie) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE UnregisterMessageCallback(
- _In_ DWORD CallbackCookie) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12InfoQueue1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12InfoQueue1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMessageCountLimit)
- HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )(
- ID3D12InfoQueue1 * This,
- _In_ UINT64 MessageCountLimit);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStoredMessages)
- void ( STDMETHODCALLTYPE *ClearStoredMessages )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessage)
- HRESULT ( STDMETHODCALLTYPE *GetMessage )(
- ID3D12InfoQueue1 * This,
- _In_ UINT64 MessageIndex,
- _Out_writes_bytes_opt_(*pMessageByteLength) D3D12_MESSAGE *pMessage,
- _Inout_ SIZE_T *pMessageByteLength);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesAllowedByStorageFilter)
- UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDeniedByStorageFilter)
- UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessages)
- UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessagesAllowedByRetrievalFilter)
- UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDiscardedByMessageCountLimit)
- UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessageCountLimit)
- UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddStorageFilterEntries)
- HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilter)
- HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )(
- ID3D12InfoQueue1 * This,
- _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
- _Inout_ SIZE_T *pFilterByteLength);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStorageFilter)
- void ( STDMETHODCALLTYPE *ClearStorageFilter )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyStorageFilter)
- HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfStorageFilter)
- HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushStorageFilter)
- HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopStorageFilter)
- void ( STDMETHODCALLTYPE *PopStorageFilter )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilterStackSize)
- UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddRetrievalFilterEntries)
- HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilter)
- HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )(
- ID3D12InfoQueue1 * This,
- _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter,
- _Inout_ SIZE_T *pFilterByteLength);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearRetrievalFilter)
- void ( STDMETHODCALLTYPE *ClearRetrievalFilter )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyRetrievalFilter)
- HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfRetrievalFilter)
- HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushRetrievalFilter)
- HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_INFO_QUEUE_FILTER *pFilter);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopRetrievalFilter)
- void ( STDMETHODCALLTYPE *PopRetrievalFilter )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilterStackSize)
- UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddMessage)
- HRESULT ( STDMETHODCALLTYPE *AddMessage )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_MESSAGE_CATEGORY Category,
- _In_ D3D12_MESSAGE_SEVERITY Severity,
- _In_ D3D12_MESSAGE_ID ID,
- _In_ LPCSTR pDescription);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddApplicationMessage)
- HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_MESSAGE_SEVERITY Severity,
- _In_ LPCSTR pDescription);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnCategory)
- HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_MESSAGE_CATEGORY Category,
- _In_ BOOL bEnable);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnSeverity)
- HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_MESSAGE_SEVERITY Severity,
- _In_ BOOL bEnable);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnID)
- HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_MESSAGE_ID ID,
- _In_ BOOL bEnable);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnCategory)
- BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_MESSAGE_CATEGORY Category);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnSeverity)
- BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_MESSAGE_SEVERITY Severity);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnID)
- BOOL ( STDMETHODCALLTYPE *GetBreakOnID )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12_MESSAGE_ID ID);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMuteDebugOutput)
- void ( STDMETHODCALLTYPE *SetMuteDebugOutput )(
- ID3D12InfoQueue1 * This,
- _In_ BOOL bMute);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMuteDebugOutput)
- BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )(
- ID3D12InfoQueue1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue1, RegisterMessageCallback)
- HRESULT ( STDMETHODCALLTYPE *RegisterMessageCallback )(
- ID3D12InfoQueue1 * This,
- _In_ D3D12MessageFunc CallbackFunc,
- _In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags,
- _Inout_ void *pContext,
- _Inout_ DWORD *pCallbackCookie);
-
- DECLSPEC_XFGVIRT(ID3D12InfoQueue1, UnregisterMessageCallback)
- HRESULT ( STDMETHODCALLTYPE *UnregisterMessageCallback )(
- ID3D12InfoQueue1 * This,
- _In_ DWORD CallbackCookie);
-
- END_INTERFACE
- } ID3D12InfoQueue1Vtbl;
-
- interface ID3D12InfoQueue1
- {
- CONST_VTBL struct ID3D12InfoQueue1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12InfoQueue1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12InfoQueue1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12InfoQueue1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12InfoQueue1_SetMessageCountLimit(This,MessageCountLimit) \
- ( (This)->lpVtbl -> SetMessageCountLimit(This,MessageCountLimit) )
-
-#define ID3D12InfoQueue1_ClearStoredMessages(This) \
- ( (This)->lpVtbl -> ClearStoredMessages(This) )
-
-#define ID3D12InfoQueue1_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \
- ( (This)->lpVtbl -> GetMessage(This,MessageIndex,pMessage,pMessageByteLength) )
-
-#define ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(This) \
- ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This) )
-
-#define ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(This) \
- ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This) )
-
-#define ID3D12InfoQueue1_GetNumStoredMessages(This) \
- ( (This)->lpVtbl -> GetNumStoredMessages(This) )
-
-#define ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(This) \
- ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilter(This) )
-
-#define ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(This) \
- ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This) )
-
-#define ID3D12InfoQueue1_GetMessageCountLimit(This) \
- ( (This)->lpVtbl -> GetMessageCountLimit(This) )
-
-#define ID3D12InfoQueue1_AddStorageFilterEntries(This,pFilter) \
- ( (This)->lpVtbl -> AddStorageFilterEntries(This,pFilter) )
-
-#define ID3D12InfoQueue1_GetStorageFilter(This,pFilter,pFilterByteLength) \
- ( (This)->lpVtbl -> GetStorageFilter(This,pFilter,pFilterByteLength) )
-
-#define ID3D12InfoQueue1_ClearStorageFilter(This) \
- ( (This)->lpVtbl -> ClearStorageFilter(This) )
-
-#define ID3D12InfoQueue1_PushEmptyStorageFilter(This) \
- ( (This)->lpVtbl -> PushEmptyStorageFilter(This) )
-
-#define ID3D12InfoQueue1_PushCopyOfStorageFilter(This) \
- ( (This)->lpVtbl -> PushCopyOfStorageFilter(This) )
-
-#define ID3D12InfoQueue1_PushStorageFilter(This,pFilter) \
- ( (This)->lpVtbl -> PushStorageFilter(This,pFilter) )
-
-#define ID3D12InfoQueue1_PopStorageFilter(This) \
- ( (This)->lpVtbl -> PopStorageFilter(This) )
-
-#define ID3D12InfoQueue1_GetStorageFilterStackSize(This) \
- ( (This)->lpVtbl -> GetStorageFilterStackSize(This) )
-
-#define ID3D12InfoQueue1_AddRetrievalFilterEntries(This,pFilter) \
- ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,pFilter) )
-
-#define ID3D12InfoQueue1_GetRetrievalFilter(This,pFilter,pFilterByteLength) \
- ( (This)->lpVtbl -> GetRetrievalFilter(This,pFilter,pFilterByteLength) )
-
-#define ID3D12InfoQueue1_ClearRetrievalFilter(This) \
- ( (This)->lpVtbl -> ClearRetrievalFilter(This) )
-
-#define ID3D12InfoQueue1_PushEmptyRetrievalFilter(This) \
- ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This) )
-
-#define ID3D12InfoQueue1_PushCopyOfRetrievalFilter(This) \
- ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This) )
-
-#define ID3D12InfoQueue1_PushRetrievalFilter(This,pFilter) \
- ( (This)->lpVtbl -> PushRetrievalFilter(This,pFilter) )
-
-#define ID3D12InfoQueue1_PopRetrievalFilter(This) \
- ( (This)->lpVtbl -> PopRetrievalFilter(This) )
-
-#define ID3D12InfoQueue1_GetRetrievalFilterStackSize(This) \
- ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This) )
-
-#define ID3D12InfoQueue1_AddMessage(This,Category,Severity,ID,pDescription) \
- ( (This)->lpVtbl -> AddMessage(This,Category,Severity,ID,pDescription) )
-
-#define ID3D12InfoQueue1_AddApplicationMessage(This,Severity,pDescription) \
- ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) )
-
-#define ID3D12InfoQueue1_SetBreakOnCategory(This,Category,bEnable) \
- ( (This)->lpVtbl -> SetBreakOnCategory(This,Category,bEnable) )
-
-#define ID3D12InfoQueue1_SetBreakOnSeverity(This,Severity,bEnable) \
- ( (This)->lpVtbl -> SetBreakOnSeverity(This,Severity,bEnable) )
-
-#define ID3D12InfoQueue1_SetBreakOnID(This,ID,bEnable) \
- ( (This)->lpVtbl -> SetBreakOnID(This,ID,bEnable) )
-
-#define ID3D12InfoQueue1_GetBreakOnCategory(This,Category) \
- ( (This)->lpVtbl -> GetBreakOnCategory(This,Category) )
-
-#define ID3D12InfoQueue1_GetBreakOnSeverity(This,Severity) \
- ( (This)->lpVtbl -> GetBreakOnSeverity(This,Severity) )
-
-#define ID3D12InfoQueue1_GetBreakOnID(This,ID) \
- ( (This)->lpVtbl -> GetBreakOnID(This,ID) )
-
-#define ID3D12InfoQueue1_SetMuteDebugOutput(This,bMute) \
- ( (This)->lpVtbl -> SetMuteDebugOutput(This,bMute) )
-
-#define ID3D12InfoQueue1_GetMuteDebugOutput(This) \
- ( (This)->lpVtbl -> GetMuteDebugOutput(This) )
-
-
-#define ID3D12InfoQueue1_RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) \
- ( (This)->lpVtbl -> RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) )
-
-#define ID3D12InfoQueue1_UnregisterMessageCallback(This,CallbackCookie) \
- ( (This)->lpVtbl -> UnregisterMessageCallback(This,CallbackCookie) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12InfoQueue1_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12sdklayers_0000_0020 */
-/* [local] */
-
-#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */
-#pragma endregion
-DEFINE_GUID(IID_ID3D12Debug,0x344488b7,0x6846,0x474b,0xb9,0x89,0xf0,0x27,0x44,0x82,0x45,0xe0);
-DEFINE_GUID(IID_ID3D12Debug1,0xaffaa4ca,0x63fe,0x4d8e,0xb8,0xad,0x15,0x90,0x00,0xaf,0x43,0x04);
-DEFINE_GUID(IID_ID3D12Debug2,0x93a665c4,0xa3b2,0x4e5d,0xb6,0x92,0xa2,0x6a,0xe1,0x4e,0x33,0x74);
-DEFINE_GUID(IID_ID3D12Debug3,0x5cf4e58f,0xf671,0x4ff1,0xa5,0x42,0x36,0x86,0xe3,0xd1,0x53,0xd1);
-DEFINE_GUID(IID_ID3D12Debug4,0x014b816e,0x9ec5,0x4a2f,0xa8,0x45,0xff,0xbe,0x44,0x1c,0xe1,0x3a);
-DEFINE_GUID(IID_ID3D12Debug5,0x548d6b12,0x09fa,0x40e0,0x90,0x69,0x5d,0xcd,0x58,0x9a,0x52,0xc9);
-DEFINE_GUID(IID_ID3D12Debug6,0x82a816d6,0x5d01,0x4157,0x97,0xd0,0x49,0x75,0x46,0x3f,0xd1,0xed);
-DEFINE_GUID(IID_ID3D12DebugDevice1,0xa9b71770,0xd099,0x4a65,0xa6,0x98,0x3d,0xee,0x10,0x02,0x0f,0x88);
-DEFINE_GUID(IID_ID3D12DebugDevice,0x3febd6dd,0x4973,0x4787,0x81,0x94,0xe4,0x5f,0x9e,0x28,0x92,0x3e);
-DEFINE_GUID(IID_ID3D12DebugDevice2,0x60eccbc1,0x378d,0x4df1,0x89,0x4c,0xf8,0xac,0x5c,0xe4,0xd7,0xdd);
-DEFINE_GUID(IID_ID3D12DebugCommandQueue,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3a);
-DEFINE_GUID(IID_ID3D12DebugCommandQueue1,0x16be35a2,0xbfd6,0x49f2,0xbc,0xae,0xea,0xae,0x4a,0xff,0x86,0x2d);
-DEFINE_GUID(IID_ID3D12DebugCommandList1,0x102ca951,0x311b,0x4b01,0xb1,0x1f,0xec,0xb8,0x3e,0x06,0x1b,0x37);
-DEFINE_GUID(IID_ID3D12DebugCommandList,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3f);
-DEFINE_GUID(IID_ID3D12DebugCommandList2,0xaeb575cf,0x4e06,0x48be,0xba,0x3b,0xc4,0x50,0xfc,0x96,0x65,0x2e);
-DEFINE_GUID(IID_ID3D12DebugCommandList3,0x197d5e15,0x4d37,0x4d34,0xaf,0x78,0x72,0x4c,0xd7,0x0f,0xdb,0x1f);
-DEFINE_GUID(IID_ID3D12SharingContract,0x0adf7d52,0x929c,0x4e61,0xad,0xdb,0xff,0xed,0x30,0xde,0x66,0xef);
-DEFINE_GUID(IID_ID3D12ManualWriteTrackingResource,0x86ca3b85,0x49ad,0x4b6e,0xae,0xd5,0xed,0xdb,0x18,0x54,0x0f,0x41);
-DEFINE_GUID(IID_ID3D12InfoQueue,0x0742a90b,0xc387,0x483f,0xb9,0x46,0x30,0xa7,0xe4,0xe6,0x14,0x58);
-DEFINE_GUID(IID_ID3D12InfoQueue1,0x2852dd88,0xb484,0x4c0c,0xb6,0xb1,0x67,0x16,0x85,0x00,0xe6,0x00);
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0020_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0020_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12sdklayers.idl b/Juliet/src/Graphics/DX12/D3D12/directx/d3d12sdklayers.idl
deleted file mode 100644
index 36e7d5d..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12sdklayers.idl
+++ /dev/null
@@ -1,1843 +0,0 @@
-/*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- * Licensed under the MIT license
- *
- *-------------------------------------------------------------------------------------*/
-import "oaidl.idl";
-import "ocidl.idl";
-
-import "d3d12.idl";
-
-cpp_quote("#include ")
-
-#pragma region App Family
-cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)")
-
-//==================================================================================================================================
-//
-// Debugging Layer
-//
-//==================================================================================================================================
-
-[uuid(344488b7-6846-474b-b989-f027448245e0), object, local, pointer_default(unique)]
-interface ID3D12Debug
- : IUnknown
-{
- void EnableDebugLayer();
-}
-
-typedef enum D3D12_GPU_BASED_VALIDATION_FLAGS
-{
- D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = 0x00,
- D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = 0x01,
-
-} D3D12_GPU_BASED_VALIDATION_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_FLAGS)")
-
-
-[uuid(affaa4ca-63fe-4d8e-b8ad-159000af4304), object, local, pointer_default(unique)]
-interface ID3D12Debug1
- : IUnknown
-{
- void EnableDebugLayer();
- void SetEnableGPUBasedValidation(BOOL Enable);
- void SetEnableSynchronizedCommandQueueValidation(BOOL Enable);
-}
-
-[uuid(93a665c4-a3b2-4e5d-b692-a26ae14e3374), object, local, pointer_default(unique)]
-interface ID3D12Debug2
- : IUnknown
-{
- void SetGPUBasedValidationFlags(D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
-}
-
-[uuid(5cf4e58f-f671-4ff1-a542-3686e3d153d1), object, local, pointer_default(unique)]
-interface ID3D12Debug3
- : ID3D12Debug
-{
- void SetEnableGPUBasedValidation(BOOL Enable);
- void SetEnableSynchronizedCommandQueueValidation(BOOL Enable);
- void SetGPUBasedValidationFlags(D3D12_GPU_BASED_VALIDATION_FLAGS Flags);
-}
-
-[uuid(014b816e-9ec5-4a2f-a845-ffbe441ce13a), object, local, pointer_default(unique)]
-interface ID3D12Debug4
- : ID3D12Debug3
-{
- void DisableDebugLayer();
-}
-
-[uuid(548d6b12-09fa-40e0-9069-5dcd589a52c9), object, local, pointer_default(unique)]
-interface ID3D12Debug5
- : ID3D12Debug4
-{
- void SetEnableAutoName(BOOL Enable);
-}
-
-[uuid(82a816d6-5d01-4157-97d0-4975463fd1ed), object, local, pointer_default(unique)]
-interface ID3D12Debug6
- : ID3D12Debug5
-{
- void SetForceLegacyBarrierValidation(BOOL Enable);
-}
-
-cpp_quote("DEFINE_GUID(WKPDID_D3DAutoDebugObjectNameW, 0xd4902e36, 0x757a, 0x4942, 0x95, 0x94, 0xb6, 0x76, 0x9a, 0xfa, 0x43, 0xcd);")
-
-typedef enum D3D12_RLDO_FLAGS
-{
- D3D12_RLDO_NONE = 0x0,
- D3D12_RLDO_SUMMARY = 0x1,
- D3D12_RLDO_DETAIL = 0x2,
- D3D12_RLDO_IGNORE_INTERNAL = 0x4,
-
-} D3D12_RLDO_FLAGS;
-
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS)")
-
-typedef enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE
-{
- D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS,
- D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS,
- D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR,
-} D3D12_DEBUG_DEVICE_PARAMETER_TYPE;
-
-typedef enum D3D12_DEBUG_FEATURE
-{
- D3D12_DEBUG_FEATURE_NONE = 0x00,
- D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x01,
- D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x02,
- D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x04,
- D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = 0x08,
-} D3D12_DEBUG_FEATURE;
-
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE)")
-
-typedef enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE
-{
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE,
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY,
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION,
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION,
- NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES
-} D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE;
-
-typedef enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS
-{
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0x00,
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x01,
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x02,
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x04,
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x07
-} D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS;
-
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS)")
-
-typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS
-{
- UINT MaxMessagesPerCommandList;
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode;
- D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags;
-} D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS;
-
-typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR
-{
- FLOAT SlowdownFactor;
-} D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR;
-
-[uuid(a9b71770-d099-4a65-a698-3dee10020f88), object, local, pointer_default(unique)]
-interface ID3D12DebugDevice1
- : IUnknown
-{
- HRESULT SetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, [annotation("_In_reads_bytes_(DataSize)")] const void *pData, UINT DataSize);
- HRESULT GetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, [annotation("_Out_writes_bytes_(DataSize)")] void *pData, UINT DataSize);
- HRESULT ReportLiveDeviceObjects( D3D12_RLDO_FLAGS Flags );
-}
-
-[uuid(3febd6dd-4973-4787-8194-e45f9e28923e), object, local, pointer_default(unique)]
-interface ID3D12DebugDevice
- : IUnknown
-{
- HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE Mask);
- D3D12_DEBUG_FEATURE GetFeatureMask();
- HRESULT ReportLiveDeviceObjects(D3D12_RLDO_FLAGS Flags);
-}
-
-[uuid(60eccbc1-378d-4df1-894c-f8ac5ce4d7dd), object, local, pointer_default(unique)]
-interface ID3D12DebugDevice2
- : ID3D12DebugDevice
-{
- HRESULT SetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, [annotation("_In_reads_bytes_(DataSize)")] const void *pData, UINT DataSize);
- HRESULT GetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, [annotation("_Out_writes_bytes_(DataSize)")] void *pData, UINT DataSize);
-}
-
-cpp_quote("DEFINE_GUID(DXGI_DEBUG_D3D12, 0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95);")
-
-
-[ uuid( 09e0bf36-54ac-484f-8847-4baeeab6053a ), object, local, pointer_default( unique ) ]
-interface ID3D12DebugCommandQueue
- : IUnknown
-{
- BOOL AssertResourceState( [annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, UINT State );
-// TODO: Stale BOOL AssertResourceStateThroughView( [annotation("_In_")] ID3D12View* pView, UINT State );
-};
-
-[ uuid( 16be35a2-bfd6-49f2-bcae-eaae4aff862d ), object, local, pointer_default( unique ) ]
-interface ID3D12DebugCommandQueue1
- : ID3D12DebugCommandQueue
-{
- void AssertResourceAccess([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, D3D12_BARRIER_ACCESS Access);
- void AssertTextureLayout([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, D3D12_BARRIER_LAYOUT Layout);
-};
-
-typedef enum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE
-{
- D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS,
-} D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE;
-
-typedef struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS
-{
- D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE ShaderPatchMode;
-} D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS;
-
-[ uuid( 102ca951-311b-4b01-b11f-ecb83e061b37 ), object, local, pointer_default( unique ) ]
-interface ID3D12DebugCommandList1
- : IUnknown
-{
- BOOL AssertResourceState( [annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, UINT State );
- HRESULT SetDebugParameter(D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, [annotation("_In_reads_bytes_(DataSize)")] const void *pData, UINT DataSize);
- HRESULT GetDebugParameter(D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, [annotation("_Out_writes_bytes_(DataSize)")] void *pData, UINT DataSize);
-};
-
-[uuid(09e0bf36-54ac-484f-8847-4baeeab6053f), object, local, pointer_default(unique)]
-interface ID3D12DebugCommandList
- : IUnknown
-{
- BOOL AssertResourceState([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, UINT State);
- HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE Mask);
- D3D12_DEBUG_FEATURE GetFeatureMask();
-};
-
-[ uuid(aeb575cf-4e06-48be-ba3b-c450fc96652e), object, local, pointer_default( unique ) ]
-interface ID3D12DebugCommandList2
- : ID3D12DebugCommandList
-{
- HRESULT SetDebugParameter(D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, [annotation("_In_reads_bytes_(DataSize)")] const void *pData, UINT DataSize);
- HRESULT GetDebugParameter(D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, [annotation("_Out_writes_bytes_(DataSize)")] void *pData, UINT DataSize);
-};
-
-[ uuid(197d5e15-4d37-4d34-af78-724cd70fdb1f), object, local, pointer_default( unique ) ]
-interface ID3D12DebugCommandList3
- : ID3D12DebugCommandList2
-{
- void AssertResourceAccess([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, D3D12_BARRIER_ACCESS Access);
- void AssertTextureLayout([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, D3D12_BARRIER_LAYOUT Layout);
-};
-
-[uuid(0adf7d52-929c-4e61-addb-ffed30de66ef), object, local, pointer_default(unique)]
-interface ID3D12SharingContract
- : IUnknown
-{
- void Present([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, [annotation("_In_")] HWND window);
- void SharedFenceSignal([annotation("_In_")] ID3D12Fence* pFence, UINT64 FenceValue);
- void BeginCapturableWork([annotation("_In_")] REFGUID guid);
- void EndCapturableWork([annotation("_In_")] REFGUID guid);
-};
-
-[uuid(86ca3b85-49ad-4b6e-aed5-eddb18540f41), object, local, pointer_default(unique)]
-interface ID3D12ManualWriteTrackingResource
- : IUnknown
-{
- void TrackWrite(
- UINT Subresource,
- [annotation("_In_opt_")] const D3D12_RANGE* pWrittenRange);
-};
-
-
-//==================================================================================================================================
-//
-// Info Queue
-//
-//==================================================================================================================================
-typedef enum D3D12_MESSAGE_CATEGORY {
- D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED,
- D3D12_MESSAGE_CATEGORY_MISCELLANEOUS,
- D3D12_MESSAGE_CATEGORY_INITIALIZATION,
- D3D12_MESSAGE_CATEGORY_CLEANUP,
- D3D12_MESSAGE_CATEGORY_COMPILATION,
- D3D12_MESSAGE_CATEGORY_STATE_CREATION,
- D3D12_MESSAGE_CATEGORY_STATE_SETTING,
- D3D12_MESSAGE_CATEGORY_STATE_GETTING,
- D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION,
- D3D12_MESSAGE_CATEGORY_EXECUTION,
- D3D12_MESSAGE_CATEGORY_SHADER,
-} D3D12_MESSAGE_CATEGORY;
-
-typedef enum D3D12_MESSAGE_SEVERITY {
- D3D12_MESSAGE_SEVERITY_CORRUPTION,
- D3D12_MESSAGE_SEVERITY_ERROR,
- D3D12_MESSAGE_SEVERITY_WARNING,
- D3D12_MESSAGE_SEVERITY_INFO,
- D3D12_MESSAGE_SEVERITY_MESSAGE
-} D3D12_MESSAGE_SEVERITY;
-
-// Unique ID for every error
-// CAUTION: New enum values should be appended to the list only. Inserting
-// new enum values into the middle of the list results in changing the numeric
-// values of some ID's from one SDK release to the next. This in-turn breaks
-// PIX and customer tools/filters.
-typedef enum D3D12_MESSAGE_ID {
- D3D12_MESSAGE_ID_UNKNOWN = 0,
-
- //--------------------------------------------------------------------------
- // Messages Used by Core
- // Message IDs generated from core are at the beginning
- // since the core changes less frequently than the debug layer.
-
- // End of Messages used by Core
- // ------------------------------------------------------------------------
- D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 1,
- D3D12_MESSAGE_ID_CORRUPTED_THIS = 2,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 3,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 4,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 5,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 6,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 7,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 8,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 9,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 10,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 11,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 12,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 13,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 14,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 15,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 16,
- D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 17,
- D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 18,
- D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 19,
-
- D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 20,
- D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 21,
- D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 24,
- D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 25,
-
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 26,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 27,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 28,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 29,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 30,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 31,
- D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 32,
-
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 35,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 36,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 37,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 38,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 39,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 40,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 41,
- D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 42,
-
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 45,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 46,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 47,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 48,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 49,
-
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 52,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 53,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 54,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 55,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 56,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 57,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 58,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 59,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 60,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 61,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 62,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 63,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 64,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 65,
-
- D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 66,
- D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 67,
- D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 68,
-
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 69,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 70,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 71,
-
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 72,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 73,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 74,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 75,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 76,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 79,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 80,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 81,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 82,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 83,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 84,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 85,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 86,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 87,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 88,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 89,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 90,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 91,
-
- D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 92,
- D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 93,
- D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 94,
-
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 95,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 96,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 97,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 98,
-
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 100,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 101,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 102,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 103,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 104,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 105,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 106,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 107,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 108,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 109,
-
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 111,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 112,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 113,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 114,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117,
-
- D3D12_MESSAGE_ID_GET_PROGRAM_IDENTIFIER_ERROR = 118,
- D3D12_MESSAGE_ID_GET_WORK_GRAPH_PROPERTIES_ERROR = 119,
- D3D12_MESSAGE_ID_SET_PROGRAM_ERROR = 120,
-
- D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 135,
-
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 202,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 209,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 210,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 211,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 212,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 213,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 219,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 221,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 222,
- D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 232,
- D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 233,
- D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 234,
-
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 239,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 240,
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 245,
-
- D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 253,
-
- D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 255,
- D3D12_MESSAGE_ID_LIVE_DEVICE = 274,
- D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 275,
-
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 276,
- D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 277,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 278,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 280,
- D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 283,
-
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 284,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 285,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 286,
- D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 287,
-
- D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 289,
- D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 290,
- D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 291,
- D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 292,
-
- D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 294,
- D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 295,
- D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 296,
- D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 297,
-
- D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 310,
-
- D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 318,
-
- D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 321,
- D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 322,
- D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 323,
-
- D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 331,
- D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 332,
- D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 333,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 334,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 335,
- D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 336,
- D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 337,
-
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 340,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 341,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 342,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 343,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 344,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 345,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 346,
- D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 354,
-
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 401,
-
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 403,
-
- D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 410,
- D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 412,
- D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 414,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 416,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 418,
- D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 420,
- D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 422,
-
- D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 425,
- D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 426,
- D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 427,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 428,
- D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 429,
- D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 430,
- D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 431,
-
- D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 447,
- D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 448,
-
- D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 493,
- D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 494,
-
- D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 506,
- D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 507,
-
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 519,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 520,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 521,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 522,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 523,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 524,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 525,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 526,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 527,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 528,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 529,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 530,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 531,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 532,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 533,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 534,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 535,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 536,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 537,
- D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 538,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 540,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 541,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 542,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 543,
- D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 544,
- D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 546,
- D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 547,
- D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 549,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 552,
- D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 553,
- D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 554,
-
- D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 557,
- D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 558,
- D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 559,
- D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 560,
- D3D12_MESSAGE_ID_CREATE_RESOURCE = 562,
- D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 563,
- D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 564,
- D3D12_MESSAGE_ID_CREATE_LIBRARY = 565,
- D3D12_MESSAGE_ID_CREATE_HEAP = 566,
- D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 567,
- D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 568,
- D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 569,
-
- D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 570,
- D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 571,
- D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 572,
- D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 573,
- D3D12_MESSAGE_ID_LIVE_RESOURCE = 575,
- D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 576,
- D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 577,
- D3D12_MESSAGE_ID_LIVE_LIBRARY = 578,
- D3D12_MESSAGE_ID_LIVE_HEAP = 579,
- D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 580,
- D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 581,
- D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 582,
-
- D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 583,
- D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 584,
- D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 585,
- D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 586,
- D3D12_MESSAGE_ID_DESTROY_RESOURCE = 588,
- D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 589,
- D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 590,
- D3D12_MESSAGE_ID_DESTROY_LIBRARY = 591,
- D3D12_MESSAGE_ID_DESTROY_HEAP = 592,
- D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 593,
- D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 594,
- D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 595,
-
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 597,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 599,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 602,
- D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 603,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 604,
- // This was shipped, but is no longer used. Do not reuse.
- //D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDINITIALSTATE = 605,
- D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 607,
- D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 608,
- D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 609,
- D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 610,
- D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 611,
- D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 613,
- D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 614,
- D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 615,
- D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 616,
- D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 622,
- D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 623,
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 624,
- D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 625,
- D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 626,
- D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 627,
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 628,
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 629,
- D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 630,
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 631,
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 632,
- D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 633,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 634,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 635,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 636,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 637,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 638,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 639,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 640,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 641,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 642,
- D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 643,
- D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 644,
- D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 645,
- D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 646,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 647,
- D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 649,
- D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 650,
- D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 652,
- D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 653,
- D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 654,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 655,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 656,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 657,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 658,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 659,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 660,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 661,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 662,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 663,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 664,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 665,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 666,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 667,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 668,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 669,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 670,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 671,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 672,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 673,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 674,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 675,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 676,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 677,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 678,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 679,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 680,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 681,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 682,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 683,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 684,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 685,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 686,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 687,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 688,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 689,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 690,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 691,
- D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 692,
- D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 693,
- D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 694,
- D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 695,
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 696,
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 697,
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 698,
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 699,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 700,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 701,
- D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 702,
- D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 703,
- D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 705,
- D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 708,
- D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 709,
- D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 710,
- D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 711,
- D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 712,
- D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 713,
- D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 715,
- D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 717,
- D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 718,
- D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 719,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 720,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 721,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 722,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 723,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 724,
- D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 725,
- D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 726,
- D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 727,
- D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 728,
- D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 729,
- D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 731,
- D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 732,
- D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 733,
- D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 734,
- D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 735,
- // This was shipped, but is no longer used. Do not reuse.
- //D3D12_MESSAGE_ID_UNSTABLE_POWER_STATE = 736,
- D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 737,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 738,
- D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 739,
- D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 740,
- // Note: These are the same as the above two, with the original (incorrect) name
- D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 739,
- D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 740,
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 741,
- D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 742,
- D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 743,
- D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 744,
- D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 745,
-
- // These values shipped, but are no longer used. Do not reuse.
- //D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDCONTEXTTYPE = 746,
- //D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_DECODENOTSUPPORTED = 747,
- //D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_ENCODENOTSUPPORTED = 748,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 815,
- D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 816,
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 817,
- D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 818,
- D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 820,
- D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 821,
- D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 822,
- D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 823,
- D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 824,
- D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 825,
- D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 826,
- D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 827,
- D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 828,
- D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 829,
- D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 832,
- D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 833,
- D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 834,
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 835,
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 836,
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 837,
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 838,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 839,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 840,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 841,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 842,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 843,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 844,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 845,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 846,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 847,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 848,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 849,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 850,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 851,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 852,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 853,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 854,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 855,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 856,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 857,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 858,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 859,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 860,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 861,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 862,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 863,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 864,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 865,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 866,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 867,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 868,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 869,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 870,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 871,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 872,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 873,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 874,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 875,
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 876,
-
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 877,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 878,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 879,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 880,
-
- D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 881,
- D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 882,
- D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 883,
-
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 884,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 885,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 886,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 887,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 888,
- D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 889,
- D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 890,
- D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 891,
- D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 892,
- D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 893,
- D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 894,
- D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 895,
- D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 896,
- D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 897,
- D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 898,
-
- D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 899,
- D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 900,
-
- D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 901,
- D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 902,
- D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 903,
- D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 904,
- D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 905,
- D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 906,
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 907,
- D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 908,
- D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 909,
- D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 910,
-
- D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 911,
- D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 912,
- D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 913,
- D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 914,
- D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 915,
- D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 916,
- D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 917,
- D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 918,
- D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 919,
- D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 920,
-
- D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 921,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 922,
-
- D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 923,
-
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 924,
-
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 925,
-
- D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 926,
-
- D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 927,
-
- D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 929,
- D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 930,
- D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 931,
-
- D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 932,
- D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 933,
-
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 934,
-
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 935,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 936,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 937,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 938,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 939,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 940,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 941,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 942,
-
- D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 943,
- D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 944,
- D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 945,
- D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 946,
-
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 947,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 948,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 949,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 950,
-
- D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 951,
- D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 952,
- D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 953,
-
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 954,
-
- D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 955,
-
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 956,
-
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 957,
-
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 958,
-
- D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 959,
-
- D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 960,
-
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 961,
-
- D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 962,
- D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 963,
- D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 964,
- D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 965,
- D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 966,
- D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 967,
- D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 968,
-
- D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 969,
- D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 970,
- D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 971,
- D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 972,
- D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 973,
-
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 974,
-
- D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 975,
-
- D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 976,
- D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 977,
- D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 978,
- D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 979,
- D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 980,
- D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 981,
- D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 982,
- D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 983,
- D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 984,
- D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 985,
- D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 986,
- D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 987,
- D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 988,
-
- D3D12_MESSAGE_ID_DEPRECATED_API = 989,
-
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 990,
-
- D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 991,
- D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 992,
- D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 993,
- D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 994,
-
- D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 995,
- D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 996,
- D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 997,
-
- D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 998,
-
- D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 999,
-
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 1000,
-
- D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 1001,
- D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 1002,
- D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 1003,
- D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 1004,
-
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 1005,
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 1006,
-
- D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 1007,
-
- D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 1008,
- D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 1009,
- D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 1013,
-
- D3D12_MESSAGE_ID_BEGIN_EVENT = 1014,
- D3D12_MESSAGE_ID_END_EVENT = 1015,
-
- D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 1016,
-
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 1017,
-
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 1018,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 1019,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 1020,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 1021,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 1022,
-
- D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 1023,
-
- D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 1024,
- D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 1025,
-
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 1026,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 1027,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 1028,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 1029,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 1030,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 1031,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 1032,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 1033,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 1034,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 1035,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 1036,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 1037,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 1038,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 1039,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 1040,
-
- D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 1041,
-
- D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 1042,
-
- D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 1043,
-
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 1044,
-
- D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 1045,
-
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 1046,
-
- D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 1047,
-
- D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 1048,
-
- D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 1049,
-
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 1050,
-
- D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 1051,
- D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 1052,
- D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 1053,
- D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 1054,
- D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 1055,
- D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 1056,
- D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 1057,
- D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 1058,
- D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 1059,
- D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 1060,
- D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 1061,
- D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 1062,
- D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 1063,
- D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 1064,
- D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 1065,
-
- D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 1066,
-
- D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 1067,
-
- D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = 1068,
- D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = 1069,
- D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = 1070,
- D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = 1071,
- D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = 1072,
- D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = 1073,
- D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = 1074,
- D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = 1075,
- D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = 1076,
- D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 1077,
-
- D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = 1078,
-
- D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 1079,
-
- D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = 1080,
- D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 1081,
- D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 1082,
-
- D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = 1083,
- D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = 1084,
- D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = 1085,
-
- D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = 1086,
- D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 1087,
- D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = 1088,
- D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = 1089,
-
- D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = 1090,
- D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = 1091,
- D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 1092,
- D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 1093,
-
- D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = 1094,
- D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = 1095,
- D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = 1096,
-
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1097,
- D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1098,
-
- D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 1099,
- D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 1100,
- D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = 1101,
- D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = 1102,
-
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 1103,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 1104,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 1105,
-
- D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = 1106,
-
- D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 1107,
- D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 1108,
- D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 1109,
-
- D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 1110,
-
- D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 1111,
- D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = 1112,
-
- D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 1113,
-
- D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = 1114,
-
- D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = 1115,
- D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = 1116,
- D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = 1117,
- D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 1118,
- D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 1119,
- D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = 1120,
- D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 1121,
-
- D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = 1122,
- D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = 1123,
- D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = 1124,
- D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = 1125,
-
- D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 1126,
-
- D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 1127,
- D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = 1128,
-
- D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 1129,
- D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 1130,
- D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 1131,
-
- D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 1132,
- D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 1133,
- D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 1134,
- D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = 1135,
-
- D3D12_MESSAGE_ID_EVICT_UNDERFLOW = 1136,
-
- D3D12_MESSAGE_ID_CREATE_META_COMMAND = 1137,
- D3D12_MESSAGE_ID_LIVE_META_COMMAND = 1138,
- D3D12_MESSAGE_ID_DESTROY_META_COMMAND = 1139,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = 1140,
- D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = 1141,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 1142,
- D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 1143,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 1144,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 1145,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 1146,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 1147,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 1148,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 1149,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 1150,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 1151,
- D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 1152,
-
- D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 1153,
- D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 1154,
-
- D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 1155,
-
- D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 1156,
-
- D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 1157,
-
- D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1158,
- D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 1159,
- D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1160,
- D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = 1161,
- D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 1162,
-
- D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = 1163,
- D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = 1164,
- D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = 1165,
- D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 1166,
-
- D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = 1167,
- D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = 1168,
- D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = 1169,
-
- D3D12_MESSAGE_ID_RENDER_PASS_ERROR = 1170,
-
- D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = 1171,
- D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = 1172,
- D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = 1173,
- D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = 1174,
- D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = 1175,
- D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 1176,
-
- D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = 1177,
- D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = 1178,
- D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = 1179,
-
- D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = 1180,
- D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = 1181,
- D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = 1182,
-
- D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = 1183,
- D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = 1184,
- D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = 1185,
-
- D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = 1186,
- D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = 1187,
- D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = 1188,
-
- D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = 1189,
- D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = 1190,
- D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 1191,
- D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = 1192,
- D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = 1193,
- D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = 1194,
- D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = 1195,
- D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = 1196,
- D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = 1197,
- D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = 1198,
- D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = 1199,
- D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 1200,
- D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 1201,
-
- D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = 1202,
- D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = 1203,
- D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 1204,
- D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 1205,
- D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 1206,
- D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 1207,
- D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 1208,
- D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 1209,
- D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 1210,
-
- D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 1211,
- D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = 1212,
-
- D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = 1213,
- D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = 1214,
-
- D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 1215,
-
- D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 1216,
- D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = 1217,
-
- D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 1218,
- D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1219,
- D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = 1220,
- D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1221,
-
- D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 1222,
- D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 1223,
- D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 1224,
-
- D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = 1225,
- D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = 1226,
- D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = 1227,
- D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = 1228,
- D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 1229,
-
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 1230,
-
- D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 1231,
- D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1232,
- D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = 1233,
- D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 1234,
- D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = 1235,
- D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 1236,
- D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = 1237,
- D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = 1238,
- D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 1239,
- D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 1240,
- D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 1241,
- D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 1242,
-
- D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 1243,
-
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 1244,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 1245,
-
- D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = 1246,
-
- D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 1247,
-
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 1248,
- D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 1249,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 1250,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 1251,
- D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 1252,
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 1253,
-
- D3D12_MESSAGE_ID_EMPTY_DISPATCH = 1254,
-
-
- D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1255,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 1256,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 1257,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 1258,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 1259,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 1260,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 1261,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 1262,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1263,
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 1264,
-
- D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = 1265,
- D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = 1266,
- D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 1267,
-
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 1268,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 1269,
- D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 1270,
-
- D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 1271,
-
- D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 1272,
- D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 1273,
-
- D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1274,
- D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1275,
- D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 1276,
-
- D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 1277,
-
- D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 1278,
- D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 1279,
-
- D3D12_MESSAGE_ID_CREATE_SHADERCACHESESSION = 1280,
- D3D12_MESSAGE_ID_LIVE_SHADERCACHESESSION = 1281,
- D3D12_MESSAGE_ID_DESTROY_SHADERCACHESESSION = 1282,
-
- D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_INVALIDARGS = 1283,
- D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_DISABLED = 1284,
- D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_ALREADYOPEN = 1285,
-
- D3D12_MESSAGE_ID_SHADERCACHECONTROL_DEVELOPERMODE = 1286,
- D3D12_MESSAGE_ID_SHADERCACHECONTROL_INVALIDFLAGS = 1287,
- D3D12_MESSAGE_ID_SHADERCACHECONTROL_STATEALREADYSET = 1288,
- D3D12_MESSAGE_ID_SHADERCACHECONTROL_IGNOREDFLAG = 1289,
-
- D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT = 1290,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_HASHCOLLISION = 1291,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_CACHEFULL = 1292,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_FINDVALUE_NOTFOUND = 1293,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_CORRUPT = 1294,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_DISABLED = 1295,
-
- D3D12_MESSAGE_ID_OVERSIZED_DISPATCH = 1296,
- D3D12_MESSAGE_ID_CREATE_VIDEOENCODER = 1297,
- D3D12_MESSAGE_ID_LIVE_VIDEOENCODER = 1298,
- D3D12_MESSAGE_ID_DESTROY_VIDEOENCODER = 1299,
- D3D12_MESSAGE_ID_CREATE_VIDEOENCODERHEAP = 1300,
- D3D12_MESSAGE_ID_LIVE_VIDEOENCODERHEAP = 1301,
- D3D12_MESSAGE_ID_DESTROY_VIDEOENCODERHEAP = 1302,
-
- D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1303,
- D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1304,
- D3D12_MESSAGE_ID_ENCODE_FRAME_INVALID_PARAMETERS = 1305,
- D3D12_MESSAGE_ID_ENCODE_FRAME_UNSUPPORTED_PARAMETERS = 1306,
- D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS = 1307,
- D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS = 1308,
- D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_INVALID_PARAMETERS = 1309,
- D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS = 1310,
- D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS = 1311,
- D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS = 1312,
- D3D12_MESSAGE_ID_CREATECOMMANDLIST_NULL_COMMANDALLOCATOR = 1313,
- D3D12_MESSAGE_ID_CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE = 1314,
- D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE = 1315,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOP_WARNING = 1316,
- D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOPALPHA_WARNING = 1317,
- D3D12_MESSAGE_ID_WRITE_COMBINE_PERFORMANCE_WARNING = 1318,
- D3D12_MESSAGE_ID_RESOLVE_QUERY_INVALID_QUERY_STATE = 1319,
- D3D12_MESSAGE_ID_SETPRIVATEDATA_NO_ACCESS = 1320,
- D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH = 1321,
- D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH = 1322,
- D3D12_MESSAGE_ID_CREATEMESHSHADER_TOPOLOGY_MISMATCH = 1323,
- D3D12_MESSAGE_ID_VRS_SUM_COMBINER_REQUIRES_CAPABILITY = 1324,
- D3D12_MESSAGE_ID_SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY = 1325,
- D3D12_MESSAGE_ID_SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED = 1326,
- D3D12_MESSAGE_ID_SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED = 1327,
- D3D12_MESSAGE_ID_CREATERESOURCE_STATE_IGNORED = 1328,
- D3D12_MESSAGE_ID_UNUSED_CROSS_EXECUTE_SPLIT_BARRIER = 1329,
- D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_HANDLE_ACCESS_DENIED = 1330,
-
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_VALUES = 1331,
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_ACCESS = 1332,
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_SYNC = 1333,
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT = 1334,
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_TYPE = 1335,
- D3D12_MESSAGE_ID_OUT_OF_BOUNDS_BARRIER_SUBRESOURCE_RANGE = 1336,
- D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_RESOURCE_DIMENSION = 1337,
-
- D3D12_MESSAGE_ID_SET_SCISSOR_RECTS_INVALID_RECT = 1338,
-
- D3D12_MESSAGE_ID_SHADING_RATE_SOURCE_REQUIRES_DIMENSION_TEXTURE2D = 1339,
-
- D3D12_MESSAGE_ID_BUFFER_BARRIER_SUBREGION_OUT_OF_BOUNDS = 1340,
-
- D3D12_MESSAGE_ID_UNSUPPORTED_BARRIER_LAYOUT = 1341,
-
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALID_PARAMETERS = 1342,
-
- D3D12_MESSAGE_ID_ENHANCED_BARRIERS_NOT_SUPPORTED = 1343,
-
- D3D12_MESSAGE_ID_LEGACY_BARRIER_VALIDATION_FORCED_ON = 1346,
-
- D3D12_MESSAGE_ID_EMPTY_ROOT_DESCRIPTOR_TABLE = 1347,
-
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ELEMENT_OFFSET_UNALIGNED = 1348,
-
- D3D12_MESSAGE_ID_ALPHA_BLEND_FACTOR_NOT_SUPPORTED = 1349,
-
- D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_LAYOUT = 1350,
- D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_STATE = 1351,
-
- D3D12_MESSAGE_ID_GRAPHICS_PIPELINE_STATE_DESC_ZERO_SAMPLE_MASK = 1352,
-
- D3D12_MESSAGE_ID_INDEPENDENT_STENCIL_REF_NOT_SUPPORTED = 1353,
- D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INDEPENDENT_MASKS_UNSUPPORTED = 1354,
-
- D3D12_MESSAGE_ID_TEXTURE_BARRIER_SUBRESOURCES_OUT_OF_BOUNDS = 1355,
-
- D3D12_MESSAGE_ID_NON_OPTIMAL_BARRIER_ONLY_EXECUTE_COMMAND_LISTS = 1356,
-
- D3D12_MESSAGE_ID_EXECUTE_INDIRECT_ZERO_COMMAND_COUNT = 1357,
-
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_TEXTURE_LAYOUT = 1358,
-
- D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NOT_SUPPORTED = 1359,
- D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_TRIANGLE_FANS_NOT_SUPPORTED = 1360,
-
- D3D12_MESSAGE_ID_CREATE_SAMPLER_COMPARISON_FUNC_IGNORED = 1361,
-
- D3D12_MESSAGE_ID_CREATEHEAP_INVALIDHEAPTYPE = 1362,
- D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPTYPE = 1363,
- D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NOT_SUPPORTED = 1364,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_NON_WHOLE_DYNAMIC_DEPTH_BIAS = 1365,
-
- D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_FLAG_MISSING = 1366,
- D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NO_PIPELINE = 1367,
- D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_FLAG_MISSING = 1368,
- D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NO_PIPELINE = 1369,
-
- D3D12_MESSAGE_ID_NONNORMALIZED_COORDINATE_SAMPLING_NOT_SUPPORTED = 1370,
-
- D3D12_MESSAGE_ID_INVALID_CAST_TARGET = 1371,
-
- D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_END_STATE = 1372,
- D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_START_STATE = 1373,
- D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_ACCESS = 1374,
- D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_LOCAL_PRESERVE_PARAMETERS = 1375,
- D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_PRESERVE_RENDER_PARAMETERS_ERROR = 1376,
- D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_DEPTH_STENCIL_ERROR = 1377,
-
- D3D12_MESSAGE_ID_DRAW_POTENTIALLY_OUTSIDE_OF_VALID_RENDER_AREA = 1378,
- D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_LINERASTERIZATIONMODE = 1379,
-
- D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT_SMALLRESOURCE = 1380,
- D3D12_MESSAGE_ID_GENERIC_DEVICE_OPERATION_UNSUPPORTED = 1381,
-
- D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDER_TARGET_WRONG_WRITE_MASK = 1382,
-
- D3D12_MESSAGE_ID_PROBABLE_PIX_EVENT_LEAK = 1383,
- D3D12_MESSAGE_ID_PIX_EVENT_UNDERFLOW = 1384,
-
- D3D12_MESSAGE_ID_RECREATEAT_INVALID_TARGET = 1385,
- D3D12_MESSAGE_ID_RECREATEAT_INSUFFICIENT_SUPPORT = 1386,
-
- D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_STRUCTURED_BUFFER_STRIDE_MISMATCH = 1387,
-
- D3D12_MESSAGE_ID_DISPATCH_GRAPH_INVALID = 1388,
-
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_FORMAT_INVALID = 1389,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_DIMENSION_INVALID = 1390,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_COLOR_FORMAT_INVALID = 1391,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_DEPTH_FORMAT_INVALID = 1392,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXPOSURE_SCALE_FORMAT_INVALID = 1393,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_ENGINE_CREATE_FLAGS_INVALID = 1394,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_LOAD_FAILURE = 1395,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_ENGINE_CREATION_ERROR = 1396,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_CREATION_ERROR = 1397,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_EXECUTION_ERROR = 1398,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REGION_INVALID = 1399,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_TIME_DELTA_INVALID = 1400,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REQUIRED_TEXTURE_IS_NULL = 1401,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_MOTION_VECTORS_FORMAT_INVALID = 1402,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FLAGS_INVALID = 1403,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FORMAT_INVALID = 1404,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_EXPOSURE_SCALE_TEXTURE_SIZE_INVALID = 1405,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_INDEX_OUT_OF_BOUNDS = 1406,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_ID_NOT_FOUND = 1407,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_DUPLICATE_VARIANT_ID = 1408,
- D3D12_MESSAGE_ID_DIRECTSR_OUT_OF_MEMORY = 1409,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_UNEXPECTED_TEXTURE_IS_IGNORED = 1410,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EVICT_UNDERFLOW = 1411,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_OPTIONAL_TEXTURE_IS_NULL = 1412,
- D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_INVALID_CAMERA_JITTER = 1413,
- D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_WARNING = 1414,
- D3D12_MESSAGE_ID_GUID_TEXTURE_LAYOUT_UNSUPPORTED = 1415,
- D3D12_MESSAGE_ID_RESOLVE_ENCODER_INPUT_PARAM_LAYOUT_INVALID_PARAMETERS = 1416,
- D3D12_MESSAGE_ID_INVALID_BARRIER_ACCESS = 1417,
- D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INSTANCE_COUNT_ZERO = 1418,
- D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SET_BEFORE_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1419,
- D3D12_MESSAGE_ID_DIFFERENT_DESCRIPTOR_HEAP_SET_AFTER_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1420,
- D3D12_MESSAGE_ID_D3D12_MESSAGES_END
-} D3D12_MESSAGE_ID;
-
-typedef struct D3D12_MESSAGE
-{
- D3D12_MESSAGE_CATEGORY Category;
- D3D12_MESSAGE_SEVERITY Severity;
- D3D12_MESSAGE_ID ID;
- [annotation("_Field_size_(DescriptionByteLength)")] const char* pDescription;
- SIZE_T DescriptionByteLength;
-} D3D12_MESSAGE;
-
-typedef struct D3D12_INFO_QUEUE_FILTER_DESC
-{
- UINT NumCategories;
- [annotation("_Field_size_(NumCategories)")] D3D12_MESSAGE_CATEGORY* pCategoryList;
- UINT NumSeverities;
- [annotation("_Field_size_(NumSeverities)")] D3D12_MESSAGE_SEVERITY* pSeverityList;
- UINT NumIDs;
- [annotation("_Field_size_(NumIDs)")] D3D12_MESSAGE_ID* pIDList;
-} D3D12_INFO_QUEUE_FILTER_DESC;
-
-// To use, memset to 0, then fill in what you need.
-typedef struct D3D12_INFO_QUEUE_FILTER
-{
- D3D12_INFO_QUEUE_FILTER_DESC AllowList;
- D3D12_INFO_QUEUE_FILTER_DESC DenyList;
-} D3D12_INFO_QUEUE_FILTER;
-
-//=============================================================================
-// ID3D12InfoQueue
-//
-// Logs D3D12 Messages.
-// This interface can be queried from ID3D12Device, as long as the device
-// was created with the debug layer.
-//
-//
-cpp_quote("#define D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024")
-[uuid(0742a90b-c387-483f-b946-30a7e4e61458), object, local, pointer_default(unique)]
-interface ID3D12InfoQueue
- : IUnknown
-{
- //=========================================================================
- // Methods for configuring how much data is stored in the queue.
-
- // SetMessageCountLimit()
- // This sets how many messages are stored. When the queue is full,
- // new messages coming in push old messages out.
- // Passing -1 to SetMessageCountLimit means the queue has
- // unlimited size (go until out of memory or ClearStoredMessages()).
- // The default message count size is
- // D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT
- // Returns S_OK or E_INVALIDARG.
- HRESULT SetMessageCountLimit([annotation("_In_")] UINT64 MessageCountLimit);
-
- // ClearStoredMessages
- void ClearStoredMessages();
-
- //=========================================================================
- // Methods for retrieving data or statistics from the queue.
-
- // GetMessage()
- // Retrieves messages, one at a time, from the queue which pass any
- // retrieval filter currently defined. If there is no retrieval filter,
- // all messages can be retrieved.
- // The MessageIndex parameter is a 0 based index into the results passing
- // the filter. The number of results is returned by
- // GetNumStoredMessagesAllowedByRetrievalFilter().
- //
- // Note this does not remove the message from the queue.
- //
- // pMessageByteLength inputs the size of the buffer passed in via
- // pMessage, and outputs the size of the message. pMessage can be NULL
- // when the size of the required buffer is being queried (return S_FALSE).
- //
- // NOTE: The returned buffer pMessage is NOT just the size of D3D12_MESSAGE,
- // it includes extra memory after the D3D12_MESSAGE for storing the string
- // description, which is pointed to from within D3D12_MESSAGE. Therefore
- // applications should check the size needed for pMessage as described above.
- //
- // Watch out for thread safety when making consecutive calls first to
- // determine the buffer size required and then to pass in the buffer and
- // retrieve the message, and also between calling
- // GetNumStoredMessagesAllowedByRetrievalFilter() and enumerating through
- // the results via GetMessagE().
- //
- // Returns: S_OK, S_FALSE, E_INVALIDARG or E_OUTOFMEMORY.
- HRESULT GetMessage(
- [annotation("_In_")] UINT64 MessageIndex,
- [annotation("_Out_writes_bytes_opt_(*pMessageByteLength)")] D3D12_MESSAGE* pMessage,
- [annotation("_Inout_")] SIZE_T* pMessageByteLength);
-
- // GetNumMessagesAllowedByStorageFilter()
- // Returns how many messages sent to the queue passed
- // whatever storage filter was active upon receipt of
- // the message.
- // This can be a larger value than the message count limit,
- // returned by GetMessageCountLimit(), since old messages are discarded
- // when the queue is full to prevent overflow.
- UINT64 GetNumMessagesAllowedByStorageFilter();
-
- // GetNumMessagesDeniedByStorageFilter()
- UINT64 GetNumMessagesDeniedByStorageFilter();
-
- // GetNumStoredMessages()
- // Returns how many messages are currently stored in the queue.
- UINT64 GetNumStoredMessages();
-
- // GetNumStoredMessagesAllowedByRetrievalFilter()
- // Returns how many messages that are currently in the queue
- // pass any retrieval filter that is currently set.
- // The MessageIndex parameter to GetMessage() indexes
- // an array of this many results.
- UINT64 GetNumStoredMessagesAllowedByRetrievalFilter();
-
- // GetNumMessagesDiscardedByMessageCountLimit()
- UINT64 GetNumMessagesDiscardedByMessageCountLimit();
-
- // GetMessageCountLimit
- // This is how many messages can be stored in the queue.
- // When the queue is full, new messages coming in push old messages out.
- // -1 means there is no limit.
- UINT64 GetMessageCountLimit();
-
- //=========================================================================
- // Methods for filtering what gets stored in the queue
-
- // AddStorageFilterEntries()
- // Adds to the existing entries at top of stack
- // Returns: S_OK, E_INVALIDARG or E_OUTOFMEMORY.
- HRESULT AddStorageFilterEntries(
- [annotation("_In_")] D3D12_INFO_QUEUE_FILTER* pFilter);
-
- // GetStorageFilter()
- // Gets all entries at top of stack.
- // The application must allocate the output buffer. The size required can be
- // queried by passing null for pFilter and looking at the returned
- // pFilterByteLength (HRESULT is S_FALSE). Note that D3D12_INFO_QUEUE_FILTER contains
- // pointers - these will point to locations within the same
- // contiguous buffer - *pFilterByteLength is the total storage needed for all
- // data. So the application needs to only allocate/free the memory for pFilter.
- // Returns S_OK, S_FALSE, E_INVALIDARG or E_OUTOFMEMORY
- HRESULT GetStorageFilter(
- [annotation("_Out_writes_bytes_opt_(*pFilterByteLength)")] D3D12_INFO_QUEUE_FILTER* pFilter,
- [annotation("_Inout_")] SIZE_T* pFilterByteLength);
-
- // ClearStorageFilter()
- // Clears filter at the top of the stack (if there is one)
- void ClearStorageFilter();
-
- // PushEmptyStorageFilter()
- // Push an empty storage filter on the stack to allow local filtering changes.
- // For convenience, this is automatically called by SetStorageFilter()
- // if the stack is empty. Thus if the stack is not needed, filters can be
- // defined without ever bothering to push or pop.
- // Returns S_OK or E_OUTOFMEMORY
- HRESULT PushEmptyStorageFilter();
-
- // PushCopyOfStorageFilter()
- // Push a copy of the current filter so that local modifications can be made
- // starting from what currently exists.
- // Returns S_OK or E_OUTOFMEMORY
- HRESULT PushCopyOfStorageFilter();
-
- // PushStorageFilter()
- // Push a filter passed as a parameter onto the stack. This is
- // just a helper for calling PushEmptyStorageFilter() followed
- // by AddStorageFilterEntries()
- // Returns S_OK, E_INVALIDARG or E_OUTOFMEMORY.
- HRESULT PushStorageFilter(
- [annotation("_In_")] D3D12_INFO_QUEUE_FILTER* pFilter);
-
- // PopStorageFilter()
- // Pop the current storage filter off the stack (if there is one)
- void PopStorageFilter();
-
- // GetStorageFilterStackSize()
- UINT GetStorageFilterStackSize();
-
- //=========================================================================
- // Methods for filtering what gets read out of the queue by GetMessage().
-
- // AddRetrievalFilterEntries()
- // Adds to the existing entries at top of stack
- // Returns: S_OK, E_INVALIDARG or E_OUTOFMEMORY.
- HRESULT AddRetrievalFilterEntries(
- [annotation("_In_")] D3D12_INFO_QUEUE_FILTER* pFilter);
-
- // GetRetrievalFilter()
- // Gets all entries at top of stack.
- // The application must allocate the output buffer. The size required can be
- // queried by passing null for pFilter and looking at the returned
- // pFilterByteLength (HRESULT is S_FALSE). Note that D3D12_INFO_QUEUE_FILTER contains
- // pointers - these will point to locations within the same
- // contiguous buffer - *pFilterByteLength is the total storage needed for all
- // data. So the application needs to only allocate/free the memory for pFilter.
- // Returns S_OK, S_FALSE, E_INVALIDARG or E_OUTOFMEMORY
- HRESULT GetRetrievalFilter(
- [annotation("_Out_writes_bytes_opt_(*pFilterByteLength)")] D3D12_INFO_QUEUE_FILTER* pFilter,
- [annotation("_Inout_")] SIZE_T* pFilterByteLength);
-
- // ClearRetrievalFilter()
- // Clears filter at the top of the stack (if there is one)
- void ClearRetrievalFilter();
-
- // PushEmptyRetrievalFilter()
- // Push an empty storage filter on the stack to allow local filtering changes.
- // For convenience, this is automatically called by SetRetrievalFilter()
- // if the stack is empty. Thus if the stack is not needed, filters can be
- // defined without ever bothering to push or pop.
- // Returns S_OK or E_OUTOFMEMORY
- HRESULT PushEmptyRetrievalFilter();
-
- // PushCopyOfRetrievalFilter()
- // Push a copy of the current filter so that local modifications can be made
- // starting from what currently exists.
- // Returns S_OK or E_OUTOFMEMORY
- HRESULT PushCopyOfRetrievalFilter();
-
- // PushRetrievalFilter()
- // Push a filter passed as a parameter onto the stack. This is
- // just a helper for calling PushEmptyRetrievalFilter() followed
- // by AddRetrievalFilterEntries()
- // Returns S_OK, E_INVALIDARG or E_OUTOFMEMORY.
- HRESULT PushRetrievalFilter(
- [annotation("_In_")] D3D12_INFO_QUEUE_FILTER* pFilter);
-
- // PopRetrievalFilter()
- // Pop the current storage filter off the stack (if there is one)
- void PopRetrievalFilter();
-
- // GetRetrievalFilterStackSize()
- UINT GetRetrievalFilterStackSize();
-
- //=========================================================================
- // Methods for adding entries to the queue.
-
- // AddMessage()
- // This is used by D3D12 components to log messages. Nothing stops
- // applications from calling this, but it isn’t particularly useful.
- // If an application wishes to insert custom strings into the queue,
- // AddApplicationMessage() below is suggested. See below.
- //
- // Returns S_OK, E_INVALIDARG or E_OUTOFMEMORY
- HRESULT AddMessage(
- [annotation("_In_")] D3D12_MESSAGE_CATEGORY Category,
- [annotation("_In_")] D3D12_MESSAGE_SEVERITY Severity,
- [annotation("_In_")] D3D12_MESSAGE_ID ID,
- [annotation("_In_")] LPCSTR pDescription);
-
- // AddApplicationMessage()
- // This is a convenience for applications that want
- // to insert strings of their own into the queue, perhaps to log issues
- // of its own, or to mark out points in time in the queue. This
- // has the same effect as calling AddMessage() above with the
- // following settings:
- // Category = D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED
- // Severity =
- // ID = D3D12_MESSAGE_ID_STRING_FROM_APPLICATION
- // pDescription =
- //
- // Returns S_OK, E_INVALIDARG or E_OUTOFMEMORY
- HRESULT AddApplicationMessage(
- [annotation("_In_")] D3D12_MESSAGE_SEVERITY Severity,
- [annotation("_In_")] LPCSTR pDescription);
-
- //=========================================================================
- // Methods for breaking on errors that pass the storage filter.
- HRESULT SetBreakOnCategory(
- [annotation("_In_")] D3D12_MESSAGE_CATEGORY Category,
- [annotation("_In_")] BOOL bEnable);
- HRESULT SetBreakOnSeverity(
- [annotation("_In_")] D3D12_MESSAGE_SEVERITY Severity,
- [annotation("_In_")] BOOL bEnable);
- HRESULT SetBreakOnID(
- [annotation("_In_")] D3D12_MESSAGE_ID ID,
- [annotation("_In_")] BOOL bEnable);
-
- BOOL GetBreakOnCategory(
- [annotation("_In_")] D3D12_MESSAGE_CATEGORY Category);
- BOOL GetBreakOnSeverity(
- [annotation("_In_")] D3D12_MESSAGE_SEVERITY Severity);
- BOOL GetBreakOnID(
- [annotation("_In_")] D3D12_MESSAGE_ID ID);
-
- //=========================================================================
- // Methods for globally muting debug spte from the InfoQueue
- void SetMuteDebugOutput(
- [annotation("_In_")] BOOL bMute);
- BOOL GetMuteDebugOutput();
-};
-
-typedef enum D3D12_MESSAGE_CALLBACK_FLAGS
-{
- D3D12_MESSAGE_CALLBACK_FLAG_NONE = 0x00,
- D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS = 0x01,
-
-} D3D12_MESSAGE_CALLBACK_FLAGS;
-
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS(D3D12_MESSAGE_CALLBACK_FLAGS)")
-
-typedef void (__stdcall *D3D12MessageFunc) (D3D12_MESSAGE_CATEGORY Category,
- D3D12_MESSAGE_SEVERITY Severity,
- D3D12_MESSAGE_ID ID,
- LPCSTR pDescription,
- void* pContext);
-
-[ uuid( 2852dd88-b484-4c0c-b6b1-67168500e600 ), object, local, pointer_default( unique ) ]
-interface ID3D12InfoQueue1
- : ID3D12InfoQueue
-{
- HRESULT RegisterMessageCallback(
- [annotation("_In_")] D3D12MessageFunc CallbackFunc,
- [annotation("_In_")] D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags,
- [annotation("_Inout_")] void* pContext,
- [annotation("_Inout_")] DWORD *pCallbackCookie);
-
- HRESULT UnregisterMessageCallback(
- [annotation("_In_")] DWORD CallbackCookie);
-};
-
-
-
-cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */")
-#pragma endregion
-
-cpp_quote( "DEFINE_GUID(IID_ID3D12Debug,0x344488b7,0x6846,0x474b,0xb9,0x89,0xf0,0x27,0x44,0x82,0x45,0xe0);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Debug1,0xaffaa4ca,0x63fe,0x4d8e,0xb8,0xad,0x15,0x90,0x00,0xaf,0x43,0x04);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Debug2,0x93a665c4,0xa3b2,0x4e5d,0xb6,0x92,0xa2,0x6a,0xe1,0x4e,0x33,0x74);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Debug3,0x5cf4e58f,0xf671,0x4ff1,0xa5,0x42,0x36,0x86,0xe3,0xd1,0x53,0xd1);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Debug4,0x014b816e,0x9ec5,0x4a2f,0xa8,0x45,0xff,0xbe,0x44,0x1c,0xe1,0x3a);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Debug5,0x548d6b12,0x09fa,0x40e0,0x90,0x69,0x5d,0xcd,0x58,0x9a,0x52,0xc9);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12Debug6,0x82a816d6,0x5d01,0x4157,0x97,0xd0,0x49,0x75,0x46,0x3f,0xd1,0xed);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DebugDevice1,0xa9b71770,0xd099,0x4a65,0xa6,0x98,0x3d,0xee,0x10,0x02,0x0f,0x88);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DebugDevice,0x3febd6dd,0x4973,0x4787,0x81,0x94,0xe4,0x5f,0x9e,0x28,0x92,0x3e);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DebugDevice2,0x60eccbc1,0x378d,0x4df1,0x89,0x4c,0xf8,0xac,0x5c,0xe4,0xd7,0xdd);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandQueue,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3a);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandQueue1,0x16be35a2,0xbfd6,0x49f2,0xbc,0xae,0xea,0xae,0x4a,0xff,0x86,0x2d);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandList1,0x102ca951,0x311b,0x4b01,0xb1,0x1f,0xec,0xb8,0x3e,0x06,0x1b,0x37);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandList,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3f);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandList2,0xaeb575cf,0x4e06,0x48be,0xba,0x3b,0xc4,0x50,0xfc,0x96,0x65,0x2e);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandList3,0x197d5e15,0x4d37,0x4d34,0xaf,0x78,0x72,0x4c,0xd7,0x0f,0xdb,0x1f);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12SharingContract,0x0adf7d52,0x929c,0x4e61,0xad,0xdb,0xff,0xed,0x30,0xde,0x66,0xef);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12ManualWriteTrackingResource,0x86ca3b85,0x49ad,0x4b6e,0xae,0xd5,0xed,0xdb,0x18,0x54,0x0f,0x41);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12InfoQueue,0x0742a90b,0xc387,0x483f,0xb9,0x46,0x30,0xa7,0xe4,0xe6,0x14,0x58);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12InfoQueue1,0x2852dd88,0xb484,0x4c0c,0xb6,0xb1,0x67,0x16,0x85,0x00,0xe6,0x00);" )
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12shader.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3d12shader.h
deleted file mode 100644
index 224ae51..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12shader.h
+++ /dev/null
@@ -1,494 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT license.
-//
-// File: D3D12Shader.h
-// Content: D3D12 Shader Types and APIs
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef __D3D12SHADER_H__
-#define __D3D12SHADER_H__
-
-#include "d3dcommon.h"
-
-typedef enum D3D12_SHADER_VERSION_TYPE
-{
- D3D12_SHVER_PIXEL_SHADER = 0,
- D3D12_SHVER_VERTEX_SHADER = 1,
- D3D12_SHVER_GEOMETRY_SHADER = 2,
-
- // D3D11 Shaders
- D3D12_SHVER_HULL_SHADER = 3,
- D3D12_SHVER_DOMAIN_SHADER = 4,
- D3D12_SHVER_COMPUTE_SHADER = 5,
-
- // D3D12 Shaders
- D3D12_SHVER_LIBRARY = 6,
-
- D3D12_SHVER_RAY_GENERATION_SHADER = 7,
- D3D12_SHVER_INTERSECTION_SHADER = 8,
- D3D12_SHVER_ANY_HIT_SHADER = 9,
- D3D12_SHVER_CLOSEST_HIT_SHADER = 10,
- D3D12_SHVER_MISS_SHADER = 11,
- D3D12_SHVER_CALLABLE_SHADER = 12,
-
- D3D12_SHVER_MESH_SHADER = 13,
- D3D12_SHVER_AMPLIFICATION_SHADER = 14,
-
- D3D12_SHVER_NODE_SHADER = 15,
-
- D3D12_SHVER_RESERVED0 = 0xFFF0,
-} D3D12_SHADER_VERSION_TYPE;
-
-#define D3D12_SHVER_GET_TYPE(_Version) \
- (((_Version) >> 16) & 0xffff)
-#define D3D12_SHVER_GET_MAJOR(_Version) \
- (((_Version) >> 4) & 0xf)
-#define D3D12_SHVER_GET_MINOR(_Version) \
- (((_Version) >> 0) & 0xf)
-
-// Slot ID for library function return
-#define D3D_RETURN_PARAMETER_INDEX (-1)
-
-typedef D3D_RESOURCE_RETURN_TYPE D3D12_RESOURCE_RETURN_TYPE;
-
-typedef D3D_CBUFFER_TYPE D3D12_CBUFFER_TYPE;
-
-
-typedef struct _D3D12_SIGNATURE_PARAMETER_DESC
-{
- LPCSTR SemanticName; // Name of the semantic
- UINT SemanticIndex; // Index of the semantic
- UINT Register; // Number of member variables
- D3D_NAME SystemValueType;// A predefined system value, or D3D_NAME_UNDEFINED if not applicable
- D3D_REGISTER_COMPONENT_TYPE ComponentType; // Scalar type (e.g. uint, float, etc.)
- BYTE Mask; // Mask to indicate which components of the register
- // are used (combination of D3D10_COMPONENT_MASK values)
- BYTE ReadWriteMask; // Mask to indicate whether a given component is
- // never written (if this is an output signature) or
- // always read (if this is an input signature).
- // (combination of D3D_MASK_* values)
- UINT Stream; // Stream index
- D3D_MIN_PRECISION MinPrecision; // Minimum desired interpolation precision
-} D3D12_SIGNATURE_PARAMETER_DESC;
-
-typedef struct _D3D12_SHADER_BUFFER_DESC
-{
- LPCSTR Name; // Name of the constant buffer
- D3D_CBUFFER_TYPE Type; // Indicates type of buffer content
- UINT Variables; // Number of member variables
- UINT Size; // Size of CB (in bytes)
- UINT uFlags; // Buffer description flags
-} D3D12_SHADER_BUFFER_DESC;
-
-typedef struct _D3D12_SHADER_VARIABLE_DESC
-{
- LPCSTR Name; // Name of the variable
- UINT StartOffset; // Offset in constant buffer's backing store
- UINT Size; // Size of variable (in bytes)
- UINT uFlags; // Variable flags
- LPVOID DefaultValue; // Raw pointer to default value
- UINT StartTexture; // First texture index (or -1 if no textures used)
- UINT TextureSize; // Number of texture slots possibly used.
- UINT StartSampler; // First sampler index (or -1 if no textures used)
- UINT SamplerSize; // Number of sampler slots possibly used.
-} D3D12_SHADER_VARIABLE_DESC;
-
-typedef struct _D3D12_SHADER_TYPE_DESC
-{
- D3D_SHADER_VARIABLE_CLASS Class; // Variable class (e.g. object, matrix, etc.)
- D3D_SHADER_VARIABLE_TYPE Type; // Variable type (e.g. float, sampler, etc.)
- UINT Rows; // Number of rows (for matrices, 1 for other numeric, 0 if not applicable)
- UINT Columns; // Number of columns (for vectors & matrices, 1 for other numeric, 0 if not applicable)
- UINT Elements; // Number of elements (0 if not an array)
- UINT Members; // Number of members (0 if not a structure)
- UINT Offset; // Offset from the start of structure (0 if not a structure member)
- LPCSTR Name; // Name of type, can be NULL
-} D3D12_SHADER_TYPE_DESC;
-
-typedef D3D_TESSELLATOR_DOMAIN D3D12_TESSELLATOR_DOMAIN;
-
-typedef D3D_TESSELLATOR_PARTITIONING D3D12_TESSELLATOR_PARTITIONING;
-
-typedef D3D_TESSELLATOR_OUTPUT_PRIMITIVE D3D12_TESSELLATOR_OUTPUT_PRIMITIVE;
-
-typedef struct _D3D12_SHADER_DESC
-{
- UINT Version; // Shader version
- LPCSTR Creator; // Creator string
- UINT Flags; // Shader compilation/parse flags
-
- UINT ConstantBuffers; // Number of constant buffers
- UINT BoundResources; // Number of bound resources
- UINT InputParameters; // Number of parameters in the input signature
- UINT OutputParameters; // Number of parameters in the output signature
-
- UINT InstructionCount; // Number of emitted instructions
- UINT TempRegisterCount; // Number of temporary registers used
- UINT TempArrayCount; // Number of temporary arrays used
- UINT DefCount; // Number of constant defines
- UINT DclCount; // Number of declarations (input + output)
- UINT TextureNormalInstructions; // Number of non-categorized texture instructions
- UINT TextureLoadInstructions; // Number of texture load instructions
- UINT TextureCompInstructions; // Number of texture comparison instructions
- UINT TextureBiasInstructions; // Number of texture bias instructions
- UINT TextureGradientInstructions; // Number of texture gradient instructions
- UINT FloatInstructionCount; // Number of floating point arithmetic instructions used
- UINT IntInstructionCount; // Number of signed integer arithmetic instructions used
- UINT UintInstructionCount; // Number of unsigned integer arithmetic instructions used
- UINT StaticFlowControlCount; // Number of static flow control instructions used
- UINT DynamicFlowControlCount; // Number of dynamic flow control instructions used
- UINT MacroInstructionCount; // Number of macro instructions used
- UINT ArrayInstructionCount; // Number of array instructions used
- UINT CutInstructionCount; // Number of cut instructions used
- UINT EmitInstructionCount; // Number of emit instructions used
- D3D_PRIMITIVE_TOPOLOGY GSOutputTopology; // Geometry shader output topology
- UINT GSMaxOutputVertexCount; // Geometry shader maximum output vertex count
- D3D_PRIMITIVE InputPrimitive; // GS/HS input primitive
- UINT PatchConstantParameters; // Number of parameters in the patch constant signature
- UINT cGSInstanceCount; // Number of Geometry shader instances
- UINT cControlPoints; // Number of control points in the HS->DS stage
- D3D_TESSELLATOR_OUTPUT_PRIMITIVE HSOutputPrimitive; // Primitive output by the tessellator
- D3D_TESSELLATOR_PARTITIONING HSPartitioning; // Partitioning mode of the tessellator
- D3D_TESSELLATOR_DOMAIN TessellatorDomain; // Domain of the tessellator (quad, tri, isoline)
- // instruction counts
- UINT cBarrierInstructions; // Number of barrier instructions in a compute shader
- UINT cInterlockedInstructions; // Number of interlocked instructions
- UINT cTextureStoreInstructions; // Number of texture writes
-} D3D12_SHADER_DESC;
-
-typedef struct _D3D12_SHADER_INPUT_BIND_DESC
-{
- LPCSTR Name; // Name of the resource
- D3D_SHADER_INPUT_TYPE Type; // Type of resource (e.g. texture, cbuffer, etc.)
- UINT BindPoint; // Starting bind point
- UINT BindCount; // Number of contiguous bind points (for arrays)
-
- UINT uFlags; // Input binding flags
- D3D_RESOURCE_RETURN_TYPE ReturnType; // Return type (if texture)
- D3D_SRV_DIMENSION Dimension; // Dimension (if texture)
- UINT NumSamples; // Number of samples (0 if not MS texture)
- UINT Space; // Register space
- UINT uID; // Range ID in the bytecode
-} D3D12_SHADER_INPUT_BIND_DESC;
-
-#define D3D_SHADER_REQUIRES_DOUBLES 0x00000001
-#define D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL 0x00000002
-#define D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE 0x00000004
-#define D3D_SHADER_REQUIRES_64_UAVS 0x00000008
-#define D3D_SHADER_REQUIRES_MINIMUM_PRECISION 0x00000010
-#define D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS 0x00000020
-#define D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS 0x00000040
-#define D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING 0x00000080
-#define D3D_SHADER_REQUIRES_TILED_RESOURCES 0x00000100
-#define D3D_SHADER_REQUIRES_STENCIL_REF 0x00000200
-#define D3D_SHADER_REQUIRES_INNER_COVERAGE 0x00000400
-#define D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00000800
-#define D3D_SHADER_REQUIRES_ROVS 0x00001000
-#define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x00002000
-#define D3D_SHADER_REQUIRES_WAVE_OPS 0x00004000
-#define D3D_SHADER_REQUIRES_INT64_OPS 0x00008000
-#define D3D_SHADER_REQUIRES_VIEW_ID 0x00010000
-#define D3D_SHADER_REQUIRES_BARYCENTRICS 0x00020000
-#define D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS 0x00040000
-#define D3D_SHADER_REQUIRES_SHADING_RATE 0x00080000
-#define D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1 0x00100000
-#define D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK 0x00200000
-#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE 0x00400000
-#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED 0x00800000
-#define D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x01000000
-#define D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x02000000
-#define D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x04000000
-#define D3D_SHADER_REQUIRES_WAVE_MMA 0x08000000
-#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000
-#define D3D_SHADER_REQUIRES_ADVANCED_TEXTURE_OPS 0x20000000
-#define D3D_SHADER_REQUIRES_WRITEABLE_MSAA_TEXTURES 0x40000000
-#define D3D_SHADER_REQUIRES_SAMPLE_CMP_GRADIENT_OR_BIAS 0x80000000
-#define D3D_SHADER_REQUIRES_EXTENDED_COMMAND_INFO 0x100000000ull
-
-
-typedef struct _D3D12_LIBRARY_DESC
-{
- LPCSTR Creator; // The name of the originator of the library.
- UINT Flags; // Compilation flags.
- UINT FunctionCount; // Number of functions exported from the library.
-} D3D12_LIBRARY_DESC;
-
-typedef struct _D3D12_FUNCTION_DESC
-{
- UINT Version; // Shader version
- LPCSTR Creator; // Creator string
- UINT Flags; // Shader compilation/parse flags
-
- UINT ConstantBuffers; // Number of constant buffers
- UINT BoundResources; // Number of bound resources
-
- UINT InstructionCount; // Number of emitted instructions
- UINT TempRegisterCount; // Number of temporary registers used
- UINT TempArrayCount; // Number of temporary arrays used
- UINT DefCount; // Number of constant defines
- UINT DclCount; // Number of declarations (input + output)
- UINT TextureNormalInstructions; // Number of non-categorized texture instructions
- UINT TextureLoadInstructions; // Number of texture load instructions
- UINT TextureCompInstructions; // Number of texture comparison instructions
- UINT TextureBiasInstructions; // Number of texture bias instructions
- UINT TextureGradientInstructions; // Number of texture gradient instructions
- UINT FloatInstructionCount; // Number of floating point arithmetic instructions used
- UINT IntInstructionCount; // Number of signed integer arithmetic instructions used
- UINT UintInstructionCount; // Number of unsigned integer arithmetic instructions used
- UINT StaticFlowControlCount; // Number of static flow control instructions used
- UINT DynamicFlowControlCount; // Number of dynamic flow control instructions used
- UINT MacroInstructionCount; // Number of macro instructions used
- UINT ArrayInstructionCount; // Number of array instructions used
- UINT MovInstructionCount; // Number of mov instructions used
- UINT MovcInstructionCount; // Number of movc instructions used
- UINT ConversionInstructionCount; // Number of type conversion instructions used
- UINT BitwiseInstructionCount; // Number of bitwise arithmetic instructions used
- D3D_FEATURE_LEVEL MinFeatureLevel; // Min target of the function byte code
- UINT64 RequiredFeatureFlags; // Required feature flags
-
- LPCSTR Name; // Function name
- INT FunctionParameterCount; // Number of logical parameters in the function signature (not including return)
- BOOL HasReturn; // TRUE, if function returns a value, false - it is a subroutine
- BOOL Has10Level9VertexShader; // TRUE, if there is a 10L9 VS blob
- BOOL Has10Level9PixelShader; // TRUE, if there is a 10L9 PS blob
-} D3D12_FUNCTION_DESC;
-
-typedef struct _D3D12_PARAMETER_DESC
-{
- LPCSTR Name; // Parameter name.
- LPCSTR SemanticName; // Parameter semantic name (+index).
- D3D_SHADER_VARIABLE_TYPE Type; // Element type.
- D3D_SHADER_VARIABLE_CLASS Class; // Scalar/Vector/Matrix.
- UINT Rows; // Rows are for matrix parameters.
- UINT Columns; // Components or Columns in matrix.
- D3D_INTERPOLATION_MODE InterpolationMode; // Interpolation mode.
- D3D_PARAMETER_FLAGS Flags; // Parameter modifiers.
-
- UINT FirstInRegister; // The first input register for this parameter.
- UINT FirstInComponent; // The first input register component for this parameter.
- UINT FirstOutRegister; // The first output register for this parameter.
- UINT FirstOutComponent; // The first output register component for this parameter.
-} D3D12_PARAMETER_DESC;
-
-
-//////////////////////////////////////////////////////////////////////////////
-// Interfaces ////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-typedef interface ID3D12ShaderReflectionType ID3D12ShaderReflectionType;
-typedef interface ID3D12ShaderReflectionType *LPD3D12SHADERREFLECTIONTYPE;
-
-typedef interface ID3D12ShaderReflectionVariable ID3D12ShaderReflectionVariable;
-typedef interface ID3D12ShaderReflectionVariable *LPD3D12SHADERREFLECTIONVARIABLE;
-
-typedef interface ID3D12ShaderReflectionConstantBuffer ID3D12ShaderReflectionConstantBuffer;
-typedef interface ID3D12ShaderReflectionConstantBuffer *LPD3D12SHADERREFLECTIONCONSTANTBUFFER;
-
-typedef interface ID3D12ShaderReflection ID3D12ShaderReflection;
-typedef interface ID3D12ShaderReflection *LPD3D12SHADERREFLECTION;
-
-typedef interface ID3D12LibraryReflection ID3D12LibraryReflection;
-typedef interface ID3D12LibraryReflection *LPD3D12LIBRARYREFLECTION;
-
-typedef interface ID3D12FunctionReflection ID3D12FunctionReflection;
-typedef interface ID3D12FunctionReflection *LPD3D12FUNCTIONREFLECTION;
-
-typedef interface ID3D12FunctionParameterReflection ID3D12FunctionParameterReflection;
-typedef interface ID3D12FunctionParameterReflection *LPD3D12FUNCTIONPARAMETERREFLECTION;
-
-
-// {E913C351-783D-48CA-A1D1-4F306284AD56}
-interface DECLSPEC_UUID("E913C351-783D-48CA-A1D1-4F306284AD56") ID3D12ShaderReflectionType;
-DEFINE_GUID(IID_ID3D12ShaderReflectionType,
-0xe913c351, 0x783d, 0x48ca, 0xa1, 0xd1, 0x4f, 0x30, 0x62, 0x84, 0xad, 0x56);
-
-#undef INTERFACE
-#define INTERFACE ID3D12ShaderReflectionType
-
-DECLARE_INTERFACE(ID3D12ShaderReflectionType)
-{
- STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_SHADER_TYPE_DESC *pDesc) PURE;
-
- STDMETHOD_(ID3D12ShaderReflectionType*, GetMemberTypeByIndex)(THIS_ _In_ UINT Index) PURE;
- STDMETHOD_(ID3D12ShaderReflectionType*, GetMemberTypeByName)(THIS_ _In_ LPCSTR Name) PURE;
- STDMETHOD_(LPCSTR, GetMemberTypeName)(THIS_ _In_ UINT Index) PURE;
-
- STDMETHOD(IsEqual)(THIS_ _In_ ID3D12ShaderReflectionType* pType) PURE;
- STDMETHOD_(ID3D12ShaderReflectionType*, GetSubType)(THIS) PURE;
- STDMETHOD_(ID3D12ShaderReflectionType*, GetBaseClass)(THIS) PURE;
- STDMETHOD_(UINT, GetNumInterfaces)(THIS) PURE;
- STDMETHOD_(ID3D12ShaderReflectionType*, GetInterfaceByIndex)(THIS_ _In_ UINT uIndex) PURE;
- STDMETHOD(IsOfType)(THIS_ _In_ ID3D12ShaderReflectionType* pType) PURE;
- STDMETHOD(ImplementsInterface)(THIS_ _In_ ID3D12ShaderReflectionType* pBase) PURE;
-};
-
-// {8337A8A6-A216-444A-B2F4-314733A73AEA}
-interface DECLSPEC_UUID("8337A8A6-A216-444A-B2F4-314733A73AEA") ID3D12ShaderReflectionVariable;
-DEFINE_GUID(IID_ID3D12ShaderReflectionVariable,
-0x8337a8a6, 0xa216, 0x444a, 0xb2, 0xf4, 0x31, 0x47, 0x33, 0xa7, 0x3a, 0xea);
-
-#undef INTERFACE
-#define INTERFACE ID3D12ShaderReflectionVariable
-
-DECLARE_INTERFACE(ID3D12ShaderReflectionVariable)
-{
- STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_SHADER_VARIABLE_DESC *pDesc) PURE;
-
- STDMETHOD_(ID3D12ShaderReflectionType*, GetType)(THIS) PURE;
- STDMETHOD_(ID3D12ShaderReflectionConstantBuffer*, GetBuffer)(THIS) PURE;
-
- STDMETHOD_(UINT, GetInterfaceSlot)(THIS_ _In_ UINT uArrayIndex) PURE;
-};
-
-// {C59598B4-48B3-4869-B9B1-B1618B14A8B7}
-interface DECLSPEC_UUID("C59598B4-48B3-4869-B9B1-B1618B14A8B7") ID3D12ShaderReflectionConstantBuffer;
-DEFINE_GUID(IID_ID3D12ShaderReflectionConstantBuffer,
-0xc59598b4, 0x48b3, 0x4869, 0xb9, 0xb1, 0xb1, 0x61, 0x8b, 0x14, 0xa8, 0xb7);
-
-#undef INTERFACE
-#define INTERFACE ID3D12ShaderReflectionConstantBuffer
-
-DECLARE_INTERFACE(ID3D12ShaderReflectionConstantBuffer)
-{
- STDMETHOD(GetDesc)(THIS_ D3D12_SHADER_BUFFER_DESC *pDesc) PURE;
-
- STDMETHOD_(ID3D12ShaderReflectionVariable*, GetVariableByIndex)(THIS_ _In_ UINT Index) PURE;
- STDMETHOD_(ID3D12ShaderReflectionVariable*, GetVariableByName)(THIS_ _In_ LPCSTR Name) PURE;
-};
-
-// The ID3D12ShaderReflection IID may change from SDK version to SDK version
-// if the reflection API changes. This prevents new code with the new API
-// from working with an old binary. Recompiling with the new header
-// will pick up the new IID.
-
-// {5A58797D-A72C-478D-8BA2-EFC6B0EFE88E}
-interface DECLSPEC_UUID("5A58797D-A72C-478D-8BA2-EFC6B0EFE88E") ID3D12ShaderReflection;
-DEFINE_GUID(IID_ID3D12ShaderReflection,
-0x5a58797d, 0xa72c, 0x478d, 0x8b, 0xa2, 0xef, 0xc6, 0xb0, 0xef, 0xe8, 0x8e);
-
-#undef INTERFACE
-#define INTERFACE ID3D12ShaderReflection
-
-DECLARE_INTERFACE_(ID3D12ShaderReflection, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ _In_ REFIID iid,
- _Out_ LPVOID *ppv) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
-
- STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_SHADER_DESC *pDesc) PURE;
-
- STDMETHOD_(ID3D12ShaderReflectionConstantBuffer*, GetConstantBufferByIndex)(THIS_ _In_ UINT Index) PURE;
- STDMETHOD_(ID3D12ShaderReflectionConstantBuffer*, GetConstantBufferByName)(THIS_ _In_ LPCSTR Name) PURE;
-
- STDMETHOD(GetResourceBindingDesc)(THIS_ _In_ UINT ResourceIndex,
- _Out_ D3D12_SHADER_INPUT_BIND_DESC *pDesc) PURE;
-
- STDMETHOD(GetInputParameterDesc)(THIS_ _In_ UINT ParameterIndex,
- _Out_ D3D12_SIGNATURE_PARAMETER_DESC *pDesc) PURE;
- STDMETHOD(GetOutputParameterDesc)(THIS_ _In_ UINT ParameterIndex,
- _Out_ D3D12_SIGNATURE_PARAMETER_DESC *pDesc) PURE;
- STDMETHOD(GetPatchConstantParameterDesc)(THIS_ _In_ UINT ParameterIndex,
- _Out_ D3D12_SIGNATURE_PARAMETER_DESC *pDesc) PURE;
-
- STDMETHOD_(ID3D12ShaderReflectionVariable*, GetVariableByName)(THIS_ _In_ LPCSTR Name) PURE;
-
- STDMETHOD(GetResourceBindingDescByName)(THIS_ _In_ LPCSTR Name,
- _Out_ D3D12_SHADER_INPUT_BIND_DESC *pDesc) PURE;
-
- STDMETHOD_(UINT, GetMovInstructionCount)(THIS) PURE;
- STDMETHOD_(UINT, GetMovcInstructionCount)(THIS) PURE;
- STDMETHOD_(UINT, GetConversionInstructionCount)(THIS) PURE;
- STDMETHOD_(UINT, GetBitwiseInstructionCount)(THIS) PURE;
-
- STDMETHOD_(D3D_PRIMITIVE, GetGSInputPrimitive)(THIS) PURE;
- STDMETHOD_(BOOL, IsSampleFrequencyShader)(THIS) PURE;
-
- STDMETHOD_(UINT, GetNumInterfaceSlots)(THIS) PURE;
- STDMETHOD(GetMinFeatureLevel)(THIS_ _Out_ enum D3D_FEATURE_LEVEL* pLevel) PURE;
-
- STDMETHOD_(UINT, GetThreadGroupSize)(THIS_
- _Out_opt_ UINT* pSizeX,
- _Out_opt_ UINT* pSizeY,
- _Out_opt_ UINT* pSizeZ) PURE;
-
- STDMETHOD_(UINT64, GetRequiresFlags)(THIS) PURE;
-};
-
-// {8E349D19-54DB-4A56-9DC9-119D87BDB804}
-interface DECLSPEC_UUID("8E349D19-54DB-4A56-9DC9-119D87BDB804") ID3D12LibraryReflection;
-DEFINE_GUID(IID_ID3D12LibraryReflection,
-0x8e349d19, 0x54db, 0x4a56, 0x9d, 0xc9, 0x11, 0x9d, 0x87, 0xbd, 0xb8, 0x4);
-
-#undef INTERFACE
-#define INTERFACE ID3D12LibraryReflection
-
-DECLARE_INTERFACE_(ID3D12LibraryReflection, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ _In_ REFIID iid, _Out_ LPVOID * ppv) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
-
- STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_LIBRARY_DESC * pDesc) PURE;
-
- STDMETHOD_(ID3D12FunctionReflection *, GetFunctionByIndex)(THIS_ _In_ INT FunctionIndex) PURE;
-};
-
-// {1108795C-2772-4BA9-B2A8-D464DC7E2799}
-interface DECLSPEC_UUID("1108795C-2772-4BA9-B2A8-D464DC7E2799") ID3D12FunctionReflection;
-DEFINE_GUID(IID_ID3D12FunctionReflection,
-0x1108795c, 0x2772, 0x4ba9, 0xb2, 0xa8, 0xd4, 0x64, 0xdc, 0x7e, 0x27, 0x99);
-
-#undef INTERFACE
-#define INTERFACE ID3D12FunctionReflection
-
-DECLARE_INTERFACE(ID3D12FunctionReflection)
-{
- STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_FUNCTION_DESC * pDesc) PURE;
-
- STDMETHOD_(ID3D12ShaderReflectionConstantBuffer *, GetConstantBufferByIndex)(THIS_ _In_ UINT BufferIndex) PURE;
- STDMETHOD_(ID3D12ShaderReflectionConstantBuffer *, GetConstantBufferByName)(THIS_ _In_ LPCSTR Name) PURE;
-
- STDMETHOD(GetResourceBindingDesc)(THIS_ _In_ UINT ResourceIndex,
- _Out_ D3D12_SHADER_INPUT_BIND_DESC * pDesc) PURE;
-
- STDMETHOD_(ID3D12ShaderReflectionVariable *, GetVariableByName)(THIS_ _In_ LPCSTR Name) PURE;
-
- STDMETHOD(GetResourceBindingDescByName)(THIS_ _In_ LPCSTR Name,
- _Out_ D3D12_SHADER_INPUT_BIND_DESC * pDesc) PURE;
-
- // Use D3D_RETURN_PARAMETER_INDEX to get description of the return value.
- STDMETHOD_(ID3D12FunctionParameterReflection *, GetFunctionParameter)(THIS_ _In_ INT ParameterIndex) PURE;
-};
-
-// {EC25F42D-7006-4F2B-B33E-02CC3375733F}
-interface DECLSPEC_UUID("EC25F42D-7006-4F2B-B33E-02CC3375733F") ID3D12FunctionParameterReflection;
-DEFINE_GUID(IID_ID3D12FunctionParameterReflection,
-0xec25f42d, 0x7006, 0x4f2b, 0xb3, 0x3e, 0x2, 0xcc, 0x33, 0x75, 0x73, 0x3f);
-
-#undef INTERFACE
-#define INTERFACE ID3D12FunctionParameterReflection
-
-DECLARE_INTERFACE(ID3D12FunctionParameterReflection)
-{
- STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_PARAMETER_DESC * pDesc) PURE;
-};
-
-
-//////////////////////////////////////////////////////////////////////////////
-// APIs //////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-#ifdef __cplusplus
-extern "C" {
-#endif //__cplusplus
-
-#ifdef __cplusplus
-}
-#endif //__cplusplus
-
-#endif //__D3D12SHADER_H__
-
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12video.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3d12video.h
deleted file mode 100644
index e38f12f..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12video.h
+++ /dev/null
@@ -1,9312 +0,0 @@
-/*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- * Licensed under the MIT license
- *
- *-------------------------------------------------------------------------------------*/
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 8.01.0628 */
-
-
-
-/* verify that the version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 500
-#endif
-
-/* verify that the version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCSAL_H_VERSION__
-#define __REQUIRED_RPCSAL_H_VERSION__ 100
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of
-#endif /* __RPCNDR_H_VERSION__ */
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __d3d12video_h__
-#define __d3d12video_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-#ifndef DECLSPEC_XFGVIRT
-#if defined(_CONTROL_FLOW_GUARD_XFG)
-#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
-#else
-#define DECLSPEC_XFGVIRT(base, func)
-#endif
-#endif
-
-/* Forward Declarations */
-
-#ifndef __ID3D12VideoDecoderHeap_FWD_DEFINED__
-#define __ID3D12VideoDecoderHeap_FWD_DEFINED__
-typedef interface ID3D12VideoDecoderHeap ID3D12VideoDecoderHeap;
-
-#endif /* __ID3D12VideoDecoderHeap_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDevice_FWD_DEFINED__
-#define __ID3D12VideoDevice_FWD_DEFINED__
-typedef interface ID3D12VideoDevice ID3D12VideoDevice;
-
-#endif /* __ID3D12VideoDevice_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDecoder_FWD_DEFINED__
-#define __ID3D12VideoDecoder_FWD_DEFINED__
-typedef interface ID3D12VideoDecoder ID3D12VideoDecoder;
-
-#endif /* __ID3D12VideoDecoder_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoProcessor_FWD_DEFINED__
-#define __ID3D12VideoProcessor_FWD_DEFINED__
-typedef interface ID3D12VideoProcessor ID3D12VideoProcessor;
-
-#endif /* __ID3D12VideoProcessor_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDecodeCommandList_FWD_DEFINED__
-#define __ID3D12VideoDecodeCommandList_FWD_DEFINED__
-typedef interface ID3D12VideoDecodeCommandList ID3D12VideoDecodeCommandList;
-
-#endif /* __ID3D12VideoDecodeCommandList_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoProcessCommandList_FWD_DEFINED__
-#define __ID3D12VideoProcessCommandList_FWD_DEFINED__
-typedef interface ID3D12VideoProcessCommandList ID3D12VideoProcessCommandList;
-
-#endif /* __ID3D12VideoProcessCommandList_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDecodeCommandList1_FWD_DEFINED__
-#define __ID3D12VideoDecodeCommandList1_FWD_DEFINED__
-typedef interface ID3D12VideoDecodeCommandList1 ID3D12VideoDecodeCommandList1;
-
-#endif /* __ID3D12VideoDecodeCommandList1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoProcessCommandList1_FWD_DEFINED__
-#define __ID3D12VideoProcessCommandList1_FWD_DEFINED__
-typedef interface ID3D12VideoProcessCommandList1 ID3D12VideoProcessCommandList1;
-
-#endif /* __ID3D12VideoProcessCommandList1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoMotionEstimator_FWD_DEFINED__
-#define __ID3D12VideoMotionEstimator_FWD_DEFINED__
-typedef interface ID3D12VideoMotionEstimator ID3D12VideoMotionEstimator;
-
-#endif /* __ID3D12VideoMotionEstimator_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoMotionVectorHeap_FWD_DEFINED__
-#define __ID3D12VideoMotionVectorHeap_FWD_DEFINED__
-typedef interface ID3D12VideoMotionVectorHeap ID3D12VideoMotionVectorHeap;
-
-#endif /* __ID3D12VideoMotionVectorHeap_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDevice1_FWD_DEFINED__
-#define __ID3D12VideoDevice1_FWD_DEFINED__
-typedef interface ID3D12VideoDevice1 ID3D12VideoDevice1;
-
-#endif /* __ID3D12VideoDevice1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoEncodeCommandList_FWD_DEFINED__
-#define __ID3D12VideoEncodeCommandList_FWD_DEFINED__
-typedef interface ID3D12VideoEncodeCommandList ID3D12VideoEncodeCommandList;
-
-#endif /* __ID3D12VideoEncodeCommandList_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDecoder1_FWD_DEFINED__
-#define __ID3D12VideoDecoder1_FWD_DEFINED__
-typedef interface ID3D12VideoDecoder1 ID3D12VideoDecoder1;
-
-#endif /* __ID3D12VideoDecoder1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDecoderHeap1_FWD_DEFINED__
-#define __ID3D12VideoDecoderHeap1_FWD_DEFINED__
-typedef interface ID3D12VideoDecoderHeap1 ID3D12VideoDecoderHeap1;
-
-#endif /* __ID3D12VideoDecoderHeap1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoProcessor1_FWD_DEFINED__
-#define __ID3D12VideoProcessor1_FWD_DEFINED__
-typedef interface ID3D12VideoProcessor1 ID3D12VideoProcessor1;
-
-#endif /* __ID3D12VideoProcessor1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoExtensionCommand_FWD_DEFINED__
-#define __ID3D12VideoExtensionCommand_FWD_DEFINED__
-typedef interface ID3D12VideoExtensionCommand ID3D12VideoExtensionCommand;
-
-#endif /* __ID3D12VideoExtensionCommand_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDevice2_FWD_DEFINED__
-#define __ID3D12VideoDevice2_FWD_DEFINED__
-typedef interface ID3D12VideoDevice2 ID3D12VideoDevice2;
-
-#endif /* __ID3D12VideoDevice2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDecodeCommandList2_FWD_DEFINED__
-#define __ID3D12VideoDecodeCommandList2_FWD_DEFINED__
-typedef interface ID3D12VideoDecodeCommandList2 ID3D12VideoDecodeCommandList2;
-
-#endif /* __ID3D12VideoDecodeCommandList2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDecodeCommandList3_FWD_DEFINED__
-#define __ID3D12VideoDecodeCommandList3_FWD_DEFINED__
-typedef interface ID3D12VideoDecodeCommandList3 ID3D12VideoDecodeCommandList3;
-
-#endif /* __ID3D12VideoDecodeCommandList3_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoProcessCommandList2_FWD_DEFINED__
-#define __ID3D12VideoProcessCommandList2_FWD_DEFINED__
-typedef interface ID3D12VideoProcessCommandList2 ID3D12VideoProcessCommandList2;
-
-#endif /* __ID3D12VideoProcessCommandList2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoProcessCommandList3_FWD_DEFINED__
-#define __ID3D12VideoProcessCommandList3_FWD_DEFINED__
-typedef interface ID3D12VideoProcessCommandList3 ID3D12VideoProcessCommandList3;
-
-#endif /* __ID3D12VideoProcessCommandList3_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoEncodeCommandList1_FWD_DEFINED__
-#define __ID3D12VideoEncodeCommandList1_FWD_DEFINED__
-typedef interface ID3D12VideoEncodeCommandList1 ID3D12VideoEncodeCommandList1;
-
-#endif /* __ID3D12VideoEncodeCommandList1_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoEncoder_FWD_DEFINED__
-#define __ID3D12VideoEncoder_FWD_DEFINED__
-typedef interface ID3D12VideoEncoder ID3D12VideoEncoder;
-
-#endif /* __ID3D12VideoEncoder_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoEncoderHeap_FWD_DEFINED__
-#define __ID3D12VideoEncoderHeap_FWD_DEFINED__
-typedef interface ID3D12VideoEncoderHeap ID3D12VideoEncoderHeap;
-
-#endif /* __ID3D12VideoEncoderHeap_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDevice3_FWD_DEFINED__
-#define __ID3D12VideoDevice3_FWD_DEFINED__
-typedef interface ID3D12VideoDevice3 ID3D12VideoDevice3;
-
-#endif /* __ID3D12VideoDevice3_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoEncodeCommandList2_FWD_DEFINED__
-#define __ID3D12VideoEncodeCommandList2_FWD_DEFINED__
-typedef interface ID3D12VideoEncodeCommandList2 ID3D12VideoEncodeCommandList2;
-
-#endif /* __ID3D12VideoEncodeCommandList2_FWD_DEFINED__ */
-
-
-#ifndef __ID3D12VideoEncodeCommandList3_FWD_DEFINED__
-#define __ID3D12VideoEncodeCommandList3_FWD_DEFINED__
-typedef interface ID3D12VideoEncodeCommandList3 ID3D12VideoEncodeCommandList3;
-
-#endif /* __ID3D12VideoEncodeCommandList3_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "oaidl.h"
-#include "ocidl.h"
-#include "dxgicommon.h"
-#include "d3d12.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_d3d12video_0000_0000 */
-/* [local] */
-
-#include
-#pragma region App Family
-#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
-typedef
-enum D3D12_VIDEO_FIELD_TYPE
- {
- D3D12_VIDEO_FIELD_TYPE_NONE = 0,
- D3D12_VIDEO_FIELD_TYPE_INTERLACED_TOP_FIELD_FIRST = 1,
- D3D12_VIDEO_FIELD_TYPE_INTERLACED_BOTTOM_FIELD_FIRST = 2
- } D3D12_VIDEO_FIELD_TYPE;
-
-typedef
-enum D3D12_VIDEO_FRAME_STEREO_FORMAT
- {
- D3D12_VIDEO_FRAME_STEREO_FORMAT_NONE = 0,
- D3D12_VIDEO_FRAME_STEREO_FORMAT_MONO = 1,
- D3D12_VIDEO_FRAME_STEREO_FORMAT_HORIZONTAL = 2,
- D3D12_VIDEO_FRAME_STEREO_FORMAT_VERTICAL = 3,
- D3D12_VIDEO_FRAME_STEREO_FORMAT_SEPARATE = 4
- } D3D12_VIDEO_FRAME_STEREO_FORMAT;
-
-typedef struct D3D12_VIDEO_FORMAT
- {
- DXGI_FORMAT Format;
- DXGI_COLOR_SPACE_TYPE ColorSpace;
- } D3D12_VIDEO_FORMAT;
-
-typedef struct D3D12_VIDEO_SAMPLE
- {
- UINT Width;
- UINT Height;
- D3D12_VIDEO_FORMAT Format;
- } D3D12_VIDEO_SAMPLE;
-
-typedef
-enum D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE
- {
- D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_NONE = 0,
- D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_FIELD_BASED = 1
- } D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE;
-
-typedef
-enum D3D12_FEATURE_VIDEO
- {
- D3D12_FEATURE_VIDEO_DECODE_SUPPORT = 0,
- D3D12_FEATURE_VIDEO_DECODE_PROFILES = 1,
- D3D12_FEATURE_VIDEO_DECODE_FORMATS = 2,
- D3D12_FEATURE_VIDEO_DECODE_CONVERSION_SUPPORT = 3,
- D3D12_FEATURE_VIDEO_PROCESS_SUPPORT = 5,
- D3D12_FEATURE_VIDEO_PROCESS_MAX_INPUT_STREAMS = 6,
- D3D12_FEATURE_VIDEO_PROCESS_REFERENCE_INFO = 7,
- D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE = 8,
- D3D12_FEATURE_VIDEO_PROCESSOR_SIZE = 9,
- D3D12_FEATURE_VIDEO_DECODE_PROFILE_COUNT = 10,
- D3D12_FEATURE_VIDEO_DECODE_FORMAT_COUNT = 11,
- D3D12_FEATURE_VIDEO_ARCHITECTURE = 17,
- D3D12_FEATURE_VIDEO_DECODE_HISTOGRAM = 18,
- D3D12_FEATURE_VIDEO_FEATURE_AREA_SUPPORT = 19,
- D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR = 20,
- D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_SIZE = 21,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_COUNT = 22,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMANDS = 23,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT = 24,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETERS = 25,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SUPPORT = 26,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SIZE = 27,
- D3D12_FEATURE_VIDEO_DECODE_PROTECTED_RESOURCES = 28,
- D3D12_FEATURE_VIDEO_PROCESS_PROTECTED_RESOURCES = 29,
- D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES = 30,
- D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE1 = 31,
- D3D12_FEATURE_VIDEO_PROCESSOR_SIZE1 = 32,
- D3D12_FEATURE_VIDEO_ENCODER_CODEC = 33,
- D3D12_FEATURE_VIDEO_ENCODER_PROFILE_LEVEL = 34,
- D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT = 35,
- D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION = 36,
- D3D12_FEATURE_VIDEO_ENCODER_INPUT_FORMAT = 37,
- D3D12_FEATURE_VIDEO_ENCODER_RATE_CONTROL_MODE = 38,
- D3D12_FEATURE_VIDEO_ENCODER_INTRA_REFRESH_MODE = 39,
- D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE = 40,
- D3D12_FEATURE_VIDEO_ENCODER_HEAP_SIZE = 41,
- D3D12_FEATURE_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT = 42,
- D3D12_FEATURE_VIDEO_ENCODER_SUPPORT = 43,
- D3D12_FEATURE_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT = 44,
- D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS = 45,
- D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG = 46,
- D3D12_FEATURE_VIDEO_ENCODER_SUPPORT1 = 47
- } D3D12_FEATURE_VIDEO;
-
-typedef
-enum D3D12_BITSTREAM_ENCRYPTION_TYPE
- {
- D3D12_BITSTREAM_ENCRYPTION_TYPE_NONE = 0
- } D3D12_BITSTREAM_ENCRYPTION_TYPE;
-
-typedef struct D3D12_VIDEO_DECODE_CONFIGURATION
- {
- GUID DecodeProfile;
- D3D12_BITSTREAM_ENCRYPTION_TYPE BitstreamEncryption;
- D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE InterlaceType;
- } D3D12_VIDEO_DECODE_CONFIGURATION;
-
-typedef struct D3D12_VIDEO_DECODER_DESC
- {
- UINT NodeMask;
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration;
- } D3D12_VIDEO_DECODER_DESC;
-
-typedef struct D3D12_VIDEO_DECODER_HEAP_DESC
- {
- UINT NodeMask;
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration;
- UINT DecodeWidth;
- UINT DecodeHeight;
- DXGI_FORMAT Format;
- DXGI_RATIONAL FrameRate;
- UINT BitRate;
- UINT MaxDecodePictureBufferCount;
- } D3D12_VIDEO_DECODER_HEAP_DESC;
-
-typedef struct D3D12_VIDEO_SIZE_RANGE
- {
- UINT MaxWidth;
- UINT MaxHeight;
- UINT MinWidth;
- UINT MinHeight;
- } D3D12_VIDEO_SIZE_RANGE;
-
-typedef
-enum D3D12_VIDEO_PROCESS_FILTER
- {
- D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS = 0,
- D3D12_VIDEO_PROCESS_FILTER_CONTRAST = 1,
- D3D12_VIDEO_PROCESS_FILTER_HUE = 2,
- D3D12_VIDEO_PROCESS_FILTER_SATURATION = 3,
- D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION = 4,
- D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT = 5,
- D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING = 6,
- D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT = 7
- } D3D12_VIDEO_PROCESS_FILTER;
-
-typedef
-enum D3D12_VIDEO_PROCESS_FILTER_FLAGS
- {
- D3D12_VIDEO_PROCESS_FILTER_FLAG_NONE = 0,
- D3D12_VIDEO_PROCESS_FILTER_FLAG_BRIGHTNESS = ( 1 << D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS ) ,
- D3D12_VIDEO_PROCESS_FILTER_FLAG_CONTRAST = ( 1 << D3D12_VIDEO_PROCESS_FILTER_CONTRAST ) ,
- D3D12_VIDEO_PROCESS_FILTER_FLAG_HUE = ( 1 << D3D12_VIDEO_PROCESS_FILTER_HUE ) ,
- D3D12_VIDEO_PROCESS_FILTER_FLAG_SATURATION = ( 1 << D3D12_VIDEO_PROCESS_FILTER_SATURATION ) ,
- D3D12_VIDEO_PROCESS_FILTER_FLAG_NOISE_REDUCTION = ( 1 << D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION ) ,
- D3D12_VIDEO_PROCESS_FILTER_FLAG_EDGE_ENHANCEMENT = ( 1 << D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT ) ,
- D3D12_VIDEO_PROCESS_FILTER_FLAG_ANAMORPHIC_SCALING = ( 1 << D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING ) ,
- D3D12_VIDEO_PROCESS_FILTER_FLAG_STEREO_ADJUSTMENT = ( 1 << D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT )
- } D3D12_VIDEO_PROCESS_FILTER_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_FILTER_FLAGS )
-typedef
-enum D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS
- {
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_NONE = 0,
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_BOB = 0x1,
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_CUSTOM = 0x80000000
- } D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS )
-typedef struct D3D12_VIDEO_PROCESS_ALPHA_BLENDING
- {
- BOOL Enable;
- FLOAT Alpha;
- } D3D12_VIDEO_PROCESS_ALPHA_BLENDING;
-
-typedef struct D3D12_VIDEO_PROCESS_LUMA_KEY
- {
- BOOL Enable;
- FLOAT Lower;
- FLOAT Upper;
- } D3D12_VIDEO_PROCESS_LUMA_KEY;
-
-typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC
- {
- DXGI_FORMAT Format;
- DXGI_COLOR_SPACE_TYPE ColorSpace;
- DXGI_RATIONAL SourceAspectRatio;
- DXGI_RATIONAL DestinationAspectRatio;
- DXGI_RATIONAL FrameRate;
- D3D12_VIDEO_SIZE_RANGE SourceSizeRange;
- D3D12_VIDEO_SIZE_RANGE DestinationSizeRange;
- BOOL EnableOrientation;
- D3D12_VIDEO_PROCESS_FILTER_FLAGS FilterFlags;
- D3D12_VIDEO_FRAME_STEREO_FORMAT StereoFormat;
- D3D12_VIDEO_FIELD_TYPE FieldType;
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceMode;
- BOOL EnableAlphaBlending;
- D3D12_VIDEO_PROCESS_LUMA_KEY LumaKey;
- UINT NumPastFrames;
- UINT NumFutureFrames;
- BOOL EnableAutoProcessing;
- } D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC;
-
-typedef
-enum D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE
- {
- D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_OPAQUE = 0,
- D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_BACKGROUND = 1,
- D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_DESTINATION = 2,
- D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_SOURCE_STREAM = 3
- } D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE;
-
-typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC
- {
- DXGI_FORMAT Format;
- DXGI_COLOR_SPACE_TYPE ColorSpace;
- D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE AlphaFillMode;
- UINT AlphaFillModeSourceStreamIndex;
- FLOAT BackgroundColor[ 4 ];
- DXGI_RATIONAL FrameRate;
- BOOL EnableStereo;
- } D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0000_v0_0_s_ifspec;
-
-#ifndef __ID3D12VideoDecoderHeap_INTERFACE_DEFINED__
-#define __ID3D12VideoDecoderHeap_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDecoderHeap */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDecoderHeap;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("0946B7C9-EBF6-4047-BB73-8683E27DBB1F")
- ID3D12VideoDecoderHeap : public ID3D12Pageable
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_VIDEO_DECODER_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_VIDEO_DECODER_HEAP_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_VIDEO_DECODER_HEAP_DESC * RetVal) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDecoderHeapVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDecoderHeap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDecoderHeap * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDecoderHeap * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoDecoderHeap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoDecoderHeap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoDecoderHeap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoDecoderHeap * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoDecoderHeap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecoderHeap, GetDesc)
-#if !defined(_WIN32)
- D3D12_VIDEO_DECODER_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoDecoderHeap * This);
-
-#else
- D3D12_VIDEO_DECODER_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoDecoderHeap * This,
- D3D12_VIDEO_DECODER_HEAP_DESC * RetVal);
-
-#endif
-
- END_INTERFACE
- } ID3D12VideoDecoderHeapVtbl;
-
- interface ID3D12VideoDecoderHeap
- {
- CONST_VTBL struct ID3D12VideoDecoderHeapVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDecoderHeap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDecoderHeap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDecoderHeap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDecoderHeap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoDecoderHeap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoDecoderHeap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoDecoderHeap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoDecoderHeap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#if !defined(_WIN32)
-
-#define ID3D12VideoDecoderHeap_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12VideoDecoderHeap_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDecoderHeap_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDevice_INTERFACE_DEFINED__
-#define __ID3D12VideoDevice_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDevice */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDevice;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1F052807-0B46-4ACC-8A89-364F793718A4")
- ID3D12VideoDevice : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
- D3D12_FEATURE_VIDEO FeatureVideo,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoder(
- _In_ const D3D12_VIDEO_DECODER_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoder) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoderHeap(
- _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoderHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessor(
- UINT NodeMask,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc,
- UINT NumInputStreamDescs,
- _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoProcessor) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDeviceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDevice * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDevice * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDevice * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12VideoDevice * This,
- D3D12_FEATURE_VIDEO FeatureVideo,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoder)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder )(
- ID3D12VideoDevice * This,
- _In_ const D3D12_VIDEO_DECODER_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoder);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoderHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap )(
- ID3D12VideoDevice * This,
- _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoderHeap);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoProcessor)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor )(
- ID3D12VideoDevice * This,
- UINT NodeMask,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc,
- UINT NumInputStreamDescs,
- _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoProcessor);
-
- END_INTERFACE
- } ID3D12VideoDeviceVtbl;
-
- interface ID3D12VideoDevice
- {
- CONST_VTBL struct ID3D12VideoDeviceVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDevice_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDevice_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDevice_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDevice_CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12VideoDevice_CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) \
- ( (This)->lpVtbl -> CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) )
-
-#define ID3D12VideoDevice_CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) \
- ( (This)->lpVtbl -> CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) )
-
-#define ID3D12VideoDevice_CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) \
- ( (This)->lpVtbl -> CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDevice_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDecoder_INTERFACE_DEFINED__
-#define __ID3D12VideoDecoder_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDecoder */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDecoder;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("C59B6BDC-7720-4074-A136-17A156037470")
- ID3D12VideoDecoder : public ID3D12Pageable
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_VIDEO_DECODER_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_VIDEO_DECODER_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_VIDEO_DECODER_DESC * RetVal) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDecoderVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDecoder * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDecoder * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDecoder * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoDecoder * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoDecoder * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoDecoder * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoDecoder * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoDecoder * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecoder, GetDesc)
-#if !defined(_WIN32)
- D3D12_VIDEO_DECODER_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoDecoder * This);
-
-#else
- D3D12_VIDEO_DECODER_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoDecoder * This,
- D3D12_VIDEO_DECODER_DESC * RetVal);
-
-#endif
-
- END_INTERFACE
- } ID3D12VideoDecoderVtbl;
-
- interface ID3D12VideoDecoder
- {
- CONST_VTBL struct ID3D12VideoDecoderVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDecoder_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDecoder_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDecoder_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDecoder_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoDecoder_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoDecoder_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoDecoder_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoDecoder_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#if !defined(_WIN32)
-
-#define ID3D12VideoDecoder_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12VideoDecoder_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDecoder_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12video_0000_0003 */
-/* [local] */
-
-typedef
-enum D3D12_VIDEO_DECODE_TIER
- {
- D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED = 0,
- D3D12_VIDEO_DECODE_TIER_1 = 1,
- D3D12_VIDEO_DECODE_TIER_2 = 2,
- D3D12_VIDEO_DECODE_TIER_3 = 3
- } D3D12_VIDEO_DECODE_TIER;
-
-typedef
-enum D3D12_VIDEO_DECODE_SUPPORT_FLAGS
- {
- D3D12_VIDEO_DECODE_SUPPORT_FLAG_NONE = 0,
- D3D12_VIDEO_DECODE_SUPPORT_FLAG_SUPPORTED = 0x1
- } D3D12_VIDEO_DECODE_SUPPORT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_SUPPORT_FLAGS )
-typedef
-enum D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS
- {
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_NONE = 0,
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_HEIGHT_ALIGNMENT_MULTIPLE_32_REQUIRED = 0x1,
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_POST_PROCESSING_SUPPORTED = 0x2,
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED = 0x4,
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_ALLOW_RESOLUTION_CHANGE_ON_NON_KEY_FRAME = 0x8
- } D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS )
-typedef
-enum D3D12_VIDEO_DECODE_STATUS
- {
- D3D12_VIDEO_DECODE_STATUS_OK = 0,
- D3D12_VIDEO_DECODE_STATUS_CONTINUE = 1,
- D3D12_VIDEO_DECODE_STATUS_CONTINUE_SKIP_DISPLAY = 2,
- D3D12_VIDEO_DECODE_STATUS_RESTART = 3,
- D3D12_VIDEO_DECODE_STATUS_RATE_EXCEEDED = 4
- } D3D12_VIDEO_DECODE_STATUS;
-
-typedef
-enum D3D12_VIDEO_DECODE_ARGUMENT_TYPE
- {
- D3D12_VIDEO_DECODE_ARGUMENT_TYPE_PICTURE_PARAMETERS = 0,
- D3D12_VIDEO_DECODE_ARGUMENT_TYPE_INVERSE_QUANTIZATION_MATRIX = 1,
- D3D12_VIDEO_DECODE_ARGUMENT_TYPE_SLICE_CONTROL = 2,
- D3D12_VIDEO_DECODE_ARGUMENT_TYPE_HUFFMAN_TABLE = 3
- } D3D12_VIDEO_DECODE_ARGUMENT_TYPE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT
- {
- UINT NodeIndex;
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration;
- UINT Width;
- UINT Height;
- DXGI_FORMAT DecodeFormat;
- DXGI_RATIONAL FrameRate;
- UINT BitRate;
- D3D12_VIDEO_DECODE_SUPPORT_FLAGS SupportFlags;
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS ConfigurationFlags;
- D3D12_VIDEO_DECODE_TIER DecodeTier;
- } D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT
- {
- UINT NodeIndex;
- UINT ProfileCount;
- } D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES
- {
- UINT NodeIndex;
- UINT ProfileCount;
- _Field_size_full_(ProfileCount) GUID *pProfiles;
- } D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT
- {
- UINT NodeIndex;
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration;
- UINT FormatCount;
- } D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS
- {
- UINT NodeIndex;
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration;
- UINT FormatCount;
- _Field_size_full_(FormatCount) DXGI_FORMAT *pOutputFormats;
- } D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE
- {
- BOOL IOCoherent;
- } D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE;
-
-typedef
-enum D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT
- {
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_Y = 0,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_U = 1,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_V = 2,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_R = 0,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_G = 1,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_B = 2,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_A = 3
- } D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT;
-
-typedef
-enum D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS
- {
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_NONE = 0,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_Y = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_Y ) ,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_U = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_U ) ,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_V = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_V ) ,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_R = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_R ) ,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_G = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_G ) ,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_B = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_B ) ,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_A = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_A )
- } D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS )
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM
- {
- UINT NodeIndex;
- GUID DecodeProfile;
- UINT Width;
- UINT Height;
- DXGI_FORMAT DecodeFormat;
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS Components;
- UINT BinCount;
- UINT CounterBitDepth;
- } D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM;
-
-typedef
-enum D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS
- {
- D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAG_NONE = 0,
- D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAG_SUPPORTED = 0x1
- } D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS )
-typedef
-enum D3D12_VIDEO_SCALE_SUPPORT_FLAGS
- {
- D3D12_VIDEO_SCALE_SUPPORT_FLAG_NONE = 0,
- D3D12_VIDEO_SCALE_SUPPORT_FLAG_POW2_ONLY = 0x1,
- D3D12_VIDEO_SCALE_SUPPORT_FLAG_EVEN_DIMENSIONS_ONLY = 0x2
- } D3D12_VIDEO_SCALE_SUPPORT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_SCALE_SUPPORT_FLAGS )
-typedef struct D3D12_VIDEO_SCALE_SUPPORT
- {
- D3D12_VIDEO_SIZE_RANGE OutputSizeRange;
- D3D12_VIDEO_SCALE_SUPPORT_FLAGS Flags;
- } D3D12_VIDEO_SCALE_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT
- {
- UINT NodeIndex;
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration;
- D3D12_VIDEO_SAMPLE DecodeSample;
- D3D12_VIDEO_FORMAT OutputFormat;
- DXGI_RATIONAL FrameRate;
- UINT BitRate;
- D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS SupportFlags;
- D3D12_VIDEO_SCALE_SUPPORT ScaleSupport;
- } D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE
- {
- D3D12_VIDEO_DECODER_HEAP_DESC VideoDecoderHeapDesc;
- UINT64 MemoryPoolL0Size;
- UINT64 MemoryPoolL1Size;
- } D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE
- {
- UINT NodeMask;
- const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc;
- UINT NumInputStreamDescs;
- const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs;
- UINT64 MemoryPoolL0Size;
- UINT64 MemoryPoolL1Size;
- } D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE;
-
-typedef struct D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS
- {
- UINT64 Status;
- UINT64 NumMacroblocksAffected;
- DXGI_RATIONAL FrameRate;
- UINT BitRate;
- } D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS;
-
-typedef struct D3D12_VIDEO_DECODE_FRAME_ARGUMENT
- {
- D3D12_VIDEO_DECODE_ARGUMENT_TYPE Type;
- UINT Size;
- _Field_size_bytes_full_(Size) void *pData;
- } D3D12_VIDEO_DECODE_FRAME_ARGUMENT;
-
-typedef struct D3D12_VIDEO_DECODE_REFERENCE_FRAMES
- {
- UINT NumTexture2Ds;
- _Field_size_full_(NumTexture2Ds) ID3D12Resource **ppTexture2Ds;
- _Field_size_full_(NumTexture2Ds) UINT *pSubresources;
- _Field_size_full_opt_(NumTexture2Ds) ID3D12VideoDecoderHeap **ppHeaps;
- } D3D12_VIDEO_DECODE_REFERENCE_FRAMES;
-
-typedef struct D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM
- {
- ID3D12Resource *pBuffer;
- UINT64 Offset;
- UINT64 Size;
- } D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM;
-
-typedef struct D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS
- {
- BOOL Enable;
- ID3D12Resource *pReferenceTexture2D;
- UINT ReferenceSubresource;
- DXGI_COLOR_SPACE_TYPE OutputColorSpace;
- DXGI_COLOR_SPACE_TYPE DecodeColorSpace;
- } D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS
- {
- UINT NumFrameArguments;
- D3D12_VIDEO_DECODE_FRAME_ARGUMENT FrameArguments[ 10 ];
- D3D12_VIDEO_DECODE_REFERENCE_FRAMES ReferenceFrames;
- D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM CompressedBitstream;
- ID3D12VideoDecoderHeap *pHeap;
- } D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS
- {
- ID3D12Resource *pOutputTexture2D;
- UINT OutputSubresource;
- D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS ConversionArguments;
- } D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0003_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0003_v0_0_s_ifspec;
-
-#ifndef __ID3D12VideoProcessor_INTERFACE_DEFINED__
-#define __ID3D12VideoProcessor_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoProcessor */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoProcessor;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("304FDB32-BEDE-410A-8545-943AC6A46138")
- ID3D12VideoProcessor : public ID3D12Pageable
- {
- public:
- virtual UINT STDMETHODCALLTYPE GetNodeMask( void) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetNumInputStreamDescs( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetInputStreamDescs(
- UINT NumInputStreamDescs,
- _Out_writes_(NumInputStreamDescs) D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs) = 0;
-
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC STDMETHODCALLTYPE GetOutputStreamDesc( void) = 0;
-#else
- virtual D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *STDMETHODCALLTYPE GetOutputStreamDesc(
- D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC * RetVal) = 0;
-#endif
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoProcessorVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoProcessor * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoProcessor * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoProcessor * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoProcessor * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoProcessor * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoProcessor * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoProcessor * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoProcessor * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetNodeMask)
- UINT ( STDMETHODCALLTYPE *GetNodeMask )(
- ID3D12VideoProcessor * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetNumInputStreamDescs)
- UINT ( STDMETHODCALLTYPE *GetNumInputStreamDescs )(
- ID3D12VideoProcessor * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetInputStreamDescs)
- HRESULT ( STDMETHODCALLTYPE *GetInputStreamDescs )(
- ID3D12VideoProcessor * This,
- UINT NumInputStreamDescs,
- _Out_writes_(NumInputStreamDescs) D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetOutputStreamDesc)
-#if !defined(_WIN32)
- D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC ( STDMETHODCALLTYPE *GetOutputStreamDesc )(
- ID3D12VideoProcessor * This);
-
-#else
- D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *( STDMETHODCALLTYPE *GetOutputStreamDesc )(
- ID3D12VideoProcessor * This,
- D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC * RetVal);
-
-#endif
-
- END_INTERFACE
- } ID3D12VideoProcessorVtbl;
-
- interface ID3D12VideoProcessor
- {
- CONST_VTBL struct ID3D12VideoProcessorVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoProcessor_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoProcessor_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoProcessor_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoProcessor_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoProcessor_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoProcessor_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoProcessor_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoProcessor_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12VideoProcessor_GetNodeMask(This) \
- ( (This)->lpVtbl -> GetNodeMask(This) )
-
-#define ID3D12VideoProcessor_GetNumInputStreamDescs(This) \
- ( (This)->lpVtbl -> GetNumInputStreamDescs(This) )
-
-#define ID3D12VideoProcessor_GetInputStreamDescs(This,NumInputStreamDescs,pInputStreamDescs) \
- ( (This)->lpVtbl -> GetInputStreamDescs(This,NumInputStreamDescs,pInputStreamDescs) )
-#if !defined(_WIN32)
-
-#define ID3D12VideoProcessor_GetOutputStreamDesc(This) \
- ( (This)->lpVtbl -> GetOutputStreamDesc(This) )
-#else
-#define ID3D12VideoProcessor_GetOutputStreamDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetOutputStreamDesc(This,RetVal) )
-#endif
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoProcessor_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12video_0000_0004 */
-/* [local] */
-
-typedef
-enum D3D12_VIDEO_PROCESS_FEATURE_FLAGS
- {
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_NONE = 0,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_FILL = 0x1,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_LUMA_KEY = 0x2,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_STEREO = 0x4,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_ROTATION = 0x8,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_FLIP = 0x10,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_BLENDING = 0x20,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_PIXEL_ASPECT_RATIO = 0x40
- } D3D12_VIDEO_PROCESS_FEATURE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_FEATURE_FLAGS )
-typedef
-enum D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS
- {
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_NONE = 0,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DENOISE = 0x1,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DERINGING = 0x2,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_EDGE_ENHANCEMENT = 0x4,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_COLOR_CORRECTION = 0x8,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_FLESH_TONE_MAPPING = 0x10,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_IMAGE_STABILIZATION = 0x20,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_SUPER_RESOLUTION = 0x40,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_ANAMORPHIC_SCALING = 0x80,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_CUSTOM = 0x80000000
- } D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS )
-typedef
-enum D3D12_VIDEO_PROCESS_ORIENTATION
- {
- D3D12_VIDEO_PROCESS_ORIENTATION_DEFAULT = 0,
- D3D12_VIDEO_PROCESS_ORIENTATION_FLIP_HORIZONTAL = 1,
- D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_90 = 2,
- D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_90_FLIP_HORIZONTAL = 3,
- D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_180 = 4,
- D3D12_VIDEO_PROCESS_ORIENTATION_FLIP_VERTICAL = 5,
- D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_270 = 6,
- D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_270_FLIP_HORIZONTAL = 7
- } D3D12_VIDEO_PROCESS_ORIENTATION;
-
-typedef
-enum D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS
- {
- D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_NONE = 0,
- D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_FRAME_DISCONTINUITY = 0x1,
- D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_FRAME_REPEAT = 0x2
- } D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS )
-typedef struct D3D12_VIDEO_PROCESS_FILTER_RANGE
- {
- INT Minimum;
- INT Maximum;
- INT Default;
- FLOAT Multiplier;
- } D3D12_VIDEO_PROCESS_FILTER_RANGE;
-
-typedef
-enum D3D12_VIDEO_PROCESS_SUPPORT_FLAGS
- {
- D3D12_VIDEO_PROCESS_SUPPORT_FLAG_NONE = 0,
- D3D12_VIDEO_PROCESS_SUPPORT_FLAG_SUPPORTED = 0x1
- } D3D12_VIDEO_PROCESS_SUPPORT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_SUPPORT_FLAGS )
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT
- {
- UINT NodeIndex;
- D3D12_VIDEO_SAMPLE InputSample;
- D3D12_VIDEO_FIELD_TYPE InputFieldType;
- D3D12_VIDEO_FRAME_STEREO_FORMAT InputStereoFormat;
- DXGI_RATIONAL InputFrameRate;
- D3D12_VIDEO_FORMAT OutputFormat;
- D3D12_VIDEO_FRAME_STEREO_FORMAT OutputStereoFormat;
- DXGI_RATIONAL OutputFrameRate;
- D3D12_VIDEO_PROCESS_SUPPORT_FLAGS SupportFlags;
- D3D12_VIDEO_SCALE_SUPPORT ScaleSupport;
- D3D12_VIDEO_PROCESS_FEATURE_FLAGS FeatureSupport;
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceSupport;
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS AutoProcessingSupport;
- D3D12_VIDEO_PROCESS_FILTER_FLAGS FilterSupport;
- D3D12_VIDEO_PROCESS_FILTER_RANGE FilterRangeSupport[ 32 ];
- } D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS
- {
- UINT NodeIndex;
- UINT MaxInputStreams;
- } D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO
- {
- UINT NodeIndex;
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceMode;
- D3D12_VIDEO_PROCESS_FILTER_FLAGS Filters;
- D3D12_VIDEO_PROCESS_FEATURE_FLAGS FeatureSupport;
- DXGI_RATIONAL InputFrameRate;
- DXGI_RATIONAL OutputFrameRate;
- BOOL EnableAutoProcessing;
- UINT PastFrames;
- UINT FutureFrames;
- } D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO;
-
-typedef struct D3D12_VIDEO_PROCESS_REFERENCE_SET
- {
- UINT NumPastFrames;
- ID3D12Resource **ppPastFrames;
- UINT *pPastSubresources;
- UINT NumFutureFrames;
- ID3D12Resource **ppFutureFrames;
- UINT *pFutureSubresources;
- } D3D12_VIDEO_PROCESS_REFERENCE_SET;
-
-typedef struct D3D12_VIDEO_PROCESS_TRANSFORM
- {
- D3D12_RECT SourceRectangle;
- D3D12_RECT DestinationRectangle;
- D3D12_VIDEO_PROCESS_ORIENTATION Orientation;
- } D3D12_VIDEO_PROCESS_TRANSFORM;
-
-typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE
- {
- UINT OutputIndex;
- UINT InputFrameOrField;
- } D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE;
-
-typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM
- {
- ID3D12Resource *pTexture2D;
- UINT Subresource;
- D3D12_VIDEO_PROCESS_REFERENCE_SET ReferenceSet;
- } D3D12_VIDEO_PROCESS_INPUT_STREAM;
-
-typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS
- {
- D3D12_VIDEO_PROCESS_INPUT_STREAM InputStream[ 2 ];
- D3D12_VIDEO_PROCESS_TRANSFORM Transform;
- D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS Flags;
- D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE RateInfo;
- INT FilterLevels[ 32 ];
- D3D12_VIDEO_PROCESS_ALPHA_BLENDING AlphaBlending;
- } D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM
- {
- ID3D12Resource *pTexture2D;
- UINT Subresource;
- } D3D12_VIDEO_PROCESS_OUTPUT_STREAM;
-
-typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS
- {
- D3D12_VIDEO_PROCESS_OUTPUT_STREAM OutputStream[ 2 ];
- D3D12_RECT TargetRectangle;
- } D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0004_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0004_v0_0_s_ifspec;
-
-#ifndef __ID3D12VideoDecodeCommandList_INTERFACE_DEFINED__
-#define __ID3D12VideoDecodeCommandList_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDecodeCommandList */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDecodeCommandList;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("3B60536E-AD29-4E64-A269-F853837E5E53")
- ID3D12VideoDecodeCommandList : public ID3D12CommandList
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reset(
- _In_ ID3D12CommandAllocator *pAllocator) = 0;
-
- virtual void STDMETHODCALLTYPE ClearState( void) = 0;
-
- virtual void STDMETHODCALLTYPE ResourceBarrier(
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0;
-
- virtual void STDMETHODCALLTYPE DiscardResource(
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0;
-
- virtual void STDMETHODCALLTYPE BeginQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index) = 0;
-
- virtual void STDMETHODCALLTYPE EndQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveQueryData(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset) = 0;
-
- virtual void STDMETHODCALLTYPE SetPredication(
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation) = 0;
-
- virtual void STDMETHODCALLTYPE SetMarker(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE BeginEvent(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
-
- virtual void STDMETHODCALLTYPE DecodeFrame(
- _In_ ID3D12VideoDecoder *pDecoder,
- _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments) = 0;
-
- virtual void STDMETHODCALLTYPE WriteBufferImmediate(
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDecodeCommandListVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDecodeCommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDecodeCommandList * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDecodeCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoDecodeCommandList * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoDecodeCommandList * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoDecodeCommandList * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoDecodeCommandList * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoDecodeCommandList * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoDecodeCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoDecodeCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoDecodeCommandList * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoDecodeCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoDecodeCommandList * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoDecodeCommandList * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoDecodeCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoDecodeCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoDecodeCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoDecodeCommandList * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoDecodeCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoDecodeCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoDecodeCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DecodeFrame)
- void ( STDMETHODCALLTYPE *DecodeFrame )(
- ID3D12VideoDecodeCommandList * This,
- _In_ ID3D12VideoDecoder *pDecoder,
- _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoDecodeCommandList * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- END_INTERFACE
- } ID3D12VideoDecodeCommandListVtbl;
-
- interface ID3D12VideoDecodeCommandList
- {
- CONST_VTBL struct ID3D12VideoDecodeCommandListVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDecodeCommandList_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDecodeCommandList_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDecodeCommandList_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDecodeCommandList_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoDecodeCommandList_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoDecodeCommandList_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoDecodeCommandList_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoDecodeCommandList_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoDecodeCommandList_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoDecodeCommandList_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoDecodeCommandList_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoDecodeCommandList_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoDecodeCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoDecodeCommandList_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoDecodeCommandList_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoDecodeCommandList_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoDecodeCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoDecodeCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoDecodeCommandList_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoDecodeCommandList_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoDecodeCommandList_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoDecodeCommandList_DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoDecodeCommandList_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDecodeCommandList_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoProcessCommandList_INTERFACE_DEFINED__
-#define __ID3D12VideoProcessCommandList_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoProcessCommandList */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoProcessCommandList;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("AEB2543A-167F-4682-ACC8-D159ED4A6209")
- ID3D12VideoProcessCommandList : public ID3D12CommandList
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reset(
- _In_ ID3D12CommandAllocator *pAllocator) = 0;
-
- virtual void STDMETHODCALLTYPE ClearState( void) = 0;
-
- virtual void STDMETHODCALLTYPE ResourceBarrier(
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0;
-
- virtual void STDMETHODCALLTYPE DiscardResource(
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0;
-
- virtual void STDMETHODCALLTYPE BeginQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index) = 0;
-
- virtual void STDMETHODCALLTYPE EndQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveQueryData(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset) = 0;
-
- virtual void STDMETHODCALLTYPE SetPredication(
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation) = 0;
-
- virtual void STDMETHODCALLTYPE SetMarker(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE BeginEvent(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
-
- virtual void STDMETHODCALLTYPE ProcessFrames(
- _In_ ID3D12VideoProcessor *pVideoProcessor,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- UINT NumInputStreams,
- _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments) = 0;
-
- virtual void STDMETHODCALLTYPE WriteBufferImmediate(
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoProcessCommandListVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoProcessCommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoProcessCommandList * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoProcessCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoProcessCommandList * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoProcessCommandList * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoProcessCommandList * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoProcessCommandList * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoProcessCommandList * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoProcessCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoProcessCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoProcessCommandList * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoProcessCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoProcessCommandList * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoProcessCommandList * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoProcessCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoProcessCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoProcessCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoProcessCommandList * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoProcessCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoProcessCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoProcessCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ProcessFrames)
- void ( STDMETHODCALLTYPE *ProcessFrames )(
- ID3D12VideoProcessCommandList * This,
- _In_ ID3D12VideoProcessor *pVideoProcessor,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- UINT NumInputStreams,
- _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoProcessCommandList * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- END_INTERFACE
- } ID3D12VideoProcessCommandListVtbl;
-
- interface ID3D12VideoProcessCommandList
- {
- CONST_VTBL struct ID3D12VideoProcessCommandListVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoProcessCommandList_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoProcessCommandList_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoProcessCommandList_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoProcessCommandList_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoProcessCommandList_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoProcessCommandList_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoProcessCommandList_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoProcessCommandList_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoProcessCommandList_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoProcessCommandList_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoProcessCommandList_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoProcessCommandList_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoProcessCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoProcessCommandList_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoProcessCommandList_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoProcessCommandList_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoProcessCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoProcessCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoProcessCommandList_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoProcessCommandList_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoProcessCommandList_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoProcessCommandList_ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \
- ( (This)->lpVtbl -> ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) )
-
-#define ID3D12VideoProcessCommandList_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoProcessCommandList_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12video_0000_0006 */
-/* [local] */
-
-typedef struct D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM
- {
- UINT64 Offset;
- ID3D12Resource *pBuffer;
- } D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM;
-
-typedef struct D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1
- {
- BOOL Enable;
- ID3D12Resource *pReferenceTexture2D;
- UINT ReferenceSubresource;
- DXGI_COLOR_SPACE_TYPE OutputColorSpace;
- DXGI_COLOR_SPACE_TYPE DecodeColorSpace;
- UINT OutputWidth;
- UINT OutputHeight;
- } D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1;
-
-typedef struct D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1
- {
- ID3D12Resource *pOutputTexture2D;
- UINT OutputSubresource;
- D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1 ConversionArguments;
- D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM Histograms[ 4 ];
- } D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0006_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0006_v0_0_s_ifspec;
-
-#ifndef __ID3D12VideoDecodeCommandList1_INTERFACE_DEFINED__
-#define __ID3D12VideoDecodeCommandList1_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDecodeCommandList1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDecodeCommandList1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("D52F011B-B56E-453C-A05A-A7F311C8F472")
- ID3D12VideoDecodeCommandList1 : public ID3D12VideoDecodeCommandList
- {
- public:
- virtual void STDMETHODCALLTYPE DecodeFrame1(
- _In_ ID3D12VideoDecoder *pDecoder,
- _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *pOutputArguments,
- _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDecodeCommandList1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDecodeCommandList1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDecodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDecodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoDecodeCommandList1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoDecodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoDecodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoDecodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoDecodeCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoDecodeCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoDecodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DecodeFrame)
- void ( STDMETHODCALLTYPE *DecodeFrame )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_ ID3D12VideoDecoder *pDecoder,
- _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoDecodeCommandList1 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList1, DecodeFrame1)
- void ( STDMETHODCALLTYPE *DecodeFrame1 )(
- ID3D12VideoDecodeCommandList1 * This,
- _In_ ID3D12VideoDecoder *pDecoder,
- _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *pOutputArguments,
- _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments);
-
- END_INTERFACE
- } ID3D12VideoDecodeCommandList1Vtbl;
-
- interface ID3D12VideoDecodeCommandList1
- {
- CONST_VTBL struct ID3D12VideoDecodeCommandList1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDecodeCommandList1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDecodeCommandList1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDecodeCommandList1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDecodeCommandList1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoDecodeCommandList1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoDecodeCommandList1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoDecodeCommandList1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoDecodeCommandList1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoDecodeCommandList1_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoDecodeCommandList1_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoDecodeCommandList1_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoDecodeCommandList1_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoDecodeCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoDecodeCommandList1_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoDecodeCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoDecodeCommandList1_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoDecodeCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoDecodeCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoDecodeCommandList1_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoDecodeCommandList1_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoDecodeCommandList1_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoDecodeCommandList1_DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoDecodeCommandList1_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12VideoDecodeCommandList1_DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDecodeCommandList1_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12video_0000_0007 */
-/* [local] */
-
-typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1
- {
- D3D12_VIDEO_PROCESS_INPUT_STREAM InputStream[ 2 ];
- D3D12_VIDEO_PROCESS_TRANSFORM Transform;
- D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS Flags;
- D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE RateInfo;
- INT FilterLevels[ 32 ];
- D3D12_VIDEO_PROCESS_ALPHA_BLENDING AlphaBlending;
- D3D12_VIDEO_FIELD_TYPE FieldType;
- } D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0007_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0007_v0_0_s_ifspec;
-
-#ifndef __ID3D12VideoProcessCommandList1_INTERFACE_DEFINED__
-#define __ID3D12VideoProcessCommandList1_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoProcessCommandList1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoProcessCommandList1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("542C5C4D-7596-434F-8C93-4EFA6766F267")
- ID3D12VideoProcessCommandList1 : public ID3D12VideoProcessCommandList
- {
- public:
- virtual void STDMETHODCALLTYPE ProcessFrames1(
- _In_ ID3D12VideoProcessor *pVideoProcessor,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- UINT NumInputStreams,
- _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *pInputArguments) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoProcessCommandList1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoProcessCommandList1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoProcessCommandList1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoProcessCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoProcessCommandList1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoProcessCommandList1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoProcessCommandList1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoProcessCommandList1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoProcessCommandList1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoProcessCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoProcessCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoProcessCommandList1 * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoProcessCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoProcessCommandList1 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoProcessCommandList1 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoProcessCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoProcessCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoProcessCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoProcessCommandList1 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoProcessCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoProcessCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoProcessCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ProcessFrames)
- void ( STDMETHODCALLTYPE *ProcessFrames )(
- ID3D12VideoProcessCommandList1 * This,
- _In_ ID3D12VideoProcessor *pVideoProcessor,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- UINT NumInputStreams,
- _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoProcessCommandList1 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList1, ProcessFrames1)
- void ( STDMETHODCALLTYPE *ProcessFrames1 )(
- ID3D12VideoProcessCommandList1 * This,
- _In_ ID3D12VideoProcessor *pVideoProcessor,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- UINT NumInputStreams,
- _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *pInputArguments);
-
- END_INTERFACE
- } ID3D12VideoProcessCommandList1Vtbl;
-
- interface ID3D12VideoProcessCommandList1
- {
- CONST_VTBL struct ID3D12VideoProcessCommandList1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoProcessCommandList1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoProcessCommandList1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoProcessCommandList1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoProcessCommandList1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoProcessCommandList1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoProcessCommandList1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoProcessCommandList1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoProcessCommandList1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoProcessCommandList1_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoProcessCommandList1_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoProcessCommandList1_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoProcessCommandList1_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoProcessCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoProcessCommandList1_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoProcessCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoProcessCommandList1_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoProcessCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoProcessCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoProcessCommandList1_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoProcessCommandList1_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoProcessCommandList1_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoProcessCommandList1_ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \
- ( (This)->lpVtbl -> ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) )
-
-#define ID3D12VideoProcessCommandList1_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12VideoProcessCommandList1_ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \
- ( (This)->lpVtbl -> ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoProcessCommandList1_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12video_0000_0008 */
-/* [local] */
-
-typedef
-enum D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE
- {
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_8X8 = 0,
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_16X16 = 1
- } D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE;
-
-typedef
-enum D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS
- {
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_NONE = 0,
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_8X8 = ( 1 << D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_8X8 ) ,
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_16X16 = ( 1 << D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_16X16 )
- } D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS )
-typedef
-enum D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION
- {
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_QUARTER_PEL = 0
- } D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION;
-
-typedef
-enum D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS
- {
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAG_NONE = 0,
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAG_QUARTER_PEL = ( 1 << D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_QUARTER_PEL )
- } D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS )
-typedef struct D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT
- {
- UINT NodeIndex;
- BOOL VideoDecodeSupport;
- BOOL VideoProcessSupport;
- BOOL VideoEncodeSupport;
- } D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR
- {
- UINT NodeIndex;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS BlockSizeFlags;
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS PrecisionFlags;
- D3D12_VIDEO_SIZE_RANGE SizeRange;
- } D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE
- {
- UINT NodeIndex;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize;
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision;
- D3D12_VIDEO_SIZE_RANGE SizeRange;
- BOOL Protected;
- UINT64 MotionVectorHeapMemoryPoolL0Size;
- UINT64 MotionVectorHeapMemoryPoolL1Size;
- UINT64 MotionEstimatorMemoryPoolL0Size;
- UINT64 MotionEstimatorMemoryPoolL1Size;
- } D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE;
-
-typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_DESC
- {
- UINT NodeMask;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize;
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision;
- D3D12_VIDEO_SIZE_RANGE SizeRange;
- } D3D12_VIDEO_MOTION_ESTIMATOR_DESC;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0008_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0008_v0_0_s_ifspec;
-
-#ifndef __ID3D12VideoMotionEstimator_INTERFACE_DEFINED__
-#define __ID3D12VideoMotionEstimator_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoMotionEstimator */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoMotionEstimator;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("33FDAE0E-098B-428F-87BB-34B695DE08F8")
- ID3D12VideoMotionEstimator : public ID3D12Pageable
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_VIDEO_MOTION_ESTIMATOR_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_VIDEO_MOTION_ESTIMATOR_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_VIDEO_MOTION_ESTIMATOR_DESC * RetVal) = 0;
-#endif
-
- virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoMotionEstimatorVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoMotionEstimator * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoMotionEstimator * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoMotionEstimator * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoMotionEstimator * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoMotionEstimator * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoMotionEstimator * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoMotionEstimator * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoMotionEstimator * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12VideoMotionEstimator, GetDesc)
-#if !defined(_WIN32)
- D3D12_VIDEO_MOTION_ESTIMATOR_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoMotionEstimator * This);
-
-#else
- D3D12_VIDEO_MOTION_ESTIMATOR_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoMotionEstimator * This,
- D3D12_VIDEO_MOTION_ESTIMATOR_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12VideoMotionEstimator, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12VideoMotionEstimator * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- END_INTERFACE
- } ID3D12VideoMotionEstimatorVtbl;
-
- interface ID3D12VideoMotionEstimator
- {
- CONST_VTBL struct ID3D12VideoMotionEstimatorVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoMotionEstimator_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoMotionEstimator_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoMotionEstimator_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoMotionEstimator_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoMotionEstimator_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoMotionEstimator_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoMotionEstimator_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoMotionEstimator_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#if !defined(_WIN32)
-
-#define ID3D12VideoMotionEstimator_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12VideoMotionEstimator_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#define ID3D12VideoMotionEstimator_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoMotionEstimator_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12video_0000_0009 */
-/* [local] */
-
-typedef struct D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC
- {
- UINT NodeMask;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize;
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision;
- D3D12_VIDEO_SIZE_RANGE SizeRange;
- } D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0009_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0009_v0_0_s_ifspec;
-
-#ifndef __ID3D12VideoMotionVectorHeap_INTERFACE_DEFINED__
-#define __ID3D12VideoMotionVectorHeap_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoMotionVectorHeap */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoMotionVectorHeap;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("5BE17987-743A-4061-834B-23D22DAEA505")
- ID3D12VideoMotionVectorHeap : public ID3D12Pageable
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC * RetVal) = 0;
-#endif
-
- virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoMotionVectorHeapVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoMotionVectorHeap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoMotionVectorHeap * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoMotionVectorHeap * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoMotionVectorHeap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoMotionVectorHeap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoMotionVectorHeap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoMotionVectorHeap * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoMotionVectorHeap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12VideoMotionVectorHeap, GetDesc)
-#if !defined(_WIN32)
- D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoMotionVectorHeap * This);
-
-#else
- D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoMotionVectorHeap * This,
- D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12VideoMotionVectorHeap, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12VideoMotionVectorHeap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- END_INTERFACE
- } ID3D12VideoMotionVectorHeapVtbl;
-
- interface ID3D12VideoMotionVectorHeap
- {
- CONST_VTBL struct ID3D12VideoMotionVectorHeapVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoMotionVectorHeap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoMotionVectorHeap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoMotionVectorHeap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoMotionVectorHeap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoMotionVectorHeap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoMotionVectorHeap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoMotionVectorHeap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoMotionVectorHeap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#if !defined(_WIN32)
-
-#define ID3D12VideoMotionVectorHeap_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12VideoMotionVectorHeap_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#define ID3D12VideoMotionVectorHeap_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoMotionVectorHeap_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDevice1_INTERFACE_DEFINED__
-#define __ID3D12VideoDevice1_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDevice1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDevice1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("981611AD-A144-4C83-9890-F30E26D658AB")
- ID3D12VideoDevice1 : public ID3D12VideoDevice
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateVideoMotionEstimator(
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoMotionEstimator) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVideoMotionVectorHeap(
- _In_ const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoMotionVectorHeap) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDevice1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDevice1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDevice1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDevice1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12VideoDevice1 * This,
- D3D12_FEATURE_VIDEO FeatureVideo,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoder)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder )(
- ID3D12VideoDevice1 * This,
- _In_ const D3D12_VIDEO_DECODER_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoder);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoderHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap )(
- ID3D12VideoDevice1 * This,
- _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoderHeap);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoProcessor)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor )(
- ID3D12VideoDevice1 * This,
- UINT NodeMask,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc,
- UINT NumInputStreamDescs,
- _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoProcessor);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionEstimator)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionEstimator )(
- ID3D12VideoDevice1 * This,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoMotionEstimator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionVectorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionVectorHeap )(
- ID3D12VideoDevice1 * This,
- _In_ const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoMotionVectorHeap);
-
- END_INTERFACE
- } ID3D12VideoDevice1Vtbl;
-
- interface ID3D12VideoDevice1
- {
- CONST_VTBL struct ID3D12VideoDevice1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDevice1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDevice1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDevice1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDevice1_CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12VideoDevice1_CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) \
- ( (This)->lpVtbl -> CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) )
-
-#define ID3D12VideoDevice1_CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) \
- ( (This)->lpVtbl -> CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) )
-
-#define ID3D12VideoDevice1_CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) \
- ( (This)->lpVtbl -> CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) )
-
-
-#define ID3D12VideoDevice1_CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) \
- ( (This)->lpVtbl -> CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) )
-
-#define ID3D12VideoDevice1_CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) \
- ( (This)->lpVtbl -> CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDevice1_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12video_0000_0011 */
-/* [local] */
-
-typedef struct D3D12_RESOURCE_COORDINATE
- {
- UINT64 X;
- UINT Y;
- UINT Z;
- UINT SubresourceIndex;
- } D3D12_RESOURCE_COORDINATE;
-
-typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT
- {
- ID3D12VideoMotionVectorHeap *pMotionVectorHeap;
- } D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT;
-
-typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_INPUT
- {
- ID3D12Resource *pInputTexture2D;
- UINT InputSubresourceIndex;
- ID3D12Resource *pReferenceTexture2D;
- UINT ReferenceSubresourceIndex;
- ID3D12VideoMotionVectorHeap *pHintMotionVectorHeap;
- } D3D12_VIDEO_MOTION_ESTIMATOR_INPUT;
-
-typedef struct D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT
- {
- ID3D12Resource *pMotionVectorTexture2D;
- D3D12_RESOURCE_COORDINATE MotionVectorCoordinate;
- } D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT;
-
-typedef struct D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT
- {
- ID3D12VideoMotionVectorHeap *pMotionVectorHeap;
- UINT PixelWidth;
- UINT PixelHeight;
- } D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0011_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0011_v0_0_s_ifspec;
-
-#ifndef __ID3D12VideoEncodeCommandList_INTERFACE_DEFINED__
-#define __ID3D12VideoEncodeCommandList_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoEncodeCommandList */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoEncodeCommandList;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("8455293A-0CBD-4831-9B39-FBDBAB724723")
- ID3D12VideoEncodeCommandList : public ID3D12CommandList
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reset(
- _In_ ID3D12CommandAllocator *pAllocator) = 0;
-
- virtual void STDMETHODCALLTYPE ClearState( void) = 0;
-
- virtual void STDMETHODCALLTYPE ResourceBarrier(
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0;
-
- virtual void STDMETHODCALLTYPE DiscardResource(
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0;
-
- virtual void STDMETHODCALLTYPE BeginQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index) = 0;
-
- virtual void STDMETHODCALLTYPE EndQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveQueryData(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset) = 0;
-
- virtual void STDMETHODCALLTYPE SetPredication(
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation) = 0;
-
- virtual void STDMETHODCALLTYPE SetMarker(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE BeginEvent(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
-
- virtual void STDMETHODCALLTYPE EstimateMotion(
- _In_ ID3D12VideoMotionEstimator *pMotionEstimator,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *pOutputArguments,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *pInputArguments) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveMotionVectorHeap(
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *pOutputArguments,
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *pInputArguments) = 0;
-
- virtual void STDMETHODCALLTYPE WriteBufferImmediate(
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes) = 0;
-
- virtual void STDMETHODCALLTYPE SetProtectedResourceSession(
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoEncodeCommandListVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoEncodeCommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoEncodeCommandList * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoEncodeCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoEncodeCommandList * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoEncodeCommandList * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoEncodeCommandList * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoEncodeCommandList * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoEncodeCommandList * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoEncodeCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoEncodeCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoEncodeCommandList * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoEncodeCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoEncodeCommandList * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoEncodeCommandList * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoEncodeCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoEncodeCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoEncodeCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoEncodeCommandList * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoEncodeCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoEncodeCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoEncodeCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EstimateMotion)
- void ( STDMETHODCALLTYPE *EstimateMotion )(
- ID3D12VideoEncodeCommandList * This,
- _In_ ID3D12VideoMotionEstimator *pMotionEstimator,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *pOutputArguments,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveMotionVectorHeap)
- void ( STDMETHODCALLTYPE *ResolveMotionVectorHeap )(
- ID3D12VideoEncodeCommandList * This,
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *pOutputArguments,
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoEncodeCommandList * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12VideoEncodeCommandList * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- END_INTERFACE
- } ID3D12VideoEncodeCommandListVtbl;
-
- interface ID3D12VideoEncodeCommandList
- {
- CONST_VTBL struct ID3D12VideoEncodeCommandListVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoEncodeCommandList_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoEncodeCommandList_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoEncodeCommandList_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoEncodeCommandList_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoEncodeCommandList_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoEncodeCommandList_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoEncodeCommandList_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoEncodeCommandList_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoEncodeCommandList_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoEncodeCommandList_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoEncodeCommandList_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoEncodeCommandList_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoEncodeCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoEncodeCommandList_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoEncodeCommandList_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoEncodeCommandList_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoEncodeCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoEncodeCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoEncodeCommandList_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoEncodeCommandList_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoEncodeCommandList_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoEncodeCommandList_EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoEncodeCommandList_ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoEncodeCommandList_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-#define ID3D12VideoEncodeCommandList_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoEncodeCommandList_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12video_0000_0012 */
-/* [local] */
-
-typedef
-enum D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS
- {
- D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAG_NONE = 0,
- D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAG_SUPPORTED = 0x1
- } D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS )
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES
- {
- UINT NodeIndex;
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration;
- D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags;
- } D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES
- {
- UINT NodeIndex;
- D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags;
- } D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES
- {
- UINT NodeIndex;
- D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags;
- } D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1
- {
- D3D12_VIDEO_DECODER_HEAP_DESC VideoDecoderHeapDesc;
- BOOL Protected;
- UINT64 MemoryPoolL0Size;
- UINT64 MemoryPoolL1Size;
- } D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1
- {
- UINT NodeMask;
- const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc;
- UINT NumInputStreamDescs;
- const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs;
- BOOL Protected;
- UINT64 MemoryPoolL0Size;
- UINT64 MemoryPoolL1Size;
- } D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1;
-
-typedef
-enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE
- {
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CREATION = 0,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_EXECUTION = 2,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_INPUT = 3,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_OUTPUT = 4,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_DEVICE_EXECUTE_INPUT = 5,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_DEVICE_EXECUTE_OUTPUT = 6
- } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE;
-
-typedef
-enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE
- {
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT8 = 0,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT16 = 1,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT32 = 2,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT64 = 3,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT8 = 4,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT16 = 5,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT32 = 6,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT64 = 7,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_FLOAT = 8,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_DOUBLE = 9,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_RESOURCE = 10
- } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE;
-
-typedef
-enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS
- {
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_NONE = 0,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_READ = 0x1,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_WRITE = 0x2
- } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS )
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT
- {
- UINT NodeIndex;
- UINT CommandCount;
- } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT;
-
-typedef struct D3D12_VIDEO_EXTENSION_COMMAND_INFO
- {
- GUID CommandId;
- LPCWSTR Name;
- D3D12_COMMAND_LIST_SUPPORT_FLAGS CommandListSupportFlags;
- } D3D12_VIDEO_EXTENSION_COMMAND_INFO;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS
- {
- UINT NodeIndex;
- UINT CommandCount;
- _Field_size_full_(CommandCount) D3D12_VIDEO_EXTENSION_COMMAND_INFO *pCommandInfos;
- } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT
- {
- GUID CommandId;
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE Stage;
- UINT ParameterCount;
- UINT ParameterPacking;
- } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT;
-
-typedef struct D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO
- {
- LPCWSTR Name;
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE Type;
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS Flags;
- } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS
- {
- GUID CommandId;
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE Stage;
- UINT ParameterCount;
- _Field_size_full_(ParameterCount) D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO *pParameterInfos;
- } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT
- {
- UINT NodeIndex;
- GUID CommandId;
- _Field_size_bytes_full_opt_(InputDataSizeInBytes) const void *pInputData;
- SIZE_T InputDataSizeInBytes;
- _Field_size_bytes_full_opt_(OutputDataSizeInBytes) void *pOutputData;
- SIZE_T OutputDataSizeInBytes;
- } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE
- {
- UINT NodeIndex;
- GUID CommandId;
- _Field_size_bytes_full_(CreationParametersDataSizeInBytes) const void *pCreationParameters;
- SIZE_T CreationParametersSizeInBytes;
- UINT64 MemoryPoolL0Size;
- UINT64 MemoryPoolL1Size;
- } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE;
-
-typedef struct D3D12_VIDEO_EXTENSION_COMMAND_DESC
- {
- UINT NodeMask;
- GUID CommandId;
- } D3D12_VIDEO_EXTENSION_COMMAND_DESC;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0012_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0012_v0_0_s_ifspec;
-
-#ifndef __ID3D12VideoDecoder1_INTERFACE_DEFINED__
-#define __ID3D12VideoDecoder1_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDecoder1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDecoder1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("79A2E5FB-CCD2-469A-9FDE-195D10951F7E")
- ID3D12VideoDecoder1 : public ID3D12VideoDecoder
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDecoder1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDecoder1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDecoder1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDecoder1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoDecoder1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoDecoder1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoDecoder1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoDecoder1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoDecoder1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecoder, GetDesc)
-#if !defined(_WIN32)
- D3D12_VIDEO_DECODER_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoDecoder1 * This);
-
-#else
- D3D12_VIDEO_DECODER_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoDecoder1 * This,
- D3D12_VIDEO_DECODER_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecoder1, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12VideoDecoder1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- END_INTERFACE
- } ID3D12VideoDecoder1Vtbl;
-
- interface ID3D12VideoDecoder1
- {
- CONST_VTBL struct ID3D12VideoDecoder1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDecoder1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDecoder1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDecoder1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDecoder1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoDecoder1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoDecoder1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoDecoder1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoDecoder1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#if !defined(_WIN32)
-
-#define ID3D12VideoDecoder1_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12VideoDecoder1_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-
-#define ID3D12VideoDecoder1_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDecoder1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDecoderHeap1_INTERFACE_DEFINED__
-#define __ID3D12VideoDecoderHeap1_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDecoderHeap1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDecoderHeap1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("DA1D98C5-539F-41B2-BF6B-1198A03B6D26")
- ID3D12VideoDecoderHeap1 : public ID3D12VideoDecoderHeap
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDecoderHeap1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDecoderHeap1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDecoderHeap1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDecoderHeap1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoDecoderHeap1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoDecoderHeap1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoDecoderHeap1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoDecoderHeap1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoDecoderHeap1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecoderHeap, GetDesc)
-#if !defined(_WIN32)
- D3D12_VIDEO_DECODER_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoDecoderHeap1 * This);
-
-#else
- D3D12_VIDEO_DECODER_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoDecoderHeap1 * This,
- D3D12_VIDEO_DECODER_HEAP_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecoderHeap1, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12VideoDecoderHeap1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- END_INTERFACE
- } ID3D12VideoDecoderHeap1Vtbl;
-
- interface ID3D12VideoDecoderHeap1
- {
- CONST_VTBL struct ID3D12VideoDecoderHeap1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDecoderHeap1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDecoderHeap1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDecoderHeap1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDecoderHeap1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoDecoderHeap1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoDecoderHeap1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoDecoderHeap1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoDecoderHeap1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#if !defined(_WIN32)
-
-#define ID3D12VideoDecoderHeap1_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12VideoDecoderHeap1_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-
-#define ID3D12VideoDecoderHeap1_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDecoderHeap1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoProcessor1_INTERFACE_DEFINED__
-#define __ID3D12VideoProcessor1_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoProcessor1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoProcessor1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("F3CFE615-553F-425C-86D8-EE8C1B1FB01C")
- ID3D12VideoProcessor1 : public ID3D12VideoProcessor
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoProcessor1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoProcessor1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoProcessor1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoProcessor1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoProcessor1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoProcessor1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoProcessor1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoProcessor1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoProcessor1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetNodeMask)
- UINT ( STDMETHODCALLTYPE *GetNodeMask )(
- ID3D12VideoProcessor1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetNumInputStreamDescs)
- UINT ( STDMETHODCALLTYPE *GetNumInputStreamDescs )(
- ID3D12VideoProcessor1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetInputStreamDescs)
- HRESULT ( STDMETHODCALLTYPE *GetInputStreamDescs )(
- ID3D12VideoProcessor1 * This,
- UINT NumInputStreamDescs,
- _Out_writes_(NumInputStreamDescs) D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetOutputStreamDesc)
-#if !defined(_WIN32)
- D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC ( STDMETHODCALLTYPE *GetOutputStreamDesc )(
- ID3D12VideoProcessor1 * This);
-
-#else
- D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *( STDMETHODCALLTYPE *GetOutputStreamDesc )(
- ID3D12VideoProcessor1 * This,
- D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessor1, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12VideoProcessor1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- END_INTERFACE
- } ID3D12VideoProcessor1Vtbl;
-
- interface ID3D12VideoProcessor1
- {
- CONST_VTBL struct ID3D12VideoProcessor1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoProcessor1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoProcessor1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoProcessor1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoProcessor1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoProcessor1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoProcessor1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoProcessor1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoProcessor1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12VideoProcessor1_GetNodeMask(This) \
- ( (This)->lpVtbl -> GetNodeMask(This) )
-
-#define ID3D12VideoProcessor1_GetNumInputStreamDescs(This) \
- ( (This)->lpVtbl -> GetNumInputStreamDescs(This) )
-
-#define ID3D12VideoProcessor1_GetInputStreamDescs(This,NumInputStreamDescs,pInputStreamDescs) \
- ( (This)->lpVtbl -> GetInputStreamDescs(This,NumInputStreamDescs,pInputStreamDescs) )
-#if !defined(_WIN32)
-
-#define ID3D12VideoProcessor1_GetOutputStreamDesc(This) \
- ( (This)->lpVtbl -> GetOutputStreamDesc(This) )
-#else
-#define ID3D12VideoProcessor1_GetOutputStreamDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetOutputStreamDesc(This,RetVal) )
-#endif
-
-
-#define ID3D12VideoProcessor1_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoProcessor1_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoExtensionCommand_INTERFACE_DEFINED__
-#define __ID3D12VideoExtensionCommand_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoExtensionCommand */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoExtensionCommand;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("554E41E8-AE8E-4A8C-B7D2-5B4F274A30E4")
- ID3D12VideoExtensionCommand : public ID3D12Pageable
- {
- public:
-#if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_VIDEO_EXTENSION_COMMAND_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-#else
- virtual D3D12_VIDEO_EXTENSION_COMMAND_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_VIDEO_EXTENSION_COMMAND_DESC * RetVal) = 0;
-#endif
-
- virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoExtensionCommandVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoExtensionCommand * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoExtensionCommand * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoExtensionCommand * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoExtensionCommand * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoExtensionCommand * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoExtensionCommand * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoExtensionCommand * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoExtensionCommand * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12VideoExtensionCommand, GetDesc)
-#if !defined(_WIN32)
- D3D12_VIDEO_EXTENSION_COMMAND_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoExtensionCommand * This);
-
-#else
- D3D12_VIDEO_EXTENSION_COMMAND_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12VideoExtensionCommand * This,
- D3D12_VIDEO_EXTENSION_COMMAND_DESC * RetVal);
-
-#endif
-
- DECLSPEC_XFGVIRT(ID3D12VideoExtensionCommand, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12VideoExtensionCommand * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- END_INTERFACE
- } ID3D12VideoExtensionCommandVtbl;
-
- interface ID3D12VideoExtensionCommand
- {
- CONST_VTBL struct ID3D12VideoExtensionCommandVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoExtensionCommand_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoExtensionCommand_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoExtensionCommand_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoExtensionCommand_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoExtensionCommand_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoExtensionCommand_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoExtensionCommand_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoExtensionCommand_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#if !defined(_WIN32)
-
-#define ID3D12VideoExtensionCommand_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
-#else
-#define ID3D12VideoExtensionCommand_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
-#endif
-
-#define ID3D12VideoExtensionCommand_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoExtensionCommand_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDevice2_INTERFACE_DEFINED__
-#define __ID3D12VideoDevice2_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDevice2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDevice2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("F019AC49-F838-4A95-9B17-579437C8F513")
- ID3D12VideoDevice2 : public ID3D12VideoDevice1
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoder1(
- _In_ const D3D12_VIDEO_DECODER_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoder) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoderHeap1(
- _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoderHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessor1(
- UINT NodeMask,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc,
- UINT NumInputStreamDescs,
- _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoProcessor) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVideoExtensionCommand(
- _In_ const D3D12_VIDEO_EXTENSION_COMMAND_DESC *pDesc,
- _In_reads_bytes_(CreationParametersDataSizeInBytes) const void *pCreationParameters,
- SIZE_T CreationParametersDataSizeInBytes,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoExtensionCommand) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ExecuteExtensionCommand(
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes,
- _Out_writes_bytes_(OutputDataSizeInBytes) void *pOutputData,
- SIZE_T OutputDataSizeInBytes) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDevice2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDevice2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDevice2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDevice2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12VideoDevice2 * This,
- D3D12_FEATURE_VIDEO FeatureVideo,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoder)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder )(
- ID3D12VideoDevice2 * This,
- _In_ const D3D12_VIDEO_DECODER_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoder);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoderHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap )(
- ID3D12VideoDevice2 * This,
- _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoderHeap);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoProcessor)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor )(
- ID3D12VideoDevice2 * This,
- UINT NodeMask,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc,
- UINT NumInputStreamDescs,
- _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoProcessor);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionEstimator)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionEstimator )(
- ID3D12VideoDevice2 * This,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoMotionEstimator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionVectorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionVectorHeap )(
- ID3D12VideoDevice2 * This,
- _In_ const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoMotionVectorHeap);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoDecoder1)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder1 )(
- ID3D12VideoDevice2 * This,
- _In_ const D3D12_VIDEO_DECODER_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoder);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoDecoderHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap1 )(
- ID3D12VideoDevice2 * This,
- _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoderHeap);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoProcessor1)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor1 )(
- ID3D12VideoDevice2 * This,
- UINT NodeMask,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc,
- UINT NumInputStreamDescs,
- _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoProcessor);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoExtensionCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoExtensionCommand )(
- ID3D12VideoDevice2 * This,
- _In_ const D3D12_VIDEO_EXTENSION_COMMAND_DESC *pDesc,
- _In_reads_bytes_(CreationParametersDataSizeInBytes) const void *pCreationParameters,
- SIZE_T CreationParametersDataSizeInBytes,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoExtensionCommand);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice2, ExecuteExtensionCommand)
- HRESULT ( STDMETHODCALLTYPE *ExecuteExtensionCommand )(
- ID3D12VideoDevice2 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes,
- _Out_writes_bytes_(OutputDataSizeInBytes) void *pOutputData,
- SIZE_T OutputDataSizeInBytes);
-
- END_INTERFACE
- } ID3D12VideoDevice2Vtbl;
-
- interface ID3D12VideoDevice2
- {
- CONST_VTBL struct ID3D12VideoDevice2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDevice2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDevice2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDevice2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDevice2_CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12VideoDevice2_CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) \
- ( (This)->lpVtbl -> CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) )
-
-#define ID3D12VideoDevice2_CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) \
- ( (This)->lpVtbl -> CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) )
-
-#define ID3D12VideoDevice2_CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) \
- ( (This)->lpVtbl -> CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) )
-
-
-#define ID3D12VideoDevice2_CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) \
- ( (This)->lpVtbl -> CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) )
-
-#define ID3D12VideoDevice2_CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) \
- ( (This)->lpVtbl -> CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) )
-
-
-#define ID3D12VideoDevice2_CreateVideoDecoder1(This,pDesc,pProtectedResourceSession,riid,ppVideoDecoder) \
- ( (This)->lpVtbl -> CreateVideoDecoder1(This,pDesc,pProtectedResourceSession,riid,ppVideoDecoder) )
-
-#define ID3D12VideoDevice2_CreateVideoDecoderHeap1(This,pVideoDecoderHeapDesc,pProtectedResourceSession,riid,ppVideoDecoderHeap) \
- ( (This)->lpVtbl -> CreateVideoDecoderHeap1(This,pVideoDecoderHeapDesc,pProtectedResourceSession,riid,ppVideoDecoderHeap) )
-
-#define ID3D12VideoDevice2_CreateVideoProcessor1(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,pProtectedResourceSession,riid,ppVideoProcessor) \
- ( (This)->lpVtbl -> CreateVideoProcessor1(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,pProtectedResourceSession,riid,ppVideoProcessor) )
-
-#define ID3D12VideoDevice2_CreateVideoExtensionCommand(This,pDesc,pCreationParameters,CreationParametersDataSizeInBytes,pProtectedResourceSession,riid,ppVideoExtensionCommand) \
- ( (This)->lpVtbl -> CreateVideoExtensionCommand(This,pDesc,pCreationParameters,CreationParametersDataSizeInBytes,pProtectedResourceSession,riid,ppVideoExtensionCommand) )
-
-#define ID3D12VideoDevice2_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes,pOutputData,OutputDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes,pOutputData,OutputDataSizeInBytes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDevice2_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDecodeCommandList2_INTERFACE_DEFINED__
-#define __ID3D12VideoDecodeCommandList2_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDecodeCommandList2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDecodeCommandList2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6e120880-c114-4153-8036-d247051e1729")
- ID3D12VideoDecodeCommandList2 : public ID3D12VideoDecodeCommandList1
- {
- public:
- virtual void STDMETHODCALLTYPE SetProtectedResourceSession(
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession) = 0;
-
- virtual void STDMETHODCALLTYPE InitializeExtensionCommand(
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes) = 0;
-
- virtual void STDMETHODCALLTYPE ExecuteExtensionCommand(
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDecodeCommandList2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDecodeCommandList2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDecodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDecodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoDecodeCommandList2 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoDecodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoDecodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoDecodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoDecodeCommandList2 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoDecodeCommandList2 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoDecodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DecodeFrame)
- void ( STDMETHODCALLTYPE *DecodeFrame )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ ID3D12VideoDecoder *pDecoder,
- _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoDecodeCommandList2 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList1, DecodeFrame1)
- void ( STDMETHODCALLTYPE *DecodeFrame1 )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ ID3D12VideoDecoder *pDecoder,
- _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *pOutputArguments,
- _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, InitializeExtensionCommand)
- void ( STDMETHODCALLTYPE *InitializeExtensionCommand )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, ExecuteExtensionCommand)
- void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )(
- ID3D12VideoDecodeCommandList2 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes);
-
- END_INTERFACE
- } ID3D12VideoDecodeCommandList2Vtbl;
-
- interface ID3D12VideoDecodeCommandList2
- {
- CONST_VTBL struct ID3D12VideoDecodeCommandList2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDecodeCommandList2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDecodeCommandList2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDecodeCommandList2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDecodeCommandList2_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoDecodeCommandList2_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoDecodeCommandList2_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoDecodeCommandList2_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoDecodeCommandList2_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoDecodeCommandList2_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoDecodeCommandList2_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoDecodeCommandList2_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoDecodeCommandList2_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoDecodeCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoDecodeCommandList2_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoDecodeCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoDecodeCommandList2_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoDecodeCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoDecodeCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoDecodeCommandList2_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoDecodeCommandList2_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoDecodeCommandList2_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoDecodeCommandList2_DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoDecodeCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12VideoDecodeCommandList2_DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) )
-
-
-#define ID3D12VideoDecodeCommandList2_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-#define ID3D12VideoDecodeCommandList2_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \
- ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) )
-
-#define ID3D12VideoDecodeCommandList2_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDecodeCommandList2_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDecodeCommandList3_INTERFACE_DEFINED__
-#define __ID3D12VideoDecodeCommandList3_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDecodeCommandList3 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDecodeCommandList3;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("2aee8c37-9562-42da-8abf-61efeb2e4513")
- ID3D12VideoDecodeCommandList3 : public ID3D12VideoDecodeCommandList2
- {
- public:
- virtual void STDMETHODCALLTYPE Barrier(
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDecodeCommandList3Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDecodeCommandList3 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDecodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDecodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoDecodeCommandList3 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoDecodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoDecodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoDecodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoDecodeCommandList3 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoDecodeCommandList3 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoDecodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DecodeFrame)
- void ( STDMETHODCALLTYPE *DecodeFrame )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ ID3D12VideoDecoder *pDecoder,
- _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoDecodeCommandList3 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList1, DecodeFrame1)
- void ( STDMETHODCALLTYPE *DecodeFrame1 )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ ID3D12VideoDecoder *pDecoder,
- _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *pOutputArguments,
- _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, InitializeExtensionCommand)
- void ( STDMETHODCALLTYPE *InitializeExtensionCommand )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, ExecuteExtensionCommand)
- void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )(
- ID3D12VideoDecodeCommandList3 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList3, Barrier)
- void ( STDMETHODCALLTYPE *Barrier )(
- ID3D12VideoDecodeCommandList3 * This,
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
-
- END_INTERFACE
- } ID3D12VideoDecodeCommandList3Vtbl;
-
- interface ID3D12VideoDecodeCommandList3
- {
- CONST_VTBL struct ID3D12VideoDecodeCommandList3Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDecodeCommandList3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDecodeCommandList3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDecodeCommandList3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDecodeCommandList3_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoDecodeCommandList3_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoDecodeCommandList3_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoDecodeCommandList3_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoDecodeCommandList3_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoDecodeCommandList3_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoDecodeCommandList3_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoDecodeCommandList3_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoDecodeCommandList3_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoDecodeCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoDecodeCommandList3_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoDecodeCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoDecodeCommandList3_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoDecodeCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoDecodeCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoDecodeCommandList3_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoDecodeCommandList3_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoDecodeCommandList3_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoDecodeCommandList3_DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoDecodeCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12VideoDecodeCommandList3_DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) )
-
-
-#define ID3D12VideoDecodeCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-#define ID3D12VideoDecodeCommandList3_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \
- ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) )
-
-#define ID3D12VideoDecodeCommandList3_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) )
-
-
-#define ID3D12VideoDecodeCommandList3_Barrier(This,NumBarrierGroups,pBarrierGroups) \
- ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDecodeCommandList3_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoProcessCommandList2_INTERFACE_DEFINED__
-#define __ID3D12VideoProcessCommandList2_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoProcessCommandList2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoProcessCommandList2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("db525ae4-6ad6-473c-baa7-59b2e37082e4")
- ID3D12VideoProcessCommandList2 : public ID3D12VideoProcessCommandList1
- {
- public:
- virtual void STDMETHODCALLTYPE SetProtectedResourceSession(
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession) = 0;
-
- virtual void STDMETHODCALLTYPE InitializeExtensionCommand(
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes) = 0;
-
- virtual void STDMETHODCALLTYPE ExecuteExtensionCommand(
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoProcessCommandList2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoProcessCommandList2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoProcessCommandList2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoProcessCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoProcessCommandList2 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoProcessCommandList2 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoProcessCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoProcessCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoProcessCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoProcessCommandList2 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoProcessCommandList2 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoProcessCommandList2 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoProcessCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ProcessFrames)
- void ( STDMETHODCALLTYPE *ProcessFrames )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ ID3D12VideoProcessor *pVideoProcessor,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- UINT NumInputStreams,
- _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoProcessCommandList2 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList1, ProcessFrames1)
- void ( STDMETHODCALLTYPE *ProcessFrames1 )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ ID3D12VideoProcessor *pVideoProcessor,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- UINT NumInputStreams,
- _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12VideoProcessCommandList2 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, InitializeExtensionCommand)
- void ( STDMETHODCALLTYPE *InitializeExtensionCommand )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, ExecuteExtensionCommand)
- void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )(
- ID3D12VideoProcessCommandList2 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes);
-
- END_INTERFACE
- } ID3D12VideoProcessCommandList2Vtbl;
-
- interface ID3D12VideoProcessCommandList2
- {
- CONST_VTBL struct ID3D12VideoProcessCommandList2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoProcessCommandList2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoProcessCommandList2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoProcessCommandList2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoProcessCommandList2_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoProcessCommandList2_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoProcessCommandList2_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoProcessCommandList2_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoProcessCommandList2_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoProcessCommandList2_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoProcessCommandList2_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoProcessCommandList2_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoProcessCommandList2_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoProcessCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoProcessCommandList2_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoProcessCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoProcessCommandList2_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoProcessCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoProcessCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoProcessCommandList2_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoProcessCommandList2_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoProcessCommandList2_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoProcessCommandList2_ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \
- ( (This)->lpVtbl -> ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) )
-
-#define ID3D12VideoProcessCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12VideoProcessCommandList2_ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \
- ( (This)->lpVtbl -> ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) )
-
-
-#define ID3D12VideoProcessCommandList2_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-#define ID3D12VideoProcessCommandList2_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \
- ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) )
-
-#define ID3D12VideoProcessCommandList2_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoProcessCommandList2_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoProcessCommandList3_INTERFACE_DEFINED__
-#define __ID3D12VideoProcessCommandList3_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoProcessCommandList3 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoProcessCommandList3;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1a0a4ca4-9f08-40ce-9558-b411fd2666ff")
- ID3D12VideoProcessCommandList3 : public ID3D12VideoProcessCommandList2
- {
- public:
- virtual void STDMETHODCALLTYPE Barrier(
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoProcessCommandList3Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoProcessCommandList3 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoProcessCommandList3 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoProcessCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoProcessCommandList3 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoProcessCommandList3 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoProcessCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoProcessCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoProcessCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoProcessCommandList3 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoProcessCommandList3 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoProcessCommandList3 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoProcessCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ProcessFrames)
- void ( STDMETHODCALLTYPE *ProcessFrames )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ ID3D12VideoProcessor *pVideoProcessor,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- UINT NumInputStreams,
- _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoProcessCommandList3 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList1, ProcessFrames1)
- void ( STDMETHODCALLTYPE *ProcessFrames1 )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ ID3D12VideoProcessor *pVideoProcessor,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- UINT NumInputStreams,
- _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12VideoProcessCommandList3 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, InitializeExtensionCommand)
- void ( STDMETHODCALLTYPE *InitializeExtensionCommand )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, ExecuteExtensionCommand)
- void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )(
- ID3D12VideoProcessCommandList3 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList3, Barrier)
- void ( STDMETHODCALLTYPE *Barrier )(
- ID3D12VideoProcessCommandList3 * This,
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
-
- END_INTERFACE
- } ID3D12VideoProcessCommandList3Vtbl;
-
- interface ID3D12VideoProcessCommandList3
- {
- CONST_VTBL struct ID3D12VideoProcessCommandList3Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoProcessCommandList3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoProcessCommandList3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoProcessCommandList3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoProcessCommandList3_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoProcessCommandList3_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoProcessCommandList3_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoProcessCommandList3_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoProcessCommandList3_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoProcessCommandList3_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoProcessCommandList3_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoProcessCommandList3_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoProcessCommandList3_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoProcessCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoProcessCommandList3_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoProcessCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoProcessCommandList3_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoProcessCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoProcessCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoProcessCommandList3_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoProcessCommandList3_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoProcessCommandList3_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoProcessCommandList3_ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \
- ( (This)->lpVtbl -> ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) )
-
-#define ID3D12VideoProcessCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-
-#define ID3D12VideoProcessCommandList3_ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \
- ( (This)->lpVtbl -> ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) )
-
-
-#define ID3D12VideoProcessCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-#define ID3D12VideoProcessCommandList3_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \
- ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) )
-
-#define ID3D12VideoProcessCommandList3_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) )
-
-
-#define ID3D12VideoProcessCommandList3_Barrier(This,NumBarrierGroups,pBarrierGroups) \
- ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoProcessCommandList3_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoEncodeCommandList1_INTERFACE_DEFINED__
-#define __ID3D12VideoEncodeCommandList1_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoEncodeCommandList1 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoEncodeCommandList1;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("94971eca-2bdb-4769-88cf-3675ea757ebc")
- ID3D12VideoEncodeCommandList1 : public ID3D12VideoEncodeCommandList
- {
- public:
- virtual void STDMETHODCALLTYPE InitializeExtensionCommand(
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes) = 0;
-
- virtual void STDMETHODCALLTYPE ExecuteExtensionCommand(
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoEncodeCommandList1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoEncodeCommandList1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoEncodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoEncodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoEncodeCommandList1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoEncodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoEncodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoEncodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoEncodeCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoEncodeCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoEncodeCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EstimateMotion)
- void ( STDMETHODCALLTYPE *EstimateMotion )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ ID3D12VideoMotionEstimator *pMotionEstimator,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *pOutputArguments,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveMotionVectorHeap)
- void ( STDMETHODCALLTYPE *ResolveMotionVectorHeap )(
- ID3D12VideoEncodeCommandList1 * This,
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *pOutputArguments,
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoEncodeCommandList1 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, InitializeExtensionCommand)
- void ( STDMETHODCALLTYPE *InitializeExtensionCommand )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, ExecuteExtensionCommand)
- void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )(
- ID3D12VideoEncodeCommandList1 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes);
-
- END_INTERFACE
- } ID3D12VideoEncodeCommandList1Vtbl;
-
- interface ID3D12VideoEncodeCommandList1
- {
- CONST_VTBL struct ID3D12VideoEncodeCommandList1Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoEncodeCommandList1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoEncodeCommandList1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoEncodeCommandList1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoEncodeCommandList1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoEncodeCommandList1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoEncodeCommandList1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoEncodeCommandList1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoEncodeCommandList1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoEncodeCommandList1_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoEncodeCommandList1_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoEncodeCommandList1_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoEncodeCommandList1_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoEncodeCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoEncodeCommandList1_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoEncodeCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoEncodeCommandList1_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoEncodeCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoEncodeCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoEncodeCommandList1_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoEncodeCommandList1_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoEncodeCommandList1_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoEncodeCommandList1_EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoEncodeCommandList1_ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoEncodeCommandList1_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-#define ID3D12VideoEncodeCommandList1_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-
-#define ID3D12VideoEncodeCommandList1_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \
- ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) )
-
-#define ID3D12VideoEncodeCommandList1_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoEncodeCommandList1_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12video_0000_0022 */
-/* [local] */
-
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG2, 0xee27417f, 0x5e28, 0x4e65, 0xbe, 0xea, 0x1d, 0x26, 0xb5, 0x08, 0xad, 0xc9);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG1_AND_MPEG2, 0x86695f12, 0x340e, 0x4f04, 0x9f, 0xd3, 0x92, 0x53, 0xdd, 0x32, 0x74, 0x60);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264, 0x1b81be68, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_STEREO_PROGRESSIVE, 0xd79be8da, 0x0cf1, 0x4c81, 0xb8, 0x2a, 0x69, 0xa4, 0xe2, 0x36, 0xf4, 0x3d);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_STEREO, 0xf9aaccbb, 0xc2b6, 0x4cfc, 0x87, 0x79, 0x57, 0x07, 0xb1, 0x76, 0x05, 0x52);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_MULTIVIEW, 0x705b9d82, 0x76cf, 0x49d6, 0xb7, 0xe6, 0xac, 0x88, 0x72, 0xdb, 0x01, 0x3c);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VC1, 0x1b81beA3, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VC1_D2010, 0x1b81beA4, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_SIMPLE, 0xefd64d74, 0xc9e8,0x41d7,0xa5,0xe9,0xe9,0xb0,0xe3,0x9f,0xa3,0x19);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_ADVSIMPLE_NOGMC, 0xed418a9f, 0x010d, 0x4eda, 0x9a, 0xe3, 0x9a, 0x65, 0x35, 0x8d, 0x8d, 0x2e);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN, 0x5b11d51b, 0x2f4c, 0x4452, 0xbc, 0xc3, 0x09, 0xf2, 0xa1, 0x16, 0x0c, 0xc0);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10, 0x107af0e0, 0xef1a, 0x4d19, 0xab, 0xa8, 0x67, 0xa1, 0x63, 0x07, 0x3d, 0x13);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MONOCHROME, 0x0685b993, 0x3d8c, 0x43a0, 0x8b, 0x28, 0xd7, 0x4c, 0x2d, 0x68, 0x99, 0xa4);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MONOCHROME10, 0x142a1d0f, 0x69dd, 0x4ec9, 0x85, 0x91, 0xb1, 0x2f, 0xfc, 0xb9, 0x1a, 0x29);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12, 0x1a72925f, 0x0c2c, 0x4f15, 0x96, 0xfb, 0xb1, 0x7d, 0x14, 0x73, 0x60, 0x3f);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_422, 0x0bac4fe5, 0x1532, 0x4429, 0xa8, 0x54, 0xf8, 0x4d, 0xe0, 0x49, 0x53, 0xdb);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12_422, 0x55bcac81, 0xf311, 0x4093, 0xa7, 0xd0, 0x1c, 0xbc, 0x0b, 0x84, 0x9b, 0xee);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN_444, 0x4008018f, 0xf537, 0x4b36, 0x98, 0xcf, 0x61, 0xaf, 0x8a, 0x2c, 0x1a, 0x33);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_EXT, 0x9cc55490, 0xe37c, 0x4932, 0x86, 0x84, 0x49, 0x20, 0xf9, 0xf6, 0x40, 0x9c);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_444, 0x0dabeffa, 0x4458, 0x4602, 0xbc, 0x03, 0x07, 0x95, 0x65, 0x9d, 0x61, 0x7c);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12_444, 0x9798634d, 0xfe9d, 0x48e5, 0xb4, 0xda, 0xdb, 0xec, 0x45, 0xb3, 0xdf, 0x01);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN16, 0xa4fbdbb0, 0xa113, 0x482b, 0xa2, 0x32, 0x63, 0x5c, 0xc0, 0x69, 0x7f, 0x6d);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP9, 0x463707f8, 0xa1d0, 0x4585, 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP9_10BIT_PROFILE2, 0xa4c749ef, 0x6ecf, 0x48aa, 0x84, 0x48, 0x50, 0xa7, 0xa1, 0x16, 0x5f, 0xf7);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP8, 0x90b899ea, 0x3a62, 0x4705, 0x88, 0xb3, 0x8d, 0xf0, 0x4b, 0x27, 0x44, 0xe7);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE0, 0xb8be4ccb, 0xcf53, 0x46ba, 0x8d, 0x59, 0xd6, 0xb8, 0xa6, 0xda, 0x5d, 0x2a);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE1, 0x6936ff0f, 0x45b1, 0x4163, 0x9c, 0xc1, 0x64, 0x6e, 0xf6, 0x94, 0x61, 0x08);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE2, 0x0c5f2aa1, 0xe541, 0x4089, 0xbb, 0x7b, 0x98, 0x11, 0x0a, 0x19, 0xd7, 0xc8);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2, 0x17127009, 0xa00f, 0x4ce1, 0x99, 0x4e, 0xbf, 0x40, 0x81, 0xf6, 0xf3, 0xf0);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2_420, 0x2d80bed6, 0x9cac, 0x4835, 0x9e, 0x91, 0x32, 0x7b, 0xbc, 0x4f, 0x9e, 0xe8);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_420, 0x725cb506, 0xc29, 0x43c4, 0x94, 0x40, 0x8e, 0x93, 0x97, 0x90, 0x3a, 0x4);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_422, 0x5b77b9cd, 0x1a35, 0x4c30, 0x9f, 0xd8, 0xef, 0x4b, 0x60, 0xc0, 0x35, 0xdd);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_444, 0xd95161f9, 0xd44, 0x47e6, 0xbc, 0xf5, 0x1b, 0xfb, 0xfb, 0x26, 0x8f, 0x97);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_4444, 0xc91748d5, 0xfd18, 0x4aca, 0x9d, 0xb3, 0x3a, 0x66, 0x34, 0xab, 0x54, 0x7d);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_420, 0xcf782c83, 0xbef5, 0x4a2c, 0x87, 0xcb, 0x60, 0x19, 0xe7, 0xb1, 0x75, 0xac);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_422, 0xf04df417, 0xeee2, 0x4067, 0xa7, 0x78, 0xf3, 0x5c, 0x15, 0xab, 0x97, 0x21);
-DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_444, 0x4cd00e17, 0x89ba, 0x48ef, 0xb9, 0xf9, 0xed, 0xcb, 0x82, 0x71, 0x3f, 0x65);
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_PROFILE
- {
- D3D12_VIDEO_ENCODER_AV1_PROFILE_MAIN = 0,
- D3D12_VIDEO_ENCODER_AV1_PROFILE_HIGH = 1,
- D3D12_VIDEO_ENCODER_AV1_PROFILE_PROFESSIONAL = 2
- } D3D12_VIDEO_ENCODER_AV1_PROFILE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_LEVELS
- {
- D3D12_VIDEO_ENCODER_AV1_LEVELS_2_0 = 0,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_2_1 = 1,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_2_2 = 2,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_2_3 = 3,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_3_0 = 4,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_3_1 = 5,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_3_2 = 6,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_3_3 = 7,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_4_0 = 8,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_4_1 = 9,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_4_2 = 10,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_4_3 = 11,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_5_0 = 12,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_5_1 = 13,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_5_2 = 14,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_5_3 = 15,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_6_0 = 16,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_6_1 = 17,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_6_2 = 18,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_6_3 = 19,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_7_0 = 20,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_7_1 = 21,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_7_2 = 22,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_7_3 = 23
- } D3D12_VIDEO_ENCODER_AV1_LEVELS;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_TIER
- {
- D3D12_VIDEO_ENCODER_AV1_TIER_MAIN = 0,
- D3D12_VIDEO_ENCODER_AV1_TIER_HIGH = 1
- } D3D12_VIDEO_ENCODER_AV1_TIER;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS
- {
- D3D12_VIDEO_ENCODER_AV1_LEVELS Level;
- D3D12_VIDEO_ENCODER_AV1_TIER Tier;
- } D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS
- {
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_128x128_SUPERBLOCK = 0x1,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FILTER_INTRA = 0x2,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_EDGE_FILTER = 0x4,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTERINTRA_COMPOUND = 0x8,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MASKED_COMPOUND = 0x10,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_WARPED_MOTION = 0x20,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DUAL_FILTER = 0x40,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_JNT_COMP = 0x80,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FORCED_INTEGER_MOTION_VECTORS = 0x100,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SUPER_RESOLUTION = 0x200,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_RESTORATION_FILTER = 0x400,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_PALETTE_ENCODING = 0x800,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CDEF_FILTERING = 0x1000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_BLOCK_COPY = 0x2000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x4000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ORDER_HINT_TOOLS = 0x8000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_AUTO_SEGMENTATION = 0x10000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CUSTOM_SEGMENTATION = 0x20000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_FILTER_DELTAS = 0x40000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_DELTAS = 0x80000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_MATRIX = 0x100000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_REDUCED_TX_SET = 0x200000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MOTION_MODE_SWITCHABLE = 0x400000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ALLOW_HIGH_PRECISION_MV = 0x800000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SKIP_MODE_PRESENT = 0x1000000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DELTA_LF_PARAMS = 0x2000000
- } D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS)
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_TX_MODE
- {
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4 = 0,
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST = 1,
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT = 2
- } D3D12_VIDEO_ENCODER_AV1_TX_MODE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS
- {
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_ONLY4x4 = ( 1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4 ) ,
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_LARGEST = ( 1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST ) ,
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_SELECT = ( 1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT )
- } D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS)
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS
- {
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP = 0,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH = 1,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP = 2,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR = 3,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE = 4
- } D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS
- {
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP = ( 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP ) ,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SMOOTH = ( 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH ) ,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SHARP = ( 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP ) ,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_BILINEAR = ( 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR ) ,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_SWITCHABLE = ( 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE )
- } D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS)
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE
- {
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_4x4 = 0,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_8x8 = 1,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_16x16 = 2,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_32x32 = 3,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_64x64 = 4
- } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE
- {
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED = 0,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q = 1,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V = 2,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H = 3,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U = 4,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V = 5,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME = 6,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP = 7,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV = 8
- } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS
- {
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_DISABLED = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED ) ,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_Q = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q ) ,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_V = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V ) ,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_H = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H ) ,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_U = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U ) ,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_V = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V ) ,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_REF_FRAME = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME ) ,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_SKIP = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP ) ,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_GLOBALMV = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV )
- } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS)
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE
- {
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_DISABLED = 0,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SWITCHABLE = 1,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_WIENER = 2,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SGRPROJ = 3
- } D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE
- {
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_DISABLED = 0,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_32x32 = 1,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_64x64 = 2,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_128x128 = 3,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_256x256 = 4
- } D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS
- {
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_NOT_SUPPORTED = 0,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_32x32 = 0x1,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_64x64 = 0x2,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_128x128 = 0x4,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_256x256 = 0x8
- } D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS)
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION
- {
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY = 0,
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION = 1,
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM = 2,
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE = 3
- } D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS
- {
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_IDENTITY = ( 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY ) ,
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_TRANSLATION = ( 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION ) ,
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_ROTZOOM = ( 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM ) ,
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_AFFINE = ( 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE )
- } D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS)
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS
- {
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION = 0x1,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION_DELTA = 0x2,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER = 0x4,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER_DELTA = 0x8,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CDEF_DATA = 0x10,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CONTEXT_UPDATE_TILE_ID = 0x20,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_COMPOUND_PREDICTION_MODE = 0x40,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_PRIMARY_REF_FRAME = 0x80,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_REFERENCE_INDICES = 0x100
- } D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT
- {
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS SupportedFeatureFlags;
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS RequiredFeatureFlags;
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS SupportedInterpolationFilters;
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS SupportedRestorationParams[ 3 ][ 3 ];
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS SupportedSegmentationModes;
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS SupportedTxModes[ 4 ];
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE SegmentationBlockSize;
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS PostEncodeValuesFlags;
- UINT MaxTemporalLayers;
- UINT MaxSpatialLayers;
- } D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE
- {
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME = 0,
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME = 1,
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME = 2,
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME = 3
- } D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS
- {
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_KEY_FRAME = ( 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME ) ,
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTER_FRAME = ( 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME ) ,
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTRA_ONLY_FRAME = ( 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME ) ,
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_SWITCH_FRAME = ( 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME )
- } D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS)
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE
- {
- D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_SINGLE_REFERENCE = 0,
- D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_COMPOUND_REFERENCE = 1
- } D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT
- {
- D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE PredictionMode;
- UINT MaxUniqueReferencesPerFrame;
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS SupportedFrameTypes;
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS SupportedReferenceWarpedMotionFlags;
- } D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION
- {
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS FeatureFlags;
- UINT OrderHintBitsMinus1;
- } D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE
- {
- UINT IntraDistance;
- UINT InterFramePeriod;
- } D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO
- {
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION TransformationType;
- INT TransformationMatrix[ 8 ];
- BOOL InvalidAffineSet;
- } D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR
- {
- UINT ReconstructedPictureResourceIndex;
- UINT TemporalLayerIndexPlus1;
- UINT SpatialLayerIndexPlus1;
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType;
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO WarpedMotionInfo;
- UINT OrderHint;
- UINT PictureIndex;
- } D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS
- {
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_ERROR_RESILIENT_MODE = 0x1,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_CDF_UPDATE = 0x2,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_PALETTE_ENCODING = 0x4,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_SKIP_MODE = 0x8,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x10,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FORCE_INTEGER_MOTION_VECTORS = 0x20,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_INTRA_BLOCK_COPY = 0x40,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_USE_SUPER_RESOLUTION = 0x80,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_FRAME_END_UPDATE_CDF = 0x100,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_AUTO = 0x200,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_CUSTOM = 0x400,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_WARPED_MOTION = 0x800,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_REDUCED_TX_SET = 0x1000,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_MOTION_MODE_SWITCHABLE = 0x2000,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_HIGH_PRECISION_MV = 0x4000
- } D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG
- {
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE FrameRestorationType[ 3 ];
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE LoopRestorationPixelSize[ 3 ];
- } D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA
- {
- UINT64 EnabledFeatures;
- INT64 FeatureValue[ 8 ];
- } D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG
- {
- UINT64 UpdateMap;
- UINT64 TemporalUpdate;
- UINT64 UpdateData;
- UINT64 NumSegments;
- D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA SegmentsData[ 8 ];
- } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP
- {
- UINT SegmentsMapByteSize;
- UINT8 *pSegmentsMap;
- } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG
- {
- UINT64 LoopFilterLevel[ 2 ];
- UINT64 LoopFilterLevelU;
- UINT64 LoopFilterLevelV;
- UINT64 LoopFilterSharpnessLevel;
- UINT64 LoopFilterDeltaEnabled;
- UINT64 UpdateRefDelta;
- INT64 RefDeltas[ 8 ];
- UINT64 UpdateModeDelta;
- INT64 ModeDeltas[ 2 ];
- } D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG
- {
- UINT64 DeltaLFPresent;
- UINT64 DeltaLFMulti;
- UINT64 DeltaLFRes;
- } D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG
- {
- UINT64 BaseQIndex;
- INT64 YDCDeltaQ;
- INT64 UDCDeltaQ;
- INT64 UACDeltaQ;
- INT64 VDCDeltaQ;
- INT64 VACDeltaQ;
- UINT64 UsingQMatrix;
- UINT64 QMY;
- UINT64 QMU;
- UINT64 QMV;
- } D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG
- {
- UINT64 DeltaQPresent;
- UINT64 DeltaQRes;
- } D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG
- {
- UINT64 CdefBits;
- UINT64 CdefDampingMinus3;
- UINT64 CdefYPriStrength[ 8 ];
- UINT64 CdefUVPriStrength[ 8 ];
- UINT64 CdefYSecStrength[ 8 ];
- UINT64 CdefUVSecStrength[ 8 ];
- } D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA
- {
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS Flags;
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType;
- D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE CompoundPredictionType;
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS InterpolationFilter;
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG FrameRestorationConfig;
- D3D12_VIDEO_ENCODER_AV1_TX_MODE TxMode;
- UINT SuperResDenominator;
- UINT OrderHint;
- UINT PictureIndex;
- UINT TemporalLayerIndexPlus1;
- UINT SpatialLayerIndexPlus1;
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR ReferenceFramesReconPictureDescriptors[ 8 ];
- UINT ReferenceIndices[ 7 ];
- UINT PrimaryRefFrame;
- UINT RefreshFrameFlags;
- D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter;
- D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta;
- D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization;
- D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta;
- D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF;
- UINT QPMapValuesCount;
- _Field_size_full_(QPMapValuesCount) INT16 *pRateControlQPMap;
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG CustomSegmentation;
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP CustomSegmentsMap;
- } D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES
- {
- UINT64 RowCount;
- UINT64 ColCount;
- UINT64 RowHeights[ 64 ];
- UINT64 ColWidths[ 64 ];
- UINT64 ContextUpdateTileId;
- } D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES
- {
- UINT64 CompoundPredictionType;
- D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter;
- D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta;
- D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization;
- D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta;
- D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF;
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG SegmentationConfig;
- UINT64 PrimaryRefFrame;
- UINT64 ReferenceIndices[ 7 ];
- } D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES;
-
-typedef
-enum D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE
- {
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP = 0,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP = 1,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CBR = 2,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_VBR = 3,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_QVBR = 4
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS
- {
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_DELTA_QP = 0x1,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_FRAME_ANALYSIS = 0x2,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QP_RANGE = 0x4,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_INITIAL_QP = 0x8,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_MAX_FRAME_SIZE = 0x10,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_VBV_SIZES = 0x20,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_EXTENSION1_SUPPORT = 0x40,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QUALITY_VS_SPEED = 0x80
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP
- {
- UINT ConstantQP_FullIntracodedFrame;
- UINT ConstantQP_InterPredictedFrame_PrevRefOnly;
- UINT ConstantQP_InterPredictedFrame_BiDirectionalRef;
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1
- {
- UINT ConstantQP_FullIntracodedFrame;
- UINT ConstantQP_InterPredictedFrame_PrevRefOnly;
- UINT ConstantQP_InterPredictedFrame_BiDirectionalRef;
- UINT QualityVsSpeed;
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR
- {
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetBitRate;
- UINT64 VBVCapacity;
- UINT64 InitialVBVFullness;
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1
- {
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetBitRate;
- UINT64 VBVCapacity;
- UINT64 InitialVBVFullness;
- UINT QualityVsSpeed;
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR
- {
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetAvgBitRate;
- UINT64 PeakBitRate;
- UINT64 VBVCapacity;
- UINT64 InitialVBVFullness;
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1
- {
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetAvgBitRate;
- UINT64 PeakBitRate;
- UINT64 VBVCapacity;
- UINT64 InitialVBVFullness;
- UINT QualityVsSpeed;
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR
- {
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetAvgBitRate;
- UINT64 PeakBitRate;
- UINT ConstantQualityTarget;
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1
- {
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetAvgBitRate;
- UINT64 PeakBitRate;
- UINT ConstantQualityTarget;
- UINT64 VBVCapacity;
- UINT64 InitialVBVFullness;
- UINT QualityVsSpeed;
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP
- {
- UINT QualityVsSpeed;
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS
- {
- UINT DataSize;
- union
- {
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP *pConfiguration_CQP;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR *pConfiguration_CBR;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR *pConfiguration_VBR;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR *pConfiguration_QVBR;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1 *pConfiguration_CQP1;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1 *pConfiguration_CBR1;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1 *pConfiguration_VBR1;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1 *pConfiguration_QVBR1;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP *pConfiguration_AbsoluteQPMap;
- } ;
- } D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL
- {
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE Mode;
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS Flags;
- D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS ConfigParams;
- DXGI_RATIONAL TargetFrameRate;
- } D3D12_VIDEO_ENCODER_RATE_CONTROL;
-
-typedef
-enum D3D12_VIDEO_ENCODER_CODEC
- {
- D3D12_VIDEO_ENCODER_CODEC_H264 = 0,
- D3D12_VIDEO_ENCODER_CODEC_HEVC = 1,
- D3D12_VIDEO_ENCODER_CODEC_AV1 = 2
- } D3D12_VIDEO_ENCODER_CODEC;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- BOOL IsSupported;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC;
-
-typedef
-enum D3D12_VIDEO_ENCODER_PROFILE_H264
- {
- D3D12_VIDEO_ENCODER_PROFILE_H264_MAIN = 0,
- D3D12_VIDEO_ENCODER_PROFILE_H264_HIGH = 1,
- D3D12_VIDEO_ENCODER_PROFILE_H264_HIGH_10 = 2
- } D3D12_VIDEO_ENCODER_PROFILE_H264;
-
-typedef
-enum D3D12_VIDEO_ENCODER_PROFILE_HEVC
- {
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN = 0,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10 = 1,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12 = 2,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10_422 = 3,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12_422 = 4,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN_444 = 5,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10_444 = 6,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12_444 = 7,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN16_444 = 8
- } D3D12_VIDEO_ENCODER_PROFILE_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_PROFILE_DESC
- {
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_PROFILE_H264 *pH264Profile;
- D3D12_VIDEO_ENCODER_PROFILE_HEVC *pHEVCProfile;
- D3D12_VIDEO_ENCODER_AV1_PROFILE *pAV1Profile;
- } ;
- } D3D12_VIDEO_ENCODER_PROFILE_DESC;
-
-typedef
-enum D3D12_VIDEO_ENCODER_LEVELS_H264
- {
- D3D12_VIDEO_ENCODER_LEVELS_H264_1 = 0,
- D3D12_VIDEO_ENCODER_LEVELS_H264_1b = 1,
- D3D12_VIDEO_ENCODER_LEVELS_H264_11 = 2,
- D3D12_VIDEO_ENCODER_LEVELS_H264_12 = 3,
- D3D12_VIDEO_ENCODER_LEVELS_H264_13 = 4,
- D3D12_VIDEO_ENCODER_LEVELS_H264_2 = 5,
- D3D12_VIDEO_ENCODER_LEVELS_H264_21 = 6,
- D3D12_VIDEO_ENCODER_LEVELS_H264_22 = 7,
- D3D12_VIDEO_ENCODER_LEVELS_H264_3 = 8,
- D3D12_VIDEO_ENCODER_LEVELS_H264_31 = 9,
- D3D12_VIDEO_ENCODER_LEVELS_H264_32 = 10,
- D3D12_VIDEO_ENCODER_LEVELS_H264_4 = 11,
- D3D12_VIDEO_ENCODER_LEVELS_H264_41 = 12,
- D3D12_VIDEO_ENCODER_LEVELS_H264_42 = 13,
- D3D12_VIDEO_ENCODER_LEVELS_H264_5 = 14,
- D3D12_VIDEO_ENCODER_LEVELS_H264_51 = 15,
- D3D12_VIDEO_ENCODER_LEVELS_H264_52 = 16,
- D3D12_VIDEO_ENCODER_LEVELS_H264_6 = 17,
- D3D12_VIDEO_ENCODER_LEVELS_H264_61 = 18,
- D3D12_VIDEO_ENCODER_LEVELS_H264_62 = 19
- } D3D12_VIDEO_ENCODER_LEVELS_H264;
-
-typedef
-enum D3D12_VIDEO_ENCODER_TIER_HEVC
- {
- D3D12_VIDEO_ENCODER_TIER_HEVC_MAIN = 0,
- D3D12_VIDEO_ENCODER_TIER_HEVC_HIGH = 1
- } D3D12_VIDEO_ENCODER_TIER_HEVC;
-
-typedef
-enum D3D12_VIDEO_ENCODER_LEVELS_HEVC
- {
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_1 = 0,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_2 = 1,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_21 = 2,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_3 = 3,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_31 = 4,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_4 = 5,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_41 = 6,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_5 = 7,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_51 = 8,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_52 = 9,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_6 = 10,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_61 = 11,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_62 = 12
- } D3D12_VIDEO_ENCODER_LEVELS_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC
- {
- D3D12_VIDEO_ENCODER_LEVELS_HEVC Level;
- D3D12_VIDEO_ENCODER_TIER_HEVC Tier;
- } D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_LEVEL_SETTING
- {
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_LEVELS_H264 *pH264LevelSetting;
- D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC *pHEVCLevelSetting;
- D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS *pAV1LevelSetting;
- } ;
- } D3D12_VIDEO_ENCODER_LEVEL_SETTING;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
- BOOL IsSupported;
- D3D12_VIDEO_ENCODER_LEVEL_SETTING MinSupportedLevel;
- D3D12_VIDEO_ENCODER_LEVEL_SETTING MaxSupportedLevel;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC
- {
- UINT Width;
- UINT Height;
- } D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC
- {
- UINT WidthRatio;
- UINT HeightRatio;
- } D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- UINT ResolutionRatiosCount;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- UINT ResolutionRatiosCount;
- BOOL IsSupported;
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC MinResolutionSupported;
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC MaxResolutionSupported;
- UINT ResolutionWidthMultipleRequirement;
- UINT ResolutionHeightMultipleRequirement;
- _Field_size_full_(ResolutionRatiosCount) D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC *pResolutionRatios;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
- DXGI_FORMAT Format;
- BOOL IsSupported;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE RateControlMode;
- BOOL IsSupported;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE
- {
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_NONE = 0,
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_ROW_BASED = 1
- } D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
- D3D12_VIDEO_ENCODER_LEVEL_SETTING Level;
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefreshMode;
- BOOL IsSupported;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE
- {
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_FULL_FRAME = 0,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_BYTES_PER_SUBREGION = 1,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_SQUARE_UNITS_PER_SUBREGION_ROW_UNALIGNED = 2,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_ROWS_PER_SUBREGION = 3,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME = 4,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_GRID_PARTITION = 5,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_CONFIGURABLE_GRID_PARTITION = 6
- } D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
- D3D12_VIDEO_ENCODER_LEVEL_SETTING Level;
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionMode;
- BOOL IsSupported;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS
- {
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_NOT_SPECIFIED = 0x1,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_CODEC_CONSTRAINT = 0x2,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_HARDWARE_CONSTRAINT = 0x4,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_ROWS_COUNT = 0x8,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_COLS_COUNT = 0x10,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_WIDTH = 0x20,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_AREA = 0x40,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_TOTAL_TILES = 0x80
- } D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT
- {
- BOOL Use128SuperBlocks;
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES TilesConfiguration;
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS ValidationFlags;
- UINT MinTileRows;
- UINT MaxTileRows;
- UINT MinTileCols;
- UINT MaxTileCols;
- UINT MinTileWidth;
- UINT MaxTileWidth;
- UINT MinTileArea;
- UINT MaxTileArea;
- UINT TileSizeBytesMinus1;
- } D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT;
-
-typedef struct D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT
- {
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT *pAV1Support;
- } ;
- } D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
- D3D12_VIDEO_ENCODER_LEVEL_SETTING Level;
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionMode;
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC FrameResolution;
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT CodecSupport;
- BOOL IsSupported;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG;
-
-typedef
-enum D3D12_VIDEO_ENCODER_HEAP_FLAGS
- {
- D3D12_VIDEO_ENCODER_HEAP_FLAG_NONE = 0
- } D3D12_VIDEO_ENCODER_HEAP_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_HEAP_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_HEAP_DESC
- {
- UINT NodeMask;
- D3D12_VIDEO_ENCODER_HEAP_FLAGS Flags;
- D3D12_VIDEO_ENCODER_CODEC EncodeCodec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile;
- D3D12_VIDEO_ENCODER_LEVEL_SETTING EncodeLevel;
- UINT ResolutionsListCount;
- _Field_size_full_(ResolutionsListCount) const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList;
- } D3D12_VIDEO_ENCODER_HEAP_DESC;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE
- {
- D3D12_VIDEO_ENCODER_HEAP_DESC HeapDesc;
- BOOL IsSupported;
- UINT64 MemoryPoolL0Size;
- UINT64 MemoryPoolL1Size;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CABAC_ENCODING_SUPPORT = 0x1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = 0x2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x4,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_ADAPTIVE_8x8_TRANSFORM_ENCODING_SUPPORT = 0x8,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_SPATIAL_ENCODING_SUPPORT = 0x10,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_TEMPORAL_ENCODING_SUPPORT = 0x20,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = 0x40,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE_SUPPORT = 0x80
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS)
-typedef
-enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_1_DISABLE_ALL_SLICE_BLOCK_EDGES = 1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_2_DISABLE_SLICE_BOUNDARIES_BLOCKS = 2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_3_USE_TWO_STAGE_DEBLOCKING = 3,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_4_DISABLE_CHROMA_BLOCK_EDGES = 4,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES = 5,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = 6
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES;
-
-typedef
-enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED ) ,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_1_DISABLE_ALL_SLICE_BLOCK_EDGES = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_1_DISABLE_ALL_SLICE_BLOCK_EDGES ) ,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_2_DISABLE_SLICE_BOUNDARIES_BLOCKS = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_2_DISABLE_SLICE_BOUNDARIES_BLOCKS ) ,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_3_USE_TWO_STAGE_DEBLOCKING = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_3_USE_TWO_STAGE_DEBLOCKING ) ,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_4_DISABLE_CHROMA_BLOCK_EDGES = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_4_DISABLE_CHROMA_BLOCK_EDGES ) ,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES ) ,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING )
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS SupportFlags;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS DisableDeblockingFilterSupportedModes;
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264;
-
-typedef
-enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = 0x2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = 0x4,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_SAO_FILTER_SUPPORT = 0x8,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_SUPPORT = 0x10,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_REQUIRED = 0x20,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_SUPPORT = 0x40,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_DISABLING_LOOP_FILTER_ACROSS_SLICES_SUPPORT = 0x80,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_P_FRAMES_IMPLEMENTED_AS_LOW_DELAY_B_FRAMES = 0x100,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE_SUPPORT = 0x200,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_ROTATION_ENABLED_SUPPORT = 0x400,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_ROTATION_ENABLED_REQUIRED = 0x800,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT_ENABLED_SUPPORT = 0x1000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT_ENABLED_REQUIRED = 0x2000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_IMPLICIT_RDPCM_ENABLED_SUPPORT = 0x4000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_IMPLICIT_RDPCM_ENABLED_REQUIRED = 0x8000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXPLICIT_RDPCM_ENABLED_SUPPORT = 0x10000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXPLICIT_RDPCM_ENABLED_REQUIRED = 0x20000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING_SUPPORT = 0x40000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING_REQUIRED = 0x80000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SMOOTHING_DISABLED_SUPPORT = 0x100000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SMOOTHING_DISABLED_REQUIRED = 0x200000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_HIGH_PRECISION_OFFSETS_ENABLED_SUPPORT = 0x400000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_HIGH_PRECISION_OFFSETS_ENABLED_REQUIRED = 0x800000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION_ENABLED_SUPPORT = 0x1000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION_ENABLED_REQUIRED = 0x2000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT_ENABLED_SUPPORT = 0x4000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT_ENABLED_REQUIRED = 0x8000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CROSS_COMPONENT_PREDICTION_ENABLED_FLAG_SUPPORT = 0x10000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CROSS_COMPONENT_PREDICTION_ENABLED_FLAG_REQUIRED = 0x20000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CHROMA_QP_OFFSET_LIST_ENABLED_FLAG_SUPPORT = 0x40000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CHROMA_QP_OFFSET_LIST_ENABLED_FLAG_REQUIRED = 0x80000000
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS)
-typedef
-enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_8x8 = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_16x16 = 1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_32x32 = 2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_64x64 = 3
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE;
-
-typedef
-enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_4x4 = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_8x8 = 1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_16x16 = 2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_32x32 = 3
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize;
- UCHAR max_transform_hierarchy_depth_inter;
- UCHAR max_transform_hierarchy_depth_intra;
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC;
-
-typedef
-enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_NONE = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_SUPPORT = 0x1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_REQUIRED = 0x2
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1)
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize;
- UCHAR max_transform_hierarchy_depth_inter;
- UCHAR max_transform_hierarchy_depth_intra;
- UINT allowed_diff_cu_chroma_qp_offset_depth_values;
- UINT allowed_log2_sao_offset_scale_luma_values;
- UINT allowed_log2_sao_offset_scale_chroma_values;
- UINT allowed_log2_max_transform_skip_block_size_minus2_values;
- UINT allowed_chroma_qp_offset_list_len_minus1_values;
- UINT allowed_cb_qp_offset_list_values[ 6 ];
- UINT allowed_cr_qp_offset_list_values[ 6 ];
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1 SupportFlags1;
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT
- {
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264 *pH264Support;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC *pHEVCSupport;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1 *pHEVCSupport1;
- D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT *pAV1Support;
- } ;
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
- BOOL IsSupported;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT CodecSupportLimits;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264
- {
- UINT MaxL0ReferencesForP;
- UINT MaxL0ReferencesForB;
- UINT MaxL1ReferencesForB;
- UINT MaxLongTermReferences;
- UINT MaxDPBCapacity;
- } D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC
- {
- UINT MaxL0ReferencesForP;
- UINT MaxL0ReferencesForB;
- UINT MaxL1ReferencesForB;
- UINT MaxLongTermReferences;
- UINT MaxDPBCapacity;
- } D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT
- {
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264 *pH264Support;
- D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC *pHEVCSupport;
- D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT *pAV1Support;
- } ;
- } D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
- BOOL IsSupported;
- D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT PictureSupport;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT;
-
-typedef
-enum D3D12_VIDEO_ENCODER_SUPPORT_FLAGS
- {
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK = 0x1,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_RECONFIGURATION_AVAILABLE = 0x2,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RESOLUTION_RECONFIGURATION_AVAILABLE = 0x4,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_VBV_SIZE_CONFIG_AVAILABLE = 0x8,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_FRAME_ANALYSIS_AVAILABLE = 0x10,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYS = 0x20,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_DELTA_QP_AVAILABLE = 0x40,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_LAYOUT_RECONFIGURATION_AVAILABLE = 0x80,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_ADJUSTABLE_QP_RANGE_AVAILABLE = 0x100,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_INITIAL_QP_AVAILABLE = 0x200,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_MAX_FRAME_SIZE_AVAILABLE = 0x400,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SEQUENCE_GOP_RECONFIGURATION_AVAILABLE = 0x800,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_MOTION_ESTIMATION_PRECISION_MODE_LIMIT_AVAILABLE = 0x1000,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_EXTENSION1_SUPPORT = 0x2000,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_QUALITY_VS_SPEED_AVAILABLE = 0x4000,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_READABLE_RECONSTRUCTED_PICTURE_LAYOUT_AVAILABLE = 0x8000
- } D3D12_VIDEO_ENCODER_SUPPORT_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_SUPPORT_FLAGS)
-typedef
-enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_USE_CONSTRAINED_INTRAPREDICTION = 0x1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_USE_ADAPTIVE_8x8_TRANSFORM = 0x2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_ENABLE_CABAC_ENCODING = 0x4,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_ALLOW_REQUEST_INTRA_CONSTRAINED_SLICES = 0x8
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS)
-typedef
-enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_DISABLED = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_TEMPORAL = 1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_SPATIAL = 2
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS ConfigurationFlags;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES DirectModeConfig;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES DisableDeblockingFilterConfig;
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264;
-
-typedef
-enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_DISABLE_LOOP_FILTER_ACROSS_SLICES = 0x1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ALLOW_REQUEST_INTRA_CONSTRAINED_SLICES = 0x2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_SAO_FILTER = 0x4,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_LONG_TERM_REFERENCES = 0x8,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_ASYMETRIC_MOTION_PARTITION = 0x10,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_TRANSFORM_SKIPPING = 0x20,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_CONSTRAINED_INTRAPREDICTION = 0x40,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_TRANSFORM_SKIP_ROTATION = 0x80,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT = 0x100,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_IMPLICIT_RDPCM = 0x200,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_EXPLICIT_RDPCM = 0x400,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING = 0x800,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_INTRA_SMOOTHING_DISABLED = 0x1000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_HIGH_PRECISION_OFFSETS = 0x2000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION = 0x4000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT = 0x8000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_SEPARATE_COLOUR_PLANE = 0x10000
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS ConfigurationFlags;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize;
- UCHAR max_transform_hierarchy_depth_inter;
- UCHAR max_transform_hierarchy_depth_intra;
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION
- {
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264 *pH264Config;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC *pHEVCConfig;
- D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION *pAV1Config;
- } ;
- } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION;
-
-typedef struct D3D12_VIDEO_ENCODER_INTRA_REFRESH
- {
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE Mode;
- UINT IntraRefreshDuration;
- } D3D12_VIDEO_ENCODER_INTRA_REFRESH;
-
-typedef
-enum D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE
- {
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_MAXIMUM = 0,
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_FULL_PIXEL = 1,
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_HALF_PIXEL = 2,
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_QUARTER_PIXEL = 3,
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_EIGHTH_PIXEL = 4
- } D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS
- {
- UINT MaxSubregionsNumber;
- UINT MaxIntraRefreshFrameDuration;
- UINT SubregionBlockPixelsSize;
- UINT QPMapRegionPixelsSize;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS;
-
-typedef
-enum D3D12_VIDEO_ENCODER_VALIDATION_FLAGS
- {
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_CODEC_NOT_SUPPORTED = 0x1,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_INPUT_FORMAT_NOT_SUPPORTED = 0x8,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_CODEC_CONFIGURATION_NOT_SUPPORTED = 0x10,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RATE_CONTROL_MODE_NOT_SUPPORTED = 0x20,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RATE_CONTROL_CONFIGURATION_NOT_SUPPORTED = 0x40,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_INTRA_REFRESH_MODE_NOT_SUPPORTED = 0x80,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_SUBREGION_LAYOUT_MODE_NOT_SUPPORTED = 0x100,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RESOLUTION_NOT_SUPPORTED_IN_LIST = 0x200,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_GOP_STRUCTURE_NOT_SUPPORTED = 0x800,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_SUBREGION_LAYOUT_DATA_NOT_SUPPORTED = 0x1000
- } D3D12_VIDEO_ENCODER_VALIDATION_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_VALIDATION_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264
- {
- UINT GOPLength;
- UINT PPicturePeriod;
- UCHAR pic_order_cnt_type;
- UCHAR log2_max_frame_num_minus4;
- UCHAR log2_max_pic_order_cnt_lsb_minus4;
- } D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264;
-
-typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC
- {
- UINT GOPLength;
- UINT PPicturePeriod;
- UCHAR log2_max_pic_order_cnt_lsb_minus4;
- } D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE
- {
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264 *pH264GroupOfPictures;
- D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC *pHEVCGroupOfPictures;
- D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE *pAV1SequenceStructure;
- } ;
- } D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration;
- D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence;
- D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl;
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh;
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding;
- UINT ResolutionsListCount;
- const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList;
- UINT MaxReferenceFramesInDPB;
- D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags;
- D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags;
- D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile;
- D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel;
- _Field_size_full_(ResolutionsListCount) D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS *pResolutionDependentSupport;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES
- {
- union
- {
- UINT MaxBytesPerSlice;
- UINT NumberOfCodingUnitsPerSlice;
- UINT NumberOfRowsPerSlice;
- UINT NumberOfSlicesPerFrame;
- } ;
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA
- {
- UINT DataSize;
- union
- {
- const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES *pSlicesPartition_H264;
- const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES *pSlicesPartition_HEVC;
- const D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES *pTilesPartition_AV1;
- } ;
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration;
- D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence;
- D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl;
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh;
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding;
- UINT ResolutionsListCount;
- const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList;
- UINT MaxReferenceFramesInDPB;
- D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags;
- D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags;
- D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile;
- D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel;
- _Field_size_full_(ResolutionsListCount) D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS *pResolutionDependentSupport;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData;
- UINT MaxQualityVsSpeed;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS
- {
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution;
- BOOL IsSupported;
- UINT CompressedBitstreamBufferAccessAlignment;
- UINT EncoderMetadataBufferAccessAlignment;
- UINT MaxEncoderOutputMetadataBufferSize;
- } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS;
-
-typedef
-enum D3D12_VIDEO_ENCODER_FLAGS
- {
- D3D12_VIDEO_ENCODER_FLAG_NONE = 0
- } D3D12_VIDEO_ENCODER_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_DESC
- {
- UINT NodeMask;
- D3D12_VIDEO_ENCODER_FLAGS Flags;
- D3D12_VIDEO_ENCODER_CODEC EncodeCodec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration;
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE MaxMotionEstimationPrecision;
- } D3D12_VIDEO_ENCODER_DESC;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0022_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0022_v0_0_s_ifspec;
-
-#ifndef __ID3D12VideoEncoder_INTERFACE_DEFINED__
-#define __ID3D12VideoEncoder_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoEncoder */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoEncoder;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("2E0D212D-8DF9-44A6-A770-BB289B182737")
- ID3D12VideoEncoder : public ID3D12Pageable
- {
- public:
- virtual UINT STDMETHODCALLTYPE GetNodeMask( void) = 0;
-
- virtual D3D12_VIDEO_ENCODER_FLAGS STDMETHODCALLTYPE GetEncoderFlags( void) = 0;
-
- virtual D3D12_VIDEO_ENCODER_CODEC STDMETHODCALLTYPE GetCodec( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCodecProfile(
- _Inout_ D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCodecConfiguration(
- _Inout_ D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION dstCodecConfig) = 0;
-
- virtual DXGI_FORMAT STDMETHODCALLTYPE GetInputFormat( void) = 0;
-
- virtual D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE STDMETHODCALLTYPE GetMaxMotionEstimationPrecision( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoEncoderVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoEncoder * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoEncoder * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoEncoder * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoEncoder * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoEncoder * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoEncoder * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoEncoder * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoEncoder * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetNodeMask)
- UINT ( STDMETHODCALLTYPE *GetNodeMask )(
- ID3D12VideoEncoder * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetEncoderFlags)
- D3D12_VIDEO_ENCODER_FLAGS ( STDMETHODCALLTYPE *GetEncoderFlags )(
- ID3D12VideoEncoder * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetCodec)
- D3D12_VIDEO_ENCODER_CODEC ( STDMETHODCALLTYPE *GetCodec )(
- ID3D12VideoEncoder * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetCodecProfile)
- HRESULT ( STDMETHODCALLTYPE *GetCodecProfile )(
- ID3D12VideoEncoder * This,
- _Inout_ D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetCodecConfiguration)
- HRESULT ( STDMETHODCALLTYPE *GetCodecConfiguration )(
- ID3D12VideoEncoder * This,
- _Inout_ D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION dstCodecConfig);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetInputFormat)
- DXGI_FORMAT ( STDMETHODCALLTYPE *GetInputFormat )(
- ID3D12VideoEncoder * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetMaxMotionEstimationPrecision)
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE ( STDMETHODCALLTYPE *GetMaxMotionEstimationPrecision )(
- ID3D12VideoEncoder * This);
-
- END_INTERFACE
- } ID3D12VideoEncoderVtbl;
-
- interface ID3D12VideoEncoder
- {
- CONST_VTBL struct ID3D12VideoEncoderVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoEncoder_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoEncoder_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoEncoder_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoEncoder_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoEncoder_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoEncoder_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoEncoder_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoEncoder_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12VideoEncoder_GetNodeMask(This) \
- ( (This)->lpVtbl -> GetNodeMask(This) )
-
-#define ID3D12VideoEncoder_GetEncoderFlags(This) \
- ( (This)->lpVtbl -> GetEncoderFlags(This) )
-
-#define ID3D12VideoEncoder_GetCodec(This) \
- ( (This)->lpVtbl -> GetCodec(This) )
-
-#define ID3D12VideoEncoder_GetCodecProfile(This,dstProfile) \
- ( (This)->lpVtbl -> GetCodecProfile(This,dstProfile) )
-
-#define ID3D12VideoEncoder_GetCodecConfiguration(This,dstCodecConfig) \
- ( (This)->lpVtbl -> GetCodecConfiguration(This,dstCodecConfig) )
-
-#define ID3D12VideoEncoder_GetInputFormat(This) \
- ( (This)->lpVtbl -> GetInputFormat(This) )
-
-#define ID3D12VideoEncoder_GetMaxMotionEstimationPrecision(This) \
- ( (This)->lpVtbl -> GetMaxMotionEstimationPrecision(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoEncoder_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoEncoderHeap_INTERFACE_DEFINED__
-#define __ID3D12VideoEncoderHeap_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoEncoderHeap */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoEncoderHeap;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("22B35D96-876A-44C0-B25E-FB8C9C7F1C4A")
- ID3D12VideoEncoderHeap : public ID3D12Pageable
- {
- public:
- virtual UINT STDMETHODCALLTYPE GetNodeMask( void) = 0;
-
- virtual D3D12_VIDEO_ENCODER_HEAP_FLAGS STDMETHODCALLTYPE GetEncoderHeapFlags( void) = 0;
-
- virtual D3D12_VIDEO_ENCODER_CODEC STDMETHODCALLTYPE GetCodec( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCodecProfile(
- _Inout_ D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCodecLevel(
- _Inout_ D3D12_VIDEO_ENCODER_LEVEL_SETTING dstLevel) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetResolutionListCount( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetResolutionList(
- const UINT ResolutionsListCount,
- _Out_writes_(ResolutionsListCount) D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoEncoderHeapVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoEncoderHeap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoEncoderHeap * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoEncoderHeap * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoEncoderHeap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoEncoderHeap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoEncoderHeap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoEncoderHeap * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoEncoderHeap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetNodeMask)
- UINT ( STDMETHODCALLTYPE *GetNodeMask )(
- ID3D12VideoEncoderHeap * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetEncoderHeapFlags)
- D3D12_VIDEO_ENCODER_HEAP_FLAGS ( STDMETHODCALLTYPE *GetEncoderHeapFlags )(
- ID3D12VideoEncoderHeap * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetCodec)
- D3D12_VIDEO_ENCODER_CODEC ( STDMETHODCALLTYPE *GetCodec )(
- ID3D12VideoEncoderHeap * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetCodecProfile)
- HRESULT ( STDMETHODCALLTYPE *GetCodecProfile )(
- ID3D12VideoEncoderHeap * This,
- _Inout_ D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetCodecLevel)
- HRESULT ( STDMETHODCALLTYPE *GetCodecLevel )(
- ID3D12VideoEncoderHeap * This,
- _Inout_ D3D12_VIDEO_ENCODER_LEVEL_SETTING dstLevel);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetResolutionListCount)
- UINT ( STDMETHODCALLTYPE *GetResolutionListCount )(
- ID3D12VideoEncoderHeap * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetResolutionList)
- HRESULT ( STDMETHODCALLTYPE *GetResolutionList )(
- ID3D12VideoEncoderHeap * This,
- const UINT ResolutionsListCount,
- _Out_writes_(ResolutionsListCount) D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList);
-
- END_INTERFACE
- } ID3D12VideoEncoderHeapVtbl;
-
- interface ID3D12VideoEncoderHeap
- {
- CONST_VTBL struct ID3D12VideoEncoderHeapVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoEncoderHeap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoEncoderHeap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoEncoderHeap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoEncoderHeap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoEncoderHeap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoEncoderHeap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoEncoderHeap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoEncoderHeap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-
-#define ID3D12VideoEncoderHeap_GetNodeMask(This) \
- ( (This)->lpVtbl -> GetNodeMask(This) )
-
-#define ID3D12VideoEncoderHeap_GetEncoderHeapFlags(This) \
- ( (This)->lpVtbl -> GetEncoderHeapFlags(This) )
-
-#define ID3D12VideoEncoderHeap_GetCodec(This) \
- ( (This)->lpVtbl -> GetCodec(This) )
-
-#define ID3D12VideoEncoderHeap_GetCodecProfile(This,dstProfile) \
- ( (This)->lpVtbl -> GetCodecProfile(This,dstProfile) )
-
-#define ID3D12VideoEncoderHeap_GetCodecLevel(This,dstLevel) \
- ( (This)->lpVtbl -> GetCodecLevel(This,dstLevel) )
-
-#define ID3D12VideoEncoderHeap_GetResolutionListCount(This) \
- ( (This)->lpVtbl -> GetResolutionListCount(This) )
-
-#define ID3D12VideoEncoderHeap_GetResolutionList(This,ResolutionsListCount,pResolutionList) \
- ( (This)->lpVtbl -> GetResolutionList(This,ResolutionsListCount,pResolutionList) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoEncoderHeap_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoDevice3_INTERFACE_DEFINED__
-#define __ID3D12VideoDevice3_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoDevice3 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoDevice3;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("4243ADB4-3A32-4666-973C-0CCC5625DC44")
- ID3D12VideoDevice3 : public ID3D12VideoDevice2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateVideoEncoder(
- _In_ const D3D12_VIDEO_ENCODER_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoEncoder) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVideoEncoderHeap(
- _In_ const D3D12_VIDEO_ENCODER_HEAP_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoEncoderHeap) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoDevice3Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoDevice3 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoDevice3 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoDevice3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12VideoDevice3 * This,
- D3D12_FEATURE_VIDEO FeatureVideo,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoder)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder )(
- ID3D12VideoDevice3 * This,
- _In_ const D3D12_VIDEO_DECODER_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoder);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoderHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap )(
- ID3D12VideoDevice3 * This,
- _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoderHeap);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoProcessor)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor )(
- ID3D12VideoDevice3 * This,
- UINT NodeMask,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc,
- UINT NumInputStreamDescs,
- _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoProcessor);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionEstimator)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionEstimator )(
- ID3D12VideoDevice3 * This,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoMotionEstimator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionVectorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionVectorHeap )(
- ID3D12VideoDevice3 * This,
- _In_ const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoMotionVectorHeap);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoDecoder1)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder1 )(
- ID3D12VideoDevice3 * This,
- _In_ const D3D12_VIDEO_DECODER_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoder);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoDecoderHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap1 )(
- ID3D12VideoDevice3 * This,
- _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoDecoderHeap);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoProcessor1)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor1 )(
- ID3D12VideoDevice3 * This,
- UINT NodeMask,
- _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc,
- UINT NumInputStreamDescs,
- _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoProcessor);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoExtensionCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoExtensionCommand )(
- ID3D12VideoDevice3 * This,
- _In_ const D3D12_VIDEO_EXTENSION_COMMAND_DESC *pDesc,
- _In_reads_bytes_(CreationParametersDataSizeInBytes) const void *pCreationParameters,
- SIZE_T CreationParametersDataSizeInBytes,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoExtensionCommand);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice2, ExecuteExtensionCommand)
- HRESULT ( STDMETHODCALLTYPE *ExecuteExtensionCommand )(
- ID3D12VideoDevice3 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes,
- _Out_writes_bytes_(OutputDataSizeInBytes) void *pOutputData,
- SIZE_T OutputDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice3, CreateVideoEncoder)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoEncoder )(
- ID3D12VideoDevice3 * This,
- _In_ const D3D12_VIDEO_ENCODER_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoEncoder);
-
- DECLSPEC_XFGVIRT(ID3D12VideoDevice3, CreateVideoEncoderHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateVideoEncoderHeap )(
- ID3D12VideoDevice3 * This,
- _In_ const D3D12_VIDEO_ENCODER_HEAP_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppVideoEncoderHeap);
-
- END_INTERFACE
- } ID3D12VideoDevice3Vtbl;
-
- interface ID3D12VideoDevice3
- {
- CONST_VTBL struct ID3D12VideoDevice3Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoDevice3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoDevice3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoDevice3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoDevice3_CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) )
-
-#define ID3D12VideoDevice3_CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) \
- ( (This)->lpVtbl -> CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) )
-
-#define ID3D12VideoDevice3_CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) \
- ( (This)->lpVtbl -> CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) )
-
-#define ID3D12VideoDevice3_CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) \
- ( (This)->lpVtbl -> CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) )
-
-
-#define ID3D12VideoDevice3_CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) \
- ( (This)->lpVtbl -> CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) )
-
-#define ID3D12VideoDevice3_CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) \
- ( (This)->lpVtbl -> CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) )
-
-
-#define ID3D12VideoDevice3_CreateVideoDecoder1(This,pDesc,pProtectedResourceSession,riid,ppVideoDecoder) \
- ( (This)->lpVtbl -> CreateVideoDecoder1(This,pDesc,pProtectedResourceSession,riid,ppVideoDecoder) )
-
-#define ID3D12VideoDevice3_CreateVideoDecoderHeap1(This,pVideoDecoderHeapDesc,pProtectedResourceSession,riid,ppVideoDecoderHeap) \
- ( (This)->lpVtbl -> CreateVideoDecoderHeap1(This,pVideoDecoderHeapDesc,pProtectedResourceSession,riid,ppVideoDecoderHeap) )
-
-#define ID3D12VideoDevice3_CreateVideoProcessor1(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,pProtectedResourceSession,riid,ppVideoProcessor) \
- ( (This)->lpVtbl -> CreateVideoProcessor1(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,pProtectedResourceSession,riid,ppVideoProcessor) )
-
-#define ID3D12VideoDevice3_CreateVideoExtensionCommand(This,pDesc,pCreationParameters,CreationParametersDataSizeInBytes,pProtectedResourceSession,riid,ppVideoExtensionCommand) \
- ( (This)->lpVtbl -> CreateVideoExtensionCommand(This,pDesc,pCreationParameters,CreationParametersDataSizeInBytes,pProtectedResourceSession,riid,ppVideoExtensionCommand) )
-
-#define ID3D12VideoDevice3_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes,pOutputData,OutputDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes,pOutputData,OutputDataSizeInBytes) )
-
-
-#define ID3D12VideoDevice3_CreateVideoEncoder(This,pDesc,riid,ppVideoEncoder) \
- ( (This)->lpVtbl -> CreateVideoEncoder(This,pDesc,riid,ppVideoEncoder) )
-
-#define ID3D12VideoDevice3_CreateVideoEncoderHeap(This,pDesc,riid,ppVideoEncoderHeap) \
- ( (This)->lpVtbl -> CreateVideoEncoderHeap(This,pDesc,riid,ppVideoEncoderHeap) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoDevice3_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12video_0000_0025 */
-/* [local] */
-
-typedef
-enum D3D12_VIDEO_ENCODER_FRAME_TYPE_H264
- {
- D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_I_FRAME = 0,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_P_FRAME = 1,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_B_FRAME = 2,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_IDR_FRAME = 3
- } D3D12_VIDEO_ENCODER_FRAME_TYPE_H264;
-
-typedef struct D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264
- {
- UINT ReconstructedPictureResourceIndex;
- BOOL IsLongTermReference;
- UINT LongTermPictureIdx;
- UINT PictureOrderCountNumber;
- UINT FrameDecodingOrderNumber;
- UINT TemporalLayerIndex;
- } D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264;
-
-typedef
-enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS
- {
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_REQUEST_INTRA_CONSTRAINED_SLICES = 0x1,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_REQUEST_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE = 0x2
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION
- {
- UCHAR memory_management_control_operation;
- UINT difference_of_pic_nums_minus1;
- UINT long_term_pic_num;
- UINT long_term_frame_idx;
- UINT max_long_term_frame_idx_plus1;
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION
- {
- UCHAR modification_of_pic_nums_idc;
- UINT abs_diff_pic_num_minus1;
- UINT long_term_pic_num;
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264
- {
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS Flags;
- D3D12_VIDEO_ENCODER_FRAME_TYPE_H264 FrameType;
- UINT pic_parameter_set_id;
- UINT idr_pic_id;
- UINT PictureOrderCountNumber;
- UINT FrameDecodingOrderNumber;
- UINT TemporalLayerIndex;
- UINT List0ReferenceFramesCount;
- _Field_size_full_(List0ReferenceFramesCount) UINT *pList0ReferenceFrames;
- UINT List1ReferenceFramesCount;
- _Field_size_full_(List1ReferenceFramesCount) UINT *pList1ReferenceFrames;
- UINT ReferenceFramesReconPictureDescriptorsCount;
- _Field_size_full_(ReferenceFramesReconPictureDescriptorsCount) D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264 *pReferenceFramesReconPictureDescriptors;
- UCHAR adaptive_ref_pic_marking_mode_flag;
- UINT RefPicMarkingOperationsCommandsCount;
- _Field_size_full_(RefPicMarkingOperationsCommandsCount) D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION *pRefPicMarkingOperationsCommands;
- UINT List0RefPicModificationsCount;
- _Field_size_full_(List0RefPicModificationsCount) D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION *pList0RefPicModifications;
- UINT List1RefPicModificationsCount;
- _Field_size_full_(List1RefPicModificationsCount) D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION *pList1RefPicModifications;
- UINT QPMapValuesCount;
- _Field_size_full_(QPMapValuesCount) INT8 *pRateControlQPMap;
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264;
-
-typedef
-enum D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC
- {
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_I_FRAME = 0,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_P_FRAME = 1,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_B_FRAME = 2,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_IDR_FRAME = 3
- } D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC
- {
- UINT ReconstructedPictureResourceIndex;
- BOOL IsRefUsedByCurrentPic;
- BOOL IsLongTermReference;
- UINT PictureOrderCountNumber;
- UINT TemporalLayerIndex;
- } D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC;
-
-typedef
-enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS
- {
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_REQUEST_INTRA_CONSTRAINED_SLICES = 0x1,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_REQUEST_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE = 0x2,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_CROSS_COMPONENT_PREDICTION = 0x4,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_CHROMA_QP_OFFSET_LIST = 0x8
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC
- {
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags;
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType;
- UINT slice_pic_parameter_set_id;
- UINT PictureOrderCountNumber;
- UINT TemporalLayerIndex;
- UINT List0ReferenceFramesCount;
- _Field_size_full_(List0ReferenceFramesCount) UINT *pList0ReferenceFrames;
- UINT List1ReferenceFramesCount;
- _Field_size_full_(List1ReferenceFramesCount) UINT *pList1ReferenceFrames;
- UINT ReferenceFramesReconPictureDescriptorsCount;
- _Field_size_full_(ReferenceFramesReconPictureDescriptorsCount) D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC *pReferenceFramesReconPictureDescriptors;
- UINT List0RefPicModificationsCount;
- _Field_size_full_(List0RefPicModificationsCount) UINT *pList0RefPicModifications;
- UINT List1RefPicModificationsCount;
- _Field_size_full_(List1RefPicModificationsCount) UINT *pList1RefPicModifications;
- UINT QPMapValuesCount;
- _Field_size_full_(QPMapValuesCount) INT8 *pRateControlQPMap;
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1
- {
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags;
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType;
- UINT slice_pic_parameter_set_id;
- UINT PictureOrderCountNumber;
- UINT TemporalLayerIndex;
- UINT List0ReferenceFramesCount;
- _Field_size_full_(List0ReferenceFramesCount) UINT *pList0ReferenceFrames;
- UINT List1ReferenceFramesCount;
- _Field_size_full_(List1ReferenceFramesCount) UINT *pList1ReferenceFrames;
- UINT ReferenceFramesReconPictureDescriptorsCount;
- _Field_size_full_(ReferenceFramesReconPictureDescriptorsCount) D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC *pReferenceFramesReconPictureDescriptors;
- UINT List0RefPicModificationsCount;
- _Field_size_full_(List0RefPicModificationsCount) UINT *pList0RefPicModifications;
- UINT List1RefPicModificationsCount;
- _Field_size_full_(List1RefPicModificationsCount) UINT *pList1RefPicModifications;
- UINT QPMapValuesCount;
- _Field_size_full_(QPMapValuesCount) INT8 *pRateControlQPMap;
- UCHAR diff_cu_chroma_qp_offset_depth;
- UCHAR log2_sao_offset_scale_luma;
- UCHAR log2_sao_offset_scale_chroma;
- UCHAR log2_max_transform_skip_block_size_minus2;
- UCHAR chroma_qp_offset_list_len_minus1;
- CHAR cb_qp_offset_list[ 6 ];
- CHAR cr_qp_offset_list[ 6 ];
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA
- {
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264 *pH264PicData;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC *pHEVCPicData;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1 *pHEVCPicData1;
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA *pAV1PicData;
- } ;
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA;
-
-typedef struct D3D12_VIDEO_ENCODE_REFERENCE_FRAMES
- {
- UINT NumTexture2Ds;
- _Field_size_full_(NumTexture2Ds) ID3D12Resource **ppTexture2Ds;
- _Field_size_full_(NumTexture2Ds) UINT *pSubresources;
- } D3D12_VIDEO_ENCODE_REFERENCE_FRAMES;
-
-typedef
-enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS
- {
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_USED_AS_REFERENCE_PICTURE = 0x1
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC
- {
- UINT IntraRefreshFrameIndex;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS Flags;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA PictureControlCodecData;
- D3D12_VIDEO_ENCODE_REFERENCE_FRAMES ReferenceFrames;
- } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC;
-
-typedef
-enum D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS
- {
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_RESOLUTION_CHANGE = 0x1,
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_RATE_CONTROL_CHANGE = 0x2,
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_SUBREGION_LAYOUT_CHANGE = 0x4,
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_REQUEST_INTRA_REFRESH = 0x8,
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_GOP_SEQUENCE_CHANGE = 0x10
- } D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC
- {
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS Flags;
- D3D12_VIDEO_ENCODER_INTRA_REFRESH IntraRefreshConfig;
- D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl;
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution;
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SelectedLayoutMode;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA FrameSubregionsLayoutData;
- D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence;
- } D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC;
-
-typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS
- {
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC SequenceControlDesc;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC PictureControlDesc;
- ID3D12Resource *pInputFrame;
- UINT InputFrameSubresource;
- UINT CurrentFrameBitstreamMetadataSize;
- } D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM
- {
- ID3D12Resource *pBuffer;
- UINT64 FrameStartOffset;
- } D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM;
-
-typedef struct D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE
- {
- ID3D12Resource *pReconstructedPicture;
- UINT ReconstructedPictureSubresource;
- } D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE;
-
-typedef struct D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA
- {
- UINT64 bSize;
- UINT64 bStartOffset;
- UINT64 bHeaderSize;
- } D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA;
-
-typedef
-enum D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS
- {
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_NO_ERROR = 0,
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_CODEC_PICTURE_CONTROL_NOT_SUPPORTED = 0x1,
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_SUBREGION_LAYOUT_CONFIGURATION_NOT_SUPPORTED = 0x2,
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_INVALID_REFERENCE_PICTURES = 0x4,
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_RECONFIGURATION_REQUEST_NOT_SUPPORTED = 0x8,
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_INVALID_METADATA_BUFFER_SOURCE = 0x10
- } D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS;
-
-DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS)
-typedef struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS
- {
- UINT64 AverageQP;
- UINT64 IntraCodingUnitsCount;
- UINT64 InterCodingUnitsCount;
- UINT64 SkipCodingUnitsCount;
- UINT64 AverageMotionEstimationXDirection;
- UINT64 AverageMotionEstimationYDirection;
- } D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS;
-
-typedef struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA
- {
- UINT64 EncodeErrorFlags;
- D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS EncodeStats;
- UINT64 EncodedBitstreamWrittenBytesCount;
- UINT64 WrittenSubregionsCount;
- } D3D12_VIDEO_ENCODER_OUTPUT_METADATA;
-
-typedef struct D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER
- {
- ID3D12Resource *pBuffer;
- UINT64 Offset;
- } D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER;
-
-typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS
- {
- D3D12_VIDEO_ENCODER_CODEC EncoderCodec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC EncoderProfile;
- DXGI_FORMAT EncoderInputFormat;
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncodedPictureEffectiveResolution;
- D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER HWLayoutMetadata;
- } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS
- {
- D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedLayoutMetadata;
- } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS
- {
- D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM Bitstream;
- D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE ReconstructedPicture;
- D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER EncoderOutputMetadata;
- } D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0025_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0025_v0_0_s_ifspec;
-
-#ifndef __ID3D12VideoEncodeCommandList2_INTERFACE_DEFINED__
-#define __ID3D12VideoEncodeCommandList2_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoEncodeCommandList2 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoEncodeCommandList2;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("895491e2-e701-46a9-9a1f-8d3480ed867a")
- ID3D12VideoEncodeCommandList2 : public ID3D12VideoEncodeCommandList1
- {
- public:
- virtual void STDMETHODCALLTYPE EncodeFrame(
- _In_ ID3D12VideoEncoder *pEncoder,
- _In_ ID3D12VideoEncoderHeap *pHeap,
- _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *pInputArguments,
- _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *pOutputArguments) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveEncoderOutputMetadata(
- _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *pInputArguments,
- _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *pOutputArguments) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoEncodeCommandList2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoEncodeCommandList2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoEncodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoEncodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoEncodeCommandList2 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoEncodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoEncodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoEncodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoEncodeCommandList2 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoEncodeCommandList2 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoEncodeCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EstimateMotion)
- void ( STDMETHODCALLTYPE *EstimateMotion )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ ID3D12VideoMotionEstimator *pMotionEstimator,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *pOutputArguments,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveMotionVectorHeap)
- void ( STDMETHODCALLTYPE *ResolveMotionVectorHeap )(
- ID3D12VideoEncodeCommandList2 * This,
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *pOutputArguments,
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoEncodeCommandList2 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, InitializeExtensionCommand)
- void ( STDMETHODCALLTYPE *InitializeExtensionCommand )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, ExecuteExtensionCommand)
- void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList2, EncodeFrame)
- void ( STDMETHODCALLTYPE *EncodeFrame )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ ID3D12VideoEncoder *pEncoder,
- _In_ ID3D12VideoEncoderHeap *pHeap,
- _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *pInputArguments,
- _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *pOutputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList2, ResolveEncoderOutputMetadata)
- void ( STDMETHODCALLTYPE *ResolveEncoderOutputMetadata )(
- ID3D12VideoEncodeCommandList2 * This,
- _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *pInputArguments,
- _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *pOutputArguments);
-
- END_INTERFACE
- } ID3D12VideoEncodeCommandList2Vtbl;
-
- interface ID3D12VideoEncodeCommandList2
- {
- CONST_VTBL struct ID3D12VideoEncodeCommandList2Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoEncodeCommandList2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoEncodeCommandList2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoEncodeCommandList2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoEncodeCommandList2_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoEncodeCommandList2_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoEncodeCommandList2_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoEncodeCommandList2_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoEncodeCommandList2_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoEncodeCommandList2_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoEncodeCommandList2_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoEncodeCommandList2_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoEncodeCommandList2_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoEncodeCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoEncodeCommandList2_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoEncodeCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoEncodeCommandList2_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoEncodeCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoEncodeCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoEncodeCommandList2_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoEncodeCommandList2_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoEncodeCommandList2_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoEncodeCommandList2_EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoEncodeCommandList2_ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoEncodeCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-#define ID3D12VideoEncodeCommandList2_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-
-#define ID3D12VideoEncodeCommandList2_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \
- ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) )
-
-#define ID3D12VideoEncodeCommandList2_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) )
-
-
-#define ID3D12VideoEncodeCommandList2_EncodeFrame(This,pEncoder,pHeap,pInputArguments,pOutputArguments) \
- ( (This)->lpVtbl -> EncodeFrame(This,pEncoder,pHeap,pInputArguments,pOutputArguments) )
-
-#define ID3D12VideoEncodeCommandList2_ResolveEncoderOutputMetadata(This,pInputArguments,pOutputArguments) \
- ( (This)->lpVtbl -> ResolveEncoderOutputMetadata(This,pInputArguments,pOutputArguments) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoEncodeCommandList2_INTERFACE_DEFINED__ */
-
-
-#ifndef __ID3D12VideoEncodeCommandList3_INTERFACE_DEFINED__
-#define __ID3D12VideoEncodeCommandList3_INTERFACE_DEFINED__
-
-/* interface ID3D12VideoEncodeCommandList3 */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D12VideoEncodeCommandList3;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("7f027b22-1515-4e85-aa0d-026486580576")
- ID3D12VideoEncodeCommandList3 : public ID3D12VideoEncodeCommandList2
- {
- public:
- virtual void STDMETHODCALLTYPE Barrier(
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D12VideoEncodeCommandList3Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VideoEncodeCommandList3 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VideoEncodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VideoEncodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12VideoEncodeCommandList3 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12VideoEncodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12VideoEncodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ ID3D12CommandAllocator *pAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12VideoEncodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12VideoEncodeCommandList3 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12VideoEncodeCommandList3 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12VideoEncodeCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EstimateMotion)
- void ( STDMETHODCALLTYPE *EstimateMotion )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ ID3D12VideoMotionEstimator *pMotionEstimator,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *pOutputArguments,
- _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveMotionVectorHeap)
- void ( STDMETHODCALLTYPE *ResolveMotionVectorHeap )(
- ID3D12VideoEncodeCommandList3 * This,
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *pOutputArguments,
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *pInputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12VideoEncodeCommandList3 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, InitializeExtensionCommand)
- void ( STDMETHODCALLTYPE *InitializeExtensionCommand )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, ExecuteExtensionCommand)
- void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ ID3D12VideoExtensionCommand *pExtensionCommand,
- _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList2, EncodeFrame)
- void ( STDMETHODCALLTYPE *EncodeFrame )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ ID3D12VideoEncoder *pEncoder,
- _In_ ID3D12VideoEncoderHeap *pHeap,
- _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *pInputArguments,
- _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *pOutputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList2, ResolveEncoderOutputMetadata)
- void ( STDMETHODCALLTYPE *ResolveEncoderOutputMetadata )(
- ID3D12VideoEncodeCommandList3 * This,
- _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *pInputArguments,
- _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *pOutputArguments);
-
- DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList3, Barrier)
- void ( STDMETHODCALLTYPE *Barrier )(
- ID3D12VideoEncodeCommandList3 * This,
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
-
- END_INTERFACE
- } ID3D12VideoEncodeCommandList3Vtbl;
-
- interface ID3D12VideoEncodeCommandList3
- {
- CONST_VTBL struct ID3D12VideoEncodeCommandList3Vtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D12VideoEncodeCommandList3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D12VideoEncodeCommandList3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D12VideoEncodeCommandList3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D12VideoEncodeCommandList3_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
-
-#define ID3D12VideoEncodeCommandList3_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
-
-#define ID3D12VideoEncodeCommandList3_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
-
-#define ID3D12VideoEncodeCommandList3_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
-
-
-#define ID3D12VideoEncodeCommandList3_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
-
-
-#define ID3D12VideoEncodeCommandList3_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
-
-
-#define ID3D12VideoEncodeCommandList3_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
-
-#define ID3D12VideoEncodeCommandList3_Reset(This,pAllocator) \
- ( (This)->lpVtbl -> Reset(This,pAllocator) )
-
-#define ID3D12VideoEncodeCommandList3_ClearState(This) \
- ( (This)->lpVtbl -> ClearState(This) )
-
-#define ID3D12VideoEncodeCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
-
-#define ID3D12VideoEncodeCommandList3_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
-
-#define ID3D12VideoEncodeCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoEncodeCommandList3_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
-
-#define ID3D12VideoEncodeCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
-
-#define ID3D12VideoEncodeCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
-
-#define ID3D12VideoEncodeCommandList3_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
-
-#define ID3D12VideoEncodeCommandList3_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
-
-#define ID3D12VideoEncodeCommandList3_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
-
-#define ID3D12VideoEncodeCommandList3_EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoEncodeCommandList3_ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) \
- ( (This)->lpVtbl -> ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) )
-
-#define ID3D12VideoEncodeCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
-
-#define ID3D12VideoEncodeCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
-
-
-#define ID3D12VideoEncodeCommandList3_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \
- ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) )
-
-#define ID3D12VideoEncodeCommandList3_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) )
-
-
-#define ID3D12VideoEncodeCommandList3_EncodeFrame(This,pEncoder,pHeap,pInputArguments,pOutputArguments) \
- ( (This)->lpVtbl -> EncodeFrame(This,pEncoder,pHeap,pInputArguments,pOutputArguments) )
-
-#define ID3D12VideoEncodeCommandList3_ResolveEncoderOutputMetadata(This,pInputArguments,pOutputArguments) \
- ( (This)->lpVtbl -> ResolveEncoderOutputMetadata(This,pInputArguments,pOutputArguments) )
-
-
-#define ID3D12VideoEncodeCommandList3_Barrier(This,NumBarrierGroups,pBarrierGroups) \
- ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D12VideoEncodeCommandList3_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3d12video_0000_0027 */
-/* [local] */
-
-#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */
-#pragma endregion
-DEFINE_GUID(IID_ID3D12VideoDecoderHeap,0x0946B7C9,0xEBF6,0x4047,0xBB,0x73,0x86,0x83,0xE2,0x7D,0xBB,0x1F);
-DEFINE_GUID(IID_ID3D12VideoDevice,0x1F052807,0x0B46,0x4ACC,0x8A,0x89,0x36,0x4F,0x79,0x37,0x18,0xA4);
-DEFINE_GUID(IID_ID3D12VideoDecoder,0xC59B6BDC,0x7720,0x4074,0xA1,0x36,0x17,0xA1,0x56,0x03,0x74,0x70);
-DEFINE_GUID(IID_ID3D12VideoProcessor,0x304FDB32,0xBEDE,0x410A,0x85,0x45,0x94,0x3A,0xC6,0xA4,0x61,0x38);
-DEFINE_GUID(IID_ID3D12VideoDecodeCommandList,0x3B60536E,0xAD29,0x4E64,0xA2,0x69,0xF8,0x53,0x83,0x7E,0x5E,0x53);
-DEFINE_GUID(IID_ID3D12VideoProcessCommandList,0xAEB2543A,0x167F,0x4682,0xAC,0xC8,0xD1,0x59,0xED,0x4A,0x62,0x09);
-DEFINE_GUID(IID_ID3D12VideoDecodeCommandList1,0xD52F011B,0xB56E,0x453C,0xA0,0x5A,0xA7,0xF3,0x11,0xC8,0xF4,0x72);
-DEFINE_GUID(IID_ID3D12VideoProcessCommandList1,0x542C5C4D,0x7596,0x434F,0x8C,0x93,0x4E,0xFA,0x67,0x66,0xF2,0x67);
-DEFINE_GUID(IID_ID3D12VideoMotionEstimator,0x33FDAE0E,0x098B,0x428F,0x87,0xBB,0x34,0xB6,0x95,0xDE,0x08,0xF8);
-DEFINE_GUID(IID_ID3D12VideoMotionVectorHeap,0x5BE17987,0x743A,0x4061,0x83,0x4B,0x23,0xD2,0x2D,0xAE,0xA5,0x05);
-DEFINE_GUID(IID_ID3D12VideoDevice1,0x981611AD,0xA144,0x4C83,0x98,0x90,0xF3,0x0E,0x26,0xD6,0x58,0xAB);
-DEFINE_GUID(IID_ID3D12VideoEncodeCommandList,0x8455293A,0x0CBD,0x4831,0x9B,0x39,0xFB,0xDB,0xAB,0x72,0x47,0x23);
-DEFINE_GUID(IID_ID3D12VideoDecoder1,0x79A2E5FB,0xCCD2,0x469A,0x9F,0xDE,0x19,0x5D,0x10,0x95,0x1F,0x7E);
-DEFINE_GUID(IID_ID3D12VideoDecoderHeap1,0xDA1D98C5,0x539F,0x41B2,0xBF,0x6B,0x11,0x98,0xA0,0x3B,0x6D,0x26);
-DEFINE_GUID(IID_ID3D12VideoProcessor1,0xF3CFE615,0x553F,0x425C,0x86,0xD8,0xEE,0x8C,0x1B,0x1F,0xB0,0x1C);
-DEFINE_GUID(IID_ID3D12VideoExtensionCommand,0x554E41E8,0xAE8E,0x4A8C,0xB7,0xD2,0x5B,0x4F,0x27,0x4A,0x30,0xE4);
-DEFINE_GUID(IID_ID3D12VideoDevice2,0xF019AC49,0xF838,0x4A95,0x9B,0x17,0x57,0x94,0x37,0xC8,0xF5,0x13);
-DEFINE_GUID(IID_ID3D12VideoDecodeCommandList2,0x6e120880,0xc114,0x4153,0x80,0x36,0xd2,0x47,0x05,0x1e,0x17,0x29);
-DEFINE_GUID(IID_ID3D12VideoDecodeCommandList3,0x2aee8c37,0x9562,0x42da,0x8a,0xbf,0x61,0xef,0xeb,0x2e,0x45,0x13);
-DEFINE_GUID(IID_ID3D12VideoProcessCommandList2,0xdb525ae4,0x6ad6,0x473c,0xba,0xa7,0x59,0xb2,0xe3,0x70,0x82,0xe4);
-DEFINE_GUID(IID_ID3D12VideoProcessCommandList3,0x1a0a4ca4,0x9f08,0x40ce,0x95,0x58,0xb4,0x11,0xfd,0x26,0x66,0xff);
-DEFINE_GUID(IID_ID3D12VideoEncodeCommandList1,0x94971eca,0x2bdb,0x4769,0x88,0xcf,0x36,0x75,0xea,0x75,0x7e,0xbc);
-DEFINE_GUID(IID_ID3D12VideoEncoder,0x2E0D212D,0x8DF9,0x44A6,0xA7,0x70,0xBB,0x28,0x9B,0x18,0x27,0x37);
-DEFINE_GUID(IID_ID3D12VideoEncoderHeap,0x22B35D96,0x876A,0x44C0,0xB2,0x5E,0xFB,0x8C,0x9C,0x7F,0x1C,0x4A);
-DEFINE_GUID(IID_ID3D12VideoDevice3,0x4243ADB4,0x3A32,0x4666,0x97,0x3C,0x0C,0xCC,0x56,0x25,0xDC,0x44);
-DEFINE_GUID(IID_ID3D12VideoEncodeCommandList2,0x895491e2,0xe701,0x46a9,0x9a,0x1f,0x8d,0x34,0x80,0xed,0x86,0x7a);
-DEFINE_GUID(IID_ID3D12VideoEncodeCommandList3,0x7f027b22,0x1515,0x4e85,0xaa,0x0d,0x02,0x64,0x86,0x58,0x05,0x76);
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0027_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0027_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12video.idl b/Juliet/src/Graphics/DX12/D3D12/directx/d3d12video.idl
deleted file mode 100644
index 6e3fba3..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3d12video.idl
+++ /dev/null
@@ -1,3168 +0,0 @@
-/*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- * Licensed under the MIT license
- *
- *-------------------------------------------------------------------------------------*/
-import "oaidl.idl";
-import "ocidl.idl";
-
-import "dxgicommon.idl";
-import "d3d12.idl";
-
-cpp_quote("#include ")
-
-#pragma region App Family
-cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)")
-
-typedef enum D3D12_VIDEO_FIELD_TYPE
-{
- D3D12_VIDEO_FIELD_TYPE_NONE = 0,
- D3D12_VIDEO_FIELD_TYPE_INTERLACED_TOP_FIELD_FIRST = 1,
- D3D12_VIDEO_FIELD_TYPE_INTERLACED_BOTTOM_FIELD_FIRST = 2,
-} D3D12_VIDEO_FIELD_TYPE;
-
-typedef enum D3D12_VIDEO_FRAME_STEREO_FORMAT
-{
- D3D12_VIDEO_FRAME_STEREO_FORMAT_NONE = 0,
- D3D12_VIDEO_FRAME_STEREO_FORMAT_MONO = 1,
- D3D12_VIDEO_FRAME_STEREO_FORMAT_HORIZONTAL = 2,
- D3D12_VIDEO_FRAME_STEREO_FORMAT_VERTICAL = 3,
- D3D12_VIDEO_FRAME_STEREO_FORMAT_SEPARATE = 4,
-} D3D12_VIDEO_FRAME_STEREO_FORMAT;
-
-typedef struct D3D12_VIDEO_FORMAT
-{
- DXGI_FORMAT Format;
- DXGI_COLOR_SPACE_TYPE ColorSpace;
-} D3D12_VIDEO_FORMAT;
-
-typedef struct D3D12_VIDEO_SAMPLE
-{
- UINT Width;
- UINT Height;
- D3D12_VIDEO_FORMAT Format;
-} D3D12_VIDEO_SAMPLE;
-
-typedef enum D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE
-{
- D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_NONE = 0,
- D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_FIELD_BASED = 1,
-} D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE;
-
-typedef enum D3D12_FEATURE_VIDEO
-{
- D3D12_FEATURE_VIDEO_DECODE_SUPPORT = 0,
- D3D12_FEATURE_VIDEO_DECODE_PROFILES = 1,
- D3D12_FEATURE_VIDEO_DECODE_FORMATS = 2,
- D3D12_FEATURE_VIDEO_DECODE_CONVERSION_SUPPORT = 3,
- D3D12_FEATURE_VIDEO_PROCESS_SUPPORT = 5,
- D3D12_FEATURE_VIDEO_PROCESS_MAX_INPUT_STREAMS = 6,
- D3D12_FEATURE_VIDEO_PROCESS_REFERENCE_INFO = 7,
- D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE = 8,
- D3D12_FEATURE_VIDEO_PROCESSOR_SIZE = 9,
- D3D12_FEATURE_VIDEO_DECODE_PROFILE_COUNT = 10,
- D3D12_FEATURE_VIDEO_DECODE_FORMAT_COUNT = 11,
- D3D12_FEATURE_VIDEO_ARCHITECTURE = 17,
- D3D12_FEATURE_VIDEO_DECODE_HISTOGRAM = 18,
- D3D12_FEATURE_VIDEO_FEATURE_AREA_SUPPORT = 19,
- D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR = 20,
- D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_SIZE = 21,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_COUNT = 22,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMANDS = 23,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT = 24,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETERS = 25,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SUPPORT = 26,
- D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SIZE = 27,
- D3D12_FEATURE_VIDEO_DECODE_PROTECTED_RESOURCES = 28,
- D3D12_FEATURE_VIDEO_PROCESS_PROTECTED_RESOURCES = 29,
- D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES = 30,
- D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE1 = 31,
- D3D12_FEATURE_VIDEO_PROCESSOR_SIZE1 = 32,
- D3D12_FEATURE_VIDEO_ENCODER_CODEC = 33,
- D3D12_FEATURE_VIDEO_ENCODER_PROFILE_LEVEL = 34,
- D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT = 35,
- D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION = 36,
- D3D12_FEATURE_VIDEO_ENCODER_INPUT_FORMAT = 37,
- D3D12_FEATURE_VIDEO_ENCODER_RATE_CONTROL_MODE = 38,
- D3D12_FEATURE_VIDEO_ENCODER_INTRA_REFRESH_MODE = 39,
- D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE = 40,
- D3D12_FEATURE_VIDEO_ENCODER_HEAP_SIZE = 41,
- D3D12_FEATURE_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT = 42,
- D3D12_FEATURE_VIDEO_ENCODER_SUPPORT = 43,
- D3D12_FEATURE_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT = 44,
- D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS = 45,
- D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG = 46,
- D3D12_FEATURE_VIDEO_ENCODER_SUPPORT1 = 47,
-
-} D3D12_FEATURE_VIDEO;
-
-typedef enum D3D12_BITSTREAM_ENCRYPTION_TYPE
-{
- D3D12_BITSTREAM_ENCRYPTION_TYPE_NONE = 0,
-} D3D12_BITSTREAM_ENCRYPTION_TYPE;
-
-typedef struct D3D12_VIDEO_DECODE_CONFIGURATION
-{
- GUID DecodeProfile;
- D3D12_BITSTREAM_ENCRYPTION_TYPE BitstreamEncryption;
- D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE InterlaceType;
-} D3D12_VIDEO_DECODE_CONFIGURATION;
-
-typedef struct D3D12_VIDEO_DECODER_DESC
-{
- UINT NodeMask;
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration;
-} D3D12_VIDEO_DECODER_DESC;
-
-typedef struct D3D12_VIDEO_DECODER_HEAP_DESC
-{
- UINT NodeMask;
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration;
- UINT DecodeWidth;
- UINT DecodeHeight;
- DXGI_FORMAT Format;
- DXGI_RATIONAL FrameRate;
- UINT BitRate;
- UINT MaxDecodePictureBufferCount;
-} D3D12_VIDEO_DECODER_HEAP_DESC;
-
-typedef struct D3D12_VIDEO_SIZE_RANGE
-{
- UINT MaxWidth;
- UINT MaxHeight;
- UINT MinWidth;
- UINT MinHeight;
-} D3D12_VIDEO_SIZE_RANGE;
-
-typedef enum D3D12_VIDEO_PROCESS_FILTER
-{
- D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS = 0,
- D3D12_VIDEO_PROCESS_FILTER_CONTRAST = 1,
- D3D12_VIDEO_PROCESS_FILTER_HUE = 2,
- D3D12_VIDEO_PROCESS_FILTER_SATURATION = 3,
- D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION = 4,
- D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT = 5,
- D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING = 6,
- D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT = 7,
-} D3D12_VIDEO_PROCESS_FILTER;
-
-typedef enum D3D12_VIDEO_PROCESS_FILTER_FLAGS
-{
- D3D12_VIDEO_PROCESS_FILTER_FLAG_NONE = 0x0,
- D3D12_VIDEO_PROCESS_FILTER_FLAG_BRIGHTNESS = (1 << D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS),
- D3D12_VIDEO_PROCESS_FILTER_FLAG_CONTRAST = (1 << D3D12_VIDEO_PROCESS_FILTER_CONTRAST),
- D3D12_VIDEO_PROCESS_FILTER_FLAG_HUE = (1 << D3D12_VIDEO_PROCESS_FILTER_HUE),
- D3D12_VIDEO_PROCESS_FILTER_FLAG_SATURATION = (1 << D3D12_VIDEO_PROCESS_FILTER_SATURATION),
- D3D12_VIDEO_PROCESS_FILTER_FLAG_NOISE_REDUCTION = (1 << D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION),
- D3D12_VIDEO_PROCESS_FILTER_FLAG_EDGE_ENHANCEMENT = (1 << D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT),
- D3D12_VIDEO_PROCESS_FILTER_FLAG_ANAMORPHIC_SCALING = (1 << D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING),
- D3D12_VIDEO_PROCESS_FILTER_FLAG_STEREO_ADJUSTMENT = (1 << D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT),
-
-} D3D12_VIDEO_PROCESS_FILTER_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_FILTER_FLAGS )")
-
-typedef enum D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS
-{
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_NONE = 0x0,
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_BOB = 0x1,
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_CUSTOM = 0x80000000,
-
-} D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS )")
-
-typedef struct D3D12_VIDEO_PROCESS_ALPHA_BLENDING
-{
- BOOL Enable;
- FLOAT Alpha;
-} D3D12_VIDEO_PROCESS_ALPHA_BLENDING;
-
-typedef struct D3D12_VIDEO_PROCESS_LUMA_KEY
-{
- BOOL Enable;
- FLOAT Lower;
- FLOAT Upper;
-} D3D12_VIDEO_PROCESS_LUMA_KEY;
-
-typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC
-{
- DXGI_FORMAT Format;
- DXGI_COLOR_SPACE_TYPE ColorSpace;
- DXGI_RATIONAL SourceAspectRatio;
- DXGI_RATIONAL DestinationAspectRatio;
- DXGI_RATIONAL FrameRate;
- D3D12_VIDEO_SIZE_RANGE SourceSizeRange;
- D3D12_VIDEO_SIZE_RANGE DestinationSizeRange;
- BOOL EnableOrientation;
- D3D12_VIDEO_PROCESS_FILTER_FLAGS FilterFlags;
- D3D12_VIDEO_FRAME_STEREO_FORMAT StereoFormat;
- D3D12_VIDEO_FIELD_TYPE FieldType;
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceMode;
- BOOL EnableAlphaBlending;
- D3D12_VIDEO_PROCESS_LUMA_KEY LumaKey;
- UINT NumPastFrames;
- UINT NumFutureFrames;
- BOOL EnableAutoProcessing;
-} D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC;
-
-typedef enum D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE
-{
- D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_OPAQUE = 0,
- D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_BACKGROUND = 1,
- D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_DESTINATION = 2,
- D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_SOURCE_STREAM = 3,
-} D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE;
-
-typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC
-{
- DXGI_FORMAT Format;
- DXGI_COLOR_SPACE_TYPE ColorSpace;
- D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE AlphaFillMode;
- UINT AlphaFillModeSourceStreamIndex;
- FLOAT BackgroundColor[4];
- DXGI_RATIONAL FrameRate;
- BOOL EnableStereo;
-} D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC;
-
-[uuid(0946B7C9-EBF6-4047-BB73-8683E27DBB1F), object, local, pointer_default(unique)]
-interface ID3D12VideoDecoderHeap
- : ID3D12Pageable
-{
- D3D12_VIDEO_DECODER_HEAP_DESC GetDesc();
-}
-
-[uuid(1F052807-0B46-4ACC-8A89-364F793718A4), object, local, pointer_default(unique)]
-interface ID3D12VideoDevice
- : IUnknown
-{
- HRESULT CheckFeatureSupport(
- D3D12_FEATURE_VIDEO FeatureVideo,
- [annotation("_Inout_updates_bytes_(FeatureSupportDataSize)")] void* pFeatureSupportData,
- UINT FeatureSupportDataSize
- );
-
- HRESULT CreateVideoDecoder(
- [annotation("_In_")] const D3D12_VIDEO_DECODER_DESC* pDesc,
- [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoDecoder,
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoDecoder
- );
-
- HRESULT CreateVideoDecoderHeap(
- [annotation("_In_")]const D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc,
- [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoDecoderHeap,
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoDecoderHeap
- );
-
- HRESULT CreateVideoProcessor(
- UINT NodeMask,
- [annotation("_In_")] const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc,
- UINT NumInputStreamDescs,
- [annotation("_In_reads_(NumInputStreamDescs)")]const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs,
- [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoProcessor,
- [out, iid_is(riid), annotation("_COM_Outptr_")] void **ppVideoProcessor
- );
-}
-
-[uuid(C59B6BDC-7720-4074-A136-17A156037470), object, local, pointer_default(unique)]
-interface ID3D12VideoDecoder
- : ID3D12Pageable
-{
- D3D12_VIDEO_DECODER_DESC GetDesc();
-}
-
-typedef enum D3D12_VIDEO_DECODE_TIER
-{
- D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED = 0,
- D3D12_VIDEO_DECODE_TIER_1 = 1,
- D3D12_VIDEO_DECODE_TIER_2 = 2,
- D3D12_VIDEO_DECODE_TIER_3 = 3,
-} D3D12_VIDEO_DECODE_TIER;
-
-typedef enum D3D12_VIDEO_DECODE_SUPPORT_FLAGS
-{
- D3D12_VIDEO_DECODE_SUPPORT_FLAG_NONE = 0x0,
- D3D12_VIDEO_DECODE_SUPPORT_FLAG_SUPPORTED = 0x1,
-
-} D3D12_VIDEO_DECODE_SUPPORT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_SUPPORT_FLAGS )")
-
-typedef enum D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS
-{
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_NONE = 0x0,
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_HEIGHT_ALIGNMENT_MULTIPLE_32_REQUIRED = 0x1,
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_POST_PROCESSING_SUPPORTED = 0x2,
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED = 0x4,
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_ALLOW_RESOLUTION_CHANGE_ON_NON_KEY_FRAME = 0x8,
-
-} D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS )")
-
-typedef enum D3D12_VIDEO_DECODE_STATUS
-{
- D3D12_VIDEO_DECODE_STATUS_OK = 0,
- D3D12_VIDEO_DECODE_STATUS_CONTINUE = 1,
- D3D12_VIDEO_DECODE_STATUS_CONTINUE_SKIP_DISPLAY = 2,
- D3D12_VIDEO_DECODE_STATUS_RESTART = 3,
- D3D12_VIDEO_DECODE_STATUS_RATE_EXCEEDED = 4,
-} D3D12_VIDEO_DECODE_STATUS;
-
-typedef enum D3D12_VIDEO_DECODE_ARGUMENT_TYPE
-{
- D3D12_VIDEO_DECODE_ARGUMENT_TYPE_PICTURE_PARAMETERS = 0,
- D3D12_VIDEO_DECODE_ARGUMENT_TYPE_INVERSE_QUANTIZATION_MATRIX = 1,
- D3D12_VIDEO_DECODE_ARGUMENT_TYPE_SLICE_CONTROL = 2,
- D3D12_VIDEO_DECODE_ARGUMENT_TYPE_HUFFMAN_TABLE = 3,
-} D3D12_VIDEO_DECODE_ARGUMENT_TYPE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration; // input
- UINT Width; // input
- UINT Height; // input
- DXGI_FORMAT DecodeFormat; // input
- DXGI_RATIONAL FrameRate; // input
- UINT BitRate; // input
- D3D12_VIDEO_DECODE_SUPPORT_FLAGS SupportFlags; // output
- D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS ConfigurationFlags; // output
- D3D12_VIDEO_DECODE_TIER DecodeTier; // output
-} D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT
-{
- UINT NodeIndex; // input
- UINT ProfileCount; // output
-} D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES
-{
- UINT NodeIndex; // input
- UINT ProfileCount; // input
- [annotation("_Field_size_full_(ProfileCount)")] GUID *pProfiles; // output. The list of supported profiles. The caller allocates storage for the profile list before calling CheckFeatureSupport.
-} D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration; // input
- UINT FormatCount; // output
-} D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration; // input
- UINT FormatCount; // input
- [annotation("_Field_size_full_(FormatCount)")] DXGI_FORMAT *pOutputFormats; // output. The list of supported video formats. The caller allocates storage for the format list before calling CheckFeatureSupport.
-} D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE
-{
- BOOL IOCoherent;
-} D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE;
-
-typedef enum D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT
-{
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_Y = 0,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_U = 1,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_V = 2,
-
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_R = 0,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_G = 1,
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_B = 2,
-
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_A = 3,
-} D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT;
-
-typedef enum D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS
-{
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_NONE = 0x0,
-
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_Y = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_Y),
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_U = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_U),
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_V = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_V),
-
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_R = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_R),
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_G = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_G),
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_B = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_B),
-
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_A = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_A),
-} D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS )")
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM
-{
- UINT NodeIndex; // in
- GUID DecodeProfile; // in
- UINT Width; // in
- UINT Height; // in
- DXGI_FORMAT DecodeFormat; // in
- D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS Components; // out
- UINT BinCount; // out
- UINT CounterBitDepth; // out
-} D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM;
-
-typedef enum D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS
-{
- D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAG_NONE = 0x0,
- D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAG_SUPPORTED = 0x1,
-
-} D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS )")
-
-typedef enum D3D12_VIDEO_SCALE_SUPPORT_FLAGS
-{
- D3D12_VIDEO_SCALE_SUPPORT_FLAG_NONE = 0x0,
- D3D12_VIDEO_SCALE_SUPPORT_FLAG_POW2_ONLY = 0x1,
- D3D12_VIDEO_SCALE_SUPPORT_FLAG_EVEN_DIMENSIONS_ONLY = 0x2,
-
-} D3D12_VIDEO_SCALE_SUPPORT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_SCALE_SUPPORT_FLAGS )")
-
-typedef struct D3D12_VIDEO_SCALE_SUPPORT
-{
- D3D12_VIDEO_SIZE_RANGE OutputSizeRange;
- D3D12_VIDEO_SCALE_SUPPORT_FLAGS Flags;
-} D3D12_VIDEO_SCALE_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration; // input
- D3D12_VIDEO_SAMPLE DecodeSample; // input
- D3D12_VIDEO_FORMAT OutputFormat; // input
- DXGI_RATIONAL FrameRate; // input
- UINT BitRate; // input
- D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS SupportFlags; // output
- D3D12_VIDEO_SCALE_SUPPORT ScaleSupport; // output
-} D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE
-{
- D3D12_VIDEO_DECODER_HEAP_DESC VideoDecoderHeapDesc; // input
- UINT64 MemoryPoolL0Size; // output
- UINT64 MemoryPoolL1Size; // output
-} D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE
-{
- UINT NodeMask;
- const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc; // input
- UINT NumInputStreamDescs; // input
- const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs; // input
- UINT64 MemoryPoolL0Size; // output
- UINT64 MemoryPoolL1Size; // output
-} D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE;
-
-typedef struct D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS
-{
- UINT64 Status; // see D3D12_VIDEO_DECODE_STATUS
- UINT64 NumMacroblocksAffected;
- DXGI_RATIONAL FrameRate;
- UINT BitRate;
-} D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS;
-
-typedef struct D3D12_VIDEO_DECODE_FRAME_ARGUMENT
-{
- D3D12_VIDEO_DECODE_ARGUMENT_TYPE Type;
- UINT Size;
- [annotation("_Field_size_bytes_full_(Size)")] void *pData;
-} D3D12_VIDEO_DECODE_FRAME_ARGUMENT;
-
-typedef struct D3D12_VIDEO_DECODE_REFERENCE_FRAMES
-{
- UINT NumTexture2Ds;
- [annotation("_Field_size_full_(NumTexture2Ds)")] ID3D12Resource** ppTexture2Ds;
- [annotation("_Field_size_full_(NumTexture2Ds)")] UINT* pSubresources;
- [annotation("_Field_size_full_opt_(NumTexture2Ds)")] ID3D12VideoDecoderHeap** ppHeaps; // If null, assume single decoder heap from input args.
-} D3D12_VIDEO_DECODE_REFERENCE_FRAMES;
-
-typedef struct D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM
-{
- ID3D12Resource* pBuffer;
- UINT64 Offset;
- UINT64 Size;
-} D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM;
-
-typedef struct D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS
-{
- BOOL Enable;
- ID3D12Resource* pReferenceTexture2D;
- UINT ReferenceSubresource;
- DXGI_COLOR_SPACE_TYPE OutputColorSpace;
- DXGI_COLOR_SPACE_TYPE DecodeColorSpace;
-} D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS
-{
- UINT NumFrameArguments;
- D3D12_VIDEO_DECODE_FRAME_ARGUMENT FrameArguments[D3D12_VIDEO_DECODE_MAX_ARGUMENTS];
- D3D12_VIDEO_DECODE_REFERENCE_FRAMES ReferenceFrames;
- D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM CompressedBitstream;
- ID3D12VideoDecoderHeap *pHeap;
-} D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS
-{
- ID3D12Resource* pOutputTexture2D;
- UINT OutputSubresource;
- D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS ConversionArguments;
-} D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS;
-
-[uuid(304FDB32-BEDE-410A-8545-943AC6A46138), object, local, pointer_default(unique)]
-interface ID3D12VideoProcessor
- : ID3D12Pageable
-{
- UINT GetNodeMask();
- UINT GetNumInputStreamDescs();
- HRESULT GetInputStreamDescs(UINT NumInputStreamDescs, [annotation("_Out_writes_(NumInputStreamDescs)")] D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs);
- D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC GetOutputStreamDesc();
-}
-
-typedef enum D3D12_VIDEO_PROCESS_FEATURE_FLAGS
-{
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_NONE = 0x0,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_FILL = 0x1,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_LUMA_KEY = 0x2,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_STEREO = 0x4,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_ROTATION = 0x8,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_FLIP = 0x10,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_BLENDING = 0x20,
- D3D12_VIDEO_PROCESS_FEATURE_FLAG_PIXEL_ASPECT_RATIO = 0x40,
-
-} D3D12_VIDEO_PROCESS_FEATURE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_FEATURE_FLAGS )")
-
-typedef enum D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS
-{
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_NONE = 0x0,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DENOISE = 0x01,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DERINGING = 0x02,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_EDGE_ENHANCEMENT = 0x04,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_COLOR_CORRECTION = 0x08,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_FLESH_TONE_MAPPING = 0x10,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_IMAGE_STABILIZATION = 0x20,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_SUPER_RESOLUTION = 0x40,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_ANAMORPHIC_SCALING = 0x80,
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_CUSTOM = 0x80000000,
-
-} D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS )")
-
-typedef enum D3D12_VIDEO_PROCESS_ORIENTATION
-{
- D3D12_VIDEO_PROCESS_ORIENTATION_DEFAULT = 0,
- D3D12_VIDEO_PROCESS_ORIENTATION_FLIP_HORIZONTAL = 1,
- D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_90 = 2,
- D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_90_FLIP_HORIZONTAL = 3,
- D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_180 = 4,
- D3D12_VIDEO_PROCESS_ORIENTATION_FLIP_VERTICAL = 5,
- D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_270 = 6,
- D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_270_FLIP_HORIZONTAL = 7,
-} D3D12_VIDEO_PROCESS_ORIENTATION;
-
-typedef enum D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS
-{
- D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_NONE = 0x0,
- D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_FRAME_DISCONTINUITY = 0x1,
- D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_FRAME_REPEAT = 0x2,
-
-} D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS )")
-
-typedef struct D3D12_VIDEO_PROCESS_FILTER_RANGE
-{
- INT Minimum;
- INT Maximum;
- INT Default;
- FLOAT Multiplier;
-} D3D12_VIDEO_PROCESS_FILTER_RANGE;
-
-typedef enum D3D12_VIDEO_PROCESS_SUPPORT_FLAGS
-{
- D3D12_VIDEO_PROCESS_SUPPORT_FLAG_NONE = 0x0,
- D3D12_VIDEO_PROCESS_SUPPORT_FLAG_SUPPORTED = 0x1,
-
-} D3D12_VIDEO_PROCESS_SUPPORT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_SUPPORT_FLAGS )")
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_SAMPLE InputSample; // input
- D3D12_VIDEO_FIELD_TYPE InputFieldType; // input
- D3D12_VIDEO_FRAME_STEREO_FORMAT InputStereoFormat; // input
- DXGI_RATIONAL InputFrameRate; // input
- D3D12_VIDEO_FORMAT OutputFormat; // input
- D3D12_VIDEO_FRAME_STEREO_FORMAT OutputStereoFormat; // input
- DXGI_RATIONAL OutputFrameRate; // input
- D3D12_VIDEO_PROCESS_SUPPORT_FLAGS SupportFlags; // output
- D3D12_VIDEO_SCALE_SUPPORT ScaleSupport; // output
- D3D12_VIDEO_PROCESS_FEATURE_FLAGS FeatureSupport; // output
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceSupport; // output
- D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS AutoProcessingSupport; // output
- D3D12_VIDEO_PROCESS_FILTER_FLAGS FilterSupport; // output
- D3D12_VIDEO_PROCESS_FILTER_RANGE FilterRangeSupport[D3D12_VIDEO_PROCESS_MAX_FILTERS]; // output
-} D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS
-{
- UINT NodeIndex; // input
- UINT MaxInputStreams; // output
-} D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceMode; // input
- D3D12_VIDEO_PROCESS_FILTER_FLAGS Filters; // input
- D3D12_VIDEO_PROCESS_FEATURE_FLAGS FeatureSupport; // input
- DXGI_RATIONAL InputFrameRate; // input
- DXGI_RATIONAL OutputFrameRate; // input
- BOOL EnableAutoProcessing; // input
- UINT PastFrames; // output
- UINT FutureFrames; // output
-} D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO;
-
-typedef struct D3D12_VIDEO_PROCESS_REFERENCE_SET
-{
- UINT NumPastFrames;
- ID3D12Resource **ppPastFrames;
- UINT *pPastSubresources;
- UINT NumFutureFrames;
- ID3D12Resource **ppFutureFrames;
- UINT *pFutureSubresources;
-} D3D12_VIDEO_PROCESS_REFERENCE_SET;
-
-typedef struct D3D12_VIDEO_PROCESS_TRANSFORM
-{
- D3D12_RECT SourceRectangle;
- D3D12_RECT DestinationRectangle;
- D3D12_VIDEO_PROCESS_ORIENTATION Orientation;
-} D3D12_VIDEO_PROCESS_TRANSFORM;
-
-typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE
-{
- UINT OutputIndex;
- UINT InputFrameOrField;
-} D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE;
-
-typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM
-{
- ID3D12Resource *pTexture2D;
- UINT Subresource;
- D3D12_VIDEO_PROCESS_REFERENCE_SET ReferenceSet;
-} D3D12_VIDEO_PROCESS_INPUT_STREAM;
-
-typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS
-{
- D3D12_VIDEO_PROCESS_INPUT_STREAM InputStream[D3D12_VIDEO_PROCESS_STEREO_VIEWS];
- D3D12_VIDEO_PROCESS_TRANSFORM Transform;
- D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS Flags;
- D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE RateInfo;
- INT FilterLevels[D3D12_VIDEO_PROCESS_MAX_FILTERS];
- D3D12_VIDEO_PROCESS_ALPHA_BLENDING AlphaBlending;
-} D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM
-{
- ID3D12Resource* pTexture2D;
- UINT Subresource;
-} D3D12_VIDEO_PROCESS_OUTPUT_STREAM;
-
-typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS
-{
- D3D12_VIDEO_PROCESS_OUTPUT_STREAM OutputStream[D3D12_VIDEO_PROCESS_STEREO_VIEWS];
- D3D12_RECT TargetRectangle;
-} D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS;
-
-[uuid(3B60536E-AD29-4E64-A269-F853837E5E53), object, local, pointer_default(unique)]
-interface ID3D12VideoDecodeCommandList
- : ID3D12CommandList
-{
- HRESULT Close();
-
- HRESULT Reset(
- [annotation("_In_")] ID3D12CommandAllocator* pAllocator
- );
-
- void ClearState();
-
- void ResourceBarrier(
- [annotation("_In_")] UINT NumBarriers,
- [annotation("_In_reads_(NumBarriers)")] const D3D12_RESOURCE_BARRIER* pBarriers
- );
-
- void DiscardResource(
- [annotation("_In_")] ID3D12Resource* pResource,
- [annotation("_In_opt_")] const D3D12_DISCARD_REGION* pRegion
- );
-
- void BeginQuery(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT Index
- );
-
- void EndQuery(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT Index
- );
-
- void ResolveQueryData(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT StartIndex,
- [annotation("_In_")] UINT NumQueries,
- [annotation("_In_")] ID3D12Resource* pDestinationBuffer,
- [annotation("_In_")] UINT64 AlignedDestinationBufferOffset
- );
-
- void SetPredication(
- [annotation("_In_opt_")] ID3D12Resource* pBuffer,
- [annotation("_In_")] UINT64 AlignedBufferOffset,
- [annotation("_In_")] D3D12_PREDICATION_OP Operation
- );
-
- void SetMarker(
- UINT Metadata,
- [annotation("_In_reads_bytes_opt_(Size)")] const void* pData,
- UINT Size);
-
- void BeginEvent(
- UINT Metadata,
- [annotation("_In_reads_bytes_opt_(Size)")] const void* pData,
- UINT Size);
-
- void EndEvent();
-
- void DecodeFrame(
- [annotation("_In_")] ID3D12VideoDecoder* pDecoder,
- [annotation("_In_")] const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- [annotation("_In_")] const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments
- );
-
- void WriteBufferImmediate(
- UINT Count,
- [annotation("_In_reads_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- [annotation("_In_reads_opt_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes
- );
-}
-
-[uuid(AEB2543A-167F-4682-ACC8-D159ED4A6209), object, local, pointer_default(unique)]
-interface ID3D12VideoProcessCommandList
- : ID3D12CommandList
-{
- HRESULT Close();
-
- HRESULT Reset(
- [annotation("_In_")] ID3D12CommandAllocator* pAllocator
- );
-
- void ClearState();
-
- void ResourceBarrier(
- [annotation("_In_")] UINT NumBarriers,
- [annotation("_In_reads_(NumBarriers)")] const D3D12_RESOURCE_BARRIER* pBarriers
- );
-
- void DiscardResource(
- [annotation("_In_")] ID3D12Resource* pResource,
- [annotation("_In_opt_")] const D3D12_DISCARD_REGION* pRegion
- );
-
- void BeginQuery(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT Index
- );
-
- void EndQuery(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT Index
- );
-
- void ResolveQueryData(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT StartIndex,
- [annotation("_In_")] UINT NumQueries,
- [annotation("_In_")] ID3D12Resource* pDestinationBuffer,
- [annotation("_In_")] UINT64 AlignedDestinationBufferOffset
- );
-
- void SetPredication(
- [annotation("_In_opt_")] ID3D12Resource* pBuffer,
- [annotation("_In_")] UINT64 AlignedBufferOffset,
- [annotation("_In_")] D3D12_PREDICATION_OP Operation
- );
-
- void SetMarker(
- UINT Metadata,
- [annotation("_In_reads_bytes_opt_(Size)")] const void* pData,
- UINT Size);
-
- void BeginEvent(
- UINT Metadata,
- [annotation("_In_reads_bytes_opt_(Size)")] const void* pData,
- UINT Size);
-
- void EndEvent();
-
- void ProcessFrames(
- [annotation("_In_")] ID3D12VideoProcessor* pVideoProcessor,
- [annotation("_In_")] const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- UINT NumInputStreams,
- [annotation("_In_reads_(NumInputStreams)")] const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments
- );
-
- void WriteBufferImmediate(
- UINT Count,
- [annotation("_In_reads_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- [annotation("_In_reads_opt_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes
- );
-}
-
-typedef struct D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM
-{
- UINT64 Offset;
- ID3D12Resource* pBuffer;
-} D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM;
-
-typedef struct D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1
-{
- BOOL Enable;
- ID3D12Resource* pReferenceTexture2D;
- UINT ReferenceSubresource;
- DXGI_COLOR_SPACE_TYPE OutputColorSpace;
- DXGI_COLOR_SPACE_TYPE DecodeColorSpace;
- UINT OutputWidth;
- UINT OutputHeight;
-} D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1;
-
-typedef struct D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1
-{
- ID3D12Resource* pOutputTexture2D;
- UINT OutputSubresource;
- D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1 ConversionArguments;
- D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM Histograms[D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS];
-} D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1;
-
-[uuid(D52F011B-B56E-453C-A05A-A7F311C8F472), object, local, pointer_default(unique)]
-interface ID3D12VideoDecodeCommandList1
- : ID3D12VideoDecodeCommandList
-{
- void DecodeFrame1(
- [annotation("_In_")] ID3D12VideoDecoder* pDecoder,
- [annotation("_In_")] const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *pOutputArguments,
- [annotation("_In_")] const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments
- );
-}
-
-typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1
-{
- D3D12_VIDEO_PROCESS_INPUT_STREAM InputStream[D3D12_VIDEO_PROCESS_STEREO_VIEWS];
- D3D12_VIDEO_PROCESS_TRANSFORM Transform;
- D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS Flags;
- D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE RateInfo;
- INT FilterLevels[D3D12_VIDEO_PROCESS_MAX_FILTERS];
- D3D12_VIDEO_PROCESS_ALPHA_BLENDING AlphaBlending;
- D3D12_VIDEO_FIELD_TYPE FieldType;
-} D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1;
-
-[uuid(542C5C4D-7596-434F-8C93-4EFA6766F267), object, local, pointer_default(unique)]
-interface ID3D12VideoProcessCommandList1 : ID3D12VideoProcessCommandList
-{
- void ProcessFrames1(
- [annotation("_In_")] ID3D12VideoProcessor* pVideoProcessor,
- [annotation("_In_")] const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments,
- UINT NumInputStreams,
- [annotation("_In_reads_(NumInputStreams)")] const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *pInputArguments
- );
-}
-
-typedef enum D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE
-{
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_8X8 = 0,
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_16X16 = 1,
-} D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE;
-
-typedef enum D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS
-{
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_NONE = 0,
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_8X8 = (1 << D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_8X8),
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_16X16 = (1 << D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_16X16),
-
-} D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS )" )
-
-typedef enum D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION
-{
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_QUARTER_PEL = 0,
-} D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION;
-
-typedef enum D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS
-{
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAG_NONE = 0,
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAG_QUARTER_PEL = (1 << D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_QUARTER_PEL),
-
-} D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS;
-cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS )" )
-
-// D3D12_FEATURE_VIDEO_FEATURE_AREA_SUPPORT
-typedef struct D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT
-{
- UINT NodeIndex; // input
- BOOL VideoDecodeSupport; // output
- BOOL VideoProcessSupport; // output
- BOOL VideoEncodeSupport; // output
-} D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT;
-
-// D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR
-typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR
-{
- UINT NodeIndex; // input
- DXGI_FORMAT InputFormat; // input
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS BlockSizeFlags; // output
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS PrecisionFlags; // output
- D3D12_VIDEO_SIZE_RANGE SizeRange; // output
-} D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR;
-
-// D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_SIZE
-typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE
-{
- UINT NodeIndex; // input
- DXGI_FORMAT InputFormat; // input
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize; // input
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision; // input
- D3D12_VIDEO_SIZE_RANGE SizeRange; // input
- BOOL Protected; // input
- UINT64 MotionVectorHeapMemoryPoolL0Size; // output
- UINT64 MotionVectorHeapMemoryPoolL1Size; // output
- UINT64 MotionEstimatorMemoryPoolL0Size; // output
- UINT64 MotionEstimatorMemoryPoolL1Size; // output
-} D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE;
-
-typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_DESC
-{
- UINT NodeMask;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize;
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision;
- D3D12_VIDEO_SIZE_RANGE SizeRange;
-
-} D3D12_VIDEO_MOTION_ESTIMATOR_DESC;
-
-[uuid(33FDAE0E-098B-428F-87BB-34B695DE08F8), object, local, pointer_default(unique)]
-interface ID3D12VideoMotionEstimator
- : ID3D12Pageable
-{
- D3D12_VIDEO_MOTION_ESTIMATOR_DESC GetDesc();
-
- HRESULT GetProtectedResourceSession(
- [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession);
-}
-
-typedef struct D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC
-{
- UINT NodeMask;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize;
- D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision;
- D3D12_VIDEO_SIZE_RANGE SizeRange;
-
-} D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC;
-
-[uuid(5BE17987-743A-4061-834B-23D22DAEA505), object, local, pointer_default(unique)]
-interface ID3D12VideoMotionVectorHeap
- : ID3D12Pageable
-{
- D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC GetDesc();
-
- HRESULT GetProtectedResourceSession(
- [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession);
-}
-
-[uuid(981611AD-A144-4C83-9890-F30E26D658AB), object, local, pointer_default(unique)]
-interface ID3D12VideoDevice1
- : ID3D12VideoDevice
-{
- HRESULT CreateVideoMotionEstimator(
- [annotation("_In_")] const D3D12_VIDEO_MOTION_ESTIMATOR_DESC* pDesc,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedResourceSession,
- [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoMotionEstimator,
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoMotionEstimator
- );
-
- HRESULT CreateVideoMotionVectorHeap(
- [annotation("_In_")] const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC* pDesc,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedResourceSession,
- [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoMotionVectorHeap,
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoMotionVectorHeap
- );
-}
-
-typedef struct D3D12_RESOURCE_COORDINATE
-{
- // Coordinate values below index pixels.
- UINT64 X; // Used for buffer, 1D, 2D, 3D
- UINT Y; // Used for 2D, 3D
- UINT Z; // Used for 3D
- UINT SubresourceIndex; // indexes into mips, arrays, and planes. Used for 1D, 2D, 3D
-} D3D12_RESOURCE_COORDINATE;
-
-typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT
-{
- ID3D12VideoMotionVectorHeap* pMotionVectorHeap;
-} D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT;
-
-typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_INPUT
-{
- ID3D12Resource* pInputTexture2D;
- UINT InputSubresourceIndex;
- ID3D12Resource* pReferenceTexture2D;
- UINT ReferenceSubresourceIndex;
- ID3D12VideoMotionVectorHeap* pHintMotionVectorHeap;
-} D3D12_VIDEO_MOTION_ESTIMATOR_INPUT;
-
-typedef struct D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT
-{
- ID3D12Resource* pMotionVectorTexture2D;
- D3D12_RESOURCE_COORDINATE MotionVectorCoordinate;
-} D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT;
-
-typedef struct D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT
-{
- ID3D12VideoMotionVectorHeap* pMotionVectorHeap;
- UINT PixelWidth;
- UINT PixelHeight;
-} D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT;
-
-[uuid(8455293A-0CBD-4831-9B39-FBDBAB724723), object, local, pointer_default(unique)]
-interface ID3D12VideoEncodeCommandList
- : ID3D12CommandList
-{
- HRESULT Close();
-
- HRESULT Reset(
- [annotation("_In_")] ID3D12CommandAllocator* pAllocator
- );
-
- void ClearState();
-
- void ResourceBarrier(
- [annotation("_In_")] UINT NumBarriers,
- [annotation("_In_reads_(NumBarriers)")] const D3D12_RESOURCE_BARRIER* pBarriers
- );
-
- void DiscardResource(
- [annotation("_In_")] ID3D12Resource* pResource,
- [annotation("_In_opt_")] const D3D12_DISCARD_REGION* pRegion
- );
-
- void BeginQuery(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT Index
- );
-
- void EndQuery(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT Index
- );
-
- void ResolveQueryData(
- [annotation("_In_")] ID3D12QueryHeap* pQueryHeap,
- [annotation("_In_")] D3D12_QUERY_TYPE Type,
- [annotation("_In_")] UINT StartIndex,
- [annotation("_In_")] UINT NumQueries,
- [annotation("_In_")] ID3D12Resource* pDestinationBuffer,
- [annotation("_In_")] UINT64 AlignedDestinationBufferOffset
- );
-
- void SetPredication(
- [annotation("_In_opt_")] ID3D12Resource* pBuffer,
- [annotation("_In_")] UINT64 AlignedBufferOffset,
- [annotation("_In_")] D3D12_PREDICATION_OP Operation
- );
-
- void SetMarker(
- UINT Metadata,
- [annotation("_In_reads_bytes_opt_(Size)")] const void* pData,
- UINT Size);
-
- void BeginEvent(
- UINT Metadata,
- [annotation("_In_reads_bytes_opt_(Size)")] const void* pData,
- UINT Size);
-
- void EndEvent();
-
- void EstimateMotion(
- [annotation("_In_")] ID3D12VideoMotionEstimator* pMotionEstimator,
- [annotation("_In_")] const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT* pOutputArguments,
- [annotation("_In_")] const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT* pInputArguments
- );
-
- void ResolveMotionVectorHeap(
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT* pOutputArguments,
- const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT* pInputArguments
- );
-
- void WriteBufferImmediate(
- UINT Count,
- [annotation("_In_reads_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- [annotation("_In_reads_opt_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes
- );
-
- void SetProtectedResourceSession(
- [annotation("_In_opt_")]ID3D12ProtectedResourceSession *pProtectedResourceSession
- );
-}
-
-typedef enum D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS
-{
- D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAG_NONE = 0x0,
- D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAG_SUPPORTED = 0x1,
-
-} D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS )")
-
-// D3D12_FEATURE_VIDEO_DECODE_PROTECTED_RESOURCES
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_DECODE_CONFIGURATION Configuration; // input
- D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; // output
-} D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES;
-
-// D3D12_FEATURE_VIDEO_PROCESS_PROTECTED_RESOURCES
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; // output
-} D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES;
-
-// D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES
-typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; // output
-} D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES;
-
-//D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE1
-typedef struct D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1
-{
- D3D12_VIDEO_DECODER_HEAP_DESC VideoDecoderHeapDesc; // input
- BOOL Protected; // input
- UINT64 MemoryPoolL0Size; // output
- UINT64 MemoryPoolL1Size; // output
-} D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1;
-
-// D3D12_FEATURE_VIDEO_PROCESSOR_SIZE1
-typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1
-{
- UINT NodeMask;
- const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc; // input
- UINT NumInputStreamDescs; // input
- const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs; // input
- BOOL Protected; // input
- UINT64 MemoryPoolL0Size; // output
- UINT64 MemoryPoolL1Size; // output
-} D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1;
-
-typedef enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE
-{
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CREATION = 0,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_EXECUTION = 2,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_INPUT = 3,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_OUTPUT = 4,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_DEVICE_EXECUTE_INPUT = 5,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_DEVICE_EXECUTE_OUTPUT = 6,
-} D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE;
-
-typedef enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE
-{
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT8 = 0,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT16 = 1,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT32 = 2,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT64 = 3,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT8 = 4,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT16 = 5,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT32 = 6,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT64 = 7,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_FLOAT = 8,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_DOUBLE = 9,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_RESOURCE = 10,
-} D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE;
-
-typedef enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS
-{
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_NONE = 0x00000000,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_READ = 0x00000001,
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_WRITE = 0x00000002
-} D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS;
-
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS )")
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT
-{
- UINT NodeIndex; // in
- UINT CommandCount; // out
-} D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT;
-
-typedef struct D3D12_VIDEO_EXTENSION_COMMAND_INFO
-{
- GUID CommandId;
- LPCWSTR Name;
- D3D12_COMMAND_LIST_SUPPORT_FLAGS CommandListSupportFlags;
-} D3D12_VIDEO_EXTENSION_COMMAND_INFO;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS
-{
- UINT NodeIndex;
- UINT CommandCount;
- [annotation("_Field_size_full_(CommandCount)")] D3D12_VIDEO_EXTENSION_COMMAND_INFO* pCommandInfos;
-} D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT
-{
- GUID CommandId; // in
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE Stage; // in
- UINT ParameterCount; // out
- UINT ParameterPacking; // out
-} D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT;
-
-typedef struct D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO
-{
- LPCWSTR Name;
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE Type;
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS Flags;
-} D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS
-{
- GUID CommandId; // in
- D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE Stage; // in
- UINT ParameterCount; // in
- [annotation("_Field_size_full_(ParameterCount)")] D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO* pParameterInfos; // out
-} D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT
-{
- UINT NodeIndex;
- GUID CommandId;
- [annotation("_Field_size_bytes_full_opt_(InputDataSizeInBytes)")] const void *pInputData;
- SIZE_T InputDataSizeInBytes;
- [annotation("_Field_size_bytes_full_opt_(OutputDataSizeInBytes)")] void *pOutputData;
- SIZE_T OutputDataSizeInBytes;
-} D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE
-{
- UINT NodeIndex;
- GUID CommandId;
- [annotation("_Field_size_bytes_full_(CreationParametersDataSizeInBytes)")] const void* pCreationParameters;
- SIZE_T CreationParametersSizeInBytes;
- UINT64 MemoryPoolL0Size; // output
- UINT64 MemoryPoolL1Size; // output
-} D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE;
-
-typedef struct D3D12_VIDEO_EXTENSION_COMMAND_DESC
-{
- UINT NodeMask;
- GUID CommandId;
-} D3D12_VIDEO_EXTENSION_COMMAND_DESC;
-
-[uuid(79A2E5FB-CCD2-469A-9FDE-195D10951F7E), object, local, pointer_default(unique)]
-interface ID3D12VideoDecoder1
- : ID3D12VideoDecoder
-{
- HRESULT GetProtectedResourceSession(
- [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession);
-}
-
-[uuid(DA1D98C5-539F-41B2-BF6B-1198A03B6D26), object, local, pointer_default(unique)]
-interface ID3D12VideoDecoderHeap1
- : ID3D12VideoDecoderHeap
-{
- HRESULT GetProtectedResourceSession(
- [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession);
-}
-
-[uuid(F3CFE615-553F-425C-86D8-EE8C1B1FB01C), object, local, pointer_default(unique)]
-interface ID3D12VideoProcessor1
- : ID3D12VideoProcessor
-{
- HRESULT GetProtectedResourceSession(
- [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession);
-}
-
-[uuid(554E41E8-AE8E-4A8C-B7D2-5B4F274A30E4), object, local, pointer_default(unique)]
-interface ID3D12VideoExtensionCommand
- : ID3D12Pageable
-{
- D3D12_VIDEO_EXTENSION_COMMAND_DESC GetDesc();
-
- HRESULT GetProtectedResourceSession(
- [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession
- [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession);
-}
-
-[uuid(F019AC49-F838-4A95-9B17-579437C8F513), object, local, pointer_default(unique)]
-interface ID3D12VideoDevice2
- : ID3D12VideoDevice1
-{
- HRESULT CreateVideoDecoder1(
- [annotation("_In_")] const D3D12_VIDEO_DECODER_DESC* pDesc,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedResourceSession,
- [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoDecoder1,
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoDecoder
- );
-
- HRESULT CreateVideoDecoderHeap1(
- [annotation("_In_")] const D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedResourceSession,
- [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoDecoderHeap1,
- [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoDecoderHeap
- );
-
- HRESULT CreateVideoProcessor1(
- UINT NodeMask,
- [annotation("_In_")] const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc,
- UINT NumInputStreamDescs,
- [annotation("_In_reads_(NumInputStreamDescs)")]const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedResourceSession,
- [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoProcessor1,
- [out, iid_is(riid), annotation("_COM_Outptr_")] void **ppVideoProcessor
- );
-
- HRESULT CreateVideoExtensionCommand(
- [annotation("_In_")] const D3D12_VIDEO_EXTENSION_COMMAND_DESC* pDesc,
- [annotation("_In_reads_bytes_(CreationParametersDataSizeInBytes)")] const void* pCreationParameters,
- SIZE_T CreationParametersDataSizeInBytes,
- [annotation("_In_opt_")] ID3D12ProtectedResourceSession* pProtectedResourceSession,
- [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoExtensionCommand,
- [annotation("_COM_Outptr_")] void** ppVideoExtensionCommand);
-
- HRESULT ExecuteExtensionCommand(
- [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand,
- [annotation("_In_reads_bytes_(ExecutionParametersSizeInBytes)")] const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes,
- [annotation("_Out_writes_bytes_(OutputDataSizeInBytes)")] void *pOutputData,
- SIZE_T OutputDataSizeInBytes
- );
-}
-
-[uuid(6e120880-c114-4153-8036-d247051e1729), object, local, pointer_default(unique)]
-interface ID3D12VideoDecodeCommandList2
- : ID3D12VideoDecodeCommandList1
-{
- void SetProtectedResourceSession(
- [annotation("_In_opt_")]ID3D12ProtectedResourceSession *pProtectedResourceSession
- );
-
- void InitializeExtensionCommand(
- [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand,
- [annotation("_In_reads_bytes_(InitializationParametersSizeInBytes)")] const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes);
-
- void ExecuteExtensionCommand(
- [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand,
- [annotation("_In_reads_bytes_(ExecutionParametersSizeInBytes)")] const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes);
-}
-
-[uuid(2aee8c37-9562-42da-8abf-61efeb2e4513), object, local, pointer_default(unique)]
-interface ID3D12VideoDecodeCommandList3
- : ID3D12VideoDecodeCommandList2
-{
- void Barrier(
- UINT32 NumBarrierGroups,
- [annotation("_In_reads_(NumBarrierGroups)")] const D3D12_BARRIER_GROUP *pBarrierGroups
- );
-}
-
-[uuid(db525ae4-6ad6-473c-baa7-59b2e37082e4), object, local, pointer_default(unique)]
-interface ID3D12VideoProcessCommandList2
- : ID3D12VideoProcessCommandList1
-{
-
- void SetProtectedResourceSession(
- [annotation("_In_opt_")]ID3D12ProtectedResourceSession *pProtectedResourceSession
- );
-
- void InitializeExtensionCommand(
- [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand,
- [annotation("_In_reads_bytes_(InitializationParametersSizeInBytes)")] const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes);
-
- void ExecuteExtensionCommand(
- [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand,
- [annotation("_In_reads_bytes_(ExecutionParametersSizeInBytes)")] const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes);
-}
-
-[uuid(1a0a4ca4-9f08-40ce-9558-b411fd2666ff), object, local, pointer_default(unique)]
-interface ID3D12VideoProcessCommandList3
- : ID3D12VideoProcessCommandList2
-{
- void Barrier(
- UINT32 NumBarrierGroups,
- [annotation("_In_reads_(NumBarrierGroups)")] const D3D12_BARRIER_GROUP *pBarrierGroups
- );
-}
-
-[uuid(94971eca-2bdb-4769-88cf-3675ea757ebc), object, local, pointer_default(unique)]
-interface ID3D12VideoEncodeCommandList1
- : ID3D12VideoEncodeCommandList
-{
- void InitializeExtensionCommand(
- [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand,
- [annotation("_In_reads_bytes_(InitializationParametersSizeInBytes)")] const void *pInitializationParameters,
- SIZE_T InitializationParametersSizeInBytes);
-
- void ExecuteExtensionCommand(
- [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand,
- [annotation("_In_reads_bytes_(ExecutionParametersSizeInBytes)")] const void *pExecutionParameters,
- SIZE_T ExecutionParametersSizeInBytes);
-}
-
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG2, 0xee27417f, 0x5e28, 0x4e65, 0xbe, 0xea, 0x1d, 0x26, 0xb5, 0x08, 0xad, 0xc9); ")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG1_AND_MPEG2, 0x86695f12, 0x340e, 0x4f04, 0x9f, 0xd3, 0x92, 0x53, 0xdd, 0x32, 0x74, 0x60); ")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264, 0x1b81be68, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_STEREO_PROGRESSIVE, 0xd79be8da, 0x0cf1, 0x4c81, 0xb8, 0x2a, 0x69, 0xa4, 0xe2, 0x36, 0xf4, 0x3d);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_STEREO, 0xf9aaccbb, 0xc2b6, 0x4cfc, 0x87, 0x79, 0x57, 0x07, 0xb1, 0x76, 0x05, 0x52);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_MULTIVIEW, 0x705b9d82, 0x76cf, 0x49d6, 0xb7, 0xe6, 0xac, 0x88, 0x72, 0xdb, 0x01, 0x3c);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VC1, 0x1b81beA3, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VC1_D2010, 0x1b81beA4, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_SIMPLE, 0xefd64d74, 0xc9e8,0x41d7,0xa5,0xe9,0xe9,0xb0,0xe3,0x9f,0xa3,0x19);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_ADVSIMPLE_NOGMC, 0xed418a9f, 0x010d, 0x4eda, 0x9a, 0xe3, 0x9a, 0x65, 0x35, 0x8d, 0x8d, 0x2e);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN, 0x5b11d51b, 0x2f4c, 0x4452, 0xbc, 0xc3, 0x09, 0xf2, 0xa1, 0x16, 0x0c, 0xc0);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10, 0x107af0e0, 0xef1a, 0x4d19, 0xab, 0xa8, 0x67, 0xa1, 0x63, 0x07, 0x3d, 0x13);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MONOCHROME, 0x0685b993, 0x3d8c, 0x43a0, 0x8b, 0x28, 0xd7, 0x4c, 0x2d, 0x68, 0x99, 0xa4);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MONOCHROME10, 0x142a1d0f, 0x69dd, 0x4ec9, 0x85, 0x91, 0xb1, 0x2f, 0xfc, 0xb9, 0x1a, 0x29);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12, 0x1a72925f, 0x0c2c, 0x4f15, 0x96, 0xfb, 0xb1, 0x7d, 0x14, 0x73, 0x60, 0x3f);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_422, 0x0bac4fe5, 0x1532, 0x4429, 0xa8, 0x54, 0xf8, 0x4d, 0xe0, 0x49, 0x53, 0xdb);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12_422, 0x55bcac81, 0xf311, 0x4093, 0xa7, 0xd0, 0x1c, 0xbc, 0x0b, 0x84, 0x9b, 0xee);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN_444, 0x4008018f, 0xf537, 0x4b36, 0x98, 0xcf, 0x61, 0xaf, 0x8a, 0x2c, 0x1a, 0x33);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_EXT, 0x9cc55490, 0xe37c, 0x4932, 0x86, 0x84, 0x49, 0x20, 0xf9, 0xf6, 0x40, 0x9c);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_444, 0x0dabeffa, 0x4458, 0x4602, 0xbc, 0x03, 0x07, 0x95, 0x65, 0x9d, 0x61, 0x7c);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12_444, 0x9798634d, 0xfe9d, 0x48e5, 0xb4, 0xda, 0xdb, 0xec, 0x45, 0xb3, 0xdf, 0x01);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN16, 0xa4fbdbb0, 0xa113, 0x482b, 0xa2, 0x32, 0x63, 0x5c, 0xc0, 0x69, 0x7f, 0x6d);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP9, 0x463707f8, 0xa1d0, 0x4585, 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP9_10BIT_PROFILE2, 0xa4c749ef, 0x6ecf, 0x48aa, 0x84, 0x48, 0x50, 0xa7, 0xa1, 0x16, 0x5f, 0xf7);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP8, 0x90b899ea, 0x3a62, 0x4705, 0x88, 0xb3, 0x8d, 0xf0, 0x4b, 0x27, 0x44, 0xe7);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE0, 0xb8be4ccb, 0xcf53, 0x46ba, 0x8d, 0x59, 0xd6, 0xb8, 0xa6, 0xda, 0x5d, 0x2a);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE1, 0x6936ff0f, 0x45b1, 0x4163, 0x9c, 0xc1, 0x64, 0x6e, 0xf6, 0x94, 0x61, 0x08);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE2, 0x0c5f2aa1, 0xe541, 0x4089, 0xbb, 0x7b, 0x98, 0x11, 0x0a, 0x19, 0xd7, 0xc8);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2, 0x17127009, 0xa00f, 0x4ce1, 0x99, 0x4e, 0xbf, 0x40, 0x81, 0xf6, 0xf3, 0xf0);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2_420, 0x2d80bed6, 0x9cac, 0x4835, 0x9e, 0x91, 0x32, 0x7b, 0xbc, 0x4f, 0x9e, 0xe8);")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_420, 0x725cb506, 0xc29, 0x43c4, 0x94, 0x40, 0x8e, 0x93, 0x97, 0x90, 0x3a, 0x4); ")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_422, 0x5b77b9cd, 0x1a35, 0x4c30, 0x9f, 0xd8, 0xef, 0x4b, 0x60, 0xc0, 0x35, 0xdd); ")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_444, 0xd95161f9, 0xd44, 0x47e6, 0xbc, 0xf5, 0x1b, 0xfb, 0xfb, 0x26, 0x8f, 0x97); ")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_4444, 0xc91748d5, 0xfd18, 0x4aca, 0x9d, 0xb3, 0x3a, 0x66, 0x34, 0xab, 0x54, 0x7d); ")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_420, 0xcf782c83, 0xbef5, 0x4a2c, 0x87, 0xcb, 0x60, 0x19, 0xe7, 0xb1, 0x75, 0xac); ")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_422, 0xf04df417, 0xeee2, 0x4067, 0xa7, 0x78, 0xf3, 0x5c, 0x15, 0xab, 0x97, 0x21); ")
-cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_444, 0x4cd00e17, 0x89ba, 0x48ef, 0xb9, 0xf9, 0xed, 0xcb, 0x82, 0x71, 0x3f, 0x65);")
-
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// Video Encoder
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_PROFILE
-{
- D3D12_VIDEO_ENCODER_AV1_PROFILE_MAIN = 0,
- D3D12_VIDEO_ENCODER_AV1_PROFILE_HIGH = 1,
- D3D12_VIDEO_ENCODER_AV1_PROFILE_PROFESSIONAL = 2,
-} D3D12_VIDEO_ENCODER_AV1_PROFILE;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_LEVELS
-{ // These values are defined according to the AV1 codec standard spec
- D3D12_VIDEO_ENCODER_AV1_LEVELS_2_0 = 0,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_2_1 = 1,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_2_2 = 2,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_2_3 = 3,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_3_0 = 4,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_3_1 = 5,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_3_2 = 6,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_3_3 = 7,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_4_0 = 8,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_4_1 = 9,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_4_2 = 10,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_4_3 = 11,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_5_0 = 12,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_5_1 = 13,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_5_2 = 14,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_5_3 = 15,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_6_0 = 16,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_6_1 = 17,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_6_2 = 18,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_6_3 = 19,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_7_0 = 20,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_7_1 = 21,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_7_2 = 22,
- D3D12_VIDEO_ENCODER_AV1_LEVELS_7_3 = 23,
-} D3D12_VIDEO_ENCODER_AV1_LEVELS;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_TIER
-{
- D3D12_VIDEO_ENCODER_AV1_TIER_MAIN = 0,
- D3D12_VIDEO_ENCODER_AV1_TIER_HIGH = 1,
-} D3D12_VIDEO_ENCODER_AV1_TIER;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS
-{
- D3D12_VIDEO_ENCODER_AV1_LEVELS Level;
- D3D12_VIDEO_ENCODER_AV1_TIER Tier;
-} D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS
-{
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_128x128_SUPERBLOCK = 0x1,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FILTER_INTRA = 0x2,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_EDGE_FILTER = 0x4,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTERINTRA_COMPOUND = 0x8,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MASKED_COMPOUND = 0x10,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_WARPED_MOTION = 0x20,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DUAL_FILTER = 0x40,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_JNT_COMP = 0x80,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FORCED_INTEGER_MOTION_VECTORS = 0x100,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SUPER_RESOLUTION = 0x200,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_RESTORATION_FILTER = 0x400,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_PALETTE_ENCODING = 0x800,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CDEF_FILTERING = 0x1000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_BLOCK_COPY = 0x2000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x4000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ORDER_HINT_TOOLS = 0x8000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_AUTO_SEGMENTATION = 0x10000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CUSTOM_SEGMENTATION = 0x20000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_FILTER_DELTAS = 0x40000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_DELTAS = 0x80000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_MATRIX = 0x100000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_REDUCED_TX_SET = 0x200000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MOTION_MODE_SWITCHABLE = 0x400000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ALLOW_HIGH_PRECISION_MV = 0x800000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SKIP_MODE_PRESENT = 0x1000000,
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DELTA_LF_PARAMS = 0x2000000,
-} D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS)")
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_TX_MODE {
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4 = 0,
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST = 1,
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT = 2,
-} D3D12_VIDEO_ENCODER_AV1_TX_MODE;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS {
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_ONLY4x4 = (1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4),
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_LARGEST = (1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST),
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_SELECT = (1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT),
-} D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS)")
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS {
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP = 0,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH = 1,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP = 2,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR = 3,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE = 4,
-} D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS {
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP),
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SMOOTH = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH),
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SHARP = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP),
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_BILINEAR = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR),
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_SWITCHABLE = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE),
-} D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS)")
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE {
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_4x4 = 0,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_8x8 = 1,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_16x16 = 2,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_32x32 = 3,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_64x64 = 4,
-} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE {
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED = 0,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q = 1,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V = 2,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H = 3,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U = 4,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V = 5,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME = 6,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP = 7,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV = 8,
-} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS {
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_DISABLED = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED),
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_Q = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q),
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_V = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V),
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_H = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H),
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_U = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U),
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_V = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V),
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_REF_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME),
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_SKIP = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP),
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_GLOBALMV = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV),
-} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS)")
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE {
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_DISABLED = 0,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SWITCHABLE = 1,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_WIENER = 2,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SGRPROJ = 3,
-} D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE {
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_DISABLED = 0,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_32x32 = 1,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_64x64 = 2,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_128x128 = 3,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_256x256 = 4,
-} D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS {
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_NOT_SUPPORTED = 0x0,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_32x32 = 0x1,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_64x64 = 0x2,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_128x128 = 0x4,
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_256x256 = 0x8,
-} D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS)")
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION
-{
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY = 0,
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION = 1,
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM = 2,
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE = 3,
-} D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS {
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_NONE = 0, // None is supported, reference warp motion arguments are ignored and is_global syntax is false for all references
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_IDENTITY = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY),
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_TRANSLATION = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION),
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_ROTZOOM = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM),
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_AFFINE = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE),
-} D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS)")
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS {
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_NONE = 0,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION = 0x1,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION_DELTA = 0x2,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER = 0x4,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER_DELTA = 0x8,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CDEF_DATA = 0x10,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CONTEXT_UPDATE_TILE_ID = 0x20,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_COMPOUND_PREDICTION_MODE = 0x40,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_PRIMARY_REF_FRAME = 0x80,
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_REFERENCE_INDICES = 0x100,
-} D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT {
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS SupportedFeatureFlags;
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS RequiredFeatureFlags;
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS SupportedInterpolationFilters;
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS SupportedRestorationParams[3][3];
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS SupportedSegmentationModes;
- D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS SupportedTxModes[4]; // Different for D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE types
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE SegmentationBlockSize;
- D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS PostEncodeValuesFlags;
- UINT MaxTemporalLayers;
- UINT MaxSpatialLayers;
-} D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE
-{
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME = 0,
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME = 1,
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME = 2,
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME = 3,
-} D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS {
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_KEY_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME),
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTER_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME),
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTRA_ONLY_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME),
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_SWITCH_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME),
-} D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS)")
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE
-{
- D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_SINGLE_REFERENCE = 0,
- D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_COMPOUND_REFERENCE = 1,
-} D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT {
- D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE PredictionMode;
- UINT MaxUniqueReferencesPerFrame;
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS SupportedFrameTypes;
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS SupportedReferenceWarpedMotionFlags;
-} D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION {
- D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS FeatureFlags;
- UINT OrderHintBitsMinus1;
-} D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE
-{
- UINT IntraDistance;
- UINT InterFramePeriod;
-} D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO
-{
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION TransformationType;
- INT TransformationMatrix[8];
- BOOL InvalidAffineSet; // Valid or invalid on affine set
-} D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR
-{
- UINT ReconstructedPictureResourceIndex;
- UINT TemporalLayerIndexPlus1;
- UINT SpatialLayerIndexPlus1;
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType;
- // Only used if supported in D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS, ignored by driver otherwise
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO WarpedMotionInfo;
- UINT OrderHint;
- UINT PictureIndex;
-} D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS
-{
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_ERROR_RESILIENT_MODE = 0x1,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_CDF_UPDATE = 0x2,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_PALETTE_ENCODING = 0x4,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_SKIP_MODE = 0x8,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x10,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FORCE_INTEGER_MOTION_VECTORS = 0x20,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_INTRA_BLOCK_COPY = 0x40,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_USE_SUPER_RESOLUTION = 0x80,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_FRAME_END_UPDATE_CDF = 0x100,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_AUTO = 0x200,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_CUSTOM = 0x400,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_WARPED_MOTION = 0x800,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_REDUCED_TX_SET = 0x1000,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_MOTION_MODE_SWITCHABLE = 0x2000,
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_HIGH_PRECISION_MV = 0x4000,
-
-} D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG {
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE FrameRestorationType[3];
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE LoopRestorationPixelSize[3];
-} D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA {
- UINT64 EnabledFeatures; // D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS
- // For the enabled features in EnabledFeatures, the array below
- // is indexed by D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE - 1
- INT64 FeatureValue[8];
-} D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG {
- UINT64 UpdateMap;
- UINT64 TemporalUpdate;
- UINT64 UpdateData;
- UINT64 NumSegments;
- D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA SegmentsData[8];
-} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP {
- UINT SegmentsMapByteSize;
- UINT8* pSegmentsMap;
-} D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG {
- UINT64 LoopFilterLevel[2];
- UINT64 LoopFilterLevelU;
- UINT64 LoopFilterLevelV;
- UINT64 LoopFilterSharpnessLevel;
- UINT64 LoopFilterDeltaEnabled;
- // loop_filter_delta_update = UpdateRefDelta || UpdateModeDelta
- UINT64 UpdateRefDelta;
- INT64 RefDeltas[8];
- UINT64 UpdateModeDelta;
- INT64 ModeDeltas[2];
-} D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG {
- UINT64 DeltaLFPresent;
- UINT64 DeltaLFMulti;
- UINT64 DeltaLFRes;
-} D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG {
- UINT64 BaseQIndex;
- INT64 YDCDeltaQ;
- INT64 UDCDeltaQ;
- INT64 UACDeltaQ;
- INT64 VDCDeltaQ;
- INT64 VACDeltaQ;
- UINT64 UsingQMatrix;
- UINT64 QMY;
- UINT64 QMU;
- UINT64 QMV;
-} D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG {
- UINT64 DeltaQPresent;
- UINT64 DeltaQRes;
-} D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG {
- UINT64 CdefBits;
- UINT64 CdefDampingMinus3;
- UINT64 CdefYPriStrength[8];
- UINT64 CdefUVPriStrength[8];
- UINT64 CdefYSecStrength[8];
- UINT64 CdefUVSecStrength[8];
-} D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA
-{
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS Flags;
- D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType;
- D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE CompoundPredictionType;
- D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS InterpolationFilter;
- D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG FrameRestorationConfig;
- D3D12_VIDEO_ENCODER_AV1_TX_MODE TxMode;
- UINT SuperResDenominator;
- UINT OrderHint;
- UINT PictureIndex;
- UINT TemporalLayerIndexPlus1;
- UINT SpatialLayerIndexPlus1;
- D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR ReferenceFramesReconPictureDescriptors[8];
- UINT ReferenceIndices[7];
- UINT PrimaryRefFrame;
- UINT RefreshFrameFlags;
- D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter;
- D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta;
- D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization;
- D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta;
- D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF;
- UINT QPMapValuesCount;
- [annotation("_Field_size_full_(QPMapValuesCount)")] INT16* pRateControlQPMap;
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG CustomSegmentation;
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP CustomSegmentsMap;
-} D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES
-{
- UINT64 RowCount;
- UINT64 ColCount;
- UINT64 RowHeights[D3D12_VIDEO_ENCODER_AV1_MAX_TILE_ROWS];
- UINT64 ColWidths[D3D12_VIDEO_ENCODER_AV1_MAX_TILE_COLS];
- UINT64 ContextUpdateTileId;
-} D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES;
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES
-{
- UINT64 CompoundPredictionType; // D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE
- D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter;
- D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta;
- D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization;
- D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta;
- D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF;
- D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG SegmentationConfig;
- UINT64 PrimaryRefFrame; // Aligned to 64 for use of post encode metadata with predication
- UINT64 ReferenceIndices[7]; // Aligned to 64 for use of post encode metadata with predication
-} D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES;
-
-//
-// Rate control API
-//
-
-typedef enum D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE
-{
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP = 0,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP = 1,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CBR = 2,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_VBR = 3,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_QVBR = 4,
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE;
-
-typedef enum D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS
-{
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_DELTA_QP = 0x1,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_FRAME_ANALYSIS = 0x2,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QP_RANGE = 0x4,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_INITIAL_QP = 0x8,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_MAX_FRAME_SIZE = 0x10,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_VBV_SIZES = 0x20,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_EXTENSION1_SUPPORT = 0x40,
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QUALITY_VS_SPEED = 0x80,
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP {
- UINT ConstantQP_FullIntracodedFrame;
- UINT ConstantQP_InterPredictedFrame_PrevRefOnly;
- UINT ConstantQP_InterPredictedFrame_BiDirectionalRef;
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1 {
- UINT ConstantQP_FullIntracodedFrame;
- UINT ConstantQP_InterPredictedFrame_PrevRefOnly;
- UINT ConstantQP_InterPredictedFrame_BiDirectionalRef;
- UINT QualityVsSpeed;
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR {
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetBitRate;
- UINT64 VBVCapacity;
- UINT64 InitialVBVFullness;
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1 {
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetBitRate;
- UINT64 VBVCapacity;
- UINT64 InitialVBVFullness;
- UINT QualityVsSpeed;
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR {
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetAvgBitRate;
- UINT64 PeakBitRate;
- UINT64 VBVCapacity;
- UINT64 InitialVBVFullness;
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1 {
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetAvgBitRate;
- UINT64 PeakBitRate;
- UINT64 VBVCapacity;
- UINT64 InitialVBVFullness;
- UINT QualityVsSpeed;
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR {
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetAvgBitRate;
- UINT64 PeakBitRate;
- UINT ConstantQualityTarget;
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1
-{
- UINT InitialQP;
- UINT MinQP;
- UINT MaxQP;
- UINT64 MaxFrameBitSize;
- UINT64 TargetAvgBitRate;
- UINT64 PeakBitRate;
- UINT ConstantQualityTarget;
- UINT64 VBVCapacity;
- UINT64 InitialVBVFullness;
- UINT QualityVsSpeed;
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP {
- UINT QualityVsSpeed;
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS
-{
- UINT DataSize;
- union
- {
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP* pConfiguration_CQP;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR* pConfiguration_CBR;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR* pConfiguration_VBR;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR* pConfiguration_QVBR;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1* pConfiguration_CQP1;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1* pConfiguration_CBR1;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1* pConfiguration_VBR1;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1* pConfiguration_QVBR1;
- const D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP* pConfiguration_AbsoluteQPMap;
- };
-} D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS;
-
-typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL {
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE Mode;
- D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS Flags;
- D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS ConfigParams;
- DXGI_RATIONAL TargetFrameRate;
-} D3D12_VIDEO_ENCODER_RATE_CONTROL;
-
-//
-// Video Encoder support API
-//
-
-typedef enum D3D12_VIDEO_ENCODER_CODEC
-{
- D3D12_VIDEO_ENCODER_CODEC_H264 = 0,
- D3D12_VIDEO_ENCODER_CODEC_HEVC = 1,
- D3D12_VIDEO_ENCODER_CODEC_AV1 = 2,
-} D3D12_VIDEO_ENCODER_CODEC;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- BOOL IsSupported; // output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC;
-
-typedef enum D3D12_VIDEO_ENCODER_PROFILE_H264
-{
- D3D12_VIDEO_ENCODER_PROFILE_H264_MAIN = 0,
- D3D12_VIDEO_ENCODER_PROFILE_H264_HIGH = 1,
- D3D12_VIDEO_ENCODER_PROFILE_H264_HIGH_10 = 2,
-} D3D12_VIDEO_ENCODER_PROFILE_H264;
-
-typedef enum D3D12_VIDEO_ENCODER_PROFILE_HEVC
-{
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN = 0,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10 = 1,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12 = 2,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10_422 = 3,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12_422 = 4,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN_444 = 5,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10_444 = 6,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12_444 = 7,
- D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN16_444 = 8,
-} D3D12_VIDEO_ENCODER_PROFILE_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_PROFILE_DESC
-{
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_PROFILE_H264* pH264Profile;
- D3D12_VIDEO_ENCODER_PROFILE_HEVC* pHEVCProfile;
- D3D12_VIDEO_ENCODER_AV1_PROFILE* pAV1Profile;
- };
-} D3D12_VIDEO_ENCODER_PROFILE_DESC;
-
-typedef enum D3D12_VIDEO_ENCODER_LEVELS_H264
-{
- D3D12_VIDEO_ENCODER_LEVELS_H264_1 = 0,
- D3D12_VIDEO_ENCODER_LEVELS_H264_1b = 1,
- D3D12_VIDEO_ENCODER_LEVELS_H264_11 = 2,
- D3D12_VIDEO_ENCODER_LEVELS_H264_12 = 3,
- D3D12_VIDEO_ENCODER_LEVELS_H264_13 = 4,
- D3D12_VIDEO_ENCODER_LEVELS_H264_2 = 5,
- D3D12_VIDEO_ENCODER_LEVELS_H264_21 = 6,
- D3D12_VIDEO_ENCODER_LEVELS_H264_22 = 7,
- D3D12_VIDEO_ENCODER_LEVELS_H264_3 = 8,
- D3D12_VIDEO_ENCODER_LEVELS_H264_31 = 9,
- D3D12_VIDEO_ENCODER_LEVELS_H264_32 = 10,
- D3D12_VIDEO_ENCODER_LEVELS_H264_4 = 11,
- D3D12_VIDEO_ENCODER_LEVELS_H264_41 = 12,
- D3D12_VIDEO_ENCODER_LEVELS_H264_42 = 13,
- D3D12_VIDEO_ENCODER_LEVELS_H264_5 = 14,
- D3D12_VIDEO_ENCODER_LEVELS_H264_51 = 15,
- D3D12_VIDEO_ENCODER_LEVELS_H264_52 = 16,
- D3D12_VIDEO_ENCODER_LEVELS_H264_6 = 17,
- D3D12_VIDEO_ENCODER_LEVELS_H264_61 = 18,
- D3D12_VIDEO_ENCODER_LEVELS_H264_62 = 19,
-} D3D12_VIDEO_ENCODER_LEVELS_H264;
-
-typedef enum D3D12_VIDEO_ENCODER_TIER_HEVC
-{
- D3D12_VIDEO_ENCODER_TIER_HEVC_MAIN = 0,
- D3D12_VIDEO_ENCODER_TIER_HEVC_HIGH = 1,
-} D3D12_VIDEO_ENCODER_TIER_HEVC;
-
-typedef enum D3D12_VIDEO_ENCODER_LEVELS_HEVC
-{
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_1 = 0,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_2 = 1,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_21 = 2,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_3 = 3,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_31 = 4,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_4 = 5,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_41 = 6,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_5 = 7,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_51 = 8,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_52 = 9,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_6 = 10,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_61 = 11,
- D3D12_VIDEO_ENCODER_LEVELS_HEVC_62 = 12,
-} D3D12_VIDEO_ENCODER_LEVELS_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC
-{
- D3D12_VIDEO_ENCODER_LEVELS_HEVC Level;
- D3D12_VIDEO_ENCODER_TIER_HEVC Tier;
-} D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_LEVEL_SETTING
-{
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_LEVELS_H264* pH264LevelSetting;
- D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC* pHEVCLevelSetting;
- D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS* pAV1LevelSetting;
- };
-} D3D12_VIDEO_ENCODER_LEVEL_SETTING;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input
- BOOL IsSupported; // output
- D3D12_VIDEO_ENCODER_LEVEL_SETTING MinSupportedLevel; // output
- D3D12_VIDEO_ENCODER_LEVEL_SETTING MaxSupportedLevel; // output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC
-{
- UINT Width;
- UINT Height;
-} D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC
-{
- UINT WidthRatio;
- UINT HeightRatio;
-} D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- UINT ResolutionRatiosCount; // output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- UINT ResolutionRatiosCount; // input
- BOOL IsSupported; // output
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC MinResolutionSupported; // output
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC MaxResolutionSupported; // output
- UINT ResolutionWidthMultipleRequirement; // output
- UINT ResolutionHeightMultipleRequirement; // output
- [annotation("_Field_size_full_(ResolutionRatiosCount)")] D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC* pResolutionRatios;
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input
- DXGI_FORMAT Format; // input
- BOOL IsSupported; // output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE RateControlMode; // input
- BOOL IsSupported; // output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE;
-
-typedef enum D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE
-{
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_NONE = 0,
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_ROW_BASED = 1,
-} D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE {
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input
- D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; // input
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefreshMode; // input
- BOOL IsSupported; // output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE;
-
-typedef enum D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE
-{
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_FULL_FRAME = 0,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_BYTES_PER_SUBREGION = 1,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_SQUARE_UNITS_PER_SUBREGION_ROW_UNALIGNED = 2,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_ROWS_PER_SUBREGION = 3,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME = 4,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_GRID_PARTITION = 5,
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_CONFIGURABLE_GRID_PARTITION = 6,
-} D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input
- D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; // input
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionMode; // input
- BOOL IsSupported; // output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE;
-
-typedef enum D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS
-{
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_NOT_SPECIFIED = 0x1,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_CODEC_CONSTRAINT = 0x2,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_HARDWARE_CONSTRAINT = 0x4,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_ROWS_COUNT = 0x8,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_COLS_COUNT = 0x10,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_WIDTH = 0x20,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_AREA = 0x40,
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_TOTAL_TILES = 0x80,
-
-} D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT
-{
- BOOL Use128SuperBlocks;
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES TilesConfiguration;
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS ValidationFlags;
- UINT MinTileRows;
- UINT MaxTileRows;
- UINT MinTileCols;
- UINT MaxTileCols;
- UINT MinTileWidth;
- UINT MaxTileWidth;
- UINT MinTileArea;
- UINT MaxTileArea;
- UINT TileSizeBytesMinus1;
-} D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT;
-
-typedef struct D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT {
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT* pAV1Support;
- };
-} D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input
- D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; // input
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionMode; // input
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC FrameResolution; // input
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT CodecSupport; // input/output
- BOOL IsSupported; // output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG;
-
-typedef enum D3D12_VIDEO_ENCODER_HEAP_FLAGS
-{
- D3D12_VIDEO_ENCODER_HEAP_FLAG_NONE = 0x0,
-} D3D12_VIDEO_ENCODER_HEAP_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_HEAP_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_HEAP_DESC
-{
- UINT NodeMask;
- D3D12_VIDEO_ENCODER_HEAP_FLAGS Flags;
- D3D12_VIDEO_ENCODER_CODEC EncodeCodec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile;
- D3D12_VIDEO_ENCODER_LEVEL_SETTING EncodeLevel;
- UINT ResolutionsListCount;
- [annotation("_Field_size_full_(ResolutionsListCount)")] const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList;
-} D3D12_VIDEO_ENCODER_HEAP_DESC;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE {
- D3D12_VIDEO_ENCODER_HEAP_DESC HeapDesc; // input
- BOOL IsSupported; // output
- UINT64 MemoryPoolL0Size; // output
- UINT64 MemoryPoolL1Size; // output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE;
-
-typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS
-{
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CABAC_ENCODING_SUPPORT = 0x1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = 0x2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x4,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_ADAPTIVE_8x8_TRANSFORM_ENCODING_SUPPORT = 0x8,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_SPATIAL_ENCODING_SUPPORT = 0x10,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_TEMPORAL_ENCODING_SUPPORT = 0x20,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = 0x40,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE_SUPPORT = 0x80,
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS)")
-
-typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_1_DISABLE_ALL_SLICE_BLOCK_EDGES = 1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_2_DISABLE_SLICE_BOUNDARIES_BLOCKS = 2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_3_USE_TWO_STAGE_DEBLOCKING = 3,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_4_DISABLE_CHROMA_BLOCK_EDGES = 4,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES = 5,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = 6,
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES;
-
-typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED),
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_1_DISABLE_ALL_SLICE_BLOCK_EDGES = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_1_DISABLE_ALL_SLICE_BLOCK_EDGES),
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_2_DISABLE_SLICE_BOUNDARIES_BLOCKS = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_2_DISABLE_SLICE_BOUNDARIES_BLOCKS),
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_3_USE_TWO_STAGE_DEBLOCKING = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_3_USE_TWO_STAGE_DEBLOCKING),
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_4_DISABLE_CHROMA_BLOCK_EDGES = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_4_DISABLE_CHROMA_BLOCK_EDGES),
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES),
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING),
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264 {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS SupportFlags;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS DisableDeblockingFilterSupportedModes;
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264;
-
-typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS
-{
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = 0x2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = 0x4,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_SAO_FILTER_SUPPORT = 0x8,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_SUPPORT = 0x10,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_REQUIRED = 0x20,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_SUPPORT = 0x40,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_DISABLING_LOOP_FILTER_ACROSS_SLICES_SUPPORT = 0x80,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_P_FRAMES_IMPLEMENTED_AS_LOW_DELAY_B_FRAMES = 0x100,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE_SUPPORT = 0x200,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_ROTATION_ENABLED_SUPPORT = 0x400,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_ROTATION_ENABLED_REQUIRED = 0x800,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT_ENABLED_SUPPORT = 0x1000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT_ENABLED_REQUIRED = 0x2000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_IMPLICIT_RDPCM_ENABLED_SUPPORT = 0x4000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_IMPLICIT_RDPCM_ENABLED_REQUIRED = 0x8000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXPLICIT_RDPCM_ENABLED_SUPPORT = 0x10000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXPLICIT_RDPCM_ENABLED_REQUIRED = 0x20000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING_SUPPORT = 0x40000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING_REQUIRED = 0x80000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SMOOTHING_DISABLED_SUPPORT = 0x100000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SMOOTHING_DISABLED_REQUIRED = 0x200000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_HIGH_PRECISION_OFFSETS_ENABLED_SUPPORT = 0x400000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_HIGH_PRECISION_OFFSETS_ENABLED_REQUIRED = 0x800000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION_ENABLED_SUPPORT = 0x1000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION_ENABLED_REQUIRED = 0x2000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT_ENABLED_SUPPORT = 0x4000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT_ENABLED_REQUIRED = 0x8000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CROSS_COMPONENT_PREDICTION_ENABLED_FLAG_SUPPORT = 0x10000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CROSS_COMPONENT_PREDICTION_ENABLED_FLAG_REQUIRED = 0x20000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CHROMA_QP_OFFSET_LIST_ENABLED_FLAG_SUPPORT = 0x40000000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CHROMA_QP_OFFSET_LIST_ENABLED_FLAG_REQUIRED = 0x80000000, // 2^31 - 32 bit integer enum type
-
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS)")
-
-typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_8x8 = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_16x16 = 1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_32x32 = 2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_64x64 = 3,
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE;
-
-typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_4x4 = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_8x8 = 1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_16x16 = 2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_32x32 = 3,
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize;
- UCHAR max_transform_hierarchy_depth_inter;
- UCHAR max_transform_hierarchy_depth_intra;
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC;
-
-
-typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1
-{
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_NONE = 0x0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_SUPPORT = 0x1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_REQUIRED = 0x2,
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1)")
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1 {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize;
- UCHAR max_transform_hierarchy_depth_inter;
- UCHAR max_transform_hierarchy_depth_intra;
- UINT allowed_diff_cu_chroma_qp_offset_depth_values;
- UINT allowed_log2_sao_offset_scale_luma_values;
- UINT allowed_log2_sao_offset_scale_chroma_values;
- UINT allowed_log2_max_transform_skip_block_size_minus2_values;
- UINT allowed_chroma_qp_offset_list_len_minus1_values;
- UINT allowed_cb_qp_offset_list_values[6];
- UINT allowed_cr_qp_offset_list_values[6];
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1 SupportFlags1;
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT {
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264* pH264Support;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC* pHEVCSupport;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1* pHEVCSupport1;
- D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT* pAV1Support;
- };
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT {
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input
- BOOL IsSupported; // output
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT CodecSupportLimits; // input/output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264 {
- UINT MaxL0ReferencesForP;
- UINT MaxL0ReferencesForB;
- UINT MaxL1ReferencesForB;
- UINT MaxLongTermReferences;
- UINT MaxDPBCapacity;
-} D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC {
- UINT MaxL0ReferencesForP;
- UINT MaxL0ReferencesForB;
- UINT MaxL1ReferencesForB;
- UINT MaxLongTermReferences;
- UINT MaxDPBCapacity;
-} D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT {
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264* pH264Support;
- D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC* pHEVCSupport;
- D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT* pAV1Support;
- };
-} D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT {
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input
- BOOL IsSupported; // output
- D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT PictureSupport; // output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT;
-
-typedef enum D3D12_VIDEO_ENCODER_SUPPORT_FLAGS
-{
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK = 0x1,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_RECONFIGURATION_AVAILABLE = 0x2,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RESOLUTION_RECONFIGURATION_AVAILABLE = 0x4,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_VBV_SIZE_CONFIG_AVAILABLE = 0x8,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_FRAME_ANALYSIS_AVAILABLE = 0x10,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYS = 0x20,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_DELTA_QP_AVAILABLE = 0x40,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_LAYOUT_RECONFIGURATION_AVAILABLE = 0x80,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_ADJUSTABLE_QP_RANGE_AVAILABLE = 0x100,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_INITIAL_QP_AVAILABLE = 0x200,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_MAX_FRAME_SIZE_AVAILABLE = 0x400,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SEQUENCE_GOP_RECONFIGURATION_AVAILABLE = 0x800,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_MOTION_ESTIMATION_PRECISION_MODE_LIMIT_AVAILABLE = 0x1000,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_EXTENSION1_SUPPORT = 0x2000,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_QUALITY_VS_SPEED_AVAILABLE = 0x4000,
- D3D12_VIDEO_ENCODER_SUPPORT_FLAG_READABLE_RECONSTRUCTED_PICTURE_LAYOUT_AVAILABLE = 0x8000,
-} D3D12_VIDEO_ENCODER_SUPPORT_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_SUPPORT_FLAGS)")
-
-typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS
-{
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_USE_CONSTRAINED_INTRAPREDICTION = 0x1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_USE_ADAPTIVE_8x8_TRANSFORM = 0x2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_ENABLE_CABAC_ENCODING = 0x4,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_ALLOW_REQUEST_INTRA_CONSTRAINED_SLICES = 0x8,
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS)")
-
-typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_DISABLED = 0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_TEMPORAL = 1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_SPATIAL = 2,
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264
-{
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS ConfigurationFlags;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES DirectModeConfig;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES DisableDeblockingFilterConfig;
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264;
-
-typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS
-{
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_DISABLE_LOOP_FILTER_ACROSS_SLICES = 0x1,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ALLOW_REQUEST_INTRA_CONSTRAINED_SLICES = 0x2,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_SAO_FILTER = 0x4,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_LONG_TERM_REFERENCES = 0x8,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_ASYMETRIC_MOTION_PARTITION = 0x10,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_TRANSFORM_SKIPPING = 0x20,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_CONSTRAINED_INTRAPREDICTION = 0x40,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_TRANSFORM_SKIP_ROTATION = 0x80,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT = 0x100,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_IMPLICIT_RDPCM = 0x200,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_EXPLICIT_RDPCM = 0x400,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING = 0x800,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_INTRA_SMOOTHING_DISABLED = 0x1000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_HIGH_PRECISION_OFFSETS = 0x2000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION = 0x4000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT = 0x8000,
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_SEPARATE_COLOUR_PLANE = 0x10000,
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS ConfigurationFlags;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize;
- UCHAR max_transform_hierarchy_depth_inter;
- UCHAR max_transform_hierarchy_depth_intra;
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION
-{
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264* pH264Config;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC* pHEVCConfig;
- D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION* pAV1Config;
- };
-} D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION;
-
-typedef struct D3D12_VIDEO_ENCODER_INTRA_REFRESH
-{
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE Mode;
- UINT IntraRefreshDuration;
-} D3D12_VIDEO_ENCODER_INTRA_REFRESH;
-
-
-typedef enum D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE
-{
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_MAXIMUM = 0,
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_FULL_PIXEL = 1,
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_HALF_PIXEL = 2,
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_QUARTER_PIXEL = 3,
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_EIGHTH_PIXEL = 4,
-} D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS
-{
- UINT MaxSubregionsNumber;
- UINT MaxIntraRefreshFrameDuration;
- UINT SubregionBlockPixelsSize;
- UINT QPMapRegionPixelsSize;
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS;
-
-typedef enum D3D12_VIDEO_ENCODER_VALIDATION_FLAGS
-{
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_CODEC_NOT_SUPPORTED = 0x1,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_INPUT_FORMAT_NOT_SUPPORTED = 0x8,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_CODEC_CONFIGURATION_NOT_SUPPORTED = 0x10,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RATE_CONTROL_MODE_NOT_SUPPORTED = 0x20,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RATE_CONTROL_CONFIGURATION_NOT_SUPPORTED = 0x40,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_INTRA_REFRESH_MODE_NOT_SUPPORTED = 0x80,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_SUBREGION_LAYOUT_MODE_NOT_SUPPORTED = 0x100,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RESOLUTION_NOT_SUPPORTED_IN_LIST = 0x200,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_GOP_STRUCTURE_NOT_SUPPORTED = 0x800,
- D3D12_VIDEO_ENCODER_VALIDATION_FLAG_SUBREGION_LAYOUT_DATA_NOT_SUPPORTED = 0x1000,
-} D3D12_VIDEO_ENCODER_VALIDATION_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_VALIDATION_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264
-{
- UINT GOPLength;
- UINT PPicturePeriod;
- UCHAR pic_order_cnt_type;
- UCHAR log2_max_frame_num_minus4;
- UCHAR log2_max_pic_order_cnt_lsb_minus4;
-} D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264;
-
-typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC
-{
- UINT GOPLength;
- UINT PPicturePeriod;
- UCHAR log2_max_pic_order_cnt_lsb_minus4;
-} D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE
-{
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264* pH264GroupOfPictures;
- D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC* pHEVCGroupOfPictures;
- D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE* pAV1SequenceStructure;
- };
-} D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT
-{
- // input
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration;
- D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence;
- D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl;
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh;
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding;
- UINT ResolutionsListCount;
- const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList;
- UINT MaxReferenceFramesInDPB;
-
- // single value output
- D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags;
- D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags;
- D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile;
- D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel; // assuming max resolution from input list
-
- // resolution dependent output
- [annotation("_Field_size_full_(ResolutionsListCount)")] D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS* pResolutionDependentSupport;
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES
-{
- // Mutually exclusive options according to selected mode
- union
- {
- // Use with mode: D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_BYTES_PER_SUBREGION
- UINT MaxBytesPerSlice;
-
- // Use with mode: D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_SQUARE_UNITS_PER_SUBREGION_ROW_UNALIGNED
- UINT NumberOfCodingUnitsPerSlice;
-
- // Use with mode: D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_ROWS_PER_SUBREGION
- UINT NumberOfRowsPerSlice;
-
- // Use with mode: D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME
- UINT NumberOfSlicesPerFrame;
- };
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA
-{
- UINT DataSize;
- union
- {
- const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES* pSlicesPartition_H264;
- const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES* pSlicesPartition_HEVC;
- const D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES* pTilesPartition_AV1;
- };
-
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1
-{
- /* Below match existing D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT */
- UINT NodeIndex;
- D3D12_VIDEO_ENCODER_CODEC Codec;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration;
- D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence;
- D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl;
- D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh;
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding;
- UINT ResolutionsListCount;
- const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList;
- UINT MaxReferenceFramesInDPB;
- D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags;
- D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags;
- D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile;
- D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel;
- [annotation("_Field_size_full_(ResolutionsListCount)")] D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS* pResolutionDependentSupport;
-
- /* Below are new arguments for D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1 */
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData; // input
- UINT MaxQualityVsSpeed;
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1;
-
-typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS
-{
- UINT NodeIndex; // input
- D3D12_VIDEO_ENCODER_CODEC Codec; // input
- D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input
- DXGI_FORMAT InputFormat; // input
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution; // input
-
- BOOL IsSupported; // output
- UINT CompressedBitstreamBufferAccessAlignment; // output
- UINT EncoderMetadataBufferAccessAlignment; // output
- UINT MaxEncoderOutputMetadataBufferSize; // output
-} D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS;
-
-//
-// Video Encoder creation API
-//
-
-typedef enum D3D12_VIDEO_ENCODER_FLAGS
-{
- D3D12_VIDEO_ENCODER_FLAG_NONE = 0x0,
-} D3D12_VIDEO_ENCODER_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_DESC
-{
- UINT NodeMask;
- D3D12_VIDEO_ENCODER_FLAGS Flags;
- D3D12_VIDEO_ENCODER_CODEC EncodeCodec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile;
- DXGI_FORMAT InputFormat;
- D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration;
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE MaxMotionEstimationPrecision;
-} D3D12_VIDEO_ENCODER_DESC;
-
-[uuid(2E0D212D-8DF9-44A6-A770-BB289B182737), object, local, pointer_default(unique)]
-interface ID3D12VideoEncoder
- : ID3D12Pageable
-{
- UINT GetNodeMask();
- D3D12_VIDEO_ENCODER_FLAGS GetEncoderFlags();
- D3D12_VIDEO_ENCODER_CODEC GetCodec();
- HRESULT GetCodecProfile([annotation("_Inout_")] D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile);
- HRESULT GetCodecConfiguration([annotation("_Inout_")] D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION dstCodecConfig);
- DXGI_FORMAT GetInputFormat();
- D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE GetMaxMotionEstimationPrecision();
-}
-
-[uuid(22B35D96-876A-44C0-B25E-FB8C9C7F1C4A), object, local, pointer_default(unique)]
-interface ID3D12VideoEncoderHeap
- : ID3D12Pageable
-{
- UINT GetNodeMask();
- D3D12_VIDEO_ENCODER_HEAP_FLAGS GetEncoderHeapFlags();
- D3D12_VIDEO_ENCODER_CODEC GetCodec();
- HRESULT GetCodecProfile([annotation("_Inout_")] D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile);
- HRESULT GetCodecLevel([annotation("_Inout_")] D3D12_VIDEO_ENCODER_LEVEL_SETTING dstLevel);
- UINT GetResolutionListCount();
- HRESULT GetResolutionList(
- const UINT ResolutionsListCount,
- [annotation("_Out_writes_(ResolutionsListCount)")] D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList);
-}
-
-[uuid(4243ADB4-3A32-4666-973C-0CCC5625DC44), object, local, pointer_default(unique)]
-interface ID3D12VideoDevice3
- : ID3D12VideoDevice2
-{
-
- HRESULT CreateVideoEncoder(
- [annotation("_In_")] const D3D12_VIDEO_ENCODER_DESC* pDesc,
- [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoEncoder,
- [annotation("_COM_Outptr_")] void** ppVideoEncoder);
-
- HRESULT CreateVideoEncoderHeap(
- [annotation("_In_")] const D3D12_VIDEO_ENCODER_HEAP_DESC* pDesc,
- [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoEncoderHeap,
- [annotation("_COM_Outptr_")] void** ppVideoEncoderHeap);
-
-}
-
-//
-// Video Encoder operation API
-//
-
-
-typedef enum D3D12_VIDEO_ENCODER_FRAME_TYPE_H264
-{
- D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_I_FRAME = 0,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_P_FRAME = 1,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_B_FRAME = 2,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_IDR_FRAME = 3,
-} D3D12_VIDEO_ENCODER_FRAME_TYPE_H264;
-
-
-typedef struct D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264
-{
- UINT ReconstructedPictureResourceIndex;
- BOOL IsLongTermReference;
- UINT LongTermPictureIdx;
- UINT PictureOrderCountNumber;
- UINT FrameDecodingOrderNumber;
- UINT TemporalLayerIndex;
-} D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264;
-
-typedef enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS
-{
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_REQUEST_INTRA_CONSTRAINED_SLICES = 0x1,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_REQUEST_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE = 0x2,
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION
-{
- UCHAR memory_management_control_operation;
- UINT difference_of_pic_nums_minus1;
- UINT long_term_pic_num;
- UINT long_term_frame_idx;
- UINT max_long_term_frame_idx_plus1;
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION
-{
- UCHAR modification_of_pic_nums_idc;
- UINT abs_diff_pic_num_minus1;
- UINT long_term_pic_num;
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264
-{
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS Flags;
- D3D12_VIDEO_ENCODER_FRAME_TYPE_H264 FrameType;
- UINT pic_parameter_set_id;
- UINT idr_pic_id;
- UINT PictureOrderCountNumber;
- UINT FrameDecodingOrderNumber;
- UINT TemporalLayerIndex;
- UINT List0ReferenceFramesCount;
- [annotation("_Field_size_full_(List0ReferenceFramesCount)")] UINT* pList0ReferenceFrames;
- UINT List1ReferenceFramesCount;
- [annotation("_Field_size_full_(List1ReferenceFramesCount)")] UINT* pList1ReferenceFrames;
- UINT ReferenceFramesReconPictureDescriptorsCount;
- [annotation("_Field_size_full_(ReferenceFramesReconPictureDescriptorsCount)")] D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264* pReferenceFramesReconPictureDescriptors;
- UCHAR adaptive_ref_pic_marking_mode_flag;
- UINT RefPicMarkingOperationsCommandsCount;
- [annotation("_Field_size_full_(RefPicMarkingOperationsCommandsCount)")] D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION* pRefPicMarkingOperationsCommands;
- UINT List0RefPicModificationsCount;
- [annotation("_Field_size_full_(List0RefPicModificationsCount)")] D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION* pList0RefPicModifications;
- UINT List1RefPicModificationsCount;
- [annotation("_Field_size_full_(List1RefPicModificationsCount)")] D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION* pList1RefPicModifications;
- UINT QPMapValuesCount;
- [annotation("_Field_size_full_(QPMapValuesCount)")] INT8 *pRateControlQPMap;
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264;
-
-typedef enum D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC
-{
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_I_FRAME = 0,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_P_FRAME = 1,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_B_FRAME = 2,
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_IDR_FRAME = 3,
-} D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC
-{
- UINT ReconstructedPictureResourceIndex;
- BOOL IsRefUsedByCurrentPic;
- BOOL IsLongTermReference;
- UINT PictureOrderCountNumber;
- UINT TemporalLayerIndex;
-} D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC;
-
-typedef enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS
-{
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_REQUEST_INTRA_CONSTRAINED_SLICES = 0x1,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_REQUEST_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE = 0x2,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_CROSS_COMPONENT_PREDICTION = 0x4,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_CHROMA_QP_OFFSET_LIST = 0x8,
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC
-{
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags;
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType;
- UINT slice_pic_parameter_set_id;
- UINT PictureOrderCountNumber;
- UINT TemporalLayerIndex;
- UINT List0ReferenceFramesCount;
- [annotation("_Field_size_full_(List0ReferenceFramesCount)")] UINT* pList0ReferenceFrames;
- UINT List1ReferenceFramesCount;
- [annotation("_Field_size_full_(List1ReferenceFramesCount)")] UINT* pList1ReferenceFrames;
- UINT ReferenceFramesReconPictureDescriptorsCount;
- [annotation("_Field_size_full_(ReferenceFramesReconPictureDescriptorsCount)")] D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC* pReferenceFramesReconPictureDescriptors;
- UINT List0RefPicModificationsCount;
- [annotation("_Field_size_full_(List0RefPicModificationsCount)")] UINT* pList0RefPicModifications;
- UINT List1RefPicModificationsCount;
- [annotation("_Field_size_full_(List1RefPicModificationsCount)")] UINT* pList1RefPicModifications;
- UINT QPMapValuesCount;
- [annotation("_Field_size_full_(QPMapValuesCount)")] INT8 *pRateControlQPMap;
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1
-{
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags;
- D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType;
- UINT slice_pic_parameter_set_id;
- UINT PictureOrderCountNumber;
- UINT TemporalLayerIndex;
- UINT List0ReferenceFramesCount;
- [annotation("_Field_size_full_(List0ReferenceFramesCount)")] UINT* pList0ReferenceFrames;
- UINT List1ReferenceFramesCount;
- [annotation("_Field_size_full_(List1ReferenceFramesCount)")] UINT* pList1ReferenceFrames;
- UINT ReferenceFramesReconPictureDescriptorsCount;
- [annotation("_Field_size_full_(ReferenceFramesReconPictureDescriptorsCount)")] D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC* pReferenceFramesReconPictureDescriptors;
- UINT List0RefPicModificationsCount;
- [annotation("_Field_size_full_(List0RefPicModificationsCount)")] UINT* pList0RefPicModifications;
- UINT List1RefPicModificationsCount;
- [annotation("_Field_size_full_(List1RefPicModificationsCount)")] UINT* pList1RefPicModifications;
- UINT QPMapValuesCount;
- [annotation("_Field_size_full_(QPMapValuesCount)")] INT8* pRateControlQPMap;
- UCHAR diff_cu_chroma_qp_offset_depth;
- UCHAR log2_sao_offset_scale_luma;
- UCHAR log2_sao_offset_scale_chroma;
- UCHAR log2_max_transform_skip_block_size_minus2;
- UCHAR chroma_qp_offset_list_len_minus1;
- CHAR cb_qp_offset_list[6];
- CHAR cr_qp_offset_list[6];
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1;
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA
-{
- UINT DataSize;
- union
- {
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264* pH264PicData;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC* pHEVCPicData;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1* pHEVCPicData1;
- D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA* pAV1PicData;
- };
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA;
-
-typedef struct D3D12_VIDEO_ENCODE_REFERENCE_FRAMES
-{
- UINT NumTexture2Ds;
- [annotation("_Field_size_full_(NumTexture2Ds)")] ID3D12Resource** ppTexture2Ds;
- [annotation("_Field_size_full_(NumTexture2Ds)")] UINT* pSubresources;
-} D3D12_VIDEO_ENCODE_REFERENCE_FRAMES;
-
-typedef enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS
-{
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_USED_AS_REFERENCE_PICTURE = 0x1,
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC
-{
- UINT IntraRefreshFrameIndex;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS Flags;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA PictureControlCodecData;
- D3D12_VIDEO_ENCODE_REFERENCE_FRAMES ReferenceFrames;
-} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC;
-
-typedef enum D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS
-{
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_NONE = 0x0,
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_RESOLUTION_CHANGE = 0x1,
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_RATE_CONTROL_CHANGE = 0x2,
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_SUBREGION_LAYOUT_CHANGE = 0x4,
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_REQUEST_INTRA_REFRESH = 0x8,
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_GOP_SEQUENCE_CHANGE = 0x10,
-} D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC
-{
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS Flags;
- D3D12_VIDEO_ENCODER_INTRA_REFRESH IntraRefreshConfig;
- D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl;
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution;
- D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SelectedLayoutMode;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA FrameSubregionsLayoutData;
- D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence;
-} D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC;
-
-//
-// Video Encoder operation commands API
-//
-
-typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS
-{
- D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC SequenceControlDesc;
- D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC PictureControlDesc;
- ID3D12Resource *pInputFrame;
- UINT InputFrameSubresource;
- UINT CurrentFrameBitstreamMetadataSize;
-} D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM
-{
- ID3D12Resource* pBuffer;
- UINT64 FrameStartOffset;
-} D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM;
-
-typedef struct D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE
-{
- ID3D12Resource *pReconstructedPicture;
- UINT ReconstructedPictureSubresource;
-} D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE;
-
-typedef struct D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA
-{
- UINT64 bSize;
- UINT64 bStartOffset;
- UINT64 bHeaderSize;
-} D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA;
-
-typedef enum D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS
-{
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_NO_ERROR = 0x0,
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_CODEC_PICTURE_CONTROL_NOT_SUPPORTED = 0x1,
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_SUBREGION_LAYOUT_CONFIGURATION_NOT_SUPPORTED = 0x2,
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_INVALID_REFERENCE_PICTURES = 0x4,
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_RECONFIGURATION_REQUEST_NOT_SUPPORTED = 0x8,
- D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_INVALID_METADATA_BUFFER_SOURCE = 0x10,
-} D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS;
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS)")
-
-typedef struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS
-{
- UINT64 AverageQP;
- UINT64 IntraCodingUnitsCount;
- UINT64 InterCodingUnitsCount;
- UINT64 SkipCodingUnitsCount;
- UINT64 AverageMotionEstimationXDirection;
- UINT64 AverageMotionEstimationYDirection;
-} D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS;
-
-typedef struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA
-{
- UINT64 EncodeErrorFlags; // D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS
- D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS EncodeStats;
- UINT64 EncodedBitstreamWrittenBytesCount;
- UINT64 WrittenSubregionsCount;
-} D3D12_VIDEO_ENCODER_OUTPUT_METADATA;
-
-typedef struct D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER
-{
- ID3D12Resource* pBuffer;
- UINT64 Offset;
-} D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER;
-
-typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS
-{
- D3D12_VIDEO_ENCODER_CODEC EncoderCodec;
- D3D12_VIDEO_ENCODER_PROFILE_DESC EncoderProfile;
- DXGI_FORMAT EncoderInputFormat;
- D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncodedPictureEffectiveResolution;
- D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER HWLayoutMetadata;
-} D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS
-{
- D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedLayoutMetadata;
-} D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS;
-
-typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS
-{
- D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM Bitstream;
- D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE ReconstructedPicture;
- D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER EncoderOutputMetadata;
-} D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS;
-
-[uuid(895491e2-e701-46a9-9a1f-8d3480ed867a), object, local, pointer_default(unique)]
-interface ID3D12VideoEncodeCommandList2
- : ID3D12VideoEncodeCommandList1
-{
- void EncodeFrame(
- [annotation("_In_")] ID3D12VideoEncoder* pEncoder,
- [annotation("_In_")] ID3D12VideoEncoderHeap *pHeap,
- [annotation("_In_")] const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *pInputArguments,
- [annotation("_In_")] const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *pOutputArguments);
-
- void ResolveEncoderOutputMetadata(
- [annotation("_In_")] const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS* pInputArguments,
- [annotation("_In_")] const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS* pOutputArguments);
-}
-
-
-[uuid(7f027b22-1515-4e85-aa0d-026486580576), object, local, pointer_default(unique)]
-interface ID3D12VideoEncodeCommandList3
- : ID3D12VideoEncodeCommandList2
-{
-
- void Barrier(
- UINT32 NumBarrierGroups,
- [annotation("_In_reads_(NumBarrierGroups)")] const D3D12_BARRIER_GROUP *pBarrierGroups
- );
-}
-
-cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */")
-#pragma endregion
-
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecoderHeap,0x0946B7C9,0xEBF6,0x4047,0xBB,0x73,0x86,0x83,0xE2,0x7D,0xBB,0x1F);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDevice,0x1F052807,0x0B46,0x4ACC,0x8A,0x89,0x36,0x4F,0x79,0x37,0x18,0xA4);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecoder,0xC59B6BDC,0x7720,0x4074,0xA1,0x36,0x17,0xA1,0x56,0x03,0x74,0x70);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessor,0x304FDB32,0xBEDE,0x410A,0x85,0x45,0x94,0x3A,0xC6,0xA4,0x61,0x38);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecodeCommandList,0x3B60536E,0xAD29,0x4E64,0xA2,0x69,0xF8,0x53,0x83,0x7E,0x5E,0x53);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessCommandList,0xAEB2543A,0x167F,0x4682,0xAC,0xC8,0xD1,0x59,0xED,0x4A,0x62,0x09);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecodeCommandList1,0xD52F011B,0xB56E,0x453C,0xA0,0x5A,0xA7,0xF3,0x11,0xC8,0xF4,0x72);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessCommandList1,0x542C5C4D,0x7596,0x434F,0x8C,0x93,0x4E,0xFA,0x67,0x66,0xF2,0x67);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoMotionEstimator,0x33FDAE0E,0x098B,0x428F,0x87,0xBB,0x34,0xB6,0x95,0xDE,0x08,0xF8);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoMotionVectorHeap,0x5BE17987,0x743A,0x4061,0x83,0x4B,0x23,0xD2,0x2D,0xAE,0xA5,0x05);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDevice1,0x981611AD,0xA144,0x4C83,0x98,0x90,0xF3,0x0E,0x26,0xD6,0x58,0xAB);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncodeCommandList,0x8455293A,0x0CBD,0x4831,0x9B,0x39,0xFB,0xDB,0xAB,0x72,0x47,0x23);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecoder1,0x79A2E5FB,0xCCD2,0x469A,0x9F,0xDE,0x19,0x5D,0x10,0x95,0x1F,0x7E);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecoderHeap1,0xDA1D98C5,0x539F,0x41B2,0xBF,0x6B,0x11,0x98,0xA0,0x3B,0x6D,0x26);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessor1,0xF3CFE615,0x553F,0x425C,0x86,0xD8,0xEE,0x8C,0x1B,0x1F,0xB0,0x1C);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoExtensionCommand,0x554E41E8,0xAE8E,0x4A8C,0xB7,0xD2,0x5B,0x4F,0x27,0x4A,0x30,0xE4);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDevice2,0xF019AC49,0xF838,0x4A95,0x9B,0x17,0x57,0x94,0x37,0xC8,0xF5,0x13);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecodeCommandList2,0x6e120880,0xc114,0x4153,0x80,0x36,0xd2,0x47,0x05,0x1e,0x17,0x29);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecodeCommandList3,0x2aee8c37,0x9562,0x42da,0x8a,0xbf,0x61,0xef,0xeb,0x2e,0x45,0x13);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessCommandList2,0xdb525ae4,0x6ad6,0x473c,0xba,0xa7,0x59,0xb2,0xe3,0x70,0x82,0xe4);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessCommandList3,0x1a0a4ca4,0x9f08,0x40ce,0x95,0x58,0xb4,0x11,0xfd,0x26,0x66,0xff);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncodeCommandList1,0x94971eca,0x2bdb,0x4769,0x88,0xcf,0x36,0x75,0xea,0x75,0x7e,0xbc);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncoder,0x2E0D212D,0x8DF9,0x44A6,0xA7,0x70,0xBB,0x28,0x9B,0x18,0x27,0x37);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncoderHeap,0x22B35D96,0x876A,0x44C0,0xB2,0x5E,0xFB,0x8C,0x9C,0x7F,0x1C,0x4A);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDevice3,0x4243ADB4,0x3A32,0x4666,0x97,0x3C,0x0C,0xCC,0x56,0x25,0xDC,0x44);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncodeCommandList2,0x895491e2,0xe701,0x46a9,0x9a,0x1f,0x8d,0x34,0x80,0xed,0x86,0x7a);" )
-cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncodeCommandList3,0x7f027b22,0x1515,0x4e85,0xaa,0x0d,0x02,0x64,0x86,0x58,0x05,0x76);" )
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3dcommon.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3dcommon.h
deleted file mode 100644
index 2e2418d..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3dcommon.h
+++ /dev/null
@@ -1,1133 +0,0 @@
-/*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- * Licensed under the MIT license
- *
- *-------------------------------------------------------------------------------------*/
-
-
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
- /* File created by MIDL compiler version 8.01.0628 */
-/* @@MIDL_FILE_HEADING( ) */
-
-
-
-/* verify that the version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 500
-#endif
-
-/* verify that the version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCSAL_H_VERSION__
-#define __REQUIRED_RPCSAL_H_VERSION__ 100
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __RPCNDR_H_VERSION__
-#error this stub requires an updated version of
-#endif /* __RPCNDR_H_VERSION__ */
-
-#ifndef COM_NO_WINDOWS_H
-#include "windows.h"
-#include "ole2.h"
-#endif /*COM_NO_WINDOWS_H*/
-
-#ifndef __d3dcommon_h__
-#define __d3dcommon_h__
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-#pragma once
-#endif
-
-#ifndef DECLSPEC_XFGVIRT
-#if defined(_CONTROL_FLOW_GUARD_XFG)
-#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
-#else
-#define DECLSPEC_XFGVIRT(base, func)
-#endif
-#endif
-
-/* Forward Declarations */
-
-#ifndef __ID3D10Blob_FWD_DEFINED__
-#define __ID3D10Blob_FWD_DEFINED__
-typedef interface ID3D10Blob ID3D10Blob;
-
-#endif /* __ID3D10Blob_FWD_DEFINED__ */
-
-
-#ifndef __ID3DDestructionNotifier_FWD_DEFINED__
-#define __ID3DDestructionNotifier_FWD_DEFINED__
-typedef interface ID3DDestructionNotifier ID3DDestructionNotifier;
-
-#endif /* __ID3DDestructionNotifier_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "oaidl.h"
-#include "ocidl.h"
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-
-/* interface __MIDL_itf_d3dcommon_0000_0000 */
-/* [local] */
-
-typedef
-enum D3D_DRIVER_TYPE
- {
- D3D_DRIVER_TYPE_UNKNOWN = 0,
- D3D_DRIVER_TYPE_HARDWARE = ( D3D_DRIVER_TYPE_UNKNOWN + 1 ) ,
- D3D_DRIVER_TYPE_REFERENCE = ( D3D_DRIVER_TYPE_HARDWARE + 1 ) ,
- D3D_DRIVER_TYPE_NULL = ( D3D_DRIVER_TYPE_REFERENCE + 1 ) ,
- D3D_DRIVER_TYPE_SOFTWARE = ( D3D_DRIVER_TYPE_NULL + 1 ) ,
- D3D_DRIVER_TYPE_WARP = ( D3D_DRIVER_TYPE_SOFTWARE + 1 )
- } D3D_DRIVER_TYPE;
-
-typedef
-enum D3D_FEATURE_LEVEL
- {
- D3D_FEATURE_LEVEL_1_0_GENERIC = 0x100,
- D3D_FEATURE_LEVEL_1_0_CORE = 0x1000,
- D3D_FEATURE_LEVEL_9_1 = 0x9100,
- D3D_FEATURE_LEVEL_9_2 = 0x9200,
- D3D_FEATURE_LEVEL_9_3 = 0x9300,
- D3D_FEATURE_LEVEL_10_0 = 0xa000,
- D3D_FEATURE_LEVEL_10_1 = 0xa100,
- D3D_FEATURE_LEVEL_11_0 = 0xb000,
- D3D_FEATURE_LEVEL_11_1 = 0xb100,
- D3D_FEATURE_LEVEL_12_0 = 0xc000,
- D3D_FEATURE_LEVEL_12_1 = 0xc100,
- D3D_FEATURE_LEVEL_12_2 = 0xc200
- } D3D_FEATURE_LEVEL;
-
-#define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION 2048
-#define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION 4096
-#define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION 2048
-#define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION 4096
-#define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION 512
-#define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION 4096
-#define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 256
-#define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY 2
-#define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT 65535
-#define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT 1048575
-#define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT 1
-#define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT 4
-#define D3D_FL9_1_MAX_TEXTURE_REPEAT 128
-#define D3D_FL9_2_MAX_TEXTURE_REPEAT 2048
-#define D3D_FL9_3_MAX_TEXTURE_REPEAT 8192
-typedef
-enum D3D_PRIMITIVE_TOPOLOGY
- {
- D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
- D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
- D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2,
- D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
- D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
- D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
- D3D_PRIMITIVE_TOPOLOGY_TRIANGLEFAN = 6,
- D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
- D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
- D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
- D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13,
- D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
- D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34,
- D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35,
- D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36,
- D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37,
- D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38,
- D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39,
- D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40,
- D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41,
- D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42,
- D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43,
- D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44,
- D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45,
- D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46,
- D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47,
- D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48,
- D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49,
- D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50,
- D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51,
- D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52,
- D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53,
- D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54,
- D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55,
- D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56,
- D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57,
- D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58,
- D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59,
- D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60,
- D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61,
- D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62,
- D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63,
- D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64,
- D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED,
- D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
- D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED,
- D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
- D3D11_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST,
- D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
- D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
- D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
- D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,
- D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
- D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
- D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
- D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
- } D3D_PRIMITIVE_TOPOLOGY;
-
-typedef
-enum D3D_PRIMITIVE
- {
- D3D_PRIMITIVE_UNDEFINED = 0,
- D3D_PRIMITIVE_POINT = 1,
- D3D_PRIMITIVE_LINE = 2,
- D3D_PRIMITIVE_TRIANGLE = 3,
- D3D_PRIMITIVE_LINE_ADJ = 6,
- D3D_PRIMITIVE_TRIANGLE_ADJ = 7,
- D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8,
- D3D_PRIMITIVE_2_CONTROL_POINT_PATCH = 9,
- D3D_PRIMITIVE_3_CONTROL_POINT_PATCH = 10,
- D3D_PRIMITIVE_4_CONTROL_POINT_PATCH = 11,
- D3D_PRIMITIVE_5_CONTROL_POINT_PATCH = 12,
- D3D_PRIMITIVE_6_CONTROL_POINT_PATCH = 13,
- D3D_PRIMITIVE_7_CONTROL_POINT_PATCH = 14,
- D3D_PRIMITIVE_8_CONTROL_POINT_PATCH = 15,
- D3D_PRIMITIVE_9_CONTROL_POINT_PATCH = 16,
- D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = 17,
- D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = 18,
- D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = 19,
- D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = 20,
- D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = 21,
- D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = 22,
- D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = 23,
- D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,
- D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,
- D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,
- D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 27,
- D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 28,
- D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 29,
- D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 30,
- D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 31,
- D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 32,
- D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 33,
- D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 34,
- D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 35,
- D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 36,
- D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 37,
- D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 38,
- D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 39,
- D3D10_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED,
- D3D10_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT,
- D3D10_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE,
- D3D10_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE,
- D3D10_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ,
- D3D10_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ,
- D3D11_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED,
- D3D11_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT,
- D3D11_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE,
- D3D11_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE,
- D3D11_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ,
- D3D11_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ,
- D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = D3D_PRIMITIVE_1_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH = D3D_PRIMITIVE_2_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH = D3D_PRIMITIVE_3_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH = D3D_PRIMITIVE_4_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH = D3D_PRIMITIVE_5_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH = D3D_PRIMITIVE_6_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH = D3D_PRIMITIVE_7_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH = D3D_PRIMITIVE_8_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH = D3D_PRIMITIVE_9_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH = D3D_PRIMITIVE_10_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH = D3D_PRIMITIVE_11_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH = D3D_PRIMITIVE_12_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH = D3D_PRIMITIVE_13_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH = D3D_PRIMITIVE_14_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH = D3D_PRIMITIVE_15_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH = D3D_PRIMITIVE_16_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = D3D_PRIMITIVE_17_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = D3D_PRIMITIVE_18_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = D3D_PRIMITIVE_19_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = D3D_PRIMITIVE_20_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = D3D_PRIMITIVE_21_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = D3D_PRIMITIVE_22_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = D3D_PRIMITIVE_23_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = D3D_PRIMITIVE_24_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = D3D_PRIMITIVE_25_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = D3D_PRIMITIVE_26_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = D3D_PRIMITIVE_27_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = D3D_PRIMITIVE_28_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = D3D_PRIMITIVE_29_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = D3D_PRIMITIVE_30_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = D3D_PRIMITIVE_31_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = D3D_PRIMITIVE_32_CONTROL_POINT_PATCH
- } D3D_PRIMITIVE;
-
-typedef
-enum D3D_SRV_DIMENSION
- {
- D3D_SRV_DIMENSION_UNKNOWN = 0,
- D3D_SRV_DIMENSION_BUFFER = 1,
- D3D_SRV_DIMENSION_TEXTURE1D = 2,
- D3D_SRV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D_SRV_DIMENSION_TEXTURE2D = 4,
- D3D_SRV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D_SRV_DIMENSION_TEXTURE2DMS = 6,
- D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D_SRV_DIMENSION_TEXTURE3D = 8,
- D3D_SRV_DIMENSION_TEXTURECUBE = 9,
- D3D_SRV_DIMENSION_TEXTURECUBEARRAY = 10,
- D3D_SRV_DIMENSION_BUFFEREX = 11,
- D3D10_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN,
- D3D10_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER,
- D3D10_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D,
- D3D10_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY,
- D3D10_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D,
- D3D10_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY,
- D3D10_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS,
- D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
- D3D10_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D,
- D3D10_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE,
- D3D10_1_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN,
- D3D10_1_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER,
- D3D10_1_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D,
- D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY,
- D3D10_1_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D,
- D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY,
- D3D10_1_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS,
- D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
- D3D10_1_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D,
- D3D10_1_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE,
- D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY,
- D3D11_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN,
- D3D11_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER,
- D3D11_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D,
- D3D11_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY,
- D3D11_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D,
- D3D11_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY,
- D3D11_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS,
- D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
- D3D11_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D,
- D3D11_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE,
- D3D11_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY,
- D3D11_SRV_DIMENSION_BUFFEREX = D3D_SRV_DIMENSION_BUFFEREX
- } D3D_SRV_DIMENSION;
-
-#define D3D_SHADER_FEATURE_DOUBLES 0x00001
-#define D3D_SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X 0x00002
-#define D3D_SHADER_FEATURE_UAVS_AT_EVERY_STAGE 0x00004
-#define D3D_SHADER_FEATURE_64_UAVS 0x00008
-#define D3D_SHADER_FEATURE_MINIMUM_PRECISION 0x00010
-#define D3D_SHADER_FEATURE_11_1_DOUBLE_EXTENSIONS 0x00020
-#define D3D_SHADER_FEATURE_11_1_SHADER_EXTENSIONS 0x00040
-#define D3D_SHADER_FEATURE_LEVEL_9_COMPARISON_FILTERING 0x00080
-#define D3D_SHADER_FEATURE_TILED_RESOURCES 0x00100
-#define D3D_SHADER_FEATURE_STENCIL_REF 0x00200
-#define D3D_SHADER_FEATURE_INNER_COVERAGE 0x00400
-#define D3D_SHADER_FEATURE_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00800
-#define D3D_SHADER_FEATURE_ROVS 0x01000
-#define D3D_SHADER_FEATURE_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x02000
-#define D3D_SHADER_FEATURE_WAVE_OPS 0x04000
-#define D3D_SHADER_FEATURE_INT64_OPS 0x08000
-#define D3D_SHADER_FEATURE_VIEW_ID 0x10000
-#define D3D_SHADER_FEATURE_BARYCENTRICS 0x20000
-#define D3D_SHADER_FEATURE_NATIVE_16BIT_OPS 0x40000
-#define D3D_SHADER_FEATURE_SHADING_RATE 0x80000
-#define D3D_SHADER_FEATURE_RAYTRACING_TIER_1_1 0x100000
-#define D3D_SHADER_FEATURE_SAMPLER_FEEDBACK 0x200000
-#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_TYPED_RESOURCE 0x400000
-#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_GROUP_SHARED 0x800000
-#define D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x1000000
-#define D3D_SHADER_FEATURE_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x2000000
-#define D3D_SHADER_FEATURE_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x4000000
-#define D3D_SHADER_FEATURE_WAVE_MMA 0x8000000
-#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000
-#define D3D_SHADER_FEATURE_ADVANCED_TEXTURE_OPS 0x20000000
-#define D3D_SHADER_FEATURE_WRITEABLE_MSAA_TEXTURES 0x40000000
-#define D3D_SHADER_FEATURE_SAMPLE_CMP_GRADIENT_OR_BIAS 0x80000000
-#define D3D_SHADER_FEATURE_EXTENDED_COMMAND_INFO 0x100000000ull
-#define D3D_OPT_SHADER_FEATURE_USES_DERIVATIVES 0x0000010000000000ull
-#define D3D_OPT_SHADER_FEATURE_REQUIRES_GROUP 0x0000020000000000ull
-typedef struct _D3D_SHADER_MACRO
- {
- LPCSTR Name;
- LPCSTR Definition;
- } D3D_SHADER_MACRO;
-
-typedef struct _D3D_SHADER_MACRO *LPD3D_SHADER_MACRO;
-
-DEFINE_GUID(IID_ID3D10Blob, 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2);
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0000_v0_0_s_ifspec;
-
-#ifndef __ID3D10Blob_INTERFACE_DEFINED__
-#define __ID3D10Blob_INTERFACE_DEFINED__
-
-/* interface ID3D10Blob */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3D10Blob;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("8BA5FB08-5195-40e2-AC58-0D989C3A0102")
- ID3D10Blob : public IUnknown
- {
- public:
- virtual LPVOID STDMETHODCALLTYPE GetBufferPointer( void) = 0;
-
- virtual SIZE_T STDMETHODCALLTYPE GetBufferSize( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3D10BlobVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D10Blob * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D10Blob * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D10Blob * This);
-
- DECLSPEC_XFGVIRT(ID3D10Blob, GetBufferPointer)
- LPVOID ( STDMETHODCALLTYPE *GetBufferPointer )(
- ID3D10Blob * This);
-
- DECLSPEC_XFGVIRT(ID3D10Blob, GetBufferSize)
- SIZE_T ( STDMETHODCALLTYPE *GetBufferSize )(
- ID3D10Blob * This);
-
- END_INTERFACE
- } ID3D10BlobVtbl;
-
- interface ID3D10Blob
- {
- CONST_VTBL struct ID3D10BlobVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3D10Blob_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3D10Blob_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3D10Blob_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3D10Blob_GetBufferPointer(This) \
- ( (This)->lpVtbl -> GetBufferPointer(This) )
-
-#define ID3D10Blob_GetBufferSize(This) \
- ( (This)->lpVtbl -> GetBufferSize(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3D10Blob_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3dcommon_0000_0001 */
-/* [local] */
-
-typedef interface ID3D10Blob* LPD3D10BLOB;
-typedef ID3D10Blob ID3DBlob;
-
-typedef ID3DBlob* LPD3DBLOB;
-#define IID_ID3DBlob IID_ID3D10Blob
-typedef void ( __stdcall *PFN_DESTRUCTION_CALLBACK )(
- void *pData);
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_s_ifspec;
-
-#ifndef __ID3DDestructionNotifier_INTERFACE_DEFINED__
-#define __ID3DDestructionNotifier_INTERFACE_DEFINED__
-
-/* interface ID3DDestructionNotifier */
-/* [unique][local][object][uuid] */
-
-
-EXTERN_C const IID IID_ID3DDestructionNotifier;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("a06eb39a-50da-425b-8c31-4eecd6c270f3")
- ID3DDestructionNotifier : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE RegisterDestructionCallback(
- /* [annotation] */
- _In_ PFN_DESTRUCTION_CALLBACK callbackFn,
- /* [annotation] */
- _In_ void *pData,
- /* [annotation] */
- _Out_ UINT *pCallbackID) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE UnregisterDestructionCallback(
- /* [annotation] */
- _In_ UINT callbackID) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ID3DDestructionNotifierVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3DDestructionNotifier * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3DDestructionNotifier * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3DDestructionNotifier * This);
-
- DECLSPEC_XFGVIRT(ID3DDestructionNotifier, RegisterDestructionCallback)
- HRESULT ( STDMETHODCALLTYPE *RegisterDestructionCallback )(
- ID3DDestructionNotifier * This,
- /* [annotation] */
- _In_ PFN_DESTRUCTION_CALLBACK callbackFn,
- /* [annotation] */
- _In_ void *pData,
- /* [annotation] */
- _Out_ UINT *pCallbackID);
-
- DECLSPEC_XFGVIRT(ID3DDestructionNotifier, UnregisterDestructionCallback)
- HRESULT ( STDMETHODCALLTYPE *UnregisterDestructionCallback )(
- ID3DDestructionNotifier * This,
- /* [annotation] */
- _In_ UINT callbackID);
-
- END_INTERFACE
- } ID3DDestructionNotifierVtbl;
-
- interface ID3DDestructionNotifier
- {
- CONST_VTBL struct ID3DDestructionNotifierVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ID3DDestructionNotifier_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ID3DDestructionNotifier_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ID3DDestructionNotifier_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ID3DDestructionNotifier_RegisterDestructionCallback(This,callbackFn,pData,pCallbackID) \
- ( (This)->lpVtbl -> RegisterDestructionCallback(This,callbackFn,pData,pCallbackID) )
-
-#define ID3DDestructionNotifier_UnregisterDestructionCallback(This,callbackID) \
- ( (This)->lpVtbl -> UnregisterDestructionCallback(This,callbackID) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ID3DDestructionNotifier_INTERFACE_DEFINED__ */
-
-
-/* interface __MIDL_itf_d3dcommon_0000_0002 */
-/* [local] */
-
-typedef
-enum _D3D_INCLUDE_TYPE
- {
- D3D_INCLUDE_LOCAL = 0,
- D3D_INCLUDE_SYSTEM = ( D3D_INCLUDE_LOCAL + 1 ) ,
- D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL,
- D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM,
- D3D_INCLUDE_FORCE_DWORD = 0x7fffffff
- } D3D_INCLUDE_TYPE;
-
-typedef interface ID3DInclude ID3DInclude;
-#undef INTERFACE
-#define INTERFACE ID3DInclude
-DECLARE_INTERFACE(ID3DInclude)
-{
- STDMETHOD(Open)(THIS_ D3D_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID *ppData, UINT *pBytes) PURE;
- STDMETHOD(Close)(THIS_ LPCVOID pData) PURE;
-};
-typedef ID3DInclude* LPD3DINCLUDE;
-typedef
-enum _D3D_SHADER_VARIABLE_CLASS
- {
- D3D_SVC_SCALAR = 0,
- D3D_SVC_VECTOR = ( D3D_SVC_SCALAR + 1 ) ,
- D3D_SVC_MATRIX_ROWS = ( D3D_SVC_VECTOR + 1 ) ,
- D3D_SVC_MATRIX_COLUMNS = ( D3D_SVC_MATRIX_ROWS + 1 ) ,
- D3D_SVC_OBJECT = ( D3D_SVC_MATRIX_COLUMNS + 1 ) ,
- D3D_SVC_STRUCT = ( D3D_SVC_OBJECT + 1 ) ,
- D3D_SVC_INTERFACE_CLASS = ( D3D_SVC_STRUCT + 1 ) ,
- D3D_SVC_INTERFACE_POINTER = ( D3D_SVC_INTERFACE_CLASS + 1 ) ,
- D3D10_SVC_SCALAR = D3D_SVC_SCALAR,
- D3D10_SVC_VECTOR = D3D_SVC_VECTOR,
- D3D10_SVC_MATRIX_ROWS = D3D_SVC_MATRIX_ROWS,
- D3D10_SVC_MATRIX_COLUMNS = D3D_SVC_MATRIX_COLUMNS,
- D3D10_SVC_OBJECT = D3D_SVC_OBJECT,
- D3D10_SVC_STRUCT = D3D_SVC_STRUCT,
- D3D11_SVC_INTERFACE_CLASS = D3D_SVC_INTERFACE_CLASS,
- D3D11_SVC_INTERFACE_POINTER = D3D_SVC_INTERFACE_POINTER,
- D3D_SVC_FORCE_DWORD = 0x7fffffff
- } D3D_SHADER_VARIABLE_CLASS;
-
-typedef
-enum _D3D_SHADER_VARIABLE_FLAGS
- {
- D3D_SVF_USERPACKED = 1,
- D3D_SVF_USED = 2,
- D3D_SVF_INTERFACE_POINTER = 4,
- D3D_SVF_INTERFACE_PARAMETER = 8,
- D3D10_SVF_USERPACKED = D3D_SVF_USERPACKED,
- D3D10_SVF_USED = D3D_SVF_USED,
- D3D11_SVF_INTERFACE_POINTER = D3D_SVF_INTERFACE_POINTER,
- D3D11_SVF_INTERFACE_PARAMETER = D3D_SVF_INTERFACE_PARAMETER,
- D3D_SVF_FORCE_DWORD = 0x7fffffff
- } D3D_SHADER_VARIABLE_FLAGS;
-
-typedef
-enum _D3D_SHADER_VARIABLE_TYPE
- {
- D3D_SVT_VOID = 0,
- D3D_SVT_BOOL = 1,
- D3D_SVT_INT = 2,
- D3D_SVT_FLOAT = 3,
- D3D_SVT_STRING = 4,
- D3D_SVT_TEXTURE = 5,
- D3D_SVT_TEXTURE1D = 6,
- D3D_SVT_TEXTURE2D = 7,
- D3D_SVT_TEXTURE3D = 8,
- D3D_SVT_TEXTURECUBE = 9,
- D3D_SVT_SAMPLER = 10,
- D3D_SVT_SAMPLER1D = 11,
- D3D_SVT_SAMPLER2D = 12,
- D3D_SVT_SAMPLER3D = 13,
- D3D_SVT_SAMPLERCUBE = 14,
- D3D_SVT_PIXELSHADER = 15,
- D3D_SVT_VERTEXSHADER = 16,
- D3D_SVT_PIXELFRAGMENT = 17,
- D3D_SVT_VERTEXFRAGMENT = 18,
- D3D_SVT_UINT = 19,
- D3D_SVT_UINT8 = 20,
- D3D_SVT_GEOMETRYSHADER = 21,
- D3D_SVT_RASTERIZER = 22,
- D3D_SVT_DEPTHSTENCIL = 23,
- D3D_SVT_BLEND = 24,
- D3D_SVT_BUFFER = 25,
- D3D_SVT_CBUFFER = 26,
- D3D_SVT_TBUFFER = 27,
- D3D_SVT_TEXTURE1DARRAY = 28,
- D3D_SVT_TEXTURE2DARRAY = 29,
- D3D_SVT_RENDERTARGETVIEW = 30,
- D3D_SVT_DEPTHSTENCILVIEW = 31,
- D3D_SVT_TEXTURE2DMS = 32,
- D3D_SVT_TEXTURE2DMSARRAY = 33,
- D3D_SVT_TEXTURECUBEARRAY = 34,
- D3D_SVT_HULLSHADER = 35,
- D3D_SVT_DOMAINSHADER = 36,
- D3D_SVT_INTERFACE_POINTER = 37,
- D3D_SVT_COMPUTESHADER = 38,
- D3D_SVT_DOUBLE = 39,
- D3D_SVT_RWTEXTURE1D = 40,
- D3D_SVT_RWTEXTURE1DARRAY = 41,
- D3D_SVT_RWTEXTURE2D = 42,
- D3D_SVT_RWTEXTURE2DARRAY = 43,
- D3D_SVT_RWTEXTURE3D = 44,
- D3D_SVT_RWBUFFER = 45,
- D3D_SVT_BYTEADDRESS_BUFFER = 46,
- D3D_SVT_RWBYTEADDRESS_BUFFER = 47,
- D3D_SVT_STRUCTURED_BUFFER = 48,
- D3D_SVT_RWSTRUCTURED_BUFFER = 49,
- D3D_SVT_APPEND_STRUCTURED_BUFFER = 50,
- D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51,
- D3D_SVT_MIN8FLOAT = 52,
- D3D_SVT_MIN10FLOAT = 53,
- D3D_SVT_MIN16FLOAT = 54,
- D3D_SVT_MIN12INT = 55,
- D3D_SVT_MIN16INT = 56,
- D3D_SVT_MIN16UINT = 57,
- D3D_SVT_INT16 = 58,
- D3D_SVT_UINT16 = 59,
- D3D_SVT_FLOAT16 = 60,
- D3D_SVT_INT64 = 61,
- D3D_SVT_UINT64 = 62,
- D3D10_SVT_VOID = D3D_SVT_VOID,
- D3D10_SVT_BOOL = D3D_SVT_BOOL,
- D3D10_SVT_INT = D3D_SVT_INT,
- D3D10_SVT_FLOAT = D3D_SVT_FLOAT,
- D3D10_SVT_STRING = D3D_SVT_STRING,
- D3D10_SVT_TEXTURE = D3D_SVT_TEXTURE,
- D3D10_SVT_TEXTURE1D = D3D_SVT_TEXTURE1D,
- D3D10_SVT_TEXTURE2D = D3D_SVT_TEXTURE2D,
- D3D10_SVT_TEXTURE3D = D3D_SVT_TEXTURE3D,
- D3D10_SVT_TEXTURECUBE = D3D_SVT_TEXTURECUBE,
- D3D10_SVT_SAMPLER = D3D_SVT_SAMPLER,
- D3D10_SVT_SAMPLER1D = D3D_SVT_SAMPLER1D,
- D3D10_SVT_SAMPLER2D = D3D_SVT_SAMPLER2D,
- D3D10_SVT_SAMPLER3D = D3D_SVT_SAMPLER3D,
- D3D10_SVT_SAMPLERCUBE = D3D_SVT_SAMPLERCUBE,
- D3D10_SVT_PIXELSHADER = D3D_SVT_PIXELSHADER,
- D3D10_SVT_VERTEXSHADER = D3D_SVT_VERTEXSHADER,
- D3D10_SVT_PIXELFRAGMENT = D3D_SVT_PIXELFRAGMENT,
- D3D10_SVT_VERTEXFRAGMENT = D3D_SVT_VERTEXFRAGMENT,
- D3D10_SVT_UINT = D3D_SVT_UINT,
- D3D10_SVT_UINT8 = D3D_SVT_UINT8,
- D3D10_SVT_GEOMETRYSHADER = D3D_SVT_GEOMETRYSHADER,
- D3D10_SVT_RASTERIZER = D3D_SVT_RASTERIZER,
- D3D10_SVT_DEPTHSTENCIL = D3D_SVT_DEPTHSTENCIL,
- D3D10_SVT_BLEND = D3D_SVT_BLEND,
- D3D10_SVT_BUFFER = D3D_SVT_BUFFER,
- D3D10_SVT_CBUFFER = D3D_SVT_CBUFFER,
- D3D10_SVT_TBUFFER = D3D_SVT_TBUFFER,
- D3D10_SVT_TEXTURE1DARRAY = D3D_SVT_TEXTURE1DARRAY,
- D3D10_SVT_TEXTURE2DARRAY = D3D_SVT_TEXTURE2DARRAY,
- D3D10_SVT_RENDERTARGETVIEW = D3D_SVT_RENDERTARGETVIEW,
- D3D10_SVT_DEPTHSTENCILVIEW = D3D_SVT_DEPTHSTENCILVIEW,
- D3D10_SVT_TEXTURE2DMS = D3D_SVT_TEXTURE2DMS,
- D3D10_SVT_TEXTURE2DMSARRAY = D3D_SVT_TEXTURE2DMSARRAY,
- D3D10_SVT_TEXTURECUBEARRAY = D3D_SVT_TEXTURECUBEARRAY,
- D3D11_SVT_HULLSHADER = D3D_SVT_HULLSHADER,
- D3D11_SVT_DOMAINSHADER = D3D_SVT_DOMAINSHADER,
- D3D11_SVT_INTERFACE_POINTER = D3D_SVT_INTERFACE_POINTER,
- D3D11_SVT_COMPUTESHADER = D3D_SVT_COMPUTESHADER,
- D3D11_SVT_DOUBLE = D3D_SVT_DOUBLE,
- D3D11_SVT_RWTEXTURE1D = D3D_SVT_RWTEXTURE1D,
- D3D11_SVT_RWTEXTURE1DARRAY = D3D_SVT_RWTEXTURE1DARRAY,
- D3D11_SVT_RWTEXTURE2D = D3D_SVT_RWTEXTURE2D,
- D3D11_SVT_RWTEXTURE2DARRAY = D3D_SVT_RWTEXTURE2DARRAY,
- D3D11_SVT_RWTEXTURE3D = D3D_SVT_RWTEXTURE3D,
- D3D11_SVT_RWBUFFER = D3D_SVT_RWBUFFER,
- D3D11_SVT_BYTEADDRESS_BUFFER = D3D_SVT_BYTEADDRESS_BUFFER,
- D3D11_SVT_RWBYTEADDRESS_BUFFER = D3D_SVT_RWBYTEADDRESS_BUFFER,
- D3D11_SVT_STRUCTURED_BUFFER = D3D_SVT_STRUCTURED_BUFFER,
- D3D11_SVT_RWSTRUCTURED_BUFFER = D3D_SVT_RWSTRUCTURED_BUFFER,
- D3D11_SVT_APPEND_STRUCTURED_BUFFER = D3D_SVT_APPEND_STRUCTURED_BUFFER,
- D3D11_SVT_CONSUME_STRUCTURED_BUFFER = D3D_SVT_CONSUME_STRUCTURED_BUFFER,
- D3D_SVT_FORCE_DWORD = 0x7fffffff
- } D3D_SHADER_VARIABLE_TYPE;
-
-typedef
-enum _D3D_SHADER_INPUT_FLAGS
- {
- D3D_SIF_USERPACKED = 0x1,
- D3D_SIF_COMPARISON_SAMPLER = 0x2,
- D3D_SIF_TEXTURE_COMPONENT_0 = 0x4,
- D3D_SIF_TEXTURE_COMPONENT_1 = 0x8,
- D3D_SIF_TEXTURE_COMPONENTS = 0xc,
- D3D_SIF_UNUSED = 0x10,
- D3D10_SIF_USERPACKED = D3D_SIF_USERPACKED,
- D3D10_SIF_COMPARISON_SAMPLER = D3D_SIF_COMPARISON_SAMPLER,
- D3D10_SIF_TEXTURE_COMPONENT_0 = D3D_SIF_TEXTURE_COMPONENT_0,
- D3D10_SIF_TEXTURE_COMPONENT_1 = D3D_SIF_TEXTURE_COMPONENT_1,
- D3D10_SIF_TEXTURE_COMPONENTS = D3D_SIF_TEXTURE_COMPONENTS,
- D3D_SIF_FORCE_DWORD = 0x7fffffff
- } D3D_SHADER_INPUT_FLAGS;
-
-typedef
-enum _D3D_SHADER_INPUT_TYPE
- {
- D3D_SIT_CBUFFER = 0,
- D3D_SIT_TBUFFER = ( D3D_SIT_CBUFFER + 1 ) ,
- D3D_SIT_TEXTURE = ( D3D_SIT_TBUFFER + 1 ) ,
- D3D_SIT_SAMPLER = ( D3D_SIT_TEXTURE + 1 ) ,
- D3D_SIT_UAV_RWTYPED = ( D3D_SIT_SAMPLER + 1 ) ,
- D3D_SIT_STRUCTURED = ( D3D_SIT_UAV_RWTYPED + 1 ) ,
- D3D_SIT_UAV_RWSTRUCTURED = ( D3D_SIT_STRUCTURED + 1 ) ,
- D3D_SIT_BYTEADDRESS = ( D3D_SIT_UAV_RWSTRUCTURED + 1 ) ,
- D3D_SIT_UAV_RWBYTEADDRESS = ( D3D_SIT_BYTEADDRESS + 1 ) ,
- D3D_SIT_UAV_APPEND_STRUCTURED = ( D3D_SIT_UAV_RWBYTEADDRESS + 1 ) ,
- D3D_SIT_UAV_CONSUME_STRUCTURED = ( D3D_SIT_UAV_APPEND_STRUCTURED + 1 ) ,
- D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = ( D3D_SIT_UAV_CONSUME_STRUCTURED + 1 ) ,
- D3D_SIT_RTACCELERATIONSTRUCTURE = ( D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER + 1 ) ,
- D3D_SIT_UAV_FEEDBACKTEXTURE = ( D3D_SIT_RTACCELERATIONSTRUCTURE + 1 ) ,
- D3D10_SIT_CBUFFER = D3D_SIT_CBUFFER,
- D3D10_SIT_TBUFFER = D3D_SIT_TBUFFER,
- D3D10_SIT_TEXTURE = D3D_SIT_TEXTURE,
- D3D10_SIT_SAMPLER = D3D_SIT_SAMPLER,
- D3D11_SIT_UAV_RWTYPED = D3D_SIT_UAV_RWTYPED,
- D3D11_SIT_STRUCTURED = D3D_SIT_STRUCTURED,
- D3D11_SIT_UAV_RWSTRUCTURED = D3D_SIT_UAV_RWSTRUCTURED,
- D3D11_SIT_BYTEADDRESS = D3D_SIT_BYTEADDRESS,
- D3D11_SIT_UAV_RWBYTEADDRESS = D3D_SIT_UAV_RWBYTEADDRESS,
- D3D11_SIT_UAV_APPEND_STRUCTURED = D3D_SIT_UAV_APPEND_STRUCTURED,
- D3D11_SIT_UAV_CONSUME_STRUCTURED = D3D_SIT_UAV_CONSUME_STRUCTURED,
- D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER
- } D3D_SHADER_INPUT_TYPE;
-
-typedef
-enum _D3D_SHADER_CBUFFER_FLAGS
- {
- D3D_CBF_USERPACKED = 1,
- D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED,
- D3D_CBF_FORCE_DWORD = 0x7fffffff
- } D3D_SHADER_CBUFFER_FLAGS;
-
-typedef
-enum _D3D_CBUFFER_TYPE
- {
- D3D_CT_CBUFFER = 0,
- D3D_CT_TBUFFER = ( D3D_CT_CBUFFER + 1 ) ,
- D3D_CT_INTERFACE_POINTERS = ( D3D_CT_TBUFFER + 1 ) ,
- D3D_CT_RESOURCE_BIND_INFO = ( D3D_CT_INTERFACE_POINTERS + 1 ) ,
- D3D10_CT_CBUFFER = D3D_CT_CBUFFER,
- D3D10_CT_TBUFFER = D3D_CT_TBUFFER,
- D3D11_CT_CBUFFER = D3D_CT_CBUFFER,
- D3D11_CT_TBUFFER = D3D_CT_TBUFFER,
- D3D11_CT_INTERFACE_POINTERS = D3D_CT_INTERFACE_POINTERS,
- D3D11_CT_RESOURCE_BIND_INFO = D3D_CT_RESOURCE_BIND_INFO
- } D3D_CBUFFER_TYPE;
-
-typedef
-enum D3D_NAME
- {
- D3D_NAME_UNDEFINED = 0,
- D3D_NAME_POSITION = 1,
- D3D_NAME_CLIP_DISTANCE = 2,
- D3D_NAME_CULL_DISTANCE = 3,
- D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
- D3D_NAME_VIEWPORT_ARRAY_INDEX = 5,
- D3D_NAME_VERTEX_ID = 6,
- D3D_NAME_PRIMITIVE_ID = 7,
- D3D_NAME_INSTANCE_ID = 8,
- D3D_NAME_IS_FRONT_FACE = 9,
- D3D_NAME_SAMPLE_INDEX = 10,
- D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11,
- D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12,
- D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13,
- D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14,
- D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15,
- D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16,
- D3D_NAME_BARYCENTRICS = 23,
- D3D_NAME_SHADINGRATE = 24,
- D3D_NAME_CULLPRIMITIVE = 25,
- D3D_NAME_TARGET = 64,
- D3D_NAME_DEPTH = 65,
- D3D_NAME_COVERAGE = 66,
- D3D_NAME_DEPTH_GREATER_EQUAL = 67,
- D3D_NAME_DEPTH_LESS_EQUAL = 68,
- D3D_NAME_STENCIL_REF = 69,
- D3D_NAME_INNER_COVERAGE = 70,
- D3D10_NAME_UNDEFINED = D3D_NAME_UNDEFINED,
- D3D10_NAME_POSITION = D3D_NAME_POSITION,
- D3D10_NAME_CLIP_DISTANCE = D3D_NAME_CLIP_DISTANCE,
- D3D10_NAME_CULL_DISTANCE = D3D_NAME_CULL_DISTANCE,
- D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = D3D_NAME_RENDER_TARGET_ARRAY_INDEX,
- D3D10_NAME_VIEWPORT_ARRAY_INDEX = D3D_NAME_VIEWPORT_ARRAY_INDEX,
- D3D10_NAME_VERTEX_ID = D3D_NAME_VERTEX_ID,
- D3D10_NAME_PRIMITIVE_ID = D3D_NAME_PRIMITIVE_ID,
- D3D10_NAME_INSTANCE_ID = D3D_NAME_INSTANCE_ID,
- D3D10_NAME_IS_FRONT_FACE = D3D_NAME_IS_FRONT_FACE,
- D3D10_NAME_SAMPLE_INDEX = D3D_NAME_SAMPLE_INDEX,
- D3D10_NAME_TARGET = D3D_NAME_TARGET,
- D3D10_NAME_DEPTH = D3D_NAME_DEPTH,
- D3D10_NAME_COVERAGE = D3D_NAME_COVERAGE,
- D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR = D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
- D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
- D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR = D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR,
- D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR = D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
- D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR = D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
- D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR,
- D3D11_NAME_DEPTH_GREATER_EQUAL = D3D_NAME_DEPTH_GREATER_EQUAL,
- D3D11_NAME_DEPTH_LESS_EQUAL = D3D_NAME_DEPTH_LESS_EQUAL,
- D3D11_NAME_STENCIL_REF = D3D_NAME_STENCIL_REF,
- D3D11_NAME_INNER_COVERAGE = D3D_NAME_INNER_COVERAGE,
- D3D12_NAME_BARYCENTRICS = D3D_NAME_BARYCENTRICS,
- D3D12_NAME_SHADINGRATE = D3D_NAME_SHADINGRATE,
- D3D12_NAME_CULLPRIMITIVE = D3D_NAME_CULLPRIMITIVE
- } D3D_NAME;
-
-typedef
-enum D3D_RESOURCE_RETURN_TYPE
- {
- D3D_RETURN_TYPE_UNORM = 1,
- D3D_RETURN_TYPE_SNORM = 2,
- D3D_RETURN_TYPE_SINT = 3,
- D3D_RETURN_TYPE_UINT = 4,
- D3D_RETURN_TYPE_FLOAT = 5,
- D3D_RETURN_TYPE_MIXED = 6,
- D3D_RETURN_TYPE_DOUBLE = 7,
- D3D_RETURN_TYPE_CONTINUED = 8,
- D3D10_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM,
- D3D10_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM,
- D3D10_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT,
- D3D10_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT,
- D3D10_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT,
- D3D10_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED,
- D3D11_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM,
- D3D11_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM,
- D3D11_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT,
- D3D11_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT,
- D3D11_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT,
- D3D11_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED,
- D3D11_RETURN_TYPE_DOUBLE = D3D_RETURN_TYPE_DOUBLE,
- D3D11_RETURN_TYPE_CONTINUED = D3D_RETURN_TYPE_CONTINUED
- } D3D_RESOURCE_RETURN_TYPE;
-
-typedef
-enum D3D_REGISTER_COMPONENT_TYPE
- {
- D3D_REGISTER_COMPONENT_UNKNOWN = 0,
- D3D_REGISTER_COMPONENT_UINT32 = 1,
- D3D_REGISTER_COMPONENT_SINT32 = 2,
- D3D_REGISTER_COMPONENT_FLOAT32 = 3,
- D3D_REGISTER_COMPONENT_UINT16 = 4,
- D3D_REGISTER_COMPONENT_SINT16 = 5,
- D3D_REGISTER_COMPONENT_FLOAT16 = 6,
- D3D_REGISTER_COMPONENT_UINT64 = 7,
- D3D_REGISTER_COMPONENT_SINT64 = 8,
- D3D_REGISTER_COMPONENT_FLOAT64 = 9,
- D3D10_REGISTER_COMPONENT_UNKNOWN = D3D_REGISTER_COMPONENT_UNKNOWN,
- D3D10_REGISTER_COMPONENT_UINT32 = D3D_REGISTER_COMPONENT_UINT32,
- D3D10_REGISTER_COMPONENT_SINT32 = D3D_REGISTER_COMPONENT_SINT32,
- D3D10_REGISTER_COMPONENT_FLOAT32 = D3D_REGISTER_COMPONENT_FLOAT32,
- D3D10_REGISTER_COMPONENT_UINT16 = D3D_REGISTER_COMPONENT_UINT16,
- D3D10_REGISTER_COMPONENT_SINT16 = D3D_REGISTER_COMPONENT_SINT16,
- D3D10_REGISTER_COMPONENT_FLOAT16 = D3D_REGISTER_COMPONENT_FLOAT16,
- D3D10_REGISTER_COMPONENT_UINT64 = D3D_REGISTER_COMPONENT_UINT64,
- D3D10_REGISTER_COMPONENT_SINT64 = D3D_REGISTER_COMPONENT_SINT64,
- D3D10_REGISTER_COMPONENT_FLOAT64 = D3D_REGISTER_COMPONENT_FLOAT64
- } D3D_REGISTER_COMPONENT_TYPE;
-
-typedef
-enum D3D_TESSELLATOR_DOMAIN
- {
- D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0,
- D3D_TESSELLATOR_DOMAIN_ISOLINE = 1,
- D3D_TESSELLATOR_DOMAIN_TRI = 2,
- D3D_TESSELLATOR_DOMAIN_QUAD = 3,
- D3D11_TESSELLATOR_DOMAIN_UNDEFINED = D3D_TESSELLATOR_DOMAIN_UNDEFINED,
- D3D11_TESSELLATOR_DOMAIN_ISOLINE = D3D_TESSELLATOR_DOMAIN_ISOLINE,
- D3D11_TESSELLATOR_DOMAIN_TRI = D3D_TESSELLATOR_DOMAIN_TRI,
- D3D11_TESSELLATOR_DOMAIN_QUAD = D3D_TESSELLATOR_DOMAIN_QUAD
- } D3D_TESSELLATOR_DOMAIN;
-
-typedef
-enum D3D_TESSELLATOR_PARTITIONING
- {
- D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
- D3D_TESSELLATOR_PARTITIONING_INTEGER = 1,
- D3D_TESSELLATOR_PARTITIONING_POW2 = 2,
- D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3,
- D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4,
- D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = D3D_TESSELLATOR_PARTITIONING_UNDEFINED,
- D3D11_TESSELLATOR_PARTITIONING_INTEGER = D3D_TESSELLATOR_PARTITIONING_INTEGER,
- D3D11_TESSELLATOR_PARTITIONING_POW2 = D3D_TESSELLATOR_PARTITIONING_POW2,
- D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
- D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN
- } D3D_TESSELLATOR_PARTITIONING;
-
-typedef
-enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE
- {
- D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0,
- D3D_TESSELLATOR_OUTPUT_POINT = 1,
- D3D_TESSELLATOR_OUTPUT_LINE = 2,
- D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3,
- D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4,
- D3D11_TESSELLATOR_OUTPUT_UNDEFINED = D3D_TESSELLATOR_OUTPUT_UNDEFINED,
- D3D11_TESSELLATOR_OUTPUT_POINT = D3D_TESSELLATOR_OUTPUT_POINT,
- D3D11_TESSELLATOR_OUTPUT_LINE = D3D_TESSELLATOR_OUTPUT_LINE,
- D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW,
- D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW
- } D3D_TESSELLATOR_OUTPUT_PRIMITIVE;
-
-typedef
-enum D3D_MIN_PRECISION
- {
- D3D_MIN_PRECISION_DEFAULT = 0,
- D3D_MIN_PRECISION_FLOAT_16 = 1,
- D3D_MIN_PRECISION_FLOAT_2_8 = 2,
- D3D_MIN_PRECISION_RESERVED = 3,
- D3D_MIN_PRECISION_SINT_16 = 4,
- D3D_MIN_PRECISION_UINT_16 = 5,
- D3D_MIN_PRECISION_ANY_16 = 0xf0,
- D3D_MIN_PRECISION_ANY_10 = 0xf1
- } D3D_MIN_PRECISION;
-
-typedef
-enum D3D_INTERPOLATION_MODE
- {
- D3D_INTERPOLATION_UNDEFINED = 0,
- D3D_INTERPOLATION_CONSTANT = 1,
- D3D_INTERPOLATION_LINEAR = 2,
- D3D_INTERPOLATION_LINEAR_CENTROID = 3,
- D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4,
- D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5,
- D3D_INTERPOLATION_LINEAR_SAMPLE = 6,
- D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7
- } D3D_INTERPOLATION_MODE;
-
-typedef
-enum _D3D_PARAMETER_FLAGS
- {
- D3D_PF_NONE = 0,
- D3D_PF_IN = 0x1,
- D3D_PF_OUT = 0x2,
- D3D_PF_FORCE_DWORD = 0x7fffffff
- } D3D_PARAMETER_FLAGS;
-
-typedef
-enum D3D_FORMAT_LAYOUT
- {
- D3DFL_STANDARD = 0,
- D3DFL_CUSTOM = -1
- } D3D_FORMAT_LAYOUT;
-
-typedef
-enum D3D_FORMAT_TYPE_LEVEL
- {
- D3DFTL_NO_TYPE = 0,
- D3DFTL_PARTIAL_TYPE = -2,
- D3DFTL_FULL_TYPE = -1
- } D3D_FORMAT_TYPE_LEVEL;
-
-typedef
-enum D3D_FORMAT_COMPONENT_NAME
- {
- D3DFCN_R = -4,
- D3DFCN_G = -3,
- D3DFCN_B = -2,
- D3DFCN_A = -1,
- D3DFCN_D = 0,
- D3DFCN_S = 1,
- D3DFCN_X = 2
- } D3D_FORMAT_COMPONENT_NAME;
-
-typedef
-enum D3D_FORMAT_COMPONENT_INTERPRETATION
- {
- D3DFCI_TYPELESS = 0,
- D3DFCI_FLOAT = -4,
- D3DFCI_SNORM = -3,
- D3DFCI_UNORM = -2,
- D3DFCI_SINT = -1,
- D3DFCI_UINT = 1,
- D3DFCI_UNORM_SRGB = 2,
- D3DFCI_BIASED_FIXED_2_8 = 3
- } D3D_FORMAT_COMPONENT_INTERPRETATION;
-
-DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);
-DEFINE_GUID(WKPDID_D3DDebugObjectNameW,0x4cca5fd8,0x921f,0x42c8,0x85,0x66,0x70,0xca,0xf2,0xa9,0xb7,0x41);
-DEFINE_GUID(WKPDID_CommentStringW,0xd0149dc0,0x90e8,0x4ec8,0x81, 0x44, 0xe9, 0x00, 0xad, 0x26, 0x6b, 0xb2);
-DEFINE_GUID(WKPDID_D3D12UniqueObjectId, 0x1b39de15, 0xec04, 0x4bae, 0xba, 0x4d, 0x8c, 0xef, 0x79, 0xfc, 0x04, 0xc1);
-#define D3D_SET_OBJECT_NAME_N_A(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectName, Chars, pName)
-#define D3D_SET_OBJECT_NAME_A(pObject, pName) D3D_SET_OBJECT_NAME_N_A(pObject, lstrlenA(pName), pName)
-#define D3D_SET_OBJECT_NAME_N_W(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectNameW, Chars*2, pName)
-#define D3D_SET_OBJECT_NAME_W(pObject, pName) D3D_SET_OBJECT_NAME_N_W(pObject, wcslen(pName), pName)
-#define D3D_COMPONENT_MASK_X 1
-#define D3D_COMPONENT_MASK_Y 2
-#define D3D_COMPONENT_MASK_Z 4
-#define D3D_COMPONENT_MASK_W 8
-DEFINE_GUID(D3D_TEXTURE_LAYOUT_ROW_MAJOR,0xb5dc234f,0x72bb,0x4bec,0x97,0x05,0x8c,0xf2,0x58,0xdf,0x6b,0x6c);
-DEFINE_GUID(D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE,0x4c0f29e3,0x3f5f,0x4d35,0x84,0xc9,0xbc,0x09,0x83,0xb6,0x2c,0x28);
-
-
-extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_s_ifspec;
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3dcommon.idl b/Juliet/src/Graphics/DX12/D3D12/directx/d3dcommon.idl
deleted file mode 100644
index bfa375d..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3dcommon.idl
+++ /dev/null
@@ -1,991 +0,0 @@
-/*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- * Licensed under the MIT license
- *
- *-------------------------------------------------------------------------------------*/
-import "oaidl.idl";
-import "ocidl.idl";
-
-//----------------------------------------------------------------------------
-//
-// D3D-version-neutral runtime information.
-//
-//----------------------------------------------------------------------------
-
-typedef enum D3D_DRIVER_TYPE
-{
- D3D_DRIVER_TYPE_UNKNOWN,
- D3D_DRIVER_TYPE_HARDWARE,
- D3D_DRIVER_TYPE_REFERENCE,
- D3D_DRIVER_TYPE_NULL,
- D3D_DRIVER_TYPE_SOFTWARE,
- D3D_DRIVER_TYPE_WARP,
-} D3D_DRIVER_TYPE;
-
-typedef enum D3D_FEATURE_LEVEL
-{
- D3D_FEATURE_LEVEL_1_0_GENERIC = 0x100,
- D3D_FEATURE_LEVEL_1_0_CORE = 0x1000,
- D3D_FEATURE_LEVEL_9_1 = 0x9100,
- D3D_FEATURE_LEVEL_9_2 = 0x9200,
- D3D_FEATURE_LEVEL_9_3 = 0x9300,
- D3D_FEATURE_LEVEL_10_0 = 0xa000,
- D3D_FEATURE_LEVEL_10_1 = 0xa100,
- D3D_FEATURE_LEVEL_11_0 = 0xb000,
- D3D_FEATURE_LEVEL_11_1 = 0xb100,
- D3D_FEATURE_LEVEL_12_0 = 0xc000,
- D3D_FEATURE_LEVEL_12_1 = 0xc100,
- D3D_FEATURE_LEVEL_12_2 = 0xc200
-} D3D_FEATURE_LEVEL;
-
-cpp_quote("#define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION 2048")
-cpp_quote("#define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION 4096")
-cpp_quote("#define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION 2048")
-cpp_quote("#define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION 4096")
-cpp_quote("#define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION 512")
-cpp_quote("#define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION 4096")
-cpp_quote("#define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 256")
-cpp_quote("#define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY 2")
-cpp_quote("#define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT 65535")
-cpp_quote("#define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT 1048575")
-cpp_quote("#define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT 1")
-cpp_quote("#define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT 4")
-cpp_quote("#define D3D_FL9_1_MAX_TEXTURE_REPEAT 128")
-cpp_quote("#define D3D_FL9_2_MAX_TEXTURE_REPEAT 2048")
-cpp_quote("#define D3D_FL9_3_MAX_TEXTURE_REPEAT 8192")
-
-typedef enum D3D_PRIMITIVE_TOPOLOGY
-{
- D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
- D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
- D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2,
- D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
- D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
- D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
- D3D_PRIMITIVE_TOPOLOGY_TRIANGLEFAN = 6,
- // Adjacency values should be equal to (0x8 & non-adjacency):
- D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
- D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
- D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
- D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13,
- D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
- D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34,
- D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35,
- D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36,
- D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37,
- D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38,
- D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39,
- D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40,
- D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41,
- D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42,
- D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43,
- D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44,
- D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45,
- D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46,
- D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47,
- D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48,
- D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49,
- D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50,
- D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51,
- D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52,
- D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53,
- D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54,
- D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55,
- D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56,
- D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57,
- D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58,
- D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59,
- D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60,
- D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61,
- D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62,
- D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63,
- D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64,
-
- D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED,
- D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
-
- D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED,
- D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
- D3D11_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST,
- D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
- D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
- D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
- D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,
- D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
- D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
- D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
- D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST,
- D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
-} D3D_PRIMITIVE_TOPOLOGY;
-
-typedef enum D3D_PRIMITIVE
-{
- D3D_PRIMITIVE_UNDEFINED = 0,
- D3D_PRIMITIVE_POINT = 1,
- D3D_PRIMITIVE_LINE = 2,
- D3D_PRIMITIVE_TRIANGLE = 3,
- // Adjacency values should be equal to (0x4 & non-adjacency):
- D3D_PRIMITIVE_LINE_ADJ = 6,
- D3D_PRIMITIVE_TRIANGLE_ADJ = 7,
- D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8,
- D3D_PRIMITIVE_2_CONTROL_POINT_PATCH = 9,
- D3D_PRIMITIVE_3_CONTROL_POINT_PATCH = 10,
- D3D_PRIMITIVE_4_CONTROL_POINT_PATCH = 11,
- D3D_PRIMITIVE_5_CONTROL_POINT_PATCH = 12,
- D3D_PRIMITIVE_6_CONTROL_POINT_PATCH = 13,
- D3D_PRIMITIVE_7_CONTROL_POINT_PATCH = 14,
- D3D_PRIMITIVE_8_CONTROL_POINT_PATCH = 15,
- D3D_PRIMITIVE_9_CONTROL_POINT_PATCH = 16,
- D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = 17,
- D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = 18,
- D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = 19,
- D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = 20,
- D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = 21,
- D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = 22,
- D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = 23,
- D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,
- D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,
- D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,
- D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 27,
- D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 28,
- D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 29,
- D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 30,
- D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 31,
- D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 32,
- D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 33,
- D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 34,
- D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 35,
- D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 36,
- D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 37,
- D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 38,
- D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 39,
-
- D3D10_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED,
- D3D10_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT,
- D3D10_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE,
- D3D10_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE,
- D3D10_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ,
- D3D10_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ,
-
- D3D11_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED,
- D3D11_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT,
- D3D11_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE,
- D3D11_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE,
- D3D11_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ,
- D3D11_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ,
- D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = D3D_PRIMITIVE_1_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH = D3D_PRIMITIVE_2_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH = D3D_PRIMITIVE_3_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH = D3D_PRIMITIVE_4_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH = D3D_PRIMITIVE_5_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH = D3D_PRIMITIVE_6_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH = D3D_PRIMITIVE_7_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH = D3D_PRIMITIVE_8_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH = D3D_PRIMITIVE_9_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH = D3D_PRIMITIVE_10_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH = D3D_PRIMITIVE_11_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH = D3D_PRIMITIVE_12_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH = D3D_PRIMITIVE_13_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH = D3D_PRIMITIVE_14_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH = D3D_PRIMITIVE_15_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH = D3D_PRIMITIVE_16_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = D3D_PRIMITIVE_17_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = D3D_PRIMITIVE_18_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = D3D_PRIMITIVE_19_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = D3D_PRIMITIVE_20_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = D3D_PRIMITIVE_21_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = D3D_PRIMITIVE_22_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = D3D_PRIMITIVE_23_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = D3D_PRIMITIVE_24_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = D3D_PRIMITIVE_25_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = D3D_PRIMITIVE_26_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = D3D_PRIMITIVE_27_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = D3D_PRIMITIVE_28_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = D3D_PRIMITIVE_29_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = D3D_PRIMITIVE_30_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = D3D_PRIMITIVE_31_CONTROL_POINT_PATCH,
- D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = D3D_PRIMITIVE_32_CONTROL_POINT_PATCH,
-} D3D_PRIMITIVE;
-
-typedef enum D3D_SRV_DIMENSION
-{
- D3D_SRV_DIMENSION_UNKNOWN = 0,
- D3D_SRV_DIMENSION_BUFFER = 1,
- D3D_SRV_DIMENSION_TEXTURE1D = 2,
- D3D_SRV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D_SRV_DIMENSION_TEXTURE2D = 4,
- D3D_SRV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D_SRV_DIMENSION_TEXTURE2DMS = 6,
- D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D_SRV_DIMENSION_TEXTURE3D = 8,
- D3D_SRV_DIMENSION_TEXTURECUBE = 9,
- D3D_SRV_DIMENSION_TEXTURECUBEARRAY = 10,
- D3D_SRV_DIMENSION_BUFFEREX = 11,
-
- D3D10_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN,
- D3D10_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER,
- D3D10_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D,
- D3D10_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY,
- D3D10_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D,
- D3D10_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY,
- D3D10_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS,
- D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
- D3D10_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D,
- D3D10_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE,
-
- D3D10_1_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN,
- D3D10_1_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER,
- D3D10_1_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D,
- D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY,
- D3D10_1_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D,
- D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY,
- D3D10_1_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS,
- D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
- D3D10_1_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D,
- D3D10_1_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE,
- D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY,
-
- D3D11_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN,
- D3D11_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER,
- D3D11_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D,
- D3D11_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY,
- D3D11_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D,
- D3D11_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY,
- D3D11_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS,
- D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
- D3D11_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D,
- D3D11_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE,
- D3D11_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY,
- D3D11_SRV_DIMENSION_BUFFEREX = D3D_SRV_DIMENSION_BUFFEREX,
-} D3D_SRV_DIMENSION;
-
-// Bits in shaders indicating features they use which the runtime checks against current device support:
-cpp_quote("#define D3D_SHADER_FEATURE_DOUBLES 0x00001")
-cpp_quote("#define D3D_SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X 0x00002")
-cpp_quote("#define D3D_SHADER_FEATURE_UAVS_AT_EVERY_STAGE 0x00004")
-cpp_quote("#define D3D_SHADER_FEATURE_64_UAVS 0x00008")
-cpp_quote("#define D3D_SHADER_FEATURE_MINIMUM_PRECISION 0x00010")
-cpp_quote("#define D3D_SHADER_FEATURE_11_1_DOUBLE_EXTENSIONS 0x00020")
-cpp_quote("#define D3D_SHADER_FEATURE_11_1_SHADER_EXTENSIONS 0x00040")
-cpp_quote("#define D3D_SHADER_FEATURE_LEVEL_9_COMPARISON_FILTERING 0x00080")
-cpp_quote("#define D3D_SHADER_FEATURE_TILED_RESOURCES 0x00100")
-cpp_quote("#define D3D_SHADER_FEATURE_STENCIL_REF 0x00200")
-cpp_quote("#define D3D_SHADER_FEATURE_INNER_COVERAGE 0x00400")
-cpp_quote("#define D3D_SHADER_FEATURE_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00800")
-cpp_quote("#define D3D_SHADER_FEATURE_ROVS 0x01000")
-cpp_quote("#define D3D_SHADER_FEATURE_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x02000")
-cpp_quote("#define D3D_SHADER_FEATURE_WAVE_OPS 0x04000")
-cpp_quote("#define D3D_SHADER_FEATURE_INT64_OPS 0x08000")
-cpp_quote("#define D3D_SHADER_FEATURE_VIEW_ID 0x10000")
-cpp_quote("#define D3D_SHADER_FEATURE_BARYCENTRICS 0x20000")
-cpp_quote("#define D3D_SHADER_FEATURE_NATIVE_16BIT_OPS 0x40000")
-cpp_quote("#define D3D_SHADER_FEATURE_SHADING_RATE 0x80000")
-cpp_quote("#define D3D_SHADER_FEATURE_RAYTRACING_TIER_1_1 0x100000")
-cpp_quote("#define D3D_SHADER_FEATURE_SAMPLER_FEEDBACK 0x200000")
-cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_TYPED_RESOURCE 0x400000")
-cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_GROUP_SHARED 0x800000")
-cpp_quote("#define D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x1000000")
-cpp_quote("#define D3D_SHADER_FEATURE_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x2000000")
-cpp_quote("#define D3D_SHADER_FEATURE_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x4000000")
-cpp_quote("#define D3D_SHADER_FEATURE_WAVE_MMA 0x8000000")
-cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000")
-cpp_quote("#define D3D_SHADER_FEATURE_ADVANCED_TEXTURE_OPS 0x20000000")
-cpp_quote("#define D3D_SHADER_FEATURE_WRITEABLE_MSAA_TEXTURES 0x40000000")
-cpp_quote("#define D3D_SHADER_FEATURE_SAMPLE_CMP_GRADIENT_OR_BIAS 0x80000000")
-cpp_quote("#define D3D_SHADER_FEATURE_EXTENDED_COMMAND_INFO 0x100000000ull")
-
-// This section is for flags that do not directly indicate a required feature,
-// but are used to indicate something about the shader.
-
-// Flag for any derivative use. This allows call-graph validation
-// in the runtime to detect misuse of derivatives for an entry point that cannot
-// support it, or to determine when the flag
-// D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS is required.
-cpp_quote("#define D3D_OPT_SHADER_FEATURE_USES_DERIVATIVES 0x0000010000000000ull")
-
-cpp_quote("#define D3D_OPT_SHADER_FEATURE_REQUIRES_GROUP 0x0000020000000000ull")
-
-
-// Additional internal shader feature flags are listed in dxbcutils.h (not relevant/useful for public to see)
-// When adding entries here, make sure they don't conflict with what's there.
-
-//----------------------------------------------------------------------------
-//
-// Shader compilation information.
-//
-//----------------------------------------------------------------------------
-
-//----------------------------------------------------------------------------
-// D3D_SHADER_MACRO:
-// ----------
-// Preprocessor macro definition. The application pass in a NULL-terminated
-// array of this structure to various D3D APIs. This enables the application
-// to #define tokens at runtime, before the file is parsed.
-//----------------------------------------------------------------------------
-
-typedef struct _D3D_SHADER_MACRO
-{
- LPCSTR Name;
- LPCSTR Definition;
-} D3D_SHADER_MACRO, *LPD3D_SHADER_MACRO;
-
-//----------------------------------------------------------------------------
-// ID3DBlob:
-// ------------
-// The buffer object is used by D3D to return arbitrary size data.
-// For compatibility with D3D10 this interface is also called ID3D10Blob,
-// but the version-neutral form is preferred.
-//
-// GetBufferPointer -
-// Returns a pointer to the beginning of the buffer.
-//
-// GetBufferSize -
-// Returns the size of the buffer, in bytes.
-//----------------------------------------------------------------------------
-
-// {8BA5FB08-5195-40e2-AC58-0D989C3A0102}
-cpp_quote("DEFINE_GUID(IID_ID3D10Blob, 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2);")
-
-[ uuid( 8BA5FB08-5195-40e2-AC58-0D989C3A0102 ), object, local, pointer_default( unique ) ]
-interface ID3D10Blob : IUnknown
-{
- LPVOID GetBufferPointer();
- SIZE_T GetBufferSize();
-};
-
-cpp_quote("typedef interface ID3D10Blob* LPD3D10BLOB;")
-
-typedef ID3D10Blob ID3DBlob;
-cpp_quote("typedef ID3DBlob* LPD3DBLOB;")
-cpp_quote("#define IID_ID3DBlob IID_ID3D10Blob")
-
-// ID3DDestructionNotifier: An interface to QI for, to set a callback which is triggered when the object is fully destroyed
-typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void* pData);
-
-[uuid(a06eb39a-50da-425b-8c31-4eecd6c270f3), object, local, pointer_default(unique)]
-interface ID3DDestructionNotifier
- : IUnknown
-{
- HRESULT RegisterDestructionCallback(
- [annotation("_In_")] PFN_DESTRUCTION_CALLBACK callbackFn,
- [annotation("_In_")] void* pData,
- [annotation("_Out_")] UINT* pCallbackID
- );
- HRESULT UnregisterDestructionCallback(
- [annotation("_In_")] UINT callbackID
- );
-};
-
-typedef enum _D3D_INCLUDE_TYPE
-{
- D3D_INCLUDE_LOCAL,
- D3D_INCLUDE_SYSTEM,
-
- D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL,
- D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM,
-
- // force 32-bit size enum
- D3D_INCLUDE_FORCE_DWORD = 0x7fffffff
-} D3D_INCLUDE_TYPE;
-
-//----------------------------------------------------------------------------
-// ID3DInclude:
-// -------------
-// This interface is intended to be implemented by the application, and can
-// be used by various D3D APIs. This enables application-specific handling
-// of #include directives in source files.
-//
-// Open()
-// Opens an include file. If successful, it should fill in ppData and
-// pBytes. The data pointer returned must remain valid until Close is
-// subsequently called. The name of the file is encoded in UTF-8 format.
-// Close()
-// Closes an include file. If Open was successful, Close is guaranteed
-// to be called before the API using this interface returns.
-//----------------------------------------------------------------------------
-
-cpp_quote("typedef interface ID3DInclude ID3DInclude;")
-
-cpp_quote("#undef INTERFACE")
-cpp_quote("#define INTERFACE ID3DInclude")
-
-cpp_quote("DECLARE_INTERFACE(ID3DInclude)")
-cpp_quote("{")
-cpp_quote(" STDMETHOD(Open)(THIS_ D3D_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID *ppData, UINT *pBytes) PURE;")
-cpp_quote(" STDMETHOD(Close)(THIS_ LPCVOID pData) PURE;")
-cpp_quote("};")
-
-cpp_quote("typedef ID3DInclude* LPD3DINCLUDE;")
-
-//----------------------------------------------------------------------------
-//
-// Shader reflection information.
-//
-//----------------------------------------------------------------------------
-
-typedef enum _D3D_SHADER_VARIABLE_CLASS
-{
- D3D_SVC_SCALAR,
- D3D_SVC_VECTOR,
- D3D_SVC_MATRIX_ROWS,
- D3D_SVC_MATRIX_COLUMNS,
- D3D_SVC_OBJECT,
- D3D_SVC_STRUCT,
- D3D_SVC_INTERFACE_CLASS,
- D3D_SVC_INTERFACE_POINTER,
-
- D3D10_SVC_SCALAR = D3D_SVC_SCALAR,
- D3D10_SVC_VECTOR = D3D_SVC_VECTOR,
- D3D10_SVC_MATRIX_ROWS = D3D_SVC_MATRIX_ROWS,
- D3D10_SVC_MATRIX_COLUMNS = D3D_SVC_MATRIX_COLUMNS,
- D3D10_SVC_OBJECT = D3D_SVC_OBJECT,
- D3D10_SVC_STRUCT = D3D_SVC_STRUCT,
-
- D3D11_SVC_INTERFACE_CLASS = D3D_SVC_INTERFACE_CLASS,
- D3D11_SVC_INTERFACE_POINTER = D3D_SVC_INTERFACE_POINTER,
-
- // force 32-bit size enum
- D3D_SVC_FORCE_DWORD = 0x7fffffff
-} D3D_SHADER_VARIABLE_CLASS;
-
-typedef enum _D3D_SHADER_VARIABLE_FLAGS
-{
- D3D_SVF_USERPACKED = 1,
- D3D_SVF_USED = 2,
-
- D3D_SVF_INTERFACE_POINTER = 4,
- D3D_SVF_INTERFACE_PARAMETER = 8,
-
- D3D10_SVF_USERPACKED = D3D_SVF_USERPACKED,
- D3D10_SVF_USED = D3D_SVF_USED,
-
- D3D11_SVF_INTERFACE_POINTER = D3D_SVF_INTERFACE_POINTER,
- D3D11_SVF_INTERFACE_PARAMETER = D3D_SVF_INTERFACE_PARAMETER,
-
- // force 32-bit size enum
- D3D_SVF_FORCE_DWORD = 0x7fffffff
-} D3D_SHADER_VARIABLE_FLAGS;
-
-typedef enum _D3D_SHADER_VARIABLE_TYPE
-{
- D3D_SVT_VOID = 0,
- D3D_SVT_BOOL = 1,
- D3D_SVT_INT = 2,
- D3D_SVT_FLOAT = 3,
- D3D_SVT_STRING = 4,
- D3D_SVT_TEXTURE = 5,
- D3D_SVT_TEXTURE1D = 6,
- D3D_SVT_TEXTURE2D = 7,
- D3D_SVT_TEXTURE3D = 8,
- D3D_SVT_TEXTURECUBE = 9,
- D3D_SVT_SAMPLER = 10,
- D3D_SVT_SAMPLER1D = 11,
- D3D_SVT_SAMPLER2D = 12,
- D3D_SVT_SAMPLER3D = 13,
- D3D_SVT_SAMPLERCUBE = 14,
- D3D_SVT_PIXELSHADER = 15,
- D3D_SVT_VERTEXSHADER = 16,
- D3D_SVT_PIXELFRAGMENT = 17,
- D3D_SVT_VERTEXFRAGMENT = 18,
- D3D_SVT_UINT = 19,
- D3D_SVT_UINT8 = 20,
- D3D_SVT_GEOMETRYSHADER = 21,
- D3D_SVT_RASTERIZER = 22,
- D3D_SVT_DEPTHSTENCIL = 23,
- D3D_SVT_BLEND = 24,
- D3D_SVT_BUFFER = 25,
- D3D_SVT_CBUFFER = 26,
- D3D_SVT_TBUFFER = 27,
- D3D_SVT_TEXTURE1DARRAY = 28,
- D3D_SVT_TEXTURE2DARRAY = 29,
- D3D_SVT_RENDERTARGETVIEW = 30,
- D3D_SVT_DEPTHSTENCILVIEW = 31,
-
- D3D_SVT_TEXTURE2DMS = 32,
- D3D_SVT_TEXTURE2DMSARRAY = 33,
-
- D3D_SVT_TEXTURECUBEARRAY = 34,
-
- D3D_SVT_HULLSHADER = 35,
- D3D_SVT_DOMAINSHADER = 36,
-
- D3D_SVT_INTERFACE_POINTER = 37,
- D3D_SVT_COMPUTESHADER = 38,
-
- D3D_SVT_DOUBLE = 39,
-
- D3D_SVT_RWTEXTURE1D = 40,
- D3D_SVT_RWTEXTURE1DARRAY = 41,
- D3D_SVT_RWTEXTURE2D = 42,
- D3D_SVT_RWTEXTURE2DARRAY = 43,
- D3D_SVT_RWTEXTURE3D = 44,
- D3D_SVT_RWBUFFER = 45,
-
- D3D_SVT_BYTEADDRESS_BUFFER = 46,
- D3D_SVT_RWBYTEADDRESS_BUFFER = 47,
- D3D_SVT_STRUCTURED_BUFFER = 48,
- D3D_SVT_RWSTRUCTURED_BUFFER = 49,
- D3D_SVT_APPEND_STRUCTURED_BUFFER = 50,
- D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51,
-
- D3D_SVT_MIN8FLOAT = 52,
- D3D_SVT_MIN10FLOAT = 53,
- D3D_SVT_MIN16FLOAT = 54,
- D3D_SVT_MIN12INT = 55,
- D3D_SVT_MIN16INT = 56,
- D3D_SVT_MIN16UINT = 57,
-
- D3D_SVT_INT16 = 58,
- D3D_SVT_UINT16 = 59,
- D3D_SVT_FLOAT16 = 60,
- D3D_SVT_INT64 = 61,
- D3D_SVT_UINT64 = 62,
-
- D3D10_SVT_VOID = D3D_SVT_VOID,
- D3D10_SVT_BOOL = D3D_SVT_BOOL,
- D3D10_SVT_INT = D3D_SVT_INT,
- D3D10_SVT_FLOAT = D3D_SVT_FLOAT,
- D3D10_SVT_STRING = D3D_SVT_STRING,
- D3D10_SVT_TEXTURE = D3D_SVT_TEXTURE,
- D3D10_SVT_TEXTURE1D = D3D_SVT_TEXTURE1D,
- D3D10_SVT_TEXTURE2D = D3D_SVT_TEXTURE2D,
- D3D10_SVT_TEXTURE3D = D3D_SVT_TEXTURE3D,
- D3D10_SVT_TEXTURECUBE = D3D_SVT_TEXTURECUBE,
- D3D10_SVT_SAMPLER = D3D_SVT_SAMPLER,
- D3D10_SVT_SAMPLER1D = D3D_SVT_SAMPLER1D,
- D3D10_SVT_SAMPLER2D = D3D_SVT_SAMPLER2D,
- D3D10_SVT_SAMPLER3D = D3D_SVT_SAMPLER3D,
- D3D10_SVT_SAMPLERCUBE = D3D_SVT_SAMPLERCUBE,
- D3D10_SVT_PIXELSHADER = D3D_SVT_PIXELSHADER,
- D3D10_SVT_VERTEXSHADER = D3D_SVT_VERTEXSHADER,
- D3D10_SVT_PIXELFRAGMENT = D3D_SVT_PIXELFRAGMENT,
- D3D10_SVT_VERTEXFRAGMENT = D3D_SVT_VERTEXFRAGMENT,
- D3D10_SVT_UINT = D3D_SVT_UINT,
- D3D10_SVT_UINT8 = D3D_SVT_UINT8,
- D3D10_SVT_GEOMETRYSHADER = D3D_SVT_GEOMETRYSHADER,
- D3D10_SVT_RASTERIZER = D3D_SVT_RASTERIZER,
- D3D10_SVT_DEPTHSTENCIL = D3D_SVT_DEPTHSTENCIL,
- D3D10_SVT_BLEND = D3D_SVT_BLEND,
- D3D10_SVT_BUFFER = D3D_SVT_BUFFER,
- D3D10_SVT_CBUFFER = D3D_SVT_CBUFFER,
- D3D10_SVT_TBUFFER = D3D_SVT_TBUFFER,
- D3D10_SVT_TEXTURE1DARRAY = D3D_SVT_TEXTURE1DARRAY,
- D3D10_SVT_TEXTURE2DARRAY = D3D_SVT_TEXTURE2DARRAY,
- D3D10_SVT_RENDERTARGETVIEW = D3D_SVT_RENDERTARGETVIEW,
- D3D10_SVT_DEPTHSTENCILVIEW = D3D_SVT_DEPTHSTENCILVIEW,
-
- D3D10_SVT_TEXTURE2DMS = D3D_SVT_TEXTURE2DMS,
- D3D10_SVT_TEXTURE2DMSARRAY = D3D_SVT_TEXTURE2DMSARRAY,
-
- D3D10_SVT_TEXTURECUBEARRAY = D3D_SVT_TEXTURECUBEARRAY,
-
- D3D11_SVT_HULLSHADER = D3D_SVT_HULLSHADER,
- D3D11_SVT_DOMAINSHADER = D3D_SVT_DOMAINSHADER,
-
- D3D11_SVT_INTERFACE_POINTER = D3D_SVT_INTERFACE_POINTER,
- D3D11_SVT_COMPUTESHADER = D3D_SVT_COMPUTESHADER,
-
- D3D11_SVT_DOUBLE = D3D_SVT_DOUBLE,
-
- D3D11_SVT_RWTEXTURE1D = D3D_SVT_RWTEXTURE1D,
- D3D11_SVT_RWTEXTURE1DARRAY = D3D_SVT_RWTEXTURE1DARRAY,
- D3D11_SVT_RWTEXTURE2D = D3D_SVT_RWTEXTURE2D,
- D3D11_SVT_RWTEXTURE2DARRAY = D3D_SVT_RWTEXTURE2DARRAY,
- D3D11_SVT_RWTEXTURE3D = D3D_SVT_RWTEXTURE3D,
- D3D11_SVT_RWBUFFER = D3D_SVT_RWBUFFER,
-
- D3D11_SVT_BYTEADDRESS_BUFFER = D3D_SVT_BYTEADDRESS_BUFFER,
- D3D11_SVT_RWBYTEADDRESS_BUFFER = D3D_SVT_RWBYTEADDRESS_BUFFER,
- D3D11_SVT_STRUCTURED_BUFFER = D3D_SVT_STRUCTURED_BUFFER,
- D3D11_SVT_RWSTRUCTURED_BUFFER = D3D_SVT_RWSTRUCTURED_BUFFER,
- D3D11_SVT_APPEND_STRUCTURED_BUFFER = D3D_SVT_APPEND_STRUCTURED_BUFFER,
- D3D11_SVT_CONSUME_STRUCTURED_BUFFER = D3D_SVT_CONSUME_STRUCTURED_BUFFER,
-
- // force 32-bit size enum
- D3D_SVT_FORCE_DWORD = 0x7fffffff
-} D3D_SHADER_VARIABLE_TYPE;
-
-typedef enum _D3D_SHADER_INPUT_FLAGS
-{
- D3D_SIF_USERPACKED = 0x01,
- D3D_SIF_COMPARISON_SAMPLER = 0x02, // is this a comparison sampler?
- D3D_SIF_TEXTURE_COMPONENT_0 = 0x04, // this 2-bit value encodes c - 1, where c
- D3D_SIF_TEXTURE_COMPONENT_1 = 0x08, // is the number of components in the texture
- D3D_SIF_TEXTURE_COMPONENTS = 0x0c,
- D3D_SIF_UNUSED = 0x10,
-
- D3D10_SIF_USERPACKED = D3D_SIF_USERPACKED,
- D3D10_SIF_COMPARISON_SAMPLER = D3D_SIF_COMPARISON_SAMPLER,
- D3D10_SIF_TEXTURE_COMPONENT_0 = D3D_SIF_TEXTURE_COMPONENT_0,
- D3D10_SIF_TEXTURE_COMPONENT_1 = D3D_SIF_TEXTURE_COMPONENT_1,
- D3D10_SIF_TEXTURE_COMPONENTS = D3D_SIF_TEXTURE_COMPONENTS,
-
- // force 32-bit size enum
- D3D_SIF_FORCE_DWORD = 0x7fffffff
-} D3D_SHADER_INPUT_FLAGS;
-
-typedef enum _D3D_SHADER_INPUT_TYPE
-{
- D3D_SIT_CBUFFER,
- D3D_SIT_TBUFFER,
- D3D_SIT_TEXTURE,
- D3D_SIT_SAMPLER,
- D3D_SIT_UAV_RWTYPED,
- D3D_SIT_STRUCTURED,
- D3D_SIT_UAV_RWSTRUCTURED,
- D3D_SIT_BYTEADDRESS,
- D3D_SIT_UAV_RWBYTEADDRESS,
- D3D_SIT_UAV_APPEND_STRUCTURED,
- D3D_SIT_UAV_CONSUME_STRUCTURED,
- D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER,
- D3D_SIT_RTACCELERATIONSTRUCTURE,
- D3D_SIT_UAV_FEEDBACKTEXTURE,
-
- D3D10_SIT_CBUFFER = D3D_SIT_CBUFFER,
- D3D10_SIT_TBUFFER = D3D_SIT_TBUFFER,
- D3D10_SIT_TEXTURE = D3D_SIT_TEXTURE,
- D3D10_SIT_SAMPLER = D3D_SIT_SAMPLER,
-
- D3D11_SIT_UAV_RWTYPED = D3D_SIT_UAV_RWTYPED,
- D3D11_SIT_STRUCTURED = D3D_SIT_STRUCTURED,
- D3D11_SIT_UAV_RWSTRUCTURED = D3D_SIT_UAV_RWSTRUCTURED,
- D3D11_SIT_BYTEADDRESS = D3D_SIT_BYTEADDRESS,
- D3D11_SIT_UAV_RWBYTEADDRESS = D3D_SIT_UAV_RWBYTEADDRESS,
- D3D11_SIT_UAV_APPEND_STRUCTURED = D3D_SIT_UAV_APPEND_STRUCTURED,
- D3D11_SIT_UAV_CONSUME_STRUCTURED = D3D_SIT_UAV_CONSUME_STRUCTURED,
- D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER,
-} D3D_SHADER_INPUT_TYPE;
-
-typedef enum _D3D_SHADER_CBUFFER_FLAGS
-{
- D3D_CBF_USERPACKED = 1,
-
- D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED,
-
- // force 32-bit size enum
- D3D_CBF_FORCE_DWORD = 0x7fffffff
-} D3D_SHADER_CBUFFER_FLAGS;
-
-typedef enum _D3D_CBUFFER_TYPE
-{
- D3D_CT_CBUFFER,
- D3D_CT_TBUFFER,
- D3D_CT_INTERFACE_POINTERS,
- D3D_CT_RESOURCE_BIND_INFO,
-
- D3D10_CT_CBUFFER = D3D_CT_CBUFFER,
- D3D10_CT_TBUFFER = D3D_CT_TBUFFER,
-
- D3D11_CT_CBUFFER = D3D_CT_CBUFFER,
- D3D11_CT_TBUFFER = D3D_CT_TBUFFER,
- D3D11_CT_INTERFACE_POINTERS = D3D_CT_INTERFACE_POINTERS,
- D3D11_CT_RESOURCE_BIND_INFO = D3D_CT_RESOURCE_BIND_INFO,
-} D3D_CBUFFER_TYPE;
-
-typedef enum D3D_NAME
-{
- D3D_NAME_UNDEFINED = 0,
-
- // Names meaningful to both HLSL and hardware
- D3D_NAME_POSITION = 1,
- D3D_NAME_CLIP_DISTANCE = 2,
- D3D_NAME_CULL_DISTANCE = 3,
- D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
- D3D_NAME_VIEWPORT_ARRAY_INDEX = 5,
- D3D_NAME_VERTEX_ID = 6,
- D3D_NAME_PRIMITIVE_ID = 7,
- D3D_NAME_INSTANCE_ID = 8,
- D3D_NAME_IS_FRONT_FACE = 9,
- D3D_NAME_SAMPLE_INDEX = 10,
- D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11,
- D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12,
- D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13,
- D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14,
- D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15,
- D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16,
- D3D_NAME_BARYCENTRICS = 23,
- D3D_NAME_SHADINGRATE = 24,
- D3D_NAME_CULLPRIMITIVE = 25,
-
- // Names meaningful to HLSL only
- D3D_NAME_TARGET = 64,
- D3D_NAME_DEPTH = 65,
- D3D_NAME_COVERAGE = 66,
- D3D_NAME_DEPTH_GREATER_EQUAL = 67,
- D3D_NAME_DEPTH_LESS_EQUAL = 68,
- D3D_NAME_STENCIL_REF = 69,
- D3D_NAME_INNER_COVERAGE = 70,
-
- D3D10_NAME_UNDEFINED = D3D_NAME_UNDEFINED,
- D3D10_NAME_POSITION = D3D_NAME_POSITION,
- D3D10_NAME_CLIP_DISTANCE = D3D_NAME_CLIP_DISTANCE,
- D3D10_NAME_CULL_DISTANCE = D3D_NAME_CULL_DISTANCE,
- D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = D3D_NAME_RENDER_TARGET_ARRAY_INDEX,
- D3D10_NAME_VIEWPORT_ARRAY_INDEX = D3D_NAME_VIEWPORT_ARRAY_INDEX,
- D3D10_NAME_VERTEX_ID = D3D_NAME_VERTEX_ID,
- D3D10_NAME_PRIMITIVE_ID = D3D_NAME_PRIMITIVE_ID,
- D3D10_NAME_INSTANCE_ID = D3D_NAME_INSTANCE_ID,
- D3D10_NAME_IS_FRONT_FACE = D3D_NAME_IS_FRONT_FACE,
- D3D10_NAME_SAMPLE_INDEX = D3D_NAME_SAMPLE_INDEX,
- D3D10_NAME_TARGET = D3D_NAME_TARGET,
- D3D10_NAME_DEPTH = D3D_NAME_DEPTH,
- D3D10_NAME_COVERAGE = D3D_NAME_COVERAGE,
-
- D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR = D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
- D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
- D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR = D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR,
- D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR = D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
- D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR = D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
- D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR,
- D3D11_NAME_DEPTH_GREATER_EQUAL = D3D_NAME_DEPTH_GREATER_EQUAL,
- D3D11_NAME_DEPTH_LESS_EQUAL = D3D_NAME_DEPTH_LESS_EQUAL,
-
- D3D11_NAME_STENCIL_REF = D3D_NAME_STENCIL_REF,
- D3D11_NAME_INNER_COVERAGE = D3D_NAME_INNER_COVERAGE,
-
- D3D12_NAME_BARYCENTRICS = D3D_NAME_BARYCENTRICS,
- D3D12_NAME_SHADINGRATE = D3D_NAME_SHADINGRATE,
- D3D12_NAME_CULLPRIMITIVE = D3D_NAME_CULLPRIMITIVE,
-} D3D_NAME;
-
-typedef enum D3D_RESOURCE_RETURN_TYPE
-{
- D3D_RETURN_TYPE_UNORM = 1,
- D3D_RETURN_TYPE_SNORM = 2,
- D3D_RETURN_TYPE_SINT = 3,
- D3D_RETURN_TYPE_UINT = 4,
- D3D_RETURN_TYPE_FLOAT = 5,
- D3D_RETURN_TYPE_MIXED = 6,
- D3D_RETURN_TYPE_DOUBLE = 7,
- D3D_RETURN_TYPE_CONTINUED = 8,
-
- D3D10_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM,
- D3D10_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM,
- D3D10_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT,
- D3D10_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT,
- D3D10_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT,
- D3D10_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED,
-
- D3D11_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM,
- D3D11_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM,
- D3D11_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT,
- D3D11_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT,
- D3D11_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT,
- D3D11_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED,
- D3D11_RETURN_TYPE_DOUBLE = D3D_RETURN_TYPE_DOUBLE,
- D3D11_RETURN_TYPE_CONTINUED = D3D_RETURN_TYPE_CONTINUED,
-} D3D_RESOURCE_RETURN_TYPE;
-
-typedef enum D3D_REGISTER_COMPONENT_TYPE
-{
- D3D_REGISTER_COMPONENT_UNKNOWN = 0,
- D3D_REGISTER_COMPONENT_UINT32 = 1,
- D3D_REGISTER_COMPONENT_SINT32 = 2,
- D3D_REGISTER_COMPONENT_FLOAT32 = 3,
- D3D_REGISTER_COMPONENT_UINT16 = 4,
- D3D_REGISTER_COMPONENT_SINT16 = 5,
- D3D_REGISTER_COMPONENT_FLOAT16 = 6,
- D3D_REGISTER_COMPONENT_UINT64 = 7,
- D3D_REGISTER_COMPONENT_SINT64 = 8,
- D3D_REGISTER_COMPONENT_FLOAT64 = 9,
-
- D3D10_REGISTER_COMPONENT_UNKNOWN = D3D_REGISTER_COMPONENT_UNKNOWN,
- D3D10_REGISTER_COMPONENT_UINT32 = D3D_REGISTER_COMPONENT_UINT32,
- D3D10_REGISTER_COMPONENT_SINT32 = D3D_REGISTER_COMPONENT_SINT32,
- D3D10_REGISTER_COMPONENT_FLOAT32 = D3D_REGISTER_COMPONENT_FLOAT32,
- D3D10_REGISTER_COMPONENT_UINT16 = D3D_REGISTER_COMPONENT_UINT16,
- D3D10_REGISTER_COMPONENT_SINT16 = D3D_REGISTER_COMPONENT_SINT16,
- D3D10_REGISTER_COMPONENT_FLOAT16 = D3D_REGISTER_COMPONENT_FLOAT16,
- D3D10_REGISTER_COMPONENT_UINT64 = D3D_REGISTER_COMPONENT_UINT64,
- D3D10_REGISTER_COMPONENT_SINT64 = D3D_REGISTER_COMPONENT_SINT64,
- D3D10_REGISTER_COMPONENT_FLOAT64 = D3D_REGISTER_COMPONENT_FLOAT64,
-} D3D_REGISTER_COMPONENT_TYPE;
-
-typedef enum D3D_TESSELLATOR_DOMAIN
-{
- D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0,
- D3D_TESSELLATOR_DOMAIN_ISOLINE = 1,
- D3D_TESSELLATOR_DOMAIN_TRI = 2,
- D3D_TESSELLATOR_DOMAIN_QUAD = 3,
-
- D3D11_TESSELLATOR_DOMAIN_UNDEFINED = D3D_TESSELLATOR_DOMAIN_UNDEFINED,
- D3D11_TESSELLATOR_DOMAIN_ISOLINE = D3D_TESSELLATOR_DOMAIN_ISOLINE,
- D3D11_TESSELLATOR_DOMAIN_TRI = D3D_TESSELLATOR_DOMAIN_TRI,
- D3D11_TESSELLATOR_DOMAIN_QUAD = D3D_TESSELLATOR_DOMAIN_QUAD,
-} D3D_TESSELLATOR_DOMAIN;
-
-typedef enum D3D_TESSELLATOR_PARTITIONING
-{
- D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
- D3D_TESSELLATOR_PARTITIONING_INTEGER = 1,
- D3D_TESSELLATOR_PARTITIONING_POW2 = 2,
- D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3,
- D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4,
-
- D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = D3D_TESSELLATOR_PARTITIONING_UNDEFINED,
- D3D11_TESSELLATOR_PARTITIONING_INTEGER = D3D_TESSELLATOR_PARTITIONING_INTEGER,
- D3D11_TESSELLATOR_PARTITIONING_POW2 = D3D_TESSELLATOR_PARTITIONING_POW2,
- D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
- D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN,
-} D3D_TESSELLATOR_PARTITIONING;
-
-typedef enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE
-{
- D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0,
- D3D_TESSELLATOR_OUTPUT_POINT = 1,
- D3D_TESSELLATOR_OUTPUT_LINE = 2,
- D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3,
- D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4,
-
- D3D11_TESSELLATOR_OUTPUT_UNDEFINED = D3D_TESSELLATOR_OUTPUT_UNDEFINED,
- D3D11_TESSELLATOR_OUTPUT_POINT = D3D_TESSELLATOR_OUTPUT_POINT,
- D3D11_TESSELLATOR_OUTPUT_LINE = D3D_TESSELLATOR_OUTPUT_LINE,
- D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW,
- D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW,
-} D3D_TESSELLATOR_OUTPUT_PRIMITIVE;
-
-typedef enum D3D_MIN_PRECISION
-{
- D3D_MIN_PRECISION_DEFAULT = 0, // Default precision for the shader model
- D3D_MIN_PRECISION_FLOAT_16 = 1, // Min 16 bit/component float
- D3D_MIN_PRECISION_FLOAT_2_8 = 2, // Min 10(2.8)bit/comp. float
- D3D_MIN_PRECISION_RESERVED = 3, // Reserved for future use
- D3D_MIN_PRECISION_SINT_16 = 4, // Min 16 bit/comp. signed integer
- D3D_MIN_PRECISION_UINT_16 = 5, // Min 16 bit/comp. unsigned integer
-
- // These values are abstractions of width only for use in situations
- // where a general width is needed instead of specific types. They
- // will never be used in shader operands.
- D3D_MIN_PRECISION_ANY_16 = 0xf0,
- D3D_MIN_PRECISION_ANY_10 = 0xf1,
-} D3D_MIN_PRECISION;
-
-typedef enum D3D_INTERPOLATION_MODE
-{
- D3D_INTERPOLATION_UNDEFINED = 0,
- D3D_INTERPOLATION_CONSTANT = 1,
- D3D_INTERPOLATION_LINEAR = 2,
- D3D_INTERPOLATION_LINEAR_CENTROID = 3,
- D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4,
- D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5,
- D3D_INTERPOLATION_LINEAR_SAMPLE = 6,
- D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7,
-} D3D_INTERPOLATION_MODE;
-
-// Parameter flags.
-typedef enum _D3D_PARAMETER_FLAGS
-{
- D3D_PF_NONE = 0x00000000,
- D3D_PF_IN = 0x00000001,
- D3D_PF_OUT = 0x00000002,
- D3D_PF_FORCE_DWORD = 0x7fffffff
-} D3D_PARAMETER_FLAGS;
-
-// Format Layout Properties
-typedef enum D3D_FORMAT_LAYOUT
-{
- D3DFL_STANDARD = 0, // standard layout
- D3DFL_CUSTOM = -1 // custom layout
- // Note, 1 bit allocated for this in FORMAT_DETAIL below. If you add fields here, add bits...
- // NOTE SIGNED VALUES ARE USED SINCE COMPILER MAKES ENUMS SIGNED, AND BITFIELDS ARE SIGN EXTENDED ON READ
-} D3D_FORMAT_LAYOUT;
-
-typedef enum D3D_FORMAT_TYPE_LEVEL
-{
- D3DFTL_NO_TYPE = 0,
- D3DFTL_PARTIAL_TYPE = -2,
- D3DFTL_FULL_TYPE = -1,
- // Note, 2 bits allocated for this in FORMAT_DETAIL below. If you add fields here, add bits...
- // NOTE SIGNED VALUES ARE USED SINCE COMPILER MAKES ENUMS SIGNED, AND BITFIELDS ARE SIGN EXTENDED ON READ
-} D3D_FORMAT_TYPE_LEVEL;
-
-typedef enum D3D_FORMAT_COMPONENT_NAME
-{
- D3DFCN_R = -4,
- D3DFCN_G = -3,
- D3DFCN_B = -2,
- D3DFCN_A = -1,
- D3DFCN_D = 0,
- D3DFCN_S = 1,
- D3DFCN_X = 2,
- // Note, 3 bits allocated for this in FORMAT_DETAIL below. If you add fields here, add bits...
- // NOTE SIGNED VALUES ARE USED SINCE COMPILER MAKES ENUMS SIGNED, AND BITFIELDS ARE SIGN EXTENDED ON READ
-} D3D_FORMAT_COMPONENT_NAME;
-
-typedef enum D3D_FORMAT_COMPONENT_INTERPRETATION
-{
- D3DFCI_TYPELESS = 0,
- D3DFCI_FLOAT = -4,
- D3DFCI_SNORM = -3,
- D3DFCI_UNORM = -2,
- D3DFCI_SINT = -1,
- D3DFCI_UINT = 1,
- D3DFCI_UNORM_SRGB = 2,
- D3DFCI_BIASED_FIXED_2_8 = 3,
- // Note, 3 bits allocated for this in FORMAT_DETAIL below. If you add fields here, add bits...
- // NOTE SIGNED VALUES ARE USED SINCE COMPILER MAKES ENUMS SIGNED, AND BITFIELDS ARE SIGN EXTENDED ON READ
-} D3D_FORMAT_COMPONENT_INTERPRETATION;
-
-// Well-Known Private Data IDs (WKPDID_*):
-
-// WKPDID_D3DDebugObjectName provides a unique name to objects in order to assist the developer during debugging.
-//
-// const char c_szName[] = "texture.jpg";
-// pObject->SetPrivateData( WKPDID_D3DDebugObjectName, sizeof( c_szName ) - 1, c_szName );
-cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);")
-cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectNameW,0x4cca5fd8,0x921f,0x42c8,0x85,0x66,0x70,0xca,0xf2,0xa9,0xb7,0x41);")
-cpp_quote("DEFINE_GUID(WKPDID_CommentStringW,0xd0149dc0,0x90e8,0x4ec8,0x81, 0x44, 0xe9, 0x00, 0xad, 0x26, 0x6b, 0xb2);")
-cpp_quote("DEFINE_GUID(WKPDID_D3D12UniqueObjectId, 0x1b39de15, 0xec04, 0x4bae, 0xba, 0x4d, 0x8c, 0xef, 0x79, 0xfc, 0x04, 0xc1);")
-
-cpp_quote("#define D3D_SET_OBJECT_NAME_N_A(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectName, Chars, pName)")
-cpp_quote("#define D3D_SET_OBJECT_NAME_A(pObject, pName) D3D_SET_OBJECT_NAME_N_A(pObject, lstrlenA(pName), pName)")
-cpp_quote("#define D3D_SET_OBJECT_NAME_N_W(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectNameW, Chars*2, pName)")
-cpp_quote("#define D3D_SET_OBJECT_NAME_W(pObject, pName) D3D_SET_OBJECT_NAME_N_W(pObject, wcslen(pName), pName)")
-
-cpp_quote("#define D3D_COMPONENT_MASK_X 1")
-cpp_quote("#define D3D_COMPONENT_MASK_Y 2")
-cpp_quote("#define D3D_COMPONENT_MASK_Z 4")
-cpp_quote("#define D3D_COMPONENT_MASK_W 8")
-
-cpp_quote("DEFINE_GUID(D3D_TEXTURE_LAYOUT_ROW_MAJOR,0xb5dc234f,0x72bb,0x4bec,0x97,0x05,0x8c,0xf2,0x58,0xdf,0x6b,0x6c);") // Feature_D3D1XDisplayable
-cpp_quote("DEFINE_GUID(D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE,0x4c0f29e3,0x3f5f,0x4d35,0x84,0xc9,0xbc,0x09,0x83,0xb6,0x2c,0x28);") // Feature_D3D1XDisplayable
-
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12.h
deleted file mode 100644
index 1187816..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12.h
+++ /dev/null
@@ -1,35 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License (MIT).
-//
-//*********************************************************
-
-#ifndef __D3DX12_H__
-#define __D3DX12_H__
-
-#include "d3d12.h"
-
-#if defined( __cplusplus )
-
-#include "d3dx12_barriers.h"
-#include "d3dx12_core.h"
-#include "d3dx12_default.h"
-#include "d3dx12_pipeline_state_stream.h"
-#include "d3dx12_render_pass.h"
-#include "d3dx12_resource_helpers.h"
-#include "d3dx12_root_signature.h"
-#include "d3dx12_property_format_table.h"
-
-#ifndef D3DX12_NO_STATE_OBJECT_HELPERS
-#include "d3dx12_state_object.h"
-#endif // !D3DX12_NO_STATE_OBJECT_HELPERS
-
-#ifndef D3DX12_NO_CHECK_FEATURE_SUPPORT_CLASS
-#include "d3dx12_check_feature_support.h"
-#endif // !D3DX12_NO_CHECK_FEATURE_SUPPORT_CLASS
-
-#endif // defined( __cplusplus )
-
-#endif //__D3DX12_H__
-
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_barriers.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_barriers.h
deleted file mode 100644
index 2c2b135..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_barriers.h
+++ /dev/null
@@ -1,192 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License (MIT).
-//
-//*********************************************************
-
-#ifndef __D3DX12_BARRIERS_H__
-#define __D3DX12_BARRIERS_H__
-
-#if defined( __cplusplus )
-
-#include "d3d12.h"
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RESOURCE_BARRIER : public D3D12_RESOURCE_BARRIER
-{
- CD3DX12_RESOURCE_BARRIER() = default;
- explicit CD3DX12_RESOURCE_BARRIER(const D3D12_RESOURCE_BARRIER &o) noexcept :
- D3D12_RESOURCE_BARRIER(o)
- {}
- static inline CD3DX12_RESOURCE_BARRIER Transition(
- _In_ ID3D12Resource* pResource,
- D3D12_RESOURCE_STATES stateBefore,
- D3D12_RESOURCE_STATES stateAfter,
- UINT subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES,
- D3D12_RESOURCE_BARRIER_FLAGS flags = D3D12_RESOURCE_BARRIER_FLAG_NONE) noexcept
- {
- CD3DX12_RESOURCE_BARRIER result = {};
- D3D12_RESOURCE_BARRIER &barrier = result;
- result.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
- result.Flags = flags;
- barrier.Transition.pResource = pResource;
- barrier.Transition.StateBefore = stateBefore;
- barrier.Transition.StateAfter = stateAfter;
- barrier.Transition.Subresource = subresource;
- return result;
- }
- static inline CD3DX12_RESOURCE_BARRIER Aliasing(
- _In_opt_ ID3D12Resource* pResourceBefore,
- _In_opt_ ID3D12Resource* pResourceAfter) noexcept
- {
- CD3DX12_RESOURCE_BARRIER result = {};
- D3D12_RESOURCE_BARRIER &barrier = result;
- result.Type = D3D12_RESOURCE_BARRIER_TYPE_ALIASING;
- barrier.Aliasing.pResourceBefore = pResourceBefore;
- barrier.Aliasing.pResourceAfter = pResourceAfter;
- return result;
- }
- static inline CD3DX12_RESOURCE_BARRIER UAV(
- _In_opt_ ID3D12Resource* pResource) noexcept
- {
- CD3DX12_RESOURCE_BARRIER result = {};
- D3D12_RESOURCE_BARRIER &barrier = result;
- result.Type = D3D12_RESOURCE_BARRIER_TYPE_UAV;
- barrier.UAV.pResource = pResource;
- return result;
- }
-};
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
-
-//================================================================================================
-// D3DX12 Enhanced Barrier Helpers
-//================================================================================================
-
-class CD3DX12_BARRIER_SUBRESOURCE_RANGE : public D3D12_BARRIER_SUBRESOURCE_RANGE
-{
-public:
- CD3DX12_BARRIER_SUBRESOURCE_RANGE() = default;
- CD3DX12_BARRIER_SUBRESOURCE_RANGE(const D3D12_BARRIER_SUBRESOURCE_RANGE &o) noexcept :
- D3D12_BARRIER_SUBRESOURCE_RANGE(o)
- {}
- explicit CD3DX12_BARRIER_SUBRESOURCE_RANGE(UINT Subresource) noexcept :
- D3D12_BARRIER_SUBRESOURCE_RANGE{ Subresource, 0, 0, 0, 0, 0 }
- {}
- CD3DX12_BARRIER_SUBRESOURCE_RANGE(
- UINT firstMipLevel,
- UINT numMips,
- UINT firstArraySlice,
- UINT numArraySlices,
- UINT firstPlane = 0,
- UINT numPlanes = 1) noexcept :
- D3D12_BARRIER_SUBRESOURCE_RANGE
- {
- firstMipLevel,
- numMips,
- firstArraySlice,
- numArraySlices,
- firstPlane,
- numPlanes
- }
- {}
-};
-
-class CD3DX12_GLOBAL_BARRIER : public D3D12_GLOBAL_BARRIER
-{
-public:
- CD3DX12_GLOBAL_BARRIER() = default;
- CD3DX12_GLOBAL_BARRIER(const D3D12_GLOBAL_BARRIER &o) noexcept : D3D12_GLOBAL_BARRIER(o){}
- CD3DX12_GLOBAL_BARRIER(
- D3D12_BARRIER_SYNC syncBefore,
- D3D12_BARRIER_SYNC syncAfter,
- D3D12_BARRIER_ACCESS accessBefore,
- D3D12_BARRIER_ACCESS accessAfter) noexcept : D3D12_GLOBAL_BARRIER {
- syncBefore,
- syncAfter,
- accessBefore,
- accessAfter
- }
- {}
-};
-
-class CD3DX12_BUFFER_BARRIER : public D3D12_BUFFER_BARRIER
-{
-public:
- CD3DX12_BUFFER_BARRIER() = default;
- CD3DX12_BUFFER_BARRIER(const D3D12_BUFFER_BARRIER &o) noexcept : D3D12_BUFFER_BARRIER(o){}
- CD3DX12_BUFFER_BARRIER(
- D3D12_BARRIER_SYNC syncBefore,
- D3D12_BARRIER_SYNC syncAfter,
- D3D12_BARRIER_ACCESS accessBefore,
- D3D12_BARRIER_ACCESS accessAfter,
- ID3D12Resource *pRes) noexcept : D3D12_BUFFER_BARRIER {
- syncBefore,
- syncAfter,
- accessBefore,
- accessAfter,
- pRes,
- 0, ULLONG_MAX
- }
- {}
-};
-
-class CD3DX12_TEXTURE_BARRIER : public D3D12_TEXTURE_BARRIER
-{
-public:
- CD3DX12_TEXTURE_BARRIER() = default;
- CD3DX12_TEXTURE_BARRIER(const D3D12_TEXTURE_BARRIER &o) noexcept : D3D12_TEXTURE_BARRIER(o){}
- CD3DX12_TEXTURE_BARRIER(
- D3D12_BARRIER_SYNC syncBefore,
- D3D12_BARRIER_SYNC syncAfter,
- D3D12_BARRIER_ACCESS accessBefore,
- D3D12_BARRIER_ACCESS accessAfter,
- D3D12_BARRIER_LAYOUT layoutBefore,
- D3D12_BARRIER_LAYOUT layoutAfter,
- ID3D12Resource *pRes,
- const D3D12_BARRIER_SUBRESOURCE_RANGE &subresources,
- D3D12_TEXTURE_BARRIER_FLAGS flag = D3D12_TEXTURE_BARRIER_FLAG_NONE) noexcept : D3D12_TEXTURE_BARRIER {
- syncBefore,
- syncAfter,
- accessBefore,
- accessAfter,
- layoutBefore,
- layoutAfter,
- pRes,
- subresources,
- flag
- }
- {}
-};
-
-class CD3DX12_BARRIER_GROUP : public D3D12_BARRIER_GROUP
-{
-public:
- CD3DX12_BARRIER_GROUP() = default;
- CD3DX12_BARRIER_GROUP(const D3D12_BARRIER_GROUP &o) noexcept : D3D12_BARRIER_GROUP(o){}
- CD3DX12_BARRIER_GROUP(UINT32 numBarriers, const D3D12_BUFFER_BARRIER *pBarriers) noexcept
- {
- Type = D3D12_BARRIER_TYPE_BUFFER;
- NumBarriers = numBarriers;
- pBufferBarriers = pBarriers;
- }
- CD3DX12_BARRIER_GROUP(UINT32 numBarriers, const D3D12_TEXTURE_BARRIER *pBarriers) noexcept
- {
- Type = D3D12_BARRIER_TYPE_TEXTURE;
- NumBarriers = numBarriers;
- pTextureBarriers = pBarriers;
- }
- CD3DX12_BARRIER_GROUP(UINT32 numBarriers, const D3D12_GLOBAL_BARRIER *pBarriers) noexcept
- {
- Type = D3D12_BARRIER_TYPE_GLOBAL;
- NumBarriers = numBarriers;
- pGlobalBarriers = pBarriers;
- }
-};
-#endif // D3D12_SDK_VERSION >= 608
-
-
-#endif // defined( __cplusplus )
-
-#endif // __D3DX12_BARRIERS_H__
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_check_feature_support.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_check_feature_support.h
deleted file mode 100644
index d6dd5c8..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_check_feature_support.h
+++ /dev/null
@@ -1,1138 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License (MIT).
-//
-//*********************************************************
-
-#pragma once
-
-#ifndef __cplusplus
-#error D3DX12 requires C++
-#endif
-
-#include "d3d12.h"
-
-//================================================================================================
-// D3DX12 Check Feature Support
-//================================================================================================
-
-#include
-
-class CD3DX12FeatureSupport
-{
-public: // Function declaration
- // Default constructor that creates an empty object
- CD3DX12FeatureSupport() noexcept;
-
- // Initialize data from the given device
- HRESULT Init(ID3D12Device* pDevice);
-
- // Retreives the status of the object. If an error occurred in the initialization process, the function returns the error code.
- HRESULT GetStatus() const noexcept { return m_hStatus; }
-
- // Getter functions for each feature class
- // D3D12_OPTIONS
- BOOL DoublePrecisionFloatShaderOps() const noexcept;
- BOOL OutputMergerLogicOp() const noexcept;
- D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport() const noexcept;
- D3D12_TILED_RESOURCES_TIER TiledResourcesTier() const noexcept;
- D3D12_RESOURCE_BINDING_TIER ResourceBindingTier() const noexcept;
- BOOL PSSpecifiedStencilRefSupported() const noexcept;
- BOOL TypedUAVLoadAdditionalFormats() const noexcept;
- BOOL ROVsSupported() const noexcept;
- D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier() const noexcept;
- BOOL StandardSwizzle64KBSupported() const noexcept;
- BOOL CrossAdapterRowMajorTextureSupported() const noexcept;
- BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation() const noexcept;
- D3D12_RESOURCE_HEAP_TIER ResourceHeapTier() const noexcept;
- D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier() const noexcept;
- UINT MaxGPUVirtualAddressBitsPerResource() const noexcept;
-
- // FEATURE_LEVELS
- D3D_FEATURE_LEVEL MaxSupportedFeatureLevel() const noexcept;
-
- // FORMAT_SUPPORT
- HRESULT FormatSupport(DXGI_FORMAT Format, D3D12_FORMAT_SUPPORT1& Support1, D3D12_FORMAT_SUPPORT2& Support2) const;
-
- // MUTLTISAMPLE_QUALITY_LEVELS
- HRESULT MultisampleQualityLevels(DXGI_FORMAT Format, UINT SampleCount, D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags, UINT& NumQualityLevels) const;
-
- // FORMAT_INFO
- HRESULT FormatInfo(DXGI_FORMAT Format, UINT8& PlaneCount) const;
-
- // GPU_VIRTUAL_ADDRESS_SUPPORT
- UINT MaxGPUVirtualAddressBitsPerProcess() const noexcept;
-
- // SHADER_MODEL
- D3D_SHADER_MODEL HighestShaderModel() const noexcept;
-
- // D3D12_OPTIONS1
- BOOL WaveOps() const noexcept;
- UINT WaveLaneCountMin() const noexcept;
- UINT WaveLaneCountMax() const noexcept;
- UINT TotalLaneCount() const noexcept;
- BOOL ExpandedComputeResourceStates() const noexcept;
- BOOL Int64ShaderOps() const noexcept;
-
- // PROTECTED_RESOURCE_SESSION_SUPPORT
- D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS ProtectedResourceSessionSupport(UINT NodeIndex = 0) const;
-
- // ROOT_SIGNATURE
- D3D_ROOT_SIGNATURE_VERSION HighestRootSignatureVersion() const noexcept;
-
- // ARCHITECTURE1
- BOOL TileBasedRenderer(UINT NodeIndex = 0) const;
- BOOL UMA(UINT NodeIndex = 0) const;
- BOOL CacheCoherentUMA(UINT NodeIndex = 0) const;
- BOOL IsolatedMMU(UINT NodeIndex = 0) const;
-
- // D3D12_OPTIONS2
- BOOL DepthBoundsTestSupported() const noexcept;
- D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier() const noexcept;
-
- // SHADER_CACHE
- D3D12_SHADER_CACHE_SUPPORT_FLAGS ShaderCacheSupportFlags() const noexcept;
-
- // COMMAND_QUEUE_PRIORITY
- BOOL CommandQueuePrioritySupported(D3D12_COMMAND_LIST_TYPE CommandListType, UINT Priority);
-
- // D3D12_OPTIONS3
- BOOL CopyQueueTimestampQueriesSupported() const noexcept;
- BOOL CastingFullyTypedFormatSupported() const noexcept;
- D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags() const noexcept;
- D3D12_VIEW_INSTANCING_TIER ViewInstancingTier() const noexcept;
- BOOL BarycentricsSupported() const noexcept;
-
- // EXISTING_HEAPS
- BOOL ExistingHeapsSupported() const noexcept;
-
- // D3D12_OPTIONS4
- BOOL MSAA64KBAlignedTextureSupported() const noexcept;
- D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier() const noexcept;
- BOOL Native16BitShaderOpsSupported() const noexcept;
-
- // SERIALIZATION
- D3D12_HEAP_SERIALIZATION_TIER HeapSerializationTier(UINT NodeIndex = 0) const;
-
- // CROSS_NODE
- // CrossNodeSharingTier handled in D3D12Options
- BOOL CrossNodeAtomicShaderInstructions() const noexcept;
-
- // D3D12_OPTIONS5
- BOOL SRVOnlyTiledResourceTier3() const noexcept;
- D3D12_RENDER_PASS_TIER RenderPassesTier() const noexcept;
- D3D12_RAYTRACING_TIER RaytracingTier() const noexcept;
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4)
- // DISPLAYABLE
- BOOL DisplayableTexture() const noexcept;
- // SharedResourceCompatibilityTier handled in D3D12Options4
-#endif
-
- // D3D12_OPTIONS6
- BOOL AdditionalShadingRatesSupported() const noexcept;
- BOOL PerPrimitiveShadingRateSupportedWithViewportIndexing() const noexcept;
- D3D12_VARIABLE_SHADING_RATE_TIER VariableShadingRateTier() const noexcept;
- UINT ShadingRateImageTileSize() const noexcept;
- BOOL BackgroundProcessingSupported() const noexcept;
-
- // QUERY_META_COMMAND
- HRESULT QueryMetaCommand(D3D12_FEATURE_DATA_QUERY_META_COMMAND& dQueryMetaCommand) const;
-
- // D3D12_OPTIONS7
- D3D12_MESH_SHADER_TIER MeshShaderTier() const noexcept;
- D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier() const noexcept;
-
- // PROTECTED_RESOURCE_SESSION_TYPE_COUNT
- UINT ProtectedResourceSessionTypeCount(UINT NodeIndex = 0) const;
-
- // PROTECTED_RESOURCE_SESSION_TYPES
- std::vector ProtectedResourceSessionTypes(UINT NodeIndex = 0) const;
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3)
- // D3D12_OPTIONS8
- BOOL UnalignedBlockTexturesSupported() const noexcept;
-
- // D3D12_OPTIONS9
- BOOL MeshShaderPipelineStatsSupported() const noexcept;
- BOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex() const noexcept;
- BOOL AtomicInt64OnTypedResourceSupported() const noexcept;
- BOOL AtomicInt64OnGroupSharedSupported() const noexcept;
- BOOL DerivativesInMeshAndAmplificationShadersSupported() const noexcept;
- D3D12_WAVE_MMA_TIER WaveMMATier() const noexcept;
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4)
- // D3D12_OPTIONS10
- BOOL VariableRateShadingSumCombinerSupported() const noexcept;
- BOOL MeshShaderPerPrimitiveShadingRateSupported() const noexcept;
-
- // D3D12_OPTIONS11
- BOOL AtomicInt64OnDescriptorHeapResourceSupported() const noexcept;
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 600)
- // D3D12_OPTIONS12
- D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives() const noexcept;
- BOOL EnhancedBarriersSupported() const noexcept;
- BOOL RelaxedFormatCastingSupported() const noexcept;
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 602)
- // D3D12_OPTIONS13
- BOOL UnrestrictedBufferTextureCopyPitchSupported() const noexcept;
- BOOL UnrestrictedVertexElementAlignmentSupported() const noexcept;
- BOOL InvertedViewportHeightFlipsYSupported() const noexcept;
- BOOL InvertedViewportDepthFlipsZSupported() const noexcept;
- BOOL TextureCopyBetweenDimensionsSupported() const noexcept;
- BOOL AlphaBlendFactorSupported() const noexcept;
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
- // D3D12_OPTIONS14
- BOOL AdvancedTextureOpsSupported() const noexcept;
- BOOL WriteableMSAATexturesSupported() const noexcept;
- BOOL IndependentFrontAndBackStencilRefMaskSupported() const noexcept;
-
- // D3D12_OPTIONS15
- BOOL TriangleFanSupported() const noexcept;
- BOOL DynamicIndexBufferStripCutSupported() const noexcept;
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
- // D3D12_OPTIONS16
- BOOL DynamicDepthBiasSupported() const noexcept;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609)
- BOOL GPUUploadHeapSupported() const noexcept;
-
- // D3D12_OPTIONS17
- BOOL NonNormalizedCoordinateSamplersSupported() const noexcept;
- BOOL ManualWriteTrackingResourceSupported() const noexcept;
-
- // D3D12_OPTIONS18
- BOOL RenderPassesValid() const noexcept;
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610)
- BOOL MismatchingOutputDimensionsSupported() const noexcept;
- UINT SupportedSampleCountsWithNoOutputs() const noexcept;
- BOOL PointSamplingAddressesNeverRoundUp() const noexcept;
- BOOL RasterizerDesc2Supported() const noexcept;
- BOOL NarrowQuadrilateralLinesSupported() const noexcept;
- BOOL AnisoFilterWithPointMipSupported() const noexcept;
- UINT MaxSamplerDescriptorHeapSize() const noexcept;
- UINT MaxSamplerDescriptorHeapSizeWithStaticSamplers() const noexcept;
- UINT MaxViewDescriptorHeapSize() const noexcept;
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611)
- BOOL ComputeOnlyWriteWatchSupported() const noexcept;
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612)
- D3D12_EXECUTE_INDIRECT_TIER ExecuteIndirectTier() const noexcept;
- D3D12_WORK_GRAPHS_TIER WorkGraphsTier() const noexcept;
-#endif
-
-private: // Private structs and helpers declaration
- struct ProtectedResourceSessionTypesLocal : D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES
- {
- std::vector TypeVec;
- };
-
- // Helper function to decide the highest shader model supported by the system
- // Stores the result in m_dShaderModel
- // Must be updated whenever a new shader model is added to the d3d12.h header
- HRESULT QueryHighestShaderModel();
-
- // Helper function to decide the highest root signature supported
- // Must be updated whenever a new root signature version is added to the d3d12.h header
- HRESULT QueryHighestRootSignatureVersion();
-
- // Helper funcion to decide the highest feature level
- HRESULT QueryHighestFeatureLevel();
-
- // Helper function to initialize local protected resource session types structs
- HRESULT QueryProtectedResourceSessionTypes(UINT NodeIndex, UINT Count);
-
-private: // Member data
- // Pointer to the underlying device
- ID3D12Device* m_pDevice;
-
- // Stores the error code from initialization
- HRESULT m_hStatus;
-
- // Feature support data structs
- D3D12_FEATURE_DATA_D3D12_OPTIONS m_dOptions;
- D3D_FEATURE_LEVEL m_eMaxFeatureLevel;
- D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT m_dGPUVASupport;
- D3D12_FEATURE_DATA_SHADER_MODEL m_dShaderModel;
- D3D12_FEATURE_DATA_D3D12_OPTIONS1 m_dOptions1;
- std::vector m_dProtectedResourceSessionSupport;
- D3D12_FEATURE_DATA_ROOT_SIGNATURE m_dRootSignature;
- std::vector m_dArchitecture1;
- D3D12_FEATURE_DATA_D3D12_OPTIONS2 m_dOptions2;
- D3D12_FEATURE_DATA_SHADER_CACHE m_dShaderCache;
- D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY m_dCommandQueuePriority;
- D3D12_FEATURE_DATA_D3D12_OPTIONS3 m_dOptions3;
- D3D12_FEATURE_DATA_EXISTING_HEAPS m_dExistingHeaps;
- D3D12_FEATURE_DATA_D3D12_OPTIONS4 m_dOptions4;
- std::vector m_dSerialization; // Cat2 NodeIndex
- D3D12_FEATURE_DATA_CROSS_NODE m_dCrossNode;
- D3D12_FEATURE_DATA_D3D12_OPTIONS5 m_dOptions5;
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4)
- D3D12_FEATURE_DATA_DISPLAYABLE m_dDisplayable;
-#endif
- D3D12_FEATURE_DATA_D3D12_OPTIONS6 m_dOptions6;
- D3D12_FEATURE_DATA_D3D12_OPTIONS7 m_dOptions7;
- std::vector m_dProtectedResourceSessionTypeCount; // Cat2 NodeIndex
- std::vector m_dProtectedResourceSessionTypes; // Cat3
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3)
- D3D12_FEATURE_DATA_D3D12_OPTIONS8 m_dOptions8;
- D3D12_FEATURE_DATA_D3D12_OPTIONS9 m_dOptions9;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4)
- D3D12_FEATURE_DATA_D3D12_OPTIONS10 m_dOptions10;
- D3D12_FEATURE_DATA_D3D12_OPTIONS11 m_dOptions11;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 600)
- D3D12_FEATURE_DATA_D3D12_OPTIONS12 m_dOptions12;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 602)
- D3D12_FEATURE_DATA_D3D12_OPTIONS13 m_dOptions13;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
- D3D12_FEATURE_DATA_D3D12_OPTIONS14 m_dOptions14;
- D3D12_FEATURE_DATA_D3D12_OPTIONS15 m_dOptions15;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
- D3D12_FEATURE_DATA_D3D12_OPTIONS16 m_dOptions16;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609)
- D3D12_FEATURE_DATA_D3D12_OPTIONS17 m_dOptions17;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609)
- D3D12_FEATURE_DATA_D3D12_OPTIONS18 m_dOptions18;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610)
- D3D12_FEATURE_DATA_D3D12_OPTIONS19 m_dOptions19;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611)
- D3D12_FEATURE_DATA_D3D12_OPTIONS20 m_dOptions20;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612)
- D3D12_FEATURE_DATA_D3D12_OPTIONS21 m_dOptions21;
-#endif
-};
-
-// Implementations for CD3DX12FeatureSupport functions
-
-// Macro to set up a getter function for each entry in feature support data
-// The getter function will have the same name as the feature option name
-#define FEATURE_SUPPORT_GET(RETTYPE,FEATURE,OPTION) \
-inline RETTYPE CD3DX12FeatureSupport::OPTION() const noexcept \
-{ \
- return FEATURE.OPTION; \
-}
-
-// Macro to set up a getter function for each entry in feature support data
-// Also specifies the name for the function which can be different from the feature name
-#define FEATURE_SUPPORT_GET_NAME(RETTYPE,FEATURE,OPTION,NAME) \
-inline RETTYPE CD3DX12FeatureSupport::NAME() const noexcept \
-{\
- return FEATURE.OPTION; \
-}
-
-// Macro to set up a getter function for feature data indexed by the graphics node ID
-// The default parameter is 0, or the first availabe graphics device node
-#define FEATURE_SUPPORT_GET_NODE_INDEXED(RETTYPE,FEATURE,OPTION) \
-inline RETTYPE CD3DX12FeatureSupport::OPTION(UINT NodeIndex) const \
-{\
- return FEATURE[NodeIndex].OPTION; \
-}
-
-// Macro to set up a getter function for feature data indexed by NodeIndex
-// Allows a custom name for the getter function
-#define FEATURE_SUPPORT_GET_NODE_INDEXED_NAME(RETTYPE,FEATURE,OPTION,NAME) \
-inline RETTYPE CD3DX12FeatureSupport::NAME(UINT NodeIndex) const \
-{\
- return FEATURE[NodeIndex].OPTION; \
-}
-
-inline CD3DX12FeatureSupport::CD3DX12FeatureSupport() noexcept
-: m_pDevice(nullptr)
-, m_hStatus(E_INVALIDARG)
-, m_dOptions{}
-, m_eMaxFeatureLevel{}
-, m_dGPUVASupport{}
-, m_dShaderModel{}
-, m_dOptions1{}
-, m_dRootSignature{}
-, m_dOptions2{}
-, m_dShaderCache{}
-, m_dCommandQueuePriority{}
-, m_dOptions3{}
-, m_dExistingHeaps{}
-, m_dOptions4{}
-, m_dCrossNode{}
-, m_dOptions5{}
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4)
-, m_dDisplayable{}
-#endif
-, m_dOptions6{}
-, m_dOptions7{}
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3)
-, m_dOptions8{}
-, m_dOptions9{}
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4)
-, m_dOptions10{}
-, m_dOptions11{}
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 600)
-, m_dOptions12{}
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 602)
-, m_dOptions13{}
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
-, m_dOptions14{}
-, m_dOptions15{}
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
-, m_dOptions16{}
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609)
-, m_dOptions17{}
-#endif
-#if defined (D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609)
-, m_dOptions18{}
-#endif
-#if defined (D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610)
-, m_dOptions19{}
-#endif
-#if defined (D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611)
-, m_dOptions20{}
-#endif
-#if defined (D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612)
-, m_dOptions21{}
-#endif
-{}
-
-inline HRESULT CD3DX12FeatureSupport::Init(ID3D12Device* pDevice)
-{
- if (!pDevice)
- {
- m_hStatus = E_INVALIDARG;
- return m_hStatus;
- }
-
- m_pDevice = pDevice;
-
- // Initialize static feature support data structures
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS, &m_dOptions, sizeof(m_dOptions))))
- {
- m_dOptions = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT, &m_dGPUVASupport, sizeof(m_dGPUVASupport))))
- {
- m_dGPUVASupport = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS1, &m_dOptions1, sizeof(m_dOptions1))))
- {
- m_dOptions1 = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS2, &m_dOptions2, sizeof(m_dOptions2))))
- {
- m_dOptions2 = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_SHADER_CACHE, &m_dShaderCache, sizeof(m_dShaderCache))))
- {
- m_dShaderCache = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS3, &m_dOptions3, sizeof(m_dOptions3))))
- {
- m_dOptions3 = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_EXISTING_HEAPS, &m_dExistingHeaps, sizeof(m_dExistingHeaps))))
- {
- m_dExistingHeaps = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS4, &m_dOptions4, sizeof(m_dOptions4))))
- {
- m_dOptions4 = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_CROSS_NODE, &m_dCrossNode, sizeof(m_dCrossNode))))
- {
- m_dCrossNode = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS5, &m_dOptions5, sizeof(m_dOptions5))))
- {
- m_dOptions5 = {};
- }
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4)
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_DISPLAYABLE, &m_dDisplayable, sizeof(m_dDisplayable))))
- {
- m_dDisplayable = {};
- }
-#endif
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS6, &m_dOptions6, sizeof(m_dOptions6))))
- {
- m_dOptions6 = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS7, &m_dOptions7, sizeof(m_dOptions7))))
- {
- m_dOptions7 = {};
- }
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3)
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS8, &m_dOptions8, sizeof(m_dOptions8))))
- {
- m_dOptions8 = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS9, &m_dOptions9, sizeof(m_dOptions9))))
- {
- m_dOptions9 = {};
- }
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4)
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS10, &m_dOptions10, sizeof(m_dOptions10))))
- {
- m_dOptions10 = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS11, &m_dOptions11, sizeof(m_dOptions11))))
- {
- m_dOptions11 = {};
- }
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 600)
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS12, &m_dOptions12, sizeof(m_dOptions12))))
- {
- m_dOptions12 = {};
- m_dOptions12.MSPrimitivesPipelineStatisticIncludesCulledPrimitives = D3D12_TRI_STATE::D3D12_TRI_STATE_UNKNOWN;
- }
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 602)
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS13, &m_dOptions13, sizeof(m_dOptions13))))
- {
- m_dOptions13 = {};
- }
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS14, &m_dOptions14, sizeof(m_dOptions14))))
- {
- m_dOptions14 = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS15, &m_dOptions15, sizeof(m_dOptions15))))
- {
- m_dOptions15 = {};
- }
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS16, &m_dOptions16, sizeof(m_dOptions16))))
- {
- m_dOptions16 = {};
- }
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609)
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS17, &m_dOptions17, sizeof(m_dOptions17))))
- {
- m_dOptions17 = {};
- }
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS18, &m_dOptions18, sizeof(m_dOptions18))))
- {
- m_dOptions18.RenderPassesValid = false;
- }
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610)
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS19, &m_dOptions19, sizeof(m_dOptions19))))
- {
- m_dOptions19 = {};
- m_dOptions19.SupportedSampleCountsWithNoOutputs = 1;
- m_dOptions19.MaxSamplerDescriptorHeapSize = D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE;
- m_dOptions19.MaxSamplerDescriptorHeapSizeWithStaticSamplers = D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE;
- m_dOptions19.MaxViewDescriptorHeapSize = D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1;
- }
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611)
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS20, &m_dOptions20, sizeof(m_dOptions20))))
- {
- m_dOptions20 = {};
- }
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612)
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS21, &m_dOptions21, sizeof(m_dOptions21))))
- {
- m_dOptions21 = {};
- }
-#endif
-
- // Initialize per-node feature support data structures
- const UINT uNodeCount = m_pDevice->GetNodeCount();
- m_dProtectedResourceSessionSupport.resize(uNodeCount);
- m_dArchitecture1.resize(uNodeCount);
- m_dSerialization.resize(uNodeCount);
- m_dProtectedResourceSessionTypeCount.resize(uNodeCount);
- m_dProtectedResourceSessionTypes.resize(uNodeCount);
- for (UINT NodeIndex = 0; NodeIndex < uNodeCount; NodeIndex++)
- {
- m_dProtectedResourceSessionSupport[NodeIndex].NodeIndex = NodeIndex;
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT, &m_dProtectedResourceSessionSupport[NodeIndex], sizeof(m_dProtectedResourceSessionSupport[NodeIndex]))))
- {
- m_dProtectedResourceSessionSupport[NodeIndex].Support = D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE;
- }
-
- m_dArchitecture1[NodeIndex].NodeIndex = NodeIndex;
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_ARCHITECTURE1, &m_dArchitecture1[NodeIndex], sizeof(m_dArchitecture1[NodeIndex]))))
- {
- D3D12_FEATURE_DATA_ARCHITECTURE dArchLocal = {};
- dArchLocal.NodeIndex = NodeIndex;
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_ARCHITECTURE, &dArchLocal, sizeof(dArchLocal))))
- {
- dArchLocal.TileBasedRenderer = false;
- dArchLocal.UMA = false;
- dArchLocal.CacheCoherentUMA = false;
- }
-
- m_dArchitecture1[NodeIndex].TileBasedRenderer = dArchLocal.TileBasedRenderer;
- m_dArchitecture1[NodeIndex].UMA = dArchLocal.UMA;
- m_dArchitecture1[NodeIndex].CacheCoherentUMA = dArchLocal.CacheCoherentUMA;
- m_dArchitecture1[NodeIndex].IsolatedMMU = false;
- }
-
- m_dSerialization[NodeIndex].NodeIndex = NodeIndex;
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_SERIALIZATION, &m_dSerialization[NodeIndex], sizeof(m_dSerialization[NodeIndex]))))
- {
- m_dSerialization[NodeIndex].HeapSerializationTier = D3D12_HEAP_SERIALIZATION_TIER_0;
- }
-
- m_dProtectedResourceSessionTypeCount[NodeIndex].NodeIndex = NodeIndex;
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT, &m_dProtectedResourceSessionTypeCount[NodeIndex], sizeof(m_dProtectedResourceSessionTypeCount[NodeIndex]))))
- {
- m_dProtectedResourceSessionTypeCount[NodeIndex].Count = 0;
- }
-
- // Special procedure to initialize local protected resource session types structs
- // Must wait until session type count initialized
- QueryProtectedResourceSessionTypes(NodeIndex, m_dProtectedResourceSessionTypeCount[NodeIndex].Count);
- }
-
- // Initialize features that requires highest version check
- if (FAILED(m_hStatus = QueryHighestShaderModel()))
- {
- return m_hStatus;
- }
-
- if (FAILED(m_hStatus = QueryHighestRootSignatureVersion()))
- {
- return m_hStatus;
- }
-
- // Initialize Feature Levels data
- if (FAILED(m_hStatus = QueryHighestFeatureLevel()))
- {
- return m_hStatus;
- }
-
- return m_hStatus;
-}
-
-// 0: D3D12_OPTIONS
-FEATURE_SUPPORT_GET(BOOL, m_dOptions, DoublePrecisionFloatShaderOps);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions, OutputMergerLogicOp);
-FEATURE_SUPPORT_GET(D3D12_SHADER_MIN_PRECISION_SUPPORT, m_dOptions, MinPrecisionSupport);
-FEATURE_SUPPORT_GET(D3D12_TILED_RESOURCES_TIER, m_dOptions, TiledResourcesTier);
-FEATURE_SUPPORT_GET(D3D12_RESOURCE_BINDING_TIER, m_dOptions, ResourceBindingTier);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions, PSSpecifiedStencilRefSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions, TypedUAVLoadAdditionalFormats);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions, ROVsSupported);
-FEATURE_SUPPORT_GET(D3D12_CONSERVATIVE_RASTERIZATION_TIER, m_dOptions, ConservativeRasterizationTier);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions, StandardSwizzle64KBSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions, CrossAdapterRowMajorTextureSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions, VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation);
-FEATURE_SUPPORT_GET(D3D12_RESOURCE_HEAP_TIER, m_dOptions, ResourceHeapTier);
-
-// Special procedure for handling caps that is also part of other features
-inline D3D12_CROSS_NODE_SHARING_TIER CD3DX12FeatureSupport::CrossNodeSharingTier() const noexcept
-{
- if (m_dCrossNode.SharingTier > D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED)
- {
- return m_dCrossNode.SharingTier;
- }
- else
- {
- return m_dOptions.CrossNodeSharingTier;
- }
-}
-
-inline UINT CD3DX12FeatureSupport::MaxGPUVirtualAddressBitsPerResource() const noexcept
-{
- if (m_dOptions.MaxGPUVirtualAddressBitsPerResource > 0)
- {
- return m_dOptions.MaxGPUVirtualAddressBitsPerResource;
- }
- else
- {
- return m_dGPUVASupport.MaxGPUVirtualAddressBitsPerResource;
- }
-}
-
-// 1: Architecture
-// Combined with Architecture1
-
-// 2: Feature Levels
-// Simply returns the highest supported feature level
-inline D3D_FEATURE_LEVEL CD3DX12FeatureSupport::MaxSupportedFeatureLevel() const noexcept
-{
- return m_eMaxFeatureLevel;
-}
-
-// 3: Feature Format Support
-inline HRESULT CD3DX12FeatureSupport::FormatSupport(DXGI_FORMAT Format, D3D12_FORMAT_SUPPORT1& Support1, D3D12_FORMAT_SUPPORT2& Support2) const
-{
- D3D12_FEATURE_DATA_FORMAT_SUPPORT dFormatSupport;
- dFormatSupport.Format = Format;
-
- // It is possible that the function call returns an error
- HRESULT result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_SUPPORT, &dFormatSupport, sizeof(D3D12_FEATURE_DATA_FORMAT_SUPPORT));
-
- Support1 = dFormatSupport.Support1;
- Support2 = dFormatSupport.Support2; // Two outputs. Probably better just to take in the struct as an argument?
-
- return result;
-}
-
-// 4: Multisample Quality Levels
-inline HRESULT CD3DX12FeatureSupport::MultisampleQualityLevels(DXGI_FORMAT Format, UINT SampleCount, D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags, UINT& NumQualityLevels) const
-{
- D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS dMultisampleQualityLevels;
- dMultisampleQualityLevels.Format = Format;
- dMultisampleQualityLevels.SampleCount = SampleCount;
- dMultisampleQualityLevels.Flags = Flags;
-
- HRESULT result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS, &dMultisampleQualityLevels, sizeof(D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS));
-
- if (SUCCEEDED(result))
- {
- NumQualityLevels = dMultisampleQualityLevels.NumQualityLevels;
- }
- else
- {
- NumQualityLevels = 0;
- }
-
- return result;
-}
-
-// 5: Format Info
-inline HRESULT CD3DX12FeatureSupport::FormatInfo(DXGI_FORMAT Format, UINT8& PlaneCount) const
-{
- D3D12_FEATURE_DATA_FORMAT_INFO dFormatInfo;
- dFormatInfo.Format = Format;
-
- HRESULT result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_INFO, &dFormatInfo, sizeof(D3D12_FEATURE_DATA_FORMAT_INFO));
- if (FAILED(result))
- {
- PlaneCount = 0;
- }
- else
- {
- PlaneCount = dFormatInfo.PlaneCount;
- }
- return result;
-}
-
-// 6: GPU Virtual Address Support
-// MaxGPUVirtualAddressBitsPerResource handled in D3D12Options
-FEATURE_SUPPORT_GET(UINT, m_dGPUVASupport, MaxGPUVirtualAddressBitsPerProcess);
-
-// 7: Shader Model
-inline D3D_SHADER_MODEL CD3DX12FeatureSupport::HighestShaderModel() const noexcept
-{
- return m_dShaderModel.HighestShaderModel;
-}
-
-// 8: D3D12 Options1
-FEATURE_SUPPORT_GET(BOOL, m_dOptions1, WaveOps);
-FEATURE_SUPPORT_GET(UINT, m_dOptions1, WaveLaneCountMin);
-FEATURE_SUPPORT_GET(UINT, m_dOptions1, WaveLaneCountMax);
-FEATURE_SUPPORT_GET(UINT, m_dOptions1, TotalLaneCount);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions1, ExpandedComputeResourceStates);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions1, Int64ShaderOps);
-
-// 10: Protected Resource Session Support
-inline D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS CD3DX12FeatureSupport::ProtectedResourceSessionSupport(UINT NodeIndex) const
-{
- return m_dProtectedResourceSessionSupport[NodeIndex].Support;
-}
-
-// 12: Root Signature
-inline D3D_ROOT_SIGNATURE_VERSION CD3DX12FeatureSupport::HighestRootSignatureVersion() const noexcept
-{
- return m_dRootSignature.HighestVersion;
-}
-
-// 16: Architecture1
-// Same data fields can be queried from m_dArchitecture
-FEATURE_SUPPORT_GET_NODE_INDEXED(BOOL, m_dArchitecture1, TileBasedRenderer);
-FEATURE_SUPPORT_GET_NODE_INDEXED(BOOL, m_dArchitecture1, UMA);
-FEATURE_SUPPORT_GET_NODE_INDEXED(BOOL, m_dArchitecture1, CacheCoherentUMA);
-FEATURE_SUPPORT_GET_NODE_INDEXED(BOOL, m_dArchitecture1, IsolatedMMU);
-
-// 18: D3D12 Options2
-FEATURE_SUPPORT_GET(BOOL, m_dOptions2, DepthBoundsTestSupported);
-FEATURE_SUPPORT_GET(D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER, m_dOptions2, ProgrammableSamplePositionsTier);
-
-// 19: Shader Cache
-FEATURE_SUPPORT_GET_NAME(D3D12_SHADER_CACHE_SUPPORT_FLAGS, m_dShaderCache, SupportFlags, ShaderCacheSupportFlags);
-
-// 20: Command Queue Priority
-inline BOOL CD3DX12FeatureSupport::CommandQueuePrioritySupported(D3D12_COMMAND_LIST_TYPE CommandListType, UINT Priority)
-{
- m_dCommandQueuePriority.CommandListType = CommandListType;
- m_dCommandQueuePriority.Priority = Priority;
-
- if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_COMMAND_QUEUE_PRIORITY, &m_dCommandQueuePriority, sizeof(D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY))))
- {
- return false;
- }
-
- return m_dCommandQueuePriority.PriorityForTypeIsSupported;
-}
-
-// 21: D3D12 Options3
-FEATURE_SUPPORT_GET(BOOL, m_dOptions3, CopyQueueTimestampQueriesSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions3, CastingFullyTypedFormatSupported);
-FEATURE_SUPPORT_GET(D3D12_COMMAND_LIST_SUPPORT_FLAGS, m_dOptions3, WriteBufferImmediateSupportFlags);
-FEATURE_SUPPORT_GET(D3D12_VIEW_INSTANCING_TIER, m_dOptions3, ViewInstancingTier);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions3, BarycentricsSupported);
-
-// 22: Existing Heaps
-FEATURE_SUPPORT_GET_NAME(BOOL, m_dExistingHeaps, Supported, ExistingHeapsSupported);
-
-// 23: D3D12 Options4
-FEATURE_SUPPORT_GET(BOOL, m_dOptions4, MSAA64KBAlignedTextureSupported);
-FEATURE_SUPPORT_GET(D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER, m_dOptions4, SharedResourceCompatibilityTier);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions4, Native16BitShaderOpsSupported);
-
-// 24: Serialization
-FEATURE_SUPPORT_GET_NODE_INDEXED(D3D12_HEAP_SERIALIZATION_TIER, m_dSerialization, HeapSerializationTier);
-
-// 25: Cross Node
-// CrossNodeSharingTier handled in D3D12Options
-FEATURE_SUPPORT_GET_NAME(BOOL, m_dCrossNode, AtomicShaderInstructions, CrossNodeAtomicShaderInstructions);
-
-// 27: D3D12 Options5
-FEATURE_SUPPORT_GET(BOOL, m_dOptions5, SRVOnlyTiledResourceTier3);
-FEATURE_SUPPORT_GET(D3D12_RENDER_PASS_TIER, m_dOptions5, RenderPassesTier);
-FEATURE_SUPPORT_GET(D3D12_RAYTRACING_TIER, m_dOptions5, RaytracingTier);
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4)
-// 28: Displayable
-FEATURE_SUPPORT_GET(BOOL, m_dDisplayable, DisplayableTexture);
-// SharedResourceCompatibilityTier handled in D3D12Options4
-#endif
-
-// 30: D3D12 Options6
-FEATURE_SUPPORT_GET(BOOL, m_dOptions6, AdditionalShadingRatesSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions6, PerPrimitiveShadingRateSupportedWithViewportIndexing);
-FEATURE_SUPPORT_GET(D3D12_VARIABLE_SHADING_RATE_TIER, m_dOptions6, VariableShadingRateTier);
-FEATURE_SUPPORT_GET(UINT, m_dOptions6, ShadingRateImageTileSize);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions6, BackgroundProcessingSupported);
-
-// 31: Query Meta Command
-// Keep the original call routine
-inline HRESULT CD3DX12FeatureSupport::QueryMetaCommand(D3D12_FEATURE_DATA_QUERY_META_COMMAND& dQueryMetaCommand) const
-{
- return m_pDevice->CheckFeatureSupport(D3D12_FEATURE_QUERY_META_COMMAND, &dQueryMetaCommand, sizeof(D3D12_FEATURE_DATA_QUERY_META_COMMAND));
-}
-
-// 32: D3D12 Options7
-FEATURE_SUPPORT_GET(D3D12_MESH_SHADER_TIER, m_dOptions7, MeshShaderTier);
-FEATURE_SUPPORT_GET(D3D12_SAMPLER_FEEDBACK_TIER, m_dOptions7, SamplerFeedbackTier);
-
-// 33: Protected Resource Session Type Count
-FEATURE_SUPPORT_GET_NODE_INDEXED_NAME(UINT, m_dProtectedResourceSessionTypeCount, Count, ProtectedResourceSessionTypeCount);
-
-// 34: Protected Resource Session Types
-FEATURE_SUPPORT_GET_NODE_INDEXED_NAME(std::vector, m_dProtectedResourceSessionTypes, TypeVec, ProtectedResourceSessionTypes);
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3)
-// 36: Options8
-FEATURE_SUPPORT_GET(BOOL, m_dOptions8, UnalignedBlockTexturesSupported);
-
-// 37: Options9
-FEATURE_SUPPORT_GET(BOOL, m_dOptions9, MeshShaderPipelineStatsSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions9, MeshShaderSupportsFullRangeRenderTargetArrayIndex);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions9, AtomicInt64OnTypedResourceSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions9, AtomicInt64OnGroupSharedSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions9, DerivativesInMeshAndAmplificationShadersSupported);
-FEATURE_SUPPORT_GET(D3D12_WAVE_MMA_TIER, m_dOptions9, WaveMMATier);
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4)
-// 39: Options10
-FEATURE_SUPPORT_GET(BOOL, m_dOptions10, VariableRateShadingSumCombinerSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions10, MeshShaderPerPrimitiveShadingRateSupported);
-
-// 40: Options11
-FEATURE_SUPPORT_GET(BOOL, m_dOptions11, AtomicInt64OnDescriptorHeapResourceSupported);
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 600)
-// 41: Options12
-FEATURE_SUPPORT_GET(D3D12_TRI_STATE, m_dOptions12, MSPrimitivesPipelineStatisticIncludesCulledPrimitives);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions12, EnhancedBarriersSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions12, RelaxedFormatCastingSupported);
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 602)
-// 42: Options13
-FEATURE_SUPPORT_GET(BOOL, m_dOptions13, UnrestrictedBufferTextureCopyPitchSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions13, UnrestrictedVertexElementAlignmentSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions13, InvertedViewportHeightFlipsYSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions13, InvertedViewportDepthFlipsZSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions13, TextureCopyBetweenDimensionsSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions13, AlphaBlendFactorSupported);
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
-// 43: Options14
-FEATURE_SUPPORT_GET(BOOL, m_dOptions14, AdvancedTextureOpsSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions14, WriteableMSAATexturesSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions14, IndependentFrontAndBackStencilRefMaskSupported);
-
-// 44: Options15
-FEATURE_SUPPORT_GET(BOOL, m_dOptions15, TriangleFanSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions15, DynamicIndexBufferStripCutSupported);
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
-// 45: Options16
-FEATURE_SUPPORT_GET(BOOL, m_dOptions16, DynamicDepthBiasSupported);
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609)
-FEATURE_SUPPORT_GET(BOOL, m_dOptions16, GPUUploadHeapSupported);
-
-// 46: Options17
-FEATURE_SUPPORT_GET(BOOL, m_dOptions17, NonNormalizedCoordinateSamplersSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions17, ManualWriteTrackingResourceSupported);
-
-// 47: Option18
-FEATURE_SUPPORT_GET(BOOL, m_dOptions18, RenderPassesValid);
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610)
-FEATURE_SUPPORT_GET(BOOL, m_dOptions19, MismatchingOutputDimensionsSupported);
-FEATURE_SUPPORT_GET(UINT, m_dOptions19, SupportedSampleCountsWithNoOutputs);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions19, PointSamplingAddressesNeverRoundUp);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions19, RasterizerDesc2Supported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions19, NarrowQuadrilateralLinesSupported);
-FEATURE_SUPPORT_GET(BOOL, m_dOptions19, AnisoFilterWithPointMipSupported);
-FEATURE_SUPPORT_GET(UINT, m_dOptions19, MaxSamplerDescriptorHeapSize);
-FEATURE_SUPPORT_GET(UINT, m_dOptions19, MaxSamplerDescriptorHeapSizeWithStaticSamplers);
-FEATURE_SUPPORT_GET(UINT, m_dOptions19, MaxViewDescriptorHeapSize);
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611)
-// 49: Options20
-FEATURE_SUPPORT_GET(BOOL, m_dOptions20, ComputeOnlyWriteWatchSupported);
-#endif
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612)
-// 50: Options21
-FEATURE_SUPPORT_GET(D3D12_EXECUTE_INDIRECT_TIER, m_dOptions21, ExecuteIndirectTier);
-FEATURE_SUPPORT_GET(D3D12_WORK_GRAPHS_TIER, m_dOptions21, WorkGraphsTier);
-#endif
-
-// Helper function to decide the highest shader model supported by the system
-// Stores the result in m_dShaderModel
-// Must be updated whenever a new shader model is added to the d3d12.h header
-inline HRESULT CD3DX12FeatureSupport::QueryHighestShaderModel()
-{
- // Check support in descending order
- HRESULT result;
-
- const D3D_SHADER_MODEL allModelVersions[] =
- {
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612)
- D3D_SHADER_MODEL_6_9,
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
- D3D_SHADER_MODEL_6_8,
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3)
- D3D_SHADER_MODEL_6_7,
-#endif
- D3D_SHADER_MODEL_6_6,
- D3D_SHADER_MODEL_6_5,
- D3D_SHADER_MODEL_6_4,
- D3D_SHADER_MODEL_6_3,
- D3D_SHADER_MODEL_6_2,
- D3D_SHADER_MODEL_6_1,
- D3D_SHADER_MODEL_6_0,
- D3D_SHADER_MODEL_5_1
- };
- constexpr size_t numModelVersions = sizeof(allModelVersions) / sizeof(D3D_SHADER_MODEL);
-
- for (size_t i = 0; i < numModelVersions; i++)
- {
- m_dShaderModel.HighestShaderModel = allModelVersions[i];
- result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_SHADER_MODEL, &m_dShaderModel, sizeof(D3D12_FEATURE_DATA_SHADER_MODEL));
- if (result != E_INVALIDARG)
- {
- // Indicates that the version is recognizable by the runtime and stored in the struct
- // Also terminate on unexpected error code
- if (FAILED(result))
- {
- m_dShaderModel.HighestShaderModel = static_cast(0);
- }
- return result;
- }
- }
-
- // Shader model may not be supported. Continue the rest initializations
- m_dShaderModel.HighestShaderModel = static_cast(0);
- return S_OK;
-}
-
-// Helper function to decide the highest root signature supported
-// Must be updated whenever a new root signature version is added to the d3d12.h header
-inline HRESULT CD3DX12FeatureSupport::QueryHighestRootSignatureVersion()
-{
- HRESULT result;
-
- const D3D_ROOT_SIGNATURE_VERSION allRootSignatureVersions[] =
- {
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609)
- D3D_ROOT_SIGNATURE_VERSION_1_2,
-#endif
- D3D_ROOT_SIGNATURE_VERSION_1_1,
- D3D_ROOT_SIGNATURE_VERSION_1_0,
- D3D_ROOT_SIGNATURE_VERSION_1,
- };
- constexpr size_t numRootSignatureVersions = sizeof(allRootSignatureVersions) / sizeof(D3D_ROOT_SIGNATURE_VERSION);
-
- for (size_t i = 0; i < numRootSignatureVersions; i++)
- {
- m_dRootSignature.HighestVersion = allRootSignatureVersions[i];
- result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_ROOT_SIGNATURE, &m_dRootSignature, sizeof(D3D12_FEATURE_DATA_ROOT_SIGNATURE));
- if (result != E_INVALIDARG)
- {
- if (FAILED(result))
- {
- m_dRootSignature.HighestVersion = static_cast(0);
- }
- // If succeeded, the highest version is already written into the member struct
- return result;
- }
- }
-
- // No version left. Set to invalid value and continue.
- m_dRootSignature.HighestVersion = static_cast(0);
- return S_OK;
-}
-
-// Helper funcion to decide the highest feature level
-inline HRESULT CD3DX12FeatureSupport::QueryHighestFeatureLevel()
-{
- HRESULT result;
-
- // Check against a list of all feature levels present in d3dcommon.h
- // Needs to be updated for future feature levels
- const D3D_FEATURE_LEVEL allLevels[] =
- {
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3)
- D3D_FEATURE_LEVEL_12_2,
-#endif
- 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,
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 5)
- D3D_FEATURE_LEVEL_1_0_CORE,
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611)
- D3D_FEATURE_LEVEL_1_0_GENERIC
-#endif
- };
-
- D3D12_FEATURE_DATA_FEATURE_LEVELS dFeatureLevel;
- dFeatureLevel.NumFeatureLevels = static_cast(sizeof(allLevels) / sizeof(D3D_FEATURE_LEVEL));
- dFeatureLevel.pFeatureLevelsRequested = allLevels;
-
- result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_FEATURE_LEVELS, &dFeatureLevel, sizeof(D3D12_FEATURE_DATA_FEATURE_LEVELS));
- if (SUCCEEDED(result))
- {
- m_eMaxFeatureLevel = dFeatureLevel.MaxSupportedFeatureLevel;
- }
- else
- {
- m_eMaxFeatureLevel = static_cast(0);
-
- if (result == DXGI_ERROR_UNSUPPORTED)
- {
- // Indicates that none supported. Continue initialization
- result = S_OK;
- }
- }
- return result;
-}
-
-// Helper function to initialize local protected resource session types structs
-inline HRESULT CD3DX12FeatureSupport::QueryProtectedResourceSessionTypes(UINT NodeIndex, UINT Count)
-{
- auto& CurrentPRSTypes = m_dProtectedResourceSessionTypes[NodeIndex];
- CurrentPRSTypes.NodeIndex = NodeIndex;
- CurrentPRSTypes.Count = Count;
- CurrentPRSTypes.TypeVec.resize(CurrentPRSTypes.Count);
- CurrentPRSTypes.pTypes = CurrentPRSTypes.TypeVec.data();
-
- HRESULT result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES, &m_dProtectedResourceSessionTypes[NodeIndex], sizeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES));
- if (FAILED(result))
- {
- // Resize TypeVec to empty
- CurrentPRSTypes.TypeVec.clear();
- }
-
- return result;
-}
-
-#undef FEATURE_SUPPORT_GET
-#undef FEATURE_SUPPORT_GET_NAME
-#undef FEATURE_SUPPORT_GET_NODE_INDEXED
-#undef FEATURE_SUPPORT_GET_NODE_INDEXED_NAME
-
-// end CD3DX12FeatureSupport
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_core.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_core.h
deleted file mode 100644
index 87814fb..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_core.h
+++ /dev/null
@@ -1,1537 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License (MIT).
-//
-//*********************************************************
-
-#pragma once
-
-#ifndef __cplusplus
-#error D3DX12 requires C++
-#endif
-
-#include
-#include "d3d12.h"
-#include "d3dx12_default.h"
-
-//------------------------------------------------------------------------------------------------
-#ifndef D3DX12_ASSERT
- #ifdef assert
- #define D3DX12_ASSERT(x) assert(x)
- #else
- #define D3DX12_ASSERT(x)
- #endif
-#endif
-
-//------------------------------------------------------------------------------------------------
-template
-inline ID3D12CommandList * const * CommandListCast(t_CommandListType * const * pp) noexcept
-{
- // This cast is useful for passing strongly typed command list pointers into
- // ExecuteCommandLists.
- // This cast is valid as long as the const-ness is respected. D3D12 APIs do
- // respect the const-ness of their arguments.
- return reinterpret_cast(pp);
-}
-
-//------------------------------------------------------------------------------------------------
-inline bool operator==( const D3D12_VIEWPORT& l, const D3D12_VIEWPORT& r ) noexcept
-{
- return l.TopLeftX == r.TopLeftX && l.TopLeftY == r.TopLeftY && l.Width == r.Width &&
- l.Height == r.Height && l.MinDepth == r.MinDepth && l.MaxDepth == r.MaxDepth;
-}
-
-//------------------------------------------------------------------------------------------------
-inline bool operator!=( const D3D12_VIEWPORT& l, const D3D12_VIEWPORT& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RECT : public D3D12_RECT
-{
- CD3DX12_RECT() = default;
- explicit CD3DX12_RECT( const D3D12_RECT& o ) noexcept :
- D3D12_RECT( o )
- {}
- explicit CD3DX12_RECT(
- LONG Left,
- LONG Top,
- LONG Right,
- LONG Bottom ) noexcept
- {
- left = Left;
- top = Top;
- right = Right;
- bottom = Bottom;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_VIEWPORT : public D3D12_VIEWPORT
-{
- CD3DX12_VIEWPORT() = default;
- explicit CD3DX12_VIEWPORT( const D3D12_VIEWPORT& o ) noexcept :
- D3D12_VIEWPORT( o )
- {}
- explicit CD3DX12_VIEWPORT(
- FLOAT topLeftX,
- FLOAT topLeftY,
- FLOAT width,
- FLOAT height,
- FLOAT minDepth = D3D12_MIN_DEPTH,
- FLOAT maxDepth = D3D12_MAX_DEPTH ) noexcept
- {
- TopLeftX = topLeftX;
- TopLeftY = topLeftY;
- Width = width;
- Height = height;
- MinDepth = minDepth;
- MaxDepth = maxDepth;
- }
- explicit CD3DX12_VIEWPORT(
- _In_ ID3D12Resource* pResource,
- UINT mipSlice = 0,
- FLOAT topLeftX = 0.0f,
- FLOAT topLeftY = 0.0f,
- FLOAT minDepth = D3D12_MIN_DEPTH,
- FLOAT maxDepth = D3D12_MAX_DEPTH ) noexcept
- {
-#if defined(_MSC_VER) || !defined(_WIN32)
- const auto Desc = pResource->GetDesc();
-#else
- D3D12_RESOURCE_DESC tmpDesc;
- const auto& Desc = *pResource->GetDesc(&tmpDesc);
-#endif
- const UINT64 SubresourceWidth = Desc.Width >> mipSlice;
- const UINT64 SubresourceHeight = Desc.Height >> mipSlice;
- switch (Desc.Dimension)
- {
- case D3D12_RESOURCE_DIMENSION_BUFFER:
- TopLeftX = topLeftX;
- TopLeftY = 0.0f;
- Width = float(Desc.Width) - topLeftX;
- Height = 1.0f;
- break;
- case D3D12_RESOURCE_DIMENSION_TEXTURE1D:
- TopLeftX = topLeftX;
- TopLeftY = 0.0f;
- Width = (SubresourceWidth ? float(SubresourceWidth) : 1.0f) - topLeftX;
- Height = 1.0f;
- break;
- case D3D12_RESOURCE_DIMENSION_TEXTURE2D:
- case D3D12_RESOURCE_DIMENSION_TEXTURE3D:
- TopLeftX = topLeftX;
- TopLeftY = topLeftY;
- Width = (SubresourceWidth ? float(SubresourceWidth) : 1.0f) - topLeftX;
- Height = (SubresourceHeight ? float(SubresourceHeight) : 1.0f) - topLeftY;
- break;
- default: break;
- }
-
- MinDepth = minDepth;
- MaxDepth = maxDepth;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_BOX : public D3D12_BOX
-{
- CD3DX12_BOX() = default;
- explicit CD3DX12_BOX( const D3D12_BOX& o ) noexcept :
- D3D12_BOX( o )
- {}
- explicit CD3DX12_BOX(
- LONG Left,
- LONG Right ) noexcept
- {
- left = static_cast(Left);
- top = 0;
- front = 0;
- right = static_cast(Right);
- bottom = 1;
- back = 1;
- }
- explicit CD3DX12_BOX(
- LONG Left,
- LONG Top,
- LONG Right,
- LONG Bottom ) noexcept
- {
- left = static_cast(Left);
- top = static_cast(Top);
- front = 0;
- right = static_cast(Right);
- bottom = static_cast(Bottom);
- back = 1;
- }
- explicit CD3DX12_BOX(
- LONG Left,
- LONG Top,
- LONG Front,
- LONG Right,
- LONG Bottom,
- LONG Back ) noexcept
- {
- left = static_cast(Left);
- top = static_cast(Top);
- front = static_cast(Front);
- right = static_cast(Right);
- bottom = static_cast(Bottom);
- back = static_cast(Back);
- }
-};
-inline bool operator==( const D3D12_BOX& l, const D3D12_BOX& r ) noexcept
-{
- return l.left == r.left && l.top == r.top && l.front == r.front &&
- l.right == r.right && l.bottom == r.bottom && l.back == r.back;
-}
-inline bool operator!=( const D3D12_BOX& l, const D3D12_BOX& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_DEPTH_STENCIL_DESC : public D3D12_DEPTH_STENCIL_DESC
-{
- CD3DX12_DEPTH_STENCIL_DESC() = default;
- explicit CD3DX12_DEPTH_STENCIL_DESC( const D3D12_DEPTH_STENCIL_DESC& o ) noexcept :
- D3D12_DEPTH_STENCIL_DESC( o )
- {}
- explicit CD3DX12_DEPTH_STENCIL_DESC( CD3DX12_DEFAULT ) noexcept
- {
- DepthEnable = TRUE;
- DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL;
- DepthFunc = D3D12_COMPARISON_FUNC_LESS;
- StencilEnable = FALSE;
- StencilReadMask = D3D12_DEFAULT_STENCIL_READ_MASK;
- StencilWriteMask = D3D12_DEFAULT_STENCIL_WRITE_MASK;
- const D3D12_DEPTH_STENCILOP_DESC defaultStencilOp =
- { D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_COMPARISON_FUNC_ALWAYS };
- FrontFace = defaultStencilOp;
- BackFace = defaultStencilOp;
- }
- explicit CD3DX12_DEPTH_STENCIL_DESC(
- BOOL depthEnable,
- D3D12_DEPTH_WRITE_MASK depthWriteMask,
- D3D12_COMPARISON_FUNC depthFunc,
- BOOL stencilEnable,
- UINT8 stencilReadMask,
- UINT8 stencilWriteMask,
- D3D12_STENCIL_OP frontStencilFailOp,
- D3D12_STENCIL_OP frontStencilDepthFailOp,
- D3D12_STENCIL_OP frontStencilPassOp,
- D3D12_COMPARISON_FUNC frontStencilFunc,
- D3D12_STENCIL_OP backStencilFailOp,
- D3D12_STENCIL_OP backStencilDepthFailOp,
- D3D12_STENCIL_OP backStencilPassOp,
- D3D12_COMPARISON_FUNC backStencilFunc ) noexcept
- {
- DepthEnable = depthEnable;
- DepthWriteMask = depthWriteMask;
- DepthFunc = depthFunc;
- StencilEnable = stencilEnable;
- StencilReadMask = stencilReadMask;
- StencilWriteMask = stencilWriteMask;
- FrontFace.StencilFailOp = frontStencilFailOp;
- FrontFace.StencilDepthFailOp = frontStencilDepthFailOp;
- FrontFace.StencilPassOp = frontStencilPassOp;
- FrontFace.StencilFunc = frontStencilFunc;
- BackFace.StencilFailOp = backStencilFailOp;
- BackFace.StencilDepthFailOp = backStencilDepthFailOp;
- BackFace.StencilPassOp = backStencilPassOp;
- BackFace.StencilFunc = backStencilFunc;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_DEPTH_STENCIL_DESC1 : public D3D12_DEPTH_STENCIL_DESC1
-{
- CD3DX12_DEPTH_STENCIL_DESC1() = default;
- explicit CD3DX12_DEPTH_STENCIL_DESC1( const D3D12_DEPTH_STENCIL_DESC1& o ) noexcept :
- D3D12_DEPTH_STENCIL_DESC1( o )
- {}
- explicit CD3DX12_DEPTH_STENCIL_DESC1( const D3D12_DEPTH_STENCIL_DESC& o ) noexcept
- {
- DepthEnable = o.DepthEnable;
- DepthWriteMask = o.DepthWriteMask;
- DepthFunc = o.DepthFunc;
- StencilEnable = o.StencilEnable;
- StencilReadMask = o.StencilReadMask;
- StencilWriteMask = o.StencilWriteMask;
- FrontFace.StencilFailOp = o.FrontFace.StencilFailOp;
- FrontFace.StencilDepthFailOp = o.FrontFace.StencilDepthFailOp;
- FrontFace.StencilPassOp = o.FrontFace.StencilPassOp;
- FrontFace.StencilFunc = o.FrontFace.StencilFunc;
- BackFace.StencilFailOp = o.BackFace.StencilFailOp;
- BackFace.StencilDepthFailOp = o.BackFace.StencilDepthFailOp;
- BackFace.StencilPassOp = o.BackFace.StencilPassOp;
- BackFace.StencilFunc = o.BackFace.StencilFunc;
- DepthBoundsTestEnable = FALSE;
- }
- explicit CD3DX12_DEPTH_STENCIL_DESC1( CD3DX12_DEFAULT ) noexcept
- {
- DepthEnable = TRUE;
- DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL;
- DepthFunc = D3D12_COMPARISON_FUNC_LESS;
- StencilEnable = FALSE;
- StencilReadMask = D3D12_DEFAULT_STENCIL_READ_MASK;
- StencilWriteMask = D3D12_DEFAULT_STENCIL_WRITE_MASK;
- const D3D12_DEPTH_STENCILOP_DESC defaultStencilOp =
- { D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_COMPARISON_FUNC_ALWAYS };
- FrontFace = defaultStencilOp;
- BackFace = defaultStencilOp;
- DepthBoundsTestEnable = FALSE;
- }
- explicit CD3DX12_DEPTH_STENCIL_DESC1(
- BOOL depthEnable,
- D3D12_DEPTH_WRITE_MASK depthWriteMask,
- D3D12_COMPARISON_FUNC depthFunc,
- BOOL stencilEnable,
- UINT8 stencilReadMask,
- UINT8 stencilWriteMask,
- D3D12_STENCIL_OP frontStencilFailOp,
- D3D12_STENCIL_OP frontStencilDepthFailOp,
- D3D12_STENCIL_OP frontStencilPassOp,
- D3D12_COMPARISON_FUNC frontStencilFunc,
- D3D12_STENCIL_OP backStencilFailOp,
- D3D12_STENCIL_OP backStencilDepthFailOp,
- D3D12_STENCIL_OP backStencilPassOp,
- D3D12_COMPARISON_FUNC backStencilFunc,
- BOOL depthBoundsTestEnable ) noexcept
- {
- DepthEnable = depthEnable;
- DepthWriteMask = depthWriteMask;
- DepthFunc = depthFunc;
- StencilEnable = stencilEnable;
- StencilReadMask = stencilReadMask;
- StencilWriteMask = stencilWriteMask;
- FrontFace.StencilFailOp = frontStencilFailOp;
- FrontFace.StencilDepthFailOp = frontStencilDepthFailOp;
- FrontFace.StencilPassOp = frontStencilPassOp;
- FrontFace.StencilFunc = frontStencilFunc;
- BackFace.StencilFailOp = backStencilFailOp;
- BackFace.StencilDepthFailOp = backStencilDepthFailOp;
- BackFace.StencilPassOp = backStencilPassOp;
- BackFace.StencilFunc = backStencilFunc;
- DepthBoundsTestEnable = depthBoundsTestEnable;
- }
- operator D3D12_DEPTH_STENCIL_DESC() const noexcept
- {
- D3D12_DEPTH_STENCIL_DESC D;
- D.DepthEnable = DepthEnable;
- D.DepthWriteMask = DepthWriteMask;
- D.DepthFunc = DepthFunc;
- D.StencilEnable = StencilEnable;
- D.StencilReadMask = StencilReadMask;
- D.StencilWriteMask = StencilWriteMask;
- D.FrontFace.StencilFailOp = FrontFace.StencilFailOp;
- D.FrontFace.StencilDepthFailOp = FrontFace.StencilDepthFailOp;
- D.FrontFace.StencilPassOp = FrontFace.StencilPassOp;
- D.FrontFace.StencilFunc = FrontFace.StencilFunc;
- D.BackFace.StencilFailOp = BackFace.StencilFailOp;
- D.BackFace.StencilDepthFailOp = BackFace.StencilDepthFailOp;
- D.BackFace.StencilPassOp = BackFace.StencilPassOp;
- D.BackFace.StencilFunc = BackFace.StencilFunc;
- return D;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
-struct CD3DX12_DEPTH_STENCIL_DESC2 : public D3D12_DEPTH_STENCIL_DESC2
-{
- CD3DX12_DEPTH_STENCIL_DESC2() = default;
- explicit CD3DX12_DEPTH_STENCIL_DESC2( const D3D12_DEPTH_STENCIL_DESC2& o ) noexcept :
- D3D12_DEPTH_STENCIL_DESC2( o )
- {}
- explicit CD3DX12_DEPTH_STENCIL_DESC2( const D3D12_DEPTH_STENCIL_DESC1& o ) noexcept
- {
- DepthEnable = o.DepthEnable;
- DepthWriteMask = o.DepthWriteMask;
- DepthFunc = o.DepthFunc;
- StencilEnable = o.StencilEnable;
- FrontFace.StencilFailOp = o.FrontFace.StencilFailOp;
- FrontFace.StencilDepthFailOp = o.FrontFace.StencilDepthFailOp;
- FrontFace.StencilPassOp = o.FrontFace.StencilPassOp;
- FrontFace.StencilFunc = o.FrontFace.StencilFunc;
- FrontFace.StencilReadMask = o.StencilReadMask;
- FrontFace.StencilWriteMask = o.StencilWriteMask;
-
- BackFace.StencilFailOp = o.BackFace.StencilFailOp;
- BackFace.StencilDepthFailOp = o.BackFace.StencilDepthFailOp;
- BackFace.StencilPassOp = o.BackFace.StencilPassOp;
- BackFace.StencilFunc = o.BackFace.StencilFunc;
- BackFace.StencilReadMask = o.StencilReadMask;
- BackFace.StencilWriteMask = o.StencilWriteMask;
- DepthBoundsTestEnable = o.DepthBoundsTestEnable;
- }
- explicit CD3DX12_DEPTH_STENCIL_DESC2( const D3D12_DEPTH_STENCIL_DESC& o ) noexcept
- {
- DepthEnable = o.DepthEnable;
- DepthWriteMask = o.DepthWriteMask;
- DepthFunc = o.DepthFunc;
- StencilEnable = o.StencilEnable;
-
- FrontFace.StencilFailOp = o.FrontFace.StencilFailOp;
- FrontFace.StencilDepthFailOp = o.FrontFace.StencilDepthFailOp;
- FrontFace.StencilPassOp = o.FrontFace.StencilPassOp;
- FrontFace.StencilFunc = o.FrontFace.StencilFunc;
- FrontFace.StencilReadMask = o.StencilReadMask;
- FrontFace.StencilWriteMask = o.StencilWriteMask;
-
- BackFace.StencilFailOp = o.BackFace.StencilFailOp;
- BackFace.StencilDepthFailOp = o.BackFace.StencilDepthFailOp;
- BackFace.StencilPassOp = o.BackFace.StencilPassOp;
- BackFace.StencilFunc = o.BackFace.StencilFunc;
- BackFace.StencilReadMask = o.StencilReadMask;
- BackFace.StencilWriteMask = o.StencilWriteMask;
-
- DepthBoundsTestEnable = FALSE;
- }
- explicit CD3DX12_DEPTH_STENCIL_DESC2( CD3DX12_DEFAULT ) noexcept
- {
- DepthEnable = TRUE;
- DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL;
- DepthFunc = D3D12_COMPARISON_FUNC_LESS;
- StencilEnable = FALSE;
- const D3D12_DEPTH_STENCILOP_DESC1 defaultStencilOp =
- { D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_COMPARISON_FUNC_ALWAYS, D3D12_DEFAULT_STENCIL_READ_MASK, D3D12_DEFAULT_STENCIL_WRITE_MASK };
- FrontFace = defaultStencilOp;
- BackFace = defaultStencilOp;
- DepthBoundsTestEnable = FALSE;
- }
- explicit CD3DX12_DEPTH_STENCIL_DESC2(
- BOOL depthEnable,
- D3D12_DEPTH_WRITE_MASK depthWriteMask,
- D3D12_COMPARISON_FUNC depthFunc,
- BOOL stencilEnable,
- D3D12_STENCIL_OP frontStencilFailOp,
- D3D12_STENCIL_OP frontStencilDepthFailOp,
- D3D12_STENCIL_OP frontStencilPassOp,
- D3D12_COMPARISON_FUNC frontStencilFunc,
- UINT8 frontStencilReadMask,
- UINT8 frontStencilWriteMask,
- D3D12_STENCIL_OP backStencilFailOp,
- D3D12_STENCIL_OP backStencilDepthFailOp,
- D3D12_STENCIL_OP backStencilPassOp,
- D3D12_COMPARISON_FUNC backStencilFunc,
- UINT8 backStencilReadMask,
- UINT8 backStencilWriteMask,
- BOOL depthBoundsTestEnable ) noexcept
- {
- DepthEnable = depthEnable;
- DepthWriteMask = depthWriteMask;
- DepthFunc = depthFunc;
- StencilEnable = stencilEnable;
-
- FrontFace.StencilFailOp = frontStencilFailOp;
- FrontFace.StencilDepthFailOp = frontStencilDepthFailOp;
- FrontFace.StencilPassOp = frontStencilPassOp;
- FrontFace.StencilFunc = frontStencilFunc;
- FrontFace.StencilReadMask = frontStencilReadMask;
- FrontFace.StencilWriteMask = frontStencilWriteMask;
-
- BackFace.StencilFailOp = backStencilFailOp;
- BackFace.StencilDepthFailOp = backStencilDepthFailOp;
- BackFace.StencilPassOp = backStencilPassOp;
- BackFace.StencilFunc = backStencilFunc;
- BackFace.StencilReadMask = backStencilReadMask;
- BackFace.StencilWriteMask = backStencilWriteMask;
-
- DepthBoundsTestEnable = depthBoundsTestEnable;
- }
-
- operator D3D12_DEPTH_STENCIL_DESC() const noexcept
- {
- D3D12_DEPTH_STENCIL_DESC D;
- D.DepthEnable = DepthEnable;
- D.DepthWriteMask = DepthWriteMask;
- D.DepthFunc = DepthFunc;
- D.StencilEnable = StencilEnable;
- D.StencilReadMask = FrontFace.StencilReadMask;
- D.StencilWriteMask = FrontFace.StencilWriteMask;
- D.FrontFace.StencilFailOp = FrontFace.StencilFailOp;
- D.FrontFace.StencilDepthFailOp = FrontFace.StencilDepthFailOp;
- D.FrontFace.StencilPassOp = FrontFace.StencilPassOp;
- D.FrontFace.StencilFunc = FrontFace.StencilFunc;
- D.BackFace.StencilFailOp = BackFace.StencilFailOp;
- D.BackFace.StencilDepthFailOp = BackFace.StencilDepthFailOp;
- D.BackFace.StencilPassOp = BackFace.StencilPassOp;
- D.BackFace.StencilFunc = BackFace.StencilFunc;
- return D;
- }
-};
-#endif // D3D12_SDK_VERSION >= 606
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_BLEND_DESC : public D3D12_BLEND_DESC
-{
- CD3DX12_BLEND_DESC() = default;
- explicit CD3DX12_BLEND_DESC( const D3D12_BLEND_DESC& o ) noexcept :
- D3D12_BLEND_DESC( o )
- {}
- explicit CD3DX12_BLEND_DESC( CD3DX12_DEFAULT ) noexcept
- {
- AlphaToCoverageEnable = FALSE;
- IndependentBlendEnable = FALSE;
- const D3D12_RENDER_TARGET_BLEND_DESC defaultRenderTargetBlendDesc =
- {
- FALSE,FALSE,
- D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,
- D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,
- D3D12_LOGIC_OP_NOOP,
- D3D12_COLOR_WRITE_ENABLE_ALL,
- };
- for (UINT i = 0; i < D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)
- RenderTarget[ i ] = defaultRenderTargetBlendDesc;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RASTERIZER_DESC : public D3D12_RASTERIZER_DESC
-{
- CD3DX12_RASTERIZER_DESC() = default;
- explicit CD3DX12_RASTERIZER_DESC( const D3D12_RASTERIZER_DESC& o ) noexcept :
- D3D12_RASTERIZER_DESC( o )
- {}
- explicit CD3DX12_RASTERIZER_DESC( CD3DX12_DEFAULT ) noexcept
- {
- FillMode = D3D12_FILL_MODE_SOLID;
- CullMode = D3D12_CULL_MODE_BACK;
- FrontCounterClockwise = FALSE;
- DepthBias = D3D12_DEFAULT_DEPTH_BIAS;
- DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP;
- SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;
- DepthClipEnable = TRUE;
- MultisampleEnable = FALSE;
- AntialiasedLineEnable = FALSE;
- ForcedSampleCount = 0;
- ConservativeRaster = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF;
- }
- explicit CD3DX12_RASTERIZER_DESC(
- D3D12_FILL_MODE fillMode,
- D3D12_CULL_MODE cullMode,
- BOOL frontCounterClockwise,
- INT depthBias,
- FLOAT depthBiasClamp,
- FLOAT slopeScaledDepthBias,
- BOOL depthClipEnable,
- BOOL multisampleEnable,
- BOOL antialiasedLineEnable,
- UINT forcedSampleCount,
- D3D12_CONSERVATIVE_RASTERIZATION_MODE conservativeRaster) noexcept
- {
- FillMode = fillMode;
- CullMode = cullMode;
- FrontCounterClockwise = frontCounterClockwise;
- DepthBias = depthBias;
- DepthBiasClamp = depthBiasClamp;
- SlopeScaledDepthBias = slopeScaledDepthBias;
- DepthClipEnable = depthClipEnable;
- MultisampleEnable = multisampleEnable;
- AntialiasedLineEnable = antialiasedLineEnable;
- ForcedSampleCount = forcedSampleCount;
- ConservativeRaster = conservativeRaster;
- }
-};
-
-
-//------------------------------------------------------------------------------------------------
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
-struct CD3DX12_RASTERIZER_DESC1 : public D3D12_RASTERIZER_DESC1
-{
- CD3DX12_RASTERIZER_DESC1() = default;
- explicit CD3DX12_RASTERIZER_DESC1(const D3D12_RASTERIZER_DESC1& o) noexcept :
- D3D12_RASTERIZER_DESC1(o)
-
- {
- }
- explicit CD3DX12_RASTERIZER_DESC1(const D3D12_RASTERIZER_DESC& o) noexcept
- {
- FillMode = o.FillMode;
- CullMode = o.CullMode;
- FrontCounterClockwise = o.FrontCounterClockwise;
- DepthBias = static_cast(o.DepthBias);
- DepthBiasClamp = o.DepthBiasClamp;
- SlopeScaledDepthBias = o.SlopeScaledDepthBias;
- DepthClipEnable = o.DepthClipEnable;
- MultisampleEnable = o.MultisampleEnable;
- AntialiasedLineEnable = o.AntialiasedLineEnable;
- ForcedSampleCount = o.ForcedSampleCount;
- ConservativeRaster = o.ConservativeRaster;
- }
- explicit CD3DX12_RASTERIZER_DESC1(CD3DX12_DEFAULT) noexcept
- {
- FillMode = D3D12_FILL_MODE_SOLID;
- CullMode = D3D12_CULL_MODE_BACK;
- FrontCounterClockwise = FALSE;
- DepthBias = D3D12_DEFAULT_DEPTH_BIAS;
- DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP;
- SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;
- DepthClipEnable = TRUE;
- MultisampleEnable = FALSE;
- AntialiasedLineEnable = FALSE;
- ForcedSampleCount = 0;
- ConservativeRaster = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF;
- }
- explicit CD3DX12_RASTERIZER_DESC1(
- D3D12_FILL_MODE fillMode,
- D3D12_CULL_MODE cullMode,
- BOOL frontCounterClockwise,
- FLOAT depthBias,
- FLOAT depthBiasClamp,
- FLOAT slopeScaledDepthBias,
- BOOL depthClipEnable,
- BOOL multisampleEnable,
- BOOL antialiasedLineEnable,
- UINT forcedSampleCount,
- D3D12_CONSERVATIVE_RASTERIZATION_MODE conservativeRaster) noexcept
- {
- FillMode = fillMode;
- CullMode = cullMode;
- FrontCounterClockwise = frontCounterClockwise;
- DepthBias = depthBias;
- DepthBiasClamp = depthBiasClamp;
- SlopeScaledDepthBias = slopeScaledDepthBias;
- DepthClipEnable = depthClipEnable;
- MultisampleEnable = multisampleEnable;
- AntialiasedLineEnable = antialiasedLineEnable;
- ForcedSampleCount = forcedSampleCount;
- ConservativeRaster = conservativeRaster;
- }
-
-
- operator D3D12_RASTERIZER_DESC() const noexcept
- {
- D3D12_RASTERIZER_DESC o;
-
- o.FillMode = FillMode;
- o.CullMode = CullMode;
- o.FrontCounterClockwise = FrontCounterClockwise;
- o.DepthBias = static_cast(DepthBias);
- o.DepthBiasClamp = DepthBiasClamp;
- o.SlopeScaledDepthBias = SlopeScaledDepthBias;
- o.DepthClipEnable = DepthClipEnable;
- o.MultisampleEnable = MultisampleEnable;
- o.AntialiasedLineEnable = AntialiasedLineEnable;
- o.ForcedSampleCount = ForcedSampleCount;
- o.ConservativeRaster = ConservativeRaster;
-
- return o;
- }
-};
-#endif // D3D12_SDK_VERSION >= 608
-
-//------------------------------------------------------------------------------------------------
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610)
-struct CD3DX12_RASTERIZER_DESC2 : public D3D12_RASTERIZER_DESC2
-{
- CD3DX12_RASTERIZER_DESC2() = default;
- explicit CD3DX12_RASTERIZER_DESC2(const D3D12_RASTERIZER_DESC2& o) noexcept :
- D3D12_RASTERIZER_DESC2(o)
-
- {
- }
- explicit CD3DX12_RASTERIZER_DESC2(const D3D12_RASTERIZER_DESC1& o) noexcept
- {
- FillMode = o.FillMode;
- CullMode = o.CullMode;
- FrontCounterClockwise = o.FrontCounterClockwise;
- DepthBias = o.DepthBias;
- DepthBiasClamp = o.DepthBiasClamp;
- SlopeScaledDepthBias = o.SlopeScaledDepthBias;
- DepthClipEnable = o.DepthClipEnable;
- LineRasterizationMode = D3D12_LINE_RASTERIZATION_MODE_ALIASED;
- if (o.MultisampleEnable)
- {
- LineRasterizationMode = D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE;
- }
- else if (o.AntialiasedLineEnable)
- {
- LineRasterizationMode = D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED;
- }
- ForcedSampleCount = o.ForcedSampleCount;
- ConservativeRaster = o.ConservativeRaster;
- }
- explicit CD3DX12_RASTERIZER_DESC2(const D3D12_RASTERIZER_DESC& o) noexcept
- : CD3DX12_RASTERIZER_DESC2(CD3DX12_RASTERIZER_DESC1(o))
- {
- }
- explicit CD3DX12_RASTERIZER_DESC2(CD3DX12_DEFAULT) noexcept
- {
- FillMode = D3D12_FILL_MODE_SOLID;
- CullMode = D3D12_CULL_MODE_BACK;
- FrontCounterClockwise = FALSE;
- DepthBias = D3D12_DEFAULT_DEPTH_BIAS;
- DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP;
- SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;
- DepthClipEnable = TRUE;
- LineRasterizationMode = D3D12_LINE_RASTERIZATION_MODE_ALIASED;
- ForcedSampleCount = 0;
- ConservativeRaster = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF;
- }
- explicit CD3DX12_RASTERIZER_DESC2(
- D3D12_FILL_MODE fillMode,
- D3D12_CULL_MODE cullMode,
- BOOL frontCounterClockwise,
- FLOAT depthBias,
- FLOAT depthBiasClamp,
- FLOAT slopeScaledDepthBias,
- BOOL depthClipEnable,
- D3D12_LINE_RASTERIZATION_MODE lineRasterizationMode,
- UINT forcedSampleCount,
- D3D12_CONSERVATIVE_RASTERIZATION_MODE conservativeRaster) noexcept
- {
- FillMode = fillMode;
- CullMode = cullMode;
- FrontCounterClockwise = frontCounterClockwise;
- DepthBias = depthBias;
- DepthBiasClamp = depthBiasClamp;
- SlopeScaledDepthBias = slopeScaledDepthBias;
- DepthClipEnable = depthClipEnable;
- LineRasterizationMode = lineRasterizationMode;
- ForcedSampleCount = forcedSampleCount;
- ConservativeRaster = conservativeRaster;
- }
-
-
- operator D3D12_RASTERIZER_DESC1() const noexcept
- {
- D3D12_RASTERIZER_DESC1 o;
-
- o.FillMode = FillMode;
- o.CullMode = CullMode;
- o.FrontCounterClockwise = FrontCounterClockwise;
- o.DepthBias = DepthBias;
- o.DepthBiasClamp = DepthBiasClamp;
- o.SlopeScaledDepthBias = SlopeScaledDepthBias;
- o.DepthClipEnable = DepthClipEnable;
- o.MultisampleEnable = FALSE;
- o.AntialiasedLineEnable = FALSE;
- if (LineRasterizationMode == D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED)
- {
- o.AntialiasedLineEnable = TRUE;
- }
- else if (LineRasterizationMode != D3D12_LINE_RASTERIZATION_MODE_ALIASED)
- {
- o.MultisampleEnable = TRUE;
- }
- o.ForcedSampleCount = ForcedSampleCount;
- o.ConservativeRaster = ConservativeRaster;
-
- return o;
- }
- operator D3D12_RASTERIZER_DESC() const noexcept
- {
- return static_cast(CD3DX12_RASTERIZER_DESC1(static_cast(*this)));
- }
-};
-#endif // D3D12_SDK_VERSION >= 610
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RESOURCE_ALLOCATION_INFO : public D3D12_RESOURCE_ALLOCATION_INFO
-{
- CD3DX12_RESOURCE_ALLOCATION_INFO() = default;
- explicit CD3DX12_RESOURCE_ALLOCATION_INFO( const D3D12_RESOURCE_ALLOCATION_INFO& o ) noexcept :
- D3D12_RESOURCE_ALLOCATION_INFO( o )
- {}
- CD3DX12_RESOURCE_ALLOCATION_INFO(
- UINT64 size,
- UINT64 alignment ) noexcept
- {
- SizeInBytes = size;
- Alignment = alignment;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_HEAP_PROPERTIES : public D3D12_HEAP_PROPERTIES
-{
- CD3DX12_HEAP_PROPERTIES() = default;
- explicit CD3DX12_HEAP_PROPERTIES(const D3D12_HEAP_PROPERTIES &o) noexcept :
- D3D12_HEAP_PROPERTIES(o)
- {}
- CD3DX12_HEAP_PROPERTIES(
- D3D12_CPU_PAGE_PROPERTY cpuPageProperty,
- D3D12_MEMORY_POOL memoryPoolPreference,
- UINT creationNodeMask = 1,
- UINT nodeMask = 1 ) noexcept
- {
- Type = D3D12_HEAP_TYPE_CUSTOM;
- CPUPageProperty = cpuPageProperty;
- MemoryPoolPreference = memoryPoolPreference;
- CreationNodeMask = creationNodeMask;
- VisibleNodeMask = nodeMask;
- }
- explicit CD3DX12_HEAP_PROPERTIES(
- D3D12_HEAP_TYPE type,
- UINT creationNodeMask = 1,
- UINT nodeMask = 1 ) noexcept
- {
- Type = type;
- CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
- MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
- CreationNodeMask = creationNodeMask;
- VisibleNodeMask = nodeMask;
- }
- bool IsCPUAccessible() const noexcept
- {
- return Type == D3D12_HEAP_TYPE_UPLOAD || Type == D3D12_HEAP_TYPE_READBACK
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609)
- || Type == D3D12_HEAP_TYPE_GPU_UPLOAD
-#endif
- || (Type == D3D12_HEAP_TYPE_CUSTOM &&
- (CPUPageProperty == D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE || CPUPageProperty == D3D12_CPU_PAGE_PROPERTY_WRITE_BACK));
- }
-};
-inline bool operator==( const D3D12_HEAP_PROPERTIES& l, const D3D12_HEAP_PROPERTIES& r ) noexcept
-{
- return l.Type == r.Type && l.CPUPageProperty == r.CPUPageProperty &&
- l.MemoryPoolPreference == r.MemoryPoolPreference &&
- l.CreationNodeMask == r.CreationNodeMask &&
- l.VisibleNodeMask == r.VisibleNodeMask;
-}
-inline bool operator!=( const D3D12_HEAP_PROPERTIES& l, const D3D12_HEAP_PROPERTIES& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_HEAP_DESC : public D3D12_HEAP_DESC
-{
- CD3DX12_HEAP_DESC() = default;
- explicit CD3DX12_HEAP_DESC(const D3D12_HEAP_DESC &o) noexcept :
- D3D12_HEAP_DESC(o)
- {}
- CD3DX12_HEAP_DESC(
- UINT64 size,
- D3D12_HEAP_PROPERTIES properties,
- UINT64 alignment = 0,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = size;
- Properties = properties;
- Alignment = alignment;
- Flags = flags;
- }
- CD3DX12_HEAP_DESC(
- UINT64 size,
- D3D12_HEAP_TYPE type,
- UINT64 alignment = 0,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = size;
- Properties = CD3DX12_HEAP_PROPERTIES( type );
- Alignment = alignment;
- Flags = flags;
- }
- CD3DX12_HEAP_DESC(
- UINT64 size,
- D3D12_CPU_PAGE_PROPERTY cpuPageProperty,
- D3D12_MEMORY_POOL memoryPoolPreference,
- UINT64 alignment = 0,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = size;
- Properties = CD3DX12_HEAP_PROPERTIES( cpuPageProperty, memoryPoolPreference );
- Alignment = alignment;
- Flags = flags;
- }
- CD3DX12_HEAP_DESC(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_HEAP_PROPERTIES properties,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = resAllocInfo.SizeInBytes;
- Properties = properties;
- Alignment = resAllocInfo.Alignment;
- Flags = flags;
- }
- CD3DX12_HEAP_DESC(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_HEAP_TYPE type,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = resAllocInfo.SizeInBytes;
- Properties = CD3DX12_HEAP_PROPERTIES( type );
- Alignment = resAllocInfo.Alignment;
- Flags = flags;
- }
- CD3DX12_HEAP_DESC(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_CPU_PAGE_PROPERTY cpuPageProperty,
- D3D12_MEMORY_POOL memoryPoolPreference,
- D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept
- {
- SizeInBytes = resAllocInfo.SizeInBytes;
- Properties = CD3DX12_HEAP_PROPERTIES( cpuPageProperty, memoryPoolPreference );
- Alignment = resAllocInfo.Alignment;
- Flags = flags;
- }
- bool IsCPUAccessible() const noexcept
- { return static_cast< const CD3DX12_HEAP_PROPERTIES* >( &Properties )->IsCPUAccessible(); }
-};
-inline bool operator==( const D3D12_HEAP_DESC& l, const D3D12_HEAP_DESC& r ) noexcept
-{
- return l.SizeInBytes == r.SizeInBytes &&
- l.Properties == r.Properties &&
- l.Alignment == r.Alignment &&
- l.Flags == r.Flags;
-}
-inline bool operator!=( const D3D12_HEAP_DESC& l, const D3D12_HEAP_DESC& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_CLEAR_VALUE : public D3D12_CLEAR_VALUE
-{
- CD3DX12_CLEAR_VALUE() = default;
- explicit CD3DX12_CLEAR_VALUE(const D3D12_CLEAR_VALUE &o) noexcept :
- D3D12_CLEAR_VALUE(o)
- {}
- CD3DX12_CLEAR_VALUE(
- DXGI_FORMAT format,
- const FLOAT color[4] ) noexcept
- {
- Format = format;
- memcpy( Color, color, sizeof( Color ) );
- }
- CD3DX12_CLEAR_VALUE(
- DXGI_FORMAT format,
- FLOAT depth,
- UINT8 stencil ) noexcept
- {
- Format = format;
- memset( &Color, 0, sizeof( Color ) );
- /* Use memcpy to preserve NAN values */
- memcpy( &DepthStencil.Depth, &depth, sizeof( depth ) );
- DepthStencil.Stencil = stencil;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-inline bool operator==( const D3D12_CLEAR_VALUE &a, const D3D12_CLEAR_VALUE &b) noexcept
-{
- if (a.Format != b.Format) return false;
- if (a.Format == DXGI_FORMAT_D24_UNORM_S8_UINT
- || a.Format == DXGI_FORMAT_D16_UNORM
- || a.Format == DXGI_FORMAT_D32_FLOAT
- || a.Format == DXGI_FORMAT_D32_FLOAT_S8X24_UINT)
- {
- return (a.DepthStencil.Depth == b.DepthStencil.Depth) &&
- (a.DepthStencil.Stencil == b.DepthStencil.Stencil);
- } else {
- return (a.Color[0] == b.Color[0]) &&
- (a.Color[1] == b.Color[1]) &&
- (a.Color[2] == b.Color[2]) &&
- (a.Color[3] == b.Color[3]);
- }
-}
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RANGE : public D3D12_RANGE
-{
- CD3DX12_RANGE() = default;
- explicit CD3DX12_RANGE(const D3D12_RANGE &o) noexcept :
- D3D12_RANGE(o)
- {}
- CD3DX12_RANGE(
- SIZE_T begin,
- SIZE_T end ) noexcept
- {
- Begin = begin;
- End = end;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RANGE_UINT64 : public D3D12_RANGE_UINT64
-{
- CD3DX12_RANGE_UINT64() = default;
- explicit CD3DX12_RANGE_UINT64(const D3D12_RANGE_UINT64 &o) noexcept :
- D3D12_RANGE_UINT64(o)
- {}
- CD3DX12_RANGE_UINT64(
- UINT64 begin,
- UINT64 end ) noexcept
- {
- Begin = begin;
- End = end;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_SUBRESOURCE_RANGE_UINT64 : public D3D12_SUBRESOURCE_RANGE_UINT64
-{
- CD3DX12_SUBRESOURCE_RANGE_UINT64() = default;
- explicit CD3DX12_SUBRESOURCE_RANGE_UINT64(const D3D12_SUBRESOURCE_RANGE_UINT64 &o) noexcept :
- D3D12_SUBRESOURCE_RANGE_UINT64(o)
- {}
- CD3DX12_SUBRESOURCE_RANGE_UINT64(
- UINT subresource,
- const D3D12_RANGE_UINT64& range ) noexcept
- {
- Subresource = subresource;
- Range = range;
- }
- CD3DX12_SUBRESOURCE_RANGE_UINT64(
- UINT subresource,
- UINT64 begin,
- UINT64 end ) noexcept
- {
- Subresource = subresource;
- Range.Begin = begin;
- Range.End = end;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_SHADER_BYTECODE : public D3D12_SHADER_BYTECODE
-{
- CD3DX12_SHADER_BYTECODE() = default;
- explicit CD3DX12_SHADER_BYTECODE(const D3D12_SHADER_BYTECODE &o) noexcept :
- D3D12_SHADER_BYTECODE(o)
- {}
- CD3DX12_SHADER_BYTECODE(
- _In_ ID3DBlob* pShaderBlob ) noexcept
- {
- pShaderBytecode = pShaderBlob->GetBufferPointer();
- BytecodeLength = pShaderBlob->GetBufferSize();
- }
- CD3DX12_SHADER_BYTECODE(
- const void* _pShaderBytecode,
- SIZE_T bytecodeLength ) noexcept
- {
- pShaderBytecode = _pShaderBytecode;
- BytecodeLength = bytecodeLength;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_TILED_RESOURCE_COORDINATE : public D3D12_TILED_RESOURCE_COORDINATE
-{
- CD3DX12_TILED_RESOURCE_COORDINATE() = default;
- explicit CD3DX12_TILED_RESOURCE_COORDINATE(const D3D12_TILED_RESOURCE_COORDINATE &o) noexcept :
- D3D12_TILED_RESOURCE_COORDINATE(o)
- {}
- CD3DX12_TILED_RESOURCE_COORDINATE(
- UINT x,
- UINT y,
- UINT z,
- UINT subresource ) noexcept
- {
- X = x;
- Y = y;
- Z = z;
- Subresource = subresource;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_TILE_REGION_SIZE : public D3D12_TILE_REGION_SIZE
-{
- CD3DX12_TILE_REGION_SIZE() = default;
- explicit CD3DX12_TILE_REGION_SIZE(const D3D12_TILE_REGION_SIZE &o) noexcept :
- D3D12_TILE_REGION_SIZE(o)
- {}
- CD3DX12_TILE_REGION_SIZE(
- UINT numTiles,
- BOOL useBox,
- UINT width,
- UINT16 height,
- UINT16 depth ) noexcept
- {
- NumTiles = numTiles;
- UseBox = useBox;
- Width = width;
- Height = height;
- Depth = depth;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_SUBRESOURCE_TILING : public D3D12_SUBRESOURCE_TILING
-{
- CD3DX12_SUBRESOURCE_TILING() = default;
- explicit CD3DX12_SUBRESOURCE_TILING(const D3D12_SUBRESOURCE_TILING &o) noexcept :
- D3D12_SUBRESOURCE_TILING(o)
- {}
- CD3DX12_SUBRESOURCE_TILING(
- UINT widthInTiles,
- UINT16 heightInTiles,
- UINT16 depthInTiles,
- UINT startTileIndexInOverallResource ) noexcept
- {
- WidthInTiles = widthInTiles;
- HeightInTiles = heightInTiles;
- DepthInTiles = depthInTiles;
- StartTileIndexInOverallResource = startTileIndexInOverallResource;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_TILE_SHAPE : public D3D12_TILE_SHAPE
-{
- CD3DX12_TILE_SHAPE() = default;
- explicit CD3DX12_TILE_SHAPE(const D3D12_TILE_SHAPE &o) noexcept :
- D3D12_TILE_SHAPE(o)
- {}
- CD3DX12_TILE_SHAPE(
- UINT widthInTexels,
- UINT heightInTexels,
- UINT depthInTexels ) noexcept
- {
- WidthInTexels = widthInTexels;
- HeightInTexels = heightInTexels;
- DepthInTexels = depthInTexels;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_PACKED_MIP_INFO : public D3D12_PACKED_MIP_INFO
-{
- CD3DX12_PACKED_MIP_INFO() = default;
- explicit CD3DX12_PACKED_MIP_INFO(const D3D12_PACKED_MIP_INFO &o) noexcept :
- D3D12_PACKED_MIP_INFO(o)
- {}
- CD3DX12_PACKED_MIP_INFO(
- UINT8 numStandardMips,
- UINT8 numPackedMips,
- UINT numTilesForPackedMips,
- UINT startTileIndexInOverallResource ) noexcept
- {
- NumStandardMips = numStandardMips;
- NumPackedMips = numPackedMips;
- NumTilesForPackedMips = numTilesForPackedMips;
- StartTileIndexInOverallResource = startTileIndexInOverallResource;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_SUBRESOURCE_FOOTPRINT : public D3D12_SUBRESOURCE_FOOTPRINT
-{
- CD3DX12_SUBRESOURCE_FOOTPRINT() = default;
- explicit CD3DX12_SUBRESOURCE_FOOTPRINT(const D3D12_SUBRESOURCE_FOOTPRINT &o) noexcept :
- D3D12_SUBRESOURCE_FOOTPRINT(o)
- {}
- CD3DX12_SUBRESOURCE_FOOTPRINT(
- DXGI_FORMAT format,
- UINT width,
- UINT height,
- UINT depth,
- UINT rowPitch ) noexcept
- {
- Format = format;
- Width = width;
- Height = height;
- Depth = depth;
- RowPitch = rowPitch;
- }
- explicit CD3DX12_SUBRESOURCE_FOOTPRINT(
- const D3D12_RESOURCE_DESC& resDesc,
- UINT rowPitch ) noexcept
- {
- Format = resDesc.Format;
- Width = UINT( resDesc.Width );
- Height = resDesc.Height;
- Depth = (resDesc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? resDesc.DepthOrArraySize : 1u);
- RowPitch = rowPitch;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_TEXTURE_COPY_LOCATION : public D3D12_TEXTURE_COPY_LOCATION
-{
- CD3DX12_TEXTURE_COPY_LOCATION() = default;
- explicit CD3DX12_TEXTURE_COPY_LOCATION(const D3D12_TEXTURE_COPY_LOCATION &o) noexcept :
- D3D12_TEXTURE_COPY_LOCATION(o)
- {}
- CD3DX12_TEXTURE_COPY_LOCATION(_In_ ID3D12Resource* pRes) noexcept
- {
- pResource = pRes;
- Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX;
- PlacedFootprint = {};
- }
- CD3DX12_TEXTURE_COPY_LOCATION(_In_ ID3D12Resource* pRes, D3D12_PLACED_SUBRESOURCE_FOOTPRINT const& Footprint) noexcept
- {
- pResource = pRes;
- Type = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT;
- PlacedFootprint = Footprint;
- }
- CD3DX12_TEXTURE_COPY_LOCATION(_In_ ID3D12Resource* pRes, UINT Sub) noexcept
- {
- pResource = pRes;
- Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX;
- PlacedFootprint = {};
- SubresourceIndex = Sub;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-constexpr UINT D3D12CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT PlaneSlice, UINT MipLevels, UINT ArraySize ) noexcept
-{
- return MipSlice + ArraySlice * MipLevels + PlaneSlice * MipLevels * ArraySize;
-}
-
-//------------------------------------------------------------------------------------------------
-inline UINT8 D3D12GetFormatPlaneCount(
- _In_ ID3D12Device* pDevice,
- DXGI_FORMAT Format
- ) noexcept
-{
- D3D12_FEATURE_DATA_FORMAT_INFO formatInfo = { Format, 0 };
- if (FAILED(pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_INFO, &formatInfo, sizeof(formatInfo))))
- {
- return 0;
- }
- return formatInfo.PlaneCount;
-}
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RESOURCE_DESC : public D3D12_RESOURCE_DESC
-{
- CD3DX12_RESOURCE_DESC() = default;
- explicit CD3DX12_RESOURCE_DESC( const D3D12_RESOURCE_DESC& o ) noexcept :
- D3D12_RESOURCE_DESC( o )
- {}
- CD3DX12_RESOURCE_DESC(
- D3D12_RESOURCE_DIMENSION dimension,
- UINT64 alignment,
- UINT64 width,
- UINT height,
- UINT16 depthOrArraySize,
- UINT16 mipLevels,
- DXGI_FORMAT format,
- UINT sampleCount,
- UINT sampleQuality,
- D3D12_TEXTURE_LAYOUT layout,
- D3D12_RESOURCE_FLAGS flags ) noexcept
- {
- Dimension = dimension;
- Alignment = alignment;
- Width = width;
- Height = height;
- DepthOrArraySize = depthOrArraySize;
- MipLevels = mipLevels;
- Format = format;
- SampleDesc.Count = sampleCount;
- SampleDesc.Quality = sampleQuality;
- Layout = layout;
- Flags = flags;
- }
- static inline CD3DX12_RESOURCE_DESC Buffer(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE ) noexcept
- {
- return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_BUFFER, resAllocInfo.Alignment, resAllocInfo.SizeInBytes,
- 1, 1, 1, DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags );
- }
- static inline CD3DX12_RESOURCE_DESC Buffer(
- UINT64 width,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_BUFFER, alignment, width, 1, 1, 1,
- DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags );
- }
- static inline CD3DX12_RESOURCE_DESC Tex1D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT16 arraySize = 1,
- UINT16 mipLevels = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE1D, alignment, width, 1, arraySize,
- mipLevels, format, 1, 0, layout, flags );
- }
- static inline CD3DX12_RESOURCE_DESC Tex2D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT height,
- UINT16 arraySize = 1,
- UINT16 mipLevels = 0,
- UINT sampleCount = 1,
- UINT sampleQuality = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE2D, alignment, width, height, arraySize,
- mipLevels, format, sampleCount, sampleQuality, layout, flags );
- }
- static inline CD3DX12_RESOURCE_DESC Tex3D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT height,
- UINT16 depth,
- UINT16 mipLevels = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE3D, alignment, width, height, depth,
- mipLevels, format, 1, 0, layout, flags );
- }
- inline UINT16 Depth() const noexcept
- { return (Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1u); }
- inline UINT16 ArraySize() const noexcept
- { return (Dimension != D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1u); }
- inline UINT8 PlaneCount(_In_ ID3D12Device* pDevice) const noexcept
- { return D3D12GetFormatPlaneCount(pDevice, Format); }
- inline UINT Subresources(_In_ ID3D12Device* pDevice) const noexcept
- { return static_cast(MipLevels) * ArraySize() * PlaneCount(pDevice); }
- inline UINT CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT PlaneSlice) noexcept
- { return D3D12CalcSubresource(MipSlice, ArraySlice, PlaneSlice, MipLevels, ArraySize()); }
-};
-inline bool operator==( const D3D12_RESOURCE_DESC& l, const D3D12_RESOURCE_DESC& r ) noexcept
-{
- return l.Dimension == r.Dimension &&
- l.Alignment == r.Alignment &&
- l.Width == r.Width &&
- l.Height == r.Height &&
- l.DepthOrArraySize == r.DepthOrArraySize &&
- l.MipLevels == r.MipLevels &&
- l.Format == r.Format &&
- l.SampleDesc.Count == r.SampleDesc.Count &&
- l.SampleDesc.Quality == r.SampleDesc.Quality &&
- l.Layout == r.Layout &&
- l.Flags == r.Flags;
-}
-inline bool operator!=( const D3D12_RESOURCE_DESC& l, const D3D12_RESOURCE_DESC& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RESOURCE_DESC1 : public D3D12_RESOURCE_DESC1
-{
- CD3DX12_RESOURCE_DESC1() = default;
- explicit CD3DX12_RESOURCE_DESC1( const D3D12_RESOURCE_DESC1& o ) noexcept :
- D3D12_RESOURCE_DESC1( o )
- {}
- explicit CD3DX12_RESOURCE_DESC1( const D3D12_RESOURCE_DESC& o ) noexcept
- {
- Dimension = o.Dimension;
- Alignment = o.Alignment;
- Width = o.Width;
- Height = o.Height;
- DepthOrArraySize = o.DepthOrArraySize;
- MipLevels = o.MipLevels;
- Format = o.Format;
- SampleDesc = o.SampleDesc;
- Layout = o.Layout;
- Flags = o.Flags;
- SamplerFeedbackMipRegion = {};
- }
- CD3DX12_RESOURCE_DESC1(
- D3D12_RESOURCE_DIMENSION dimension,
- UINT64 alignment,
- UINT64 width,
- UINT height,
- UINT16 depthOrArraySize,
- UINT16 mipLevels,
- DXGI_FORMAT format,
- UINT sampleCount,
- UINT sampleQuality,
- D3D12_TEXTURE_LAYOUT layout,
- D3D12_RESOURCE_FLAGS flags,
- UINT samplerFeedbackMipRegionWidth = 0,
- UINT samplerFeedbackMipRegionHeight = 0,
- UINT samplerFeedbackMipRegionDepth = 0) noexcept
- {
- Dimension = dimension;
- Alignment = alignment;
- Width = width;
- Height = height;
- DepthOrArraySize = depthOrArraySize;
- MipLevels = mipLevels;
- Format = format;
- SampleDesc.Count = sampleCount;
- SampleDesc.Quality = sampleQuality;
- Layout = layout;
- Flags = flags;
- SamplerFeedbackMipRegion.Width = samplerFeedbackMipRegionWidth;
- SamplerFeedbackMipRegion.Height = samplerFeedbackMipRegionHeight;
- SamplerFeedbackMipRegion.Depth = samplerFeedbackMipRegionDepth;
- }
-
- static inline CD3DX12_RESOURCE_DESC1 Buffer(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE ) noexcept
- {
- return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_BUFFER, resAllocInfo.Alignment, resAllocInfo.SizeInBytes,
- 1, 1, 1, DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags, 0, 0, 0 );
- }
- static inline CD3DX12_RESOURCE_DESC1 Buffer(
- UINT64 width,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_BUFFER, alignment, width, 1, 1, 1,
- DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags, 0, 0, 0 );
- }
- static inline CD3DX12_RESOURCE_DESC1 Tex1D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT16 arraySize = 1,
- UINT16 mipLevels = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_TEXTURE1D, alignment, width, 1, arraySize,
- mipLevels, format, 1, 0, layout, flags, 0, 0, 0 );
- }
- static inline CD3DX12_RESOURCE_DESC1 Tex2D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT height,
- UINT16 arraySize = 1,
- UINT16 mipLevels = 0,
- UINT sampleCount = 1,
- UINT sampleQuality = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0,
- UINT samplerFeedbackMipRegionWidth = 0,
- UINT samplerFeedbackMipRegionHeight = 0,
- UINT samplerFeedbackMipRegionDepth = 0) noexcept
- {
- return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_TEXTURE2D, alignment, width, height, arraySize,
- mipLevels, format, sampleCount, sampleQuality, layout, flags, samplerFeedbackMipRegionWidth,
- samplerFeedbackMipRegionHeight, samplerFeedbackMipRegionDepth );
- }
- static inline CD3DX12_RESOURCE_DESC1 Tex3D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT height,
- UINT16 depth,
- UINT16 mipLevels = 0,
- D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 ) noexcept
- {
- return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_TEXTURE3D, alignment, width, height, depth,
- mipLevels, format, 1, 0, layout, flags, 0, 0, 0 );
- }
- inline UINT16 Depth() const noexcept
- { return (Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1u); }
- inline UINT16 ArraySize() const noexcept
- { return (Dimension != D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1u); }
- inline UINT8 PlaneCount(_In_ ID3D12Device* pDevice) const noexcept
- { return D3D12GetFormatPlaneCount(pDevice, Format); }
- inline UINT Subresources(_In_ ID3D12Device* pDevice) const noexcept
- { return static_cast(MipLevels) * ArraySize() * PlaneCount(pDevice); }
- inline UINT CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT PlaneSlice) noexcept
- { return D3D12CalcSubresource(MipSlice, ArraySlice, PlaneSlice, MipLevels, ArraySize()); }
-};
-inline bool operator==( const D3D12_RESOURCE_DESC1& l, const D3D12_RESOURCE_DESC1& r ) noexcept
-{
- return l.Dimension == r.Dimension &&
- l.Alignment == r.Alignment &&
- l.Width == r.Width &&
- l.Height == r.Height &&
- l.DepthOrArraySize == r.DepthOrArraySize &&
- l.MipLevels == r.MipLevels &&
- l.Format == r.Format &&
- l.SampleDesc.Count == r.SampleDesc.Count &&
- l.SampleDesc.Quality == r.SampleDesc.Quality &&
- l.Layout == r.Layout &&
- l.Flags == r.Flags &&
- l.SamplerFeedbackMipRegion.Width == r.SamplerFeedbackMipRegion.Width &&
- l.SamplerFeedbackMipRegion.Height == r.SamplerFeedbackMipRegion.Height &&
- l.SamplerFeedbackMipRegion.Depth == r.SamplerFeedbackMipRegion.Depth;
-}
-inline bool operator!=( const D3D12_RESOURCE_DESC1& l, const D3D12_RESOURCE_DESC1& r ) noexcept
-{ return !( l == r ); }
-
-//------------------------------------------------------------------------------------------------
-// Fills in the mipmap and alignment values of pDesc when either members are zero
-// Used to replace an implicit field to an explicit (0 mip map = max mip map level)
-// If expansion has occured, returns LclDesc, else returns the original pDesc
-inline const CD3DX12_RESOURCE_DESC1* D3DX12ConditionallyExpandAPIDesc(
- CD3DX12_RESOURCE_DESC1& LclDesc,
- const CD3DX12_RESOURCE_DESC1* pDesc)
-{
- // Expand mip levels:
- if (pDesc->MipLevels == 0 || pDesc->Alignment == 0)
- {
- LclDesc = *pDesc;
- if (pDesc->MipLevels == 0)
- {
- auto MaxMipLevels = [](UINT64 uiMaxDimension) -> UINT16
- {
- UINT16 uiRet = 0;
- while (uiMaxDimension > 0)
- {
- uiRet++;
- uiMaxDimension >>= 1;
- }
- return uiRet;
- };
- auto Max = [](UINT64 const & a, UINT64 const & b)
- {
- return (a < b) ? b : a;
- };
-
- LclDesc.MipLevels = MaxMipLevels(
- Max(LclDesc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? LclDesc.DepthOrArraySize : 1,
- Max(LclDesc.Width, LclDesc.Height)));
- }
- if (pDesc->Alignment == 0)
- {
- if (pDesc->Layout == D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE
- || pDesc->Layout == D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE
- )
- {
- LclDesc.Alignment = D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT;
- }
- else
- {
- LclDesc.Alignment =
- (pDesc->SampleDesc.Count > 1 ? D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT : D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT);
- }
- }
- return &LclDesc;
- }
- else
- {
- return pDesc;
- }
-}
-
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_VIEW_INSTANCING_DESC : public D3D12_VIEW_INSTANCING_DESC
-{
- CD3DX12_VIEW_INSTANCING_DESC() = default;
- explicit CD3DX12_VIEW_INSTANCING_DESC( const D3D12_VIEW_INSTANCING_DESC& o ) noexcept :
- D3D12_VIEW_INSTANCING_DESC( o )
- {}
- explicit CD3DX12_VIEW_INSTANCING_DESC( CD3DX12_DEFAULT ) noexcept
- {
- ViewInstanceCount = 0;
- pViewInstanceLocations = nullptr;
- Flags = D3D12_VIEW_INSTANCING_FLAG_NONE;
- }
- explicit CD3DX12_VIEW_INSTANCING_DESC(
- UINT InViewInstanceCount,
- const D3D12_VIEW_INSTANCE_LOCATION* InViewInstanceLocations,
- D3D12_VIEW_INSTANCING_FLAGS InFlags) noexcept
- {
- ViewInstanceCount = InViewInstanceCount;
- pViewInstanceLocations = InViewInstanceLocations;
- Flags = InFlags;
- }
-};
-
-//------------------------------------------------------------------------------------------------
-struct CD3DX12_RT_FORMAT_ARRAY : public D3D12_RT_FORMAT_ARRAY
-{
- CD3DX12_RT_FORMAT_ARRAY() = default;
- explicit CD3DX12_RT_FORMAT_ARRAY(const D3D12_RT_FORMAT_ARRAY& o) noexcept
- : D3D12_RT_FORMAT_ARRAY(o)
- {}
- explicit CD3DX12_RT_FORMAT_ARRAY(_In_reads_(NumFormats) const DXGI_FORMAT* pFormats, UINT NumFormats) noexcept
- {
- NumRenderTargets = NumFormats;
- memcpy(RTFormats, pFormats, sizeof(RTFormats));
- // assumes ARRAY_SIZE(pFormats) == ARRAY_SIZE(RTFormats)
- }
-};
-
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_default.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_default.h
deleted file mode 100644
index 2b74d70..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_default.h
+++ /dev/null
@@ -1,12 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License (MIT).
-//
-//*********************************************************
-
-#pragma once
-
-struct CD3DX12_DEFAULT {};
-extern const DECLSPEC_SELECTANY CD3DX12_DEFAULT D3D12_DEFAULT;
-
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_pipeline_state_stream.h b/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_pipeline_state_stream.h
deleted file mode 100644
index a3ee813..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_pipeline_state_stream.h
+++ /dev/null
@@ -1,1497 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License (MIT).
-//
-//*********************************************************
-
-#pragma once
-
-#ifndef __cplusplus
-#error D3DX12 requires C++
-#endif
-
-#include "d3dx12_default.h"
-#include "d3d12.h"
-#include "d3dx12_core.h"
-
-//------------------------------------------------------------------------------------------------
-// Pipeline State Stream Helpers
-//------------------------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------------------------
-// Stream Subobjects, i.e. elements of a stream
-
-struct DefaultSampleMask { operator UINT() noexcept { return UINT_MAX; } };
-struct DefaultSampleDesc { operator DXGI_SAMPLE_DESC() noexcept { return DXGI_SAMPLE_DESC{1, 0}; } };
-
-#ifdef _MSC_VER
-#pragma warning(push)
-#pragma warning(disable : 4324)
-#endif
-template
-class alignas(void*) CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT
-{
-private:
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE pssType;
- InnerStructType pssInner;
-public:
- CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT() noexcept : pssType(Type), pssInner(DefaultArg()) {}
- CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT(InnerStructType const& i) noexcept : pssType(Type), pssInner(i) {}
- CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT& operator=(InnerStructType const& i) noexcept { pssType = Type; pssInner = i; return *this; }
- operator InnerStructType const&() const noexcept { return pssInner; }
- operator InnerStructType&() noexcept { return pssInner; }
- InnerStructType* operator&() noexcept { return &pssInner; }
- InnerStructType const* operator&() const noexcept { return &pssInner; }
-};
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_PIPELINE_STATE_FLAGS, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS> CD3DX12_PIPELINE_STATE_STREAM_FLAGS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< UINT, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK> CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< ID3D12RootSignature*, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE> CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_INPUT_LAYOUT_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT> CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_INDEX_BUFFER_STRIP_CUT_VALUE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE> CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_PRIMITIVE_TOPOLOGY_TYPE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY> CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS> CD3DX12_PIPELINE_STATE_STREAM_VS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS> CD3DX12_PIPELINE_STATE_STREAM_GS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_STREAM_OUTPUT_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT> CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS> CD3DX12_PIPELINE_STATE_STREAM_HS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS> CD3DX12_PIPELINE_STATE_STREAM_DS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS> CD3DX12_PIPELINE_STATE_STREAM_PS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS> CD3DX12_PIPELINE_STATE_STREAM_AS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS> CD3DX12_PIPELINE_STATE_STREAM_MS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS> CD3DX12_PIPELINE_STATE_STREAM_CS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_BLEND_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_DEPTH_STENCIL_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_DEPTH_STENCIL_DESC1, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1;
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_DEPTH_STENCIL_DESC2, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL2;
-#endif
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< DXGI_FORMAT, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT> CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_RASTERIZER_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER;
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_RASTERIZER_DESC1, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER1;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610)
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_RASTERIZER_DESC2, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER2;
-#endif
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_RT_FORMAT_ARRAY, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS> CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< DXGI_SAMPLE_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC, DefaultSampleDesc> CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< UINT, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK, DefaultSampleMask> CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_CACHED_PIPELINE_STATE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO> CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO;
-typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_VIEW_INSTANCING_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING;
-
-//------------------------------------------------------------------------------------------------
-// Stream Parser Helpers
-
-struct ID3DX12PipelineParserCallbacks
-{
- // Subobject Callbacks
- virtual void FlagsCb(D3D12_PIPELINE_STATE_FLAGS) {}
- virtual void NodeMaskCb(UINT) {}
- virtual void RootSignatureCb(ID3D12RootSignature*) {}
- virtual void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC&) {}
- virtual void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE) {}
- virtual void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE) {}
- virtual void VSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void GSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC&) {}
- virtual void HSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void DSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void PSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void CSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void ASCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void MSCb(const D3D12_SHADER_BYTECODE&) {}
- virtual void BlendStateCb(const D3D12_BLEND_DESC&) {}
- virtual void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC&) {}
- virtual void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1&) {}
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
- virtual void DepthStencilState2Cb(const D3D12_DEPTH_STENCIL_DESC2&) {}
-#endif
- virtual void DSVFormatCb(DXGI_FORMAT) {}
- virtual void RasterizerStateCb(const D3D12_RASTERIZER_DESC&) {}
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
- virtual void RasterizerState1Cb(const D3D12_RASTERIZER_DESC1&) {}
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610)
- virtual void RasterizerState2Cb(const D3D12_RASTERIZER_DESC2&) {}
-#endif
- virtual void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY&) {}
- virtual void SampleDescCb(const DXGI_SAMPLE_DESC&) {}
- virtual void SampleMaskCb(UINT) {}
- virtual void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC&) {}
- virtual void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE&) {}
-
- // Error Callbacks
- virtual void ErrorBadInputParameter(UINT /*ParameterIndex*/) {}
- virtual void ErrorDuplicateSubobject(D3D12_PIPELINE_STATE_SUBOBJECT_TYPE /*DuplicateType*/) {}
- virtual void ErrorUnknownSubobject(UINT /*UnknownTypeValue*/) {}
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 613)
- virtual void FinalizeCb() {}
-#endif
-
- virtual ~ID3DX12PipelineParserCallbacks() = default;
-};
-
-struct D3DX12_MESH_SHADER_PIPELINE_STATE_DESC
-{
- ID3D12RootSignature* pRootSignature;
- D3D12_SHADER_BYTECODE AS;
- D3D12_SHADER_BYTECODE MS;
- D3D12_SHADER_BYTECODE PS;
- D3D12_BLEND_DESC BlendState;
- UINT SampleMask;
- D3D12_RASTERIZER_DESC RasterizerState;
- D3D12_DEPTH_STENCIL_DESC DepthStencilState;
- D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;
- UINT NumRenderTargets;
- DXGI_FORMAT RTVFormats[ D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ];
- DXGI_FORMAT DSVFormat;
- DXGI_SAMPLE_DESC SampleDesc;
- UINT NodeMask;
- D3D12_CACHED_PIPELINE_STATE CachedPSO;
- D3D12_PIPELINE_STATE_FLAGS Flags;
-};
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610)
-// Use CD3DX12_PIPELINE_STATE_STREAM5 for D3D12_RASTERIZER_DESC2 when CheckFeatureSupport returns true for Options19::RasterizerDesc2Supported is true
-// Use CD3DX12_PIPELINE_STATE_STREAM4 for D3D12_RASTERIZER_DESC1 when CheckFeatureSupport returns true for Options16::DynamicDepthBiasSupported is true
-// Use CD3DX12_PIPELINE_STATE_STREAM3 for D3D12_DEPTH_STENCIL_DESC2 when CheckFeatureSupport returns true for Options14::IndependentFrontAndBackStencilSupported is true
-// Use CD3DX12_PIPELINE_STATE_STREAM2 for OS Build 19041+ (where there is a new mesh shader pipeline).
-// Use CD3DX12_PIPELINE_STATE_STREAM1 for OS Build 16299+ (where there is a new view instancing subobject).
-// Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support.
-struct CD3DX12_PIPELINE_STATE_STREAM5
-{
- CD3DX12_PIPELINE_STATE_STREAM5() = default;
- // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC
- CD3DX12_PIPELINE_STATE_STREAM5(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , InputLayout(Desc.InputLayout)
- , IBStripCutValue(Desc.IBStripCutValue)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , VS(Desc.VS)
- , GS(Desc.GS)
- , StreamOutput(Desc.StreamOutput)
- , HS(Desc.HS)
- , DS(Desc.DS)
- , PS(Desc.PS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC2(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM5(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , PS(Desc.PS)
- , AS(Desc.AS)
- , MS(Desc.MS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC2(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM5(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , CS(CD3DX12_SHADER_BYTECODE(Desc.CS))
- , CachedPSO(Desc.CachedPSO)
- {
- static_cast(DepthStencilState).DepthEnable = false;
- }
- CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags;
- CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask;
- CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
- CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout;
- CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue;
- CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType;
- CD3DX12_PIPELINE_STATE_STREAM_VS VS;
- CD3DX12_PIPELINE_STATE_STREAM_GS GS;
- CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput;
- CD3DX12_PIPELINE_STATE_STREAM_HS HS;
- CD3DX12_PIPELINE_STATE_STREAM_DS DS;
- CD3DX12_PIPELINE_STATE_STREAM_PS PS;
- CD3DX12_PIPELINE_STATE_STREAM_AS AS;
- CD3DX12_PIPELINE_STATE_STREAM_MS MS;
- CD3DX12_PIPELINE_STATE_STREAM_CS CS;
- CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL2 DepthStencilState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
- CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER2 RasterizerState;
- CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask;
- CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO;
- CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc;
-
- D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept
- {
- D3D12_GRAPHICS_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.InputLayout = this->InputLayout;
- D.IBStripCutValue = this->IBStripCutValue;
- D.PrimitiveTopologyType = this->PrimitiveTopologyType;
- D.VS = this->VS;
- D.GS = this->GS;
- D.StreamOutput = this->StreamOutput;
- D.HS = this->HS;
- D.DS = this->DS;
- D.PS = this->PS;
- D.BlendState = this->BlendState;
- D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(D3D12_DEPTH_STENCIL_DESC2(this->DepthStencilState));
- D.DSVFormat = this->DSVFormat;
- D.RasterizerState = CD3DX12_RASTERIZER_DESC2(D3D12_RASTERIZER_DESC2(this->RasterizerState));
- D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets;
- memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats));
- D.SampleDesc = this->SampleDesc;
- D.SampleMask = this->SampleMask;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
- D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept
- {
- D3D12_COMPUTE_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.CS = this->CS;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
-};
-#endif // D3D12_SDK_VERSION >= 610
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
-// Use CD3DX12_PIPELINE_STATE_STREAM4 for D3D12_RASTERIZER_DESC1 when CheckFeatureSupport returns true for Options16::DynamicDepthBiasSupported is true
-// Use CD3DX12_PIPELINE_STATE_STREAM3 for D3D12_DEPTH_STENCIL_DESC2 when CheckFeatureSupport returns true for Options14::IndependentFrontAndBackStencilSupported is true
-// Use CD3DX12_PIPELINE_STATE_STREAM2 for OS Build 19041+ (where there is a new mesh shader pipeline).
-// Use CD3DX12_PIPELINE_STATE_STREAM1 for OS Build 16299+ (where there is a new view instancing subobject).
-// Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support.
-struct CD3DX12_PIPELINE_STATE_STREAM4
-{
- CD3DX12_PIPELINE_STATE_STREAM4() = default;
- // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC
- CD3DX12_PIPELINE_STATE_STREAM4(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , InputLayout(Desc.InputLayout)
- , IBStripCutValue(Desc.IBStripCutValue)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , VS(Desc.VS)
- , GS(Desc.GS)
- , StreamOutput(Desc.StreamOutput)
- , HS(Desc.HS)
- , DS(Desc.DS)
- , PS(Desc.PS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC1(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM4(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , PS(Desc.PS)
- , AS(Desc.AS)
- , MS(Desc.MS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC1(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM4(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , CS(CD3DX12_SHADER_BYTECODE(Desc.CS))
- , CachedPSO(Desc.CachedPSO)
- {
- static_cast(DepthStencilState).DepthEnable = false;
- }
- CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags;
- CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask;
- CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
- CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout;
- CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue;
- CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType;
- CD3DX12_PIPELINE_STATE_STREAM_VS VS;
- CD3DX12_PIPELINE_STATE_STREAM_GS GS;
- CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput;
- CD3DX12_PIPELINE_STATE_STREAM_HS HS;
- CD3DX12_PIPELINE_STATE_STREAM_DS DS;
- CD3DX12_PIPELINE_STATE_STREAM_PS PS;
- CD3DX12_PIPELINE_STATE_STREAM_AS AS;
- CD3DX12_PIPELINE_STATE_STREAM_MS MS;
- CD3DX12_PIPELINE_STATE_STREAM_CS CS;
- CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL2 DepthStencilState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
- CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER1 RasterizerState;
- CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask;
- CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO;
- CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc;
-
- D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept
- {
- D3D12_GRAPHICS_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.InputLayout = this->InputLayout;
- D.IBStripCutValue = this->IBStripCutValue;
- D.PrimitiveTopologyType = this->PrimitiveTopologyType;
- D.VS = this->VS;
- D.GS = this->GS;
- D.StreamOutput = this->StreamOutput;
- D.HS = this->HS;
- D.DS = this->DS;
- D.PS = this->PS;
- D.BlendState = this->BlendState;
- D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(D3D12_DEPTH_STENCIL_DESC2(this->DepthStencilState));
- D.DSVFormat = this->DSVFormat;
- D.RasterizerState = CD3DX12_RASTERIZER_DESC1(D3D12_RASTERIZER_DESC1(this->RasterizerState));
- D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets;
- memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats));
- D.SampleDesc = this->SampleDesc;
- D.SampleMask = this->SampleMask;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
- D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept
- {
- D3D12_COMPUTE_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.CS = this->CS;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
-};
-#endif // D3D12_SDK_VERSION >= 608
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
-// Use CD3DX12_PIPELINE_STATE_STREAM3 for D3D12_DEPTH_STENCIL_DESC2 when CheckFeatureSupport returns true for Options14::IndependentFrontAndBackStencilSupported is true
-// Use CD3DX12_PIPELINE_STATE_STREAM2 for OS Build 19041+ (where there is a new mesh shader pipeline).
-// Use CD3DX12_PIPELINE_STATE_STREAM1 for OS Build 16299+ (where there is a new view instancing subobject).
-// Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support.
-struct CD3DX12_PIPELINE_STATE_STREAM3
-{
- CD3DX12_PIPELINE_STATE_STREAM3() = default;
- // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC
- CD3DX12_PIPELINE_STATE_STREAM3(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , InputLayout(Desc.InputLayout)
- , IBStripCutValue(Desc.IBStripCutValue)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , VS(Desc.VS)
- , GS(Desc.GS)
- , StreamOutput(Desc.StreamOutput)
- , HS(Desc.HS)
- , DS(Desc.DS)
- , PS(Desc.PS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM3(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , PS(Desc.PS)
- , AS(Desc.AS)
- , MS(Desc.MS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM3(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , CS(CD3DX12_SHADER_BYTECODE(Desc.CS))
- , CachedPSO(Desc.CachedPSO)
- {
- static_cast(DepthStencilState).DepthEnable = false;
- }
- CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags;
- CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask;
- CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
- CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout;
- CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue;
- CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType;
- CD3DX12_PIPELINE_STATE_STREAM_VS VS;
- CD3DX12_PIPELINE_STATE_STREAM_GS GS;
- CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput;
- CD3DX12_PIPELINE_STATE_STREAM_HS HS;
- CD3DX12_PIPELINE_STATE_STREAM_DS DS;
- CD3DX12_PIPELINE_STATE_STREAM_PS PS;
- CD3DX12_PIPELINE_STATE_STREAM_AS AS;
- CD3DX12_PIPELINE_STATE_STREAM_MS MS;
- CD3DX12_PIPELINE_STATE_STREAM_CS CS;
- CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL2 DepthStencilState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
- CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState;
- CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask;
- CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO;
- CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc;
-
- D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept
- {
- D3D12_GRAPHICS_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.InputLayout = this->InputLayout;
- D.IBStripCutValue = this->IBStripCutValue;
- D.PrimitiveTopologyType = this->PrimitiveTopologyType;
- D.VS = this->VS;
- D.GS = this->GS;
- D.StreamOutput = this->StreamOutput;
- D.HS = this->HS;
- D.DS = this->DS;
- D.PS = this->PS;
- D.BlendState = this->BlendState;
- D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(D3D12_DEPTH_STENCIL_DESC2(this->DepthStencilState));
- D.DSVFormat = this->DSVFormat;
- D.RasterizerState = this->RasterizerState;
- D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets;
- memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats));
- D.SampleDesc = this->SampleDesc;
- D.SampleMask = this->SampleMask;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
- D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept
- {
- D3D12_COMPUTE_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.CS = this->CS;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
-};
-#endif // D3D12_SDK_VERSION >= 606
-
-// CD3DX12_PIPELINE_STATE_STREAM2 Works on OS Build 19041+ (where there is a new mesh shader pipeline).
-// Use CD3DX12_PIPELINE_STATE_STREAM1 for OS Build 16299+ (where there is a new view instancing subobject).
-// Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support.
-struct CD3DX12_PIPELINE_STATE_STREAM2
-{
- CD3DX12_PIPELINE_STATE_STREAM2() = default;
- // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC
- CD3DX12_PIPELINE_STATE_STREAM2(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , InputLayout(Desc.InputLayout)
- , IBStripCutValue(Desc.IBStripCutValue)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , VS(Desc.VS)
- , GS(Desc.GS)
- , StreamOutput(Desc.StreamOutput)
- , HS(Desc.HS)
- , DS(Desc.DS)
- , PS(Desc.PS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM2(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , PS(Desc.PS)
- , AS(Desc.AS)
- , MS(Desc.MS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM2(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , CS(CD3DX12_SHADER_BYTECODE(Desc.CS))
- , CachedPSO(Desc.CachedPSO)
- {
- static_cast(DepthStencilState).DepthEnable = false;
- }
- CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags;
- CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask;
- CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
- CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout;
- CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue;
- CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType;
- CD3DX12_PIPELINE_STATE_STREAM_VS VS;
- CD3DX12_PIPELINE_STATE_STREAM_GS GS;
- CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput;
- CD3DX12_PIPELINE_STATE_STREAM_HS HS;
- CD3DX12_PIPELINE_STATE_STREAM_DS DS;
- CD3DX12_PIPELINE_STATE_STREAM_PS PS;
- CD3DX12_PIPELINE_STATE_STREAM_AS AS;
- CD3DX12_PIPELINE_STATE_STREAM_MS MS;
- CD3DX12_PIPELINE_STATE_STREAM_CS CS;
- CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
- CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState;
- CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask;
- CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO;
- CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc;
- D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept
- {
- D3D12_GRAPHICS_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.InputLayout = this->InputLayout;
- D.IBStripCutValue = this->IBStripCutValue;
- D.PrimitiveTopologyType = this->PrimitiveTopologyType;
- D.VS = this->VS;
- D.GS = this->GS;
- D.StreamOutput = this->StreamOutput;
- D.HS = this->HS;
- D.DS = this->DS;
- D.PS = this->PS;
- D.BlendState = this->BlendState;
- D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState));
- D.DSVFormat = this->DSVFormat;
- D.RasterizerState = this->RasterizerState;
- D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets;
- memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats));
- D.SampleDesc = this->SampleDesc;
- D.SampleMask = this->SampleMask;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
- D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept
- {
- D3D12_COMPUTE_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.CS = this->CS;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
-};
-
-// CD3DX12_PIPELINE_STATE_STREAM1 Works on OS Build 16299+ (where there is a new view instancing subobject).
-// Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support.
-struct CD3DX12_PIPELINE_STATE_STREAM1
-{
- CD3DX12_PIPELINE_STATE_STREAM1() = default;
- // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC
- CD3DX12_PIPELINE_STATE_STREAM1(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , InputLayout(Desc.InputLayout)
- , IBStripCutValue(Desc.IBStripCutValue)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , VS(Desc.VS)
- , GS(Desc.GS)
- , StreamOutput(Desc.StreamOutput)
- , HS(Desc.HS)
- , DS(Desc.DS)
- , PS(Desc.PS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM1(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , PS(Desc.PS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM1(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , CS(CD3DX12_SHADER_BYTECODE(Desc.CS))
- , CachedPSO(Desc.CachedPSO)
- {
- static_cast(DepthStencilState).DepthEnable = false;
- }
- CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags;
- CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask;
- CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
- CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout;
- CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue;
- CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType;
- CD3DX12_PIPELINE_STATE_STREAM_VS VS;
- CD3DX12_PIPELINE_STATE_STREAM_GS GS;
- CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput;
- CD3DX12_PIPELINE_STATE_STREAM_HS HS;
- CD3DX12_PIPELINE_STATE_STREAM_DS DS;
- CD3DX12_PIPELINE_STATE_STREAM_PS PS;
- CD3DX12_PIPELINE_STATE_STREAM_CS CS;
- CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
- CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState;
- CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask;
- CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO;
- CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc;
- D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept
- {
- D3D12_GRAPHICS_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.InputLayout = this->InputLayout;
- D.IBStripCutValue = this->IBStripCutValue;
- D.PrimitiveTopologyType = this->PrimitiveTopologyType;
- D.VS = this->VS;
- D.GS = this->GS;
- D.StreamOutput = this->StreamOutput;
- D.HS = this->HS;
- D.DS = this->DS;
- D.PS = this->PS;
- D.BlendState = this->BlendState;
- D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState));
- D.DSVFormat = this->DSVFormat;
- D.RasterizerState = this->RasterizerState;
- D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets;
- memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats));
- D.SampleDesc = this->SampleDesc;
- D.SampleMask = this->SampleMask;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
- D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept
- {
- D3D12_COMPUTE_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.CS = this->CS;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
-};
-
-
-struct CD3DX12_PIPELINE_MESH_STATE_STREAM
-{
- CD3DX12_PIPELINE_MESH_STATE_STREAM() = default;
- CD3DX12_PIPELINE_MESH_STATE_STREAM(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , PS(Desc.PS)
- , AS(Desc.AS)
- , MS(Desc.MS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT()))
- {}
- CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags;
- CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask;
- CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
- CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType;
- CD3DX12_PIPELINE_STATE_STREAM_PS PS;
- CD3DX12_PIPELINE_STATE_STREAM_AS AS;
- CD3DX12_PIPELINE_STATE_STREAM_MS MS;
- CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
- CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState;
- CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask;
- CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO;
- CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc;
- D3DX12_MESH_SHADER_PIPELINE_STATE_DESC MeshShaderDescV0() const noexcept
- {
- D3DX12_MESH_SHADER_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.PrimitiveTopologyType = this->PrimitiveTopologyType;
- D.PS = this->PS;
- D.AS = this->AS;
- D.MS = this->MS;
- D.BlendState = this->BlendState;
- D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState));
- D.DSVFormat = this->DSVFormat;
- D.RasterizerState = this->RasterizerState;
- D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets;
- memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats));
- D.SampleDesc = this->SampleDesc;
- D.SampleMask = this->SampleMask;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
-};
-
-// CD3DX12_PIPELINE_STATE_STREAM works on OS Build 15063+ but does not support new subobject(s) added in OS Build 16299+.
-// See CD3DX12_PIPELINE_STATE_STREAM1 for instance.
-struct CD3DX12_PIPELINE_STATE_STREAM
-{
- CD3DX12_PIPELINE_STATE_STREAM() = default;
- CD3DX12_PIPELINE_STATE_STREAM(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , InputLayout(Desc.InputLayout)
- , IBStripCutValue(Desc.IBStripCutValue)
- , PrimitiveTopologyType(Desc.PrimitiveTopologyType)
- , VS(Desc.VS)
- , GS(Desc.GS)
- , StreamOutput(Desc.StreamOutput)
- , HS(Desc.HS)
- , DS(Desc.DS)
- , PS(Desc.PS)
- , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState))
- , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState))
- , DSVFormat(Desc.DSVFormat)
- , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState))
- , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets))
- , SampleDesc(Desc.SampleDesc)
- , SampleMask(Desc.SampleMask)
- , CachedPSO(Desc.CachedPSO)
- {}
- CD3DX12_PIPELINE_STATE_STREAM(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept
- : Flags(Desc.Flags)
- , NodeMask(Desc.NodeMask)
- , pRootSignature(Desc.pRootSignature)
- , CS(CD3DX12_SHADER_BYTECODE(Desc.CS))
- , CachedPSO(Desc.CachedPSO)
- {}
- CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags;
- CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask;
- CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
- CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout;
- CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue;
- CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType;
- CD3DX12_PIPELINE_STATE_STREAM_VS VS;
- CD3DX12_PIPELINE_STATE_STREAM_GS GS;
- CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput;
- CD3DX12_PIPELINE_STATE_STREAM_HS HS;
- CD3DX12_PIPELINE_STATE_STREAM_DS DS;
- CD3DX12_PIPELINE_STATE_STREAM_PS PS;
- CD3DX12_PIPELINE_STATE_STREAM_CS CS;
- CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState;
- CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
- CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState;
- CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc;
- CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask;
- CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO;
- D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept
- {
- D3D12_GRAPHICS_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.InputLayout = this->InputLayout;
- D.IBStripCutValue = this->IBStripCutValue;
- D.PrimitiveTopologyType = this->PrimitiveTopologyType;
- D.VS = this->VS;
- D.GS = this->GS;
- D.StreamOutput = this->StreamOutput;
- D.HS = this->HS;
- D.DS = this->DS;
- D.PS = this->PS;
- D.BlendState = this->BlendState;
- D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState));
- D.DSVFormat = this->DSVFormat;
- D.RasterizerState = this->RasterizerState;
- D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets;
- memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats));
- D.SampleDesc = this->SampleDesc;
- D.SampleMask = this->SampleMask;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
- D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept
- {
- D3D12_COMPUTE_PIPELINE_STATE_DESC D;
- D.Flags = this->Flags;
- D.NodeMask = this->NodeMask;
- D.pRootSignature = this->pRootSignature;
- D.CS = this->CS;
- D.CachedPSO = this->CachedPSO;
- return D;
- }
-};
-
-struct CD3DX12_PIPELINE_STATE_STREAM2_PARSE_HELPER : public ID3DX12PipelineParserCallbacks
-{
- CD3DX12_PIPELINE_STATE_STREAM2 PipelineStream;
- CD3DX12_PIPELINE_STATE_STREAM2_PARSE_HELPER() noexcept
- : SeenDSS(false)
- {
- // Adjust defaults to account for absent members.
- PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
-
- // Depth disabled if no DSV format specified.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = false;
- }
-
- // ID3DX12PipelineParserCallbacks
- void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override {PipelineStream.Flags = Flags;}
- void NodeMaskCb(UINT NodeMask) override {PipelineStream.NodeMask = NodeMask;}
- void RootSignatureCb(ID3D12RootSignature* pRootSignature) override {PipelineStream.pRootSignature = pRootSignature;}
- void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override {PipelineStream.InputLayout = InputLayout;}
- void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override {PipelineStream.IBStripCutValue = IBStripCutValue;}
- void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override {PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType;}
- void VSCb(const D3D12_SHADER_BYTECODE& VS) override {PipelineStream.VS = VS;}
- void GSCb(const D3D12_SHADER_BYTECODE& GS) override {PipelineStream.GS = GS;}
- void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override {PipelineStream.StreamOutput = StreamOutput;}
- void HSCb(const D3D12_SHADER_BYTECODE& HS) override {PipelineStream.HS = HS;}
- void DSCb(const D3D12_SHADER_BYTECODE& DS) override {PipelineStream.DS = DS;}
- void PSCb(const D3D12_SHADER_BYTECODE& PS) override {PipelineStream.PS = PS;}
- void CSCb(const D3D12_SHADER_BYTECODE& CS) override {PipelineStream.CS = CS;}
- void ASCb(const D3D12_SHADER_BYTECODE& AS) override {PipelineStream.AS = AS;}
- void MSCb(const D3D12_SHADER_BYTECODE& MS) override {PipelineStream.MS = MS;}
- void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override {PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState);}
- void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState);
- SeenDSS = true;
- }
- void DSVFormatCb(DXGI_FORMAT DSVFormat) override
- {
- PipelineStream.DSVFormat = DSVFormat;
- if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN)
- {
- // Re-enable depth for the default state.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = true;
- }
- }
- void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override {PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC(RasterizerState);}
- void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override {PipelineStream.RTVFormats = RTVFormats;}
- void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override {PipelineStream.SampleDesc = SampleDesc;}
- void SampleMaskCb(UINT SampleMask) override {PipelineStream.SampleMask = SampleMask;}
- void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override {PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc);}
- void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override {PipelineStream.CachedPSO = CachedPSO;}
-
-private:
- bool SeenDSS;
-};
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
-struct CD3DX12_PIPELINE_STATE_STREAM3_PARSE_HELPER : public ID3DX12PipelineParserCallbacks
-{
- CD3DX12_PIPELINE_STATE_STREAM3 PipelineStream;
- CD3DX12_PIPELINE_STATE_STREAM3_PARSE_HELPER() noexcept
- : SeenDSS(false)
- {
- // Adjust defaults to account for absent members.
- PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
-
- // Depth disabled if no DSV format specified.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = false;
- }
-
- // ID3DX12PipelineParserCallbacks
- void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override { PipelineStream.Flags = Flags; }
- void NodeMaskCb(UINT NodeMask) override { PipelineStream.NodeMask = NodeMask; }
- void RootSignatureCb(ID3D12RootSignature* pRootSignature) override { PipelineStream.pRootSignature = pRootSignature; }
- void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override { PipelineStream.InputLayout = InputLayout; }
- void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override { PipelineStream.IBStripCutValue = IBStripCutValue; }
- void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override { PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType; }
- void VSCb(const D3D12_SHADER_BYTECODE& VS) override { PipelineStream.VS = VS; }
- void GSCb(const D3D12_SHADER_BYTECODE& GS) override { PipelineStream.GS = GS; }
- void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override { PipelineStream.StreamOutput = StreamOutput; }
- void HSCb(const D3D12_SHADER_BYTECODE& HS) override { PipelineStream.HS = HS; }
- void DSCb(const D3D12_SHADER_BYTECODE& DS) override { PipelineStream.DS = DS; }
- void PSCb(const D3D12_SHADER_BYTECODE& PS) override { PipelineStream.PS = PS; }
- void CSCb(const D3D12_SHADER_BYTECODE& CS) override { PipelineStream.CS = CS; }
- void ASCb(const D3D12_SHADER_BYTECODE& AS) override { PipelineStream.AS = AS; }
- void MSCb(const D3D12_SHADER_BYTECODE& MS) override { PipelineStream.MS = MS; }
- void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override { PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState); }
- void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState2Cb(const D3D12_DEPTH_STENCIL_DESC2& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DSVFormatCb(DXGI_FORMAT DSVFormat) override
- {
- PipelineStream.DSVFormat = DSVFormat;
- if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN)
- {
- // Re-enable depth for the default state.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = true;
- }
- }
- void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC(RasterizerState); }
- void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override { PipelineStream.RTVFormats = RTVFormats; }
- void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override { PipelineStream.SampleDesc = SampleDesc; }
- void SampleMaskCb(UINT SampleMask) override { PipelineStream.SampleMask = SampleMask; }
- void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override { PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc); }
- void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override { PipelineStream.CachedPSO = CachedPSO; }
-
-private:
- bool SeenDSS;
-};
-#endif // D3D12_SDK_VERSION >= 606
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
-struct CD3DX12_PIPELINE_STATE_STREAM4_PARSE_HELPER : public ID3DX12PipelineParserCallbacks
-{
- CD3DX12_PIPELINE_STATE_STREAM4 PipelineStream;
- CD3DX12_PIPELINE_STATE_STREAM4_PARSE_HELPER() noexcept
- : SeenDSS(false)
- {
- // Adjust defaults to account for absent members.
- PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
-
- // Depth disabled if no DSV format specified.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = false;
- }
-
- // ID3DX12PipelineParserCallbacks
- void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override { PipelineStream.Flags = Flags; }
- void NodeMaskCb(UINT NodeMask) override { PipelineStream.NodeMask = NodeMask; }
- void RootSignatureCb(ID3D12RootSignature* pRootSignature) override { PipelineStream.pRootSignature = pRootSignature; }
- void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override { PipelineStream.InputLayout = InputLayout; }
- void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override { PipelineStream.IBStripCutValue = IBStripCutValue; }
- void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override { PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType; }
- void VSCb(const D3D12_SHADER_BYTECODE& VS) override { PipelineStream.VS = VS; }
- void GSCb(const D3D12_SHADER_BYTECODE& GS) override { PipelineStream.GS = GS; }
- void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override { PipelineStream.StreamOutput = StreamOutput; }
- void HSCb(const D3D12_SHADER_BYTECODE& HS) override { PipelineStream.HS = HS; }
- void DSCb(const D3D12_SHADER_BYTECODE& DS) override { PipelineStream.DS = DS; }
- void PSCb(const D3D12_SHADER_BYTECODE& PS) override { PipelineStream.PS = PS; }
- void CSCb(const D3D12_SHADER_BYTECODE& CS) override { PipelineStream.CS = CS; }
- void ASCb(const D3D12_SHADER_BYTECODE& AS) override { PipelineStream.AS = AS; }
- void MSCb(const D3D12_SHADER_BYTECODE& MS) override { PipelineStream.MS = MS; }
- void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override { PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState); }
- void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState2Cb(const D3D12_DEPTH_STENCIL_DESC2& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DSVFormatCb(DXGI_FORMAT DSVFormat) override
- {
- PipelineStream.DSVFormat = DSVFormat;
- if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN)
- {
- // Re-enable depth for the default state.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = true;
- }
- }
- void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC1(RasterizerState); }
- void RasterizerState1Cb(const D3D12_RASTERIZER_DESC1& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC1(RasterizerState); }
- void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override { PipelineStream.RTVFormats = RTVFormats; }
- void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override { PipelineStream.SampleDesc = SampleDesc; }
- void SampleMaskCb(UINT SampleMask) override { PipelineStream.SampleMask = SampleMask; }
- void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override { PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc); }
- void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override { PipelineStream.CachedPSO = CachedPSO; }
-
-private:
- bool SeenDSS;
-};
-#endif // D3D12_SDK_VERSION >= 608
-
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 613)
-// This SDK 613 version has better primitive topology default handling than the v610 equivalent below.
-struct CD3DX12_PIPELINE_STATE_STREAM5_PARSE_HELPER : public ID3DX12PipelineParserCallbacks
-{
- CD3DX12_PIPELINE_STATE_STREAM5 PipelineStream;
- CD3DX12_PIPELINE_STATE_STREAM5_PARSE_HELPER() noexcept
- : SeenDSS(false),
- SeenMS(false),
- SeenTopology(false)
- {
- // Adjust defaults to account for absent members.
- PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
-
- // Depth disabled if no DSV format specified.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = false;
- }
-
- // ID3DX12PipelineParserCallbacks
- void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override { PipelineStream.Flags = Flags; }
- void NodeMaskCb(UINT NodeMask) override { PipelineStream.NodeMask = NodeMask; }
- void RootSignatureCb(ID3D12RootSignature* pRootSignature) override { PipelineStream.pRootSignature = pRootSignature; }
- void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override { PipelineStream.InputLayout = InputLayout; }
- void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override { PipelineStream.IBStripCutValue = IBStripCutValue; }
- void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override
- {
- PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType;
- SeenTopology = true;
- }
- void VSCb(const D3D12_SHADER_BYTECODE& VS) override { PipelineStream.VS = VS; }
- void GSCb(const D3D12_SHADER_BYTECODE& GS) override { PipelineStream.GS = GS; }
- void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override { PipelineStream.StreamOutput = StreamOutput; }
- void HSCb(const D3D12_SHADER_BYTECODE& HS) override { PipelineStream.HS = HS; }
- void DSCb(const D3D12_SHADER_BYTECODE& DS) override { PipelineStream.DS = DS; }
- void PSCb(const D3D12_SHADER_BYTECODE& PS) override { PipelineStream.PS = PS; }
- void CSCb(const D3D12_SHADER_BYTECODE& CS) override { PipelineStream.CS = CS; }
- void ASCb(const D3D12_SHADER_BYTECODE& AS) override { PipelineStream.AS = AS; }
- void MSCb(const D3D12_SHADER_BYTECODE& MS) override { PipelineStream.MS = MS; SeenMS = true; }
- void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override { PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState); }
- void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState2Cb(const D3D12_DEPTH_STENCIL_DESC2& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DSVFormatCb(DXGI_FORMAT DSVFormat) override {PipelineStream.DSVFormat = DSVFormat;}
- void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); }
- void RasterizerState1Cb(const D3D12_RASTERIZER_DESC1& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); }
- void RasterizerState2Cb(const D3D12_RASTERIZER_DESC2& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); }
- void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override { PipelineStream.RTVFormats = RTVFormats; }
- void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override { PipelineStream.SampleDesc = SampleDesc; }
- void SampleMaskCb(UINT SampleMask) override { PipelineStream.SampleMask = SampleMask; }
- void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override { PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc); }
- void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override { PipelineStream.CachedPSO = CachedPSO; }
- void FinalizeCb() override
- {
- if (!SeenDSS && PipelineStream.DSVFormat != DXGI_FORMAT_UNKNOWN)
- {
- // Re-enable depth for the default state.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = true;
- }
- if (!SeenTopology && SeenMS)
- {
- PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED;
- }
- }
-
-private:
- bool SeenDSS;
- bool SeenMS;
- bool SeenTopology;
-};
-#elif defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610)
-struct CD3DX12_PIPELINE_STATE_STREAM5_PARSE_HELPER : public ID3DX12PipelineParserCallbacks
-{
- CD3DX12_PIPELINE_STATE_STREAM5 PipelineStream;
- CD3DX12_PIPELINE_STATE_STREAM5_PARSE_HELPER() noexcept
- : SeenDSS(false)
- {
- // Adjust defaults to account for absent members.
- PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
-
- // Depth disabled if no DSV format specified.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = false;
- }
-
- // ID3DX12PipelineParserCallbacks
- void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override { PipelineStream.Flags = Flags; }
- void NodeMaskCb(UINT NodeMask) override { PipelineStream.NodeMask = NodeMask; }
- void RootSignatureCb(ID3D12RootSignature* pRootSignature) override { PipelineStream.pRootSignature = pRootSignature; }
- void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override { PipelineStream.InputLayout = InputLayout; }
- void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override { PipelineStream.IBStripCutValue = IBStripCutValue; }
- void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override { PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType; }
- void VSCb(const D3D12_SHADER_BYTECODE& VS) override { PipelineStream.VS = VS; }
- void GSCb(const D3D12_SHADER_BYTECODE& GS) override { PipelineStream.GS = GS; }
- void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override { PipelineStream.StreamOutput = StreamOutput; }
- void HSCb(const D3D12_SHADER_BYTECODE& HS) override { PipelineStream.HS = HS; }
- void DSCb(const D3D12_SHADER_BYTECODE& DS) override { PipelineStream.DS = DS; }
- void PSCb(const D3D12_SHADER_BYTECODE& PS) override { PipelineStream.PS = PS; }
- void CSCb(const D3D12_SHADER_BYTECODE& CS) override { PipelineStream.CS = CS; }
- void ASCb(const D3D12_SHADER_BYTECODE& AS) override { PipelineStream.AS = AS; }
- void MSCb(const D3D12_SHADER_BYTECODE& MS) override { PipelineStream.MS = MS; }
- void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override { PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState); }
- void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState2Cb(const D3D12_DEPTH_STENCIL_DESC2& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState);
- SeenDSS = true;
- }
- void DSVFormatCb(DXGI_FORMAT DSVFormat) override
- {
- PipelineStream.DSVFormat = DSVFormat;
- if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN)
- {
- // Re-enable depth for the default state.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = true;
- }
- }
- void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); }
- void RasterizerState1Cb(const D3D12_RASTERIZER_DESC1& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); }
- void RasterizerState2Cb(const D3D12_RASTERIZER_DESC2& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); }
- void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override { PipelineStream.RTVFormats = RTVFormats; }
- void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override { PipelineStream.SampleDesc = SampleDesc; }
- void SampleMaskCb(UINT SampleMask) override { PipelineStream.SampleMask = SampleMask; }
- void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override { PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc); }
- void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override { PipelineStream.CachedPSO = CachedPSO; }
-
-private:
- bool SeenDSS;
-};
-#endif // D3D12_SDK_VERSION >= 610
-
-struct CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER : public ID3DX12PipelineParserCallbacks
-{
- CD3DX12_PIPELINE_STATE_STREAM1 PipelineStream;
- CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER() noexcept
- : SeenDSS(false)
- {
- // Adjust defaults to account for absent members.
- PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
-
- // Depth disabled if no DSV format specified.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = false;
- }
-
- // ID3DX12PipelineParserCallbacks
- void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override {PipelineStream.Flags = Flags;}
- void NodeMaskCb(UINT NodeMask) override {PipelineStream.NodeMask = NodeMask;}
- void RootSignatureCb(ID3D12RootSignature* pRootSignature) override {PipelineStream.pRootSignature = pRootSignature;}
- void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override {PipelineStream.InputLayout = InputLayout;}
- void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override {PipelineStream.IBStripCutValue = IBStripCutValue;}
- void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override {PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType;}
- void VSCb(const D3D12_SHADER_BYTECODE& VS) override {PipelineStream.VS = VS;}
- void GSCb(const D3D12_SHADER_BYTECODE& GS) override {PipelineStream.GS = GS;}
- void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override {PipelineStream.StreamOutput = StreamOutput;}
- void HSCb(const D3D12_SHADER_BYTECODE& HS) override {PipelineStream.HS = HS;}
- void DSCb(const D3D12_SHADER_BYTECODE& DS) override {PipelineStream.DS = DS;}
- void PSCb(const D3D12_SHADER_BYTECODE& PS) override {PipelineStream.PS = PS;}
- void CSCb(const D3D12_SHADER_BYTECODE& CS) override {PipelineStream.CS = CS;}
- void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override {PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState);}
- void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState);
- SeenDSS = true;
- }
- void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override
- {
- PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState);
- SeenDSS = true;
- }
- void DSVFormatCb(DXGI_FORMAT DSVFormat) override
- {
- PipelineStream.DSVFormat = DSVFormat;
- if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN)
- {
- // Re-enable depth for the default state.
- static_cast(PipelineStream.DepthStencilState).DepthEnable = true;
- }
- }
- void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override {PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC(RasterizerState);}
- void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override {PipelineStream.RTVFormats = RTVFormats;}
- void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override {PipelineStream.SampleDesc = SampleDesc;}
- void SampleMaskCb(UINT SampleMask) override {PipelineStream.SampleMask = SampleMask;}
- void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override {PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc);}
- void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override {PipelineStream.CachedPSO = CachedPSO;}
-
-private:
- bool SeenDSS;
-};
-
-inline D3D12_PIPELINE_STATE_SUBOBJECT_TYPE D3DX12GetBaseSubobjectType(D3D12_PIPELINE_STATE_SUBOBJECT_TYPE SubobjectType) noexcept
-{
- switch (SubobjectType)
- {
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1:
- return D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL;
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2:
- return D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1:
- return D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER;
-#endif
- default:
- return SubobjectType;
- }
-}
-
-inline HRESULT D3DX12ParsePipelineStream(const D3D12_PIPELINE_STATE_STREAM_DESC& Desc, ID3DX12PipelineParserCallbacks* pCallbacks)
-{
- if (pCallbacks == nullptr)
- {
- return E_INVALIDARG;
- }
-
- if (Desc.SizeInBytes == 0 || Desc.pPipelineStateSubobjectStream == nullptr)
- {
- pCallbacks->ErrorBadInputParameter(1); // first parameter issue
- return E_INVALIDARG;
- }
-
- bool SubobjectSeen[D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID] = {};
- for (SIZE_T CurOffset = 0, SizeOfSubobject = 0; CurOffset < Desc.SizeInBytes; CurOffset += SizeOfSubobject)
- {
- BYTE* pStream = static_cast(Desc.pPipelineStateSubobjectStream)+CurOffset;
- auto SubobjectType = *reinterpret_cast(pStream);
- if (SubobjectType < 0 || SubobjectType >= D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID)
- {
- pCallbacks->ErrorUnknownSubobject(SubobjectType);
- return E_INVALIDARG;
- }
- if (SubobjectSeen[D3DX12GetBaseSubobjectType(SubobjectType)])
- {
- pCallbacks->ErrorDuplicateSubobject(SubobjectType);
- return E_INVALIDARG; // disallow subobject duplicates in a stream
- }
- SubobjectSeen[SubobjectType] = true;
- switch (SubobjectType)
- {
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE:
- pCallbacks->RootSignatureCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::pRootSignature);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS:
- pCallbacks->VSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::VS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS:
- pCallbacks->PSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::PS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS:
- pCallbacks->DSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::DS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS:
- pCallbacks->HSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::HS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS:
- pCallbacks->GSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::GS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS:
- pCallbacks->CSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::CS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS:
- pCallbacks->ASCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM2::AS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS:
- pCallbacks->MSCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM2::MS);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT:
- pCallbacks->StreamOutputCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::StreamOutput);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND:
- pCallbacks->BlendStateCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::BlendState);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK:
- pCallbacks->SampleMaskCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::SampleMask);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER:
- pCallbacks->RasterizerStateCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::RasterizerState);
- break;
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1:
- pCallbacks->RasterizerState1Cb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM4::RasterizerState);
- break;
-#endif
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610)
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2:
- pCallbacks->RasterizerState2Cb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM5::RasterizerState);
- break;
-#endif
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL:
- pCallbacks->DepthStencilStateCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1:
- pCallbacks->DepthStencilState1Cb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::DepthStencilState);
- break;
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2:
- pCallbacks->DepthStencilState2Cb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM3::DepthStencilState);
- break;
-#endif
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT:
- pCallbacks->InputLayoutCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::InputLayout);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE:
- pCallbacks->IBStripCutValueCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::IBStripCutValue);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY:
- pCallbacks->PrimitiveTopologyTypeCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::PrimitiveTopologyType);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS:
- pCallbacks->RTVFormatsCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::RTVFormats);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT:
- pCallbacks->DSVFormatCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::DSVFormat);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC:
- pCallbacks->SampleDescCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::SampleDesc);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK:
- pCallbacks->NodeMaskCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::NodeMask);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO:
- pCallbacks->CachedPSOCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::CachedPSO);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS:
- pCallbacks->FlagsCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::Flags);
- break;
- case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING:
- pCallbacks->ViewInstancingCb(*reinterpret_cast(pStream));
- SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM1::ViewInstancingDesc);
- break;
- default:
- pCallbacks->ErrorUnknownSubobject(SubobjectType);
- return E_INVALIDARG;
- }
- }
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 613)
- pCallbacks->FinalizeCb();
-#endif
-
- return S_OK;
-}
-
diff --git a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_property_format_table.cpp b/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_property_format_table.cpp
deleted file mode 100644
index 34e874c..0000000
--- a/Juliet/src/Graphics/DX12/D3D12/directx/d3dx12_property_format_table.cpp
+++ /dev/null
@@ -1,7442 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License (MIT).
-//
-//*********************************************************
-#include
-
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#ifndef NOMINMAX
-#define NOMINMAX 1
-#endif
-#ifdef __MINGW32__
-#include
-#endif
-#ifndef _WIN32
-#include
-#endif
-#include
-#include
-#include "D3D12TokenizedProgramFormat.hpp"
-#include "d3dx12_property_format_table.h"
-#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606)
-#ifndef ASSUME
-#define ASSUME(x) assert(x)
-#endif
-
-#define R D3DFCN_R
-#define G D3DFCN_G
-#define B D3DFCN_B
-#define A D3DFCN_A
-#define D D3DFCN_D
-#define S D3DFCN_S
-#define X D3DFCN_X
-
-#define _TYPELESS D3DFCI_TYPELESS
-#define _FLOAT D3DFCI_FLOAT
-#define _SNORM D3DFCI_SNORM
-#define _UNORM D3DFCI_UNORM
-#define _SINT D3DFCI_SINT
-#define _UINT D3DFCI_UINT
-#define _UNORM_SRGB D3DFCI_UNORM_SRGB
-#define _FIXED_2_8 D3DFCI_BIASED_FIXED_2_8
-
-#ifndef INTSAFE_E_ARITHMETIC_OVERFLOW
-#define INTSAFE_E_ARITHMETIC_OVERFLOW ((HRESULT)0x80070216L)
-#endif
-
-//
-// UINT addition
-//
-inline HRESULT Safe_UIntAdd(UINT uAugend, UINT uAddend, UINT* puResult)
-{
- if ((uAugend + uAddend) >= uAugend)
- {
- *puResult = (uAugend + uAddend);
- return S_OK;
- }
- *puResult = UINT_MAX;
- return E_FAIL;
-}
-
-//
-// UINT multiplication
-//
-inline HRESULT Safe_UIntMult(UINT uMultiplicand, UINT uMultiplier, UINT* puResult)
-{
- ULONGLONG ull64Result = (ULONGLONG)uMultiplicand * (ULONGLONG)uMultiplier;
-
- if (ull64Result <= UINT_MAX)
- {
- *puResult = (UINT)ull64Result;
- return S_OK;
- }
- *puResult = UINT_MAX;
- return E_FAIL;
-}
-
-const LPCSTR D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::s_FormatNames[] = // separate from above structure so it can be compiled out of the runtime.
- {
- // Name
- "UNKNOWN",
- "R32G32B32A32_TYPELESS",
- "R32G32B32A32_FLOAT",
- "R32G32B32A32_UINT",
- "R32G32B32A32_SINT",
- "R32G32B32_TYPELESS",
- "R32G32B32_FLOAT",
- "R32G32B32_UINT",
- "R32G32B32_SINT",
- "R16G16B16A16_TYPELESS",
- "R16G16B16A16_FLOAT",
- "R16G16B16A16_UNORM",
- "R16G16B16A16_UINT",
- "R16G16B16A16_SNORM",
- "R16G16B16A16_SINT",
- "R32G32_TYPELESS",
- "R32G32_FLOAT",
- "R32G32_UINT",
- "R32G32_SINT",
- "R32G8X24_TYPELESS",
- "D32_FLOAT_S8X24_UINT",
- "R32_FLOAT_X8X24_TYPELESS",
- "X32_TYPELESS_G8X24_UINT",
- "R10G10B10A2_TYPELESS",
- "R10G10B10A2_UNORM",
- "R10G10B10A2_UINT",
- "R11G11B10_FLOAT",
- "R8G8B8A8_TYPELESS",
- "R8G8B8A8_UNORM",
- "R8G8B8A8_UNORM_SRGB",
- "R8G8B8A8_UINT",
- "R8G8B8A8_SNORM",
- "R8G8B8A8_SINT",
- "R16G16_TYPELESS",
- "R16G16_FLOAT",
- "R16G16_UNORM",
- "R16G16_UINT",
- "R16G16_SNORM",
- "R16G16_SINT",
- "R32_TYPELESS",
- "D32_FLOAT",
- "R32_FLOAT",
- "R32_UINT",
- "R32_SINT",
- "R24G8_TYPELESS",
- "D24_UNORM_S8_UINT",
- "R24_UNORM_X8_TYPELESS",
- "X24_TYPELESS_G8_UINT",
- "R8G8_TYPELESS",
- "R8G8_UNORM",
- "R8G8_UINT",
- "R8G8_SNORM",
- "R8G8_SINT",
- "R16_TYPELESS",
- "R16_FLOAT",
- "D16_UNORM",
- "R16_UNORM",
- "R16_UINT",
- "R16_SNORM",
- "R16_SINT",
- "R8_TYPELESS",
- "R8_UNORM",
- "R8_UINT",
- "R8_SNORM",
- "R8_SINT",
- "A8_UNORM",
- "R1_UNORM",
- "R9G9B9E5_SHAREDEXP",
- "R8G8_B8G8_UNORM",
- "G8R8_G8B8_UNORM",
- "BC1_TYPELESS",
- "BC1_UNORM",
- "BC1_UNORM_SRGB",
- "BC2_TYPELESS",
- "BC2_UNORM",
- "BC2_UNORM_SRGB",
- "BC3_TYPELESS",
- "BC3_UNORM",
- "BC3_UNORM_SRGB",
- "BC4_TYPELESS",
- "BC4_UNORM",
- "BC4_SNORM",
- "BC5_TYPELESS",
- "BC5_UNORM",
- "BC5_SNORM",
- "B5G6R5_UNORM",
- "B5G5R5A1_UNORM",
- "B8G8R8A8_UNORM",
- "B8G8R8X8_UNORM",
- "R10G10B10_XR_BIAS_A2_UNORM",
- "B8G8R8A8_TYPELESS",
- "B8G8R8A8_UNORM_SRGB",
- "B8G8R8X8_TYPELESS",
- "B8G8R8X8_UNORM_SRGB",
- "BC6H_TYPELESS",
- "BC6H_UF16",
- "BC6H_SF16",
- "BC7_TYPELESS",
- "BC7_UNORM",
- "BC7_UNORM_SRGB",
- "AYUV",
- "Y410",
- "Y416",
- "NV12",
- "P010",
- "P016",
- "420_OPAQUE",
- "YUY2",
- "Y210",
- "Y216",
- "NV11",
- "AI44",
- "IA44",
- "P8",
- "A8P8",
- };
-
-// --------------------------------------------------------------------------------------------------------------------------------
-// Format Cast Sets
-// --------------------------------------------------------------------------------------------------------------------------------
-constexpr DXGI_FORMAT D3DFCS_UNKNOWN[] = {
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R32G32B32A32[] = {
- DXGI_FORMAT_R32G32B32A32_TYPELESS, DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_R32G32B32A32_SINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R32G32B32[] = {
- DXGI_FORMAT_R32G32B32_TYPELESS, DXGI_FORMAT_R32G32B32_FLOAT, DXGI_FORMAT_R32G32B32_UINT, DXGI_FORMAT_R32G32B32_SINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R16G16B16A16[] = {
- DXGI_FORMAT_R16G16B16A16_TYPELESS,
- DXGI_FORMAT_R16G16B16A16_FLOAT,
- DXGI_FORMAT_R16G16B16A16_UNORM,
- DXGI_FORMAT_R16G16B16A16_UINT,
- DXGI_FORMAT_R16G16B16A16_SNORM,
- DXGI_FORMAT_R16G16B16A16_SINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R32G32[] = {
- DXGI_FORMAT_R32G32_TYPELESS, DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_R32G32_UINT, DXGI_FORMAT_R32G32_SINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R32G8X24[] = {
- DXGI_FORMAT_R32G8X24_TYPELESS, DXGI_FORMAT_D32_FLOAT_S8X24_UINT, DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS,
- DXGI_FORMAT_X32_TYPELESS_G8X24_UINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R11G11B10[] = {
- DXGI_FORMAT_R11G11B10_FLOAT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R8G8B8A8[] = {
- DXGI_FORMAT_R8G8B8A8_TYPELESS,
- DXGI_FORMAT_R8G8B8A8_UNORM,
- DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- DXGI_FORMAT_R8G8B8A8_UINT,
- DXGI_FORMAT_R8G8B8A8_SNORM,
- DXGI_FORMAT_R8G8B8A8_SINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R16G16[] = {
- DXGI_FORMAT_R16G16_TYPELESS, DXGI_FORMAT_R16G16_FLOAT, DXGI_FORMAT_R16G16_UNORM,
- DXGI_FORMAT_R16G16_UINT, DXGI_FORMAT_R16G16_SNORM, DXGI_FORMAT_R16G16_SINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R32[] = {
- DXGI_FORMAT_R32_TYPELESS, DXGI_FORMAT_D32_FLOAT, DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R32_UINT, DXGI_FORMAT_R32_SINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R24G8[] = {
- DXGI_FORMAT_R24G8_TYPELESS, DXGI_FORMAT_D24_UNORM_S8_UINT, DXGI_FORMAT_R24_UNORM_X8_TYPELESS, DXGI_FORMAT_X24_TYPELESS_G8_UINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R8G8[] = {
- DXGI_FORMAT_R8G8_TYPELESS, DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_UINT,
- DXGI_FORMAT_R8G8_SNORM, DXGI_FORMAT_R8G8_SINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R16[] = {
- DXGI_FORMAT_R16_TYPELESS, DXGI_FORMAT_R16_FLOAT, DXGI_FORMAT_D16_UNORM, DXGI_FORMAT_R16_UNORM,
- DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_SNORM, DXGI_FORMAT_R16_SINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R8[] = {
- DXGI_FORMAT_R8_TYPELESS, DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_R8_SINT,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_A8[] = {
- DXGI_FORMAT_A8_UNORM,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R1[] = {
- DXGI_FORMAT_R1_UNORM,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R9G9B9E5[] = {
- DXGI_FORMAT_R9G9B9E5_SHAREDEXP,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R8G8_B8G8[] = {
- DXGI_FORMAT_R8G8_B8G8_UNORM,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_G8R8_G8B8[] = {
- DXGI_FORMAT_G8R8_G8B8_UNORM,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_BC1[] = {
- DXGI_FORMAT_BC1_TYPELESS, DXGI_FORMAT_BC1_UNORM, DXGI_FORMAT_BC1_UNORM_SRGB,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_BC2[] = {
- DXGI_FORMAT_BC2_TYPELESS, DXGI_FORMAT_BC2_UNORM, DXGI_FORMAT_BC2_UNORM_SRGB,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_BC3[] = {
- DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_BC3_UNORM, DXGI_FORMAT_BC3_UNORM_SRGB,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_BC4[] = {
- DXGI_FORMAT_BC4_TYPELESS, DXGI_FORMAT_BC4_UNORM, DXGI_FORMAT_BC4_SNORM,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_BC5[] = {
- DXGI_FORMAT_BC5_TYPELESS, DXGI_FORMAT_BC5_UNORM, DXGI_FORMAT_BC5_SNORM,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_B5G6R5[] = {
- DXGI_FORMAT_B5G6R5_UNORM,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_B5G5R5A1[] = {
- DXGI_FORMAT_B5G5R5A1_UNORM,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_B8G8R8A8[] = {
- DXGI_FORMAT_B8G8R8A8_TYPELESS, DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_B8G8R8A8_UNORM_SRGB,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_B8G8R8X8[] = {
- DXGI_FORMAT_B8G8R8X8_TYPELESS, DXGI_FORMAT_B8G8R8X8_UNORM, DXGI_FORMAT_B8G8R8X8_UNORM_SRGB,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_R10G10B10A2[] = {
- DXGI_FORMAT_R10G10B10A2_TYPELESS, DXGI_FORMAT_R10G10B10A2_UNORM, DXGI_FORMAT_R10G10B10A2_UINT, DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_BC6H[] = {
- DXGI_FORMAT_BC6H_TYPELESS, DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_BC7[] = {
- DXGI_FORMAT_BC7_TYPELESS, DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_AYUV[] = {
- DXGI_FORMAT_AYUV,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_NV12[] = {
- DXGI_FORMAT_NV12,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_YUY2[] = {
- DXGI_FORMAT_YUY2,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_P010[] = {
- DXGI_FORMAT_P010,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_P016[] = {
- DXGI_FORMAT_P016,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_NV11[] = {
- DXGI_FORMAT_NV11,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_420_OPAQUE[] = {
- DXGI_FORMAT_420_OPAQUE,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_Y410[] = {
- DXGI_FORMAT_Y410,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_Y416[] = {
- DXGI_FORMAT_Y416,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_Y210[] = {
- DXGI_FORMAT_Y210,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_Y216[] = {
- DXGI_FORMAT_Y216,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_AI44[] = {
- DXGI_FORMAT_AI44,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_IA44[] = {
- DXGI_FORMAT_IA44,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_P8[] = {
- DXGI_FORMAT_P8,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_A8P8[] = {
- DXGI_FORMAT_A8P8,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_B4G4R4A4[] = {
- DXGI_FORMAT_B4G4R4A4_UNORM,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_P208[] = {
- DXGI_FORMAT_P208,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_V208[] = {
- DXGI_FORMAT_V208,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_V408[] = {
- DXGI_FORMAT_V408,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr DXGI_FORMAT D3DFCS_A4B4G4R4[] = {
- DXGI_FORMAT_A4B4G4R4_UNORM,
- DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator"
-};
-
-constexpr D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FORMAT_DETAIL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::s_FormatDetail[] = {
- // DXGI_FORMAT ParentFormat pDefaultFormatCastSet BitsPerComponent[4],
- // BitsPerUnit, SRGB, WidthAlignment, HeightAlignment, DepthAlignment, Layout, TypeLevel, ComponentName[4],ComponentInterpretation[4],
- // bDX9VertexOrIndexFormat bDX9TextureFormat, bFloatNormFormat, bPlanar, bYUV bDependantFormatCastSet bInternal
- {
- DXGI_FORMAT_UNKNOWN,
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32B32A32_TYPELESS,
- DXGI_FORMAT_R32G32B32A32_TYPELESS,
- D3DFCS_R32G32B32A32,
- { 32, 32, 32, 32 },
- 128,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- B,
- A,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32B32A32_FLOAT,
- DXGI_FORMAT_R32G32B32A32_TYPELESS,
- D3DFCS_R32G32B32A32,
- { 32, 32, 32, 32 },
- 128,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _FLOAT,
- _FLOAT,
- _FLOAT,
- _FLOAT,
- TRUE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32B32A32_UINT,
- DXGI_FORMAT_R32G32B32A32_TYPELESS,
- D3DFCS_R32G32B32A32,
- { 32, 32, 32, 32 },
- 128,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UINT,
- _UINT,
- _UINT,
- _UINT,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32B32A32_SINT,
- DXGI_FORMAT_R32G32B32A32_TYPELESS,
- D3DFCS_R32G32B32A32,
- { 32, 32, 32, 32 },
- 128,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _SINT,
- _SINT,
- _SINT,
- _SINT,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32B32_TYPELESS,
- DXGI_FORMAT_R32G32B32_TYPELESS,
- D3DFCS_R32G32B32,
- { 32, 32, 32, 0 },
- 96,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- B,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32B32_FLOAT,
- DXGI_FORMAT_R32G32B32_TYPELESS,
- D3DFCS_R32G32B32,
- { 32, 32, 32, 0 },
- 96,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _FLOAT,
- _FLOAT,
- _FLOAT,
- _TYPELESS,
- TRUE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32B32_UINT,
- DXGI_FORMAT_R32G32B32_TYPELESS,
- D3DFCS_R32G32B32,
- { 32, 32, 32, 0 },
- 96,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _UINT,
- _UINT,
- _UINT,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32B32_SINT,
- DXGI_FORMAT_R32G32B32_TYPELESS,
- D3DFCS_R32G32B32,
- { 32, 32, 32, 0 },
- 96,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _SINT,
- _SINT,
- _SINT,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16B16A16_TYPELESS,
- DXGI_FORMAT_R16G16B16A16_TYPELESS,
- D3DFCS_R16G16B16A16,
- { 16, 16, 16, 16 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- B,
- A,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16B16A16_FLOAT,
- DXGI_FORMAT_R16G16B16A16_TYPELESS,
- D3DFCS_R16G16B16A16,
- { 16, 16, 16, 16 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _FLOAT,
- _FLOAT,
- _FLOAT,
- _FLOAT,
- TRUE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16B16A16_UNORM,
- DXGI_FORMAT_R16G16B16A16_TYPELESS,
- D3DFCS_R16G16B16A16,
- { 16, 16, 16, 16 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16B16A16_UINT,
- DXGI_FORMAT_R16G16B16A16_TYPELESS,
- D3DFCS_R16G16B16A16,
- { 16, 16, 16, 16 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UINT,
- _UINT,
- _UINT,
- _UINT,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16B16A16_SNORM,
- DXGI_FORMAT_R16G16B16A16_TYPELESS,
- D3DFCS_R16G16B16A16,
- { 16, 16, 16, 16 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _SNORM,
- _SNORM,
- _SNORM,
- _SNORM,
- TRUE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16B16A16_SINT,
- DXGI_FORMAT_R16G16B16A16_TYPELESS,
- D3DFCS_R16G16B16A16,
- { 16, 16, 16, 16 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _SINT,
- _SINT,
- _SINT,
- _SINT,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32_TYPELESS,
- DXGI_FORMAT_R32G32_TYPELESS,
- D3DFCS_R32G32,
- { 32, 32, 0, 0 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32_FLOAT,
- DXGI_FORMAT_R32G32_TYPELESS,
- D3DFCS_R32G32,
- { 32, 32, 0, 0 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _FLOAT,
- _FLOAT,
- _TYPELESS,
- _TYPELESS,
- TRUE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32_UINT,
- DXGI_FORMAT_R32G32_TYPELESS,
- D3DFCS_R32G32,
- { 32, 32, 0, 0 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _UINT,
- _UINT,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G32_SINT,
- DXGI_FORMAT_R32G32_TYPELESS,
- D3DFCS_R32G32,
- { 32, 32, 0, 0 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _SINT,
- _SINT,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32G8X24_TYPELESS,
- DXGI_FORMAT_R32G8X24_TYPELESS,
- D3DFCS_R32G8X24,
- { 32, 8, 24, 0 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_D32_FLOAT_S8X24_UINT,
- DXGI_FORMAT_R32G8X24_TYPELESS,
- D3DFCS_R32G8X24,
- { 32, 8, 24, 0 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- D,
- S,
- X,
- X,
- _FLOAT,
- _UINT,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS,
- DXGI_FORMAT_R32G8X24_TYPELESS,
- D3DFCS_R32G8X24,
- { 32, 8, 24, 0 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _FLOAT,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_X32_TYPELESS_G8X24_UINT,
- DXGI_FORMAT_R32G8X24_TYPELESS,
- D3DFCS_R32G8X24,
- { 32, 8, 24, 0 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- X,
- G,
- X,
- X,
- _TYPELESS,
- _UINT,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R10G10B10A2_TYPELESS,
- DXGI_FORMAT_R10G10B10A2_TYPELESS,
- D3DFCS_R10G10B10A2,
- { 10, 10, 10, 2 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- B,
- A,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- },
- {
- DXGI_FORMAT_R10G10B10A2_UNORM,
- DXGI_FORMAT_R10G10B10A2_TYPELESS,
- D3DFCS_R10G10B10A2,
- { 10, 10, 10, 2 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- },
- {
- DXGI_FORMAT_R10G10B10A2_UINT,
- DXGI_FORMAT_R10G10B10A2_TYPELESS,
- D3DFCS_R10G10B10A2,
- { 10, 10, 10, 2 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UINT,
- _UINT,
- _UINT,
- _UINT,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- },
- {
- DXGI_FORMAT_R11G11B10_FLOAT,
- DXGI_FORMAT_R11G11B10_FLOAT,
- D3DFCS_R11G11B10,
- { 11, 11, 10, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _FLOAT,
- _FLOAT,
- _FLOAT,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8B8A8_TYPELESS,
- DXGI_FORMAT_R8G8B8A8_TYPELESS,
- D3DFCS_R8G8B8A8,
- { 8, 8, 8, 8 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- B,
- A,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8B8A8_UNORM,
- DXGI_FORMAT_R8G8B8A8_TYPELESS,
- D3DFCS_R8G8B8A8,
- { 8, 8, 8, 8 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- DXGI_FORMAT_R8G8B8A8_TYPELESS,
- D3DFCS_R8G8B8A8,
- { 8, 8, 8, 8 },
- 32,
- TRUE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM_SRGB,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8B8A8_UINT,
- DXGI_FORMAT_R8G8B8A8_TYPELESS,
- D3DFCS_R8G8B8A8,
- { 8, 8, 8, 8 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UINT,
- _UINT,
- _UINT,
- _UINT,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8B8A8_SNORM,
- DXGI_FORMAT_R8G8B8A8_TYPELESS,
- D3DFCS_R8G8B8A8,
- { 8, 8, 8, 8 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _SNORM,
- _SNORM,
- _SNORM,
- _SNORM,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8B8A8_SINT,
- DXGI_FORMAT_R8G8B8A8_TYPELESS,
- D3DFCS_R8G8B8A8,
- { 8, 8, 8, 8 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _SINT,
- _SINT,
- _SINT,
- _SINT,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16_TYPELESS,
- DXGI_FORMAT_R16G16_TYPELESS,
- D3DFCS_R16G16,
- { 16, 16, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16_FLOAT,
- DXGI_FORMAT_R16G16_TYPELESS,
- D3DFCS_R16G16,
- { 16, 16, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _FLOAT,
- _FLOAT,
- _TYPELESS,
- _TYPELESS,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16_UNORM,
- DXGI_FORMAT_R16G16_TYPELESS,
- D3DFCS_R16G16,
- { 16, 16, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _UNORM,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16_UINT,
- DXGI_FORMAT_R16G16_TYPELESS,
- D3DFCS_R16G16,
- { 16, 16, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _UINT,
- _UINT,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16_SNORM,
- DXGI_FORMAT_R16G16_TYPELESS,
- D3DFCS_R16G16,
- { 16, 16, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _SNORM,
- _SNORM,
- _TYPELESS,
- _TYPELESS,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16G16_SINT,
- DXGI_FORMAT_R16G16_TYPELESS,
- D3DFCS_R16G16,
- { 16, 16, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _SINT,
- _SINT,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32_TYPELESS,
- DXGI_FORMAT_R32_TYPELESS,
- D3DFCS_R32,
- { 32, 0, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_D32_FLOAT,
- DXGI_FORMAT_R32_TYPELESS,
- D3DFCS_R32,
- { 32, 0, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- D,
- X,
- X,
- X,
- _FLOAT,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32_FLOAT,
- DXGI_FORMAT_R32_TYPELESS,
- D3DFCS_R32,
- { 32, 0, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _FLOAT,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32_UINT,
- DXGI_FORMAT_R32_TYPELESS,
- D3DFCS_R32,
- { 32, 0, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UINT,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R32_SINT,
- DXGI_FORMAT_R32_TYPELESS,
- D3DFCS_R32,
- { 32, 0, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _SINT,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R24G8_TYPELESS,
- DXGI_FORMAT_R24G8_TYPELESS,
- D3DFCS_R24G8,
- { 24, 8, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_D24_UNORM_S8_UINT,
- DXGI_FORMAT_R24G8_TYPELESS,
- D3DFCS_R24G8,
- { 24, 8, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- D,
- S,
- X,
- X,
- _UNORM,
- _UINT,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R24_UNORM_X8_TYPELESS,
- DXGI_FORMAT_R24G8_TYPELESS,
- D3DFCS_R24G8,
- { 24, 8, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_X24_TYPELESS_G8_UINT,
- DXGI_FORMAT_R24G8_TYPELESS,
- D3DFCS_R24G8,
- { 24, 8, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- X,
- G,
- X,
- X,
- _TYPELESS,
- _UINT,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8_TYPELESS,
- DXGI_FORMAT_R8G8_TYPELESS,
- D3DFCS_R8G8,
- { 8, 8, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8_UNORM,
- DXGI_FORMAT_R8G8_TYPELESS,
- D3DFCS_R8G8,
- { 8, 8, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _UNORM,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8_UINT,
- DXGI_FORMAT_R8G8_TYPELESS,
- D3DFCS_R8G8,
- { 8, 8, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _UINT,
- _UINT,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8_SNORM,
- DXGI_FORMAT_R8G8_TYPELESS,
- D3DFCS_R8G8,
- { 8, 8, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _SNORM,
- _SNORM,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8_SINT,
- DXGI_FORMAT_R8G8_TYPELESS,
- D3DFCS_R8G8,
- { 8, 8, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _SINT,
- _SINT,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16_TYPELESS,
- DXGI_FORMAT_R16_TYPELESS,
- D3DFCS_R16,
- { 16, 0, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16_FLOAT,
- DXGI_FORMAT_R16_TYPELESS,
- D3DFCS_R16,
- { 16, 0, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _FLOAT,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_D16_UNORM,
- DXGI_FORMAT_R16_TYPELESS,
- D3DFCS_R16,
- { 16, 0, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- D,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16_UNORM,
- DXGI_FORMAT_R16_TYPELESS,
- D3DFCS_R16,
- { 16, 0, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16_UINT,
- DXGI_FORMAT_R16_TYPELESS,
- D3DFCS_R16,
- { 16, 0, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UINT,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16_SNORM,
- DXGI_FORMAT_R16_TYPELESS,
- D3DFCS_R16,
- { 16, 0, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _SNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R16_SINT,
- DXGI_FORMAT_R16_TYPELESS,
- D3DFCS_R16,
- { 16, 0, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _SINT,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8_TYPELESS,
- DXGI_FORMAT_R8_TYPELESS,
- D3DFCS_R8,
- { 8, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- R,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8_UNORM,
- DXGI_FORMAT_R8_TYPELESS,
- D3DFCS_R8,
- { 8, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8_UINT,
- DXGI_FORMAT_R8_TYPELESS,
- D3DFCS_R8,
- { 8, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UINT,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8_SNORM,
- DXGI_FORMAT_R8_TYPELESS,
- D3DFCS_R8,
- { 8, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _SNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8_SINT,
- DXGI_FORMAT_R8_TYPELESS,
- D3DFCS_R8,
- { 8, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _SINT,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_A8_UNORM,
- DXGI_FORMAT_A8_UNORM,
- D3DFCS_A8,
- { 0, 0, 0, 8 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- X,
- X,
- X,
- A,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _UNORM,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R1_UNORM,
- DXGI_FORMAT_R1_UNORM,
- D3DFCS_R1,
- { 1, 0, 0, 0 },
- 1,
- FALSE,
- 8,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R9G9B9E5_SHAREDEXP,
- DXGI_FORMAT_R9G9B9E5_SHAREDEXP,
- D3DFCS_R9G9B9E5,
- { 0, 0, 0, 0 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _FLOAT,
- _FLOAT,
- _FLOAT,
- _FLOAT,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R8G8_B8G8_UNORM,
- DXGI_FORMAT_R8G8_B8G8_UNORM,
- D3DFCS_R8G8_B8G8,
- { 0, 0, 0, 0 },
- 16,
- FALSE,
- 2,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _UNORM,
- _UNORM,
- _UNORM,
- _TYPELESS,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_G8R8_G8B8_UNORM,
- DXGI_FORMAT_G8R8_G8B8_UNORM,
- D3DFCS_G8R8_G8B8,
- { 0, 0, 0, 0 },
- 16,
- FALSE,
- 2,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _UNORM,
- _UNORM,
- _UNORM,
- _TYPELESS,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC1_TYPELESS,
- DXGI_FORMAT_BC1_TYPELESS,
- D3DFCS_BC1,
- { 0, 0, 0, 0 },
- 64,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- B,
- A,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC1_UNORM,
- DXGI_FORMAT_BC1_TYPELESS,
- D3DFCS_BC1,
- { 0, 0, 0, 0 },
- 64,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC1_UNORM_SRGB,
- DXGI_FORMAT_BC1_TYPELESS,
- D3DFCS_BC1,
- { 0, 0, 0, 0 },
- 64,
- TRUE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC2_TYPELESS,
- DXGI_FORMAT_BC2_TYPELESS,
- D3DFCS_BC2,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- B,
- A,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC2_UNORM,
- DXGI_FORMAT_BC2_TYPELESS,
- D3DFCS_BC2,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC2_UNORM_SRGB,
- DXGI_FORMAT_BC2_TYPELESS,
- D3DFCS_BC2,
- { 0, 0, 0, 0 },
- 128,
- TRUE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC3_TYPELESS,
- DXGI_FORMAT_BC3_TYPELESS,
- D3DFCS_BC3,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- B,
- A,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC3_UNORM,
- DXGI_FORMAT_BC3_TYPELESS,
- D3DFCS_BC3,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC3_UNORM_SRGB,
- DXGI_FORMAT_BC3_TYPELESS,
- D3DFCS_BC3,
- { 0, 0, 0, 0 },
- 128,
- TRUE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC4_TYPELESS,
- DXGI_FORMAT_BC4_TYPELESS,
- D3DFCS_BC4,
- { 0, 0, 0, 0 },
- 64,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_PARTIAL_TYPE,
- R,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC4_UNORM,
- DXGI_FORMAT_BC4_TYPELESS,
- D3DFCS_BC4,
- { 0, 0, 0, 0 },
- 64,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC4_SNORM,
- DXGI_FORMAT_BC4_TYPELESS,
- D3DFCS_BC4,
- { 0, 0, 0, 0 },
- 64,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _SNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC5_TYPELESS,
- DXGI_FORMAT_BC5_TYPELESS,
- D3DFCS_BC5,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC5_UNORM,
- DXGI_FORMAT_BC5_TYPELESS,
- D3DFCS_BC5,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _UNORM,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC5_SNORM,
- DXGI_FORMAT_BC5_TYPELESS,
- D3DFCS_BC5,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- X,
- X,
- _SNORM,
- _SNORM,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_B5G6R5_UNORM,
- DXGI_FORMAT_B5G6R5_UNORM,
- D3DFCS_B5G6R5,
- { 5, 6, 5, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- B,
- G,
- R,
- X,
- _UNORM,
- _UNORM,
- _UNORM,
- _TYPELESS,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_B5G5R5A1_UNORM,
- DXGI_FORMAT_B5G5R5A1_UNORM,
- D3DFCS_B5G5R5A1,
- { 5, 5, 5, 1 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- B,
- G,
- R,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_B8G8R8A8_UNORM,
- DXGI_FORMAT_B8G8R8A8_TYPELESS,
- D3DFCS_B8G8R8A8,
- { 8, 8, 8, 8 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- B,
- G,
- R,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_B8G8R8X8_UNORM,
- DXGI_FORMAT_B8G8R8X8_TYPELESS,
- D3DFCS_B8G8R8X8,
- { 8, 8, 8, 8 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- B,
- G,
- R,
- X,
- _UNORM,
- _UNORM,
- _UNORM,
- _TYPELESS,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM,
- DXGI_FORMAT_R10G10B10A2_TYPELESS,
- D3DFCS_R10G10B10A2,
- { 10, 10, 10, 2 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _FIXED_2_8,
- _FIXED_2_8,
- _FIXED_2_8,
- _UNORM,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_B8G8R8A8_TYPELESS,
- DXGI_FORMAT_B8G8R8A8_TYPELESS,
- D3DFCS_B8G8R8A8,
- { 8, 8, 8, 8 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- B,
- G,
- R,
- A,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_B8G8R8A8_UNORM_SRGB,
- DXGI_FORMAT_B8G8R8A8_TYPELESS,
- D3DFCS_B8G8R8A8,
- { 8, 8, 8, 8 },
- 32,
- TRUE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- B,
- G,
- R,
- A,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM_SRGB,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_B8G8R8X8_TYPELESS,
- DXGI_FORMAT_B8G8R8X8_TYPELESS,
- D3DFCS_B8G8R8X8,
- { 8, 8, 8, 8 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_PARTIAL_TYPE,
- B,
- G,
- R,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_B8G8R8X8_UNORM_SRGB,
- DXGI_FORMAT_B8G8R8X8_TYPELESS,
- D3DFCS_B8G8R8X8,
- { 8, 8, 8, 8 },
- 32,
- TRUE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- B,
- G,
- R,
- X,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _TYPELESS,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC6H_TYPELESS,
- DXGI_FORMAT_BC6H_TYPELESS,
- D3DFCS_BC6H,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- B,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC6H_UF16,
- DXGI_FORMAT_BC6H_TYPELESS,
- D3DFCS_BC6H,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _FLOAT,
- _FLOAT,
- _FLOAT,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC6H_SF16,
- DXGI_FORMAT_BC6H_TYPELESS,
- D3DFCS_BC6H,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _FLOAT,
- _FLOAT,
- _FLOAT,
- _TYPELESS,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC7_TYPELESS,
- DXGI_FORMAT_BC7_TYPELESS,
- D3DFCS_BC7,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_PARTIAL_TYPE,
- R,
- G,
- B,
- A,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC7_UNORM,
- DXGI_FORMAT_BC7_TYPELESS,
- D3DFCS_BC7,
- { 0, 0, 0, 0 },
- 128,
- FALSE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_BC7_UNORM_SRGB,
- DXGI_FORMAT_BC7_TYPELESS,
- D3DFCS_BC7,
- { 0, 0, 0, 0 },
- 128,
- TRUE,
- 4,
- 4,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- A,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM_SRGB,
- _UNORM,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- // YUV 4:4:4 formats
- {
- DXGI_FORMAT_AYUV,
- DXGI_FORMAT_AYUV,
- D3DFCS_AYUV,
- { 8, 8, 8, 8 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- B,
- G,
- R,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_Y410,
- DXGI_FORMAT_Y410,
- D3DFCS_Y410,
- { 10, 10, 10, 2 },
- 32,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- B,
- G,
- R,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_Y416,
- DXGI_FORMAT_Y416,
- D3DFCS_Y416,
- { 16, 16, 16, 16 },
- 64,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- B,
- G,
- R,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- },
- // YUV 4:2:0 formats
- {
- DXGI_FORMAT_NV12,
- DXGI_FORMAT_NV12,
- D3DFCS_NV12,
- { 0, 0, 0, 0 },
- 8,
- FALSE,
- 2,
- 2,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_P010,
- DXGI_FORMAT_P010,
- D3DFCS_P010,
- { 0, 0, 0, 0 },
- 16,
- FALSE,
- 2,
- 2,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_P016,
- DXGI_FORMAT_P016,
- D3DFCS_P016,
- { 0, 0, 0, 0 },
- 16,
- FALSE,
- 2,
- 2,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_420_OPAQUE,
- DXGI_FORMAT_420_OPAQUE,
- D3DFCS_420_OPAQUE,
- { 0, 0, 0, 0 },
- 8,
- FALSE,
- 2,
- 2,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- },
- // YUV 4:2:2 formats
- {
- DXGI_FORMAT_YUY2,
- DXGI_FORMAT_YUY2,
- D3DFCS_YUY2,
- { 0, 0, 0, 0 },
- 16,
- FALSE,
- 2,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _UNORM,
- _UNORM,
- _UNORM,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_Y210,
- DXGI_FORMAT_Y210,
- D3DFCS_Y210,
- { 0, 0, 0, 0 },
- 32,
- FALSE,
- 2,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _UNORM,
- _UNORM,
- _UNORM,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_Y216,
- DXGI_FORMAT_Y216,
- D3DFCS_Y216,
- { 0, 0, 0, 0 },
- 32,
- FALSE,
- 2,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- G,
- B,
- X,
- _UNORM,
- _UNORM,
- _UNORM,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- },
- // YUV 4:1:1 formats
- {
- DXGI_FORMAT_NV11,
- DXGI_FORMAT_NV11,
- D3DFCS_NV11,
- { 0, 0, 0, 0 },
- 8,
- FALSE,
- 4,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- },
- // Legacy substream formats
- {
- DXGI_FORMAT_AI44,
- DXGI_FORMAT_AI44,
- D3DFCS_AI44,
- { 0, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_IA44,
- DXGI_FORMAT_IA44,
- D3DFCS_IA44,
- { 0, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_P8,
- DXGI_FORMAT_P8,
- D3DFCS_P8,
- { 0, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_A8P8,
- DXGI_FORMAT_A8P8,
- D3DFCS_A8P8,
- { 0, 0, 0, 0 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_B4G4R4A4_UNORM,
- DXGI_FORMAT_B4G4R4A4_UNORM,
- D3DFCS_B4G4R4A4,
- { 4, 4, 4, 4 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- B,
- G,
- R,
- A,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT(116),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(117),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(118),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(119),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(120),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(121),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(122),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
-
- {
- DXGI_FORMAT(123),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
-
- {
- DXGI_FORMAT(124),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(125),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(126),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(127),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(128),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(129),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(DXGI_FORMAT_P208),
- DXGI_FORMAT_P208,
- D3DFCS_P208,
- { 0, 0, 0, 0 },
- 8,
- FALSE,
- 2,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT(DXGI_FORMAT_V208),
- DXGI_FORMAT_V208,
- D3DFCS_V208,
- { 0, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 2,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT(DXGI_FORMAT_V408),
- DXGI_FORMAT_V408,
- D3DFCS_V408,
- { 0, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- TRUE,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- },
-
- {
- DXGI_FORMAT(133),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(134),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(135),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(136),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(137),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(138),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(139),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(140),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(141),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(142),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(143),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(144),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(145),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(146),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(147),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(148),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(149),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(150),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(151),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(152),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(153),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(154),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(155),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(156),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(157),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(158),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(159),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(160),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(161),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(162),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(163),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(164),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(165),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(166),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(167),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(168),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(169),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(170),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(171),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(172),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(173),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(174),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(175),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(176),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(177),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(178),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(179),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(180),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(181),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(182),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(183),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(184),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(185),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(186),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(187),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
- {
- DXGI_FORMAT(188),
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 0,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_NO_TYPE,
- X,
- X,
- X,
- X,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- },
-
- {
- DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE,
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE,
- DXGI_FORMAT_UNKNOWN,
- D3DFCS_UNKNOWN,
- { 0, 0, 0, 0 },
- 8,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_CUSTOM,
- D3DFTL_FULL_TYPE,
- R,
- X,
- X,
- X,
- _UNORM,
- _TYPELESS,
- _TYPELESS,
- _TYPELESS,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- {
- DXGI_FORMAT_A4B4G4R4_UNORM,
- DXGI_FORMAT_A4B4G4R4_UNORM,
- D3DFCS_A4B4G4R4,
- { 4, 4, 4, 4 },
- 16,
- FALSE,
- 1,
- 1,
- 1,
- D3DFL_STANDARD,
- D3DFTL_FULL_TYPE,
- A,
- B,
- G,
- R,
- _UNORM,
- _UNORM,
- _UNORM,
- _UNORM,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- },
- // DXGI_FORMAT ParentFormat pDefaultFormatCastSet BitsPerComponent[4], BitsPerUnit,
- // SRGB, WidthAlignment, HeightAlignment, DepthAlignment, Layout, TypeLevel, ComponentName[4],ComponentInterpretation[4],
- // bDX9VertexOrIndexFormat bDX9TextureFormat, bFloatNormFormat, bPlanar, bYUV bDependantFormatCastSet bInternal
-
-};
-
-const UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::s_NumFormats =
- (sizeof(D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::s_FormatDetail) / sizeof(D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FORMAT_DETAIL));
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// GetHighestDefinedFeatureLevel
-D3D_FEATURE_LEVEL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetHighestDefinedFeatureLevel()
-{
- return D3D_FEATURE_LEVEL_12_2;
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// GetNumFormats
-UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetNumFormats()
-{
- return s_NumFormats;
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// GetFormatTable
-const D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FORMAT_DETAIL* D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetFormatTable()
-{
- return &s_FormatDetail[0];
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// GetFormatTable
-BOOL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::Opaque(DXGI_FORMAT Format)
-{
- return Format == DXGI_FORMAT_420_OPAQUE;
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// FormatExists
-bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FormatExists(DXGI_FORMAT Format)
-{
- return GetFormat(Format) != (DXGI_FORMAT)-1 ? true : false;
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// GetDetailTableIndex
-UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetDetailTableIndex(DXGI_FORMAT Format)
-{
- if ((UINT)Format < _countof(s_FormatDetail))
- {
- assert(s_FormatDetail[(UINT)Format].DXGIFormat == Format);
- return static_cast(Format);
- }
-
- return (UINT)-1;
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// IsBlockCompressFormat - returns true if format is block compressed. This function is a helper function for
-// GetBitsPerUnit and if this function returns true then GetBitsPerUnit returns block size.
-bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::IsBlockCompressFormat(DXGI_FORMAT Format)
-{
- // Returns true if BC1, BC2, BC3, BC4, BC5, BC6, BC7, or ASTC
- return (Format >= DXGI_FORMAT_BC1_TYPELESS && Format <= DXGI_FORMAT_BC5_SNORM) ||
- (Format >= DXGI_FORMAT_BC6H_TYPELESS && Format <= DXGI_FORMAT_BC7_UNORM_SRGB);
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// GetByteAlignment
-UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetByteAlignment(DXGI_FORMAT Format)
-{
- UINT bits = GetBitsPerUnit(Format);
- if (!IsBlockCompressFormat(Format))
- {
- bits *= GetWidthAlignment(Format) * GetHeightAlignment(Format) * GetDepthAlignment(Format);
- }
-
- assert((bits & 0x7) == 0); // Unit must be byte-aligned
- return bits >> 3;
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// GetBitsPerUnitThrow
-UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetBitsPerUnitThrow(DXGI_FORMAT Format)
-{
- return s_FormatDetail[GetDetailTableIndexThrow(Format)].BitsPerUnit;
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// FormatExistsInHeader
-bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FormatExistsInHeader(DXGI_FORMAT Format, bool bExternalHeader)
-{
- const UINT Index = GetDetailTableIndex(Format);
- if (UINT(-1) == Index || (bExternalHeader && GetFormatDetail(Format)->bInternal))
- {
- return false;
- }
- else
- {
- return true;
- }
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// GetName
-LPCSTR D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetName(DXGI_FORMAT Format, bool bHideInternalFormats)
-{
- const UINT Index = GetDetailTableIndex(Format);
- if (UINT(-1) == Index || (bHideInternalFormats && GetFormatDetail(Format)->bInternal))
- {
- return "Unrecognized";
- }
- else
- {
- return s_FormatNames[Index];
- }
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------
-// IsSRGBFormat
-bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::IsSRGBFormat(DXGI_FORMAT Format)
-{
- const UINT Index = GetDetailTableIndex(Format);
- if (UINT(-1) == Index)
- {
- return false;
- }
-
- return s_FormatDetail[Index].SRGBFormat ? true : false;
-}
-
-//----------------------------------------------------------------------------
-// DivideAndRoundUp
-inline HRESULT DivideAndRoundUp(UINT dividend, UINT divisor, _Out_ UINT& result)
-{
- HRESULT hr = S_OK;
-
- UINT adjustedDividend;
- hr = Safe_UIntAdd(dividend, (divisor - 1), &adjustedDividend);
-
- result = SUCCEEDED(hr) ? (adjustedDividend / divisor) : 0;
-
- return hr;
-}
-
-//----------------------------------------------------------------------------
-// CalculateExtraPlanarRows
-HRESULT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::CalculateExtraPlanarRows(DXGI_FORMAT format, UINT plane0Height, _Out_ UINT& totalHeight)
-{
- if (!D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::Planar(format))
- {
- totalHeight = plane0Height;
- return S_OK;
- }
-
- // blockWidth, blockHeight, and blockSize only reflect the size of plane 0. Each planar format has additonal planes
- // that must be counted. Each format increases size by another 0.5x, 1x, or 2x. Grab the number of "half
- // allocation" increments so integer math can be used to calculate the extra size.
- UINT extraHalfHeight;
- UINT round;
-
- switch (D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetParentFormat(format))
- {
- case DXGI_FORMAT_NV12:
- case DXGI_FORMAT_P010:
- case DXGI_FORMAT_P016:
- case DXGI_FORMAT_420_OPAQUE:
- extraHalfHeight = 1;
- round = 1;
- break;
-
- case DXGI_FORMAT_NV11:
- case DXGI_FORMAT_P208:
- extraHalfHeight = 2;
- round = 0;
- break;
- case DXGI_FORMAT_V208:
- extraHalfHeight = 2;
- round = 1;
- break;
-
- case DXGI_FORMAT_V408:
- extraHalfHeight = 4;
- round = 0;
- break;
-
- case DXGI_FORMAT_R24G8_TYPELESS:
- case DXGI_FORMAT_R32G8X24_TYPELESS: totalHeight = plane0Height; return S_OK;
-
- default: assert(false); return S_OK;
- }
-
- UINT extraPlaneHeight;
- if (FAILED(Safe_UIntMult(plane0Height, extraHalfHeight, &extraPlaneHeight)) ||
- FAILED(Safe_UIntAdd(extraPlaneHeight, round, &extraPlaneHeight)) ||
- FAILED(Safe_UIntAdd(plane0Height, (extraPlaneHeight >> 1), &totalHeight)))
- {
- return INTSAFE_E_ARITHMETIC_OVERFLOW;
- }
-
- return S_OK;
-}
-
-//----------------------------------------------------------------------------
-// CalculateResourceSize
-HRESULT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::CalculateResourceSize(UINT width, UINT height, UINT depth, DXGI_FORMAT format,
- UINT mipLevels, UINT subresources, _Out_ SIZE_T& totalByteSize,
- _Out_writes_opt_(subresources) D3D12_MEMCPY_DEST* pDst)
-{
- UINT tableIndex = GetDetailTableIndexNoThrow(format);
- const FORMAT_DETAIL& formatDetail = s_FormatDetail[tableIndex];
-
- bool fIsBlockCompressedFormat = IsBlockCompressFormat(format);
-
- // No format currently requires depth alignment.
- assert(formatDetail.DepthAlignment == 1);
-
- UINT subWidth = width;
- UINT subHeight = height;
- UINT subDepth = depth;
- for (UINT s = 0, iM = 0; s < subresources; ++s)
- {
- UINT blockWidth;
- if (FAILED(DivideAndRoundUp(subWidth, formatDetail.WidthAlignment, /*_Out_*/ blockWidth)))
- {
- return INTSAFE_E_ARITHMETIC_OVERFLOW;
- }
-
- UINT blockSize, blockHeight;
- if (fIsBlockCompressedFormat)
- {
- if (FAILED(DivideAndRoundUp(subHeight, formatDetail.HeightAlignment, /*_Out_*/ blockHeight)))
- {
- return INTSAFE_E_ARITHMETIC_OVERFLOW;
- }
-
- // Block Compressed formats use BitsPerUnit as block size.
- blockSize = formatDetail.BitsPerUnit;
- }
- else
- {
- // The height must *not* be aligned to HeightAlign. As there is no plane pitch/stride, the expectation is
- // that the 2nd plane begins immediately after the first. The only formats with HeightAlignment other than
- // 1 are planar or block compressed, and block compressed is handled above.
- assert(formatDetail.bPlanar || formatDetail.HeightAlignment == 1);
- blockHeight = subHeight;
-
- // Combined with the division os subWidth by the width alignment above, this helps achieve rounding the stride up to an even multiple of
- // block width. This is especially important for formats like NV12 and P208 whose chroma plane is wider than the luma.
- blockSize = formatDetail.BitsPerUnit * formatDetail.WidthAlignment;
- }
-
- if (DXGI_FORMAT_UNKNOWN == formatDetail.DXGIFormat)
- {
- blockSize = 8;
- }
-
- // Convert block width size to bytes.
- assert((blockSize & 0x7) == 0);
- blockSize = blockSize >> 3;
-
- if (formatDetail.bPlanar)
- {
- if (FAILED(CalculateExtraPlanarRows(format, blockHeight, /*_Out_*/ blockHeight)))
- {
- return INTSAFE_E_ARITHMETIC_OVERFLOW;
- }
- }
-
- // Calculate rowPitch, depthPitch, and total subresource size.
- UINT rowPitch, depthPitch;
-
- if (FAILED(Safe_UIntMult(blockWidth, blockSize, &rowPitch)) || FAILED(Safe_UIntMult(blockHeight, rowPitch, &depthPitch)))
- {
- return INTSAFE_E_ARITHMETIC_OVERFLOW;
- }
- SIZE_T subresourceByteSize = subDepth * depthPitch;
-
- if (pDst)
- {
- D3D12_MEMCPY_DEST& dst = pDst[s];
-
- // This data will be returned straight from the API to satisfy Map. So, strides/ alignment must be API-correct.
- dst.pData = reinterpret_cast