структура D3D12DDI_DEVICE_FUNCS_CORE_0080 (d3d12umddi.h)
Основные функции устройств, доступные в D3D12, выпуск 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
Получение дескриптора ЦП для запуска кучи.
pfnGetGPUDescriptorHandleForHeapStart
Получение дескриптора GPU для запуска кучи.
pfnCreateShaderResourceView
Создание представления ресурсов шейдера.
pfnCreateConstantBufferView
Создание представления буфера констант.
pfnCreateSampler
Создание семплировщика.
pfnCreateUnorderedAccessView
Создание неупорядоченного представления доступа.
pfnCreateRenderTargetView
Создание целевого представления отрисовки.
pfnCreateDepthStencilView
Создание представления элементов глубины.
pfnCalcPrivateRootSignatureSize
Вычисление размера сигнатуры частного корневого каталога.
pfnCreateRootSignature
Создайте корневую сигнатуру.
pfnDestroyRootSignature
Уничтожение корневой подписи.
pfnMapHeap
Куча карт.
pfnUnmapHeap
Unmap куча.
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
Средство записи команд Destroy.
pfnCommandRecorderSetCommandPoolAsTarget
Задайте пул команд в качестве целевого объекта для средства записи команд.
pfnCalcPrivateSchedulingGroupSize
Вычисление размера частной группы планирования.
pfnCreateSchedulingGroup
Создание группы планирования.
pfnDestroySchedulingGroup
Уничтожить группу планирования.
pfnEnumerateMetaCommands
Перечисление метакоманд.
pfnEnumerateMetaCommandParameters
Перечисление параметров метакоманд.
pfnCalcPrivateMetaCommandSize
Вычисление размера частных метакоманд.
pfnCreateMetaCommand
Создание метакоманд.
pfnDestroyMetaCommand
Уничтожить метакоманд.
pfnGetMetaCommandRequiredParameterInfo
Получение необходимых параметров метакоманд.
pfnCalcPrivateStateObjectSize
Вычисление размера частного объекта состояния.
pfnCreateStateObject
Создание объекта состояния.
pfnDestroyStateObject
Уничтожение объекта состояния.
pfnGetRaytracingAccelerationStructurePrebuildInfo
Получение сведений о структуре ускорения трассировки лучей перед сборкой.
pfnCheckDriverMatchingIdentifier
Проверьте соответствующий идентификатор драйвера.
pfnGetShaderIdentifier
Получение идентификатора шейдера.
pfnGetShaderStackSize
Получение размера стека шейдера.
pfnGetPipelineStackSize
Получение размера стека конвейера.
pfnSetPipelineStackSize
Задайте размер стека конвейера.
pfnSetBackgroundProcessingMode
Задает режим фоновой обработки.
pfnCalcPrivateAddToStateObjectSize
Вычисление частного добавления к размеру объекта состояния. Дополнительные сведения см. в разделе Функциональная спецификация DirectX Raytracing (DXR).
pfnAddToStateObject
Добавьте в объект состояния. Дополнительные сведения см. в разделе Функциональная спецификация DirectX Raytracing (DXR).
pfnCreateSamplerFeedbackUnorderedAccessView
Создание представления неупорядоченного доступа для обратной связи с выборкой. Дополнительные сведения см. в спецификации обратной связи D3D Sampler .
pfnCreateAmplificationShader
Создание шейдера ампликации. Дополнительные сведения см. в разделе Спецификация шейдера сетки .
pfnCreateMeshShader
Создание шейдера сетки. Дополнительные сведения см. в разделе Спецификация шейдера сетки .
pfnCalcPrivateMeshShaderSize
Вычисление размера частного шейдера сетки. Дополнительные сведения см. в разделе Спецификация шейдера сетки .
pfnImplicitShaderCacheControl
Функция обратного вызова PFND3D12DDI_IMPLICITSHADERCACHECONTROL_0080 для элемента управления кэшем неявного шейдера. Дополнительные сведения см. в спецификации API кэша шейдеров D3D12 .
Требования
Требование | Значение |
---|---|
Минимальная версия сервера | Windows Server 2022 |
Верхняя часть | d3d12umddi.h |