// d3d12umddi.h
typedef struct D3D12DDI_DEVICE_FUNCS_CORE_0088 {
PFND3D12DDI_CHECKFORMATSUPPORT pfnCheckFormatSupport;
PFND3D12DDI_CHECKMULTISAMPLEQUALITYLEVELS pfnCheckMultisampleQualityLevels;
PFND3D12DDI_GETMIPPACKING pfnGetMipPacking;
PFND3D12DDI_CALCPRIVATEELEMENTLAYOUTSIZE_0010 pfnCalcPrivateElementLayoutSize;
PFND3D12DDI_CREATEELEMENTLAYOUT_0010 pfnCreateElementLayout;
PFND3D12DDI_DESTROYELEMENTLAYOUT pfnDestroyElementLayout;
PFND3D12DDI_CALCPRIVATEBLENDSTATESIZE_0010 pfnCalcPrivateBlendStateSize;
PFND3D12DDI_CREATEBLENDSTATE_0010 pfnCreateBlendState;
PFND3D12DDI_DESTROYBLENDSTATE pfnDestroyBlendState;
PFND3D12DDI_CALCPRIVATEDEPTHSTENCILSTATESIZE_0025 pfnCalcPrivateDepthStencilStateSize;
PFND3D12DDI_CREATEDEPTHSTENCILSTATE_0025 pfnCreateDepthStencilState;
PFND3D12DDI_DESTROYDEPTHSTENCILSTATE pfnDestroyDepthStencilState;
PFND3D12DDI_CALCPRIVATERASTERIZERSTATESIZE_0010 pfnCalcPrivateRasterizerStateSize;
PFND3D12DDI_CREATERASTERIZERSTATE_0010 pfnCreateRasterizerState;
PFND3D12DDI_DESTROYRASTERIZERSTATE pfnDestroyRasterizerState;
PFND3D12DDI_CALC_PRIVATE_SHADER_SIZE_0026 pfnCalcPrivateShaderSize;
PFND3D12DDI_CREATE_SHADER_0026 pfnCreateVertexShader;
PFND3D12DDI_CREATE_SHADER_0026 pfnCreatePixelShader;
PFND3D12DDI_CREATE_SHADER_0026 pfnCreateGeometryShader;
PFND3D12DDI_CREATE_SHADER_0026 pfnCreateComputeShader;
PFND3D12DDI_CALC_PRIVATE_GEOMETRY_SHADER_WITH_STREAM_OUTPUT_0026 pfnCalcPrivateGeometryShaderWithStreamOutput;
PFND3D12DDI_CREATE_GEOMETRY_SHADER_WITH_STREAM_OUTPUT_0026 pfnCreateGeometryShaderWithStreamOutput;
PFND3D12DDI_CALC_PRIVATE_SHADER_SIZE_0026 pfnCalcPrivateTessellationShaderSize;
PFND3D12DDI_CREATE_SHADER_0026 pfnCreateHullShader;
PFND3D12DDI_CREATE_SHADER_0026 pfnCreateDomainShader;
PFND3D12DDI_DESTROYSHADER pfnDestroyShader;
PFND3D12DDI_CALCPRIVATECOMMANDQUEUESIZE_0050 pfnCalcPrivateCommandQueueSize;
PFND3D12DDI_CREATECOMMANDQUEUE_0050 pfnCreateCommandQueue;
PFND3D12DDI_DESTROYCOMMANDQUEUE pfnDestroyCommandQueue;
PFND3D12DDI_CALC_PRIVATE_COMMAND_POOL_SIZE_0040 pfnCalcPrivateCommandPoolSize;
PFND3D12DDI_CREATE_COMMAND_POOL_0040 pfnCreateCommandPool;
PFND3D12DDI_DESTROY_COMMAND_POOL_0040 pfnDestroyCommandPool;
PFND3D12DDI_RESET_COMMAND_POOL_0040 pfnResetCommandPool;
PFND3D12DDI_CALC_PRIVATE_PIPELINE_STATE_SIZE_0075 pfnCalcPrivatePipelineStateSize;
PFND3D12DDI_CREATE_PIPELINE_STATE_0075 pfnCreatePipelineState;
PFND3D12DDI_DESTROY_PIPELINE_STATE pfnDestroyPipelineState;
PFND3D12DDI_CALC_PRIVATE_COMMAND_LIST_SIZE_0040 pfnCalcPrivateCommandListSize;
PFND3D12DDI_CREATE_COMMAND_LIST_0040 pfnCreateCommandList;
PFND3D12DDI_DESTROYCOMMANDLIST pfnDestroyCommandList;
PFND3D12DDI_CALCPRIVATEFENCESIZE pfnCalcPrivateFenceSize;
PFND3D12DDI_CREATEFENCE pfnCreateFence;
PFND3D12DDI_DESTROYFENCE pfnDestroyFence;
PFND3D12DDI_CALC_PRIVATE_DESCRIPTOR_HEAP_SIZE_0001 pfnCalcPrivateDescriptorHeapSize;
PFND3D12DDI_CREATE_DESCRIPTOR_HEAP_0001 pfnCreateDescriptorHeap;
PFND3D12DDI_DESTROY_DESCRIPTOR_HEAP pfnDestroyDescriptorHeap;
PFND3D12DDI_GET_DESCRIPTOR_SIZE_IN_BYTES pfnGetDescriptorSizeInBytes;
PFND3D12DDI_GET_CPU_DESCRIPTOR_HANDLE_FOR_HEAP_START pfnGetCPUDescriptorHandleForHeapStart;
PFND3D12DDI_GET_GPU_DESCRIPTOR_HANDLE_FOR_HEAP_START pfnGetGPUDescriptorHandleForHeapStart;
PFND3D12DDI_CREATE_SHADER_RESOURCE_VIEW_0002 pfnCreateShaderResourceView;
PFND3D12DDI_CREATE_CONSTANT_BUFFER_VIEW pfnCreateConstantBufferView;
PFND3D12DDI_CREATE_SAMPLER pfnCreateSampler;
PFND3D12DDI_CREATE_UNORDERED_ACCESS_VIEW_0002 pfnCreateUnorderedAccessView;
PFND3D12DDI_CREATE_RENDER_TARGET_VIEW_0002 pfnCreateRenderTargetView;
PFND3D12DDI_CREATE_DEPTH_STENCIL_VIEW pfnCreateDepthStencilView;
PFND3D12DDI_CALC_PRIVATE_ROOT_SIGNATURE_SIZE_0013 pfnCalcPrivateRootSignatureSize;
PFND3D12DDI_CREATE_ROOT_SIGNATURE_0013 pfnCreateRootSignature;
PFND3D12DDI_DESTROY_ROOT_SIGNATURE pfnDestroyRootSignature;
PFND3D12DDI_MAPHEAP pfnMapHeap;
PFND3D12DDI_UNMAPHEAP pfnUnmapHeap;
PFND3D12DDI_CALCPRIVATEHEAPANDRESOURCESIZES_0088 pfnCalcPrivateHeapAndResourceSizes;
PFND3D12DDI_CREATEHEAPANDRESOURCE_0088 pfnCreateHeapAndResource;
PFND3D12DDI_DESTROYHEAPANDRESOURCE pfnDestroyHeapAndResource;
PFND3D12DDI_MAKERESIDENT_0001 pfnMakeResident;
PFND3D12DDI_EVICT2 pfnEvict;
PFND3D12DDI_CALCPRIVATEOPENEDHEAPANDRESOURCESIZES_0043 pfnCalcPrivateOpenedHeapAndResourceSizes;
PFND3D12DDI_OPENHEAPANDRESOURCE_0043 pfnOpenHeapAndResource;
PFND3D12DDI_COPY_DESCRIPTORS_0003 pfnCopyDescriptors;
PFND3D12DDI_COPY_DESCRIPTORS_SIMPLE_0003 pfnCopyDescriptorsSimple;
PFND3D12DDI_CALC_PRIVATE_QUERY_HEAP_SIZE_0001 pfnCalcPrivateQueryHeapSize;
PFND3D12DDI_CREATE_QUERY_HEAP_0001 pfnCreateQueryHeap;
PFND3D12DDI_DESTROY_QUERY_HEAP pfnDestroyQueryHeap;
PFND3D12DDI_CALC_PRIVATE_COMMAND_SIGNATURE_SIZE_0001 pfnCalcPrivateCommandSignatureSize;
PFND3D12DDI_CREATE_COMMAND_SIGNATURE_0001 pfnCreateCommandSignature;
PFND3D12DDI_DESTROY_COMMAND_SIGNATURE pfnDestroyCommandSignature;
PFND3D12DDI_CHECKRESOURCEVIRTUALADDRESS pfnCheckResourceVirtualAddress;
PFND3D12DDI_CHECKRESOURCEALLOCATIONINFO_0088 pfnCheckResourceAllocationInfo;
PFND3D12DDI_CHECKSUBRESOURCEINFO pfnCheckSubresourceInfo;
PFND3D12DDI_CHECKEXISITINGRESOURCEALLOCATIONINFO_0022 pfnCheckExistingResourceAllocationInfo;
PFND3D12DDI_OFFERRESOURCES pfnOfferResources;
PFND3D12DDI_RECLAIMRESOURCES_0001 pfnReclaimResources;
PFND3D12DDI_GETIMPLICITPHYSICALADAPTERMASK pfnGetImplicitPhysicalAdapterMask;
PFND3D12DDI_GET_PRESENT_PRIVATE_DRIVER_DATA_SIZE pfnGetPresentPrivateDriverDataSize;
PFND3D12DDI_QUERY_NODE_MAP pfnQueryNodeMap;
PFND3D12DDI_RETRIEVE_SHADER_COMMENT_0003 pfnRetrieveShaderComment;
PFND3D12DDI_CHECKRESOURCEALLOCATIONHANDLE pfnCheckResourceAllocationHandle;
PFND3D12DDI_CALC_PRIVATE_PIPELINE_LIBRARY_SIZE_0010 pfnCalcPrivatePipelineLibrarySize;
PFND3D12DDI_CREATE_PIPELINE_LIBRARY_0010 pfnCreatePipelineLibrary;
PFND3D12DDI_DESTROY_PIPELINE_LIBRARY_0010 pfnDestroyPipelineLibrary;
PFND3D12DDI_ADD_PIPELINE_STATE_TO_LIBRARY_0010 pfnAddPipelineStateToLibrary;
PFND3D12DDI_CALC_SERIALIZED_LIBRARY_SIZE_0010 pfnCalcSerializedLibrarySize;
PFND3D12DDI_SERIALIZE_LIBRARY_0010 pfnSerializeLibrary;
PFND3D12DDI_GET_DEBUG_ALLOCATION_INFO_0014 pfnGetDebugAllocationInfo;
PFND3D12DDI_CALC_PRIVATE_COMMAND_RECORDER_SIZE_0040 pfnCalcPrivateCommandRecorderSize;
PFND3D12DDI_CREATE_COMMAND_RECORDER_0040 pfnCreateCommandRecorder;
PFND3D12DDI_DESTROY_COMMAND_RECORDER_0040 pfnDestroyCommandRecorder;
PFND3D12DDI_COMMAND_RECORDER_SET_COMMAND_POOL_AS_TARGET_0040 pfnCommandRecorderSetCommandPoolAsTarget;
PFND3D12DDI_CALCPRIVATESCHEDULINGGROUPSIZE_0050 pfnCalcPrivateSchedulingGroupSize;
PFND3D12DDI_CREATESCHEDULINGGROUP_0050 pfnCreateSchedulingGroup;
PFND3D12DDI_DESTROYSCHEDULINGGROUP_0050 pfnDestroySchedulingGroup;
PFND3D12DDI_ENUMERATE_META_COMMANDS_0052 pfnEnumerateMetaCommands;
PFND3D12DDI_ENUMERATE_META_COMMAND_PARAMETERS_0052 pfnEnumerateMetaCommandParameters;
PFND3D12DDI_CALC_PRIVATE_META_COMMAND_SIZE_0052 pfnCalcPrivateMetaCommandSize;
PFND3D12DDI_CREATE_META_COMMAND_0052 pfnCreateMetaCommand;
PFND3D12DDI_DESTROY_META_COMMAND_0052 pfnDestroyMetaCommand;
PFND3D12DDI_GET_META_COMMAND_REQUIRED_PARAMETER_INFO_0052 pfnGetMetaCommandRequiredParameterInfo;
PFND3D12DDI_CALC_PRIVATE_STATE_OBJECT_SIZE_0054 pfnCalcPrivateStateObjectSize;
PFND3D12DDI_CREATE_STATE_OBJECT_0054 pfnCreateStateObject;
PFND3D12DDI_DESTROY_STATE_OBJECT_0054 pfnDestroyStateObject;
PFND3D12DDI_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_0054 pfnGetRaytracingAccelerationStructurePrebuildInfo;
PFND3D12DDI_CHECK_DRIVER_MATCHING_IDENTIFIER_0054 pfnCheckDriverMatchingIdentifier;
PFND3D12DDI_GET_SHADER_IDENTIFIER_0054 pfnGetShaderIdentifier;
PFND3D12DDI_GET_SHADER_STACK_SIZE_0054 pfnGetShaderStackSize;
PFND3D12DDI_GET_PIPELINE_STACK_SIZE_0054 pfnGetPipelineStackSize;
PFND3D12DDI_SET_PIPELINE_STACK_SIZE_0054 pfnSetPipelineStackSize;
PFND3D12DDI_SET_BACKGROUND_PROCESSING_MODE_0063 pfnSetBackgroundProcessingMode;
PFND3D12DDI_CALC_PRIVATE_ADD_TO_STATE_OBJECT_SIZE_0072 pfnCalcPrivateAddToStateObjectSize;
PFND3D12DDI_ADD_TO_STATE_OBJECT_0072 pfnAddToStateObject;
PFND3D12DDI_CREATE_SAMPLER_FEEDBACK_UNORDERED_ACCESS_VIEW_0075 pfnCreateSamplerFeedbackUnorderedAccessView;
PFND3D12DDI_CREATE_SHADER_0026 pfnCreateAmplificationShader;
PFND3D12DDI_CREATE_SHADER_0026 pfnCreateMeshShader;
PFND3D12DDI_CALC_PRIVATE_SHADER_SIZE_0026 pfnCalcPrivateMeshShaderSize;
PFND3D12DDI_IMPLICITSHADERCACHECONTROL_0080 pfnImplicitShaderCacheControl;
} D3D12DDI_DEVICE_FUNCS_CORE_0088;
View the official Windows Driver Kit DDI referenceNo description available.
The D3D12DDI_DEVICE_FUNCS_CORE_0088 structure contains the core device functionality available in D3D12 Release 8, Build rev 8. The user-mode driver returns its function pointers in this structure when PFND3D12DDI_FILLDDITTABLE is called with a D3D12DDI_TABLE_TYPE of D3D12DDI_TABLE_TYPE_DEVICE_CORE.
pfnCheckFormatSupportCheck format support.
pfnCheckMultisampleQualityLevelsCheck multi sample quality levels.
pfnGetMipPackingGet MIP packing.
pfnCalcPrivateElementLayoutSizeCalculate private element layout size.
pfnCreateElementLayoutCreate element layout.
pfnDestroyElementLayoutDestroy element layout.
pfnCalcPrivateBlendStateSizeCalculate private blend state size.
pfnCreateBlendStateCreate blend state.
pfnDestroyBlendStateDestroy blend state.
pfnCalcPrivateDepthStencilStateSizeCalculate private depth stencil state size.
pfnCreateDepthStencilStateCreate depth stencil state.
pfnDestroyDepthStencilStateDestroy depth stencil state.
pfnCalcPrivateRasterizerStateSizeCalculate private rasterizer state size.
pfnCreateRasterizerStateCreate rasterizer state.
pfnDestroyRasterizerStateDestroy rasterizer state.
pfnCalcPrivateShaderSizeCalculate private shader size.
pfnCreateVertexShaderCreate vertex shader.
pfnCreatePixelShaderCreate pixel shader.
pfnCreateGeometryShaderCreate geometry shader.
pfnCreateComputeShaderCreate compute shader.
pfnCalcPrivateGeometryShaderWithStreamOutputCalculate private geometry shader with stream output.
pfnCreateGeometryShaderWithStreamOutputCreate geometry shader with stream output.
pfnCalcPrivateTessellationShaderSizeCalculate private tessellation shader size.
pfnCreateHullShaderCreate hull shader.
pfnCreateDomainShaderPointer to the function to create a domain shader.
pfnDestroyShaderPointer to the function to destroy a shader.
pfnCalcPrivateCommandQueueSizePointer to the function to calculate private command queue size.
pfnCreateCommandQueuePointer to the function to create a command queue.
pfnDestroyCommandQueuePointer to the function to destroy a command queue.
pfnCalcPrivateCommandPoolSizePointer to the function to calculate private command pool size.
pfnCreateCommandPoolPointer to the function to create a command pool.
pfnDestroyCommandPoolPointer to the function to destroy a command pool.
pfnResetCommandPoolPointer to the function to reset a command pool.
pfnCalcPrivatePipelineStateSizePointer to the function to calculate private pipeline state size.
pfnCreatePipelineStatePointer to the function to create pipeline state.
pfnDestroyPipelineStatePointer to the function to destroy pipeline state.
pfnCalcPrivateCommandListSizePointer to the function to calculate the private command list size.
pfnCreateCommandListPointer to the function to create a command list.
pfnDestroyCommandListPointer to the function to destroy a command list.
pfnCalcPrivateFenceSizePointer to the function to calculate private fence size.
pfnCreateFencePointer to the function to create a fence.
pfnDestroyFencePointer to the function to destroy a fence.
pfnCalcPrivateDescriptorHeapSizePointer to the function to calculate private descriptor heap size.
pfnCreateDescriptorHeapPointer to the function to create a descriptor heap.
pfnDestroyDescriptorHeapPointer to the function to destroy a descriptor heap.
pfnGetDescriptorSizeInBytesPointer to the function to get a descriptor's size in bytes.
pfnGetCPUDescriptorHandleForHeapStartPointer to the function to get a CPU descriptor handle for heap start.
pfnGetGPUDescriptorHandleForHeapStartPointer to the function to get a GPU descriptor handle for heap start.
pfnCreateShaderResourceViewPointer to the function to create a shader resource view.
pfnCreateConstantBufferViewPointer to the function to create a constant buffer view.
pfnCreateSamplerPointer to the function to create a sampler.
pfnCreateUnorderedAccessViewPointer to the function to create an unordered access view.
pfnCreateRenderTargetViewPointer to the function to create a render target view.
pfnCreateDepthStencilViewPointer to the function to create a depth stencil view.
pfnCalcPrivateRootSignatureSizePointer to the function to calculate a private root signature size.
pfnCreateRootSignaturePointer to the function to create a root signature.
pfnDestroyRootSignaturePointer to the function to destroy a root signature.
pfnMapHeapPointer to the function to map a heap.
pfnUnmapHeapPointer to the function to unmap a heap.
pfnCalcPrivateHeapAndResourceSizesPointer to the function to calculate private heap and resource sizes.
pfnCreateHeapAndResourcePointer to the function to create a heap and resource.
pfnDestroyHeapAndResourcePointer to the function to destroy a heap and resource.
pfnMakeResidentPointer to the function to make resident.
pfnEvictPointer to the function to evict.
pfnCalcPrivateOpenedHeapAndResourceSizesPointer to the function to calculate private opened heap and resource sizes.
pfnOpenHeapAndResourcePointer to the function to open heap and resource.
pfnCopyDescriptorsPointer to the function to copy descriptors.
pfnCopyDescriptorsSimplePointer to the function to copy descriptors sample.
pfnCalcPrivateQueryHeapSizePointer to the function to calculate private query heap size.
pfnCreateQueryHeapPointer to the function to create query heap.
pfnDestroyQueryHeapPointer to the function to destroy query heap.
pfnCalcPrivateCommandSignatureSizePointer to the function to calculate private command signature size.
pfnCreateCommandSignaturePointer to the function to create command signature.
pfnDestroyCommandSignaturePointer to the function to destroy command signature.
pfnCheckResourceVirtualAddressPointer to the function to check resource virtual address.
pfnCheckResourceAllocationInfoPointer to the function to check resource allocation info.
pfnCheckSubresourceInfoPointer to the function to check subresource info.
pfnCheckExistingResourceAllocationInfoPointer to the function to check existing resource allocation info.
pfnOfferResourcesOffer resources.
pfnReclaimResourcesPointer to the function to reclaim resources.
pfnGetImplicitPhysicalAdapterMaskPointer to the function to get implicit physical adapter mask.
pfnGetPresentPrivateDriverDataSizePointer to the function to get present private driver data size.
pfnQueryNodeMapPointer to the function to query a node map.
pfnRetrieveShaderCommentPointer to the function to retrieve a shader comment.
pfnCheckResourceAllocationHandlePointer to the function to check a resource allocation handle.
pfnCalcPrivatePipelineLibrarySizePointer to the function to calculate private pipeline library size.
pfnCreatePipelineLibraryPointer to the function to create a pipeline library.
pfnDestroyPipelineLibraryPointer to the function to destroy a pipeline library.
pfnAddPipelineStateToLibraryPointer to the function to add pipeline state to library.
pfnCalcSerializedLibrarySizePointer to the function to calculate serialized library size.
pfnSerializeLibraryPointer to the function to serialize a library.
pfnGetDebugAllocationInfoPointer to the function to get debug allocation info.
pfnCalcPrivateCommandRecorderSizePointer to the function to calculate private command recorder size.
pfnCreateCommandRecorderPointer to the function to create a command recorder.
pfnDestroyCommandRecorderPointer to the function to destroy a command recorder.
pfnCommandRecorderSetCommandPoolAsTargetPointer to the function to set the command pool as target for the command recorder.
pfnCalcPrivateSchedulingGroupSizePointer to the function to calculate private scheduling group size.
pfnCreateSchedulingGroupPointer to the function to create a scheduling group.
pfnDestroySchedulingGroupPointer to the function to destroy a scheduling group.
pfnEnumerateMetaCommandsPointer to the function to enumerate meta-commands.
pfnEnumerateMetaCommandParametersPointer to the function to enumerate meta-command parameters.
pfnCalcPrivateMetaCommandSizePointer to the function to calculate private meta-command size.
pfnCreateMetaCommandPointer to the function to create a meta-command.
pfnDestroyMetaCommandPointer to the function to destroy a meta-command.
pfnGetMetaCommandRequiredParameterInfoPointer to the function to get required meta-command parameter info.
pfnCalcPrivateStateObjectSizePointer to the function to calculate private state object size.
pfnCreateStateObjectPointer to the function to create a state object.
pfnDestroyStateObjectPointer to the function to destroy a state object.
pfnGetRaytracingAccelerationStructurePrebuildInfoPointer to the function to get ray tracing acceleration structure prebuild info.
pfnCheckDriverMatchingIdentifierPointer to the function to check driver matching identifier.
pfnGetShaderIdentifierPointer to the function to get a shader identifier.
pfnGetShaderStackSizePointer to the function to get a shader stack size.
pfnGetPipelineStackSizePointer to the function to get a pipeline stack size.
pfnSetPipelineStackSizePointer to the function to set pipeline stack size.
pfnSetBackgroundProcessingModePointer to the function to set the background processing mode.
pfnCalcPrivateAddToStateObjectSizePointer to the function to calculate private add to state object size. See the DirectX Raytracing (DXR) Functional Spec for more information.
pfnAddToStateObjectPointer to the function to add to state object. See the DirectX Raytracing (DXR) Functional Spec for more information.
pfnCreateSamplerFeedbackUnorderedAccessViewPointer to the function to create a sampler feedback unordered access view. See the D3D Sampler Feedback Specification for more information.
pfnCreateAmplificationShaderPointer to the function to create an amplification shader. See the Mesh Shader Specification for more information.
pfnCreateMeshShaderPointer to the function to create a mesh shader. See the Mesh Shader Specification for more information.
pfnCalcPrivateMeshShaderSizePointer to the function to calculate private mesh shader size. See the Mesh Shader Specification for more information.
pfnImplicitShaderCacheControlPointer to the function for implicit shader cache control. See the D3D12 Shader Cache APIs specification for more information.