структура D3D12DDI_DEVICE_FUNCS_CORE_0073 (d3d12umddi.h)
Основные функции устройства, доступные в D3D12, выпуск 7, сборка версии 3.
Синтаксис
typedef struct D3D12DDI_DEVICE_FUNCS_CORE_0073 {
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_0033 pfnCalcPrivatePipelineStateSize;
PFND3D12DDI_CREATE_PIPELINE_STATE_0033 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_0073 pfnCalcPrivateHeapAndResourceSizes;
PFND3D12DDI_CREATEHEAPANDRESOURCE_0073 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_0073 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_0073 pfnCreateSamplerFeedbackUnorderedAccessView;
} D3D12DDI_DEVICE_FUNCS_CORE_0073;
Члены
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
Отмена сопоставления кучи.
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 Raytracing (DXR).
pfnAddToStateObject
Добавить в объект состояния. Дополнительные сведения см. в разделе Функциональная спецификация DirectX Raytracing (DXR).
pfnCreateSamplerFeedbackUnorderedAccessView
Создание неупорядоченного представления доступа с отзывом о выборке. Дополнительные сведения см. в спецификации обратной связи D3D Sampler .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 2004 |
Верхняя часть | d3d12umddi.h |