// ------------------------------------------------------------------------------
//
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Direct3D12;
///
/// D3D12_COMMAND_QUEUE_DESC
public partial struct CommandQueueDescription
{
///
public CommandListType Type;
///
public int Priority;
///
public CommandQueueFlags Flags;
///
public uint NodeMask;
}
///
/// D3D12_INPUT_ELEMENT_DESC
public partial struct InputElementDescription
{
///
public unsafe byte* SemanticName;
///
public uint SemanticIndex;
///
public Graphics.Dxgi.Common.Format Format;
///
public uint InputSlot;
///
public uint AlignedByteOffset;
///
public InputClassification InputSlotClass;
///
public uint InstanceDataStepRate;
}
///
/// D3D12_SO_DECLARATION_ENTRY
public partial struct SODeclarationEntry
{
///
public uint Stream;
///
public unsafe byte* SemanticName;
///
public uint SemanticIndex;
///
public byte StartComponent;
///
public byte ComponentCount;
///
public byte OutputSlot;
}
///
/// D3D12_BOX
public partial struct Box
{
///
public uint left;
///
public uint top;
///
public uint front;
///
public uint right;
///
public uint bottom;
///
public uint back;
}
///
/// D3D12_DEPTH_STENCILOP_DESC
public partial struct DepthStencilOperationDescription
{
///
public StencilOperation StencilFailOp;
///
public StencilOperation StencilDepthFailOp;
///
public StencilOperation StencilPassOp;
///
public ComparisonFunction StencilFunc;
}
///
/// D3D12_DEPTH_STENCIL_DESC
public partial struct DepthStencilDescription
{
///
public Bool32 DepthEnable;
///
public DepthWriteMask DepthWriteMask;
///
public ComparisonFunction DepthFunc;
///
public Bool32 StencilEnable;
///
public byte StencilReadMask;
///
public byte StencilWriteMask;
///
public DepthStencilOperationDescription FrontFace;
///
public DepthStencilOperationDescription BackFace;
}
///
/// D3D12_DEPTH_STENCIL_DESC1
public partial struct DepthStencilDescription1
{
///
public Bool32 DepthEnable;
///
public DepthWriteMask DepthWriteMask;
///
public ComparisonFunction DepthFunc;
///
public Bool32 StencilEnable;
///
public byte StencilReadMask;
///
public byte StencilWriteMask;
///
public DepthStencilOperationDescription FrontFace;
///
public DepthStencilOperationDescription BackFace;
///
public Bool32 DepthBoundsTestEnable;
}
///
/// D3D12_DEPTH_STENCILOP_DESC1
public partial struct DepthStencilOpDescription1
{
///
public StencilOperation StencilFailOp;
///
public StencilOperation StencilDepthFailOp;
///
public StencilOperation StencilPassOp;
///
public ComparisonFunction StencilFunc;
///
public byte StencilReadMask;
///
public byte StencilWriteMask;
}
///
/// D3D12_DEPTH_STENCIL_DESC2
public partial struct DepthStencilDescription2
{
///
public Bool32 DepthEnable;
///
public DepthWriteMask DepthWriteMask;
///
public ComparisonFunction DepthFunc;
///
public Bool32 StencilEnable;
///
public DepthStencilOpDescription1 FrontFace;
///
public DepthStencilOpDescription1 BackFace;
///
public Bool32 DepthBoundsTestEnable;
}
///
/// D3D12_RENDER_TARGET_BLEND_DESC
public partial struct RenderTargetBlendDescription
{
///
public Bool32 BlendEnable;
///
public Bool32 LogicOpEnable;
///
public Blend SrcBlend;
///
public Blend DestBlend;
///
public BlendOperation BlendOp;
///
public Blend SrcBlendAlpha;
///
public Blend DestBlendAlpha;
///
public BlendOperation BlendOpAlpha;
///
public LogicOperation LogicOp;
///
public ColorWriteEnable RenderTargetWriteMask;
}
///
/// D3D12_BLEND_DESC
public partial struct BlendDescription
{
///
public Bool32 AlphaToCoverageEnable;
///
public Bool32 IndependentBlendEnable;
///
public RenderTarget__FixedBuffer RenderTarget;
public unsafe struct RenderTarget__FixedBuffer
{
public RenderTargetBlendDescription e0;
public RenderTargetBlendDescription e1;
public RenderTargetBlendDescription e2;
public RenderTargetBlendDescription e3;
public RenderTargetBlendDescription e4;
public RenderTargetBlendDescription e5;
public RenderTargetBlendDescription e6;
public RenderTargetBlendDescription e7;
[UnscopedRef]
public ref RenderTargetBlendDescription this[int index]
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref AsSpan()[index];
}
}
[UnscopedRef]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public Span AsSpan()
{
return MemoryMarshal.CreateSpan(ref e0, 8);
}
}
}
///
/// D3D12_RASTERIZER_DESC
public partial struct RasterizerDescription
{
///
public FillMode FillMode;
///
public CullMode CullMode;
///
public Bool32 FrontCounterClockwise;
///
public int DepthBias;
///
public float DepthBiasClamp;
///
public float SlopeScaledDepthBias;
///
public Bool32 DepthClipEnable;
///
public Bool32 MultisampleEnable;
///
public Bool32 AntialiasedLineEnable;
///
public uint ForcedSampleCount;
///
public ConservativeRasterizationMode ConservativeRaster;
}
///
/// D3D12_RASTERIZER_DESC1
public partial struct RasterizerDescription1
{
///
public FillMode FillMode;
///
public CullMode CullMode;
///
public Bool32 FrontCounterClockwise;
///
public float DepthBias;
///
public float DepthBiasClamp;
///
public float SlopeScaledDepthBias;
///
public Bool32 DepthClipEnable;
///
public Bool32 MultisampleEnable;
///
public Bool32 AntialiasedLineEnable;
///
public uint ForcedSampleCount;
///
public ConservativeRasterizationMode ConservativeRaster;
}
///
/// D3D12_RASTERIZER_DESC2
public partial struct RasterizerDescription2
{
///
public FillMode FillMode;
///
public CullMode CullMode;
///
public Bool32 FrontCounterClockwise;
///
public float DepthBias;
///
public float DepthBiasClamp;
///
public float SlopeScaledDepthBias;
///
public Bool32 DepthClipEnable;
///
public LineRasterizationMode LineRasterizationMode;
///
public uint ForcedSampleCount;
///
public ConservativeRasterizationMode ConservativeRaster;
}
///
/// D3D12_SHADER_BYTECODE
public partial struct ShaderBytecode
{
///
public unsafe void* pShaderBytecode;
///
public nuint BytecodeLength;
}
///
/// D3D12_STREAM_OUTPUT_DESC
public partial struct StreamOutputDescription
{
///
public unsafe SODeclarationEntry* pSODeclaration;
///
public uint NumEntries;
///
public unsafe uint* pBufferStrides;
///
public uint NumStrides;
///
public uint RasterizedStream;
}
///
/// D3D12_INPUT_LAYOUT_DESC
public partial struct InputLayoutDescription
{
///
public unsafe InputElementDescription* pInputElementDescs;
///
public uint NumElements;
}
///
/// D3D12_CACHED_PIPELINE_STATE
public partial struct CachedPipelineState
{
///
public unsafe void* pCachedBlob;
///
public nuint CachedBlobSizeInBytes;
}
///
/// D3D12_GRAPHICS_PIPELINE_STATE_DESC
public partial struct GraphicsPipelineStateDescription
{
///
public unsafe ID3D12RootSignature* pRootSignature;
///
public ShaderBytecode VS;
///
public ShaderBytecode PS;
///
public ShaderBytecode DS;
///
public ShaderBytecode HS;
///
public ShaderBytecode GS;
///
public StreamOutputDescription StreamOutput;
///
public BlendDescription BlendState;
///
public uint SampleMask;
///
public RasterizerDescription RasterizerState;
///
public DepthStencilDescription DepthStencilState;
///
public InputLayoutDescription InputLayout;
///
public IndexBufferStripCutValue IBStripCutValue;
///
public PrimitiveTopologyType PrimitiveTopologyType;
///
public uint NumRenderTargets;
///
public RTVFormats__FixedBuffer RTVFormats;
public unsafe struct RTVFormats__FixedBuffer
{
public Graphics.Dxgi.Common.Format e0;
public Graphics.Dxgi.Common.Format e1;
public Graphics.Dxgi.Common.Format e2;
public Graphics.Dxgi.Common.Format e3;
public Graphics.Dxgi.Common.Format e4;
public Graphics.Dxgi.Common.Format e5;
public Graphics.Dxgi.Common.Format e6;
public Graphics.Dxgi.Common.Format e7;
[UnscopedRef]
public ref Graphics.Dxgi.Common.Format this[int index]
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref AsSpan()[index];
}
}
[UnscopedRef]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public Span AsSpan()
{
return MemoryMarshal.CreateSpan(ref e0, 8);
}
}
///
public Graphics.Dxgi.Common.Format DSVFormat;
///
public Graphics.Dxgi.Common.SampleDescription SampleDesc;
///
public uint NodeMask;
///
public CachedPipelineState CachedPSO;
///
public PipelineStateFlags Flags;
}
///
/// D3D12_COMPUTE_PIPELINE_STATE_DESC
public partial struct ComputePipelineStateDescription
{
///
public unsafe ID3D12RootSignature* pRootSignature;
///
public ShaderBytecode CS;
///
public uint NodeMask;
///
public CachedPipelineState CachedPSO;
///
public PipelineStateFlags Flags;
}
///
/// D3D12_RT_FORMAT_ARRAY
public partial struct RtFormatArray
{
///
public RTFormats__FixedBuffer RTFormats;
public unsafe struct RTFormats__FixedBuffer
{
public Graphics.Dxgi.Common.Format e0;
public Graphics.Dxgi.Common.Format e1;
public Graphics.Dxgi.Common.Format e2;
public Graphics.Dxgi.Common.Format e3;
public Graphics.Dxgi.Common.Format e4;
public Graphics.Dxgi.Common.Format e5;
public Graphics.Dxgi.Common.Format e6;
public Graphics.Dxgi.Common.Format e7;
[UnscopedRef]
public ref Graphics.Dxgi.Common.Format this[int index]
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref AsSpan()[index];
}
}
[UnscopedRef]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public Span AsSpan()
{
return MemoryMarshal.CreateSpan(ref e0, 8);
}
}
///
public uint NumRenderTargets;
}
///
/// D3D12_PIPELINE_STATE_STREAM_DESC
public partial struct PipelineStateStreamDescription
{
///
public nuint SizeInBytes;
///
public unsafe void* pPipelineStateSubobjectStream;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS
public partial struct FeatureDataD3D12Options
{
///
public Bool32 DoublePrecisionFloatShaderOps;
///
public Bool32 OutputMergerLogicOp;
///
public ShaderMinPrecisionSupport MinPrecisionSupport;
///
public TiledResourcesTier TiledResourcesTier;
///
public ResourceBindingTier ResourceBindingTier;
///
public Bool32 PSSpecifiedStencilRefSupported;
///
public Bool32 TypedUAVLoadAdditionalFormats;
///
public Bool32 ROVsSupported;
///
public ConservativeRasterizationTier ConservativeRasterizationTier;
///
public uint MaxGPUVirtualAddressBitsPerResource;
///
public Bool32 StandardSwizzle64KBSupported;
///
public CrossNodeSharingTier CrossNodeSharingTier;
///
public Bool32 CrossAdapterRowMajorTextureSupported;
///
public Bool32 VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
///
public ResourceHeapTier ResourceHeapTier;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS1
public partial struct FeatureDataD3D12Options1
{
///
public Bool32 WaveOps;
///
public uint WaveLaneCountMin;
///
public uint WaveLaneCountMax;
///
public uint TotalLaneCount;
///
public Bool32 ExpandedComputeResourceStates;
///
public Bool32 Int64ShaderOps;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS2
public partial struct FeatureDataD3D12Options2
{
///
public Bool32 DepthBoundsTestSupported;
///
public ProgrammableSamplePositionsTier ProgrammableSamplePositionsTier;
}
///
/// D3D12_FEATURE_DATA_ROOT_SIGNATURE
public partial struct FeatureDataRootSignature
{
///
public RootSignatureVersion HighestVersion;
}
///
/// D3D12_FEATURE_DATA_ARCHITECTURE
public partial struct FeatureDataArchitecture
{
///
public uint NodeIndex;
///
public Bool32 TileBasedRenderer;
///
public Bool32 UMA;
///
public Bool32 CacheCoherentUMA;
}
///
/// D3D12_FEATURE_DATA_ARCHITECTURE1
public partial struct FeatureDataArchitecture1
{
///
public uint NodeIndex;
///
public Bool32 TileBasedRenderer;
///
public Bool32 UMA;
///
public Bool32 CacheCoherentUMA;
///
public Bool32 IsolatedMMU;
}
///
/// D3D12_FEATURE_DATA_FEATURE_LEVELS
public partial struct FeatureDataFeatureLevels
{
///
public uint NumFeatureLevels;
///
public unsafe Graphics.Direct3D.FeatureLevel* pFeatureLevelsRequested;
///
public Graphics.Direct3D.FeatureLevel MaxSupportedFeatureLevel;
}
///
/// D3D12_FEATURE_DATA_SHADER_MODEL
public partial struct FeatureDataShaderModel
{
///
public ShaderModel HighestShaderModel;
}
///
/// D3D12_FEATURE_DATA_FORMAT_SUPPORT
public partial struct FeatureDataFormatSupport
{
///
public Graphics.Dxgi.Common.Format Format;
///
public FormatSupport1 Support1;
///
public FormatSupport2 Support2;
}
///
/// D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS
public partial struct FeatureDataMultisampleQualityLevels
{
///
public Graphics.Dxgi.Common.Format Format;
///
public uint SampleCount;
///
public MultisampleQualityLevelFlags Flags;
///
public uint NumQualityLevels;
}
///
/// D3D12_FEATURE_DATA_FORMAT_INFO
public partial struct FeatureDataFormatInfo
{
///
public Graphics.Dxgi.Common.Format Format;
///
public byte PlaneCount;
}
///
/// D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT
public partial struct FeatureDataGpuVirtualAddressSupport
{
///
public uint MaxGPUVirtualAddressBitsPerResource;
///
public uint MaxGPUVirtualAddressBitsPerProcess;
}
///
/// D3D12_FEATURE_DATA_SHADER_CACHE
public partial struct FeatureDataShaderCache
{
///
public ShaderCacheSupportFlags SupportFlags;
}
///
/// D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY
public partial struct FeatureDataCommandQueuePriority
{
///
public CommandListType CommandListType;
///
public uint Priority;
///
public Bool32 PriorityForTypeIsSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS3
public partial struct FeatureDataD3D12Options3
{
///
public Bool32 CopyQueueTimestampQueriesSupported;
///
public Bool32 CastingFullyTypedFormatSupported;
///
public CommandListSupportFlags WriteBufferImmediateSupportFlags;
///
public ViewInstancingTier ViewInstancingTier;
///
public Bool32 BarycentricsSupported;
}
///
/// D3D12_FEATURE_DATA_EXISTING_HEAPS
public partial struct FeatureDataExistingHeaps
{
///
public Bool32 Supported;
}
///
/// D3D12_FEATURE_DATA_DISPLAYABLE
public partial struct FeatureDataDisplayable
{
///
public Bool32 DisplayableTexture;
///
public SharedResourceCompatibilityTier SharedResourceCompatibilityTier;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS4
public partial struct FeatureDataD3D12Options4
{
///
public Bool32 MSAA64KBAlignedTextureSupported;
///
public SharedResourceCompatibilityTier SharedResourceCompatibilityTier;
///
public Bool32 Native16BitShaderOpsSupported;
}
///
/// D3D12_FEATURE_DATA_SERIALIZATION
public partial struct FeatureDataSerialization
{
///
public uint NodeIndex;
///
public HeapSerializationTier HeapSerializationTier;
}
///
/// D3D12_FEATURE_DATA_CROSS_NODE
public partial struct FeatureDataCrossNode
{
///
public CrossNodeSharingTier SharingTier;
///
public Bool32 AtomicShaderInstructions;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS5
public partial struct FeatureDataD3D12Options5
{
///
public Bool32 SRVOnlyTiledResourceTier3;
///
public RenderPassTier RenderPassesTier;
///
public RaytracingTier RaytracingTier;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS6
public partial struct FeatureDataD3D12Options6
{
///
public Bool32 AdditionalShadingRatesSupported;
///
public Bool32 PerPrimitiveShadingRateSupportedWithViewportIndexing;
///
public VariableShadingRateTier VariableShadingRateTier;
///
public uint ShadingRateImageTileSize;
///
public Bool32 BackgroundProcessingSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS7
public partial struct FeatureDataD3D12Options7
{
///
public MeshShaderTier MeshShaderTier;
///
public SamplerFeedbackTier SamplerFeedbackTier;
}
///
/// D3D12_FEATURE_DATA_QUERY_META_COMMAND
public partial struct FeatureDataQueryMetaCommand
{
///
public Guid CommandId;
///
public uint NodeMask;
///
public unsafe void* pQueryInputData;
///
public nuint QueryInputDataSizeInBytes;
///
public unsafe void* pQueryOutputData;
///
public nuint QueryOutputDataSizeInBytes;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS8
public partial struct FeatureDataD3D12Options8
{
///
public Bool32 UnalignedBlockTexturesSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS9
public partial struct FeatureDataD3D12Options9
{
///
public Bool32 MeshShaderPipelineStatsSupported;
///
public Bool32 MeshShaderSupportsFullRangeRenderTargetArrayIndex;
///
public Bool32 AtomicInt64OnTypedResourceSupported;
///
public Bool32 AtomicInt64OnGroupSharedSupported;
///
public Bool32 DerivativesInMeshAndAmplificationShadersSupported;
///
public WaveMmaTier WaveMMATier;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS10
public partial struct FeatureDataD3D12Options10
{
///
public Bool32 VariableRateShadingSumCombinerSupported;
///
public Bool32 MeshShaderPerPrimitiveShadingRateSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS11
public partial struct FeatureDataD3D12Options11
{
///
public Bool32 AtomicInt64OnDescriptorHeapResourceSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS12
public partial struct FeatureDataD3D12Options12
{
///
public TriState MSPrimitivesPipelineStatisticIncludesCulledPrimitives;
///
public Bool32 EnhancedBarriersSupported;
///
public Bool32 RelaxedFormatCastingSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS13
public partial struct FeatureDataD3D12Options13
{
///
public Bool32 UnrestrictedBufferTextureCopyPitchSupported;
///
public Bool32 UnrestrictedVertexElementAlignmentSupported;
///
public Bool32 InvertedViewportHeightFlipsYSupported;
///
public Bool32 InvertedViewportDepthFlipsZSupported;
///
public Bool32 TextureCopyBetweenDimensionsSupported;
///
public Bool32 AlphaBlendFactorSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS14
public partial struct FeatureDataD3D12Options14
{
///
public Bool32 AdvancedTextureOpsSupported;
///
public Bool32 WriteableMSAATexturesSupported;
///
public Bool32 IndependentFrontAndBackStencilRefMaskSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS15
public partial struct FeatureDataD3D12Options15
{
///
public Bool32 TriangleFanSupported;
///
public Bool32 DynamicIndexBufferStripCutSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS16
public partial struct FeatureDataD3D12Options16
{
///
public Bool32 DynamicDepthBiasSupported;
///
public Bool32 GPUUploadHeapSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS17
public partial struct FeatureDataD3D12Options17
{
///
public Bool32 NonNormalizedCoordinateSamplersSupported;
///
public Bool32 ManualWriteTrackingResourceSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS18
public partial struct FeatureDataD3D12Options18
{
///
public Bool32 RenderPassesValid;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS19
public partial struct FeatureDataD3D12Options19
{
///
public Bool32 MismatchingOutputDimensionsSupported;
///
public uint SupportedSampleCountsWithNoOutputs;
///
public Bool32 PointSamplingAddressesNeverRoundUp;
///
public Bool32 RasterizerDesc2Supported;
///
public Bool32 NarrowQuadrilateralLinesSupported;
///
public Bool32 AnisoFilterWithPointMipSupported;
///
public uint MaxSamplerDescriptorHeapSize;
///
public uint MaxSamplerDescriptorHeapSizeWithStaticSamplers;
///
public uint MaxViewDescriptorHeapSize;
///
public Bool32 ComputeOnlyCustomHeapSupported;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS20
public partial struct FeatureDataD3D12Options20
{
///
public Bool32 ComputeOnlyWriteWatchSupported;
///
public RecreateAtTier RecreateAtTier;
}
///
/// D3D12_FEATURE_DATA_D3D12_OPTIONS21
public partial struct FeatureDataD3D12Options21
{
///
public WorkGraphsTier WorkGraphsTier;
///
public ExecuteIndirectTier ExecuteIndirectTier;
///
public Bool32 SampleCmpGradientAndBiasSupported;
///
public Bool32 ExtendedCommandInfoSupported;
}
///
/// D3D12_FEATURE_DATA_PREDICATION
public partial struct FeatureDataPredication
{
///
public Bool32 Supported;
}
///
/// D3D12_FEATURE_DATA_HARDWARE_COPY
public partial struct FeatureDataHardwareCopy
{
///
public Bool32 Supported;
}
///
/// D3D12_RESOURCE_ALLOCATION_INFO
public partial struct ResourceAllocationInfo
{
///
public ulong SizeInBytes;
///
public ulong Alignment;
}
///
/// D3D12_RESOURCE_ALLOCATION_INFO1
public partial struct ResourceAllocationInfo1
{
///
public ulong Offset;
///
public ulong Alignment;
///
public ulong SizeInBytes;
}
///
/// D3D12_HEAP_PROPERTIES
public partial struct HeapProperties
{
///
public HeapType Type;
///
public CpuPageProperty CPUPageProperty;
///
public MemoryPool MemoryPoolPreference;
///
public uint CreationNodeMask;
///
public uint VisibleNodeMask;
}
///
/// D3D12_HEAP_DESC
public partial struct HeapDescription
{
///
public ulong SizeInBytes;
///
public HeapProperties Properties;
///
public ulong Alignment;
///
public HeapFlags Flags;
}
///
/// D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO
public partial struct FeatureDataPlacedResourceSupportInfo
{
///
public Graphics.Dxgi.Common.Format Format;
///
public ResourceDimension Dimension;
///
public HeapProperties DestHeapProperties;
///
public Bool32 Supported;
}
///
/// D3D12_MIP_REGION
public partial struct MipRegion
{
///
public uint Width;
///
public uint Height;
///
public uint Depth;
}
///
/// D3D12_RESOURCE_DESC
public partial struct ResourceDescription
{
///
public ResourceDimension Dimension;
///
public ulong Alignment;
///
public ulong Width;
///
public uint Height;
///
public ushort DepthOrArraySize;
///
public ushort MipLevels;
///
public Graphics.Dxgi.Common.Format Format;
///
public Graphics.Dxgi.Common.SampleDescription SampleDesc;
///
public TextureLayout Layout;
///
public ResourceFlags Flags;
}
///
/// D3D12_RESOURCE_DESC1
public partial struct ResourceDescription1
{
///
public ResourceDimension Dimension;
///
public ulong Alignment;
///
public ulong Width;
///
public uint Height;
///
public ushort DepthOrArraySize;
///
public ushort MipLevels;
///
public Graphics.Dxgi.Common.Format Format;
///
public Graphics.Dxgi.Common.SampleDescription SampleDesc;
///
public TextureLayout Layout;
///
public ResourceFlags Flags;
///
public MipRegion SamplerFeedbackMipRegion;
}
///
/// D3D12_DEPTH_STENCIL_VALUE
public partial struct DepthStencilValue
{
///
public float Depth;
///
public byte Stencil;
}
///
/// D3D12_CLEAR_VALUE
public partial struct ClearValue
{
///
public Graphics.Dxgi.Common.Format Format;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public unsafe Span Color
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return MemoryMarshal.CreateSpan(ref Anonymous.Color[0], 4);
}
}
[UnscopedRef]
public ref DepthStencilValue DepthStencil
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.DepthStencil;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public unsafe fixed float Color[4];
///
[FieldOffset(0)]
public DepthStencilValue DepthStencil;
}
}
///
/// D3D12_RANGE
public partial struct Range
{
///
public nuint Begin;
///
public nuint End;
}
///
/// D3D12_RANGE_UINT64
public partial struct RangeUInt64
{
///
public ulong Begin;
///
public ulong End;
}
///
/// D3D12_SUBRESOURCE_RANGE_UINT64
public partial struct SubresourceRangeUInt64
{
///
public uint Subresource;
///
public RangeUInt64 Range;
}
///
/// D3D12_SUBRESOURCE_INFO
public partial struct SubresourceInfo
{
///
public ulong Offset;
///
public uint RowPitch;
///
public uint DepthPitch;
}
///
/// D3D12_TILED_RESOURCE_COORDINATE
public partial struct TiledResourceCoordinate
{
///
public uint X;
///
public uint Y;
///
public uint Z;
///
public uint Subresource;
}
///
/// D3D12_TILE_REGION_SIZE
public partial struct TileRegionSize
{
///
public uint NumTiles;
///
public Bool32 UseBox;
///
public uint Width;
///
public ushort Height;
///
public ushort Depth;
}
///
/// D3D12_SUBRESOURCE_TILING
public partial struct SubresourceTiling
{
///
public uint WidthInTiles;
///
public ushort HeightInTiles;
///
public ushort DepthInTiles;
///
public uint StartTileIndexInOverallResource;
}
///
/// D3D12_TILE_SHAPE
public partial struct TileShape
{
///
public uint WidthInTexels;
///
public uint HeightInTexels;
///
public uint DepthInTexels;
}
///
/// D3D12_PACKED_MIP_INFO
public partial struct PackedMipInfo
{
///
public byte NumStandardMips;
///
public byte NumPackedMips;
///
public uint NumTilesForPackedMips;
///
public uint StartTileIndexInOverallResource;
}
///
/// D3D12_RESOURCE_TRANSITION_BARRIER
public partial struct ResourceTransitionBarrier
{
///
public unsafe ID3D12Resource* pResource;
///
public uint Subresource;
///
public ResourceStates StateBefore;
///
public ResourceStates StateAfter;
}
///
/// D3D12_RESOURCE_ALIASING_BARRIER
public partial struct ResourceAliasingBarrier
{
///
public unsafe ID3D12Resource* pResourceBefore;
///
public unsafe ID3D12Resource* pResourceAfter;
}
///
/// D3D12_RESOURCE_UAV_BARRIER
public partial struct ResourceUavBarrier
{
///
public unsafe ID3D12Resource* pResource;
}
///
/// D3D12_RESOURCE_BARRIER
public partial struct ResourceBarrier
{
///
public ResourceBarrierType Type;
///
public ResourceBarrierFlags Flags;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref ResourceTransitionBarrier Transition
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Transition;
}
}
[UnscopedRef]
public ref ResourceAliasingBarrier Aliasing
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Aliasing;
}
}
[UnscopedRef]
public ref ResourceUavBarrier UAV
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.UAV;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public ResourceTransitionBarrier Transition;
///
[FieldOffset(0)]
public ResourceAliasingBarrier Aliasing;
///
[FieldOffset(0)]
public ResourceUavBarrier UAV;
}
}
///
/// D3D12_SUBRESOURCE_FOOTPRINT
public partial struct SubresourceFootprint
{
///
public Graphics.Dxgi.Common.Format Format;
///
public uint Width;
///
public uint Height;
///
public uint Depth;
///
public uint RowPitch;
}
///
/// D3D12_PLACED_SUBRESOURCE_FOOTPRINT
public partial struct PlacedSubresourceFootprint
{
///
public ulong Offset;
///
public SubresourceFootprint Footprint;
}
///
/// D3D12_TEXTURE_COPY_LOCATION
public partial struct TextureCopyLocation
{
///
public unsafe ID3D12Resource* pResource;
///
public TextureCopyType Type;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref PlacedSubresourceFootprint PlacedFootprint
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.PlacedFootprint;
}
}
[UnscopedRef]
public ref uint SubresourceIndex
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.SubresourceIndex;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public PlacedSubresourceFootprint PlacedFootprint;
///
[FieldOffset(0)]
public uint SubresourceIndex;
}
}
///
/// D3D12_SAMPLE_POSITION
public partial struct SamplePosition
{
///
public sbyte X;
///
public sbyte Y;
}
///
/// D3D12_VIEW_INSTANCE_LOCATION
public partial struct ViewInstanceLocation
{
///
public uint ViewportArrayIndex;
///
public uint RenderTargetArrayIndex;
}
///
/// D3D12_VIEW_INSTANCING_DESC
public partial struct ViewInstancingDescription
{
///
public uint ViewInstanceCount;
///
public unsafe ViewInstanceLocation* pViewInstanceLocations;
///
public ViewInstancingFlags Flags;
}
///
/// D3D12_BUFFER_SRV
public partial struct BufferSrv
{
///
public ulong FirstElement;
///
public uint NumElements;
///
public uint StructureByteStride;
///
public BufferSrvFlags Flags;
}
///
/// D3D12_TEX1D_SRV
public partial struct Texture1DSrv
{
///
public uint MostDetailedMip;
///
public uint MipLevels;
///
public float ResourceMinLODClamp;
}
///
/// D3D12_TEX1D_ARRAY_SRV
public partial struct Texture1DArraySrv
{
///
public uint MostDetailedMip;
///
public uint MipLevels;
///
public uint FirstArraySlice;
///
public uint ArraySize;
///
public float ResourceMinLODClamp;
}
///
/// D3D12_TEX2D_SRV
public partial struct Texture2DSrv
{
///
public uint MostDetailedMip;
///
public uint MipLevels;
///
public uint PlaneSlice;
///
public float ResourceMinLODClamp;
}
///
/// D3D12_TEX2D_ARRAY_SRV
public partial struct Texture2DArraySrv
{
///
public uint MostDetailedMip;
///
public uint MipLevels;
///
public uint FirstArraySlice;
///
public uint ArraySize;
///
public uint PlaneSlice;
///
public float ResourceMinLODClamp;
}
///
/// D3D12_TEX3D_SRV
public partial struct Texture3DSrv
{
///
public uint MostDetailedMip;
///
public uint MipLevels;
///
public float ResourceMinLODClamp;
}
///
/// D3D12_TEXCUBE_SRV
public partial struct TexureCubeSrv
{
///
public uint MostDetailedMip;
///
public uint MipLevels;
///
public float ResourceMinLODClamp;
}
///
/// D3D12_TEXCUBE_ARRAY_SRV
public partial struct TexureCubeArraySrv
{
///
public uint MostDetailedMip;
///
public uint MipLevels;
///
public uint First2DArrayFace;
///
public uint NumCubes;
///
public float ResourceMinLODClamp;
}
///
/// D3D12_TEX2DMS_SRV
public partial struct Texture2DMsSrv
{
///
public uint UnusedField_NothingToDefine;
}
///
/// D3D12_TEX2DMS_ARRAY_SRV
public partial struct Texture2DMsArraySrv
{
///
public uint FirstArraySlice;
///
public uint ArraySize;
}
///
/// D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV
public partial struct RaytracingAccelerationStructureSrv
{
///
public ulong Location;
}
///
/// D3D12_SHADER_RESOURCE_VIEW_DESC
public partial struct ShaderResourceViewDescription
{
///
public Graphics.Dxgi.Common.Format Format;
///
public SrvDimension ViewDimension;
///
public uint Shader4ComponentMapping;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref BufferSrv Buffer
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Buffer;
}
}
[UnscopedRef]
public ref Texture1DSrv Texture1D
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture1D;
}
}
[UnscopedRef]
public ref Texture1DArraySrv Texture1DArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture1DArray;
}
}
[UnscopedRef]
public ref Texture2DSrv Texture2D
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2D;
}
}
[UnscopedRef]
public ref Texture2DArraySrv Texture2DArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DArray;
}
}
[UnscopedRef]
public ref Texture2DMsSrv Texture2DMS
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DMS;
}
}
[UnscopedRef]
public ref Texture2DMsArraySrv Texture2DMSArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DMSArray;
}
}
[UnscopedRef]
public ref Texture3DSrv Texture3D
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture3D;
}
}
[UnscopedRef]
public ref TexureCubeSrv TextureCube
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.TextureCube;
}
}
[UnscopedRef]
public ref TexureCubeArraySrv TextureCubeArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.TextureCubeArray;
}
}
[UnscopedRef]
public ref RaytracingAccelerationStructureSrv RaytracingAccelerationStructure
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.RaytracingAccelerationStructure;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public BufferSrv Buffer;
///
[FieldOffset(0)]
public Texture1DSrv Texture1D;
///
[FieldOffset(0)]
public Texture1DArraySrv Texture1DArray;
///
[FieldOffset(0)]
public Texture2DSrv Texture2D;
///
[FieldOffset(0)]
public Texture2DArraySrv Texture2DArray;
///
[FieldOffset(0)]
public Texture2DMsSrv Texture2DMS;
///
[FieldOffset(0)]
public Texture2DMsArraySrv Texture2DMSArray;
///
[FieldOffset(0)]
public Texture3DSrv Texture3D;
///
[FieldOffset(0)]
public TexureCubeSrv TextureCube;
///
[FieldOffset(0)]
public TexureCubeArraySrv TextureCubeArray;
///
[FieldOffset(0)]
public RaytracingAccelerationStructureSrv RaytracingAccelerationStructure;
}
}
///
/// D3D12_CONSTANT_BUFFER_VIEW_DESC
public partial struct ConstantBufferViewDescription
{
///
public ulong BufferLocation;
///
public uint SizeInBytes;
}
///
/// D3D12_SAMPLER_DESC
public partial struct SamplerDescription
{
///
public Filter Filter;
///
public TextureAddressMode AddressU;
///
public TextureAddressMode AddressV;
///
public TextureAddressMode AddressW;
///
public float MipLODBias;
///
public uint MaxAnisotropy;
///
public ComparisonFunction ComparisonFunc;
///
public unsafe fixed float BorderColor[4];
///
public float MinLOD;
///
public float MaxLOD;
}
///
/// D3D12_SAMPLER_DESC2
public partial struct SamplerDescription2
{
///
public Filter Filter;
///
public TextureAddressMode AddressU;
///
public TextureAddressMode AddressV;
///
public TextureAddressMode AddressW;
///
public float MipLODBias;
///
public uint MaxAnisotropy;
///
public ComparisonFunction ComparisonFunc;
///
public _Anonymous_e__Union Anonymous;
///
public float MinLOD;
///
public float MaxLOD;
///
public SamplerFlags Flags;
[UnscopedRef]
public unsafe Span FloatBorderColor
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return MemoryMarshal.CreateSpan(ref Anonymous.FloatBorderColor[0], 4);
}
}
[UnscopedRef]
public unsafe Span UintBorderColor
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return MemoryMarshal.CreateSpan(ref Anonymous.UintBorderColor[0], 4);
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public unsafe fixed float FloatBorderColor[4];
///
[FieldOffset(0)]
public unsafe fixed uint UintBorderColor[4];
}
}
///
/// D3D12_BUFFER_UAV
public partial struct BufferUav
{
///
public ulong FirstElement;
///
public uint NumElements;
///
public uint StructureByteStride;
///
public ulong CounterOffsetInBytes;
///
public BufferUavFlags Flags;
}
///
/// D3D12_TEX1D_UAV
public partial struct Texture1DUav
{
///
public uint MipSlice;
}
///
/// D3D12_TEX1D_ARRAY_UAV
public partial struct Texture1DArrayUav
{
///
public uint MipSlice;
///
public uint FirstArraySlice;
///
public uint ArraySize;
}
///
/// D3D12_TEX2D_UAV
public partial struct Texture2DUav
{
///
public uint MipSlice;
///
public uint PlaneSlice;
}
///
/// D3D12_TEX2D_ARRAY_UAV
public partial struct Texture2DArrayUav
{
///
public uint MipSlice;
///
public uint FirstArraySlice;
///
public uint ArraySize;
///
public uint PlaneSlice;
}
///
/// D3D12_TEX2DMS_UAV
public partial struct Texture2DMsUav
{
///
public uint UnusedField_NothingToDefine;
}
///
/// D3D12_TEX2DMS_ARRAY_UAV
public partial struct Texture2DMsArrayUav
{
///
public uint FirstArraySlice;
///
public uint ArraySize;
}
///
/// D3D12_TEX3D_UAV
public partial struct Texture3DUav
{
///
public uint MipSlice;
///
public uint FirstWSlice;
///
public uint WSize;
}
///
/// D3D12_UNORDERED_ACCESS_VIEW_DESC
public partial struct UnorderedAccessViewDescription
{
///
public Graphics.Dxgi.Common.Format Format;
///
public UavDimension ViewDimension;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref BufferUav Buffer
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Buffer;
}
}
[UnscopedRef]
public ref Texture1DUav Texture1D
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture1D;
}
}
[UnscopedRef]
public ref Texture1DArrayUav Texture1DArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture1DArray;
}
}
[UnscopedRef]
public ref Texture2DUav Texture2D
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2D;
}
}
[UnscopedRef]
public ref Texture2DArrayUav Texture2DArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DArray;
}
}
[UnscopedRef]
public ref Texture2DMsUav Texture2DMS
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DMS;
}
}
[UnscopedRef]
public ref Texture2DMsArrayUav Texture2DMSArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DMSArray;
}
}
[UnscopedRef]
public ref Texture3DUav Texture3D
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture3D;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public BufferUav Buffer;
///
[FieldOffset(0)]
public Texture1DUav Texture1D;
///
[FieldOffset(0)]
public Texture1DArrayUav Texture1DArray;
///
[FieldOffset(0)]
public Texture2DUav Texture2D;
///
[FieldOffset(0)]
public Texture2DArrayUav Texture2DArray;
///
[FieldOffset(0)]
public Texture2DMsUav Texture2DMS;
///
[FieldOffset(0)]
public Texture2DMsArrayUav Texture2DMSArray;
///
[FieldOffset(0)]
public Texture3DUav Texture3D;
}
}
///
/// D3D12_BUFFER_RTV
public partial struct BufferRtv
{
///
public ulong FirstElement;
///
public uint NumElements;
}
///
/// D3D12_TEX1D_RTV
public partial struct Texture1DRtv
{
///
public uint MipSlice;
}
///
/// D3D12_TEX1D_ARRAY_RTV
public partial struct Texture1DArrayRtv
{
///
public uint MipSlice;
///
public uint FirstArraySlice;
///
public uint ArraySize;
}
///
/// D3D12_TEX2D_RTV
public partial struct Texture2DRtv
{
///
public uint MipSlice;
///
public uint PlaneSlice;
}
///
/// D3D12_TEX2DMS_RTV
public partial struct Texture2DMsRtv
{
///
public uint UnusedField_NothingToDefine;
}
///
/// D3D12_TEX2D_ARRAY_RTV
public partial struct Texture2DArrayRtv
{
///
public uint MipSlice;
///
public uint FirstArraySlice;
///
public uint ArraySize;
///
public uint PlaneSlice;
}
///
/// D3D12_TEX2DMS_ARRAY_RTV
public partial struct Texture2DMsArrayRtv
{
///
public uint FirstArraySlice;
///
public uint ArraySize;
}
///
/// D3D12_TEX3D_RTV
public partial struct Texture3DRtv
{
///
public uint MipSlice;
///
public uint FirstWSlice;
///
public uint WSize;
}
///
/// D3D12_RENDER_TARGET_VIEW_DESC
public partial struct RenderTargetViewDescription
{
///
public Graphics.Dxgi.Common.Format Format;
///
public RtvDimension ViewDimension;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref BufferRtv Buffer
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Buffer;
}
}
[UnscopedRef]
public ref Texture1DRtv Texture1D
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture1D;
}
}
[UnscopedRef]
public ref Texture1DArrayRtv Texture1DArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture1DArray;
}
}
[UnscopedRef]
public ref Texture2DRtv Texture2D
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2D;
}
}
[UnscopedRef]
public ref Texture2DArrayRtv Texture2DArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DArray;
}
}
[UnscopedRef]
public ref Texture2DMsRtv Texture2DMS
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DMS;
}
}
[UnscopedRef]
public ref Texture2DMsArrayRtv Texture2DMSArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DMSArray;
}
}
[UnscopedRef]
public ref Texture3DRtv Texture3D
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture3D;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public BufferRtv Buffer;
///
[FieldOffset(0)]
public Texture1DRtv Texture1D;
///
[FieldOffset(0)]
public Texture1DArrayRtv Texture1DArray;
///
[FieldOffset(0)]
public Texture2DRtv Texture2D;
///
[FieldOffset(0)]
public Texture2DArrayRtv Texture2DArray;
///
[FieldOffset(0)]
public Texture2DMsRtv Texture2DMS;
///
[FieldOffset(0)]
public Texture2DMsArrayRtv Texture2DMSArray;
///
[FieldOffset(0)]
public Texture3DRtv Texture3D;
}
}
///
/// D3D12_TEX1D_DSV
public partial struct Texture1DDsv
{
///
public uint MipSlice;
}
///
/// D3D12_TEX1D_ARRAY_DSV
public partial struct Texture1DArrayDsv
{
///
public uint MipSlice;
///
public uint FirstArraySlice;
///
public uint ArraySize;
}
///
/// D3D12_TEX2D_DSV
public partial struct Texture2DDsv
{
///
public uint MipSlice;
}
///
/// D3D12_TEX2D_ARRAY_DSV
public partial struct Texture2DArrayDsv
{
///
public uint MipSlice;
///
public uint FirstArraySlice;
///
public uint ArraySize;
}
///
/// D3D12_TEX2DMS_DSV
public partial struct Texture2DMsDsv
{
///
public uint UnusedField_NothingToDefine;
}
///
/// D3D12_TEX2DMS_ARRAY_DSV
public partial struct Texture2DMsArrayDsv
{
///
public uint FirstArraySlice;
///
public uint ArraySize;
}
///
/// D3D12_DEPTH_STENCIL_VIEW_DESC
public partial struct DepthStencilViewDescription
{
///
public Graphics.Dxgi.Common.Format Format;
///
public DsvDimension ViewDimension;
///
public DsvFlags Flags;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref Texture1DDsv Texture1D
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture1D;
}
}
[UnscopedRef]
public ref Texture1DArrayDsv Texture1DArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture1DArray;
}
}
[UnscopedRef]
public ref Texture2DDsv Texture2D
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2D;
}
}
[UnscopedRef]
public ref Texture2DArrayDsv Texture2DArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DArray;
}
}
[UnscopedRef]
public ref Texture2DMsDsv Texture2DMS
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DMS;
}
}
[UnscopedRef]
public ref Texture2DMsArrayDsv Texture2DMSArray
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Texture2DMSArray;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public Texture1DDsv Texture1D;
///
[FieldOffset(0)]
public Texture1DArrayDsv Texture1DArray;
///
[FieldOffset(0)]
public Texture2DDsv Texture2D;
///
[FieldOffset(0)]
public Texture2DArrayDsv Texture2DArray;
///
[FieldOffset(0)]
public Texture2DMsDsv Texture2DMS;
///
[FieldOffset(0)]
public Texture2DMsArrayDsv Texture2DMSArray;
}
}
///
/// D3D12_DESCRIPTOR_HEAP_DESC
public partial struct DescriptorHeapDescription
{
///
public DescriptorHeapType Type;
///
public uint NumDescriptors;
///
public DescriptorHeapFlags Flags;
///
public uint NodeMask;
}
///
/// D3D12_DESCRIPTOR_RANGE
public partial struct DescriptorRange
{
///
public DescriptorRangeType RangeType;
///
public uint NumDescriptors;
///
public uint BaseShaderRegister;
///
public uint RegisterSpace;
///
public uint OffsetInDescriptorsFromTableStart;
}
///
/// D3D12_ROOT_DESCRIPTOR_TABLE
public partial struct RootDescriptorTable
{
///
public uint NumDescriptorRanges;
///
public unsafe DescriptorRange* pDescriptorRanges;
}
///
/// D3D12_ROOT_CONSTANTS
public partial struct RootConstants
{
///
public uint ShaderRegister;
///
public uint RegisterSpace;
///
public uint Num32BitValues;
}
///
/// D3D12_ROOT_DESCRIPTOR
public partial struct RootDescriptor
{
///
public uint ShaderRegister;
///
public uint RegisterSpace;
}
///
/// D3D12_ROOT_PARAMETER
public partial struct RootParameter
{
///
public RootParameterType ParameterType;
///
public _Anonymous_e__Union Anonymous;
///
public ShaderVisibility ShaderVisibility;
[UnscopedRef]
public ref RootDescriptorTable DescriptorTable
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.DescriptorTable;
}
}
[UnscopedRef]
public ref RootConstants Constants
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Constants;
}
}
[UnscopedRef]
public ref RootDescriptor Descriptor
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Descriptor;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public RootDescriptorTable DescriptorTable;
///
[FieldOffset(0)]
public RootConstants Constants;
///
[FieldOffset(0)]
public RootDescriptor Descriptor;
}
}
///
/// D3D12_STATIC_SAMPLER_DESC
public partial struct StaticSamplerDescription
{
///
public Filter Filter;
///
public TextureAddressMode AddressU;
///
public TextureAddressMode AddressV;
///
public TextureAddressMode AddressW;
///
public float MipLODBias;
///
public uint MaxAnisotropy;
///
public ComparisonFunction ComparisonFunc;
///
public StaticBorderColor BorderColor;
///
public float MinLOD;
///
public float MaxLOD;
///
public uint ShaderRegister;
///
public uint RegisterSpace;
///
public ShaderVisibility ShaderVisibility;
}
///
/// D3D12_STATIC_SAMPLER_DESC1
public partial struct StaticSamplerDescription1
{
///
public Filter Filter;
///
public TextureAddressMode AddressU;
///
public TextureAddressMode AddressV;
///
public TextureAddressMode AddressW;
///
public float MipLODBias;
///
public uint MaxAnisotropy;
///
public ComparisonFunction ComparisonFunc;
///
public StaticBorderColor BorderColor;
///
public float MinLOD;
///
public float MaxLOD;
///
public uint ShaderRegister;
///
public uint RegisterSpace;
///
public ShaderVisibility ShaderVisibility;
///
public SamplerFlags Flags;
}
///
/// D3D12_ROOT_SIGNATURE_DESC
public partial struct RootSignatureDescription
{
///
public uint NumParameters;
///
public unsafe RootParameter* pParameters;
///
public uint NumStaticSamplers;
///
public unsafe StaticSamplerDescription* pStaticSamplers;
///
public RootSignatureFlags Flags;
}
///
/// D3D12_DESCRIPTOR_RANGE1
public partial struct DescriptorRange1
{
///
public DescriptorRangeType RangeType;
///
public uint NumDescriptors;
///
public uint BaseShaderRegister;
///
public uint RegisterSpace;
///
public DescriptorRangeFlags Flags;
///
public uint OffsetInDescriptorsFromTableStart;
}
///
/// D3D12_ROOT_DESCRIPTOR_TABLE1
public partial struct RootDescriptorTable1
{
///
public uint NumDescriptorRanges;
///
public unsafe DescriptorRange1* pDescriptorRanges;
}
///
/// D3D12_ROOT_DESCRIPTOR1
public partial struct RootDescriptor1
{
///
public uint ShaderRegister;
///
public uint RegisterSpace;
///
public RootDescriptorFlags Flags;
}
///
/// D3D12_ROOT_PARAMETER1
public partial struct RootParameter1
{
///
public RootParameterType ParameterType;
///
public _Anonymous_e__Union Anonymous;
///
public ShaderVisibility ShaderVisibility;
[UnscopedRef]
public ref RootDescriptorTable1 DescriptorTable
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.DescriptorTable;
}
}
[UnscopedRef]
public ref RootConstants Constants
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Constants;
}
}
[UnscopedRef]
public ref RootDescriptor1 Descriptor
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Descriptor;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public RootDescriptorTable1 DescriptorTable;
///
[FieldOffset(0)]
public RootConstants Constants;
///
[FieldOffset(0)]
public RootDescriptor1 Descriptor;
}
}
///
/// D3D12_ROOT_SIGNATURE_DESC1
public partial struct RootSignatureDescription1
{
///
public uint NumParameters;
///
public unsafe RootParameter1* pParameters;
///
public uint NumStaticSamplers;
///
public unsafe StaticSamplerDescription* pStaticSamplers;
///
public RootSignatureFlags Flags;
}
///
/// D3D12_ROOT_SIGNATURE_DESC2
public partial struct RootSignatureDescription2
{
///
public uint NumParameters;
///
public unsafe RootParameter1* pParameters;
///
public uint NumStaticSamplers;
///
public unsafe StaticSamplerDescription1* pStaticSamplers;
///
public RootSignatureFlags Flags;
}
///
/// D3D12_VERSIONED_ROOT_SIGNATURE_DESC
public partial struct VersionedRootSignatureDescription
{
///
public RootSignatureVersion Version;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref RootSignatureDescription Desc_1_0
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Desc_1_0;
}
}
[UnscopedRef]
public ref RootSignatureDescription1 Desc_1_1
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Desc_1_1;
}
}
[UnscopedRef]
public ref RootSignatureDescription2 Desc_1_2
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Desc_1_2;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public RootSignatureDescription Desc_1_0;
///
[FieldOffset(0)]
public RootSignatureDescription1 Desc_1_1;
///
[FieldOffset(0)]
public RootSignatureDescription2 Desc_1_2;
}
}
///
/// D3D12_CPU_DESCRIPTOR_HANDLE
public partial struct CpuDescriptorHandle
{
///
public nuint ptr;
}
///
/// D3D12_GPU_DESCRIPTOR_HANDLE
public partial struct GpuDescriptorHandle
{
///
public ulong ptr;
}
///
/// D3D12_DISCARD_REGION
public partial struct DiscardRegion
{
///
public uint NumRects;
///
public unsafe Rect* pRects;
///
public uint FirstSubresource;
///
public uint NumSubresources;
}
///
/// D3D12_QUERY_HEAP_DESC
public partial struct QueryHeapDescription
{
///
public QueryHeapType Type;
///
public uint Count;
///
public uint NodeMask;
}
///
/// D3D12_QUERY_DATA_PIPELINE_STATISTICS
public partial struct QueryDataPipelineStatistics
{
///
public ulong IAVertices;
///
public ulong IAPrimitives;
///
public ulong VSInvocations;
///
public ulong GSInvocations;
///
public ulong GSPrimitives;
///
public ulong CInvocations;
///
public ulong CPrimitives;
///
public ulong PSInvocations;
///
public ulong HSInvocations;
///
public ulong DSInvocations;
///
public ulong CSInvocations;
}
///
/// D3D12_QUERY_DATA_PIPELINE_STATISTICS1
public partial struct QueryDataPipelineStatistics1
{
///
public ulong IAVertices;
///
public ulong IAPrimitives;
///
public ulong VSInvocations;
///
public ulong GSInvocations;
///
public ulong GSPrimitives;
///
public ulong CInvocations;
///
public ulong CPrimitives;
///
public ulong PSInvocations;
///
public ulong HSInvocations;
///
public ulong DSInvocations;
///
public ulong CSInvocations;
///
public ulong ASInvocations;
///
public ulong MSInvocations;
///
public ulong MSPrimitives;
}
///
/// D3D12_QUERY_DATA_SO_STATISTICS
public partial struct QueryDataSOStatistics
{
///
public ulong NumPrimitivesWritten;
///
public ulong PrimitivesStorageNeeded;
}
///
/// D3D12_STREAM_OUTPUT_BUFFER_VIEW
public partial struct StreamOutputBufferView
{
///
public ulong BufferLocation;
///
public ulong SizeInBytes;
///
public ulong BufferFilledSizeLocation;
}
///
/// D3D12_DRAW_ARGUMENTS
public partial struct DrawArguments
{
///
public uint VertexCountPerInstance;
///
public uint InstanceCount;
///
public uint StartVertexLocation;
///
public uint StartInstanceLocation;
}
///
/// D3D12_DRAW_INDEXED_ARGUMENTS
public partial struct DrawIndexedArguments
{
///
public uint IndexCountPerInstance;
///
public uint InstanceCount;
///
public uint StartIndexLocation;
///
public int BaseVertexLocation;
///
public uint StartInstanceLocation;
}
///
/// D3D12_DISPATCH_ARGUMENTS
public partial struct DispatchArguments
{
///
public uint ThreadGroupCountX;
///
public uint ThreadGroupCountY;
///
public uint ThreadGroupCountZ;
}
///
/// D3D12_VERTEX_BUFFER_VIEW
public partial struct VertexBufferView
{
///
public ulong BufferLocation;
///
public uint SizeInBytes;
///
public uint StrideInBytes;
}
///
/// D3D12_INDEX_BUFFER_VIEW
public partial struct IndexBufferView
{
///
public ulong BufferLocation;
///
public uint SizeInBytes;
///
public Graphics.Dxgi.Common.Format Format;
}
///
/// D3D12_INDIRECT_ARGUMENT_DESC
public partial struct IndirectArgumentDescription
{
///
public IndirectArgumentType Type;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref _Anonymous_e__Union._VertexBuffer_e__Struct VertexBuffer
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.VertexBuffer;
}
}
[UnscopedRef]
public ref _Anonymous_e__Union._Constant_e__Struct Constant
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Constant;
}
}
[UnscopedRef]
public ref _Anonymous_e__Union._ConstantBufferView_e__Struct ConstantBufferView
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.ConstantBufferView;
}
}
[UnscopedRef]
public ref _Anonymous_e__Union._ShaderResourceView_e__Struct ShaderResourceView
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.ShaderResourceView;
}
}
[UnscopedRef]
public ref _Anonymous_e__Union._UnorderedAccessView_e__Struct UnorderedAccessView
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.UnorderedAccessView;
}
}
[UnscopedRef]
public ref _Anonymous_e__Union._IncrementingConstant_e__Struct IncrementingConstant
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.IncrementingConstant;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public _Anonymous_e__Union._VertexBuffer_e__Struct VertexBuffer;
///
[FieldOffset(0)]
public _Anonymous_e__Union._Constant_e__Struct Constant;
///
[FieldOffset(0)]
public _Anonymous_e__Union._ConstantBufferView_e__Struct ConstantBufferView;
///
[FieldOffset(0)]
public _Anonymous_e__Union._ShaderResourceView_e__Struct ShaderResourceView;
///
[FieldOffset(0)]
public _Anonymous_e__Union._UnorderedAccessView_e__Struct UnorderedAccessView;
///
[FieldOffset(0)]
public _Anonymous_e__Union._IncrementingConstant_e__Struct IncrementingConstant;
public partial struct _IncrementingConstant_e__Struct
{
///
public uint RootParameterIndex;
///
public uint DestOffsetIn32BitValues;
}
public partial struct _ShaderResourceView_e__Struct
{
///
public uint RootParameterIndex;
}
public partial struct _Constant_e__Struct
{
///
public uint RootParameterIndex;
///
public uint DestOffsetIn32BitValues;
///
public uint Num32BitValuesToSet;
}
public partial struct _UnorderedAccessView_e__Struct
{
///
public uint RootParameterIndex;
}
public partial struct _VertexBuffer_e__Struct
{
///
public uint Slot;
}
public partial struct _ConstantBufferView_e__Struct
{
///
public uint RootParameterIndex;
}
}
}
///
/// D3D12_COMMAND_SIGNATURE_DESC
public partial struct CommandSignatureDescription
{
///
public uint ByteStride;
///
public uint NumArgumentDescs;
///
public unsafe IndirectArgumentDescription* pArgumentDescs;
///
public uint NodeMask;
}
///
/// D3D12_WRITEBUFFERIMMEDIATE_PARAMETER
public partial struct WriteBufferImmediateParameter
{
///
public ulong Dest;
///
public uint Value;
}
///
/// D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT
public partial struct FeatureDataProtectedResourceSessionSupport
{
///
public uint NodeIndex;
///
public ProtectedResourceSessionSupportFlags Support;
}
///
/// D3D12_PROTECTED_RESOURCE_SESSION_DESC
public partial struct ProtectedResourceSessionDescription
{
///
public uint NodeMask;
///
public ProtectedResourceSessionFlags Flags;
}
///
/// D3D12_META_COMMAND_PARAMETER_DESC
public partial struct MetaCommandParameterDescription
{
///
public unsafe char* Name;
///
public MetaCommandParameterType Type;
///
public MetaCommandParameterFlags Flags;
///
public ResourceStates RequiredResourceState;
///
public uint StructureOffset;
}
///
/// D3D12_META_COMMAND_DESC
public partial struct MetaCommandDescription
{
///
public Guid Id;
///
public unsafe char* Name;
///
public GraphicsStates InitializationDirtyState;
///
public GraphicsStates ExecutionDirtyState;
}
///
/// D3D12_PROGRAM_IDENTIFIER
public partial struct ProgramIdentifier
{
///
public unsafe fixed ulong OpaqueData[4];
}
///
/// D3D12_NODE_ID
public partial struct NodeId
{
///
public unsafe char* Name;
///
public uint ArrayIndex;
}
///
/// D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS
public partial struct WorkGraphMemoryRequirements
{
///
public ulong MinSizeInBytes;
///
public ulong MaxSizeInBytes;
///
public uint SizeGranularityInBytes;
}
///
/// D3D12_STATE_SUBOBJECT
public partial struct StateSubObject
{
///
public StateSubObjectType Type;
///
public unsafe void* pDesc;
}
///
/// D3D12_STATE_OBJECT_CONFIG
public partial struct StateObjectConfig
{
///
public StateObjectFlags Flags;
}
///
/// D3D12_GLOBAL_ROOT_SIGNATURE
public partial struct GlobalRootSignature
{
///
public unsafe ID3D12RootSignature* pGlobalRootSignature;
}
///
/// D3D12_LOCAL_ROOT_SIGNATURE
public partial struct LocalRootSignature
{
///
public unsafe ID3D12RootSignature* pLocalRootSignature;
}
///
/// D3D12_NODE_MASK
public partial struct NodeMask
{
///
public uint Mask;
}
///
/// D3D12_SAMPLE_MASK
public partial struct SampleMask
{
///
public uint Mask;
}
///
/// D3D12_IB_STRIP_CUT_VALUE
public partial struct IBStripCutValue
{
///
public IndexBufferStripCutValue IndexBufferStripCutValue;
}
///
/// D3D12_PRIMITIVE_TOPOLOGY_DESC
public partial struct PrimitiveTopologyDescription
{
///
public PrimitiveTopologyType PrimitiveTopology;
}
///
/// D3D12_DEPTH_STENCIL_FORMAT
public partial struct DepthStencilFormat
{
///
public Graphics.Dxgi.Common.Format Format;
}
///
/// D3D12_EXPORT_DESC
public partial struct ExportDescription
{
///
public unsafe char* Name;
///
public unsafe char* ExportToRename;
///
public ExportFlags Flags;
}
///
/// D3D12_DXIL_LIBRARY_DESC
public partial struct DxilLibraryDescription
{
///
public ShaderBytecode DXILLibrary;
///
public uint NumExports;
///
public unsafe ExportDescription* pExports;
}
///
/// D3D12_EXISTING_COLLECTION_DESC
public partial struct ExistingCollectionDescription
{
///
public unsafe ID3D12StateObject* pExistingCollection;
///
public uint NumExports;
///
public unsafe ExportDescription* pExports;
}
///
/// D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION
public partial struct SubObjectToExportsAssociation
{
///
public unsafe StateSubObject* pSubobjectToAssociate;
///
public uint NumExports;
///
public unsafe char** pExports;
}
///
/// D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION
public partial struct DxilSubObjectToExportsAssociation
{
///
public unsafe char* SubobjectToAssociate;
///
public uint NumExports;
///
public unsafe char** pExports;
}
///
/// D3D12_HIT_GROUP_DESC
public partial struct HitGroupDescription
{
///
public unsafe char* HitGroupExport;
///
public HitGroupType Type;
///
public unsafe char* AnyHitShaderImport;
///
public unsafe char* ClosestHitShaderImport;
///
public unsafe char* IntersectionShaderImport;
}
///
/// D3D12_RAYTRACING_SHADER_CONFIG
public partial struct RaytracingShaderConfig
{
///
public uint MaxPayloadSizeInBytes;
///
public uint MaxAttributeSizeInBytes;
}
///
/// D3D12_RAYTRACING_PIPELINE_CONFIG
public partial struct RaytracingPipelineConfig
{
///
public uint MaxTraceRecursionDepth;
}
///
/// D3D12_RAYTRACING_PIPELINE_CONFIG1
public partial struct RaytracingPipelineConfig1
{
///
public uint MaxTraceRecursionDepth;
///
public RaytracingPipelineFlags Flags;
}
///
/// D3D12_NODE_OUTPUT_OVERRIDES
public partial struct NodeOutputOverrides
{
///
public uint OutputIndex;
///
public unsafe NodeId* pNewName;
///
public unsafe Bool32* pAllowSparseNodes;
///
public unsafe uint* pMaxRecords;
///
public unsafe uint* pMaxRecordsSharedWithOutputIndex;
}
///
/// D3D12_BROADCASTING_LAUNCH_OVERRIDES
public partial struct BroadcastingLaunchOverrides
{
///
public unsafe uint* pLocalRootArgumentsTableIndex;
///
public unsafe Bool32* pProgramEntry;
///
public unsafe NodeId* pNewName;
///
public unsafe NodeId* pShareInputOf;
///
public unsafe uint* pDispatchGrid;
///
public unsafe uint* pMaxDispatchGrid;
///
public uint NumOutputOverrides;
///
public unsafe NodeOutputOverrides* pOutputOverrides;
}
///
/// D3D12_COALESCING_LAUNCH_OVERRIDES
public partial struct CoalescingLaunchOverrides
{
///
public unsafe uint* pLocalRootArgumentsTableIndex;
///
public unsafe Bool32* pProgramEntry;
///
public unsafe NodeId* pNewName;
///
public unsafe NodeId* pShareInputOf;
///
public uint NumOutputOverrides;
///
public unsafe NodeOutputOverrides* pOutputOverrides;
}
///
/// D3D12_THREAD_LAUNCH_OVERRIDES
public partial struct ThreadLaunchOverrides
{
///
public unsafe uint* pLocalRootArgumentsTableIndex;
///
public unsafe Bool32* pProgramEntry;
///
public unsafe NodeId* pNewName;
///
public unsafe NodeId* pShareInputOf;
///
public uint NumOutputOverrides;
///
public unsafe NodeOutputOverrides* pOutputOverrides;
}
///
/// D3D12_COMMON_COMPUTE_NODE_OVERRIDES
public partial struct CommonComputeNodeOverrides
{
///
public unsafe uint* pLocalRootArgumentsTableIndex;
///
public unsafe Bool32* pProgramEntry;
///
public unsafe NodeId* pNewName;
///
public unsafe NodeId* pShareInputOf;
///
public uint NumOutputOverrides;
///
public unsafe NodeOutputOverrides* pOutputOverrides;
}
///
/// D3D12_SHADER_NODE
public partial struct ShaderNode
{
///
public unsafe char* Shader;
///
public NodeOverridesType OverridesType;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public unsafe ref BroadcastingLaunchOverrides* pBroadcastingLaunchOverrides
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.pBroadcastingLaunchOverrides;
}
}
[UnscopedRef]
public unsafe ref CoalescingLaunchOverrides* pCoalescingLaunchOverrides
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.pCoalescingLaunchOverrides;
}
}
[UnscopedRef]
public unsafe ref ThreadLaunchOverrides* pThreadLaunchOverrides
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.pThreadLaunchOverrides;
}
}
[UnscopedRef]
public unsafe ref CommonComputeNodeOverrides* pCommonComputeNodeOverrides
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.pCommonComputeNodeOverrides;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public unsafe BroadcastingLaunchOverrides* pBroadcastingLaunchOverrides;
///
[FieldOffset(0)]
public unsafe CoalescingLaunchOverrides* pCoalescingLaunchOverrides;
///
[FieldOffset(0)]
public unsafe ThreadLaunchOverrides* pThreadLaunchOverrides;
///
[FieldOffset(0)]
public unsafe CommonComputeNodeOverrides* pCommonComputeNodeOverrides;
}
}
///
/// D3D12_NODE
public partial struct Node
{
///
public NodeType NodeType;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref ShaderNode Shader
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Shader;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public ShaderNode Shader;
}
}
///
/// D3D12_WORK_GRAPH_DESC
public partial struct WorkGraphDescription
{
///
public unsafe char* ProgramName;
///
public WorkGraphFlags Flags;
///
public uint NumEntrypoints;
///
public unsafe NodeId* pEntrypoints;
///
public uint NumExplicitlyDefinedNodes;
///
public unsafe Node* pExplicitlyDefinedNodes;
}
///
/// D3D12_GENERIC_PROGRAM_DESC
public partial struct GenericProgramDescription
{
///
public unsafe char* ProgramName;
///
public uint NumExports;
///
public unsafe char** pExports;
///
public uint NumSubobjects;
///
public unsafe StateSubObject** ppSubobjects;
}
///
/// D3D12_STATE_OBJECT_DESC
public partial struct StateObjectDescription
{
///
public StateObjectType Type;
///
public uint NumSubobjects;
///
public unsafe StateSubObject* pSubobjects;
}
///
/// D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE
public partial struct GpuVirtualAddressAndStride
{
///
public ulong StartAddress;
///
public ulong StrideInBytes;
}
///
/// D3D12_GPU_VIRTUAL_ADDRESS_RANGE
public partial struct GpuVirtualAddressRange
{
///
public ulong StartAddress;
///
public ulong SizeInBytes;
}
///
/// D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE
public partial struct GpuVirtualAddressRangeAndStride
{
///
public ulong StartAddress;
///
public ulong SizeInBytes;
///
public ulong StrideInBytes;
}
///
/// D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC
public partial struct RaytracingGeometryTrianglesDescription
{
///
public ulong Transform3x4;
///
public Graphics.Dxgi.Common.Format IndexFormat;
///
public Graphics.Dxgi.Common.Format VertexFormat;
///
public uint IndexCount;
///
public uint VertexCount;
///
public ulong IndexBuffer;
///
public GpuVirtualAddressAndStride VertexBuffer;
}
///
/// D3D12_RAYTRACING_AABB
public partial struct RaytracingAabb
{
///
public float MinX;
///
public float MinY;
///
public float MinZ;
///
public float MaxX;
///
public float MaxY;
///
public float MaxZ;
}
///
/// D3D12_RAYTRACING_GEOMETRY_AABBS_DESC
public partial struct RaytracingGeometryAabbsDescription
{
///
public ulong AABBCount;
///
public GpuVirtualAddressAndStride AABBs;
}
///
/// D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC
public partial struct RaytracingAccelerationStructurePostbuildInfoDescription
{
///
public ulong DestBuffer;
///
public RaytracingAccelerationStructurePostbuildInfoType InfoType;
}
///
/// D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC
public partial struct RaytracingAccelerationStructurePostbuildInfoCompactedSizeDescription
{
///
public ulong CompactedSizeInBytes;
}
///
/// D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC
public partial struct RaytracingAccelerationStructurePostbuildInfoToolsVisualizationDescription
{
///
public ulong DecodedSizeInBytes;
}
///
/// D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER
public partial struct BuildRaytracingAccelerationStructureToolsVisualizationHeader
{
///
public RaytracingAccelerationStructureType Type;
///
public uint NumDescs;
}
///
/// D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC
public partial struct RaytracingAccelerationStructurePostbuildInfoSerializationDescription
{
///
public ulong SerializedSizeInBytes;
///
public ulong NumBottomLevelAccelerationStructurePointers;
}
///
/// D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER
public partial struct SerializedDataDriverMatchingIdentifier
{
///
public Guid DriverOpaqueGUID;
///
public unsafe fixed byte DriverOpaqueVersioningData[16];
}
///
/// D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER
public partial struct SerializedRaytracingAccelerationStructureHeader
{
///
public SerializedDataDriverMatchingIdentifier DriverMatchingIdentifier;
///
public ulong SerializedSizeInBytesIncludingHeader;
///
public ulong DeserializedSizeInBytes;
///
public ulong NumBottomLevelAccelerationStructurePointersAfterHeader;
}
///
/// D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC
public partial struct RaytracingAccelerationStructurePostbuildInfoCurrentSizeDescription
{
///
public ulong CurrentSizeInBytes;
}
///
/// D3D12_RAYTRACING_INSTANCE_DESC
public partial struct RaytracingInstanceDescription
{
///
public unsafe fixed float Transform[12];
///
public uint _bitfield1;
///
public uint _bitfield2;
///
public ulong AccelerationStructure;
}
///
/// D3D12_RAYTRACING_GEOMETRY_DESC
public partial struct RaytracingGeometryDescription
{
///
public RaytracingGeometryType Type;
///
public RaytracingGeometryFlags Flags;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref RaytracingGeometryTrianglesDescription Triangles
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Triangles;
}
}
[UnscopedRef]
public ref RaytracingGeometryAabbsDescription AABBs
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.AABBs;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public RaytracingGeometryTrianglesDescription Triangles;
///
[FieldOffset(0)]
public RaytracingGeometryAabbsDescription AABBs;
}
}
///
/// D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS
public partial struct BuildRaytracingAccelerationStructureInputs
{
///
public RaytracingAccelerationStructureType Type;
///
public RaytracingAccelerationStructureBuildFlags Flags;
///
public uint NumDescs;
///
public ElementsLayout DescsLayout;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref ulong InstanceDescs
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.InstanceDescs;
}
}
[UnscopedRef]
public unsafe ref RaytracingGeometryDescription* pGeometryDescs
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.pGeometryDescs;
}
}
[UnscopedRef]
public unsafe ref RaytracingGeometryDescription** ppGeometryDescs
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.ppGeometryDescs;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public ulong InstanceDescs;
///
[FieldOffset(0)]
public unsafe RaytracingGeometryDescription* pGeometryDescs;
///
[FieldOffset(0)]
public unsafe RaytracingGeometryDescription** ppGeometryDescs;
}
}
///
/// D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC
public partial struct BuildRaytracingAccelerationStructureDescription
{
///
public ulong DestAccelerationStructureData;
///
public BuildRaytracingAccelerationStructureInputs Inputs;
///
public ulong SourceAccelerationStructureData;
///
public ulong ScratchAccelerationStructureData;
}
///
/// D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO
public partial struct RaytracingAccelerationStructurePrebuildInfo
{
///
public ulong ResultDataMaxSizeInBytes;
///
public ulong ScratchDataSizeInBytes;
///
public ulong UpdateScratchDataSizeInBytes;
}
///
/// D3D12_AUTO_BREADCRUMB_NODE
public partial struct AutoBreadcrumbNode
{
///
public unsafe byte* pCommandListDebugNameA;
///
public unsafe char* pCommandListDebugNameW;
///
public unsafe byte* pCommandQueueDebugNameA;
///
public unsafe char* pCommandQueueDebugNameW;
///
public unsafe ID3D12GraphicsCommandList* pCommandList;
///
public unsafe ID3D12CommandQueue* pCommandQueue;
///
public uint BreadcrumbCount;
///
public unsafe uint* pLastBreadcrumbValue;
///
public unsafe AutoBreadcrumbOperation* pCommandHistory;
///
public unsafe AutoBreadcrumbNode* pNext;
}
///
/// D3D12_DRED_BREADCRUMB_CONTEXT
public partial struct DredBreadcrumbContext
{
///
public uint BreadcrumbIndex;
///
public unsafe char* pContextString;
}
///
/// D3D12_AUTO_BREADCRUMB_NODE1
public partial struct AutoBreadcrumbNode1
{
///
public unsafe byte* pCommandListDebugNameA;
///
public unsafe char* pCommandListDebugNameW;
///
public unsafe byte* pCommandQueueDebugNameA;
///
public unsafe char* pCommandQueueDebugNameW;
///
public unsafe ID3D12GraphicsCommandList* pCommandList;
///
public unsafe ID3D12CommandQueue* pCommandQueue;
///
public uint BreadcrumbCount;
///
public unsafe uint* pLastBreadcrumbValue;
///
public unsafe AutoBreadcrumbOperation* pCommandHistory;
///
public unsafe AutoBreadcrumbNode1* pNext;
///
public uint BreadcrumbContextsCount;
///
public unsafe DredBreadcrumbContext* pBreadcrumbContexts;
}
///
/// D3D12_DEVICE_REMOVED_EXTENDED_DATA
public partial struct DeviceRemovedExtendedData
{
///
public DredFlags Flags;
///
public unsafe AutoBreadcrumbNode* pHeadAutoBreadcrumbNode;
}
///
/// D3D12_DRED_ALLOCATION_NODE
public partial struct DredAllocationNode
{
///
public unsafe byte* ObjectNameA;
///
public unsafe char* ObjectNameW;
///
public DredAllocationType AllocationType;
///
public unsafe DredAllocationNode* pNext;
}
///
/// D3D12_DRED_ALLOCATION_NODE1
public partial struct DredAllocationNode1
{
///
public unsafe byte* ObjectNameA;
///
public unsafe char* ObjectNameW;
///
public DredAllocationType AllocationType;
///
public unsafe DredAllocationNode1* pNext;
///
public unsafe IUnknown* pObject;
}
///
/// D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT
public partial struct DredAutoBreadcrumbsOutput
{
///
public unsafe AutoBreadcrumbNode* pHeadAutoBreadcrumbNode;
}
///
/// D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1
public partial struct DredAutoBreadcrumbsOutput1
{
///
public unsafe AutoBreadcrumbNode1* pHeadAutoBreadcrumbNode;
}
///
/// D3D12_DRED_PAGE_FAULT_OUTPUT
public partial struct DredPageFaultOutput
{
///
public ulong PageFaultVA;
///
public unsafe DredAllocationNode* pHeadExistingAllocationNode;
///
public unsafe DredAllocationNode* pHeadRecentFreedAllocationNode;
}
///
/// D3D12_DRED_PAGE_FAULT_OUTPUT1
public partial struct DredPageFaultOutput1
{
///
public ulong PageFaultVA;
///
public unsafe DredAllocationNode1* pHeadExistingAllocationNode;
///
public unsafe DredAllocationNode1* pHeadRecentFreedAllocationNode;
}
///
/// D3D12_DRED_PAGE_FAULT_OUTPUT2
public partial struct DredPageFaultOutput2
{
///
public ulong PageFaultVA;
///
public unsafe DredAllocationNode1* pHeadExistingAllocationNode;
///
public unsafe DredAllocationNode1* pHeadRecentFreedAllocationNode;
///
public DredPageFaultFlags PageFaultFlags;
}
///
/// D3D12_DEVICE_REMOVED_EXTENDED_DATA1
public partial struct DeviceRemovedExtendedData1
{
///
public HResult DeviceRemovedReason;
///
public DredAutoBreadcrumbsOutput AutoBreadcrumbsOutput;
///
public DredPageFaultOutput PageFaultOutput;
}
///
/// D3D12_DEVICE_REMOVED_EXTENDED_DATA2
public partial struct DeviceRemovedExtendedData2
{
///
public HResult DeviceRemovedReason;
///
public DredAutoBreadcrumbsOutput1 AutoBreadcrumbsOutput;
///
public DredPageFaultOutput1 PageFaultOutput;
}
///
/// D3D12_DEVICE_REMOVED_EXTENDED_DATA3
public partial struct DeviceRemovedExtendedData3
{
///
public HResult DeviceRemovedReason;
///
public DredAutoBreadcrumbsOutput1 AutoBreadcrumbsOutput;
///
public DredPageFaultOutput2 PageFaultOutput;
///
public DredDeviceState DeviceState;
}
///
/// D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA
public partial struct VersionedDeviceRemovedExtendedData
{
///
public DredVersion Version;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref DeviceRemovedExtendedData Dred_1_0
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Dred_1_0;
}
}
[UnscopedRef]
public ref DeviceRemovedExtendedData1 Dred_1_1
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Dred_1_1;
}
}
[UnscopedRef]
public ref DeviceRemovedExtendedData2 Dred_1_2
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Dred_1_2;
}
}
[UnscopedRef]
public ref DeviceRemovedExtendedData3 Dred_1_3
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Dred_1_3;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public DeviceRemovedExtendedData Dred_1_0;
///
[FieldOffset(0)]
public DeviceRemovedExtendedData1 Dred_1_1;
///
[FieldOffset(0)]
public DeviceRemovedExtendedData2 Dred_1_2;
///
[FieldOffset(0)]
public DeviceRemovedExtendedData3 Dred_1_3;
}
}
///
/// D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT
public partial struct FeatureDataProtectedResourceSessionTypeCount
{
///
public uint NodeIndex;
///
public uint Count;
}
///
/// D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES
public partial struct FeatureDataProtectedResourceSessionTypes
{
///
public uint NodeIndex;
///
public uint Count;
///
public unsafe Guid* pTypes;
}
///
/// D3D12_PROTECTED_RESOURCE_SESSION_DESC1
public partial struct ProtectedResourceSessionDescription1
{
///
public uint NodeMask;
///
public ProtectedResourceSessionFlags Flags;
///
public Guid ProtectionType;
}
///
/// D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS
public partial struct RenderPassBeginningAccessClearParameters
{
///
public ClearValue ClearValue;
}
///
/// D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS
public partial struct RenderPassBeginningAccessPreserveLocalParameters
{
///
public uint AdditionalWidth;
///
public uint AdditionalHeight;
}
///
/// D3D12_RENDER_PASS_BEGINNING_ACCESS
public partial struct RenderPassBeginningAccess
{
///
public RenderPassBeginningAccessType Type;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref RenderPassBeginningAccessClearParameters Clear
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Clear;
}
}
[UnscopedRef]
public ref RenderPassBeginningAccessPreserveLocalParameters PreserveLocal
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.PreserveLocal;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public RenderPassBeginningAccessClearParameters Clear;
///
[FieldOffset(0)]
public RenderPassBeginningAccessPreserveLocalParameters PreserveLocal;
}
}
///
/// D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS
public partial struct RenderPassEndingAccessResolveSubresourceParameters
{
///
public uint SrcSubresource;
///
public uint DstSubresource;
///
public uint DstX;
///
public uint DstY;
///
public Rect SrcRect;
}
///
/// D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS
public partial struct RenderPassEndingAccessResolveParameters
{
///
public unsafe ID3D12Resource* pSrcResource;
///
public unsafe ID3D12Resource* pDstResource;
///
public uint SubresourceCount;
///
public unsafe RenderPassEndingAccessResolveSubresourceParameters* pSubresourceParameters;
///
public Graphics.Dxgi.Common.Format Format;
///
public ResolveMode ResolveMode;
///
public Bool32 PreserveResolveSource;
}
///
/// D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS
public partial struct RenderPassEndingAccessPreserveLocalParameters
{
///
public uint AdditionalWidth;
///
public uint AdditionalHeight;
}
///
/// D3D12_RENDER_PASS_ENDING_ACCESS
public partial struct RenderPassEndingAccess
{
///
public RenderPassEndingAccessType Type;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref RenderPassEndingAccessResolveParameters Resolve
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.Resolve;
}
}
[UnscopedRef]
public ref RenderPassEndingAccessPreserveLocalParameters PreserveLocal
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.PreserveLocal;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public RenderPassEndingAccessResolveParameters Resolve;
///
[FieldOffset(0)]
public RenderPassEndingAccessPreserveLocalParameters PreserveLocal;
}
}
///
/// D3D12_RENDER_PASS_RENDER_TARGET_DESC
public partial struct RenderPassRenderTargetDescription
{
///
public CpuDescriptorHandle cpuDescriptor;
///
public RenderPassBeginningAccess BeginningAccess;
///
public RenderPassEndingAccess EndingAccess;
}
///
/// D3D12_RENDER_PASS_DEPTH_STENCIL_DESC
public partial struct RenderPassDepthStencilDescription
{
///
public CpuDescriptorHandle cpuDescriptor;
///
public RenderPassBeginningAccess DepthBeginningAccess;
///
public RenderPassBeginningAccess StencilBeginningAccess;
///
public RenderPassEndingAccess DepthEndingAccess;
///
public RenderPassEndingAccess StencilEndingAccess;
}
///
/// D3D12_DISPATCH_RAYS_DESC
public partial struct DispatchRaysDescription
{
///
public GpuVirtualAddressRange RayGenerationShaderRecord;
///
public GpuVirtualAddressRangeAndStride MissShaderTable;
///
public GpuVirtualAddressRangeAndStride HitGroupTable;
///
public GpuVirtualAddressRangeAndStride CallableShaderTable;
///
public uint Width;
///
public uint Height;
///
public uint Depth;
}
///
/// D3D12_SET_WORK_GRAPH_DESC
public partial struct SetWorkGraphDescription
{
///
public ProgramIdentifier ProgramIdentifier;
///
public SetWorkGraphFlags Flags;
///
public GpuVirtualAddressRange BackingMemory;
///
public GpuVirtualAddressRangeAndStride NodeLocalRootArgumentsTable;
}
///
/// D3D12_SET_RAYTRACING_PIPELINE_DESC
public partial struct SetRaytracingPipelineDescription
{
///
public ProgramIdentifier ProgramIdentifier;
}
///
/// D3D12_SET_GENERIC_PIPELINE_DESC
public partial struct SetGenericPipelineDescription
{
///
public ProgramIdentifier ProgramIdentifier;
}
///
/// D3D12_SET_PROGRAM_DESC
public partial struct SetProgramDescription
{
///
public ProgramType Type;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref SetGenericPipelineDescription GenericPipeline
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.GenericPipeline;
}
}
[UnscopedRef]
public ref SetRaytracingPipelineDescription RaytracingPipeline
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.RaytracingPipeline;
}
}
[UnscopedRef]
public ref SetWorkGraphDescription WorkGraph
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.WorkGraph;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public SetGenericPipelineDescription GenericPipeline;
///
[FieldOffset(0)]
public SetRaytracingPipelineDescription RaytracingPipeline;
///
[FieldOffset(0)]
public SetWorkGraphDescription WorkGraph;
}
}
///
/// D3D12_NODE_CPU_INPUT
public partial struct NodeCpuInput
{
///
public uint EntrypointIndex;
///
public uint NumRecords;
///
public unsafe void* pRecords;
///
public ulong RecordStrideInBytes;
}
///
/// D3D12_NODE_GPU_INPUT
public partial struct NodeGpuInput
{
///
public uint EntrypointIndex;
///
public uint NumRecords;
///
public GpuVirtualAddressAndStride Records;
}
///
/// D3D12_MULTI_NODE_CPU_INPUT
public partial struct MultiNodeCpuInput
{
///
public uint NumNodeInputs;
///
public unsafe NodeCpuInput* pNodeInputs;
///
public ulong NodeInputStrideInBytes;
}
///
/// D3D12_MULTI_NODE_GPU_INPUT
public partial struct MultiNodeGpuInput
{
///
public uint NumNodeInputs;
///
public GpuVirtualAddressAndStride NodeInputs;
}
///
/// D3D12_DISPATCH_GRAPH_DESC
public partial struct DispatchGraphDescription
{
///
public DispatchMode Mode;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public ref NodeCpuInput NodeCPUInput
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.NodeCPUInput;
}
}
[UnscopedRef]
public ref ulong NodeGPUInput
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.NodeGPUInput;
}
}
[UnscopedRef]
public ref MultiNodeCpuInput MultiNodeCPUInput
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.MultiNodeCPUInput;
}
}
[UnscopedRef]
public ref ulong MultiNodeGPUInput
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.MultiNodeGPUInput;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public NodeCpuInput NodeCPUInput;
///
[FieldOffset(0)]
public ulong NodeGPUInput;
///
[FieldOffset(0)]
public MultiNodeCpuInput MultiNodeCPUInput;
///
[FieldOffset(0)]
public ulong MultiNodeGPUInput;
}
}
///
/// D3D12_SHADER_CACHE_SESSION_DESC
public partial struct ShaderCacheSessionDescription
{
///
public Guid Identifier;
///
public ShaderCacheMode Mode;
///
public ShaderCacheFlags Flags;
///
public uint MaximumInMemoryCacheSizeBytes;
///
public uint MaximumInMemoryCacheEntries;
///
public uint MaximumValueFileSizeBytes;
///
public ulong Version;
}
///
/// D3D12_BARRIER_SUBRESOURCE_RANGE
public partial struct BarrierSubresourceRange
{
///
public uint IndexOrFirstMipLevel;
///
public uint NumMipLevels;
///
public uint FirstArraySlice;
///
public uint NumArraySlices;
///
public uint FirstPlane;
///
public uint NumPlanes;
}
///
/// D3D12_GLOBAL_BARRIER
public partial struct GlobalBarrier
{
///
public BarrierSync SyncBefore;
///
public BarrierSync SyncAfter;
///
public BarrierAccess AccessBefore;
///
public BarrierAccess AccessAfter;
}
///
/// D3D12_TEXTURE_BARRIER
public partial struct TextureBarrier
{
///
public BarrierSync SyncBefore;
///
public BarrierSync SyncAfter;
///
public BarrierAccess AccessBefore;
///
public BarrierAccess AccessAfter;
///
public BarrierLayout LayoutBefore;
///
public BarrierLayout LayoutAfter;
///
public unsafe ID3D12Resource* pResource;
///
public BarrierSubresourceRange Subresources;
///
public TextureBarrierFlags Flags;
}
///
/// D3D12_BUFFER_BARRIER
public partial struct BufferBarrier
{
///
public BarrierSync SyncBefore;
///
public BarrierSync SyncAfter;
///
public BarrierAccess AccessBefore;
///
public BarrierAccess AccessAfter;
///
public unsafe ID3D12Resource* pResource;
///
public ulong Offset;
///
public ulong Size;
}
///
/// D3D12_BARRIER_GROUP
public partial struct BarrierGroup
{
///
public BarrierType Type;
///
public uint NumBarriers;
///
public _Anonymous_e__Union Anonymous;
[UnscopedRef]
public unsafe ref GlobalBarrier* pGlobalBarriers
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.pGlobalBarriers;
}
}
[UnscopedRef]
public unsafe ref TextureBarrier* pTextureBarriers
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.pTextureBarriers;
}
}
[UnscopedRef]
public unsafe ref BufferBarrier* pBufferBarriers
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
return ref Anonymous.pBufferBarriers;
}
}
[StructLayout(LayoutKind.Explicit)]
public partial struct _Anonymous_e__Union
{
///
[FieldOffset(0)]
public unsafe GlobalBarrier* pGlobalBarriers;
///
[FieldOffset(0)]
public unsafe TextureBarrier* pTextureBarriers;
///
[FieldOffset(0)]
public unsafe BufferBarrier* pBufferBarriers;
}
}
///
/// D3D12_SUBRESOURCE_DATA
public partial struct SubresourceData
{
///
public unsafe void* pData;
///
public nint RowPitch;
///
public nint SlicePitch;
}
///
/// D3D12_MEMCPY_DEST
public partial struct MemcpyDest
{
///
public unsafe void* pData;
///
public nuint RowPitch;
///
public nuint SlicePitch;
}
///
/// D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS
public partial struct DebugDeviceGpuBasedValidationSettings
{
///
public uint MaxMessagesPerCommandList;
///
public GpuBasedValidationShaderPatchMode DefaultShaderPatchMode;
///
public GpuBasedValidationPipelineStateCreateFlags PipelineStateCreateFlags;
}
///
/// D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR
public partial struct DebugDeviceGpuSlowdownPerformanceFactor
{
///
public float SlowdownFactor;
}
///
/// D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS
public partial struct DebugCommandListGpuBasedValidationSettings
{
///
public GpuBasedValidationShaderPatchMode ShaderPatchMode;
}
///
/// D3D12_MESSAGE
public partial struct Message
{
///
public MessageCategory Category;
///
public MessageSeverity Severity;
///
public MessageId ID;
///
public unsafe byte* pDescription;
///
public nuint DescriptionByteLength;
}
///
/// D3D12_INFO_QUEUE_FILTER_DESC
public partial struct InfoQueueFilterDescription
{
///
public uint NumCategories;
///
public unsafe MessageCategory* pCategoryList;
///
public uint NumSeverities;
///
public unsafe MessageSeverity* pSeverityList;
///
public uint NumIDs;
///
public unsafe MessageId* pIDList;
}
///
/// D3D12_INFO_QUEUE_FILTER
public partial struct InfoQueueFilter
{
///
public InfoQueueFilterDescription AllowList;
///
public InfoQueueFilterDescription DenyList;
}
///
/// D3D12_DEVICE_CONFIGURATION_DESC
public partial struct DeviceConfigurationDescription
{
///
public DeviceFlags Flags;
///
public uint GpuBasedValidationFlags;
///
public uint SDKVersion;
///
public uint NumEnabledExperimentalFeatures;
}
///
/// D3D12_DISPATCH_MESH_ARGUMENTS
public partial struct DispatchMeshArguments
{
///
public uint ThreadGroupCountX;
///
public uint ThreadGroupCountY;
///
public uint ThreadGroupCountZ;
}
///
/// D3D12_SIGNATURE_PARAMETER_DESC
public partial struct SignatureParameterDescription
{
///
public unsafe byte* SemanticName;
///
public uint SemanticIndex;
///
public uint Register;
///
public Graphics.Direct3D.Name SystemValueType;
///
public Graphics.Direct3D.RegisterComponentType ComponentType;
///
public byte Mask;
///
public byte ReadWriteMask;
///
public uint Stream;
///
public Graphics.Direct3D.MinPrecision MinPrecision;
}
///
/// D3D12_SHADER_BUFFER_DESC
public partial struct ShaderBufferDescription
{
///
public unsafe byte* Name;
///
public Graphics.Direct3D.ConstantBufferType Type;
///
public uint Variables;
///
public uint Size;
///
public uint uFlags;
}
///
/// D3D12_SHADER_VARIABLE_DESC
public partial struct ShaderVariableDescription
{
///
public unsafe byte* Name;
///
public uint StartOffset;
///
public uint Size;
///
public uint uFlags;
///
public unsafe void* DefaultValue;
///
public uint StartTexture;
///
public uint TextureSize;
///
public uint StartSampler;
///
public uint SamplerSize;
}
///
/// D3D12_SHADER_TYPE_DESC
public partial struct ShaderTypeDescription
{
///
public Graphics.Direct3D.ShaderVariableClass Class;
///
public Graphics.Direct3D.ShaderVariableType Type;
///
public uint Rows;
///
public uint Columns;
///
public uint Elements;
///
public uint Members;
///
public uint Offset;
///
public unsafe byte* Name;
}
///
/// D3D12_SHADER_DESC
public partial struct ShaderDescription
{
///
public uint Version;
///
public unsafe byte* Creator;
///
public uint Flags;
///
public uint ConstantBuffers;
///
public uint BoundResources;
///
public uint InputParameters;
///
public uint OutputParameters;
///
public uint InstructionCount;
///
public uint TempRegisterCount;
///
public uint TempArrayCount;
///
public uint DefCount;
///
public uint DclCount;
///
public uint TextureNormalInstructions;
///
public uint TextureLoadInstructions;
///
public uint TextureCompInstructions;
///
public uint TextureBiasInstructions;
///
public uint TextureGradientInstructions;
///
public uint FloatInstructionCount;
///
public uint IntInstructionCount;
///
public uint UintInstructionCount;
///
public uint StaticFlowControlCount;
///
public uint DynamicFlowControlCount;
///
public uint MacroInstructionCount;
///
public uint ArrayInstructionCount;
///
public uint CutInstructionCount;
///
public uint EmitInstructionCount;
///
public Graphics.Direct3D.PrimitiveTopology GSOutputTopology;
///
public uint GSMaxOutputVertexCount;
///
public Graphics.Direct3D.Primitive InputPrimitive;
///
public uint PatchConstantParameters;
///
public uint cGSInstanceCount;
///
public uint cControlPoints;
///
public Graphics.Direct3D.TessellatorOutputPrimitive HSOutputPrimitive;
///
public Graphics.Direct3D.TessellatorPartitioning HSPartitioning;
///
public Graphics.Direct3D.TessellatorDomain TessellatorDomain;
///
public uint cBarrierInstructions;
///
public uint cInterlockedInstructions;
///
public uint cTextureStoreInstructions;
}
///
/// D3D12_SHADER_INPUT_BIND_DESC
public partial struct ShaderInputBindDescription
{
///
public unsafe byte* Name;
///
public Graphics.Direct3D.ShaderInputType Type;
///
public uint BindPoint;
///
public uint BindCount;
///
public uint uFlags;
///
public Graphics.Direct3D.ResourceReturnType ReturnType;
///
public Graphics.Direct3D.SrvDimension Dimension;
///
public uint NumSamples;
///
public uint Space;
///
public uint uID;
}
///
/// D3D12_LIBRARY_DESC
public partial struct LibraryDescription
{
///
public unsafe byte* Creator;
///
public uint Flags;
///
public uint FunctionCount;
}
///
/// D3D12_FUNCTION_DESC
public partial struct FunctionDescription
{
///
public uint Version;
///
public unsafe byte* Creator;
///
public uint Flags;
///
public uint ConstantBuffers;
///
public uint BoundResources;
///
public uint InstructionCount;
///
public uint TempRegisterCount;
///
public uint TempArrayCount;
///
public uint DefCount;
///
public uint DclCount;
///
public uint TextureNormalInstructions;
///
public uint TextureLoadInstructions;
///
public uint TextureCompInstructions;
///
public uint TextureBiasInstructions;
///
public uint TextureGradientInstructions;
///
public uint FloatInstructionCount;
///
public uint IntInstructionCount;
///
public uint UintInstructionCount;
///
public uint StaticFlowControlCount;
///
public uint DynamicFlowControlCount;
///
public uint MacroInstructionCount;
///
public uint ArrayInstructionCount;
///
public uint MovInstructionCount;
///
public uint MovcInstructionCount;
///
public uint ConversionInstructionCount;
///
public uint BitwiseInstructionCount;
///
public Graphics.Direct3D.FeatureLevel MinFeatureLevel;
///
public ulong RequiredFeatureFlags;
///
public unsafe byte* Name;
///
public int FunctionParameterCount;
///
public Bool32 HasReturn;
///
public Bool32 Has10Level9VertexShader;
///
public Bool32 Has10Level9PixelShader;
}
///
/// D3D12_PARAMETER_DESC
public partial struct ParameterDescription
{
///
public unsafe byte* Name;
///
public unsafe byte* SemanticName;
///
public Graphics.Direct3D.ShaderVariableType Type;
///
public Graphics.Direct3D.ShaderVariableClass Class;
///
public uint Rows;
///
public uint Columns;
///
public Graphics.Direct3D.InterpolationMode InterpolationMode;
///
public Graphics.Direct3D.ParameterFlags Flags;
///
public uint FirstInRegister;
///
public uint FirstInComponent;
///
public uint FirstOutRegister;
///
public uint FirstOutComponent;
}