Share via


D3D12DDI_DEVICE_FUNCS_CORE_0080 結構 (d3d12umddi.h)

D3D12 第 8 版 8 版 0 中可用的核心裝置功能。

語法

typedef struct D3D12DDI_DEVICE_FUNCS_CORE_0080 {
  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_0075                     pfnCalcPrivateHeapAndResourceSizes;
  PFND3D12DDI_CREATEHEAPANDRESOURCE_0075                               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_0075                         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_0080;

成員

pfnCheckFormatSupport

檢查格式支援。

pfnCheckMultisampleQualityLevels

檢查多個樣本質量等級。

pfnGetMipPacking

取得 MIP 封裝。

pfnCalcPrivateElementLayoutSize

計算私用專案配置大小。

pfnCreateElementLayout

建立專案配置。

pfnDestroyElementLayout

終結專案配置。

pfnCalcPrivateBlendStateSize

計算私人混合狀態大小。

pfnCreateBlendState

建立混合狀態。

pfnDestroyBlendState

終結混合狀態。

pfnCalcPrivateDepthStencilStateSize

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

pfnCreateDepthStencilState

建立深度樣板狀態。

pfnDestroyDepthStencilState

終結深度樣板狀態。

pfnCalcPrivateRasterizerStateSize

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

pfnCreateRasterizerState

建立轉譯器狀態。

pfnDestroyRasterizerState

終結轉譯器狀態。

pfnCalcPrivateShaderSize

計算私人著色器大小。

pfnCreateVertexShader

建立頂點著色器。

pfnCreatePixelShader

建立圖元著色器。

pfnCreateGeometryShader

建立幾何著色器。

pfnCreateComputeShader

建立計算著色器。

pfnCalcPrivateGeometryShaderWithStreamOutput

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

pfnCreateGeometryShaderWithStreamOutput

使用數據流輸出建立幾何著色器。

pfnCalcPrivateTessellationShaderSize

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

pfnCreateHullShader

建立殼層著色器。

pfnCreateDomainShader

建立網域著色器。

pfnDestroyShader

終結著色器。

pfnCalcPrivateCommandQueueSize

計算私人命令佇列大小。

pfnCreateCommandQueue

建立命令佇列。

pfnDestroyCommandQueue

終結命令佇列。

pfnCalcPrivateCommandPoolSize

計算私人命令集區大小。

pfnCreateCommandPool

建立命令集區。

pfnDestroyCommandPool

終結命令集區。

pfnResetCommandPool

重設命令集區。

pfnCalcPrivatePipelineStateSize

計算私人管線狀態大小。

pfnCreatePipelineState

建立管線狀態。

pfnDestroyPipelineState

終結管線狀態。

pfnCalcPrivateCommandListSize

計算私人命令清單大小。

pfnCreateCommandList

建立命令清單。

pfnDestroyCommandList

終結命令清單。

pfnCalcPrivateFenceSize

計算私人柵欄大小。

pfnCreateFence

建立柵欄。

pfnDestroyFence

終結柵欄。

pfnCalcPrivateDescriptorHeapSize

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

pfnCreateDescriptorHeap

建立描述元堆積。

pfnDestroyDescriptorHeap

終結描述項堆積。

pfnGetDescriptorSizeInBytes

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

pfnGetCPUDescriptorHandleForHeapStart

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

pfnGetGPUDescriptorHandleForHeapStart

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

pfnCreateShaderResourceView

建立著色器資源檢視。

pfnCreateConstantBufferView

建立常數緩衝區檢視。

pfnCreateSampler

建立取樣器。

pfnCreateUnorderedAccessView

建立未排序的存取檢視。

pfnCreateRenderTargetView

建立轉譯目標檢視。

pfnCreateDepthStencilView

建立深度樣板檢視。

pfnCalcPrivateRootSignatureSize

計算私人根簽章大小。

pfnCreateRootSignature

建立根簽章。

pfnDestroyRootSignature

終結根簽章。

pfnMapHeap

對應堆積。

pfnUnmapHeap

取消對應堆積。

pfnCalcPrivateHeapAndResourceSizes

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

pfnCreateHeapAndResource

建立堆積和資源。

pfnDestroyHeapAndResource

終結堆積和資源。

pfnMakeResident

建立常駐。

pfnEvict

驅逐。

pfnCalcPrivateOpenedHeapAndResourceSizes

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

pfnOpenHeapAndResource

開啟堆積和資源。

pfnCopyDescriptors

複製描述項。

pfnCopyDescriptorsSimple

複製描述項範例。

pfnCalcPrivateQueryHeapSize

計算私人查詢堆積大小。

pfnCreateQueryHeap

建立查詢堆積。

pfnDestroyQueryHeap

終結查詢堆積。

pfnCalcPrivateCommandSignatureSize

計算私用命令簽章大小。

pfnCreateCommandSignature

建立命令簽章。

pfnDestroyCommandSignature

終結命令簽章。

pfnCheckResourceVirtualAddress

檢查資源虛擬位址。

pfnCheckResourceAllocationInfo

檢查資源配置資訊。

pfnCheckSubresourceInfo

檢查子資源資訊。

pfnCheckExistingResourceAllocationInfo

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

pfnOfferResources

提供資源。

pfnReclaimResources

回收資源。

pfnGetImplicitPhysicalAdapterMask

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

pfnGetPresentPrivateDriverDataSize

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

pfnQueryNodeMap

查詢節點對應。

pfnRetrieveShaderComment

擷取著色器批注。

pfnCheckResourceAllocationHandle

檢查資源配置句柄。

pfnCalcPrivatePipelineLibrarySize

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

pfnCreatePipelineLibrary

建立管線連結庫。

pfnDestroyPipelineLibrary

終結管線連結庫。

pfnAddPipelineStateToLibrary

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

pfnCalcSerializedLibrarySize

計算串行化連結庫大小。

pfnSerializeLibrary

串行化連結庫。

pfnGetDebugAllocationInfo

取得偵錯配置資訊。

pfnCalcPrivateCommandRecorderSize

計算私人命令錄製器大小。

pfnCreateCommandRecorder

建立命令錄製器。

pfnDestroyCommandRecorder

終結命令錄製器。

pfnCommandRecorderSetCommandPoolAsTarget

將命令集區設定為命令錄製器的目標。

pfnCalcPrivateSchedulingGroupSize

計算私人排程群組大小。

pfnCreateSchedulingGroup

建立排程群組。

pfnDestroySchedulingGroup

終結排程群組。

pfnEnumerateMetaCommands

列舉中繼命令。

pfnEnumerateMetaCommandParameters

列舉中繼命令參數。

pfnCalcPrivateMetaCommandSize

計算私人中繼命令大小。

pfnCreateMetaCommand

建立 meta-command。

pfnDestroyMetaCommand

終結 meta-command。

pfnGetMetaCommandRequiredParameterInfo

取得必要的中繼命令參數資訊。

pfnCalcPrivateStateObjectSize

計算私人狀態物件大小。

pfnCreateStateObject

建立狀態物件。

pfnDestroyStateObject

終結狀態物件。

pfnGetRaytracingAccelerationStructurePrebuildInfo

取得光線追蹤加速結構預先建置資訊。

pfnCheckDriverMatchingIdentifier

檢查驅動程式比對標識碼。

pfnGetShaderIdentifier

取得著色器標識碼。

pfnGetShaderStackSize

取得著色器堆疊大小。

pfnGetPipelineStackSize

取得管線堆疊大小。

pfnSetPipelineStackSize

設定管線堆疊大小。

pfnSetBackgroundProcessingMode

設定背景處理模式。

pfnCalcPrivateAddToStateObjectSize

計算私用新增至狀態物件大小。 如需詳細資訊,請參閱 DirectX Raytracing (DXR) 功能規格

pfnAddToStateObject

新增至狀態物件。 如需詳細資訊,請參閱 DirectX Raytracing (DXR) 功能規格

pfnCreateSamplerFeedbackUnorderedAccessView

建立取樣器意見反應未排序的存取檢視。 如需詳細資訊,請參閱 D3D 取樣器意見反應規格

pfnCreateAmplificationShader

建立放大著色器。 如需詳細資訊,請參閱 網格著色器規格

pfnCreateMeshShader

建立網格著色器。 如需詳細資訊,請參閱 網格著色器規格

pfnCalcPrivateMeshShaderSize

計算私人網格著色器大小。 如需詳細資訊,請參閱 網格著色器規格

pfnImplicitShaderCacheControl

隱含著色器快取控件 的PFND3D12DDI_IMPLICITSHADERCACHECONTROL_0080 回呼函式。 如需詳細資訊,請參閱 D3D12 著色器快取 API 規格

規格需求

需求
最低支援的伺服器 Windows Server 2022
標頭 d3d12umddi.h