Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::Windows::Graphics::D3D12 Namespace Reference

Namespaces

namespace  Video
 

Classes

struct  AutoBreadcrumbNode
 
struct  AutoBreadcrumbNode1
 
struct  BarrierGroup
 
struct  BarrierSubresourceRange
 
struct  BlendDesc
 Describes the blend state. More...
 
struct  Box
 Describes a 3D box. More...
 
struct  BroadcastingLaunchOverrides
 
struct  BufferBarrier
 
struct  BufferRTV
 
struct  BufferSRV
 
struct  BufferUAV
 
struct  BuildRaytracingAccelerationStructureDesc
 
struct  BuildRaytracingAccelerationStructureInputs
 
struct  BuildRaytracingAccelerationStructureToolsVisualizationHeader
 
struct  CachedPipelineState
 Stores a pipeline state. More...
 
struct  ClearValue
 
struct  CoalescingLaunchOverrides
 
class  CommandAllocator
 Represents the allocations of storage for graphics processing unit (GPU) commands. More...
 
class  CommandList
 The base class for the GraphicsCommandList class. It represents an ordered set of commands that the GPU executes, while allowing for extension to support other command lists than just those for graphics (such as compute and copy). More...
 
class  CommandQueue
 Provides methods for submitting command lists, synchronizing command list execution, instrumenting the command queue, and updating resource tile mappings. More...
 
struct  CommandQueueDesc
 Describes a command queue. More...
 
class  CommandSignature
 A command signature object enables apps to specify indirect drawing, including the buffer format, command type and resource bindings to be used. More...
 
struct  CommandSignatureDesc
 
struct  CommonComputeNodeOverrides
 
struct  ComputePipelineStateDesc
 
struct  ConstantBufferViewDesc
 Alias for D3D12_CONSTANT_BUFFER_VIEW_DESC. More...
 
struct  CPUDescriptorHandle
 
struct  D3D12_FEATURE_DATA_D3D12_OPTIONS4
 
class  D3D12Debug
 A wrapper class for the ID3D12Debug interface. This interface is used to turn on the debug layer. More...
 
class  D3D12Debug1
 Adds GPU-Based Validation and Dependent Command Queue Synchronization to the debug layer. More...
 
class  D3D12Debug2
 Adds configurable levels of GPU-based validation to the debug layer. More...
 
class  D3D12Debug3
 Adds configurable levels of GPU-based validation to the debug layer. More...
 
class  D3D12Debug4
 Adds the ability to disable the debug layer. More...
 
class  D3D12Debug5
 Adds to the debug layer the ability to configure the auto-naming of objects. More...
 
class  D3D12Debug6
 A debug interface controls debug settings. More...
 
class  D3D12DebugCommandList
 Provides methods to monitor and debug a command list. More...
 
class  D3D12DebugCommandList1
 Enables modification of additional command list debug layer settings. More...
 
class  D3D12DebugCommandList2
 
class  D3D12DebugCommandQueue
 Provides methods to monitor and debug a command queue. More...
 
class  D3D12DebugDevice
 This interface represents a graphics device for debugging. More...
 
class  D3D12DebugDevice1
 Specifies device-wide debug layer settings. More...
 
class  D3D12DebugDevice2
 
class  D3D12InfoQueue
 An information-queue stores, retrieves, and filters debug messages. The queue consists of a message queue, an optional storage filter stack, and a optional retrieval filter stack. More...
 
class  D3D12InfoQueue1
 D3D12InfoQueue1 adds support for message callback with the RegisterMessageCallback and UnregisterMessageCallback functions. More...
 
class  D3D12SharingContract
 Facilitates diagnostics tools to capture information at a lower level than the DXGI swapchain. More...
 
struct  DepthStencilDesc
 Describes depth-stencil state. More...
 
struct  DepthStencilDesc1
 Describes depth-stencil state. More...
 
struct  DepthStencilFormat
 
struct  DepthStencilValue
 
struct  DepthStencilViewDesc
 
class  DescriptorHeap
 A descriptor heap is a collection of contiguous allocations of descriptors, one allocation for every descriptor. Descriptor heaps contain many object types that are not part of a Pipeline State Object (PSO), such as Shader Resource Views (SRVs), Unordered Access Views (UAVs), Constant Buffer Views (CBVs), and Samplers. More...
 
struct  DescriptorHeapDesc
 
struct  DescriptorRange
 
struct  DescriptorRange1
 
class  Device
 Represents a virtual adapter; it is used to create command allocators, command lists, command queues, fences, resources, pipeline state objects, heaps, root signatures, samplers, and many resource views. More...
 
class  Device1
 Represents a virtual adapter, and expands on the range of methods provided by the Device class. More...
 
class  Device10
 
class  Device11
 
class  Device12
 
class  Device13
 
class  Device14
 
class  Device2
 Represents a virtual adapter. This class extends the Device1 class to create pipeline state objects from pipeline state stream descriptions. More...
 
class  Device3
 Represents a virtual adapter. This class extends the Device2 class to support the creation of special-purpose diagnostic heaps in system memory that persist even in the event of a GPU-fault or device-removed scenario. More...
 
class  Device4
 Represents a virtual adapter. More...
 
class  Device5
 Represents a virtual adapter. More...
 
class  Device6
 Represents a virtual adapter. More...
 
class  Device7
 Represents a virtual adapter. More...
 
class  Device8
 Represents a virtual adapter. More...
 
class  Device9
 
class  DeviceChild
 Adds the ability to get the device used to create it. More...
 
class  DeviceConfiguration
 
class  DeviceConfiguration1
 
struct  DeviceConfigurationDesc
 
class  DeviceFactory
 
class  DeviceRemovedExtendedData
 Provides runtime access to Device Removed Extended Data (DRED) data. More...
 
class  DeviceRemovedExtendedData1
 
struct  DeviceRemovedExtendedData1_
 
class  DeviceRemovedExtendedData2
 
struct  DeviceRemovedExtendedData2_
 
struct  DeviceRemovedExtendedData3_
 
struct  DeviceRemovedExtendedData_
 
class  DeviceRemovedExtendedDataSettings
 This class controls Device Removed Extended Data (DRED) settings. More...
 
class  DeviceRemovedExtendedDataSettings1
 
class  DeviceRemovedExtendedDataSettings2
 
struct  DiscardRegion
 
struct  DispatchArguments
 
struct  DispatchGraphDesc
 
struct  DispatchMeshArguments
 
struct  DispatchRaysDesc
 
struct  DrawArguments
 
struct  DrawIndexedArguments
 
struct  DREDAllocationNode
 
struct  DREDAllocationNode1
 
struct  DREDAutoBreadcrumbsOutput
 
struct  DREDAutoBreadcrumbsOutput1
 
struct  DREDBreadcrumbContext
 
struct  DREDPageFaultOutput
 
struct  DREDPageFaultOutput1
 
struct  DREDPageFaultOutput2
 
struct  DXILLibraryDesc
 
struct  DXILSubobjectToExportsAssociation
 
struct  ExistingCollectionDesc
 
struct  ExportDesc
 
struct  FeatureDataArchitecture
 
struct  FeatureDataArchitecture1
 
struct  FeatureDataCommandQueuePriority
 
struct  FeatureDataCrossNode
 
struct  FeatureDataD3D12Options
 
struct  FeatureDataD3D12Options1
 
struct  FeatureDataD3D12Options10
 
struct  FeatureDataD3D12Options11
 
struct  FeatureDataD3D12Options12
 
struct  FeatureDataD3D12Options13
 
struct  FeatureDataD3D12Options2
 
struct  FeatureDataD3D12Options3
 
struct  FeatureDataD3D12Options5
 
struct  FeatureDataD3D12Options6
 
struct  FeatureDataD3D12Options7
 
struct  FeatureDataD3D12Options8
 
struct  FeatureDataD3D12Options9
 
struct  FeatureDataDisplayable
 
struct  FeatureDataExistingHeaps
 
struct  FeatureDataFeatureLevels
 
struct  FeatureDataFormatInfo
 
struct  FeatureDataFormatSupport
 
struct  FeatureDataGpuVirtualAddressSupport
 
struct  FeatureDataMultiSampleQualityLevels
 
struct  FeatureDataProtectedResourceSessionSupport
 
struct  FeatureDataProtectedResourceSessionTypeCount
 
struct  FeatureDataProtectedResourceSessionTypes
 
struct  FeatureDataQueryMetaCommand
 
struct  FeatureDataRootSignature
 
struct  FeatureDataSerialization
 
struct  FeatureDataShaderCache
 
class  Fence
 Represents a fence, an object used for synchronization of the CPU and one or more GPUs. More...
 
class  Fence1
 Adds the ability to retrie the flags used to create the fence. This feature is useful primarily for opening shared fences. More...
 
struct  GenericProgramDesc
 
struct  GlobalBarrier
 
struct  GlobalRootSignature
 
struct  GPUDescriptorHandle
 
struct  GPUVirtualAddressAndStride
 
struct  GPUVirtualAddressRange
 
struct  GPUVirtualAddressRangeAndStride
 
class  GraphicsCommandList
 Encapsulates a list of graphics commands for rendering. Includes APIs for instrumenting the command list execution, and for setting and clearing the pipeline state. More...
 
class  GraphicsCommandList1
 Encapsulates a list of graphics commands for rendering, extending the GraphicsCommandList class to support programmable sample positions, atomic copies for implementing late-latch techniques, and optional depth-bounds testing. More...
 
class  GraphicsCommandList10
 
class  GraphicsCommandList2
 Encapsulates a list of graphics commands for rendering, extending the GraphicsCommandList1 class to support writing immediate values directly to a buffer. More...
 
class  GraphicsCommandList3
 Encapsulates a list of graphics commands for rendering. More...
 
class  GraphicsCommandList4
 Encapsulates a list of graphics commands for rendering, extending the GraphicsCommandList3 class to support ray tracing and render passes. More...
 
class  GraphicsCommandList5
 Encapsulates a list of graphics commands for rendering, extending the GraphicsCommandList4 class to support variable-rate shading (VRS). More...
 
class  GraphicsCommandList6
 
class  GraphicsCommandList7
 
class  GraphicsCommandList8
 
class  GraphicsCommandList9
 
struct  GraphicsPipelineStateDesc
 
class  Heap
 A heap is an abstraction of contiguous memory allocation, used to manage physical memory. This heap can be used with Resource objects to support placed resources or reserved resources. More...
 
class  Heap1
 
struct  HeapDesc
 
struct  HeapProperties
 
struct  HitGroupDesc
 
struct  IBStripCutValue
 
struct  IndexBufferView
 
struct  IndirectArgumentDesc
 
struct  InputElementDesc
 Describes a single element for the input-assembler stage of the graphics pipeline. More...
 
struct  InputLayoutDesc
 Describes the input-buffer data for the input-assembler stage. More...
 
class  LifetimeOwner
 Represents an application-defined callback used for being notified of lifetime changes of an object. More...
 
class  LifetimeTracker
 Represents facilities for controlling the lifetime a lifetime-tracked object. More...
 
struct  LocalRootSignature
 
struct  MemCopyDest
 
class  MetaCommand
 
struct  MetaCommandDesc
 
struct  MetaCommandParameterDesc
 
struct  MipRegion
 
struct  MultiNodeCPUInput
 
struct  MultiNodeGPUInput
 
struct  Node
 
struct  NodeCPUInput
 
struct  NodeGPUInput
 
struct  NodeId
 
struct  NodeMask
 
struct  NodeOutputOverrides
 
class  Object
 A base class from which Device and DeviceChild inherit from. It provides methods to associate private data and annotate object names. More...
 
struct  PackedMipInfo
 
class  Pageable
 Classes derived from Pageable encapsulates some amount of GPU-accessible memory. More...
 
class  PipelineLibrary
 Manages a pipeline library, in particular loading and retrieving individual PSOs. More...
 
class  PipelineLibrary1
 Manages a pipeline library. This class extends the PipelineLibrary class to load PSOs from a pipeline state stream description. More...
 
class  PipelineState
 Represents the state of all currently set shaders as well as certain fixed function state objects. More...
 
struct  PipelineStateStreamDesc
 Describes a pipeline state stream. More...
 
struct  PlacedSubresourceFootprint
 
struct  PrimitiveTopologyDesc
 
struct  ProgramIdentifier
 
class  ProtectedResourceSession
 Monitors the validity of a protected resource session. More...
 
class  ProtectedResourceSession1
 Monitors the validity of a protected resource session. More...
 
struct  ProtectedResourceSessionDesc
 
struct  ProtectedResourceSessionDesc1
 
class  ProtectedSession
 Offers base functionality that allows for a consistent way to monitor the validity of a session across the different types of sessions. The only type of session currently available is of type ProtectedResourceSession. More...
 
struct  QueryDataPipelineStatistics
 
struct  QueryDataPipelineStatistics1
 
struct  QueryDataStreamOutputStatistics
 
class  QueryHeap
 Manages a query heap. A query heap holds an array of queries, referenced by indexes. More...
 
struct  QueryHeapDesc
 
struct  Range
 
struct  RangeUInt64
 
struct  RasterizerDesc
 Describes rasterizer state. More...
 
struct  RaytracingAABB
 
struct  RaytracingAccelerationStructurePostbuildInfoCompactedSizeDesc
 
struct  RaytracingAccelerationStructurePostbuildInfoCurrentSizeDesc
 
struct  RaytracingAccelerationStructurePostbuildInfoDesc
 
struct  RaytracingAccelerationStructurePostbuildInfoSerializationDesc
 
struct  RaytracingAccelerationStructurePostbuildInfoToolsVisualizationDesc
 
struct  RaytracingAccelerationStructurePrebuildInfo
 
struct  RaytracingAccelerationStructureSRV
 Alias for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV. More...
 
struct  RaytracingGeometryAABBsDesc
 
struct  RaytracingGeometryDesc
 
struct  RaytracingGeometryTrianglesDesc
 
struct  RaytracingInstanceDesc
 
struct  RaytracingPipelineConfig
 
struct  RaytracingPipelineConfig1
 
struct  RaytracingShaderConfig
 
struct  RenderPassBeginningAccess
 
struct  RenderPassBeginningAccessClearParameters
 
struct  RenderPassBeginningAccessPreserveLocalParameters
 
struct  RenderPassDepthStencilDesc
 
struct  RenderPassEndingAccess
 
struct  RenderPassEndingAccessPreserveLocalParameters
 
struct  RenderPassEndingAccessResolveParameters
 
struct  RenderPassEndingAccessResolveSubresourceParameters
 
struct  RenderPassRenderTargetDesc
 
struct  RenderTargetBlendDesc
 Describes the blend state for a render target. More...
 
struct  RenderTargetFormatArray
 Wraps an array of render target formats. More...
 
struct  RenderTargetViewDesc
 
class  Resource
 Encapsulates a generalized ability of the CPU and GPU to read and write to physical memory, or heaps. It contains abstractions for organizing and manipulating simple arrays of data as well as multidimensional data optimized for shader sampling. More...
 
class  Resource1
 
class  Resource2
 
struct  ResourceAliasingBarrier
 
struct  ResourceAllocationInfo
 
struct  ResourceAllocationInfo1
 
struct  ResourceBarrier
 
struct  ResourceDesc
 
struct  ResourceDesc1
 
struct  ResourceTransitionBarrier
 
struct  ResourceUAVBarrier
 
struct  RootConstants
 
struct  RootDescriptor
 
struct  RootDescriptor1
 
struct  RootDescriptorTable
 
struct  RootDescriptorTable1
 
struct  RootParameter
 
struct  RootParameter1
 
class  RootSignature
 The root signature defines what resources are bound to the graphics pipeline. A root signature is configured by the app and links command lists to the resources the shaders require. Currently, there is one graphics and one compute root signature per app. More...
 
struct  RootSignatureDesc
 
struct  RootSignatureDesc1
 
struct  RootSignatureDesc2
 
class  RootSignatureDeserializer
 Contains a method to return the deserialized D3D12_ROOT_SIGNATURE_DESC data structure, of a serialized root signature version 1.0. More...
 
struct  SampleMask
 
struct  SamplePosition
 
struct  SamplerDesc
 
struct  SamplerDesc2
 
class  SDKConfiguration
 
class  SDKConfiguration1
 
struct  SerializedDataDriverMatchingIdentifier
 
struct  SerializedRaytracingAccelerationStructureHeader
 
struct  SetGenericPipelineDesc
 
struct  SetProgramDesc
 
struct  SetRaytracingPipelineDesc
 
struct  SetWorkGraphDesc
 
struct  ShaderBytecode
 Describes shader data. More...
 
class  ShaderCacheSession
 
struct  ShaderCacheSessionDesc
 
struct  ShaderNode
 
struct  ShaderResourceViewDesc
 Alias for D3D12_SHADER_RESOURCE_VIEW_DESC. More...
 
class  StateObject
 Represents a variable amount of configuration state, including shaders, that an application manages as a single unit and which is given to a driver atomically to process, such as compile or optimize. Create a state object by calling Device5::CreateStateObject. More...
 
struct  StateObjectConfig
 
struct  StateObjectDesc
 
class  StateObjectProperties
 Provides methods for getting and setting the properties of an StateObject. To retrieve an instance of this type, call StateObject::As<StateObjectProperties>(). More...
 
class  StateObjectProperties1
 Provides methods for getting and setting the properties of an StateObject. To retrieve an instance of this type, call StateObject::As<StateObjectProperties1>(). More...
 
struct  StateSubobject
 
struct  StaticSamplerDesc
 
struct  StaticSamplerDesc1
 
struct  StencilOperationsDesc
 Describes stencil operations that can be performed based on the results of stencil test. More...
 
struct  StreamOutputBufferView
 
struct  StreamOutputDeclarationEntry
 Describes a vertex element in a vertex buffer in an output slot. More...
 
struct  StreamOutputDesc
 Describes a streaming output buffer. More...
 
struct  SubobjectToExportsAssociation
 
struct  SubResourceData
 
struct  SubresourceFootprint
 
struct  SubresourceInfo
 
struct  SubresourceRangeUInt64
 
struct  SubresourceTiling
 
class  SwapChainAssistant
 
struct  Tex1DArrayDSV
 
struct  Tex1DArrayRTV
 
struct  Tex1DArraySRV
 
struct  Tex1DArrayUAV
 
struct  Tex1DDSV
 
struct  Tex1DRTV
 
struct  Tex1DSRV
 
struct  Tex1DUAV
 
struct  Tex2DArrayDSV
 
struct  Tex2DArrayRTV
 
struct  Tex2DArraySRV
 
struct  Tex2DArrayUAV
 
struct  Tex2DDSV
 
struct  Tex2DMSArrayDSV
 
struct  Tex2DMSArrayRTV
 
struct  Tex2DMSArraySRV
 Alias for D3D12_TEX2DMS_ARRAY_SRV. More...
 
struct  Tex2DMSArrayUAV
 
struct  Tex2DMSDSV
 
struct  Tex2DMSRTV
 
struct  Tex2DMSSRV
 Alias for D3D12_TEX2DMS_SRV. More...
 
struct  Tex2DMSUAV
 
struct  Tex2DRTV
 
struct  Tex2DSRV
 Alias for D3D12_TEX2D_SRV. More...
 
struct  Tex2DUAV
 
struct  Tex3DRTV
 
struct  Tex3DSRV
 
struct  Tex3DUAV
 
struct  TexCubeArraySRV
 
struct  TexCubeSRV
 
struct  TextureBarrier
 
struct  TextureCopyLocation
 
struct  ThreadLaunchOverrides
 
struct  TiledResourceCoordinate
 
struct  TileRegionSize
 
struct  TileShape
 
class  Tools
 This class is used to configure the runtime for tools such as PIX. Its not intended or supported for any other scenario. More...
 
struct  UnorderedAccessViewDesc
 
struct  VersionedDeviceRemovedExtendedData
 
struct  VersionedRootSignatureDesc
 
class  VersionedRootSignatureDeserializer
 Contains methods to return the deserialized D3D12_ROOT_SIGNATURE_DESC1 data structure, of any version of a serialized root signature. More...
 
struct  VertexBufferView
 
struct  ViewInstanceLocation
 
struct  ViewInstancingDesc
 
struct  Viewport
 Describes the dimensions of a viewport. More...
 
class  VirtualizationGuestDevice
 
struct  WorkGraphDesc
 
struct  WorkGraphMemoryRequirements
 
class  WorkGraphProperties
 Wraps ID3D12WorkGraphProperties, an interface exported by ID3D12StateObject/StateObject, focused on reflecting information about work graphs that might be relevant to the API user. More...
 
struct  WriteBufferImmediateParameter
 

Typedefs

using GPUVirtualAddress = UInt64
 
using Rectangle = Windows::Rectangle
 
using ShaderModel = D3D_SHADER_MODEL
 
using FeatureDataShaderModel = D3D12_FEATURE_DATA_SHADER_MODEL
 
using ShaderResourceViewType = SRVDimension
 
using UnorderedAccessViewType = UAVDimension
 
using RenderTargetViewType = RTVDimension
 
using DepthStencilViewFlags = DSVFlags
 
using DepthStencilViewType = DSVDimension
 

Enumerations

enum class  CommandListType : Int32 {
  Direct = D3D12_COMMAND_LIST_TYPE_DIRECT ,
  Bundle = D3D12_COMMAND_LIST_TYPE_BUNDLE ,
  Compute = D3D12_COMMAND_LIST_TYPE_COMPUTE ,
  Copy = D3D12_COMMAND_LIST_TYPE_COPY ,
  VideoDecode = D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE ,
  VideoProcess = D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS ,
  VideoEncode = D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE
}
 Specifies the type of a command list. More...
 
enum class  CommandQueueFlags : Int32 {
  None = D3D12_COMMAND_QUEUE_FLAG_NONE ,
  DisableGpuTimeout = D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT
}
 Specifies flags to be used when creating a command queue. More...
 
enum class  CommandQueuePriority : Int32 {
  Normal = D3D12_COMMAND_QUEUE_PRIORITY_NORMAL ,
  High = D3D12_COMMAND_QUEUE_PRIORITY_HIGH ,
  Realtime = D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME
}
 Defines priority levels for a command queue. More...
 
enum class  PrimitiveTopologyType : Int32 {
  Undefined = D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED ,
  Point = D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT ,
  Line = D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE ,
  Triangle = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE ,
  Patch = D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH
}
 Specifies how the pipeline interprets geometry or hull shader input primitives. More...
 
enum class  InputClassification : Int32 {
  PerVertexData = D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA ,
  PerInstanceData = D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA
}
 
enum class  FillMode : Int32 {
  Unknown = 0 ,
  Wireframe = D3D12_FILL_MODE_WIREFRAME ,
  Solid = D3D12_FILL_MODE_SOLID
}
 Specifies the fill mode to use when rendering triangles. More...
 
enum class  CullMode : Int32 {
  None = D3D12_CULL_MODE_NONE ,
  Front = D3D12_CULL_MODE_FRONT ,
  Back = D3D12_CULL_MODE_BACK
}
 Specifies triangles facing a particular direction are not drawn. More...
 
enum class  ComparisonFunction : Int32 {
  Unknown = 0 ,
  Never = D3D12_COMPARISON_FUNC_NEVER ,
  Less = D3D12_COMPARISON_FUNC_LESS ,
  Equal = D3D12_COMPARISON_FUNC_EQUAL ,
  LessOrEqual = D3D12_COMPARISON_FUNC_LESS_EQUAL ,
  Greater = D3D12_COMPARISON_FUNC_GREATER ,
  NotEqual = D3D12_COMPARISON_FUNC_NOT_EQUAL ,
  GreaterOrEqual = D3D12_COMPARISON_FUNC_GREATER_EQUAL ,
  Always = D3D12_COMPARISON_FUNC_ALWAYS
}
 Specifies comparison options. A comparison option determines how the runtime compares source (new) data against destination (existing) data before storing the new data. More...
 
enum class  DepthWriteMask : Int32 {
  Zero = D3D12_DEPTH_WRITE_MASK_ZERO ,
  All = D3D12_DEPTH_WRITE_MASK_ALL
}
 Identifies the portion of a depth-stencil buffer for writing depth data. More...
 
enum class  StencilOperation : Int32 {
  Keep = D3D12_STENCIL_OP_KEEP ,
  Zero = D3D12_STENCIL_OP_ZERO ,
  Replace = D3D12_STENCIL_OP_REPLACE ,
  IncrementIfNotSaturated = D3D12_STENCIL_OP_INCR_SAT ,
  DecrementIfNotSaturated = D3D12_STENCIL_OP_DECR_SAT ,
  Invert = D3D12_STENCIL_OP_INVERT ,
  Increment = D3D12_STENCIL_OP_INCR ,
  Decrement = D3D12_STENCIL_OP_DECR
}
 Identifies the stencil operations that can be performed during depth-stencil testing. More...
 
enum class  Blend : Int32 {
  Zero = D3D12_BLEND_ZERO ,
  One = D3D12_BLEND_ONE ,
  SourceColor = D3D12_BLEND_SRC_COLOR ,
  InvertSourceColor = D3D12_BLEND_INV_SRC_COLOR ,
  SourceAlpha = D3D12_BLEND_SRC_ALPHA ,
  InvertSourceAlpha = D3D12_BLEND_INV_SRC_ALPHA ,
  DestinationAlpha = D3D12_BLEND_DEST_ALPHA ,
  InvertDestinationAlpha = D3D12_BLEND_INV_DEST_ALPHA ,
  DestinationColor = D3D12_BLEND_DEST_COLOR ,
  InvertDestinationColor = D3D12_BLEND_INV_DEST_COLOR ,
  SourceAlphaSaturate = D3D12_BLEND_SRC_ALPHA_SAT ,
  BlendFactor = D3D12_BLEND_BLEND_FACTOR ,
  InvertBlendFactor = D3D12_BLEND_INV_BLEND_FACTOR ,
  Source1Color = D3D12_BLEND_SRC1_COLOR ,
  InvertSource1Color = D3D12_BLEND_INV_SRC1_COLOR ,
  Source1Alpha = D3D12_BLEND_SRC1_ALPHA ,
  InvertSource1Alpha = D3D12_BLEND_INV_SRC1_ALPHA ,
  AlphaFactor = D3D12_BLEND_ALPHA_FACTOR ,
  InvertAlphaFactor = D3D12_BLEND_INV_ALPHA_FACTOR
}
 Specifies blend factors, which modulate values for the pixel shader and render target. More...
 
enum class  BlendOperation : Int32 {
  Add = D3D12_BLEND_OP_ADD ,
  Subtract = D3D12_BLEND_OP_SUBTRACT ,
  ReverseSubtract = D3D12_BLEND_OP_REV_SUBTRACT ,
  Min = D3D12_BLEND_OP_MIN ,
  Max = D3D12_BLEND_OP_MAX
}
 Specifies RGB or alpha blending operations. More...
 
enum class  ColorWriteEnable : UInt8 {
  None = 0 ,
  Red = D3D12_COLOR_WRITE_ENABLE_RED ,
  Green = D3D12_COLOR_WRITE_ENABLE_GREEN ,
  Blue = D3D12_COLOR_WRITE_ENABLE_BLUE ,
  Alpha = D3D12_COLOR_WRITE_ENABLE_ALPHA ,
  All = D3D12_COLOR_WRITE_ENABLE_ALL
}
 Identifies which components of each pixel of a render target are writable during blending. More...
 
enum  LogicOperation : Int32 {
  Clear = D3D12_LOGIC_OP_CLEAR ,
  Set = D3D12_LOGIC_OP_SET ,
  Copy = D3D12_LOGIC_OP_COPY ,
  Inverted = D3D12_LOGIC_OP_COPY_INVERTED ,
  Noop = D3D12_LOGIC_OP_NOOP ,
  Invert = D3D12_LOGIC_OP_INVERT ,
  And = D3D12_LOGIC_OP_AND ,
  NAnd = D3D12_LOGIC_OP_NAND ,
  Or = D3D12_LOGIC_OP_OR ,
  NOr = D3D12_LOGIC_OP_NOR ,
  Xor = D3D12_LOGIC_OP_XOR ,
  Equiv = D3D12_LOGIC_OP_EQUIV ,
  AndReverse = D3D12_LOGIC_OP_AND_REVERSE ,
  AndInverted = D3D12_LOGIC_OP_AND_INVERTED ,
  OrReverse = D3D12_LOGIC_OP_OR_REVERSE ,
  OrInverted = D3D12_LOGIC_OP_OR_INVERTED
}
 Defines constants that specify logical operations to configure for a render target. More...
 
enum class  ConservativeRasterizationMode : Int32 {
  Off = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF ,
  On = D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON
}
 Identifies whether conservative rasterization is on or off. More...
 
enum class  IndexBufferStripCutValue : Int32 {
  Disabled = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED ,
  MaxUInt16 = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF ,
  MaxUInt32 = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF
}
 When using triangle strip primitive topology, vertex positions are interpreted as vertices of a continuous triangle “strip”. There is a special index value that represents the desire to have a discontinuity in the strip, the cut index value. This enum lists the supported cut values. More...
 
enum class  PipelineStateFlags : Int32 {
  None = D3D12_PIPELINE_STATE_FLAG_NONE ,
  ToolDebug = D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG
}
 Flags to control pipeline state. More...
 
enum class  PipelineStateSubobjectType : Int32 {
  RootSignature = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE ,
  Vs = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS ,
  Ps = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS ,
  Ds = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS ,
  Hs = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS ,
  Gs = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS ,
  Cs = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS ,
  StreamOutput = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT ,
  Blend = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND ,
  SampleMask = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK ,
  Rasterizer = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER ,
  DepthStencil = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL ,
  InputLayout = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT ,
  IbStripCutValue = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE ,
  PrimitiveTopology = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY ,
  RenderTargetFormats = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS ,
  DepthStencilFormat = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT ,
  SampleDesc = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC ,
  NodeMask = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK ,
  CachedPipelineState = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO ,
  Flags = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS ,
  DepthStencil1 = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 ,
  ViewInstancing = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING ,
  As = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS ,
  Ms = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS ,
  Maxvalid = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID
}
 Specifies the type of a sub-object in a pipeline state stream description. More...
 
enum class  Feature {
  Options = D3D12_FEATURE_D3D12_OPTIONS ,
  Architecture = D3D12_FEATURE_ARCHITECTURE ,
  FeatureLevels = D3D12_FEATURE_FEATURE_LEVELS ,
  FormatSupport = D3D12_FEATURE_FORMAT_SUPPORT ,
  MultisampleQualityLevels = D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS ,
  FormatInfo = D3D12_FEATURE_FORMAT_INFO ,
  GpuVirtualAddressSupport = D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT ,
  ShaderModel = D3D12_FEATURE_SHADER_MODEL ,
  Options1 = D3D12_FEATURE_D3D12_OPTIONS1 ,
  ProtectedResourceSessionSupport = D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT ,
  RootSignature = D3D12_FEATURE_ROOT_SIGNATURE ,
  Architecture1 = D3D12_FEATURE_ARCHITECTURE1 ,
  Options2 = D3D12_FEATURE_D3D12_OPTIONS2 ,
  ShaderCache = D3D12_FEATURE_SHADER_CACHE ,
  CommandQueuePriority = D3D12_FEATURE_COMMAND_QUEUE_PRIORITY ,
  Options3 = D3D12_FEATURE_D3D12_OPTIONS3 ,
  ExistingHeaps = D3D12_FEATURE_EXISTING_HEAPS ,
  Options4 = D3D12_FEATURE_D3D12_OPTIONS4 ,
  Serialization = D3D12_FEATURE_SERIALIZATION ,
  CrossNode = D3D12_FEATURE_CROSS_NODE ,
  Options5 = D3D12_FEATURE_D3D12_OPTIONS5 ,
  Displayable = D3D12_FEATURE_DISPLAYABLE ,
  Options6 = D3D12_FEATURE_D3D12_OPTIONS6 ,
  QueryMetaCommand = D3D12_FEATURE_QUERY_META_COMMAND ,
  Options7 = D3D12_FEATURE_D3D12_OPTIONS7 ,
  ProtectedResourceSessionTypeCount = D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT ,
  ProtectedResourceSessionTypes = D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES ,
  Options8 = D3D12_FEATURE_D3D12_OPTIONS8 ,
  Options9 = D3D12_FEATURE_D3D12_OPTIONS9 ,
  Options10 = D3D12_FEATURE_D3D12_OPTIONS10 ,
  Options11 = D3D12_FEATURE_D3D12_OPTIONS11 ,
  Options12 = D3D12_FEATURE_D3D12_OPTIONS12 ,
  Options13 = D3D12_FEATURE_D3D12_OPTIONS13
}
 Defines constants that specify a Direct3D 12 feature or feature set to query about. When you want to query for the level to which an adapter supports a feature, pass one of these values to ID3D12Device::CheckFeatureSupport. More...
 
enum class  ShaderMinPrecisionSupport : Int32 {
  None = D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE ,
  Small = D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT ,
  Half = D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT
}
 
enum class  TiledResourcesTier : Int32 {
  NotSupported = D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED ,
  Tier1 = D3D12_TILED_RESOURCES_TIER_1 ,
  Tier2 = D3D12_TILED_RESOURCES_TIER_2 ,
  Tier3 = D3D12_TILED_RESOURCES_TIER_3 ,
  Tier4 = D3D12_TILED_RESOURCES_TIER_4
}
 
enum class  ResourceBindingTier : Int32 {
  Tier1 = D3D12_RESOURCE_BINDING_TIER_1 ,
  Tier2 = D3D12_RESOURCE_BINDING_TIER_2 ,
  Tier3 = D3D12_RESOURCE_BINDING_TIER_3
}
 
enum class  ConservativeRasterizationTier : Int32 {
  NotSupported = D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED ,
  Tier1 = D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 ,
  Tier2 = D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 ,
  Tier3 = D3D12_CONSERVATIVE_RASTERIZATION_TIER_3
}
 
enum class  FormatSupport1 : Int32 {
  None = D3D12_FORMAT_SUPPORT1_NONE ,
  Buffer = D3D12_FORMAT_SUPPORT1_BUFFER ,
  IAVertexBuffer = D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER ,
  IAIndexBuffer = D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER ,
  SoBuffer = D3D12_FORMAT_SUPPORT1_SO_BUFFER ,
  Texture1D = D3D12_FORMAT_SUPPORT1_TEXTURE1D ,
  Texture2D = D3D12_FORMAT_SUPPORT1_TEXTURE2D ,
  Texture3D = D3D12_FORMAT_SUPPORT1_TEXTURE3D ,
  Texturecube = D3D12_FORMAT_SUPPORT1_TEXTURECUBE ,
  ShaderLoad = D3D12_FORMAT_SUPPORT1_SHADER_LOAD ,
  ShaderSample = D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE ,
  ShaderSampleComparison = D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON ,
  ShaderSampleMonoText = D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT ,
  Mip = D3D12_FORMAT_SUPPORT1_MIP ,
  RenderTarget = D3D12_FORMAT_SUPPORT1_RENDER_TARGET ,
  Blendable = D3D12_FORMAT_SUPPORT1_BLENDABLE ,
  DepthStencil = D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL ,
  MultisampleResolve = D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE ,
  Display = D3D12_FORMAT_SUPPORT1_DISPLAY ,
  CastWithinBitLayout = D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT ,
  MultisampleRendertarget = D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET ,
  MultisampleLoad = D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD ,
  ShaderGather = D3D12_FORMAT_SUPPORT1_SHADER_GATHER ,
  BackBuffer_cast = D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST ,
  TypedUnorderedAccessView = D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW ,
  ShaderGatherComparison = D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON ,
  DecoderOutput = D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT ,
  VideoProcessorOutput = D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT ,
  VideoProcessorInput = D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT ,
  VideoEncoder = D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER
}
 
enum class  FormatSupport2 : Int32 {
  None = D3D12_FORMAT_SUPPORT2_NONE ,
  UavAtomicAdd = D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD ,
  UavAtomicBitwiseOps = D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS ,
  UavAtomicCompare_store_or_compare_exchange = D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE ,
  UavAtomicExchange = D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE ,
  UavAtomicSignedMinOrMax = D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX ,
  UavAtomicUnsignedMinOrMax = D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX ,
  UavTypedLoad = D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD ,
  UavTypedStore = D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE ,
  OutputMergerLogicOp = D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP ,
  Tiled = D3D12_FORMAT_SUPPORT2_TILED ,
  MultiplaneOverlay = D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY ,
  SamplerFeedback = D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK
}
 
enum class  MultisampleQualityLevelFlags : Int32 {
  None = D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE ,
  TiledResource = D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE
}
 
enum class  CrossNodeSharingTier : Int32 {
  NotSupported = D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED ,
  Tier1Emulated = D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED ,
  Tier1 = D3D12_CROSS_NODE_SHARING_TIER_1 ,
  Tier2 = D3D12_CROSS_NODE_SHARING_TIER_2 ,
  Tier3 = D3D12_CROSS_NODE_SHARING_TIER_3
}
 
enum class  ResourceHeapTier : Int32 {
  Tier1 = D3D12_RESOURCE_HEAP_TIER_1 ,
  Tier2 = D3D12_RESOURCE_HEAP_TIER_2
}
 
enum class  ProgrammableSamplePositionsTier : Int32 {
  NotSupported = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED ,
  Tier1 = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 ,
  Tier2 = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2
}
 
enum class  ViewInstancingTier : Int32 {
  NotSupported = D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED ,
  Tier1 = D3D12_VIEW_INSTANCING_TIER_1 ,
  Tier2 = D3D12_VIEW_INSTANCING_TIER_2 ,
  Tier3 = D3D12_VIEW_INSTANCING_TIER_3
}
 
enum class  RootSignatureVersion : Int32 {
  Version1 = D3D_ROOT_SIGNATURE_VERSION_1 ,
  Version1_0 = D3D_ROOT_SIGNATURE_VERSION_1_0 ,
  Version1_1 = D3D_ROOT_SIGNATURE_VERSION_1_1
}
 
enum class  ShaderCacheSupportFlags : Int32 {
  None = D3D12_SHADER_CACHE_SUPPORT_NONE ,
  SinglePso = D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO ,
  Library = D3D12_SHADER_CACHE_SUPPORT_LIBRARY ,
  AutomaticInprocCache = D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE ,
  AutomaticDiskCache = D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE ,
  DriverManagedCache = D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE ,
  ShaderControlClear = D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR ,
  ShaderSessionSelete = D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE
}
 
enum class  CommandListSupportFlags : Int32 {
  None = D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE ,
  Direct = D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT ,
  Bundle = D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE ,
  Compute = D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE ,
  Copy = D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY ,
  VideoDecode = D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE ,
  VideoProcess = D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS ,
  VideoEncode = D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE
}
 
enum class  SharedResourceCompatibilityTier : Int32 {
  Tier0 = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 ,
  Tier1 = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 ,
  Tier2 = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2
}
 
enum class  HeapSerializationTier : Int32 {
  Tier1 = D3D12_HEAP_SERIALIZATION_TIER_0 ,
  Tier10 = D3D12_HEAP_SERIALIZATION_TIER_10
}
 
enum class  RenderPassTier : Int32 {
  Tier0 = D3D12_RENDER_PASS_TIER_0 ,
  Tier1 = D3D12_RENDER_PASS_TIER_1 ,
  Tier2 = D3D12_RENDER_PASS_TIER_2
}
 
enum class  RaytracingTier : Int32 {
  Notsupported = D3D12_RAYTRACING_TIER_NOT_SUPPORTED ,
  Tier1_0 = D3D12_RAYTRACING_TIER_1_0 ,
  Tier1_1 = D3D12_RAYTRACING_TIER_1_1
}
 
enum class  VariableShadingRateTier : Int32 {
  NotSupported = D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED ,
  Tier1 = D3D12_VARIABLE_SHADING_RATE_TIER_1 ,
  Tier2 = D3D12_VARIABLE_SHADING_RATE_TIER_2
}
 
enum class  MeshShaderTier : Int32 {
  NotSupported = D3D12_MESH_SHADER_TIER_NOT_SUPPORTED ,
  Tier1 = D3D12_MESH_SHADER_TIER_1
}
 
enum class  SamplerFeedbackTier : Int32 {
  NotSupported = D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED ,
  Tier0_9 = D3D12_SAMPLER_FEEDBACK_TIER_0_9 ,
  Tier1_0 = D3D12_SAMPLER_FEEDBACK_TIER_1_0
}
 
enum class  WaveMmaTier : Int32 {
  NotSupported = D3D12_WAVE_MMA_TIER_NOT_SUPPORTED ,
  Tier1_0 = D3D12_WAVE_MMA_TIER_1_0
}
 
enum class  TriState : Int32 {
  Unknown = D3D12_TRI_STATE_UNKNOWN ,
  False = D3D12_TRI_STATE_FALSE ,
  True = D3D12_TRI_STATE_TRUE
}
 
enum class  HeapType : Int32 {
  Default = D3D12_HEAP_TYPE_DEFAULT ,
  Upload = D3D12_HEAP_TYPE_UPLOAD ,
  ReadBack = D3D12_HEAP_TYPE_READBACK ,
  Custom = D3D12_HEAP_TYPE_CUSTOM
}
 
enum class  CpuPageProperty : Int32 {
  Unknown = D3D12_CPU_PAGE_PROPERTY_UNKNOWN ,
  NotAvailable = D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE ,
  WriteCombine = D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE ,
  WriteBack = D3D12_CPU_PAGE_PROPERTY_WRITE_BACK
}
 
enum class  MemoryPool : Int32 {
  Unknown = D3D12_MEMORY_POOL_UNKNOWN ,
  L0 = D3D12_MEMORY_POOL_L0 ,
  L1 = D3D12_MEMORY_POOL_L1
}
 
enum class  HeapFlags : Int32 {
  None = D3D12_HEAP_FLAG_NONE ,
  Shared = D3D12_HEAP_FLAG_SHARED ,
  DenyBuffers = D3D12_HEAP_FLAG_DENY_BUFFERS ,
  AllowDisplay = D3D12_HEAP_FLAG_ALLOW_DISPLAY ,
  SharedCrossAdapter = D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER ,
  DenyRtDsTextures = D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES ,
  DenyNonRtDsTextures = D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES ,
  HardwareProtected = D3D12_HEAP_FLAG_HARDWARE_PROTECTED ,
  AllowWriteWatch = D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH ,
  AllowShaderAtomics = D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS ,
  CreateNotResident = D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT ,
  CreateNotZeroed = D3D12_HEAP_FLAG_CREATE_NOT_ZEROED ,
  AllowAllBuffersAndTextures = D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES ,
  AllowOnlyBuffers = D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS ,
  AllowOnlyNonRtDsTextures = D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES ,
  AllowOnlyRtDsTextures = D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES
}
 
enum class  ResourceDimension : Int32 {
  Unknown = D3D12_RESOURCE_DIMENSION_UNKNOWN ,
  Buffer = D3D12_RESOURCE_DIMENSION_BUFFER ,
  Texture1D = D3D12_RESOURCE_DIMENSION_TEXTURE1D ,
  Texture2D = D3D12_RESOURCE_DIMENSION_TEXTURE2D ,
  Texture3D = D3D12_RESOURCE_DIMENSION_TEXTURE3D
}
 
enum class  TextureLayout : Int32 {
  Unknown = D3D12_TEXTURE_LAYOUT_UNKNOWN ,
  RowMajor = D3D12_TEXTURE_LAYOUT_ROW_MAJOR ,
  Undefined64KbSwizzle = D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE ,
  Standard64KbSwizzle = D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE
}
 
enum class  ResourceFlags : Int32 {
  None = D3D12_RESOURCE_FLAG_NONE ,
  AllowRenderTarget = D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET ,
  AllowDepthStencil = D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL ,
  AllowUnorderedAccess = D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS ,
  DenyShaderResource = D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE ,
  AllowCrossAdapter = D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER ,
  AllowSimultaneousAccess = D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS ,
  VideoDecodeReferenceOnly = D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY ,
  VideoEncodeReferenceOnly = D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY ,
  RaytracingAccelerationStructure = D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE
}
 
enum class  TileRangeFlags : UInt32 {
  None = D3D12_TILE_RANGE_FLAG_NONE ,
  Null = D3D12_TILE_RANGE_FLAG_NULL ,
  Skip = D3D12_TILE_RANGE_FLAG_SKIP ,
  ReuseSingleTile = D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE
}
 
enum class  TileMappingFlags : Int32 {
  None = D3D12_TILE_MAPPING_FLAG_NONE ,
  NoHazard = D3D12_TILE_MAPPING_FLAG_NO_HAZARD
}
 
enum class  TileCopyFlags : Int32 {
  None = D3D12_TILE_COPY_FLAG_NONE ,
  NoHazard = D3D12_TILE_COPY_FLAG_NO_HAZARD ,
  LinearBufferToSwizzledTiledResource = D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE ,
  SwizzledTiledResourceToLinearBuffer = D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER
}
 
enum class  ResourceStates : UInt32 {
  Common = D3D12_RESOURCE_STATE_COMMON ,
  VertexAndConstantBuffer = D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER ,
  IndexBuffer = D3D12_RESOURCE_STATE_INDEX_BUFFER ,
  RenderTarget = D3D12_RESOURCE_STATE_RENDER_TARGET ,
  UnorderedAccess = D3D12_RESOURCE_STATE_UNORDERED_ACCESS ,
  DepthWrite = D3D12_RESOURCE_STATE_DEPTH_WRITE ,
  DepthRead = D3D12_RESOURCE_STATE_DEPTH_READ ,
  NonPixelShaderResource = D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE ,
  PixelShaderResource = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE ,
  StreamOut = D3D12_RESOURCE_STATE_STREAM_OUT ,
  IndirectArgument = D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT ,
  CopyDest = D3D12_RESOURCE_STATE_COPY_DEST ,
  CopySource = D3D12_RESOURCE_STATE_COPY_SOURCE ,
  ResolveDest = D3D12_RESOURCE_STATE_RESOLVE_DEST ,
  ResolveSource = D3D12_RESOURCE_STATE_RESOLVE_SOURCE ,
  RaytracingAccelerationStructure = D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE ,
  ShadingRateSource = D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE ,
  GenericRead = D3D12_RESOURCE_STATE_GENERIC_READ ,
  AllShaderResource = D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE ,
  Present = D3D12_RESOURCE_STATE_PRESENT ,
  Predication = D3D12_RESOURCE_STATE_PREDICATION ,
  VideoDecodeRead = D3D12_RESOURCE_STATE_VIDEO_DECODE_READ ,
  VideoDecodeWrite = D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE ,
  VideoProcessRead = D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ ,
  VideoProcessWrite = D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE ,
  VideoEncodeRead = D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ ,
  VideoEncodeWrite = D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE
}
 
enum class  ResourceBarrierType : Int32 {
  Transition = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION ,
  Aliasing = D3D12_RESOURCE_BARRIER_TYPE_ALIASING ,
  UAV = D3D12_RESOURCE_BARRIER_TYPE_UAV ,
  UnorderedAccessView = UAV
}
 
enum class  ResourceBarrierFlags : Int32 {
  None = D3D12_RESOURCE_BARRIER_FLAG_NONE ,
  BeginOnly = D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY ,
  EndOnly = D3D12_RESOURCE_BARRIER_FLAG_END_ONLY
}
 
enum class  TextureCopyType : Int32 {
  SubresourceIndex = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX ,
  PlacedFootprint = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT
}
 
enum class  ResolveMode : Int32 {
  Decompress = D3D12_RESOLVE_MODE_DECOMPRESS ,
  Min = D3D12_RESOLVE_MODE_MIN ,
  Max = D3D12_RESOLVE_MODE_MAX ,
  Average = D3D12_RESOLVE_MODE_AVERAGE ,
  EncodeSamplerFeedback = D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK ,
  DecodeSamplerFeedback = D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK
}
 
enum class  ViewInstancingFlags : Int32 {
  None = D3D12_VIEW_INSTANCING_FLAG_NONE ,
  EnableViewInstanceMasking = D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING
}
 
enum class  ShaderComponentMapping : UInt32 {
  FromMemoryComponent0 = D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 ,
  FromMemoryComponent1 = D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 ,
  FromMemoryComponent2 = D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 ,
  FromMemoryComponent3 = D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 ,
  ForceValue0 = D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 ,
  ForceValue1 = D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1
}
 
enum class  BufferSRVFlags : Int32 {
  None = D3D12_BUFFER_SRV_FLAG_NONE ,
  Raw = D3D12_BUFFER_SRV_FLAG_RAW
}
 
enum class  SRVDimension {
  Unknown = D3D12_SRV_DIMENSION_UNKNOWN ,
  Buffer = D3D12_SRV_DIMENSION_BUFFER ,
  Texture1D = D3D12_SRV_DIMENSION_TEXTURE1D ,
  Texture1DArray = D3D12_SRV_DIMENSION_TEXTURE1DARRAY ,
  Texture2D = D3D12_SRV_DIMENSION_TEXTURE2D ,
  Texture2DArray = D3D12_SRV_DIMENSION_TEXTURE2DARRAY ,
  Texture2DMS = D3D12_SRV_DIMENSION_TEXTURE2DMS ,
  Texture2DMSArray = D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY ,
  Texture3D = D3D12_SRV_DIMENSION_TEXTURE3D ,
  TextureCube = D3D12_SRV_DIMENSION_TEXTURECUBE ,
  TextureCubeArray = D3D12_SRV_DIMENSION_TEXTURECUBEARRAY ,
  RaytracingAccelerationStructure = D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE
}
 Identifies the type of resource that will be viewed as a shader resource. More...
 
enum class  Filter {
  Empty = 0 ,
  None = 0 ,
  MinMagMIPPoint = D3D12_FILTER_MIN_MAG_MIP_POINT ,
  MinMagPointMIPLinear = D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR ,
  MinPointMagLinearMIPPoint = D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT ,
  MinPointMagMIPLinear = D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR ,
  MinLinearMagMIPPoint = D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT ,
  MinLinearMagPointMIPLinear = D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR ,
  MinMagLinearMIPPoint = D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT ,
  MinMagMIPLinear = D3D12_FILTER_MIN_MAG_MIP_LINEAR ,
  MinMagAnisotropicMIPPoint = D3D12_FILTER_MIN_MAG_ANISOTROPIC_MIP_POINT ,
  Anisotropic = D3D12_FILTER_ANISOTROPIC ,
  ComparisonMinMagMIPPoint = D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT ,
  ComparisonMinMagPointMIPLinear = D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR ,
  ComparisonMinPointMagLinearMIPPoint = D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT ,
  ComparisonMinPointMagMIPLinear = D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR ,
  ComparisonMinLinearMagMIPPoint = D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT ,
  ComparisonMinLinearMagPointMIPLinear = D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR ,
  ComparisonMinMagLinearMIPPoint = D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT ,
  ComparisonMinMagMIPLinear = D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR ,
  ComparisonMinMagAnisotropicMIPPoint = D3D12_FILTER_COMPARISON_MIN_MAG_ANISOTROPIC_MIP_POINT ,
  ComparisonAnisotropic = D3D12_FILTER_COMPARISON_ANISOTROPIC ,
  MinimumMinMAGMIPPoint = D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT ,
  MinimumMinMagPointMIPLinear = D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR ,
  MinimumMinPointMagLinearMIPPoint = D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT ,
  MinimumMinPointMagMIPLinear = D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR ,
  MinimumMinLinearMagMIPPoint = D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT ,
  MinimumMinLinearMagPointMIPLinear = D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR ,
  MinimumMinMagLinearMIPPoint = D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT ,
  MinimumMinMagMIPLinear = D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR ,
  MinimumMinMagAnisotropicMIPPoint = D3D12_FILTER_MINIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT ,
  MinimumAnisotropic = D3D12_FILTER_MINIMUM_ANISOTROPIC ,
  MaximumMinMagMIPPoint = D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT ,
  MaximumMinMagPointMIPLinear = D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR ,
  MaximumMinPointMagLinearMIPPoint = D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT ,
  MaximumMinPointMagMIPLinear = D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR ,
  MaximumMinLinearMagMIPPoint = D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT ,
  MaximumMinLinearMagPointMIPLinear = D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR ,
  MaximumMinMagLinearMIPPoint = D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT ,
  MaximumMinMagMIPLinear = D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR ,
  MaximumMinMagAnisotropicMIPPoint = D3D12_FILTER_MAXIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT ,
  MaximumAnisotropic = D3D12_FILTER_MAXIMUM_ANISOTROPIC
}
 
enum class  FilterType {
  Point = D3D12_FILTER_TYPE_POINT ,
  Linear = D3D12_FILTER_TYPE_LINEAR
}
 
enum class  FilterReductionType {
  Standard = D3D12_FILTER_REDUCTION_TYPE_STANDARD ,
  Comparison = D3D12_FILTER_REDUCTION_TYPE_COMPARISON ,
  Minimum = D3D12_FILTER_REDUCTION_TYPE_MINIMUM ,
  Maximum = D3D12_FILTER_REDUCTION_TYPE_MAXIMUM
}
 
enum class  TextureAddressMode {
  None = 0 ,
  Wrap = D3D12_TEXTURE_ADDRESS_MODE_WRAP ,
  Mirror = D3D12_TEXTURE_ADDRESS_MODE_MIRROR ,
  Clamp = D3D12_TEXTURE_ADDRESS_MODE_CLAMP ,
  Border = D3D12_TEXTURE_ADDRESS_MODE_BORDER ,
  MirrorOnce = D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE
}
 
enum class  SamplerFlags : UInt32 {
  None = D3D12_SAMPLER_FLAG_NONE ,
  UInt32BorderColor = D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR ,
  NonNormalizedCoordinates = D3D12_SAMPLER_FLAG_NON_NORMALIZED_COORDINATES
}
 
enum class  BufferUAVFlags : UInt32 {
  None = D3D12_BUFFER_UAV_FLAG_NONE ,
  Raw = D3D12_BUFFER_UAV_FLAG_RAW
}
 
enum class  UAVDimension {
  Unknown = D3D12_UAV_DIMENSION_UNKNOWN ,
  Buffer = D3D12_UAV_DIMENSION_BUFFER ,
  Texture1D = D3D12_UAV_DIMENSION_TEXTURE1D ,
  Texture1Darray = D3D12_UAV_DIMENSION_TEXTURE1DARRAY ,
  Texture2D = D3D12_UAV_DIMENSION_TEXTURE2D ,
  Texture2DArray = D3D12_UAV_DIMENSION_TEXTURE2DARRAY ,
  Texture2DMS = D3D12_UAV_DIMENSION_TEXTURE2DMS ,
  Texture2DMSarray = D3D12_UAV_DIMENSION_TEXTURE2DMSARRAY ,
  Texture3D = D3D12_UAV_DIMENSION_TEXTURE3D
}
 
enum class  RTVDimension {
  Unknown = D3D12_RTV_DIMENSION_UNKNOWN ,
  Buffer = D3D12_RTV_DIMENSION_BUFFER ,
  Texture1D = D3D12_RTV_DIMENSION_TEXTURE1D ,
  Texture1DArray = D3D12_RTV_DIMENSION_TEXTURE1DARRAY ,
  Texture2D = D3D12_RTV_DIMENSION_TEXTURE2D ,
  Texture2DArray = D3D12_RTV_DIMENSION_TEXTURE2DARRAY ,
  Texture2DMS = D3D12_RTV_DIMENSION_TEXTURE2DMS ,
  Texture2DMSArray = D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY ,
  Texture3D = D3D12_RTV_DIMENSION_TEXTURE3D
}
 Identifies the type of resource to view as a render target. More...
 
enum class  DSVFlags : UInt32 {
  None = D3D12_DSV_FLAG_NONE ,
  ReadOnlyDepth = D3D12_DSV_FLAG_READ_ONLY_DEPTH ,
  ReadOnlyStencil = D3D12_DSV_FLAG_READ_ONLY_STENCIL
}
 
enum class  DSVDimension {
  Unknown = 0 ,
  Texture1D = 1 ,
  Texture1DArray = 2 ,
  Texture2D = 3 ,
  Texture2DArray = 4 ,
  Texture2DMS = 5 ,
  Texture2DMSArray = 6
}
 
enum class  ClearFlags : UInt32 {
  Depth = D3D12_CLEAR_FLAG_DEPTH ,
  Stencil = D3D12_CLEAR_FLAG_STENCIL
}
 
enum class  FenceFlags : UInt32 {
  D3D12_FENCE_FLAG_NONE = 0 ,
  D3D12_FENCE_FLAG_SHARED = 0x1 ,
  D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2 ,
  D3D12_FENCE_FLAG_NON_MONITORED = 0x4
}
 
enum class  DescriptorHeapType : Int32 {
  CBV_SRV_UAV = D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV ,
  Sampler = D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER ,
  RTV = D3D12_DESCRIPTOR_HEAP_TYPE_RTV ,
  DSV = D3D12_DESCRIPTOR_HEAP_TYPE_DSV ,
  NumTypes = D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES
}
 
enum class  DescriptorHeapFlags : UInt32 {
  None = D3D12_DESCRIPTOR_HEAP_FLAG_NONE ,
  ShaderVisible = D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE
}
 
enum class  DescriptorRangeType {
  ShaderResourceView = D3D12_DESCRIPTOR_RANGE_TYPE_SRV ,
  UnorderedAccessView = D3D12_DESCRIPTOR_RANGE_TYPE_UAV ,
  ConstantBufferView = D3D12_DESCRIPTOR_RANGE_TYPE_CBV ,
  Sampler = D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER
}
 
enum class  ShaderVisibility {
  All = D3D12_SHADER_VISIBILITY_ALL ,
  Vertex = D3D12_SHADER_VISIBILITY_VERTEX ,
  Hull = D3D12_SHADER_VISIBILITY_HULL ,
  Domain = D3D12_SHADER_VISIBILITY_DOMAIN ,
  Geometry = D3D12_SHADER_VISIBILITY_GEOMETRY ,
  Pixel = D3D12_SHADER_VISIBILITY_PIXEL ,
  Amplification = D3D12_SHADER_VISIBILITY_AMPLIFICATION ,
  Mesh = D3D12_SHADER_VISIBILITY_MESH
}
 
enum class  RootParameterType {
  DescriptorTable = D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE ,
  Constants = D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS ,
  ConstantBufferView = D3D12_ROOT_PARAMETER_TYPE_CBV ,
  ShaderResourceView = D3D12_ROOT_PARAMETER_TYPE_SRV ,
  UnorderedAccessView = D3D12_ROOT_PARAMETER_TYPE_UAV
}
 
enum class  RootSignatureFlags : UInt32 {
  None = D3D12_ROOT_SIGNATURE_FLAG_NONE ,
  AllowInputAssemblerInputLayout = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT ,
  DenyVertexShaderRootAccess = D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS ,
  DenyHullShaderRootAccess = D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS ,
  DenyDomainShaderRootAccess = D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS ,
  DenyGeometryShaderRootAccess = D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS ,
  DenyPixelShaderRootAccess = D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS ,
  AllowStreamOutput = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT ,
  LocalRootSignature = D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE ,
  DenyAmplificationShaderRootAccess = D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS ,
  DenyMeshShaderRootAccess = D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS ,
  CBV_SRV_UAVHeapDirectlyIndexed = D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED ,
  SamplerHeapDirectlyIndexed = D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED
}
 
enum class  StaticBorderColor {
  TransparentBlack = D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK ,
  OpaqueBlack = D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK ,
  OpaqueWhite = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE ,
  OpaqueBlackUInt = D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT ,
  OpaqueWhiteUInt = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT
}
 
enum class  DescriptorRangeFlags : UInt32 {
  None = D3D12_DESCRIPTOR_RANGE_FLAG_NONE ,
  DescriptorsVolatile = D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE ,
  DataVolatile = D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE ,
  DataStaticWhileSetAtExecute = D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE ,
  DataStatic = D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC ,
  DescriptorsStaticKeepingBufferBoundsChecks = D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS
}
 
enum class  RootDescriptorFlags : UInt32 {
  None = D3D12_ROOT_DESCRIPTOR_FLAG_NONE ,
  DataVolatile = D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE ,
  DataStaticWhileSetAtExecute = D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE ,
  DataStatic = D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC
}
 
enum class  QueryHeapType {
  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
}
 
enum class  QueryType {
  Occlusion = D3D12_QUERY_TYPE_OCCLUSION ,
  BinaryOcclusion = D3D12_QUERY_TYPE_BINARY_OCCLUSION ,
  Timestamp = D3D12_QUERY_TYPE_TIMESTAMP ,
  PipelineStatistics = D3D12_QUERY_TYPE_PIPELINE_STATISTICS ,
  StreamOutputStatisticsStream0 = D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 ,
  StreamOutputStatisticsStream1 = D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 ,
  StreamOutputStatisticsStream2 = D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 ,
  StreamOutputStatisticsStream3 = D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 ,
  VideoDecodeStatistics = D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS ,
  PipelineStatistics1 = D3D12_QUERY_TYPE_PIPELINE_STATISTICS1
}
 
enum class  PredicationOperation {
  EqualZero = D3D12_PREDICATION_OP_EQUAL_ZERO ,
  NotEqualZero = D3D12_PREDICATION_OP_NOT_EQUAL_ZERO
}
 
enum class  IndirectArgumentType {
  Draw = D3D12_INDIRECT_ARGUMENT_TYPE_DRAW ,
  DrawIndexed = D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED ,
  Dispatch = D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH ,
  VertexBuffer_view = D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW ,
  IndexBuffer_view = D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW ,
  Constant = D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT ,
  ConstantBuffer_view = D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW ,
  ShaderResourceView = D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW ,
  UnorderedAccessView = D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW ,
  DispatchRays = D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS ,
  DispatchMesh = D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH ,
  IncrementingConstant = D3D12_INDIRECT_ARGUMENT_TYPE_INCREMENTING_CONSTANT
}
 
enum class  WritebufferimmediateMode {
  Default = D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT ,
  MarkerIn = D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN ,
  MarkerOut = D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT
}
 
enum class  MultipleFenceWaitFlags : UInt32 {
  D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0 ,
  D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 0x1 ,
  D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0
}
 
enum class  ResidencyPriority {
  D3D12_RESIDENCY_PRIORITY_MINIMUM = D3D12_RESIDENCY_PRIORITY_MINIMUM ,
  D3D12_RESIDENCY_PRIORITY_LOW = D3D12_RESIDENCY_PRIORITY_LOW ,
  D3D12_RESIDENCY_PRIORITY_NORMAL = D3D12_RESIDENCY_PRIORITY_NORMAL ,
  D3D12_RESIDENCY_PRIORITY_HIGH = D3D12_RESIDENCY_PRIORITY_HIGH ,
  D3D12_RESIDENCY_PRIORITY_MAXIMUM = D3D12_RESIDENCY_PRIORITY_MAXIMUM
}
 
enum class  ResidencyFlags : UInt32 {
  None = D3D12_RESIDENCY_FLAG_NONE ,
  DenyOverbudget = D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET
}
 
enum class  CommandListFlags : UInt32 { None = D3D12_COMMAND_LIST_FLAG_NONE }
 
enum class  CommandPoolFlags : UInt32 { None = D3D12_COMMAND_POOL_FLAG_NONE }
 
enum class  CommandRecorderFlags : UInt32 { None = D3D12_COMMAND_RECORDER_FLAG_NONE }
 
enum class  ProtectedSessionStatus {
  Ok = D3D12_PROTECTED_SESSION_STATUS_OK ,
  Invalid = D3D12_PROTECTED_SESSION_STATUS_INVALID
}
 
enum class  ProtectedResourceSessionSupportFlags : UInt32 {
  None = D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE ,
  Supported = D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED
}
 
enum class  ProtectedResourceSessionFlags : UInt32 { None = D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE }
 
enum class  LifetimeState {
  InUse = D3D12_LIFETIME_STATE_IN_USE ,
  NotInUse = D3D12_LIFETIME_STATE_NOT_IN_USE
}
 
enum class  MetaCommandParameterType {
  Float = D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT ,
  UInt64 = D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 ,
  GPUVirtualAddress = D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS ,
  CPUDescriptorHandleHeapTypeCBV_SRV_UAV = D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV ,
  GPUDescriptorHandleHeapTypeCBV_SRV_UAV = D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV
}
 
enum class  MetaCommandParameterFlags : UInt32 {
  None = 0 ,
  Input = D3D12_META_COMMAND_PARAMETER_FLAG_INPUT ,
  Output = D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT
}
 
enum class  MetaCommandParameterStage {
  Creation = D3D12_META_COMMAND_PARAMETER_STAGE_CREATION ,
  Initialization = D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION ,
  Execution = D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION
}
 
enum class  GraphicsStates : UInt32 {
  None = D3D12_GRAPHICS_STATE_NONE ,
  IAVertexBuffers = D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS ,
  IAIndexBuffer = D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER ,
  IAPrimitiveTopology = D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY ,
  DescriptorHeap = D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP ,
  GraphicsRootSignature = D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE ,
  ComputeRootSignature = D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE ,
  RSViewports = D3D12_GRAPHICS_STATE_RS_VIEWPORTS ,
  RSScissorRects = D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS ,
  Predication = D3D12_GRAPHICS_STATE_PREDICATION ,
  OMRenderTargets = D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS ,
  OMStencilRef = D3D12_GRAPHICS_STATE_OM_STENCIL_REF ,
  OMBlendFactor = D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR ,
  PipelineState = D3D12_GRAPHICS_STATE_PIPELINE_STATE ,
  SOTargets = D3D12_GRAPHICS_STATE_SO_TARGETS ,
  OMDepthBounds = D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS ,
  SamplePositions = D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS ,
  ViewInstanceMask = D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK
}
 
enum class  StateSubobjectType {
  StateObjectConfig = D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG ,
  GlobalRootSignature = D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE ,
  LocalRootSignature = D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE ,
  NodeMask = D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK ,
  DXILLibrary = D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY ,
  ExistingCollection = D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION ,
  SubobjectToExportsAssociation = D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION ,
  DXILSubobjectToExportsAssociation = D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION ,
  RaytracingShaderConfig = D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG ,
  RaytracingPipelineConfig = D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG ,
  HitGroup = D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP ,
  RaytracingPipelineConfig1 = D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 ,
  WorkGraph = D3D12_STATE_SUBOBJECT_TYPE_WORK_GRAPH ,
  StreamOutput = D3D12_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT ,
  Blend = D3D12_STATE_SUBOBJECT_TYPE_BLEND ,
  SampleMask = D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_MASK ,
  Rasterizer = D3D12_STATE_SUBOBJECT_TYPE_RASTERIZER ,
  DepthStencil = D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL ,
  InputLayout = D3D12_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT ,
  IBStripCutValue = D3D12_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE ,
  PrimitiveTopology = D3D12_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY ,
  RenderTargetFormats = D3D12_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS ,
  DepthStencilFormat = D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT ,
  SampleDesc = D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_DESC ,
  Flags = D3D12_STATE_SUBOBJECT_TYPE_FLAGS ,
  DepthStencil1 = D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 ,
  ViewInstancing = D3D12_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING ,
  GenericProgram = D3D12_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM ,
  DepthStencil2 = D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 ,
  MaxValid = D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID
}
 
enum class  StateObjectFlags : UInt32 {
  None = D3D12_STATE_OBJECT_FLAG_NONE ,
  AllowLocalDependenciesOnExternalDefinitions = D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS ,
  AllowExternalDependenciesOnKocalDefinitions = D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS ,
  AllowStateObjectAdditions = D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS
}
 
enum class  ExportFlags : UInt32 { None = D3D12_EXPORT_FLAG_NONE }
 
enum class  HitGroupType {
  Triangles = D3D12_HIT_GROUP_TYPE_TRIANGLES ,
  ProceduralPrimitive = D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE
}
 
enum class  RaytracingPipelineFlags : UInt32 {
  None = D3D12_RAYTRACING_PIPELINE_FLAG_NONE ,
  SkipTriangles = D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES ,
  SkipProceduralPrimitives = D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES
}
 
enum class  NodeOverridesType {
  None = D3D12_NODE_OVERRIDES_TYPE_NONE ,
  BroadcastingLaunch = D3D12_NODE_OVERRIDES_TYPE_BROADCASTING_LAUNCH ,
  CoalescingLaunch = D3D12_NODE_OVERRIDES_TYPE_COALESCING_LAUNCH ,
  ThreadLaunch = D3D12_NODE_OVERRIDES_TYPE_THREAD_LAUNCH ,
  CommonCompute = D3D12_NODE_OVERRIDES_TYPE_COMMON_COMPUTE
}
 
enum class  NodeType { Shader = D3D12_NODE_TYPE_SHADER }
 
enum class  WorkGraphFlags : UInt32 {
  None = D3D12_WORK_GRAPH_FLAG_NONE ,
  IncludeAllAvailableNodes = D3D12_WORK_GRAPH_FLAG_INCLUDE_ALL_AVAILABLE_NODES
}
 
enum class  StateObjectType {
  Collection = D3D12_STATE_OBJECT_TYPE_COLLECTION ,
  RaytracingPipeline = D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE ,
  Executable = D3D12_STATE_OBJECT_TYPE_EXECUTABLE
}
 
enum class  RaytracingGeometryFlags : UInt32 {
  None = D3D12_RAYTRACING_GEOMETRY_FLAG_NONE ,
  Opaque = D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE ,
  NoDuplicateAnyhitInvocation = D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
}
 
enum class  RaytracingGeometryType {
  Triangles = D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES ,
  ProceduralPrimitiveAABBS = D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS
}
 
enum class  RaytracingInstanceFlags : UInt32 {
  None = D3D12_RAYTRACING_INSTANCE_FLAG_NONE ,
  TriangleCullDisable = D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE ,
  TriangleFrontCounterclockwise = D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE ,
  ForceOpaque = D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE ,
  ForceNonOpaque = D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE
}
 
enum class  RaytracingAccelerationStructureBuildFlags : UInt32 {
  None = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE ,
  AllowUpdate = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE ,
  AllowCompaction = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION ,
  PreferFastTrace = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE ,
  PreferFastBuild = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD ,
  MinimizeMemory = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY ,
  PerformUpdate = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE
}
 
enum class  RaytracingAccelerationStructureCopyMode {
  Clone = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE ,
  Compact = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT ,
  VisualizationDecodeForTools = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS ,
  Serialize = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE ,
  Deserialize = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE
}
 
enum class  RaytracingAccelerationStructureType {
  TopLevel = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL ,
  BottomLevel = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL
}
 
enum class  ElementsLayout {
  Array = D3D12_ELEMENTS_LAYOUT_ARRAY ,
  ArrayOfPointers = D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS
}
 
enum class  RaytracingAccelerationStructurePostbuildInfoType {
  CompactedSize = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE ,
  ToolsVisualization = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION ,
  Serialization = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION ,
  CurrentSize = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE
}
 
enum class  SerializedDataType { RaytracingAccelerationStructure = D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE }
 
enum class  DriverMatchingIdentifierStatus {
  CompatibleWithDevice = D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE ,
  UnsupportedType = D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE ,
  Unrecognized = D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED ,
  IncompatibleVersion = D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION ,
  IncompatibleType = D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE
}
 
enum class  RayFlags : UInt32 {
  None = D3D12_RAY_FLAG_NONE ,
  ForceOpaque = D3D12_RAY_FLAG_FORCE_OPAQUE ,
  ForceNonOpaque = D3D12_RAY_FLAG_FORCE_NON_OPAQUE ,
  AcceptFirstHitAndEndSearch = D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH ,
  SkipClosestHitShader = D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER ,
  CullBackFacingTriangles = D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES ,
  CullFrontFacingTriangles = D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES ,
  CullOpaque = D3D12_RAY_FLAG_CULL_OPAQUE ,
  CullNonOpaque = D3D12_RAY_FLAG_CULL_NON_OPAQUE ,
  SkipTriangles = D3D12_RAY_FLAG_SKIP_TRIANGLES ,
  SkipProceduralPrimitives = D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES
}
 
enum class  HitJind {
  FrontFace = D3D12_HIT_KIND_TRIANGLE_FRONT_FACE ,
  BackFace = D3D12_HIT_KIND_TRIANGLE_BACK_FACE
}
 
enum class  AutoBreadcrumbOperation {
  SetMarker = D3D12_AUTO_BREADCRUMB_OP_SETMARKER ,
  BeginEvent = D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT ,
  EndEvent = D3D12_AUTO_BREADCRUMB_OP_ENDEVENT ,
  DrawInstanced = D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED ,
  DrawIndexedInstanced = D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED ,
  ExecuteIndirect = D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT ,
  Dispatch = D3D12_AUTO_BREADCRUMB_OP_DISPATCH ,
  CopyBufferRegion = D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION ,
  CopyTextureRegion = D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION ,
  CopyResource = D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE ,
  CopyTiles = D3D12_AUTO_BREADCRUMB_OP_COPYTILES ,
  ResolveSubresource = D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE ,
  ClearRenderTargetView = D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW ,
  ClearUnorderedAccessView = D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW ,
  ClearDepthStencilView = D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW ,
  ResourceBarrier = D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER ,
  ExecuteBundle = D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE ,
  Present = D3D12_AUTO_BREADCRUMB_OP_PRESENT ,
  ResolveQueryData = D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA ,
  BeginSubmission = D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION ,
  EndSubmission = D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION ,
  DecodeFrame = D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME ,
  ProcessFrames = D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES ,
  AtomiccopybufferUInt32 = D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT ,
  AtomiccopybufferUInt64 = D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 ,
  ResolveSubresourceRegion = D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION ,
  WriteBufferImmediate = D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE ,
  DecodeFrame1 = D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 ,
  SetProtectedResourceSession = D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION ,
  DecodeFrame2 = D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 ,
  ProcessFrames1 = D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 ,
  BuildRaytracingAccelerationStructure = D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE ,
  EmitRaytracingAccelerationStructurePostbuildInfo = D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO ,
  CopyRaytracingAccelerationStructure = D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE ,
  DispatchRays = D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS ,
  InitializeMetaCommand = D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND ,
  ExecuteMetaCommand = D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND ,
  EstimateMotion = D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION ,
  ResolveMotionVectorHeap = D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP ,
  SetPipelineState1 = D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 ,
  InitializeExtensionCommand = D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND ,
  ExecuteExtensionCommand = D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND ,
  DispatchMesh = D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH ,
  EncodeFrame = D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME ,
  ResolveEncoderOutputMetadata = D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA ,
  Barrier = D3D12_AUTO_BREADCRUMB_OP_BARRIER ,
  BeginCommandList = D3D12_AUTO_BREADCRUMB_OP_BEGIN_COMMAND_LIST ,
  DispatchGraph = D3D12_AUTO_BREADCRUMB_OP_DISPATCHGRAPH ,
  SetProgram = D3D12_AUTO_BREADCRUMB_OP_SETPROGRAM
}
 
enum class  DREDVersion {
  _1_0 = D3D12_DRED_VERSION_1_0 ,
  _1_1 = D3D12_DRED_VERSION_1_1 ,
  _1_2 = D3D12_DRED_VERSION_1_2 ,
  _1_3 = D3D12_DRED_VERSION_1_3
}
 
enum class  DREDFlags : UInt32 {
  None = D3D12_DRED_FLAG_NONE ,
  ForceEnable = D3D12_DRED_FLAG_FORCE_ENABLE ,
  DisableAutoBreadcrumbs = D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS
}
 
enum class  DREDEnablement {
  SystemControlled = D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED ,
  ForcedOff = D3D12_DRED_ENABLEMENT_FORCED_OFF ,
  ForcedOn = D3D12_DRED_ENABLEMENT_FORCED_ON
}
 
enum class  DREDAllocationType {
  CommandQueue = D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE ,
  CommandAllocator = D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR ,
  PipelineState = D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE ,
  CommandList = D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST ,
  Fence = D3D12_DRED_ALLOCATION_TYPE_FENCE ,
  DescriptorHeap = D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP ,
  Heap = D3D12_DRED_ALLOCATION_TYPE_HEAP ,
  QueryHeap = D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP ,
  CommandSignature = D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE ,
  PipelineLibrary = D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY ,
  VideoDecoder = D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER ,
  VideoProcessor = D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR ,
  Resource = D3D12_DRED_ALLOCATION_TYPE_RESOURCE ,
  Pass = D3D12_DRED_ALLOCATION_TYPE_PASS ,
  Cryptosession = D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION ,
  Cryptosessionpolicy = D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY ,
  Protectedresourcesession = D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION ,
  VideoDecoder_heap = D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP ,
  CommandPool = D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL ,
  CommandRecorder = D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER ,
  StateObject = D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT ,
  Metacommand = D3D12_DRED_ALLOCATION_TYPE_METACOMMAND ,
  Schedulinggroup = D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP ,
  VideoMotionEstimator = D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR ,
  VideoMotionVectorHeap = D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP ,
  VideoExtension_command = D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND ,
  VideoEncoder = D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER ,
  VideoEncoder_heap = D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP ,
  Invalid = D3D12_DRED_ALLOCATION_TYPE_INVALID
}
 
enum class  DREDPageFaultFlags : UInt32 { None = D3D12_DRED_PAGE_FAULT_FLAGS_NONE }
 
enum class  DREDDeviceState {
  Unknown = D3D12_DRED_DEVICE_STATE_UNKNOWN ,
  Hung = D3D12_DRED_DEVICE_STATE_HUNG ,
  Fault = D3D12_DRED_DEVICE_STATE_FAULT ,
  PageFault = D3D12_DRED_DEVICE_STATE_PAGEFAULT
}
 
enum class  BackgroundProcessingMode {
  Allowed = D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED ,
  AllowIntrusiveMeasurements = D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS ,
  DisableBackgroundWork = D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK ,
  DisableProfilingBySystem = D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM
}
 
enum class  MeasurementsAction {
  KeepAll = D3D12_MEASUREMENTS_ACTION_KEEP_ALL ,
  CommitResults = D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS ,
  CommitResultsHighPriority = D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY ,
  DiscardPrevious = D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS
}
 
enum class  RenderPassBeginningAccessType {
  Discard = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD ,
  Preserve = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE ,
  Clear = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR ,
  NoAccess = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS ,
  PreserveLocalRender = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER ,
  PreserveLocalSRV = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV ,
  PreserveLocalUAV = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_UAV
}
 
enum class  RenderPassEndingAccessType {
  Discard = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD ,
  Preserve = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE ,
  Resolve = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE ,
  NoAccess = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS ,
  PreserveLocalRender = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER ,
  PreserveLocalSRV = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV ,
  PreserveLocalUAV = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_UAV
}
 
enum class  RenderPassFlags : UInt32 {
  None = D3D12_RENDER_PASS_FLAG_NONE ,
  AllowUAVWrites = D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES ,
  SuspendingPass = D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS ,
  ResumingPass = D3D12_RENDER_PASS_FLAG_RESUMING_PASS ,
  BindReadOnlyDepth = D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_DEPTH ,
  BindReadOnlyStencil = D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_STENCIL
}
 
enum class  SetWorkGraphFlags : UInt32 {
  None = D3D12_SET_WORK_GRAPH_FLAG_NONE ,
  Initialize = D3D12_SET_WORK_GRAPH_FLAG_INITIALIZE
}
 
enum class  ProgramType {
  GenericPipeline = D3D12_PROGRAM_TYPE_GENERIC_PIPELINE ,
  RaytracingPipeline = D3D12_PROGRAM_TYPE_RAYTRACING_PIPELINE ,
  WorkGraph = D3D12_PROGRAM_TYPE_WORK_GRAPH
}
 
enum class  DispatchMode {
  NodeCPUInput = D3D12_DISPATCH_MODE_NODE_CPU_INPUT ,
  NodeGPUInput = D3D12_DISPATCH_MODE_NODE_GPU_INPUT ,
  MultiNodeCPUInput = D3D12_DISPATCH_MODE_MULTI_NODE_CPU_INPUT ,
  MultiNodeGPUInput = D3D12_DISPATCH_MODE_MULTI_NODE_GPU_INPUT
}
 
enum class  ShaderCacheMode {
  Memory = D3D12_SHADER_CACHE_MODE_MEMORY ,
  Disk = D3D12_SHADER_CACHE_MODE_DISK
}
 
enum class  ShaderCacheFlags {
  None = D3D12_SHADER_CACHE_FLAG_NONE ,
  DriverVersioned = D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED ,
  UseWorkingDir = D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR
}
 
enum class  BarrierLayout {
  Undefined = D3D12_BARRIER_LAYOUT_UNDEFINED ,
  Common = D3D12_BARRIER_LAYOUT_COMMON ,
  Present = D3D12_BARRIER_LAYOUT_PRESENT ,
  GenericRead = D3D12_BARRIER_LAYOUT_GENERIC_READ ,
  RenderTarget = D3D12_BARRIER_LAYOUT_RENDER_TARGET ,
  UnorderedAccess = D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS ,
  DepthStencilWrite = D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE ,
  DepthStencilRead = D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ ,
  ShaderResource = D3D12_BARRIER_LAYOUT_SHADER_RESOURCE ,
  CopySource = D3D12_BARRIER_LAYOUT_COPY_SOURCE ,
  CopyDest = D3D12_BARRIER_LAYOUT_COPY_DEST ,
  ResolveSource = D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE ,
  ResolveDest = D3D12_BARRIER_LAYOUT_RESOLVE_DEST ,
  ShadingRate_source = D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE ,
  VideoDecodeRead = D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ ,
  VideoDecodeWrite = D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE ,
  VideoProcessRead = D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ ,
  VideoProcessWrite = D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE ,
  VideoEncodeRead = D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ ,
  VideoEncodeErite = D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE ,
  DirectQueueCommon = D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON ,
  DirectQueueGenericRead = D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ ,
  DirectQueueUnorderedAccess = D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS ,
  DirectQueueShaderResource = D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE ,
  DirectQueueCopySource = D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE ,
  DirectQueueCopyDest = D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST ,
  ComputeQueueCommon = D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON ,
  ComputeQueueGenericRead = D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ ,
  ComputeQueueUnorderedAccess = D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS ,
  ComputeQueueShaderResource = D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE ,
  ComputeQueueCopySource = D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE ,
  ComputeQueueCopyDest = D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST ,
  VideoQueueCommon = D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON
}
 
enum class  BarrierSync : Int32 {
  None = D3D12_BARRIER_SYNC_NONE ,
  All = D3D12_BARRIER_SYNC_ALL ,
  Draw = D3D12_BARRIER_SYNC_DRAW ,
  IndexInput = D3D12_BARRIER_SYNC_INDEX_INPUT ,
  VertexShading = D3D12_BARRIER_SYNC_VERTEX_SHADING ,
  PixelShading = D3D12_BARRIER_SYNC_PIXEL_SHADING ,
  DepthStencil = D3D12_BARRIER_SYNC_DEPTH_STENCIL ,
  RenderTarget = D3D12_BARRIER_SYNC_RENDER_TARGET ,
  ComputeShading = D3D12_BARRIER_SYNC_COMPUTE_SHADING ,
  Raytracing = D3D12_BARRIER_SYNC_RAYTRACING ,
  Copy = D3D12_BARRIER_SYNC_COPY ,
  Resolve = D3D12_BARRIER_SYNC_RESOLVE ,
  ExecuteIndirect = D3D12_BARRIER_SYNC_EXECUTE_INDIRECT ,
  Predication = D3D12_BARRIER_SYNC_PREDICATION ,
  AllShading = D3D12_BARRIER_SYNC_ALL_SHADING ,
  NonPixelShading = D3D12_BARRIER_SYNC_NON_PIXEL_SHADING ,
  EmitRaytracingAccelerationStructurePostbuildInfo = D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO ,
  ClearUnorderedAccessView = D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW ,
  VideoDecode = D3D12_BARRIER_SYNC_VIDEO_DECODE ,
  VideoProcess = D3D12_BARRIER_SYNC_VIDEO_PROCESS ,
  VideoEncode = D3D12_BARRIER_SYNC_VIDEO_ENCODE ,
  BuildRaytracingAccelerationStructure = D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE ,
  CopyRaytracingAccelerationStructure = D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE ,
  Split = D3D12_BARRIER_SYNC_SPLIT
}
 
enum class  BarrierAccess : Int32 {
  Common = D3D12_BARRIER_ACCESS_COMMON ,
  VertexBuffer = D3D12_BARRIER_ACCESS_VERTEX_BUFFER ,
  ConstantBuffer = D3D12_BARRIER_ACCESS_CONSTANT_BUFFER ,
  IndexBuffer = D3D12_BARRIER_ACCESS_INDEX_BUFFER ,
  RenderTarget = D3D12_BARRIER_ACCESS_RENDER_TARGET ,
  UnorderedAccess = D3D12_BARRIER_ACCESS_UNORDERED_ACCESS ,
  DepthStencilWrite = D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE ,
  DepthStencilRead = D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ ,
  ShaderResource = D3D12_BARRIER_ACCESS_SHADER_RESOURCE ,
  StreamOutput = D3D12_BARRIER_ACCESS_STREAM_OUTPUT ,
  IndirectArgument = D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT ,
  Predication = D3D12_BARRIER_ACCESS_PREDICATION ,
  CopyDest = D3D12_BARRIER_ACCESS_COPY_DEST ,
  CopySource = D3D12_BARRIER_ACCESS_COPY_SOURCE ,
  ResolveDest = D3D12_BARRIER_ACCESS_RESOLVE_DEST ,
  ResolveSource = D3D12_BARRIER_ACCESS_RESOLVE_SOURCE ,
  RaytracingAccelerationStructureRead = D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ ,
  RaytracingAccelerationStructureWrite = D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE ,
  ShadingRateSource = D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE ,
  VideoDecodeRead = D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ ,
  VideoDecodeWrite = D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE ,
  VideoProcessRead = D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ ,
  VideoProcessWrite = D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE ,
  VideoEncodeRead = D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ ,
  VideoEncodeWrite = D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE ,
  NoAccess = D3D12_BARRIER_ACCESS_NO_ACCESS
}
 
enum class  BarrierType {
  Global = D3D12_BARRIER_TYPE_GLOBAL ,
  Texture = D3D12_BARRIER_TYPE_TEXTURE ,
  Buffer = D3D12_BARRIER_TYPE_BUFFER
}
 
enum class  TextureBarrierFlags : UInt32 {
  None = D3D12_TEXTURE_BARRIER_FLAG_NONE ,
  Discard = D3D12_TEXTURE_BARRIER_FLAG_DISCARD
}
 
enum class  ShaderCacheKindFlags : UInt32 {
  ImplicitD3DCacheForDriver = D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER ,
  ImplicitD3DConversions = D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS ,
  ImplicitDriverManaged = D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED ,
  ApplicationManaged = D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED
}
 
enum class  ShaderCacheControlFlags : UInt32 {
  Disable = D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE ,
  Enable = D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE ,
  Clear = D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR
}
 
enum class  DeviceFactoryFlags : UInt32 {
  None = D3D12_DEVICE_FACTORY_FLAG_NONE ,
  AllowReturningExistingDevice = D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_EXISTING_DEVICE ,
  AllowReturningIncompatibleExistingDevice = D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_INCOMPATIBLE_EXISTING_DEVICE ,
  DisallowStoringNewDeviceAsSingleton = D3D12_DEVICE_FACTORY_FLAG_DISALLOW_STORING_NEW_DEVICE_AS_SINGLETON
}
 
enum class  DeviceFlags : UInt32 {
  None = D3D12_DEVICE_FLAG_NONE ,
  DebugLayerEnabled = D3D12_DEVICE_FLAG_DEBUG_LAYER_ENABLED ,
  GPUBasedValidationEnabled = D3D12_DEVICE_FLAG_GPU_BASED_VALIDATION_ENABLED ,
  SynchronizedCommandQueueValidationDisabled = D3D12_DEVICE_FLAG_SYNCHRONIZED_COMMAND_QUEUE_VALIDATION_DISABLED ,
  DREDAutoBreadcrumbsEnabled = D3D12_DEVICE_FLAG_DRED_AUTO_BREADCRUMBS_ENABLED ,
  DREDPageFaultReportingEnabled = D3D12_DEVICE_FLAG_DRED_PAGE_FAULT_REPORTING_ENABLED ,
  DREDWatsonReportingEnabled = D3D12_DEVICE_FLAG_DRED_WATSON_REPORTING_ENABLED ,
  DREDBreadcrumbContextEnabled = D3D12_DEVICE_FLAG_DRED_BREADCRUMB_CONTEXT_ENABLED ,
  DREDUseMarkersOnlyBreadcrumbs = D3D12_DEVICE_FLAG_DRED_USE_MARKERS_ONLY_BREADCRUMBS ,
  ShaderInstrumentationEnabled = D3D12_DEVICE_FLAG_SHADER_INSTRUMENTATION_ENABLED ,
  AutoDebugNameEnabled = D3D12_DEVICE_FLAG_AUTO_DEBUG_NAME_ENABLED ,
  ForceLegacyStateValidation = D3D12_DEVICE_FLAG_FORCE_LEGACY_STATE_VALIDATION
}
 
enum class  AxisShadingRate {
  X1 = D3D12_AXIS_SHADING_RATE_1X ,
  X2 = D3D12_AXIS_SHADING_RATE_2X ,
  X4 = D3D12_AXIS_SHADING_RATE_4X
}
 
enum class  ShadingRate {
  _1X1 = D3D12_SHADING_RATE_1X1 ,
  _1X2 = D3D12_SHADING_RATE_1X2 ,
  _2X1 = D3D12_SHADING_RATE_2X1 ,
  _2X2 = D3D12_SHADING_RATE_2X2 ,
  _2X4 = D3D12_SHADING_RATE_2X4 ,
  _4X2 = D3D12_SHADING_RATE_4X2 ,
  _4X4 = D3D12_SHADING_RATE_4X4
}
 
enum class  ShadingRateCombiner {
  Passthrough = D3D12_SHADING_RATE_COMBINER_PASSTHROUGH ,
  Override = D3D12_SHADING_RATE_COMBINER_OVERRIDE ,
  Min = D3D12_SHADING_RATE_COMBINER_MIN ,
  Max = D3D12_SHADING_RATE_COMBINER_MAX ,
  Sum = D3D12_SHADING_RATE_COMBINER_SUM
}
 

Functions

template<typename T = Device>
requires std::is_base_of_v<Device, T>
T CreateDevice (IUnknown *adapter, D3D_FEATURE_LEVEL minimumFeatureLevel=D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_11_1)
 Creates a device that represents the display adapter.
 
template<typename T = Device>
requires std::is_base_of_v<Device, T>
T CreateDevice (Unknown adapter, D3D_FEATURE_LEVEL minimumFeatureLevel=D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_11_1)
 
template<typename T >
T GetDebugInterface ()
 
void EnableExperimentalFeatures (UInt32 numFeatures, _In_count_(numFeatures) const IID *pIIDs, _In_opt_count_(numFeatures) void *configurationStructs, _In_opt_count_(numFeatures) UInt32 *configurationStructSizes)
 
D3DBlob CompileFromFile (_In_ LPCWSTR fileName, _In_reads_opt_(_Inexpressible_(pDefines->Name !=NULL)) CONST D3D_SHADER_MACRO *defines, _In_opt_ ID3DInclude *include, _In_ LPCSTR entrypoint, _In_ LPCSTR target, _In_ UINT flags1, _In_ UINT flags2=0, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **errorMessages=nullptr)
 
D3DBlob CompileFromFile (_In_ LPCWSTR fileName, _In_ LPCSTR entrypoint, _In_ LPCSTR target, _In_ UINT flags1, _In_ UINT flags2=0, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **errorMessages=nullptr)
 
template<SimpleWideStringLike T>
D3DBlob CompileFromFile (const T &fileName, _In_reads_opt_(_Inexpressible_(pDefines->Name !=NULL)) CONST D3D_SHADER_MACRO *defines, _In_opt_ ID3DInclude *include, _In_ LPCSTR entrypoint, _In_ LPCSTR target, _In_ UINT flags1, _In_ UINT flags2=0, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **errorMessages=nullptr)
 
template<SimpleWideStringLike T>
D3DBlob CompileFromFile (const T &fileName, _In_ LPCSTR entrypoint, _In_ LPCSTR target, _In_ UINT flags1, _In_ UINT flags2=0, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **errorMessages=nullptr)
 
void MemcpySubresource (_In_ const MemCopyDest *pDest, _In_ const SubResourceData *pSrc, SIZE_T RowSizeInBytes, UINT NumRows, UINT NumSlices)
 
UINT64 UpdateSubResources (const GraphicsCommandList &cmdList, const Resource &destinationResource, const Resource &intermediate, _In_range_(0, D3D12_REQ_SUBRESOURCES) UInt32 firstSubResource, _In_range_(0, D3D12_REQ_SUBRESOURCES - firstSubResource) UInt32 numSubResources, UInt64 requiredSize, _In_reads_(numSubResources) const PlacedSubresourceFootprint *layouts, _In_reads_(numSubResources) const UInt32 *numRows, _In_reads_(numSubResources) const UInt64 *rowSizesInBytes, _In_reads_(numSubResources) const SubResourceData *srcData)
 
UInt64 UpdateSubResources (const GraphicsCommandList &cmdList, const Resource &destinationResource, const Resource &intermediate, UINT64 intermediateOffset, _In_range_(0, D3D12_REQ_SUBRESOURCES) UINT firstSubResource, _In_range_(0, D3D12_REQ_SUBRESOURCES - firstSubResource) UINT numSubResources, _In_reads_(numSubResources) SubResourceData *srcData)
 
template<UINT MaxSubresources>
UINT64 UpdateSubResources (const GraphicsCommandList &cmdList, const Resource &destinationResource, const Resource &intermediate, UInt64 intermediateOffset, _In_range_(0, MaxSubresources) UINT firstSubResource, _In_range_(1, MaxSubresources - firstSubResource) UInt32 numSubResources, _In_reads_(numSubResources) SubResourceData *srcData)
 
UInt8 GetFormatPlaneCount (const Device &device, DXGI::Format format)
 
UINT CalcSubResource (UInt32 mipSlice, UInt32 arraySlice, UInt32 planeSlice, UInt32 mipLevels, UInt32 arraySize)
 
template<typename T , typename U , typename V >
void DecomposeSubresource (UInt32 subResource, UInt32 mipLevels, UInt32 arraySize, _Out_ T &mipSlice, _Out_ U &arraySlice, _Out_ V &planeSlice)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (CommandQueueFlags, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ColorWriteEnable, UInt8)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ShaderMinPrecisionSupport, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (FormatSupport1, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (FormatSupport2, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (MultisampleQualityLevelFlags, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (CommandListSupportFlags, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (HeapFlags, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ResourceFlags, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (TileMappingFlags, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (TileCopyFlags, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ResourceStates, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ResourceBarrierFlags, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ViewInstancingFlags, Int32)
 
constexpr UInt32 EncodeShader4ComponentMapping (UInt32 src0, UInt32 src1, UInt32 src2, UInt32 src3)
 
constexpr UInt32 EncodeShader4ComponentMapping (ShaderComponentMapping src0, ShaderComponentMapping src1, ShaderComponentMapping src2, ShaderComponentMapping src3)
 
constexpr ShaderComponentMapping DecodeShader4ComponentMapping (Int32 componentToExtract, Int32 mapping)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (BufferSRVFlags, Int32)
 
constexpr Filter EncodeBasicFilter (UInt32 min, UInt32 mag, UInt32 mip, UInt32 reduction)
 
constexpr Filter EncodeAnisotropicFilter (UInt32 reduction)
 
constexpr Filter EncodeMinMagAnisotropicMIPPointFilter (UInt32 reduction)
 
constexpr FilterType DecodeMinFilter (UInt32 filter)
 
constexpr FilterType DecodeMinFilter (Filter filter)
 
constexpr FilterType DecodeMagFilter (UInt32 filter)
 
constexpr FilterType DecodeMagFilter (Filter filter)
 
constexpr FilterType DecodeMIPFilter (UInt32 filter)
 
constexpr FilterType DecodeMIPFilter (Filter filter)
 
constexpr FilterReductionType DecodeFilterReduction (UInt32 filter)
 
constexpr FilterReductionType DecodeFilterReduction (Filter filter)
 
constexpr bool IsComparisonFilter (UInt32 filter)
 
constexpr bool IsComparisonFilter (Filter filter)
 
constexpr bool IsAnisotropicFilter (UInt32 filter)
 
constexpr bool IsAnisotropicFilter (Filter filter)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (SamplerFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (BufferUAVFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (DSVFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ClearFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (FenceFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (DescriptorHeapFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (RootSignatureFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (DescriptorRangeFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (RootDescriptorFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (MultipleFenceWaitFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ResidencyFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (CommandListFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (CommandPoolFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (CommandRecorderFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ProtectedResourceSessionSupportFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ProtectedResourceSessionFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (MetaCommandParameterFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (GraphicsStates, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (StateObjectFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ExportFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (RaytracingPipelineFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (WorkGraphFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (RaytracingGeometryFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (RaytracingInstanceFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (RaytracingAccelerationStructureBuildFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (RayFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (DREDFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (DREDPageFaultFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (RenderPassFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (SetWorkGraphFlags, UInt32)
 
 DEFINE_ENUM_FLAG_OPERATORS (D3D12_SHADER_CACHE_FLAGS)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (BarrierSync, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (BarrierAccess, Int32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (TextureBarrierFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ShaderCacheKindFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (ShaderCacheControlFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (DeviceFactoryFlags, UInt32)
 
 HCC_DEFINE_ENUM_FLAG_OPERATORS (DeviceFlags, UInt32)
 
constexpr Int32 MakeCoarseShadingRate (Int32 x, Int32 y)
 
constexpr ShadingRate MakeCoarseShadingRate (AxisShadingRate x, AxisShadingRate y)
 
constexpr Int32 GetCoarseShadingRateXAxis (Int32 x)
 
constexpr AxisShadingRate GetCoarseShadingRateXAxis (ShadingRate x)
 
constexpr Int32 GetCoarseShadingRateYAxis (Int32 y)
 
constexpr AxisShadingRate GetCoarseShadingRateYAxis (ShadingRate y)
 

Variables

constexpr UInt32 ShaderComponentMappingMask = D3D12_SHADER_COMPONENT_MAPPING_MASK
 
constexpr UInt32 ShaderComponentMappingShift = D3D12_SHADER_COMPONENT_MAPPING_SHIFT
 
constexpr UInt32 ShaderComponentMappingAlwaysSetBitAvoidingZeroMemMistakes = D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES
 
constexpr UInt32 DefaultShader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING
 
constexpr UInt32 FilterReductionTypeMask = D3D12_FILTER_REDUCTION_TYPE_MASK
 
constexpr UInt32 FilterReductionTypeShift = D3D12_FILTER_REDUCTION_TYPE_SHIFT
 
constexpr UInt32 FilterTypeMask = D3D12_FILTER_TYPE_MASK
 
constexpr UInt32 MinFilterShift = D3D12_MIN_FILTER_SHIFT
 
constexpr UInt32 MagFilterShift = D3D12_MAG_FILTER_SHIFT
 
constexpr UInt32 MIPFilterShift = D3D12_MIP_FILTER_SHIFT
 
constexpr UInt32 AnisotropicFilteringBit = D3D12_ANISOTROPIC_FILTERING_BIT
 
constexpr int ShadingRateXAxisShift = 2
 
constexpr int ShadingRateValidMask = 3
 

Typedef Documentation

◆ DepthStencilViewFlags

◆ DepthStencilViewType

◆ FeatureDataShaderModel

using Harlinn::Windows::Graphics::D3D12::FeatureDataShaderModel = D3D12_FEATURE_DATA_SHADER_MODEL

Alias for D3D12_FEATURE_DATA_SHADER_MODEL

◆ GPUVirtualAddress

◆ Rectangle

◆ RenderTargetViewType

◆ ShaderModel

Alias for D3D_SHADER_MODEL

◆ ShaderResourceViewType

◆ UnorderedAccessViewType

Enumeration Type Documentation

◆ AutoBreadcrumbOperation

Alias for D3D12_AUTO_BREADCRUMB_OP

Enumerator
SetMarker 
BeginEvent 
EndEvent 
DrawInstanced 
DrawIndexedInstanced 
ExecuteIndirect 
Dispatch 
CopyBufferRegion 
CopyTextureRegion 
CopyResource 
CopyTiles 
ResolveSubresource 
ClearRenderTargetView 
ClearUnorderedAccessView 
ClearDepthStencilView 
ResourceBarrier 
ExecuteBundle 
Present 
ResolveQueryData 
BeginSubmission 
EndSubmission 
DecodeFrame 
ProcessFrames 
AtomiccopybufferUInt32 
AtomiccopybufferUInt64 
ResolveSubresourceRegion 
WriteBufferImmediate 
DecodeFrame1 
SetProtectedResourceSession 
DecodeFrame2 
ProcessFrames1 
BuildRaytracingAccelerationStructure 
EmitRaytracingAccelerationStructurePostbuildInfo 
CopyRaytracingAccelerationStructure 
DispatchRays 
InitializeMetaCommand 
ExecuteMetaCommand 
EstimateMotion 
ResolveMotionVectorHeap 
SetPipelineState1 
InitializeExtensionCommand 
ExecuteExtensionCommand 
DispatchMesh 
EncodeFrame 
ResolveEncoderOutputMetadata 
Barrier 
BeginCommandList 
DispatchGraph 
SetProgram 

◆ AxisShadingRate

Alias for D3D12_AXIS_SHADING_RATE

Enumerator
X1 
X2 
X4 

◆ BackgroundProcessingMode

Alias for D3D12_BACKGROUND_PROCESSING_MODE

Enumerator
Allowed 
AllowIntrusiveMeasurements 
DisableBackgroundWork 
DisableProfilingBySystem 

◆ BarrierAccess

Alias for D3D12_BARRIER_ACCESS

Enumerator
Common 
VertexBuffer 
ConstantBuffer 
IndexBuffer 
RenderTarget 
UnorderedAccess 
DepthStencilWrite 
DepthStencilRead 
ShaderResource 
StreamOutput 
IndirectArgument 
Predication 
CopyDest 
CopySource 
ResolveDest 
ResolveSource 
RaytracingAccelerationStructureRead 
RaytracingAccelerationStructureWrite 
ShadingRateSource 
VideoDecodeRead 
VideoDecodeWrite 
VideoProcessRead 
VideoProcessWrite 
VideoEncodeRead 
VideoEncodeWrite 
NoAccess 

◆ BarrierLayout

Alias for D3D12_BARRIER_LAYOUT

Enumerator
Undefined 
Common 
Present 
GenericRead 
RenderTarget 
UnorderedAccess 
DepthStencilWrite 
DepthStencilRead 
ShaderResource 
CopySource 
CopyDest 
ResolveSource 
ResolveDest 
ShadingRate_source 
VideoDecodeRead 
VideoDecodeWrite 
VideoProcessRead 
VideoProcessWrite 
VideoEncodeRead 
VideoEncodeErite 
DirectQueueCommon 
DirectQueueGenericRead 
DirectQueueUnorderedAccess 
DirectQueueShaderResource 
DirectQueueCopySource 
DirectQueueCopyDest 
ComputeQueueCommon 
ComputeQueueGenericRead 
ComputeQueueUnorderedAccess 
ComputeQueueShaderResource 
ComputeQueueCopySource 
ComputeQueueCopyDest 
VideoQueueCommon 

◆ BarrierSync

Alias for D3D12_BARRIER_SYNC

Enumerator
None 
All 
Draw 
IndexInput 
VertexShading 
PixelShading 
DepthStencil 
RenderTarget 
ComputeShading 
Raytracing 
Copy 
Resolve 
ExecuteIndirect 
Predication 
AllShading 
NonPixelShading 
EmitRaytracingAccelerationStructurePostbuildInfo 
ClearUnorderedAccessView 
VideoDecode 
VideoProcess 
VideoEncode 
BuildRaytracingAccelerationStructure 
CopyRaytracingAccelerationStructure 
Split 

◆ BarrierType

Alias for D3D12_BARRIER_TYPE

Enumerator
Global 
Texture 
Buffer 

◆ Blend

Specifies blend factors, which modulate values for the pixel shader and render target.

Enumerator
Zero 

The blend factor is (0, 0, 0, 0). No pre-blend operation.

One 

The blend factor is (1, 1, 1, 1). No pre-blend operation.

SourceColor 

The blend factor is (Rₛ, Gₛ, Bₛ, Aₛ), that is color data (RGB) from a pixel shader. No pre-blend operation.

InvertSourceColor 

The blend factor is (1 - Rₛ, 1 - Gₛ, 1 - Bₛ, 1 - Aₛ), that is color data (RGB) from a pixel shader. The pre-blend operation inverts the data, generating 1 - RGB.

SourceAlpha 

The blend factor is (Aₛ, Aₛ, Aₛ, Aₛ), that is alpha data (A) from a pixel shader. No pre-blend operation.

InvertSourceAlpha 

The blend factor is ( 1 - Aₛ, 1 - Aₛ, 1 - Aₛ, 1 - Aₛ), that is alpha data (A) from a pixel shader. The pre-blend operation inverts the data, generating 1 - A.

DestinationAlpha 

The blend factor is (Ad Ad Ad Ad), that is alpha data from a render target. No pre-blend operation.

InvertDestinationAlpha 

The blend factor is (1 - Ad 1 - Ad 1 - Ad 1 - Ad), that is alpha data from a render target. The pre-blend operation inverts the data, generating 1 - A.

DestinationColor 

The blend factor is (Rd, Gd, Bd, Ad), that is color data from a render target. No pre-blend operation.

InvertDestinationColor 

The blend factor is (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad), that is color data from a render target. The pre-blend operation inverts the data, generating 1 - RGB.

SourceAlphaSaturate 

The blend factor is (f, f, f, 1); where f = min(Aₛ, 1 - Ad). The pre-blend operation clamps the data to 1 or less.

BlendFactor 

The blend factor is the blend factor set with GraphicsCommandList::OMSetBlendFactor. No pre-blend operation.

InvertBlendFactor 

The blend factor is the blend factor set with GraphicsCommandList::OMSetBlendFactor. The pre-blend operation inverts the blend factor, generating 1 - blend_factor.

Source1Color 

The blend factor is data sources both as color data output by a pixel shader. There is no pre-blend operation. This blend factor supports dual-source color blending.

InvertSource1Color 

The blend factor is data sources both as color data output by a pixel shader. The pre-blend operation inverts the data, generating 1 - RGB. This blend factor supports dual-source color blending.

Source1Alpha 

The blend factor is data sources as alpha data output by a pixel shader. There is no pre-blend operation. This blend factor supports dual-source color blending.

InvertSource1Alpha 

The blend factor is data sources as alpha data output by a pixel shader. The pre-blend operation inverts the data, generating 1 - A. This blend factor supports dual-source color blending.

AlphaFactor 

The blend factor is (A, A, A, A), where the constant, A, is taken from the blend factor set with OMSetBlendFactor.

InvertAlphaFactor 

The blend factor is (1 – A, 1 – A, 1 – A, 1 – A), where the constant, A, is taken from the blend factor set with OMSetBlendFactor.

◆ BlendOperation

Specifies RGB or alpha blending operations.

The runtime implements RGB blending and alpha blending separately. Therefore, blend state requires separate blend operations for RGB data and alpha data. These blend operations are specified in a RenderTargetBlendDesc structure. The two sources — source 1 and source 2 — are shown in the blending block diagram

.

Blend state is used by the output-merger stage to determine how to blend together two RGB pixel values and two alpha values. The two RGB pixel values and two alpha values are the RGB pixel value and alpha value that the pixel shader outputs and the RGB pixel value and alpha value already in the output render target. The Blend value controls the data source that the blending stage uses to modulate values for the pixel shader, render target, or both. The BlendOperation value controls how the blending stage mathematically combines these modulated values.

Enumerator
Add 

Add source 1 and source 2.

Subtract 

Subtract source 1 from source 2.

ReverseSubtract 

Subtract source 2 from source 1.

Min 

Find the minimum of source 1 and source 2.

Max 

Find the maximum of source 1 and source 2.

◆ BufferSRVFlags

Identifies how to view a buffer resource

Alias for D3D12_BUFFER_SRV_FLAGS

Enumerator
None 

Indicates a default view.

Raw 

View the buffer as raw.

◆ BufferUAVFlags

Identifies unordered-access view options for a buffer resource.

Alias for D3D12_BUFFER_UAV_FLAGS

Enumerator
None 

Indicates a default view.

Raw 

Resource contains raw, unstructured data. Requires the UAV format to be DXGI::Format::R32 (DXGI_FORMAT_R32_TYPELESS).

◆ ClearFlags

Alias for D3D12_CLEAR_FLAGS

Enumerator
Depth 
Stencil 

◆ ColorWriteEnable

Identifies which components of each pixel of a render target are writable during blending.

Enumerator
None 
Red 

Allow data to be stored in the red component.

Green 

Allow data to be stored in the green component.

Blue 

Allow data to be stored in the blue component.

Alpha 

Allow data to be stored in the alpha component.

All 

Allow data to be stored in all components.

◆ CommandListFlags

Alias for D3D12_COMMAND_LIST_FLAGS

Enumerator
None 

◆ CommandListSupportFlags

Alias for D3D12_COMMAND_LIST_SUPPORT_FLAGS

Enumerator
None 
Direct 
Bundle 
Compute 
Copy 
VideoDecode 
VideoProcess 
VideoEncode 

◆ CommandListType

Specifies the type of a command list.

Enumerator
Direct 

Specifies a command buffer that the GPU can execute. A direct command list doesn't inherit any GPU state.

Bundle 

Specifies a command buffer that can be executed only directly via a direct command list. A bundle command list inherits all GPU state (except for the currently set pipeline state object and primitive topology).

Compute 

Specifies a command buffer for computing.

Copy 

Specifies a command buffer for copying.

VideoDecode 

Specifies a command buffer for video decoding.

VideoProcess 

Specifies a command buffer for video processing.

VideoEncode 

Specifies a command buffer for video encoding.

◆ CommandPoolFlags

Alias for D3D12_COMMAND_POOL_FLAGS

Enumerator
None 

◆ CommandQueueFlags

Specifies flags to be used when creating a command queue.

Enumerator
None 

Indicates a default command queue.

DisableGpuTimeout 

Indicates that the GPU timeout should be disabled for this command queue.

◆ CommandQueuePriority

Defines priority levels for a command queue.

An application must be sufficiently privileged in order to create a command queue that has global realtime priority. If the application is not sufficiently privileged or if neither the adapter or driver can provide the necessary preemption, then requests to create a global realtime priority queue fail; such a failure could be due to a lack of hardware support or due to conflicts with other command queue parameters. Requests to create a global realtime command queue won't silently downgrade the priority when it can't be supported; the request succeeds or fails as-is to indicate to the application whether or not the command queue is guaranteed to execute before any other queue.

Enumerator
Normal 

Normal priority.

High 

High priority.

Realtime 

Global realtime priority.

◆ CommandRecorderFlags

Alias for D3D12_COMMAND_RECORDER_FLAGS

Enumerator
None 

◆ ComparisonFunction

Specifies comparison options. A comparison option determines how the runtime compares source (new) data against destination (existing) data before storing the new data.

Enumerator
Unknown 
Never 

Never pass the comparison.

Less 

If the source data is less than the destination data, the comparison passes.

Equal 

If the source data is equal to the destination data, the comparison passes.

LessOrEqual 

If the source data is less than or equal to the destination data, the comparison passes.

Greater 

If the source data is greater than the destination data, the comparison passes.

NotEqual 

If the source data is not equal to the destination data, the comparison passes.

GreaterOrEqual 

If the source data is greater than or equal to the destination data, the comparison passes.

Always 

Always pass the comparison.

◆ ConservativeRasterizationMode

Identifies whether conservative rasterization is on or off.

Enumerator
Off 

Conservative rasterization is off.

On 

Conservative rasterization is on.

◆ ConservativeRasterizationTier

Alias for D3D12_CONSERVATIVE_RASTERIZATION_TIER

Enumerator
NotSupported 
Tier1 
Tier2 
Tier3 

◆ CpuPageProperty

Alias for D3D12_CPU_PAGE_PROPERTY

Enumerator
Unknown 
NotAvailable 
WriteCombine 
WriteBack 

◆ CrossNodeSharingTier

Alias for D3D12_CROSS_NODE_SHARING_TIER

Enumerator
NotSupported 
Tier1Emulated 
Tier1 
Tier2 
Tier3 

◆ CullMode

Specifies triangles facing a particular direction are not drawn.

Enumerator
None 

Always draw all triangles.

Front 

Do not draw triangles that are front-facing.

Back 

Do not draw triangles that are back-facing.

◆ DepthWriteMask

Identifies the portion of a depth-stencil buffer for writing depth data.

Enumerator
Zero 

Turn off writes to the depth-stencil buffer.

All 

Turn on writes to the depth-stencil buffer.

◆ DescriptorHeapFlags

Alias for D3D12_DESCRIPTOR_HEAP_FLAGS

Enumerator
None 
ShaderVisible 

◆ DescriptorHeapType

Alias for D3D12_DESCRIPTOR_HEAP_TYPE

Enumerator
CBV_SRV_UAV 
Sampler 
RTV 
DSV 
NumTypes 

◆ DescriptorRangeFlags

Alias for D3D12_DESCRIPTOR_RANGE_FLAGS

Enumerator
None 
DescriptorsVolatile 
DataVolatile 
DataStaticWhileSetAtExecute 
DataStatic 
DescriptorsStaticKeepingBufferBoundsChecks 

◆ DescriptorRangeType

Alias for D3D12_DESCRIPTOR_RANGE_TYPE

Enumerator
ShaderResourceView 
UnorderedAccessView 
ConstantBufferView 
Sampler 

◆ DeviceFactoryFlags

Alias for D3D12_DEVICE_FACTORY_FLAGS

Enumerator
None 
AllowReturningExistingDevice 
AllowReturningIncompatibleExistingDevice 
DisallowStoringNewDeviceAsSingleton 

◆ DeviceFlags

Alias for D3D12_DEVICE_FLAGS

Enumerator
None 
DebugLayerEnabled 
GPUBasedValidationEnabled 
SynchronizedCommandQueueValidationDisabled 
DREDAutoBreadcrumbsEnabled 
DREDPageFaultReportingEnabled 
DREDWatsonReportingEnabled 
DREDBreadcrumbContextEnabled 
DREDUseMarkersOnlyBreadcrumbs 
ShaderInstrumentationEnabled 
AutoDebugNameEnabled 
ForceLegacyStateValidation 

◆ DispatchMode

Alias for D3D12_DISPATCH_MODE

Enumerator
NodeCPUInput 
NodeGPUInput 
MultiNodeCPUInput 
MultiNodeGPUInput 

◆ DREDAllocationType

Alias for D3D12_DRED_ALLOCATION_TYPE

Enumerator
CommandQueue 
CommandAllocator 
PipelineState 
CommandList 
Fence 
DescriptorHeap 
Heap 
QueryHeap 
CommandSignature 
PipelineLibrary 
VideoDecoder 
VideoProcessor 
Resource 
Pass 
Cryptosession 
Cryptosessionpolicy 
Protectedresourcesession 
VideoDecoder_heap 
CommandPool 
CommandRecorder 
StateObject 
Metacommand 
Schedulinggroup 
VideoMotionEstimator 
VideoMotionVectorHeap 
VideoExtension_command 
VideoEncoder 
VideoEncoder_heap 
Invalid 

◆ DREDDeviceState

Alias for D3D12_DRED_DEVICE_STATE

Enumerator
Unknown 
Hung 
Fault 
PageFault 

◆ DREDEnablement

Alias for D3D12_DRED_ENABLEMENT

Enumerator
SystemControlled 
ForcedOff 
ForcedOn 

◆ DREDFlags

Alias for D3D12_DRED_FLAGS

Enumerator
None 
ForceEnable 
DisableAutoBreadcrumbs 

◆ DREDPageFaultFlags

Alias for D3D12_DRED_PAGE_FAULT_FLAGS

Enumerator
None 

◆ DREDVersion

Alias for D3D12_DRED_VERSION

Enumerator
_1_0 
_1_1 
_1_2 
_1_3 

◆ DriverMatchingIdentifierStatus

Alias for D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS

Enumerator
CompatibleWithDevice 
UnsupportedType 
Unrecognized 
IncompatibleVersion 
IncompatibleType 

◆ DSVDimension

Alias for D3D12_DSV_DIMENSION

Enumerator
Unknown 
Texture1D 
Texture1DArray 
Texture2D 
Texture2DArray 
Texture2DMS 
Texture2DMSArray 

◆ DSVFlags

Alias for D3D12_DSV_FLAGS

Enumerator
None 
ReadOnlyDepth 
ReadOnlyStencil 

◆ ElementsLayout

Alias for D3D12_ELEMENTS_LAYOUT

Enumerator
Array 
ArrayOfPointers 

◆ ExportFlags

Alias for D3D12_EXPORT_FLAGS

Enumerator
None 

◆ Feature

Defines constants that specify a Direct3D 12 feature or feature set to query about. When you want to query for the level to which an adapter supports a feature, pass one of these values to ID3D12Device::CheckFeatureSupport.

Enumerator
Options 

Indicates a query for the level of support for basic Direct3D 12 feature options.

Architecture 
FeatureLevels 
FormatSupport 
MultisampleQualityLevels 
FormatInfo 
GpuVirtualAddressSupport 
ShaderModel 
Options1 
ProtectedResourceSessionSupport 
RootSignature 
Architecture1 
Options2 
ShaderCache 
CommandQueuePriority 
Options3 
ExistingHeaps 
Options4 
Serialization 
CrossNode 
Options5 
Displayable 
Options6 
QueryMetaCommand 
Options7 
ProtectedResourceSessionTypeCount 
ProtectedResourceSessionTypes 
Options8 
Options9 
Options10 
Options11 
Options12 
Options13 

◆ FenceFlags

Alias for D3D12_FENCE_FLAGS

Enumerator
D3D12_FENCE_FLAG_NONE 
D3D12_FENCE_FLAG_SHARED 
D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER 
D3D12_FENCE_FLAG_NON_MONITORED 

◆ FillMode

Specifies the fill mode to use when rendering triangles.

Enumerator
Unknown 
Wireframe 

Draw lines connecting the vertices. Adjacent vertices are not drawn.

Solid 

Fill the triangles formed by the vertices. Adjacent vertices are not drawn.

◆ Filter

Specifies filtering options during texture sampling.

Alias for D3D12_FILTER

Enumerator
Empty 
None 
MinMagMIPPoint 

Use point sampling for minification, magnification, and mip-level sampling.

MinMagPointMIPLinear 

Use point sampling for minification and magnification; use linear interpolation for mip-level sampling.

MinPointMagLinearMIPPoint 

Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling.

MinPointMagMIPLinear 

Use point sampling for minification; use linear interpolation for magnification and mip-level sampling.

MinLinearMagMIPPoint 

Use linear interpolation for minification; use point sampling for magnification and mip-level sampling.

MinLinearMagPointMIPLinear 

Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling.

MinMagLinearMIPPoint 

Use linear interpolation for minification and magnification; use point sampling for mip-level sampling.

MinMagMIPLinear 

Use linear interpolation for minification, magnification, and mip-level sampling.

MinMagAnisotropicMIPPoint 

Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling. Compare the result to the comparison value.

Anisotropic 

Use anisotropic interpolation for minification, magnification, and mip-level sampling.

ComparisonMinMagMIPPoint 

Use point sampling for minification, magnification, and mip-level sampling. Compare the result to the comparison value.

ComparisonMinMagPointMIPLinear 

Use point sampling for minification and magnification; use linear interpolation for mip-level sampling. Compare the result to the comparison value.

ComparisonMinPointMagLinearMIPPoint 

Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling. Compare the result to the comparison value.

ComparisonMinPointMagMIPLinear 

Use point sampling for minification; use linear interpolation for magnification and mip-level sampling. Compare the result to the comparison value.

ComparisonMinLinearMagMIPPoint 

Use linear interpolation for minification; use point sampling for magnification and mip-level sampling. Compare the result to the comparison value.

ComparisonMinLinearMagPointMIPLinear 

Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling. Compare the result to the comparison value.

ComparisonMinMagLinearMIPPoint 

Use linear interpolation for minification and magnification; use point sampling for mip-level sampling. Compare the result to the comparison value.

ComparisonMinMagMIPLinear 

Use linear interpolation for minification, magnification, and mip-level sampling. Compare the result to the comparison value.

ComparisonMinMagAnisotropicMIPPoint 
ComparisonAnisotropic 

Use anisotropic interpolation for minification, magnification, and mip-level sampling. Compare the result to the comparison value.

MinimumMinMAGMIPPoint 

Fetch the same set of texels as MinMagMIPPoint and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11::FeatureDataD3D11Options1 structure.

MinimumMinMagPointMIPLinear 

Fetch the same set of texels as MinMagPointMIPLinear and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11::FeatureDataD3D11Options1 structure.

MinimumMinPointMagLinearMIPPoint 

Fetch the same set of texels as MinPointMagLinearMIPPoint and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11::FeatureDataD3D11Options1 structure.

MinimumMinPointMagMIPLinear 

Fetch the same set of texels as MinPointMagMIPLinear and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11::FeatureDataD3D11Options1 structure.

MinimumMinLinearMagMIPPoint 

Fetch the same set of texels as MinLinearMagMIPPoint and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11::FeatureDataD3D11Options1 structure.

MinimumMinLinearMagPointMIPLinear 

Fetch the same set of texels as MinLinearMagPointMIPLinear and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11::FeatureDataD3D11Options1 structure.

MinimumMinMagLinearMIPPoint 

Fetch the same set of texels as MinMagLinearMIPPoint and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11::FeatureDataD3D11Options1 structure.

MinimumMinMagMIPLinear 

Fetch the same set of texels as MinMagMIPLinear and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11::FeatureDataD3D11Options1 structure.

MinimumMinMagAnisotropicMIPPoint 
MinimumAnisotropic 

Fetch the same set of texels as Anisotropic and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11::FeatureDataD3D11Options1 structure.

MaximumMinMagMIPPoint 
MaximumMinMagPointMIPLinear 
MaximumMinPointMagLinearMIPPoint 
MaximumMinPointMagMIPLinear 
MaximumMinLinearMagMIPPoint 
MaximumMinLinearMagPointMIPLinear 
MaximumMinMagLinearMIPPoint 
MaximumMinMagMIPLinear 
MaximumMinMagAnisotropicMIPPoint 
MaximumAnisotropic 

◆ FilterReductionType

Specifies the type of filter reduction.

Alias for D3D12_FILTER_REDUCTION_TYPE

Enumerator
Standard 

The filter type is standard.

Comparison 

The filter type is comparison.

Minimum 

The filter type is minimum.

Maximum 

The filter type is maximum.

◆ FilterType

Specifies the type of magnification or minification sampler filters.

Alias for D3D12_FILTER_TYPE

Enumerator
Point 

Point filtering is used as a texture magnification or minification filter. The texel with coordinates nearest to the desired pixel value is used. The texture filter to be used between mipmap levels is nearest-point mipmap filtering. The rasterizer uses the color from the texel of the nearest mipmap texture.

Linear 

Bilinear interpolation filtering is used as a texture magnification or minification filter. A weighted average of a 2 x 2 area of texels surrounding the desired pixel is used. The texture filter to use between mipmap levels is trilinear mipmap interpolation. The rasterizer linearly interpolates pixel color, using the texels of the two nearest mipmap textures.

◆ FormatSupport1

Alias for D3D12_FORMAT_SUPPORT1

Enumerator
None 
Buffer 
IAVertexBuffer 
IAIndexBuffer 
SoBuffer 
Texture1D 
Texture2D 
Texture3D 
Texturecube 
ShaderLoad 
ShaderSample 
ShaderSampleComparison 
ShaderSampleMonoText 
Mip 
RenderTarget 
Blendable 
DepthStencil 
MultisampleResolve 
Display 
CastWithinBitLayout 
MultisampleRendertarget 
MultisampleLoad 
ShaderGather 
BackBuffer_cast 
TypedUnorderedAccessView 
ShaderGatherComparison 
DecoderOutput 
VideoProcessorOutput 
VideoProcessorInput 
VideoEncoder 

◆ FormatSupport2

Alias for D3D12_FORMAT_SUPPORT2

Enumerator
None 
UavAtomicAdd 
UavAtomicBitwiseOps 
UavAtomicCompare_store_or_compare_exchange 
UavAtomicExchange 
UavAtomicSignedMinOrMax 
UavAtomicUnsignedMinOrMax 
UavTypedLoad 
UavTypedStore 
OutputMergerLogicOp 
Tiled 
MultiplaneOverlay 
SamplerFeedback 

◆ GraphicsStates

Alias for D3D12_GRAPHICS_STATES

Enumerator
None 
IAVertexBuffers 
IAIndexBuffer 
IAPrimitiveTopology 
DescriptorHeap 
GraphicsRootSignature 
ComputeRootSignature 
RSViewports 
RSScissorRects 
Predication 
OMRenderTargets 
OMStencilRef 
OMBlendFactor 
PipelineState 
SOTargets 
OMDepthBounds 
SamplePositions 
ViewInstanceMask 

◆ HeapFlags

Alias for D3D12_HEAP_PROPERTIES

Enumerator
None 
Shared 
DenyBuffers 
AllowDisplay 
SharedCrossAdapter 
DenyRtDsTextures 
DenyNonRtDsTextures 
HardwareProtected 
AllowWriteWatch 
AllowShaderAtomics 
CreateNotResident 
CreateNotZeroed 
AllowAllBuffersAndTextures 
AllowOnlyBuffers 
AllowOnlyNonRtDsTextures 
AllowOnlyRtDsTextures 

◆ HeapSerializationTier

Alias for D3D12_HEAP_SERIALIZATION_TIER

Enumerator
Tier1 
Tier10 

◆ HeapType

Alias for D3D12_HEAP_TYPE

Enumerator
Default 
Upload 
ReadBack 
Custom 

◆ HitGroupType

Alias for D3D12_HIT_GROUP_TYPE

Enumerator
Triangles 
ProceduralPrimitive 

◆ HitJind

Alias for D3D12_HIT_KIND

Enumerator
FrontFace 
BackFace 

◆ IndexBufferStripCutValue

When using triangle strip primitive topology, vertex positions are interpreted as vertices of a continuous triangle “strip”. There is a special index value that represents the desire to have a discontinuity in the strip, the cut index value. This enum lists the supported cut values.

Enumerator
Disabled 

Indicates that there is no cut value.

MaxUInt16 

Indicates that 0xFFFF should be used as the cut value.

MaxUInt32 

Indicates that 0xFFFFFFFF should be used as the cut value.

◆ IndirectArgumentType

Alias for D3D12_INDIRECT_ARGUMENT_TYPE

Enumerator
Draw 
DrawIndexed 
Dispatch 
VertexBuffer_view 
IndexBuffer_view 
Constant 
ConstantBuffer_view 
ShaderResourceView 
UnorderedAccessView 
DispatchRays 
DispatchMesh 
IncrementingConstant 

◆ InputClassification

Enumerator
PerVertexData 
PerInstanceData 

◆ LifetimeState

Alias for D3D12_LIFETIME_STATE

Enumerator
InUse 
NotInUse 

◆ LogicOperation

Defines constants that specify logical operations to configure for a render target.

Enumerator
Clear 

Clears the render target.

Set 

Sets the render target.

Copy 

Copys the render target.

Inverted 

Performs an inverted-copy of the render target.

Noop 

No operation is performed on the render target.

Invert 

Inverts the render target.

And 

Performs a logical AND operation on the render target.

NAnd 

Performs a logical NAND operation on the render target.

Or 

Performs a logical OR operation on the render target.

NOr 

Performs a logical NOR operation on the render target.

Xor 

Performs a logical XOR operation on the render target.

Equiv 

Performs a logical equal operation on the render target.

AndReverse 

Performs a logical AND and reverse operation on the render target.

AndInverted 

Performs a logical AND and invert operation on the render target.

OrReverse 

Performs a logical OR and reverse operation on the render target.

OrInverted 

Performs a logical OR and invert operation on the render target.

◆ MeasurementsAction

Alias for D3D12_MEASUREMENTS_ACTION

Enumerator
KeepAll 
CommitResults 
CommitResultsHighPriority 
DiscardPrevious 

◆ MemoryPool

Alias for D3D12_MEMORY_POOL

Enumerator
Unknown 
L0 
L1 

◆ MeshShaderTier

Alias for D3D12_MESH_SHADER_TIER

Enumerator
NotSupported 
Tier1 

◆ MetaCommandParameterFlags

Alias for D3D12_META_COMMAND_PARAMETER_FLAGS

Enumerator
None 
Input 
Output 

◆ MetaCommandParameterStage

Alias for D3D12_META_COMMAND_PARAMETER_STAGE

Enumerator
Creation 
Initialization 
Execution 

◆ MetaCommandParameterType

Alias for D3D12_META_COMMAND_PARAMETER_TYPE

Enumerator
Float 
UInt64 
GPUVirtualAddress 
CPUDescriptorHandleHeapTypeCBV_SRV_UAV 
GPUDescriptorHandleHeapTypeCBV_SRV_UAV 

◆ MultipleFenceWaitFlags

Alias for D3D12_MULTIPLE_FENCE_WAIT_FLAGS

Enumerator
D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE 
D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY 
D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL 

◆ MultisampleQualityLevelFlags

Alias for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS

Enumerator
None 
TiledResource 

◆ NodeOverridesType

Alias for D3D12_NODE_OVERRIDES_TYPE

Enumerator
None 
BroadcastingLaunch 
CoalescingLaunch 
ThreadLaunch 
CommonCompute 

◆ NodeType

Alias for D3D12_NODE_TYPE

Enumerator
Shader 

◆ PipelineStateFlags

Flags to control pipeline state.

Enumerator
None 

Indicates no flags.

ToolDebug 

Indicates that the pipeline state should be compiled with additional information to assist debugging.

This can only be set on WARP devices.

◆ PipelineStateSubobjectType

Specifies the type of a sub-object in a pipeline state stream description.

This enum is used in the creation of pipeline state objects using the ID3D12Device1::CreatePipelineState method. The CreatePipelineState method takes a D3D12_PIPELINE_STATE_STREAM_DESC as one of its parameters, this structure in turn describes a bytestream made up of alternating D3D12_PIPELINE_STATE_SUBOBJECT_TYPE enumeration values and their corresponding subobject description structs. This bytestream description can be made a concrete type by defining a structure that has the same alternating pattern of alternating D3D12_PIPELINE_STATE_SUBOBJECT_TYPE enumeration values and their corresponding subobject description structs as members.

Enumerator
RootSignature 

Indicates a root signature subobject type.

The corresponding subobject type is ID3D12RootSignature.

Vs 

Indicates a vertex shader subobject type.

The corresponding subobject type is ShaderBytecode.

Ps 

Indicates a pixel shader subobject type.

The corresponding subobject type is ShaderBytecode.

Ds 

Indicates a domain shader subobject type.

The corresponding subobject type is ShaderBytecode.

Hs 

Indicates a hull shader subobject type.

The corresponding subobject type is ShaderBytecode.

Gs 

Indicates a geometry shader subobject type.

The corresponding subobject type is ShaderBytecode.

Cs 

Indicates a compute shader subobject type.

The corresponding subobject type is ShaderBytecode.

StreamOutput 

Indicates a stream-output subobject type.

The corresponding subobject type is ShaderBytecode.

Blend 

Indicates a blend subobject type.

The corresponding subobject type is BlendDesc.

SampleMask 

Indicates a sample mask subobject type.

The corresponding subobject type is UInt32.

Rasterizer 

Indicates indicates a rasterizer subobject type.

The corresponding subobject type is RasterizerDesc.

DepthStencil 

Indicates a depth stencil subobject type.

The corresponding subobject type is DepthStencilDesc.

InputLayout 

Indicates an input layout subobject type.

The corresponding subobject type is InputLayoutDesc.

IbStripCutValue 

Indicates an index buffer strip cut value subobject type.

The corresponding subobject type is IndexBufferStripCutValue.

PrimitiveTopology 

Indicates a primitive topology subobject type.

The corresponding subobject type is PrimitiveTopologyType.

RenderTargetFormats 

Indicates a render target formats subobject type.

The corresponding subobject type is RenderTargetFormatArray structure, which wraps an array of render target formats along with a count of the array elements.

DepthStencilFormat 

Indicates a depth stencil format subobject.

The corresponding subobject type is DXGI::Format.

SampleDesc 

Indicates a sample description subobject type.

The corresponding subobject type is DXGI::SampleDesc.

NodeMask 

Indicates a node mask subobject type.

The corresponding subobject type is D3D12_NODE_MASK or UInt32.

CachedPipelineState 

Indicates a cached pipeline state object subobject type.

The corresponding subobject type is CachedPipelineState.

Flags 

Indicates a flags subobject type.

The corresponding subobject type is PipelineStateFlags.

DepthStencil1 

Indicates an expanded depth stencil subobject type. This expansion of the depth stencil subobject supports optional depth bounds checking.

The corresponding subobject type is DepthStencilDesc1.

ViewInstancing 

Indicates a view instancing subobject type.

The corresponding subobject type is D3D12_VIEW_INSTANCING_DESC.

As 

Indicates an amplification shader subobject type.

The corresponding subobject type is ShaderBytecode.

Ms 

Indicates a mesh shader subobject type.

The corresponding subobject type is ShaderBytecode.

Maxvalid 

A sentinel value that marks the exclusive upper-bound of valid values this enumeration represents.

◆ PredicationOperation

Alias for D3D12_PREDICATION_OP

Enumerator
EqualZero 
NotEqualZero 

◆ PrimitiveTopologyType

Specifies how the pipeline interprets geometry or hull shader input primitives.

Enumerator
Undefined 

The shader has not been initialized with an input primitive type.

Point 

Interpret the input primitive as a point.

Line 

Interpret the input primitive as a line.

Triangle 

Interpret the input primitive as a triangle.

Patch 

Interpret the input primitive as a control point patch.

◆ ProgrammableSamplePositionsTier

Alias for D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER

Enumerator
NotSupported 
Tier1 
Tier2 

◆ ProgramType

Alias for D3D12_PROGRAM_TYPE

Enumerator
GenericPipeline 
RaytracingPipeline 
WorkGraph 

◆ ProtectedResourceSessionFlags

Alias for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS

Enumerator
None 

◆ ProtectedResourceSessionSupportFlags

Alias for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS

Enumerator
None 
Supported 

◆ ProtectedSessionStatus

Alias for D3D12_PROTECTED_SESSION_STATUS

Enumerator
Ok 
Invalid 

◆ QueryHeapType

Alias for D3D12_QUERY_HEAP_TYPE

Enumerator
D3D12_QUERY_HEAP_TYPE_OCCLUSION 
D3D12_QUERY_HEAP_TYPE_TIMESTAMP 
D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS 
D3D12_QUERY_HEAP_TYPE_SO_STATISTICS 
D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS 
D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP 
D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 

◆ QueryType

Alias for D3D12_QUERY_TYPE

Enumerator
Occlusion 
BinaryOcclusion 
Timestamp 
PipelineStatistics 
StreamOutputStatisticsStream0 
StreamOutputStatisticsStream1 
StreamOutputStatisticsStream2 
StreamOutputStatisticsStream3 
VideoDecodeStatistics 
PipelineStatistics1 

◆ RayFlags

Alias for D3D12_RAY_FLAGS

Enumerator
None 
ForceOpaque 
ForceNonOpaque 
AcceptFirstHitAndEndSearch 
SkipClosestHitShader 
CullBackFacingTriangles 
CullFrontFacingTriangles 
CullOpaque 
CullNonOpaque 
SkipTriangles 
SkipProceduralPrimitives 

◆ RaytracingAccelerationStructureBuildFlags

Alias for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS

Enumerator
None 
AllowUpdate 
AllowCompaction 
PreferFastTrace 
PreferFastBuild 
MinimizeMemory 
PerformUpdate 

◆ RaytracingAccelerationStructureCopyMode

Alias for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE

Enumerator
Clone 
Compact 
VisualizationDecodeForTools 
Serialize 
Deserialize 

◆ RaytracingAccelerationStructurePostbuildInfoType

Alias for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE

Enumerator
CompactedSize 
ToolsVisualization 
Serialization 
CurrentSize 

◆ RaytracingAccelerationStructureType

Alias for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE

Enumerator
TopLevel 
BottomLevel 

◆ RaytracingGeometryFlags

Alias for D3D12_RAYTRACING_GEOMETRY_FLAGS

Enumerator
None 
Opaque 
NoDuplicateAnyhitInvocation 

◆ RaytracingGeometryType

Alias for D3D12_RAYTRACING_GEOMETRY_TYPE

Enumerator
Triangles 
ProceduralPrimitiveAABBS 

◆ RaytracingInstanceFlags

Alias for D3D12_RAYTRACING_INSTANCE_FLAGS

Enumerator
None 
TriangleCullDisable 
TriangleFrontCounterclockwise 
ForceOpaque 
ForceNonOpaque 

◆ RaytracingPipelineFlags

Alias for D3D12_RAYTRACING_PIPELINE_FLAGS

Enumerator
None 
SkipTriangles 
SkipProceduralPrimitives 

◆ RaytracingTier

Alias for D3D12_RAYTRACING_TIER

Enumerator
Notsupported 
Tier1_0 
Tier1_1 

◆ RenderPassBeginningAccessType

Alias for D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE

Enumerator
Discard 
Preserve 
Clear 
NoAccess 
PreserveLocalRender 
PreserveLocalSRV 
PreserveLocalUAV 

◆ RenderPassEndingAccessType

Alias for D3D12_RENDER_PASS_ENDING_ACCESS_TYPE

Enumerator
Discard 
Preserve 
Resolve 
NoAccess 
PreserveLocalRender 
PreserveLocalSRV 
PreserveLocalUAV 

◆ RenderPassFlags

Alias for D3D12_RENDER_PASS_FLAGS

Enumerator
None 
AllowUAVWrites 
SuspendingPass 
ResumingPass 
BindReadOnlyDepth 
BindReadOnlyStencil 

◆ RenderPassTier

Alias for D3D12_RENDER_PASS_TIER

Enumerator
Tier0 
Tier1 
Tier2 

◆ ResidencyFlags

Alias for D3D12_RESIDENCY_FLAGS

Enumerator
None 
DenyOverbudget 

◆ ResidencyPriority

Alias for D3D12_RESIDENCY_PRIORITY

Enumerator
D3D12_RESIDENCY_PRIORITY_MINIMUM 
D3D12_RESIDENCY_PRIORITY_LOW 
D3D12_RESIDENCY_PRIORITY_NORMAL 
D3D12_RESIDENCY_PRIORITY_HIGH 
D3D12_RESIDENCY_PRIORITY_MAXIMUM 

◆ ResolveMode

Alias for D3D12_RESOLVE_MODE

Enumerator
Decompress 
Min 
Max 
Average 
EncodeSamplerFeedback 
DecodeSamplerFeedback 

◆ ResourceBarrierFlags

Alias for D3D12_RESOURCE_BARRIER_FLAGS

Enumerator
None 
BeginOnly 
EndOnly 

◆ ResourceBarrierType

Alias for D3D12_RESOURCE_BARRIER_TYPE

Enumerator
Transition 
Aliasing 
UAV 
UnorderedAccessView 

◆ ResourceBindingTier

Alias for D3D12_RESOURCE_BINDING_TIER

Enumerator
Tier1 
Tier2 
Tier3 

◆ ResourceDimension

Alias for D3D12_RESOURCE_DIMENSION

Enumerator
Unknown 
Buffer 
Texture1D 
Texture2D 
Texture3D 

◆ ResourceFlags

Alias for D3D12_RESOURCE_FLAGS

Enumerator
None 
AllowRenderTarget 
AllowDepthStencil 
AllowUnorderedAccess 
DenyShaderResource 
AllowCrossAdapter 
AllowSimultaneousAccess 
VideoDecodeReferenceOnly 
VideoEncodeReferenceOnly 
RaytracingAccelerationStructure 

◆ ResourceHeapTier

Alias for D3D12_RESOURCE_HEAP_TIER

Enumerator
Tier1 
Tier2 

◆ ResourceStates

Alias for D3D12_RESOURCE_STATES

Enumerator
Common 
VertexAndConstantBuffer 
IndexBuffer 
RenderTarget 
UnorderedAccess 
DepthWrite 
DepthRead 
NonPixelShaderResource 
PixelShaderResource 
StreamOut 
IndirectArgument 
CopyDest 
CopySource 
ResolveDest 
ResolveSource 
RaytracingAccelerationStructure 
ShadingRateSource 
GenericRead 
AllShaderResource 
Present 
Predication 
VideoDecodeRead 
VideoDecodeWrite 
VideoProcessRead 
VideoProcessWrite 
VideoEncodeRead 
VideoEncodeWrite 

◆ RootDescriptorFlags

Alias for D3D12_ROOT_DESCRIPTOR_FLAGS

Enumerator
None 
DataVolatile 
DataStaticWhileSetAtExecute 
DataStatic 

◆ RootParameterType

Alias for D3D12_ROOT_PARAMETER_TYPE

Enumerator
DescriptorTable 
Constants 
ConstantBufferView 
ShaderResourceView 
UnorderedAccessView 

◆ RootSignatureFlags

Alias for D3D12_ROOT_SIGNATURE_FLAGS

Enumerator
None 
AllowInputAssemblerInputLayout 
DenyVertexShaderRootAccess 
DenyHullShaderRootAccess 
DenyDomainShaderRootAccess 
DenyGeometryShaderRootAccess 
DenyPixelShaderRootAccess 
AllowStreamOutput 
LocalRootSignature 
DenyAmplificationShaderRootAccess 
DenyMeshShaderRootAccess 
CBV_SRV_UAVHeapDirectlyIndexed 
SamplerHeapDirectlyIndexed 

◆ RootSignatureVersion

Alias for D3D_ROOT_SIGNATURE_VERSION

Enumerator
Version1 
Version1_0 
Version1_1 

◆ RTVDimension

Identifies the type of resource to view as a render target.

Alias for D3D12_RTV_DIMENSION

Enumerator
Unknown 
Buffer 
Texture1D 
Texture1DArray 
Texture2D 
Texture2DArray 
Texture2DMS 
Texture2DMSArray 
Texture3D 

◆ SamplerFeedbackTier

Alias for D3D12_SAMPLER_FEEDBACK_TIER

Enumerator
NotSupported 
Tier0_9 
Tier1_0 

◆ SamplerFlags

Alias for D3D12_SAMPLER_FLAGS

Enumerator
None 
UInt32BorderColor 
NonNormalizedCoordinates 

◆ SerializedDataType

Alias for D3D12_SERIALIZED_DATA_TYPE

Enumerator
RaytracingAccelerationStructure 

◆ SetWorkGraphFlags

Alias for D3D12_SET_WORK_GRAPH_FLAGS

Enumerator
None 
Initialize 

◆ ShaderCacheControlFlags

Alias for D3D12_SHADER_CACHE_CONTROL_FLAGS

Enumerator
Disable 
Enable 
Clear 

◆ ShaderCacheFlags

Alias for D3D12_SHADER_CACHE_FLAGS

Enumerator
None 
DriverVersioned 
UseWorkingDir 

◆ ShaderCacheKindFlags

Alias for D3D12_SHADER_CACHE_KIND_FLAGS

Enumerator
ImplicitD3DCacheForDriver 
ImplicitD3DConversions 
ImplicitDriverManaged 
ApplicationManaged 

◆ ShaderCacheMode

Alias for D3D12_SHADER_CACHE_MODE

Enumerator
Memory 
Disk 

◆ ShaderCacheSupportFlags

Alias for D3D12_SHADER_CACHE_SUPPORT_FLAGS

Enumerator
None 
SinglePso 
Library 
AutomaticInprocCache 
AutomaticDiskCache 
DriverManagedCache 
ShaderControlClear 
ShaderSessionSelete 

◆ ShaderComponentMapping

Specifies how memory gets routed by a shader resource view.

Alias for D3D12_SHADER_COMPONENT_MAPPING

This enum allows the SRV to select how memory gets routed to the four return components in a shader after a memory fetch. The options for each shader component [0..3] (corresponding to RGBA) are: component 0..3 from the SRV fetch result or force 0 or force 1.

The default 1:1 mapping can be indicated by specifying DefaultShader4ComponentMapping, otherwise an arbitrary mapping can be specified using the EncodeShader4ComponentMapping function.

Enumerator
FromMemoryComponent0 

Indicates return component 0 (red).

FromMemoryComponent1 

Indicates return component 1 (green).

FromMemoryComponent2 

Indicates return component 2 (blue).

FromMemoryComponent3 

Indicates return component 3 (alpha).

ForceValue0 

Indicates forcing the resulting value to 0.

ForceValue1 

Indicates forcing the resulting value 1. The value of forcing 1 is either 0x1 or 1.0f depending on the format type for that component in the source format.

◆ ShaderMinPrecisionSupport

Alias for D3D12_SHADER_MIN_PRECISION_SUPPORT

Enumerator
None 
Small 
Half 

◆ ShaderVisibility

Alias for D3D12_SHADER_VISIBILITY

Enumerator
All 
Vertex 
Hull 
Domain 
Geometry 
Pixel 
Amplification 
Mesh 

◆ ShadingRate

Alias for D3D12_SHADING_RATE

Enumerator
_1X1 
_1X2 
_2X1 
_2X2 
_2X4 
_4X2 
_4X4 

◆ ShadingRateCombiner

Alias for D3D12_SHADING_RATE_COMBINER

Enumerator
Passthrough 
Override 
Min 
Max 
Sum 

◆ SharedResourceCompatibilityTier

Alias for D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER

Enumerator
Tier0 
Tier1 
Tier2 

◆ SRVDimension

Identifies the type of resource that will be viewed as a shader resource.

Enumerator
Unknown 

The type is unknown.

Buffer 

The resource is a buffer.

Texture1D 

The resource is a 1D texture.

Texture1DArray 

The resource is an array of 1D textures.

Texture2D 

The resource is a 2D texture.

Texture2DArray 

The resource is an array of 2D textures.

Texture2DMS 

The resource is a multisampling 2D texture.

Texture2DMSArray 

The resource is an array of multisampling 2D textures.

Texture3D 

The resource is a 3D texture.

TextureCube 

The resource is a cube texture.

TextureCubeArray 

The resource is an array of cube textures.

RaytracingAccelerationStructure 

The resource is a raytracing acceleration structure.

◆ StateObjectFlags

Alias for D3D12_STATE_OBJECT_FLAGS

Enumerator
None 
AllowLocalDependenciesOnExternalDefinitions 
AllowExternalDependenciesOnKocalDefinitions 
AllowStateObjectAdditions 

◆ StateObjectType

Alias for D3D12_STATE_OBJECT_TYPE

Enumerator
Collection 
RaytracingPipeline 
Executable 

◆ StateSubobjectType

Alias for D3D12_STATE_SUBOBJECT_TYPE

Enumerator
StateObjectConfig 
GlobalRootSignature 
LocalRootSignature 
NodeMask 
DXILLibrary 
ExistingCollection 
SubobjectToExportsAssociation 
DXILSubobjectToExportsAssociation 
RaytracingShaderConfig 
RaytracingPipelineConfig 
HitGroup 
RaytracingPipelineConfig1 
WorkGraph 
StreamOutput 
Blend 
SampleMask 
Rasterizer 
DepthStencil 
InputLayout 
IBStripCutValue 
PrimitiveTopology 
RenderTargetFormats 
DepthStencilFormat 
SampleDesc 
Flags 
DepthStencil1 
ViewInstancing 
GenericProgram 
DepthStencil2 
MaxValid 

◆ StaticBorderColor

Alias for D3D12_STATIC_BORDER_COLOR

Enumerator
TransparentBlack 
OpaqueBlack 
OpaqueWhite 
OpaqueBlackUInt 
OpaqueWhiteUInt 

◆ StencilOperation

Identifies the stencil operations that can be performed during depth-stencil testing.

Enumerator
Keep 

Keep the existing stencil data.

Zero 

Set the stencil data to 0.

Replace 

Set the stencil data to the reference value set by calling GraphicsCommandList::OMSetStencilRef.

IncrementIfNotSaturated 

Increment the stencil value by 1, and clamp the result.

DecrementIfNotSaturated 

Decrement the stencil value by 1, and clamp the result.

Invert 

nvert the stencil data.

Increment 

Increment the stencil value by 1, and wrap the result if necessary.

Decrement 

Decrement the stencil value by 1, and wrap the result if necessary.

◆ TextureAddressMode

Identifies a technique for resolving texture coordinates that are outside of the boundaries of a texture.

Alias for D3D12_TEXTURE_ADDRESS_MODE

Enumerator
None 
Wrap 

Tile the texture at every (u,v) integer junction.

For example, for u values between 0 and 3, the texture is repeated three times.

Mirror 

Flip the texture at every (u,v) integer junction.

For u values between 0 and 1, for example, the texture is addressed normally; between 1 and 2, the texture is flipped( mirrored ); between 2 and 3, the texture is normal again; and so on.

Clamp 

Texture coordinates outside the range [0.0, 1.0] are set to the texture color at 0.0 or 1.0, respectively.

Border 

Texture coordinates outside the range [0.0, 1.0] are set to the border color specified in SamplerDesc or HLSL code.

MirrorOnce 

Similar to Mirror and Clamp. Takes the absolute value of the texture coordinate (thus, mirroring around 0), and then clamps to the maximum value.

◆ TextureBarrierFlags

Alias for D3D12_TEXTURE_BARRIER_FLAGS

Enumerator
None 
Discard 

◆ TextureCopyType

Alias for D3D12_TEXTURE_COPY_TYPE

Enumerator
SubresourceIndex 
PlacedFootprint 

◆ TextureLayout

Alias for D3D12_TEXTURE_LAYOUT

Enumerator
Unknown 
RowMajor 
Undefined64KbSwizzle 
Standard64KbSwizzle 

◆ TileCopyFlags

Alias for D3D12_TILE_COPY_FLAGS

Enumerator
None 
NoHazard 
LinearBufferToSwizzledTiledResource 
SwizzledTiledResourceToLinearBuffer 

◆ TiledResourcesTier

Alias for D3D12_TILED_RESOURCES_TIER

Enumerator
NotSupported 
Tier1 
Tier2 
Tier3 
Tier4 

◆ TileMappingFlags

Alias for D3D12_TILE_MAPPING_FLAGS

Enumerator
None 
NoHazard 

◆ TileRangeFlags

Alias for D3D12_TILE_RANGE_FLAGS

Enumerator
None 
Null 
Skip 
ReuseSingleTile 

◆ TriState

Alias for D3D12_TRI_STATE

Enumerator
Unknown 
False 
True 

◆ UAVDimension

Alias for D3D12_UAV_DIMENSION

Enumerator
Unknown 
Buffer 
Texture1D 
Texture1Darray 
Texture2D 
Texture2DArray 
Texture2DMS 
Texture2DMSarray 
Texture3D 

◆ VariableShadingRateTier

Alias for D3D12_VARIABLE_SHADING_RATE_TIER

Enumerator
NotSupported 
Tier1 
Tier2 

◆ ViewInstancingFlags

Alias for D3D12_VIEW_INSTANCING_FLAGS

Enumerator
None 
EnableViewInstanceMasking 

◆ ViewInstancingTier

Alias for D3D12_VIEW_INSTANCING_TIER

Enumerator
NotSupported 
Tier1 
Tier2 
Tier3 

◆ WaveMmaTier

Alias for D3D12_WAVE_MMA_TIER

Enumerator
NotSupported 
Tier1_0 

◆ WorkGraphFlags

Alias for D3D12_WORK_GRAPH_FLAGS

Enumerator
None 
IncludeAllAvailableNodes 

◆ WritebufferimmediateMode

Alias for D3D12_WRITEBUFFERIMMEDIATE_MODE

Enumerator
Default 
MarkerIn 
MarkerOut 

Function Documentation

◆ CalcSubResource()

UINT Harlinn::Windows::Graphics::D3D12::CalcSubResource ( UInt32 mipSlice,
UInt32 arraySlice,
UInt32 planeSlice,
UInt32 mipLevels,
UInt32 arraySize )
inline

◆ CompileFromFile() [1/4]

D3DBlob Harlinn::Windows::Graphics::D3D12::CompileFromFile ( _In_ LPCWSTR fileName,
_In_ LPCSTR entrypoint,
_In_ LPCSTR target,
_In_ UINT flags1,
_In_ UINT flags2 = 0,
_Always_(_Outptr_opt_result_maybenull_) ID3DBlob ** errorMessages = nullptr )
inline

◆ CompileFromFile() [2/4]

D3DBlob Harlinn::Windows::Graphics::D3D12::CompileFromFile ( _In_ LPCWSTR fileName,
_In_reads_opt_(_Inexpressible_(pDefines->Name !=NULL)) CONST D3D_SHADER_MACRO * defines,
_In_opt_ ID3DInclude * include,
_In_ LPCSTR entrypoint,
_In_ LPCSTR target,
_In_ UINT flags1,
_In_ UINT flags2 = 0,
_Always_(_Outptr_opt_result_maybenull_) ID3DBlob ** errorMessages = nullptr )
inline

◆ CompileFromFile() [3/4]

template<SimpleWideStringLike T>
D3DBlob Harlinn::Windows::Graphics::D3D12::CompileFromFile ( const T & fileName,
_In_ LPCSTR entrypoint,
_In_ LPCSTR target,
_In_ UINT flags1,
_In_ UINT flags2 = 0,
_Always_(_Outptr_opt_result_maybenull_) ID3DBlob ** errorMessages = nullptr )
inline

◆ CompileFromFile() [4/4]

template<SimpleWideStringLike T>
D3DBlob Harlinn::Windows::Graphics::D3D12::CompileFromFile ( const T & fileName,
_In_reads_opt_(_Inexpressible_(pDefines->Name !=NULL)) CONST D3D_SHADER_MACRO * defines,
_In_opt_ ID3DInclude * include,
_In_ LPCSTR entrypoint,
_In_ LPCSTR target,
_In_ UINT flags1,
_In_ UINT flags2 = 0,
_Always_(_Outptr_opt_result_maybenull_) ID3DBlob ** errorMessages = nullptr )
inline

◆ CreateDevice() [1/2]

template<typename T = Device>
requires std::is_base_of_v<Device, T>
T Harlinn::Windows::Graphics::D3D12::CreateDevice ( IUnknown * adapter,
D3D_FEATURE_LEVEL minimumFeatureLevel = D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_11_1 )
inline

Creates a device that represents the display adapter.

Template Parameters
TThe type of device to create, which must be Device or a class
that inherits the Device class.
Parameters
adapterA pointer to the video adapter to use when creating a device. Pass NULL to use the default adapter, which is the first adapter that is enumerated by DXGI::Factory1::EnumAdapters.
minimumFeatureLevelThe minimum D3D_FEATURE_LEVEL required for successful device creation.
Returns
The newly created device.

◆ CreateDevice() [2/2]

template<typename T = Device>
requires std::is_base_of_v<Device, T>
T Harlinn::Windows::Graphics::D3D12::CreateDevice ( Unknown adapter,
D3D_FEATURE_LEVEL minimumFeatureLevel = D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_11_1 )
inline

◆ DecodeFilterReduction() [1/2]

FilterReductionType Harlinn::Windows::Graphics::D3D12::DecodeFilterReduction ( Filter filter)
constexpr

◆ DecodeFilterReduction() [2/2]

FilterReductionType Harlinn::Windows::Graphics::D3D12::DecodeFilterReduction ( UInt32 filter)
constexpr

◆ DecodeMagFilter() [1/2]

FilterType Harlinn::Windows::Graphics::D3D12::DecodeMagFilter ( Filter filter)
constexpr

◆ DecodeMagFilter() [2/2]

FilterType Harlinn::Windows::Graphics::D3D12::DecodeMagFilter ( UInt32 filter)
constexpr

◆ DecodeMinFilter() [1/2]

FilterType Harlinn::Windows::Graphics::D3D12::DecodeMinFilter ( Filter filter)
constexpr

◆ DecodeMinFilter() [2/2]

FilterType Harlinn::Windows::Graphics::D3D12::DecodeMinFilter ( UInt32 filter)
constexpr

◆ DecodeMIPFilter() [1/2]

FilterType Harlinn::Windows::Graphics::D3D12::DecodeMIPFilter ( Filter filter)
constexpr

◆ DecodeMIPFilter() [2/2]

FilterType Harlinn::Windows::Graphics::D3D12::DecodeMIPFilter ( UInt32 filter)
constexpr

◆ DecodeShader4ComponentMapping()

ShaderComponentMapping Harlinn::Windows::Graphics::D3D12::DecodeShader4ComponentMapping ( Int32 componentToExtract,
Int32 mapping )
inlineconstexpr

◆ DecomposeSubresource()

template<typename T , typename U , typename V >
void Harlinn::Windows::Graphics::D3D12::DecomposeSubresource ( UInt32 subResource,
UInt32 mipLevels,
UInt32 arraySize,
_Out_ T & mipSlice,
_Out_ U & arraySlice,
_Out_ V & planeSlice )
inline

◆ DEFINE_ENUM_FLAG_OPERATORS()

Harlinn::Windows::Graphics::D3D12::DEFINE_ENUM_FLAG_OPERATORS ( D3D12_SHADER_CACHE_FLAGS )

◆ EnableExperimentalFeatures()

void Harlinn::Windows::Graphics::D3D12::EnableExperimentalFeatures ( UInt32 numFeatures,
_In_count_(numFeatures) const IID * pIIDs,
_In_opt_count_(numFeatures) void * configurationStructs,
_In_opt_count_(numFeatures) UInt32 * configurationStructSizes )
inline

◆ EncodeAnisotropicFilter()

Filter Harlinn::Windows::Graphics::D3D12::EncodeAnisotropicFilter ( UInt32 reduction)
constexpr

◆ EncodeBasicFilter()

Filter Harlinn::Windows::Graphics::D3D12::EncodeBasicFilter ( UInt32 min,
UInt32 mag,
UInt32 mip,
UInt32 reduction )
constexpr

◆ EncodeMinMagAnisotropicMIPPointFilter()

Filter Harlinn::Windows::Graphics::D3D12::EncodeMinMagAnisotropicMIPPointFilter ( UInt32 reduction)
constexpr

◆ EncodeShader4ComponentMapping() [1/2]

UInt32 Harlinn::Windows::Graphics::D3D12::EncodeShader4ComponentMapping ( ShaderComponentMapping src0,
ShaderComponentMapping src1,
ShaderComponentMapping src2,
ShaderComponentMapping src3 )
inlineconstexpr

◆ EncodeShader4ComponentMapping() [2/2]

UInt32 Harlinn::Windows::Graphics::D3D12::EncodeShader4ComponentMapping ( UInt32 src0,
UInt32 src1,
UInt32 src2,
UInt32 src3 )
inlineconstexpr

◆ GetCoarseShadingRateXAxis() [1/2]

Int32 Harlinn::Windows::Graphics::D3D12::GetCoarseShadingRateXAxis ( Int32 x)
constexpr

◆ GetCoarseShadingRateXAxis() [2/2]

AxisShadingRate Harlinn::Windows::Graphics::D3D12::GetCoarseShadingRateXAxis ( ShadingRate x)
constexpr

◆ GetCoarseShadingRateYAxis() [1/2]

Int32 Harlinn::Windows::Graphics::D3D12::GetCoarseShadingRateYAxis ( Int32 y)
constexpr

◆ GetCoarseShadingRateYAxis() [2/2]

AxisShadingRate Harlinn::Windows::Graphics::D3D12::GetCoarseShadingRateYAxis ( ShadingRate y)
constexpr

◆ GetDebugInterface()

template<typename T >
T Harlinn::Windows::Graphics::D3D12::GetDebugInterface ( )
inline

◆ GetFormatPlaneCount()

UInt8 Harlinn::Windows::Graphics::D3D12::GetFormatPlaneCount ( const Device & device,
DXGI::Format format )
inline

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [1/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( BarrierAccess ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [2/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( BarrierSync ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [3/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( BufferSRVFlags ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [4/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( BufferUAVFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [5/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ClearFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [6/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ColorWriteEnable ,
UInt8  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [7/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( CommandListFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [8/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( CommandListSupportFlags ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [9/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( CommandPoolFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [10/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( CommandQueueFlags ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [11/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( CommandRecorderFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [12/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( DescriptorHeapFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [13/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( DescriptorRangeFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [14/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( DeviceFactoryFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [15/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( DeviceFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [16/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( DREDFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [17/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( DREDPageFaultFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [18/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( DSVFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [19/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ExportFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [20/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( FenceFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [21/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( FormatSupport1 ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [22/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( FormatSupport2 ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [23/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( GraphicsStates ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [24/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( HeapFlags ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [25/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( MetaCommandParameterFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [26/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( MultipleFenceWaitFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [27/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( MultisampleQualityLevelFlags ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [28/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ProtectedResourceSessionFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [29/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ProtectedResourceSessionSupportFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [30/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( RayFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [31/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( RaytracingAccelerationStructureBuildFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [32/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( RaytracingGeometryFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [33/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( RaytracingInstanceFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [34/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( RaytracingPipelineFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [35/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( RenderPassFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [36/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ResidencyFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [37/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ResourceBarrierFlags ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [38/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ResourceFlags ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [39/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ResourceStates ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [40/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( RootDescriptorFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [41/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( RootSignatureFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [42/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( SamplerFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [43/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( SetWorkGraphFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [44/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ShaderCacheControlFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [45/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ShaderCacheKindFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [46/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ShaderMinPrecisionSupport ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [47/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( StateObjectFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [48/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( TextureBarrierFlags ,
UInt32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [49/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( TileCopyFlags ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [50/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( TileMappingFlags ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [51/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( ViewInstancingFlags ,
Int32  )

◆ HCC_DEFINE_ENUM_FLAG_OPERATORS() [52/52]

Harlinn::Windows::Graphics::D3D12::HCC_DEFINE_ENUM_FLAG_OPERATORS ( WorkGraphFlags ,
UInt32  )

◆ IsAnisotropicFilter() [1/2]

bool Harlinn::Windows::Graphics::D3D12::IsAnisotropicFilter ( Filter filter)
constexpr

◆ IsAnisotropicFilter() [2/2]

bool Harlinn::Windows::Graphics::D3D12::IsAnisotropicFilter ( UInt32 filter)
constexpr

◆ IsComparisonFilter() [1/2]

bool Harlinn::Windows::Graphics::D3D12::IsComparisonFilter ( Filter filter)
constexpr

◆ IsComparisonFilter() [2/2]

bool Harlinn::Windows::Graphics::D3D12::IsComparisonFilter ( UInt32 filter)
constexpr

◆ MakeCoarseShadingRate() [1/2]

ShadingRate Harlinn::Windows::Graphics::D3D12::MakeCoarseShadingRate ( AxisShadingRate x,
AxisShadingRate y )
constexpr

◆ MakeCoarseShadingRate() [2/2]

Int32 Harlinn::Windows::Graphics::D3D12::MakeCoarseShadingRate ( Int32 x,
Int32 y )
constexpr

◆ MemcpySubresource()

void Harlinn::Windows::Graphics::D3D12::MemcpySubresource ( _In_ const MemCopyDest * pDest,
_In_ const SubResourceData * pSrc,
SIZE_T RowSizeInBytes,
UINT NumRows,
UINT NumSlices )
inline

◆ UpdateSubResources() [1/3]

UINT64 Harlinn::Windows::Graphics::D3D12::UpdateSubResources ( const GraphicsCommandList & cmdList,
const Resource & destinationResource,
const Resource & intermediate,
_In_range_(0, D3D12_REQ_SUBRESOURCES) UInt32 firstSubResource,
_In_range_(0, D3D12_REQ_SUBRESOURCES - firstSubResource) UInt32 numSubResources,
UInt64 requiredSize,
_In_reads_(numSubResources) const PlacedSubresourceFootprint * layouts,
_In_reads_(numSubResources) const UInt32 * numRows,
_In_reads_(numSubResources) const UInt64 * rowSizesInBytes,
_In_reads_(numSubResources) const SubResourceData * srcData )
inline

◆ UpdateSubResources() [2/3]

UInt64 Harlinn::Windows::Graphics::D3D12::UpdateSubResources ( const GraphicsCommandList & cmdList,
const Resource & destinationResource,
const Resource & intermediate,
UINT64 intermediateOffset,
_In_range_(0, D3D12_REQ_SUBRESOURCES) UINT firstSubResource,
_In_range_(0, D3D12_REQ_SUBRESOURCES - firstSubResource) UINT numSubResources,
_In_reads_(numSubResources) SubResourceData * srcData )
inline

◆ UpdateSubResources() [3/3]

template<UINT MaxSubresources>
UINT64 Harlinn::Windows::Graphics::D3D12::UpdateSubResources ( const GraphicsCommandList & cmdList,
const Resource & destinationResource,
const Resource & intermediate,
UInt64 intermediateOffset,
_In_range_(0, MaxSubresources) UINT firstSubResource,
_In_range_(1, MaxSubresources - firstSubResource) UInt32 numSubResources,
_In_reads_(numSubResources) SubResourceData * srcData )
inline

Variable Documentation

◆ AnisotropicFilteringBit

UInt32 Harlinn::Windows::Graphics::D3D12::AnisotropicFilteringBit = D3D12_ANISOTROPIC_FILTERING_BIT
constexpr

◆ DefaultShader4ComponentMapping

UInt32 Harlinn::Windows::Graphics::D3D12::DefaultShader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING
constexpr

◆ FilterReductionTypeMask

UInt32 Harlinn::Windows::Graphics::D3D12::FilterReductionTypeMask = D3D12_FILTER_REDUCTION_TYPE_MASK
constexpr

◆ FilterReductionTypeShift

UInt32 Harlinn::Windows::Graphics::D3D12::FilterReductionTypeShift = D3D12_FILTER_REDUCTION_TYPE_SHIFT
constexpr

◆ FilterTypeMask

UInt32 Harlinn::Windows::Graphics::D3D12::FilterTypeMask = D3D12_FILTER_TYPE_MASK
constexpr

◆ MagFilterShift

UInt32 Harlinn::Windows::Graphics::D3D12::MagFilterShift = D3D12_MAG_FILTER_SHIFT
constexpr

◆ MinFilterShift

UInt32 Harlinn::Windows::Graphics::D3D12::MinFilterShift = D3D12_MIN_FILTER_SHIFT
constexpr

◆ MIPFilterShift

UInt32 Harlinn::Windows::Graphics::D3D12::MIPFilterShift = D3D12_MIP_FILTER_SHIFT
constexpr

◆ ShaderComponentMappingAlwaysSetBitAvoidingZeroMemMistakes

UInt32 Harlinn::Windows::Graphics::D3D12::ShaderComponentMappingAlwaysSetBitAvoidingZeroMemMistakes = D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES
constexpr

◆ ShaderComponentMappingMask

UInt32 Harlinn::Windows::Graphics::D3D12::ShaderComponentMappingMask = D3D12_SHADER_COMPONENT_MAPPING_MASK
constexpr

◆ ShaderComponentMappingShift

UInt32 Harlinn::Windows::Graphics::D3D12::ShaderComponentMappingShift = D3D12_SHADER_COMPONENT_MAPPING_SHIFT
constexpr

◆ ShadingRateValidMask

int Harlinn::Windows::Graphics::D3D12::ShadingRateValidMask = 3
constexpr

◆ ShadingRateXAxisShift

int Harlinn::Windows::Graphics::D3D12::ShadingRateXAxisShift = 2
constexpr