User-Mode 顯示驅動程式呼叫的 Direct3D 執行時間函式
本主題列出 Microsoft Direct3D 執行時間提供給使用者模式顯示驅動程式的函式。 其中包括 Direct3D 執行時間核心服務存取函式,以及 Direct3D 執行時間版本 10 和 11 函式。 這些函式是操作系統透過 Direct3D 執行時間實作的使用者模式 Direct3D 顯示驅動程式介面的一部分。
Direct3D 執行時間 Kernel-Services 存取函式
Microsoft Direct3D 第 9 版運行時間會透過呼叫使用者模式顯示驅動程式 OpenAdapter 函式中的D3DDDI_ADAPTERCALLBACKS結構成員,提供配接器特定回呼函式的指標。 運行時間會透過呼叫使用者模式顯示驅動程式的 CreateDevice 函式,透過D3DDDI_DEVICECALLBACKS結構的成員,提供指標來顯示裝置特定的回呼函式。
Microsoft Direct3D 10 版或更新版本的運行時間會透過呼叫使用者模式顯示驅動程式的 OpenAdapter10 或 OpenAdapter10_2 函式中的D3DDDI_ADAPTERCALLBACKS結構成員,提供配接器特定回呼函式的指標。 運行時間會透過呼叫使用者模式顯示器驅動程式的 CreateDevice (D3D10 ) 函式,透過D3DDDI_DEVICECALLBACKS結構的成員,提供指標來顯示裝置特定的回呼函式。
- 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
Direct3D 執行時間版本 10 和更新版本核心回呼函式
本節說明 Microsoft Direct3D 10 和更新版本運行時間提供給使用者模式顯示驅動程式的核心回呼函式。 運行時間會透過呼叫使用者模式顯示驅動程式的 CreateDevice (D3D10 ) 函式,透過D3D10DDI_CORELAYER_DEVICECALLBACKS結構的成員,提供核心回呼函式的指標。
Direct3D 運行時間第 10 版控制回呼函式
以下是 Microsoft Direct3D 10 和更新版本運行時間透過 D3D10DDI_CORELAYER_DEVICECALLBACKS 結構提供給使用者模式顯示驅動程式的控制回呼函式清單。
Direct3D 執行時間版本 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 Graphics Infrastructure (Microsoft Direct3D 10 運行時間元件之 DXGI) 元件給使用者模式顯示驅動程式的核心服務。 DXGI 會透過呼叫使用者模式顯示驅動程式的 CreateDevice (D3D10 ) 函式,透過DXGI_DDI_BASE_CALLBACKS結構的成員,提供核心服務存取函式的指標。
- PFNDDXGIDDI_PRESENTCB
- PFNDDXGIDDI_PRESENT_MULTIPLANE_OVERLAYCB
- PFNDDXGIDDI_PRESENT_MULTIPLANE_OVERLAY1C
- PFNDDXGIDDI_SUBMITPRESENTBLTTOHWQUEUECB
- PFNDDXGIDDI_SUBMITPRESENTTOHWQUEUECB
Direct3D 運行時間第 11 版函式
本節說明 Microsoft Direct3D 11 和更新版本運行時間提供給使用者模式顯示驅動程式的核心回呼函式。 運行時間會透過呼叫使用者模式顯示驅動程式的 CreateDevice ( D3D10) 函式,透過D3D11DDI_CORELAYER_DEVICECALLBACKS結構的成員,提供核心回呼函式的指標。
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