// d3d12umddi.h
typedef struct D3D12DDI_DEVICE_FUNCS_CORE_0010 {
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_0010 pfnCalcPrivateDepthStencilStateSize;
PFND3D12DDI_CREATEDEPTHSTENCILSTATE_0010 pfnCreateDepthStencilState;
PFND3D12DDI_DESTROYDEPTHSTENCILSTATE pfnDestroyDepthStencilState;
PFND3D12DDI_CALCPRIVATERASTERIZERSTATESIZE_0010 pfnCalcPrivateRasterizerStateSize;
PFND3D12DDI_CREATERASTERIZERSTATE_0010 pfnCreateRasterizerState;
PFND3D12DDI_DESTROYRASTERIZERSTATE pfnDestroyRasterizerState;
PFND3D12DDI_CALC_PRIVATE_SHADER_SIZE_0010 pfnCalcPrivateShaderSize;
PFND3D12DDI_CREATE_SHADER_0010 pfnCreateVertexShader;
PFND3D12DDI_CREATE_SHADER_0010 pfnCreatePixelShader;
PFND3D12DDI_CREATE_SHADER_0010 pfnCreateGeometryShader;
PFND3D12DDI_CREATE_SHADER_0010 pfnCreateComputeShader;
PFND3D12DDI_CALC_PRIVATE_GEOMETRY_SHADER_WITH_STREAM_OUTPUT_0010 pfnCalcPrivateGeometryShaderWithStreamOutput;
PFND3D12DDI_CREATE_GEOMETRY_SHADER_WITH_STREAM_OUTPUT_0010 pfnCreateGeometryShaderWithStreamOutput;
PFND3D12DDI_CALC_PRIVATE_SHADER_SIZE_0010 pfnCalcPrivateTessellationShaderSize;
PFND3D12DDI_CREATE_SHADER_0010 pfnCreateHullShader;
PFND3D12DDI_CREATE_SHADER_0010 pfnCreateDomainShader;
PFND3D12DDI_DESTROYSHADER pfnDestroyShader;
PFND3D12DDI_CALCPRIVATECOMMANDQUEUESIZE_0001 pfnCalcPrivateCommandQueueSize;
PFND3D12DDI_CREATECOMMANDQUEUE_0001 pfnCreateCommandQueue;
PFND3D12DDI_DESTROYCOMMANDQUEUE pfnDestroyCommandQueue;
PFND3D12DDI_CALCPRIVATECOMMANDALLOCATORSIZE pfnCalcPrivateCommandAllocatorSize;
PFND3D12DDI_CREATECOMMANDALLOCATOR pfnCreateCommandAllocator;
PFND3D12DDI_DESTROYCOMMANDALLOCATOR pfnDestroyCommandAllocator;
PFND3D12DDI_RESETCOMMANDALLOCATOR pfnResetCommandAllocator;
PFND3D12DDI_CALC_PRIVATE_PIPELINE_STATE_SIZE_0010 pfnCalcPrivatePipelineStateSize;
PFND3D12DDI_CREATE_PIPELINE_STATE_0010 pfnCreatePipelineState;
PFND3D12DDI_DESTROY_PIPELINE_STATE pfnDestroyPipelineState;
PFND3D12DDI_CALC_PRIVATE_COMMAND_LIST_SIZE_0001 pfnCalcPrivateCommandListSize;
PFND3D12DDI_CREATE_COMMAND_LIST_0001 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_0001 pfnCalcPrivateRootSignatureSize;
PFND3D12DDI_CREATE_ROOT_SIGNATURE_0001 pfnCreateRootSignature;
PFND3D12DDI_DESTROY_ROOT_SIGNATURE pfnDestroyRootSignature;
PFND3D12DDI_MAPHEAP pfnMapHeap;
PFND3D12DDI_UNMAPHEAP pfnUnmapHeap;
PFND3D12DDI_CALCPRIVATEHEAPANDRESOURCESIZES_0003 pfnCalcPrivateHeapAndResourceSizes;
PFND3D12DDI_CREATEHEAPANDRESOURCE_0003 pfnCreateHeapAndResource;
PFND3D12DDI_DESTROYHEAPANDRESOURCE pfnDestroyHeapAndResource;
PFND3D12DDI_MAKERESIDENT_0001 pfnMakeResident;
PFND3D12DDI_EVICT2 pfnEvict;
PFND3D12DDI_CALCPRIVATEOPENEDHEAPANDRESOURCESIZES_0003 pfnCalcPrivateOpenedHeapAndResourceSizes;
PFND3D12DDI_OPENHEAPANDRESOURCE_0003 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_0003 pfnCheckResourceAllocationInfo;
PFND3D12DDI_CHECKSUBRESOURCEINFO pfnCheckSubresourceInfo;
PFND3D12DDI_CHECKEXISITINGRESOURCEALLOCATIONINFO 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;
} D3D12DDI_DEVICE_FUNCS_CORE_0010;
View the official Windows Driver Kit DDI referenceNo description available.
Contains core functions.
pfnCheckFormatSupportA function that checks format support. See pfnCheckFormatSupport.
pfnCheckMultisampleQualityLevelsA function that checks multi-sample quality levels. See pfnCheckMultisampleQualityLevels.
pfnGetMipPackingA function that gets MIP packing. See pfnGetMipPacking.
pfnCalcPrivateElementLayoutSizeA function that calculates layout size for a private element. pfnCalcPrivateElementLayoutSize.
pfnCreateElementLayoutA function that creates an element layout. See pfnCreateElementLayout.
pfnDestroyElementLayoutA function that destroys an element layout. See pfnDestroyElementLayout.
pfnCalcPrivateBlendStateSizeA function that calculates the size of a private blend state. See pfnCalcPrivateBlendStateSize.
pfnCreateBlendStateA function that creates a blend state. See pfnCreateBlendState.
pfnDestroyBlendStateA function that destroys a blend state. See pfnDestroyBlendState.
pfnCalcPrivateDepthStencilStateSizeA function that calculates the size of the state of a private depth stencil. See pfnCalcPrivateDepthStencilStateSize.
pfnCreateDepthStencilStateA function that creates a depth stencil state. See pfnCreateDepthStencilState.
pfnDestroyDepthStencilStateA function that destroys a depth stencil state. See pfnDestroyDepthStencilState.
pfnCalcPrivateRasterizerStateSizeA function that calculates the size of a private rasterizer state. See pfnCalcPrivateRasterizerStateSize.
pfnCreateRasterizerStateA function that creates a rasterizer state. See pfnCreateRasterizerState.
pfnDestroyRasterizerStateA function that destroys a rasterizer state. See pfnDestroyRasterizerState.
pfnCalcPrivateShaderSizeA function that calculates the size of a private shader. See pfnCalcPrivateShaderSize.
pfnCreateVertexShaderA function that creates a vertex shader. See PFND3D12DDI_CREATE_SHADER_0010.
pfnCreatePixelShaderA function that creates a shader. See PFND3D12DDI_CREATE_SHADER_0010.
pfnCreateGeometryShaderA function that creates a geometry shader. See PFND3D12DDI_CREATE_SHADER_0010.
pfnCreateComputeShaderA function that creates a compute shader. See PFND3D12DDI_CREATE_SHADER_0010.
pfnCalcPrivateGeometryShaderWithStreamOutputA function that calculates a private geometry shader with stream output. See pfnCalcPrivateGeometryShaderWithStreamOutput.
pfnCreateGeometryShaderWithStreamOutputA function that creates a private geometry shader with stream output. See pfnCreateGeometryShaderWithStreamOutput.
pfnCalcPrivateTessellationShaderSizeA function that creates private tessellation shader size. See pfnCalcPrivateTessellationShaderSize.
pfnCreateHullShaderA function that creates a hull shader. See pfnCreateHullShader.
pfnCreateDomainShaderA function that creates a domain shader. See pfnCreateDomainShader.
pfnDestroyShaderA function that destroys a shader. See pfnDestroyShader.
pfnCalcPrivateCommandQueueSizeA function that calculates the size of a private queue. See pfnCalcPrivateCommandQueueSize.
pfnCreateCommandQueueA function that creates a command queue. See pfnCreateCommandQueue.
pfnDestroyCommandQueueA function that destroys a command queue. See pfnDestroyCommandQueue.
pfnCalcPrivateCommandAllocatorSizeA function that calculates the size of a private command allocator. See pfnCalcPrivateCommandAllocatorSize.
pfnCreateCommandAllocatorA function that creates a command allocator. See pfnCreateCommandAllocator.
pfnDestroyCommandAllocatorA function that destroys a command allocator. See pfnDestroyCommandAllocator.
pfnResetCommandAllocatorA function that resets a command allocator. See pfnResetCommandAllocator.
pfnCalcPrivatePipelineStateSizeA function that calculate the size of a private pipeline state. See pfnCalcPrivatePipelineStateSize.
pfnCreatePipelineStateA function that crates a pipeline state. See pfnCreatePipelineState.
pfnDestroyPipelineStateA function that destroys a pipeline state. See pfnDestroyPipelineState.
pfnCalcPrivateCommandListSizeA function that calculate the size of a private command list. See pfnCalcPrivateCommandListSize.
pfnCreateCommandListA function that creates a command list. See pfnCreateCommandList.
pfnDestroyCommandListA function that destroys a command list. See pfnDestroyCommandList.
pfnCalcPrivateFenceSizeA function that calculates a private fence size. See pfnCalcPrivateFenceSize.
pfnCreateFenceA function that creates a fence. See pfnCreateFence.
pfnDestroyFenceA function that destroys a fence. See pfnDestroyFence.
pfnCalcPrivateDescriptorHeapSizeA function that calculates the size of a private descriptor heap. See pfnCalcPrivateDescriptorHeapSize.
pfnCreateDescriptorHeapA function that creates a descriptor heap. See pfnCreateDescriptorHeap.
pfnDestroyDescriptorHeapA function that destroys a descriptor heap. See pfnDestroyDescriptorHeap.
pfnGetDescriptorSizeInBytesA function that gets the descriptor size, in bytes. See pfnGetDescriptorSizeInBytes.
pfnGetCPUDescriptorHandleForHeapStartA function that gets a CPU descriptor handle. See pfnGetCPUDescriptorHandleForHeapStart.
pfnGetGPUDescriptorHandleForHeapStartA function that gets a GPU descriptor handle. See pfnGetGPUDescriptorHandleForHeapStart.
pfnCreateShaderResourceViewA function that creates a shader resource view. See pfnCreateShaderResourceView.
pfnCreateConstantBufferViewA function that creates a constant buffer view. See pfnCreateConstantBufferView.
pfnCreateSamplerA function that creates a sampler. See pfnCreateSampler.
pfnCreateUnorderedAccessViewA function that creates an unordered access view. See pfnCreateUnorderedAccessView.
pfnCreateRenderTargetViewA function that creates a render target view. See pfnCreateRenderTargetView.
pfnCreateDepthStencilViewA function that creates a depth stencil view. See pfnCreateDepthStencilView.
pfnCalcPrivateRootSignatureSizeA function that calculates the size of a private root signature. See pfnCalcPrivateRootSignatureSize.
pfnCreateRootSignatureA function that creates a root signature. See pfnCreateRootSignature.
pfnDestroyRootSignatureA function that destroys a root signature. See pfnDestroyRootSignature.
pfnMapHeapA function that maps a heap. See pfnMapHeap.
pfnUnmapHeapA function that unmaps a heap. See pfnUnmapHeap.
pfnCalcPrivateHeapAndResourceSizesA function that calculates sizes for private heap and resource. See pfnCalcPrivateHeapAndResourceSizes.
pfnCreateHeapAndResourceA function that create a heap and resource. See pfnCreateHeapAndResource.
pfnDestroyHeapAndResourceA function that destroys a heap and resource. See pfnDestroyHeapAndResource.
pfnMakeResidentA function that makes a resident. See pfnMakeResident.
pfnEvictA function that evicts. See pfnEvict.
pfnCalcPrivateOpenedHeapAndResourceSizesA function that calculates sizes for private opened heap and resources. See pfnCalcPrivateOpenedHeapAndResourceSizes.
pfnOpenHeapAndResourceA function that opens a heap and resource. See pfnOpenHeapAndResource.
pfnCopyDescriptorsA function that copies descriptors. See pfnCopyDescriptors.
pfnCopyDescriptorsSimpleA function that does a simple copy of descriptors. See pfnCopyDescriptorsSimple.
pfnCalcPrivateQueryHeapSizeA function that calculates the size of a private query heap. See pfnCalcPrivateQueryHeapSize.
pfnCreateQueryHeapA function that creates a query heap. See pfnCreateQueryHeap.
pfnDestroyQueryHeapA function that destroys a query heap. See pfnDestroyQueryHeap.
pfnCalcPrivateCommandSignatureSizeA function that calculates the size of a private command signature. See pfnCalcPrivateCommandSignatureSize.
pfnCreateCommandSignatureA function that creates a command signature. See pfnCreateCommandSignature.
pfnDestroyCommandSignatureA function that destroys a command signature. See pfnDestroyCommandSignature.
pfnCheckResourceVirtualAddressA function that checks the virtual address of a resource. See pfnCheckResourceVirtualAddress.
pfnCheckResourceAllocationInfoA function that checks allocation information of a resource. See pfnCheckResourceAllocationInfo.
pfnCheckSubresourceInfoA function that checks information of a subresource. See pfnCheckSubresourceInfo.
pfnCheckExistingResourceAllocationInfoA function that checks allocation information of an existing resource. See pfnCheckExistingResourceAllocationInfo.
pfnOfferResourcesA function that offers resources. See pfnOfferResources.
pfnReclaimResourcesA function that reclaims resources. See pfnReclaimResources.
pfnGetImplicitPhysicalAdapterMaskA function that gets an implicit physical adapter mask. See pfnGetImplicitPhysicalAdapterMask.
pfnGetPresentPrivateDriverDataSizeA function that gets the present size of private driver data. See pfnGetPresentPrivateDriverDataSize.
pfnQueryNodeMapA function that queries a node map. See pfnQueryNodeMap.
pfnRetrieveShaderCommentA function that retrieves a shader comment. See pfnRetrieveShaderComment.
pfnCheckResourceAllocationHandleA function that checks a resource allocation handle. See pfnCheckResourceAllocationHandle.
pfnCalcPrivatePipelineLibrarySizeA function that calculates the size of a private pipeline library. See pfnCalcPrivatePipelineLibrarySize.
pfnCreatePipelineLibraryA function that creates a pipeline library. See pfnCreatePipelineLibrary.
pfnDestroyPipelineLibraryA function that destroys a pipeline library. See pfnDestroyPipelineLibrary.
pfnAddPipelineStateToLibraryA function that adds pipeline state to a library. See pfnAddPipelineStateToLibrary.
pfnCalcSerializedLibrarySizeA function that calculates the size of a serialized library. See pfnCalcSerializedLibrarySize.
pfnSerializeLibraryA function that serializes a library. See pfnSerializeLibrary.