Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом разделе перечислены функции, которые среда выполнения Microsoft Direct3D предоставляет драйверу отображения пользовательского режима. К ним относятся функции доступа к функциям ядра среды выполнения Direct3D и функции среды выполнения Direct3D версии 10 и 11. Эти функции являются частью интерфейсов драйвера дисплея Direct3D в пользовательском режиме, которые операционная система реализует через Direct3D Runtime.
Функции доступа среды выполнения Direct3D Kernel-Services
Среда выполнения Microsoft Direct3D версии 9 предоставляет указатели на функции обратного вызова , зависящие от адаптера, через элементы структуры D3DDDI_ADAPTERCALLBACKS в вызове функции OpenAdapter драйвера в пользовательском режиме. The runtime supplies pointers to display device-specific callback functions through members of the D3DDDI_DEVICECALLBACKS structure in a call to the user-mode display driver's CreateDevice function.
Среда выполнения Microsoft Direct3D версии 10 или более поздней предоставляет указатели на функции обратного вызова для адаптера через члены структуры D3DDDI_ADAPTERCALLBACKS в вызове функции OpenAdapter10 или OpenAdapter10_2 драйвера в пространстве пользователя. The runtime supplies pointers to display device-specific callback functions through members of the D3DDDI_DEVICECALLBACKS structure in a call to the user-mode display driver's CreateDevice(D3D10) function.
- PFND3DDDI_ALLOCATECB
- PFND3DDDI_CREATECONTEXTVIRTUALCB
- PFND3DDDI_CREATEHWCONTEXTCB
- PFND3DDDI_CREATEHWQUEUECB
- PFND3DDDI_CREATEOVERLAYCB
- PFND3DDDI_CREATEPAGINGQUEUECB
- PFND3DDDI_CREATESYNCHRONIZATIONOBJECT2CB
- PFND3DDDI_CREATESYNCHRONIZATIONOBJECTCB
- PFND3DDDI_DEALLOCATE2CB
- PFND3DDDI_DEALLOCATECB
- PFND3DDDI_DESTROYCONTEXTCB
- PFND3DDDI_DESTROYHWCONTEXTCB
- PFND3DDDI_DESTROYHWQUEUECB
- PFND3DDDI_DESTROYOVERLAYCB
- PFND3DDDI_DESTROYPAGINGQUEUECB
- PFND3DDDI_DESTROYSYNCHRONIZATIONOBJECTCB
- PFND3DDDI_ESCAPECB
- PFND3DDDI_EVICTCB |
- PFND3DDDI_FLIPOVERLAYCB
- PFND3DDDI_FREEGPUVIRTUALADDRESSCB
- PFND3DDDI_GETMULTISAMPLEMETHODLISTCB
- PFND3DDDI_GETRESOURCEPRESENTPRIVATEDRIVERDATACB
- PFND3DDDI_LOCK2CB
- PFND3DDDI_LOCKCB
- PFND3DDDI_LOGUMDMARKERCB
- PFND3DDDI_MAKERESIDENTCB
- PFND3DDDI_MAPGPUVIRTUALADDRESSCB
- PFND3DDDI_OFFERALLOCATIONS
- PFND3DDDI_OFFERALLOCATIONS2CB
- PFND3DDDI_PRESENTCB
- PFND3DDDI_QUERYADAPTERINFOCB
- PFND3DDDI_QUERYRESIDENCYCB
- PFND3DDDI_RECLAIMALLOCATIONS2CB
- PFND3DDDI_RECLAIMALLOCATIONS3CB
- PFND3DDDI_RECLAIMALLOCATIONSCB
- PFND3DDDI_RENDERCB
- PFND3DDDI_RESERVEGPUVIRTUALADDRESSCB
- PFND3DDDI_SETASYNCCALLBACKSCB
- PFND3DDDI_SETDISPLAYMODECB
- PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB
- PFND3DDDI_SETPRIORITYCB
- PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECT2CB
- PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB
- PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMCPUCB
- PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMGPU2CB
- PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMGPUCB
- PFND3DDDI_SUBMITCOMMANDCB
- PFND3DDDI_SUBMITCOMMANDTOHWQUEUECB
- PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECB
- PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECB
- PFND3DDDI_UNLOCK2CB
- PFND3DDDI_UNLOCKCB
- PFND3DDDI_UPDATEALLOCATIONPROPERTYCB
- PFND3DDDI_UPDATEOVERLAYCB
- PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB
- PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECT2CB
- PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTCB
- PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTFROMCPUCB
- PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTFROMGPUCB
- PFND3DWDDM2_0DDI_DECODEJPEG
- PFND3DWDDM2_0DDI_ENCODEJPEG
Структуры параметров Direct3D
Следующие структуры используются функциями доступа к функциям ядра среды выполнения Direct3D. Драйвер отображения в пользовательском режиме передает указатели на эти структуры в параметрах функций среды выполнения.
- D3DDDI_UPDATEALLOCPROPERTY
- D3DDDICB_ALLOCATE
- D3DDDICB_CREATECONTEXT
- D3DDDICB_CREATECONTEXTVIRTUAL
- D3DDDICB_CREATEHWCONTEXT
- D3DDDICB_CREATEHWQUEUE
- D3DDDICB_CREATEOVERLAY
- D3DDDICB_CREATEPAGINGQUEUE
- D3DDDICB_CREATESYNCHRONIZATIONOBJECT2
- D3DDDICB_CREATESYNCHRONIZATIONOBJECT
- D3DDDICB_DESTROYHWCONTEXT
- D3DDDICB_DESTROYHWQUEUE
- D3DDDICB_DEALLOCATE
- D3DDDICB_DEALLOCATE2
- D3DDDICB_DESTROYCONTEXT
- D3DDDICB_DESTROYOVERLAY
- D3DDDICB_DESTROYSYNCHRONIZATIONOBJECT
- D3DDDICB_ESCAPE
- D3DDDICB_EVICT
- D3DDDICB_FLIPOVERLAY
- D3DDDICB_GETMULTISAMPLEMETHODLIST
- D3DDDICB_LOCK
- D3DDDICB_LOCK2FLAGS
- D3DDDICB_OFFERALLOCATIONS
- D3DDDICB_PRESENT
- D3DDDICB_QUERYADAPTERINFO
- D3DDDICB_QUERYRESIDENCY
- D3DDDICB_RECLAIMALLOCATIONS
- D3DDDICB_RECLAIMALLOCATIONS2
- D3DDDICB_RENDER
- D3DDDICB_SETDISPLAYMODE
- D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT
- D3DDDICB_SETPRIORITY
- D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT
- D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT2
- D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMCPU
- D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMGPU
- D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMGPU2
- D3DDDICB_SUBMITCOMMAND
- D3DDDICB_SUBMITCOMMANDFLAGS
- D3DDDICB_SUBMITCOMMANDTOHWQUEUE
- D3DDDICB_SUBMITSIGNALSYNCOBJECTSTOHWQUEUE
- D3DDDICB_SUBMITWAITFORSYNCOBJECTSTOHWQUEUE
- D3DDDICB_UNLOCK
- D3DDDICB_UNLOCK2
- D3DDDICB_UPDATEGPUVIRTUALADDRESS
- D3DDDICB_UPDATEOVERLAY
- D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT
- D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT2
- D3DDDICB_WAITFORSYNCHRONIZATIONOBJECTFROMCPU
- D3DDDICB_WAITFORSYNCHRONIZATIONOBJECTFROMGPU
Функции Core Callback Direct3D Runtime версии 10 и более поздних версий
В этом разделе описаны основные функции обратного вызова, которые среда выполнения Microsoft Direct3D 10 и более поздних версий предоставляют драйверу отображения пользовательского режима. The runtime supplies pointers to core callback functions through members of the D3D10DDI_CORELAYER_DEVICECALLBACKS structure in a call to the user-mode display driver's CreateDevice(D3D10) function.
Функции обратного вызова управления времени выполнения Direct3D версии 10
Ниже приведен список функций обратного вызова управления, которые среда выполнения Microsoft Direct3D 10 и более поздних версий предоставляют драйверу отображения пользовательского режима через структуру D3D10DDI_CORELAYER_DEVICECALLBACKS.
Функции обратного вызова для Direct3D Runtime версии 10 State-Refresh
Ниже приведен список функций обратного вызова обновления состояния, которые среда выполнения Microsoft Direct3D 10 предоставляет драйверу отображения пользовательского режима через структуру D3D10DDI_CORELAYER_DEVICECALLBACKS.
Так как среда выполнения Direct3D 10 кэширует привязанные объекты состояния для приложений, среда выполнения также кэширует привязанные объекты состояния для драйверов отображения в пользовательском режиме с низкими затратами. Для каждого вызова, который драйвер отображения пользовательского режима выполняет в функцию обратного вызова обновления состояния, среда выполнения Direct3D 10 выполняет соответствующий вызов функции состояния драйвера в одном потоке выполнения перед возвращением в вызывающий код в драйвере. Для повышения производительности функции обратного вызова для обновления состояния не выполняют проверку параметров.
Функции обратного вызова для обновления состояния полезны при разработке драйвера без состояния или создании данных преамбулы буфера команд. Функции обратного вызова для обновления состояния также позволяют драйверу пользовательского режима для отображения воспользоваться высокими пороговыми значениями, которые поддерживает среда выполнения Direct3D 10. Высокие отметки указывают самый большой индекс слота, который может быть не NULL; таким образом, высокие отметки улучшают обходы таких слотов.
- PFND3D10DDI_STATE_GS_CONSTBUF_CB
- PFND3D10DDI_STATE_GS_SAMPLER_CB
- PFND3D10DDI_STATE_GS_SHADER_CB
- PFND3D10DDI_STATE_GS_SRV_CB
- PFND3D10DDI_STATE_IA_INDEXBUF_CB
- PFND3D10DDI_STATE_IA_INPUTLAYOUT_CB
- PFND3D10DDI_STATE_IA_PRIMITIVE_TOPOLOGY_CB
- PFND3D10DDI_STATE_IA_VERTEXBUF_CB
- PFND3D10DDI_STATE_OM_BLENDSTATE_CB
- PFND3D10DDI_STATE_OM_DEPTHSTATE_CB
- PFND3D10DDI_STATE_OM_RENDERTARGETS_CB
- PFND3D10DDI_STATE_PS_CONSTBUF_CB
- PFND3D10DDI_STATE_PS_SAMPLER_CB
- PFND3D10DDI_STATE_PS_SHADER_CB
- PFND3D10DDI_STATE_PS_SRV_CB
- PFND3D10DDI_STATE_RS_RASTSTATE_CB
- PFND3D10DDI_STATE_RS_SCISSOR_CB
- PFND3D10DDI_STATE_RS_VIEWPORTS_CB
- PFND3D10DDI_STATE_SO_TARGETS_CB
- PFND3D10DDI_STATE_TEXTFILTERSIZE_CB
- PFND3D10DDI_STATE_VS_CONSTBUF_CB
- PFND3D10DDI_STATE_VS_SAMPLER_CB
- PFND3D10DDI_STATE_VS_SHADER_CB
- PFND3D10DDI_STATE_VS_SRV_CB
Доступ к функциям среды выполнения Direct3D версии 10 Kernel-Services
В этом разделе перечислены службы ядра, обращающиеся к функциям, которые компонент Инфраструктуры графики DirectX (DXGI) среды выполнения Microsoft Direct3D 10 предоставляет драйверу отображения пользовательского режима. DXGI supplies pointers to kernel-services accessing functions through members of the DXGI_DDI_BASE_CALLBACKS structure in a call to the user-mode display driver's CreateDevice(D3D10) function.
- PFNDDXGIDDI_PRESENTCB
- PFNDDXGIDDI_PRESENT_MULTIPLANE_OVERLAYCB
- PFNDDXGIDDI_PRESENT_MULTIPLANE_OVERLAY1C
- PFNDDXGIDDI_SUBMITPRESENTBLTTOHWQUEUECB
- PFNDDXGIDDI_SUBMITPRESENTTOHWQUEUECB
Функции среды выполнения Direct3D версии 11
В этом разделе описываются основные функции обратного вызова, которые среда выполнения Microsoft Direct3D 11 и более поздних версий предоставляют драйверу отображения в пользовательском режиме. The runtime supplies pointers to core callback functions through members of the D3D11DDI_CORELAYER_DEVICECALLBACKS structure in a call to the user-mode display driver's CreateDevice(D3D10) function.
Функции обратного вызова для версии среды выполнения Direct3D 11
В этом разделе перечислены дополнительные функции обратного вызова управления, которые среда выполнения Microsoft Direct3D 11 и более поздних версий предоставляют драйверу отображения пользовательского режима.
Функции обратного вызова Direct3D версии 11 State-Refresh
В этом разделе перечислены дополнительные функции обратного вызова обновления состояния, которые среда выполнения Microsoft Direct3D версии 11 и более поздних версий предоставляют драйверу отображения пользовательского режима.
Так как среда выполнения Direct3D 11 кэширует привязанные объекты состояния для приложений, среда выполнения также кэширует привязанные объекты состояния для драйверов отображения в пользовательском режиме с низкими затратами. Для каждого вызова, который драйвер отображения пользовательского режима выполняет в функцию обратного вызова обновления состояния, среда выполнения Direct3D 11 выполняет соответствующий вызов функции состояния драйвера в одном потоке выполнения перед возвращением в вызывающий код в драйвере. Для повышения производительности функции обратного вызова для обновления состояния не выполняют проверку параметров.
Функции обратного вызова обновления состояния полезны при попытке разработать драйвер без отслеживания состояния или создать предварительно заданные данные буфера команд. Функции обратного вызова обновления состояния также позволяют драйверу отображения пользовательского режима воспользоваться высокими подложками, которые поддерживает среда выполнения Direct3D 11. Высокие отметки указывают самый большой индекс слота, который может быть не NULL; таким образом, высокие отметки улучшают обходы таких слотов.
- PFND3D11DDI_STATE_CS_CONSTBUF_CB
- PFND3D11DDI_STATE_CS_SAMPLER_CB
- PFND3D11DDI_STATE_CS_SHADER_CB
- PFND3D11DDI_STATE_CS_SRV_CB
- PFND3D11DDI_STATE_CS_UAV_CB
- PFND3D11DDI_STATE_DS_CONSTBUF_CB
- PFND3D11DDI_STATE_DS_SAMPLER_CB
- PFND3D11DDI_STATE_DS_SHADER_CB
- PFND3D11DDI_STATE_DS_SRV_CB
- PFND3D11DDI_STATE_HS_CONSTBUF_CB
- PFND3D11DDI_STATE_HS_SAMPLER_CB
- PFND3D11DDI_STATE_HS_SHADER_CB
- PFND3D11DDI_STATE_HS_SRV_CB
Функции среды выполнения Direct3D версии 12 и более поздних версий
Среды выполнения Microsoft Direct3D 12 и более поздних версий предоставляют драйверу дисплея режима пользователя следующие основные функции обратного вызова.
- PFND3D12DDI_WRITEBUFFERIMMEDIATE_0032
- PFND3D12DDI_VIDEO_PROCESS_FRAME_0032
- PFND3D12DDI_VIDEO_DECODE_FRAME_0032
- PFND3D12DDI_VIDEO_DECODE_FRAME_0030
- PFND3D12DDI_TRANSFORMENCRYPTEDDATA_0030
- PFND3D12DDI_SETVIEWINSTANCEMASK_0033
- PFND3D12DDI_SETPROTECTEDRESOURCESESSION_0030
- PFND3D12DDI_OPENPROTECTEDRESOURCESESSION_0030
- PFND3D12DDI_OPENCRYPTOSESSIONPOLICY_0030
- PFND3D12DDI_OPENCRYPTOSESSION_0030
- PFND3D12DDI_GETKEYBASEDATA_0030
- PFND3D12DDI_DESTROYVIDEODECODERHEAP_0032
- PFND3D12DDI_DESTROYPROTECTEDRESOURCESESSION_0030
- PFND3D12DDI_DESTROYCRYPTOSESSIONPOLICY_0030
- PFND3D12DDI_DESTROYCRYPTOSESSION_0030
- PFND3D12DDI_CREATEVIDEOPROCESSOR_0032
- PFND3D12DDI_CREATEVIDEODECODERHEAP_0033
- PFND3D12DDI_CREATEVIDEODECODERHEAP_0032
- PFND3D12DDI_CREATEVIDEODECODER_0032
- PFND3D12DDI_CREATEPROTECTEDRESOURCESESSION_0030
- PFND3D12DDI_CREATEHEAPANDRESOURCE_0030
- PFND3D12DDI_CREATECRYPTOSESSIONPOLICY_0030
- PFND3D12DDI_CREATECRYPTOSESSION_0030
- PFND3D12DDI_CREATE_PROTECTED_SESSION_CB_0030
- PFND3D12DDI_CREATE_PIPELINE_STATE_0033
- PFND3D12DDI_CALCPRIVATEVIDEOPROCESSORSIZE_0032
- PFND3D12DDI_CALCPRIVATEVIDEODECODERSIZE_0032
- PFND3D12DDI_CALCPRIVATEVIDEODECODERHEAPSIZE_0033
- PFND3D12DDI_CALCPRIVATEVIDEODECODERHEAPSIZE_0032
- PFND3D12DDI_CALCPRIVATEPROTECTEDRESOURCESESSIONSIZE_0030
- PFND3D12DDI_CALCPRIVATEOPENEDPROTECTEDRESOURCESESSIONSIZE_0030
- PFND3D12DDI_CALCPRIVATEOPENEDCRYPTOSESSIONSIZE_0030
- PFND3D12DDI_CALCPRIVATEOPENEDCRYPTOSESSIONPOLICYSIZE_0030
- PFND3D12DDI_CALCPRIVATECRYPTOSESSIONSIZE_0030
- PFND3D12DDI_CALCPRIVATECRYPTOSESSIONPOLICYSIZE_0030
- PFND3D12DDI_CALC_PRIVATE_PIPELINE_STATE_SIZE_0033
- PFND3D12DDI_CREATEVIDEOPROCESSOR_0043
- PFND3D12DDI_DESTROYVIDEODECODERHEAP_0032
- PFND3D12DDI_CREATEVIDEODECODERHEAP_0033
- PFND3D12DDI_CALCPRIVATEVIDEODECODERHEAP
- PFND3D12DDI_DESTROYVIDEODECODER_0021
- PFND3D12DDI_CALCPRIVATEVIDEODECODER
- PFND3D12DDI_ALLOCATE_CB_0022
- PFND3D12DDI_BEGIN_END_QUERY_0003
- PFND3D12DDI_CALCPRIVATECOMMANDQUEUESIZE_0023
- PFND3D12DDI_CALCPRIVATEVIDEODECODERSIZE_0032
- PFND3D12DDI_CALCPRIVATEVIDEOPROCESSORSIZE_0032
- PFND3D12DDI_CHECKRESOURCEALLOCATIONINFO_0022
- PFND3D12DDI_CHECKEXISITINGRESOURCEALLOCATIONINFO_0022
- PFND3D12DDI_CREATE_PIPELINE_STATE_0021
- PFND3D12DDI_CREATECOMMANDQUEUE_0023
- PFND3D12DDI_CREATEVIDEODECODER_0032
- PFND3D12DDI_CREATEVIDEOPROCESSOR_0032
- PFND3D12DDI_DEALLOCATE_CB_0022
- PFND3D12DDI_DESTROYVIDEODECODER_0021
- PFND3D12DDI_DESTROYVIDEOPROCESSOR_0021
- PFND3D12DDI_GETPAGEABLESIZE
- PFND3D12DDI_RESOLVE_QUERY_DATA
- PFND3D12DDI_RESOURCEBARRIER_0022
- PFND3D12DDI_SET_EXTENDED_FEATURE_CALLBACKS_0021
- PFND3D12DDI_SET_PREDICATION
- PFND3D12DDI_SHADERCACHEGETVALUE_CB_0021
- PFND3D12DDI_SHADERCACHESTOREVALUE_CB_0021
- PFND3D12DDI_VIDEO_DECODE_FRAME
- PFND3D12DDI_VIDEO_DECODER_TRIM_ALLOCATIONS
- PFND3D12DDI_VIDEO_GET_DECODE_BITSTREAM_ENCRYPTION_SCHEME_COUNT
- PFND3D12DDI_VIDEO_GET_DECODE_FORMAT_COUNT
- PFND3D12DDI_VIDEO_GET_DECODE_PROFILE_COUNT
- PFND3D12DDI_VIDEO_GETCAPS
- PFND3D12DDI_VIDEO_PROCESS_FRAME_0032
- PFND3D12DDI_VIDEO_PROCESSOR_TRIM_ALLOCATIONS
- PFND3DWDDM2_0DDI_GETRESOURCELAYOUT
- PFND3DWDDM2_2DDI_CALCPRIVATE_SHADERCACHE_SESSION_SIZE
- PFND3DWDDM2_2DDI_CREATE_SHADERCACHE_SESSION
- PFND3DWDDM2_2DDI_DESTROY_SHADERCACHE_SESSION
- PFND3DWDDM2_2DDI_RELOCATEDEVICEFUNCS
- PFND3DWDDM2_2DDI_SET_SHADERCACHE_SESSION
- PFND3DWDDM2_2DDI_SHADERCACHE_ADDREF_RELEASE_CB
- PFND3DWDDM2_2DDI_SHADERCACHE_GET_VALUE
- PFND3DWDDM2_2DDI_SHADERCACHE_STORE_VALUE
See also
Поддержка многопланового наложения
Функции Direct3D, реализованные драйверами отображения в пользовательском режиме