共用方式為


D3D12DDI_DEVICE_FUNCS_CORE_0030 結構 (d3d12umddi.h)

核心裝置功能。

語法

typedef struct D3D12DDI_DEVICE_FUNCS_CORE_0030 {
  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_0023                     pfnCalcPrivateCommandQueueSize;
  PFND3D12DDI_CREATECOMMANDQUEUE_0023                              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_0021                           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_0013                pfnCalcPrivateRootSignatureSize;
  PFND3D12DDI_CREATE_ROOT_SIGNATURE_0013                           pfnCreateRootSignature;
  PFND3D12DDI_DESTROY_ROOT_SIGNATURE                               pfnDestroyRootSignature;
  PFND3D12DDI_MAPHEAP                                              pfnMapHeap;
  PFND3D12DDI_UNMAPHEAP                                            pfnUnmapHeap;
  PFND3D12DDI_CALCPRIVATEHEAPANDRESOURCESIZES_0030                 pfnCalcPrivateHeapAndResourceSizes;
  PFND3D12DDI_CREATEHEAPANDRESOURCE_0030                           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_0022                     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;
} D3D12DDI_DEVICE_FUNCS_CORE_0030;

成員

pfnCheckFormatSupport

檢查格式支援。

pfnCheckMultisampleQualityLevels

檢查多重樣本質量等級。

pfnGetMipPacking

取得 MIP 封裝。

pfnCalcPrivateElementLayoutSize

計算私用專案配置大小。

pfnCreateElementLayout

pfnDestroyElementLayout

終結專案配置。

pfnCalcPrivateBlendStateSize

計算私人混合狀態大小。

pfnCreateBlendState

Create 混合狀態。

pfnDestroyBlendState

終結混合狀態。

pfnCalcPrivateDepthStencilStateSize

計算私人深度樣板狀態大小。

pfnCreateDepthStencilState

Create 深度樣板狀態。

pfnDestroyDepthStencilState

終結深度樣板狀態。

pfnCalcPrivateRasterizerStateSize

計算私人轉譯器狀態大小。

pfnCreateRasterizerState

Create 轉譯器狀態。

pfnDestroyRasterizerState

終結轉譯器狀態。

pfnCalcPrivateShaderSize

計算私人著色器大小。

pfnCreateVertexShader

Create 頂點著色器。

pfnCreatePixelShader

Create 像素著色器。

pfnCreateGeometryShader

Create 幾何著色器。

pfnCreateComputeShader

Create 計算著色器。

pfnCalcPrivateGeometryShaderWithStreamOutput

使用數據流輸出計算私用幾何著色器。

pfnCreateGeometryShaderWithStreamOutput

Create 具有數據流輸出的幾何著色器。

pfnCalcPrivateTessellationShaderSize

計算私人鑲嵌著色器大小。

pfnCreateHullShader

Create 殼層著色器。

pfnCreateDomainShader

Create 網域著色器。

pfnDestroyShader

終結著色器。

pfnCalcPrivateCommandQueueSize

計算私人命令佇列大小。

pfnCreateCommandQueue

Create 命令佇列。

pfnDestroyCommandQueue

終結命令佇列。

pfnCalcPrivateCommandAllocatorSize

計算私用命令配置器大小。

pfnCreateCommandAllocator

Create 命令配置器。

pfnDestroyCommandAllocator

終結命令配置器。

pfnResetCommandAllocator

重設命令配置器。

pfnCalcPrivatePipelineStateSize

計算私人管線狀態大小。

pfnCreatePipelineState

Create 管線狀態。

pfnDestroyPipelineState

pfnCalcPrivateCommandListSize

計算私人命令清單大小。

pfnCreateCommandList

Create 命令清單。

pfnDestroyCommandList

終結命令清單。

pfnCalcPrivateFenceSize

計算私人柵欄大小。

pfnCreateFence

Create 柵欄。

pfnDestroyFence

終結柵欄。

pfnCalcPrivateDescriptorHeapSize

計算私人描述元堆積大小。

pfnCreateDescriptorHeap

Create 描述元堆積。

pfnDestroyDescriptorHeap

終結描述項堆積。

pfnGetDescriptorSizeInBytes

取得以位元組為單位的描述元大小。

pfnGetCPUDescriptorHandleForHeapStart

取得堆積啟動的CPU描述項句柄。

pfnGetGPUDescriptorHandleForHeapStart

取得堆積啟動的 GPU 描述項句柄。

pfnCreateShaderResourceView

Create 著色器資源檢視。

pfnCreateConstantBufferView

Create 常數緩衝區檢視。

pfnCreateSampler

Create 取樣器。

pfnCreateUnorderedAccessView

Create 未排序的存取檢視。

pfnCreateRenderTargetView

Create 轉譯目標檢視。

pfnCreateDepthStencilView

Create 深度樣板檢視。

pfnCalcPrivateRootSignatureSize

計算私人根簽章大小。

pfnCreateRootSignature

Create 根簽章。

pfnDestroyRootSignature

終結根簽章。

pfnMapHeap

對應堆積。

pfnUnmapHeap

取消對應堆積。

pfnCalcPrivateHeapAndResourceSizes

計算私人堆積和資源大小。

pfnCreateHeapAndResource

Create堆積和資源。

pfnDestroyHeapAndResource

終結堆積和資源。

pfnMakeResident

建立常駐。

pfnEvict

驅逐。

pfnCalcPrivateOpenedHeapAndResourceSizes

計算私用開啟的堆積和資源大小。

pfnOpenHeapAndResource

開啟堆積和資源。

pfnCopyDescriptors

複製描述項。

pfnCopyDescriptorsSimple

複製描述項範例。

pfnCalcPrivateQueryHeapSize

計算私人查詢堆積大小。

pfnCreateQueryHeap

Create 查詢堆積。

pfnDestroyQueryHeap

終結查詢堆積。

pfnCalcPrivateCommandSignatureSize

計算私用命令簽章大小。

pfnCreateCommandSignature

Create 命令簽章。

pfnDestroyCommandSignature

終結命令簽章。

pfnCheckResourceVirtualAddress

檢查資源虛擬位址。

pfnCheckResourceAllocationInfo

檢查資源配置資訊。

pfnCheckSubresourceInfo

檢查子資源資訊。

pfnCheckExistingResourceAllocationInfo

檢查現有的資源配置資訊。

pfnOfferResources

提供資源。

pfnReclaimResources

回收資源。

pfnGetImplicitPhysicalAdapterMask

取得隱含的實體配接器遮罩。

pfnGetPresentPrivateDriverDataSize

取得呈現私人驅動程序數據大小。

pfnQueryNodeMap

查詢節點對應。

pfnRetrieveShaderComment

擷取著色器批注。

pfnCheckResourceAllocationHandle

檢查資源配置句柄。

pfnCalcPrivatePipelineLibrarySize

計算私人管線連結庫大小。

pfnCreatePipelineLibrary

Create 管線連結庫。

pfnDestroyPipelineLibrary

終結管線連結庫。

pfnAddPipelineStateToLibrary

將管線狀態新增至連結庫。

pfnCalcSerializedLibrarySize

計算串行化連結庫大小。

pfnSerializeLibrary

串行化連結庫。

pfnGetDebugAllocationInfo

取得偵錯配置資訊。

規格需求

需求
標頭 d3d12umddi.h