D3D12DDI_DEVICE_FUNCS_CORE_0088 structure (d3d12umddi.h)
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.
Syntax
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;
Members
pfnCheckFormatSupport
Check format support.
pfnCheckMultisampleQualityLevels
Check multi sample quality levels.
pfnGetMipPacking
Get MIP packing.
pfnCalcPrivateElementLayoutSize
Calculate private element layout size.
pfnCreateElementLayout
Create element layout.
pfnDestroyElementLayout
Destroy element layout.
pfnCalcPrivateBlendStateSize
Calculate private blend state size.
pfnCreateBlendState
Create blend state.
pfnDestroyBlendState
Destroy blend state.
pfnCalcPrivateDepthStencilStateSize
Calculate private depth stencil state size.
pfnCreateDepthStencilState
Create depth stencil state.
pfnDestroyDepthStencilState
Destroy depth stencil state.
pfnCalcPrivateRasterizerStateSize
Calculate private rasterizer state size.
pfnCreateRasterizerState
Create rasterizer state.
pfnDestroyRasterizerState
Destroy rasterizer state.
pfnCalcPrivateShaderSize
Calculate private shader size.
pfnCreateVertexShader
Create vertex shader.
pfnCreatePixelShader
Create pixel shader.
pfnCreateGeometryShader
Create geometry shader.
pfnCreateComputeShader
Create compute shader.
pfnCalcPrivateGeometryShaderWithStreamOutput
Calculate private geometry shader with stream output.
pfnCreateGeometryShaderWithStreamOutput
Create geometry shader with stream output.
pfnCalcPrivateTessellationShaderSize
Calculate private tessellation shader size.
pfnCreateHullShader
Create hull shader.
pfnCreateDomainShader
Pointer to the function to create a domain shader.
pfnDestroyShader
Pointer to the function to destroy a shader.
pfnCalcPrivateCommandQueueSize
Pointer to the function to calculate private command queue size.
pfnCreateCommandQueue
Pointer to the function to create a command queue.
pfnDestroyCommandQueue
Pointer to the function to destroy a command queue.
pfnCalcPrivateCommandPoolSize
Pointer to the function to calculate private command pool size.
pfnCreateCommandPool
Pointer to the function to create a command pool.
pfnDestroyCommandPool
Pointer to the function to destroy a command pool.
pfnResetCommandPool
Pointer to the function to reset a command pool.
pfnCalcPrivatePipelineStateSize
Pointer to the function to calculate private pipeline state size.
pfnCreatePipelineState
Pointer to the function to create pipeline state.
pfnDestroyPipelineState
Pointer to the function to destroy pipeline state.
pfnCalcPrivateCommandListSize
Pointer to the function to calculate the private command list size.
pfnCreateCommandList
Pointer to the function to create a command list.
pfnDestroyCommandList
Pointer to the function to destroy a command list.
pfnCalcPrivateFenceSize
Pointer to the function to calculate private fence size.
pfnCreateFence
Pointer to the function to create a fence.
pfnDestroyFence
Pointer to the function to destroy a fence.
pfnCalcPrivateDescriptorHeapSize
Pointer to the function to calculate private descriptor heap size.
pfnCreateDescriptorHeap
Pointer to the function to create a descriptor heap.
pfnDestroyDescriptorHeap
Pointer to the function to destroy a descriptor heap.
pfnGetDescriptorSizeInBytes
Pointer to the function to get a descriptor's size in bytes.
pfnGetCPUDescriptorHandleForHeapStart
Pointer to the function to get a CPU descriptor handle for heap start.
pfnGetGPUDescriptorHandleForHeapStart
Pointer to the function to get a GPU descriptor handle for heap start.
pfnCreateShaderResourceView
Pointer to the function to create a shader resource view.
pfnCreateConstantBufferView
Pointer to the function to create a constant buffer view.
pfnCreateSampler
Pointer to the function to create a sampler.
pfnCreateUnorderedAccessView
Pointer to the function to create an unordered access view.
pfnCreateRenderTargetView
Pointer to the function to create a render target view.
pfnCreateDepthStencilView
Pointer to the function to create a depth stencil view.
pfnCalcPrivateRootSignatureSize
Pointer to the function to calculate a private root signature size.
pfnCreateRootSignature
Pointer to the function to create a root signature.
pfnDestroyRootSignature
Pointer to the function to destroy a root signature.
pfnMapHeap
Pointer to the function to map a heap.
pfnUnmapHeap
Pointer to the function to unmap a heap.
pfnCalcPrivateHeapAndResourceSizes
Pointer to the function to calculate private heap and resource sizes.
pfnCreateHeapAndResource
Pointer to the function to create a heap and resource.
pfnDestroyHeapAndResource
Pointer to the function to destroy a heap and resource.
pfnMakeResident
Pointer to the function to make resident.
pfnEvict
Pointer to the function to evict.
pfnCalcPrivateOpenedHeapAndResourceSizes
Pointer to the function to calculate private opened heap and resource sizes.
pfnOpenHeapAndResource
Pointer to the function to open heap and resource.
pfnCopyDescriptors
Pointer to the function to copy descriptors.
pfnCopyDescriptorsSimple
Pointer to the function to copy descriptors sample.
pfnCalcPrivateQueryHeapSize
Pointer to the function to calculate private query heap size.
pfnCreateQueryHeap
Pointer to the function to create query heap.
pfnDestroyQueryHeap
Pointer to the function to destroy query heap.
pfnCalcPrivateCommandSignatureSize
Pointer to the function to calculate private command signature size.
pfnCreateCommandSignature
Pointer to the function to create command signature.
pfnDestroyCommandSignature
Pointer to the function to destroy command signature.
pfnCheckResourceVirtualAddress
Pointer to the function to check resource virtual address.
pfnCheckResourceAllocationInfo
Pointer to the function to check resource allocation info.
pfnCheckSubresourceInfo
Pointer to the function to check subresource info.
pfnCheckExistingResourceAllocationInfo
Pointer to the function to check existing resource allocation info.
pfnOfferResources
Offer resources.
pfnReclaimResources
Pointer to the function to reclaim resources.
pfnGetImplicitPhysicalAdapterMask
Pointer to the function to get implicit physical adapter mask.
pfnGetPresentPrivateDriverDataSize
Pointer to the function to get present private driver data size.
pfnQueryNodeMap
Pointer to the function to query a node map.
pfnRetrieveShaderComment
Pointer to the function to retrieve a shader comment.
pfnCheckResourceAllocationHandle
Pointer to the function to check a resource allocation handle.
pfnCalcPrivatePipelineLibrarySize
Pointer to the function to calculate private pipeline library size.
pfnCreatePipelineLibrary
Pointer to the function to create a pipeline library.
pfnDestroyPipelineLibrary
Pointer to the function to destroy a pipeline library.
pfnAddPipelineStateToLibrary
Pointer to the function to add pipeline state to library.
pfnCalcSerializedLibrarySize
Pointer to the function to calculate serialized library size.
pfnSerializeLibrary
Pointer to the function to serialize a library.
pfnGetDebugAllocationInfo
Pointer to the function to get debug allocation info.
pfnCalcPrivateCommandRecorderSize
Pointer to the function to calculate private command recorder size.
pfnCreateCommandRecorder
Pointer to the function to create a command recorder.
pfnDestroyCommandRecorder
Pointer to the function to destroy a command recorder.
pfnCommandRecorderSetCommandPoolAsTarget
Pointer to the function to set the command pool as target for the command recorder.
pfnCalcPrivateSchedulingGroupSize
Pointer to the function to calculate private scheduling group size.
pfnCreateSchedulingGroup
Pointer to the function to create a scheduling group.
pfnDestroySchedulingGroup
Pointer to the function to destroy a scheduling group.
pfnEnumerateMetaCommands
Pointer to the function to enumerate meta-commands.
pfnEnumerateMetaCommandParameters
Pointer to the function to enumerate meta-command parameters.
pfnCalcPrivateMetaCommandSize
Pointer to the function to calculate private meta-command size.
pfnCreateMetaCommand
Pointer to the function to create a meta-command.
pfnDestroyMetaCommand
Pointer to the function to destroy a meta-command.
pfnGetMetaCommandRequiredParameterInfo
Pointer to the function to get required meta-command parameter info.
pfnCalcPrivateStateObjectSize
Pointer to the function to calculate private state object size.
pfnCreateStateObject
Pointer to the function to create a state object.
pfnDestroyStateObject
Pointer to the function to destroy a state object.
pfnGetRaytracingAccelerationStructurePrebuildInfo
Pointer to the function to get ray tracing acceleration structure prebuild info.
pfnCheckDriverMatchingIdentifier
Pointer to the function to check driver matching identifier.
pfnGetShaderIdentifier
Pointer to the function to get a shader identifier.
pfnGetShaderStackSize
Pointer to the function to get a shader stack size.
pfnGetPipelineStackSize
Pointer to the function to get a pipeline stack size.
pfnSetPipelineStackSize
Pointer to the function to set pipeline stack size.
pfnSetBackgroundProcessingMode
Pointer to the function to set the background processing mode.
pfnCalcPrivateAddToStateObjectSize
Pointer to the function to calculate private add to state object size. See the DirectX Raytracing (DXR) Functional Spec for more information.
pfnAddToStateObject
Pointer to the function to add to state object. See the DirectX Raytracing (DXR) Functional Spec for more information.
pfnCreateSamplerFeedbackUnorderedAccessView
Pointer to the function to create a sampler feedback unordered access view. See the D3D Sampler Feedback Specification for more information.
pfnCreateAmplificationShader
Pointer to the function to create an amplification shader. See the Mesh Shader Specification for more information.
pfnCreateMeshShader
Pointer to the function to create a mesh shader. See the Mesh Shader Specification for more information.
pfnCalcPrivateMeshShaderSize
Pointer to the function to calculate private mesh shader size. See the Mesh Shader Specification for more information.
pfnImplicitShaderCacheControl
Pointer to the function for implicit shader cache control. See the D3D12 Shader Cache APIs specification for more information.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 11 (WDDM 3.0) |
Header | d3d12umddi.h |