D3D12DDI_DEVICE_FUNCS_CORE_0075 结构 (d3d12umddi.h)

D3D12 版本 7 内部版本修订版 5 中提供的核心设备功能。

语法

typedef struct D3D12DDI_DEVICE_FUNCS_CORE_0075 {
  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;
} D3D12DDI_DEVICE_FUNCS_CORE_0075;

成员

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

创建元命令。

pfnDestroyMetaCommand

销毁元命令。

pfnGetMetaCommandRequiredParameterInfo

获取所需的元命令参数信息。

pfnCalcPrivateStateObjectSize

计算专用状态对象大小。

pfnCreateStateObject

创建状态对象。

pfnDestroyStateObject

销毁状态对象。

pfnGetRaytracingAccelerationStructurePrebuildInfo

获取光线跟踪加速结构预生成信息。

pfnCheckDriverMatchingIdentifier

检查驱动程序匹配标识符。

pfnGetShaderIdentifier

获取着色器标识符。

pfnGetShaderStackSize

获取着色器堆栈大小。

pfnGetPipelineStackSize

获取管道堆栈大小。

pfnSetPipelineStackSize

设置管道堆栈大小。

pfnSetBackgroundProcessingMode

设置后台处理模式。

pfnCalcPrivateAddToStateObjectSize

计算专用添加到状态对象的大小。 有关详细信息,请参阅 DirectX 光线跟踪 (DXR) 功能规范

pfnAddToStateObject

添加到状态对象。 有关详细信息,请参阅 DirectX 光线跟踪 (DXR) 功能规范

pfnCreateSamplerFeedbackUnorderedAccessView

创建采样器反馈无序访问视图。 有关详细信息,请参阅 D3D 取样器反馈规范

pfnCreateAmplificationShader

创建放大着色器。 有关详细信息,请参阅 网格着色器规范

pfnCreateMeshShader

创建网格着色器。 有关详细信息,请参阅 网格着色器规范

pfnCalcPrivateMeshShaderSize

计算专用网格着色器大小。 有关详细信息,请参阅 网格着色器规范

要求

要求
最低受支持的客户端 Windows 10 版本 2004
标头 d3d12umddi.h