Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico lista as funções que o runtime do Microsoft Direct3D fornece ao driver de exibição do modo de usuário. Elas incluem as funções de acesso aos serviços de kernel do runtime do Direct3D, assim como as funções do runtime do Direct3D versões 10 e 11. Essas funções fazem parte das interfaces de driver de exibição do Direct3D no modo de usuário que o sistema operacional implementa por meio do runtime do Direct3D.
Direct3D Runtime Kernel-Services Acesso às Funções
O runtime do Microsoft Direct3D versão 9 fornece ponteiros para funções de retorno de chamada específicas do adaptador por meio de membros da estrutura D3DDDI_ADAPTERCALLBACKS em uma chamada para a função OpenAdapter do driver de exibição no modo de usuário. 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.
O tempo de execução do Microsoft Direct3D versão 10 ou posterior fornece ponteiros para funções de retorno de chamada específicas do adaptador, por meio dos membros da estrutura D3DDDI_ADAPTERCALLBACKS, ao chamar a função OpenAdapter10 ou OpenAdapter10_2 do driver de exibição no modo de usuário. 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
Estruturas de parâmetro Direct3D
As estruturas a seguir são usadas por funções que acessam os serviços de núcleo no tempo de execução do Direct3D. O driver de exibição do modo de usuário passa ponteiros para essas estruturas em parâmetros das funções de runtime.
- 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
Funções principais de retorno de chamada do Direct3D Runtime versão 10 ou posterior
Esta seção descreve as principais funções de retorno de chamada que o Microsoft Direct3D 10 e os runtimes posteriores fornecem ao driver de exibição do modo de usuário. 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.
Funções de retorno de chamada de controle do Direct3D Runtime versão 10
A seguir está uma lista de funções de retorno de chamada de controle que o Microsoft Direct3D 10 e os runtimes posteriores fornecem ao driver de exibição em modo de usuário por meio da estrutura D3D10DDI_CORELAYER_DEVICECALLBACKS.
Direct3D Runtime versão 10 Funções de Callback State-Refresh
A seguir está uma lista das funções de retorno de chamada de atualização de estado que o tempo de execução do Microsoft Direct3D 10 fornece ao driver de exibição em modo de usuário através da estrutura D3D10DDI_CORELAYER_DEVICECALLBACKS.
Como o runtime do Direct3D 10 armazena em cache os objetos de estado atualmente associados para aplicativos, o runtime também armazena em cache os objetos de estado atualmente associados para drivers de exibição em modo usuário com baixa sobrecarga. Para cada chamada que o driver de exibição em modo de usuário faz para uma função de retorno de atualização do estado, o tempo de execução do Direct3D 10 faz uma chamada correspondente para uma função de estado de driver na mesma thread de execução antes de retornar ao código chamador no driver. Para otimizar o desempenho, as funções de callback para atualização de estado não realizam validação de parâmetros.
As funções de callback de atualização de estado são úteis quando você está tentando desenvolver um driver sem estado ou estabelecer dados de preâmbulo do buffer de comando. As funções de retorno de chamada de atualização de estado também permitem que o driver de exibição do modo de usuário se beneficie de limites superiores que o tempo de execução do Direct3D 10 mantém. Marcas d'água altas indicam o maior índice de slot, que pode ser não nulo; portanto, marcas d'água altas melhoram os percursos por tais slots.
- 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 Runtime versão 10 Kernel-Services acessando funções
Esta seção lista as funções de acesso de serviços de kernel que o componente DXGI (Infraestrutura Gráfica DirectX) do runtime do Microsoft Direct3D 10 fornece para o driver de exibição no modo de usuário. 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
Funções do Direct3D Runtime versão 11
Esta seção descreve as principais funções de retorno de chamada que o Microsoft Direct3D 11 e os runtimes posteriores fornecem ao driver de exibição do modo de usuário. 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.
Funções de retorno de chamada de controle do Direct3D Runtime versão 11
Esta seção lista as funções de retorno de chamada de controle adicionais que o Microsoft Direct3D 11 e os runtimes posteriores fornecem para o driver de exibição no modo de usuário.
Direct3D Runtime Versão 11 State-Refresh Funções de Callback
Esta seção lista as funções adicionais de retorno de chamada de atualização de estado que o Microsoft Direct3D versão 11 e os runtimes posteriores fornecem ao driver de exibição em modo de usuário.
Como o runtime do Direct3D 11 armazena em cache os objetos de estado atualmente vinculados para aplicativos, ele também armazena em cache os objetos de estado atualmente vinculados para drivers de exibição em modo de usuário, com uma sobrecarga baixa. Para cada chamada que o driver de exibição em modo de usuário faz para uma função de callback de atualização de estado, o tempo de execução do Direct3D 11 realiza uma chamada correspondente para uma função de estado do driver na mesma thread de execução antes de retornar ao código de chamada no driver. Para otimizar o desempenho, as funções de callback para atualização de estado não realizam validação de parâmetros.
As funções de retorno de chamada de atualização de estado são úteis quando você tenta desenvolver um driver sem estado ou compilar dados preâmbulos do buffer de comando. As funções de retorno de chamada de atualização de estado também permitem que o driver de exibição em modo usuário se beneficie de patamares altos que o tempo de execução do Direct3D 11 mantém. Marcas d'água altas indicam o maior índice de slot, que pode ser não nulo; portanto, marcas d'água altas melhoram os percursos por tais slots.
- 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 Runtime Versão 12 e Funções Posteriores
Os runtimes do Microsoft Direct3D 12 e versões posteriores fornecem as seguintes funções principais de callback para o driver de exibição em modo de usuário.
- 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
Suporte à sobreposição de vários planos
Funções Direct3D implementadas por meio de drivers de exibição em modo usuário