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 |