Partager via


D3D10DDI_DEVICEFUNCS structure (d3d10umddi.h)

La structure D3D10DDI_DEVICEFUNCS contient des fonctions que le pilote d’affichage en mode utilisateur peut implémenter pour afficher des primitives graphiques et traiter les modifications d’état.

Syntaxe

typedef struct D3D10DDI_DEVICEFUNCS {
  PFND3D10DDI_RESOURCEUPDATESUBRESOURCEUP               pfnDefaultConstantBufferUpdateSubresourceUP;
  PFND3D10DDI_SETCONSTANTBUFFERS                        pfnVsSetConstantBuffers;
  PFND3D10DDI_SETSHADERRESOURCES                        pfnPsSetShaderResources;
  PFND3D10DDI_SETSHADER                                 pfnPsSetShader;
  PFND3D10DDI_SETSAMPLERS                               pfnPsSetSamplers;
  PFND3D10DDI_SETSHADER                                 pfnVsSetShader;
  PFND3D10DDI_DRAWINDEXED                               pfnDrawIndexed;
  PFND3D10DDI_DRAW                                      pfnDraw;
  PFND3D10DDI_RESOURCEMAP                               pfnDynamicIABufferMapNoOverwrite;
  PFND3D10DDI_RESOURCEUNMAP                             pfnDynamicIABufferUnmap;
  PFND3D10DDI_RESOURCEMAP                               pfnDynamicConstantBufferMapDiscard;
  PFND3D10DDI_RESOURCEMAP                               pfnDynamicIABufferMapDiscard;
  PFND3D10DDI_RESOURCEUNMAP                             pfnDynamicConstantBufferUnmap;
  PFND3D10DDI_SETCONSTANTBUFFERS                        pfnPsSetConstantBuffers;
  PFND3D10DDI_SETINPUTLAYOUT                            pfnIaSetInputLayout;
  PFND3D10DDI_IA_SETVERTEXBUFFERS                       pfnIaSetVertexBuffers;
  PFND3D10DDI_IA_SETINDEXBUFFER                         pfnIaSetIndexBuffer;
  PFND3D10DDI_DRAWINDEXEDINSTANCED                      pfnDrawIndexedInstanced;
  PFND3D10DDI_DRAWINSTANCED                             pfnDrawInstanced;
  PFND3D10DDI_RESOURCEMAP                               pfnDynamicResourceMapDiscard;
  PFND3D10DDI_RESOURCEUNMAP                             pfnDynamicResourceUnmap;
  PFND3D10DDI_SETCONSTANTBUFFERS                        pfnGsSetConstantBuffers;
  PFND3D10DDI_SETSHADER                                 pfnGsSetShader;
  PFND3D10DDI_IA_SETTOPOLOGY                            pfnIaSetTopology;
  PFND3D10DDI_RESOURCEMAP                               pfnStagingResourceMap;
  PFND3D10DDI_RESOURCEUNMAP                             pfnStagingResourceUnmap;
  PFND3D10DDI_SETSHADERRESOURCES                        pfnVsSetShaderResources;
  PFND3D10DDI_SETSAMPLERS                               pfnVsSetSamplers;
  PFND3D10DDI_SETSHADERRESOURCES                        pfnGsSetShaderResources;
  PFND3D10DDI_SETSAMPLERS                               pfnGsSetSamplers;
  PFND3D10DDI_SETRENDERTARGETS                          pfnSetRenderTargets;
  PFND3D10DDI_SHADERRESOURCEVIEWREADAFTERWRITEHAZARD    pfnShaderResourceViewReadAfterWriteHazard;
  PFND3D10DDI_RESOURCEREADAFTERWRITEHAZARD              pfnResourceReadAfterWriteHazard;
  PFND3D10DDI_SETBLENDSTATE                             pfnSetBlendState;
  PFND3D10DDI_SETDEPTHSTENCILSTATE                      pfnSetDepthStencilState;
  PFND3D10DDI_SETRASTERIZERSTATE                        pfnSetRasterizerState;
  PFND3D10DDI_QUERYEND                                  pfnQueryEnd;
  PFND3D10DDI_QUERYBEGIN                                pfnQueryBegin;
  PFND3D10DDI_RESOURCECOPYREGION                        pfnResourceCopyRegion;
  PFND3D10DDI_RESOURCEUPDATESUBRESOURCEUP               pfnResourceUpdateSubresourceUP;
  PFND3D10DDI_SO_SETTARGETS                             pfnSoSetTargets;
  PFND3D10DDI_DRAWAUTO                                  pfnDrawAuto;
  PFND3D10DDI_SETVIEWPORTS                              pfnSetViewports;
  PFND3D10DDI_SETSCISSORRECTS                           pfnSetScissorRects;
  PFND3D10DDI_CLEARRENDERTARGETVIEW                     pfnClearRenderTargetView;
  PFND3D10DDI_CLEARDEPTHSTENCILVIEW                     pfnClearDepthStencilView;
  PFND3D10DDI_SETPREDICATION                            pfnSetPredication;
  PFND3D10DDI_QUERYGETDATA                              pfnQueryGetData;
  PFND3D10DDI_FLUSH                                     pfnFlush;
  PFND3D10DDI_GENMIPS                                   pfnGenMips;
  PFND3D10DDI_RESOURCECOPY                              pfnResourceCopy;
  PFND3D10DDI_RESOURCERESOLVESUBRESOURCE                pfnResourceResolveSubresource;
  PFND3D10DDI_RESOURCEMAP                               pfnResourceMap;
  PFND3D10DDI_RESOURCEUNMAP                             pfnResourceUnmap;
  PFND3D10DDI_RESOURCEISSTAGINGBUSY                     pfnResourceIsStagingBusy;
  PFND3D10DDI_RELOCATEDEVICEFUNCS                       pfnRelocateDeviceFuncs;
  PFND3D10DDI_CALCPRIVATERESOURCESIZE                   pfnCalcPrivateResourceSize;
  PFND3D10DDI_CALCPRIVATEOPENEDRESOURCESIZE             pfnCalcPrivateOpenedResourceSize;
  PFND3D10DDI_CREATERESOURCE                            pfnCreateResource;
  PFND3D10DDI_OPENRESOURCE                              pfnOpenResource;
  PFND3D10DDI_DESTROYRESOURCE                           pfnDestroyResource;
  PFND3D10DDI_CALCPRIVATESHADERRESOURCEVIEWSIZE         pfnCalcPrivateShaderResourceViewSize;
  PFND3D10DDI_CREATESHADERRESOURCEVIEW                  pfnCreateShaderResourceView;
  PFND3D10DDI_DESTROYSHADERRESOURCEVIEW                 pfnDestroyShaderResourceView;
  PFND3D10DDI_CALCPRIVATERENDERTARGETVIEWSIZE           pfnCalcPrivateRenderTargetViewSize;
  PFND3D10DDI_CREATERENDERTARGETVIEW                    pfnCreateRenderTargetView;
  PFND3D10DDI_DESTROYRENDERTARGETVIEW                   pfnDestroyRenderTargetView;
  PFND3D10DDI_CALCPRIVATEDEPTHSTENCILVIEWSIZE           pfnCalcPrivateDepthStencilViewSize;
  PFND3D10DDI_CREATEDEPTHSTENCILVIEW                    pfnCreateDepthStencilView;
  PFND3D10DDI_DESTROYDEPTHSTENCILVIEW                   pfnDestroyDepthStencilView;
  PFND3D10DDI_CALCPRIVATEELEMENTLAYOUTSIZE              pfnCalcPrivateElementLayoutSize;
  PFND3D10DDI_CREATEELEMENTLAYOUT                       pfnCreateElementLayout;
  PFND3D10DDI_DESTROYELEMENTLAYOUT                      pfnDestroyElementLayout;
  PFND3D10DDI_CALCPRIVATEBLENDSTATESIZE                 pfnCalcPrivateBlendStateSize;
  PFND3D10DDI_CREATEBLENDSTATE                          pfnCreateBlendState;
  PFND3D10DDI_DESTROYBLENDSTATE                         pfnDestroyBlendState;
  PFND3D10DDI_CALCPRIVATEDEPTHSTENCILSTATESIZE          pfnCalcPrivateDepthStencilStateSize;
  PFND3D10DDI_CREATEDEPTHSTENCILSTATE                   pfnCreateDepthStencilState;
  PFND3D10DDI_DESTROYDEPTHSTENCILSTATE                  pfnDestroyDepthStencilState;
  PFND3D10DDI_CALCPRIVATERASTERIZERSTATESIZE            pfnCalcPrivateRasterizerStateSize;
  PFND3D10DDI_CREATERASTERIZERSTATE                     pfnCreateRasterizerState;
  PFND3D10DDI_DESTROYRASTERIZERSTATE                    pfnDestroyRasterizerState;
  PFND3D10DDI_CALCPRIVATESHADERSIZE                     pfnCalcPrivateShaderSize;
  PFND3D10DDI_CREATEVERTEXSHADER                        pfnCreateVertexShader;
  PFND3D10DDI_CREATEGEOMETRYSHADER                      pfnCreateGeometryShader;
  PFND3D10DDI_CREATEPIXELSHADER                         pfnCreatePixelShader;
  PFND3D10DDI_CALCPRIVATEGEOMETRYSHADERWITHSTREAMOUTPUT pfnCalcPrivateGeometryShaderWithStreamOutput;
  PFND3D10DDI_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT      pfnCreateGeometryShaderWithStreamOutput;
  PFND3D10DDI_DESTROYSHADER                             pfnDestroyShader;
  PFND3D10DDI_CALCPRIVATESAMPLERSIZE                    pfnCalcPrivateSamplerSize;
  PFND3D10DDI_CREATESAMPLER                             pfnCreateSampler;
  PFND3D10DDI_DESTROYSAMPLER                            pfnDestroySampler;
  PFND3D10DDI_CALCPRIVATEQUERYSIZE                      pfnCalcPrivateQuerySize;
  PFND3D10DDI_CREATEQUERY                               pfnCreateQuery;
  PFND3D10DDI_DESTROYQUERY                              pfnDestroyQuery;
  PFND3D10DDI_CHECKFORMATSUPPORT                        pfnCheckFormatSupport;
  PFND3D10DDI_CHECKMULTISAMPLEQUALITYLEVELS             pfnCheckMultisampleQualityLevels;
  PFND3D10DDI_CHECKCOUNTERINFO                          pfnCheckCounterInfo;
  PFND3D10DDI_CHECKCOUNTER                              pfnCheckCounter;
  PFND3D10DDI_DESTROYDEVICE                             pfnDestroyDevice;
  PFND3D10DDI_SETTEXTFILTERSIZE                         pfnSetTextFilterSize;
  PFND3D10DDI_RESETPRIMITIVEID                          pfnResetPrimitiveID;
  PFND3D10DDI_SETVERTEXPIPELINEOUTPUT                   pfnSetVertexPipelineOutput;
} D3D10DDI_DEVICEFUNCS;

Membres

pfnDefaultConstantBufferUpdateSubresourceUP

Pointeur vers la fonction DefaultConstantBufferUpdateSubresourceUP du pilote.

pfnVsSetConstantBuffers

Pointeur vers la fonction VsSetConstantBuffers du pilote.

pfnPsSetShaderResources

Pointeur vers la fonction PsSetShaderResources du pilote.

pfnPsSetShader

Pointeur vers la fonction PsSetShader du pilote.

pfnPsSetSamplers

Pointeur vers la fonction PsSetSamplers du pilote.

pfnVsSetShader

Pointeur vers la fonction VsSetShader du pilote.

pfnDrawIndexed

Pointeur vers la fonction DrawIndexed du pilote.

pfnDraw

Pointeur vers la fonction Draw du pilote.

pfnDynamicIABufferMapNoOverwrite

Pointeur vers la fonction ResourceMap du pilote. Pour plus d’informations sur l’implémentation d’une fonction DynamicIABufferMapNoOverwrite distincte ou pour pointer vers le ResourceMap polyvalent, consultez la section Notes de ResourceMap.

pfnDynamicIABufferUnmap

Pointeur vers la fonction ResourceUnmap du pilote. Pour plus d’informations sur l’implémentation d’une fonction DynamicIABufferUnmap distincte ou le pointage vers le ResourceUnmap à usage multiple, consultez la section Remarques de ResourceMap.

pfnDynamicConstantBufferMapDiscard

Pointeur vers la fonction ResourceMap du pilote. Pour plus d’informations sur l’implémentation d’une fonction DynamicConstantBufferMapDiscard distincte ou pour pointer vers le ResourceMap à usage multiple, consultez la section Remarques de ResourceMap.

pfnDynamicIABufferMapDiscard

Pointeur vers la fonction ResourceMap du pilote. Pour plus d’informations sur l’implémentation d’une fonction DynamicIABufferMapDiscard distincte ou pour pointer vers le ResourceMap à usage multiple, consultez la section Remarques de ResourceMap.

pfnDynamicConstantBufferUnmap

Pointeur vers la fonction ResourceUnmap du pilote. Pour plus d’informations sur l’implémentation d’une fonction DynamicConstantBufferUnmap distincte ou pour pointer vers le ResourceUnmap à usage multiple, consultez la section Remarques de ResourceMap.

pfnPsSetConstantBuffers

Pointeur vers la fonction PsSetConstantBuffers du pilote.

pfnIaSetInputLayout

Pointeur vers la fonction IaSetInputLayout du pilote.

pfnIaSetVertexBuffers

Pointeur vers la fonction IaSetVertexBuffers du pilote.

pfnIaSetIndexBuffer

Pointeur vers la fonction IaSetIndexBuffer du pilote.

pfnDrawIndexedInstanced

Pointeur vers la fonction DrawIndexedInstanced du pilote.

pfnDrawInstanced

Pointeur vers la fonction DrawInstanced du pilote.

pfnDynamicResourceMapDiscard

Pointeur vers la fonction ResourceMap du pilote. Pour plus d’informations sur l’implémentation d’une fonction DynamicResourceMapDiscard distincte ou le pointage vers le ResourceMap à usage multiple, consultez la section Remarques de ResourceMap.

pfnDynamicResourceUnmap

Pointeur vers la fonction ResourceUnmap du pilote. Pour plus d’informations sur l’implémentation d’une fonction DynamicResourceUnmap distincte ou le pointage vers le ResourceUnmap polyvalent, consultez la section Remarques de ResourceUnmap.

pfnGsSetConstantBuffers

Pointeur vers la fonction GsSetConstantBuffers du pilote.

pfnGsSetShader

Pointeur vers la fonction GsSetShader du pilote.

pfnIaSetTopology

Pointeur vers la fonction IaSetTopology du pilote.

pfnStagingResourceMap

Pointeur vers la fonction ResourceMap du pilote. Pour plus d’informations sur l’implémentation d’une fonction StagingResourceMap distincte ou le pointage vers le ResourceMap polyvalent, consultez la section Remarques de ResourceMap.

pfnStagingResourceUnmap

Pointeur vers la fonction ResourceUnmap du pilote. Pour plus d’informations sur l’implémentation d’une fonction StagingResourceUnmap distincte ou le pointage vers le ResourceUnmap polyvalent, consultez la section Remarques de ResourceMap.

pfnVsSetShaderResources

Pointeur vers la fonction VsSetShaderResources du pilote.

pfnVsSetSamplers

Pointeur vers la fonction VsSetSamplers du pilote.

pfnGsSetShaderResources

Pointeur vers la fonction GsSetShaderResources du pilote.

pfnGsSetSamplers

Pointeur vers la fonction GsSetSamplers du pilote.

pfnSetRenderTargets

Pointeur vers la fonction SetRenderTargets du pilote.

pfnShaderResourceViewReadAfterWriteHazard

Pointeur vers la fonction ShaderResourceViewReadAfterWriteHazard du pilote.

pfnResourceReadAfterWriteHazard

Pointeur vers la fonction ResourceReadAfterWriteHazard du pilote.

pfnSetBlendState

Pointeur vers la fonction SetBlendState du pilote.

pfnSetDepthStencilState

Pointeur vers la fonction SetDepthStencilState du pilote.

pfnSetRasterizerState

Pointeur vers la fonction SetRasterizerState du pilote.

pfnQueryEnd

Pointeur vers la fonction QueryEnd du pilote.

pfnQueryBegin

Pointeur vers la fonction QueryBegin du pilote.

pfnResourceCopyRegion

Pointeur vers la fonction ResourceCopyRegion du pilote.

pfnResourceUpdateSubresourceUP

Pointeur vers la fonction ResourceUpdateSubresourceUP du pilote.

pfnSoSetTargets

Pointeur vers la fonction SoSetTargets du pilote.

pfnDrawAuto

Pointeur vers la fonction DrawAuto du pilote.

pfnSetViewports

Pointeur vers la fonction SetViewports du pilote.

pfnSetScissorRects

Pointeur vers la fonction SetScissorRects du pilote.

pfnClearRenderTargetView

Pointeur vers la fonction ClearRenderTargetView du pilote.

pfnClearDepthStencilView

Pointeur vers la fonction ClearDepthStencilView du pilote.

pfnSetPredication

Pointeur vers la fonction SetPredication du pilote.

pfnQueryGetData

Pointeur vers la fonction QueryGetData du pilote.

pfnFlush

Pointeur vers la fonction Flush(D3D10) du pilote.

pfnGenMips

Pointeur vers la fonction GenMips du pilote.

pfnResourceCopy

Pointeur vers la fonction ResourceCopy du pilote.

pfnResourceResolveSubresource

Pointeur vers la fonction ResourceResolveSubresource du pilote.

pfnResourceMap

Pointeur vers la fonction ResourceMap du pilote.

pfnResourceUnmap

Pointeur vers la fonction ResourceUnmap du pilote.

pfnResourceIsStagingBusy

Pointeur vers la fonction ResourceIsStagingBusy du pilote.

pfnRelocateDeviceFuncs

Pointeur vers la fonction RelocateDeviceFuncs du pilote.

pfnCalcPrivateResourceSize

Pointeur vers la fonction CalcPrivateResourceSize du pilote.

pfnCalcPrivateOpenedResourceSize

Pointeur vers la fonction CalcPrivateOpenedResourceSize du pilote.

pfnCreateResource

Pointeur vers la fonction CreateResource(D3D10) du pilote.

pfnOpenResource

Pointeur vers la fonction OpenResource(D3D10) du pilote.

pfnDestroyResource

Pointeur vers la fonction DestroyResource(D3D10) du pilote.

pfnCalcPrivateShaderResourceViewSize

Pointeur vers la fonction CalcPrivateShaderResourceViewSize du pilote.

pfnCreateShaderResourceView

Pointeur vers la fonction CreateShaderResourceView du pilote.

pfnDestroyShaderResourceView

Pointeur vers la fonction DestroyShaderResourceView du pilote.

pfnCalcPrivateRenderTargetViewSize

Pointeur vers la fonction CalcPrivateRenderTargetViewSize du pilote.

pfnCreateRenderTargetView

Pointeur vers la fonction CreateRenderTargetView du pilote.

pfnDestroyRenderTargetView

Pointeur vers la fonction DestroyRenderTargetView du pilote.

pfnCalcPrivateDepthStencilViewSize

Pointeur vers la fonction CalcPrivateDepthStencilViewSize du pilote.

pfnCreateDepthStencilView

Pointeur vers la fonction CreateDepthStencilView du pilote.

pfnDestroyDepthStencilView

Pointeur vers la fonction DestroyDepthStencilView du pilote.

pfnCalcPrivateElementLayoutSize

Pointeur vers la fonction CalcPrivateElementLayoutSize du pilote.

pfnCreateElementLayout

Pointeur vers la fonction CreateElementLayout du pilote.

pfnDestroyElementLayout

Pointeur vers la fonction DestroyElementLayout du pilote.

pfnCalcPrivateBlendStateSize

Pointeur vers la fonction CalcPrivateBlendStateSize du pilote.

pfnCreateBlendState

Pointeur vers la fonction CreateBlendState du pilote.

pfnDestroyBlendState

Pointeur vers la fonction DestroyBlendState du pilote.

pfnCalcPrivateDepthStencilStateSize

Pointeur vers la fonction CalcPrivateDepthStencilStateSize du pilote.

pfnCreateDepthStencilState

Pointeur vers la fonction CreateDepthStencilState du pilote.

pfnDestroyDepthStencilState

Pointeur vers la fonction DestroyDepthStencilState du pilote.

pfnCalcPrivateRasterizerStateSize

Pointeur vers la fonction CalcPrivateRasterizerStateSize du pilote.

pfnCreateRasterizerState

Pointeur vers la fonction CreateRasterizerState du pilote.

pfnDestroyRasterizerState

Pointeur vers la fonction DestroyRasterizerState du pilote.

pfnCalcPrivateShaderSize

Pointeur vers la fonction CalcPrivateShaderSize du pilote.

pfnCreateVertexShader

Pointeur vers la fonction CreateVertexShader(D3D10) du pilote.

pfnCreateGeometryShader

Pointeur vers la fonction CreateGeometryShader du pilote.

pfnCreatePixelShader

Pointeur vers la fonction CreatePixelShader(D3D10) du pilote.

pfnCalcPrivateGeometryShaderWithStreamOutput

Pointeur vers la fonction CalcPrivateGeometryShaderWithStreamOutput du pilote.

pfnCreateGeometryShaderWithStreamOutput

Pointeur vers la fonction CreateGeometryShaderWithStreamOutput du pilote.

pfnDestroyShader

Pointeur vers la fonction DestroyShader du pilote.

pfnCalcPrivateSamplerSize

Pointeur vers la fonction CalcPrivateSamplerSize du pilote.

pfnCreateSampler

Pointeur vers la fonction CreateSampler du pilote.

pfnDestroySampler

Pointeur vers la fonction DestroySampler du pilote.

pfnCalcPrivateQuerySize

Pointeur vers la fonction CalcPrivateQuerySize du pilote.

pfnCreateQuery

Pointeur vers la fonction CreateQuery(D3D10) du pilote.

pfnDestroyQuery

Pointeur vers la fonction DestroyQuery(D3D10) du pilote.

pfnCheckFormatSupport

Pointeur vers la fonction CheckFormatSupport du pilote.

pfnCheckMultisampleQualityLevels

Pointeur vers la fonction CheckMultisampleQualityLevels du pilote.

pfnCheckCounterInfo

Pointeur vers la fonction CheckCounterInfo du pilote.

pfnCheckCounter

Pointeur vers la fonction CheckCounter du pilote.

pfnDestroyDevice

Pointeur vers la fonction DestroyDevice(D3D10) du pilote.

pfnSetTextFilterSize

Pointeur vers la fonction SetTextFilterSize du pilote.

pfnResetPrimitiveID

pfnSetVertexPipelineOutput

Remarques

L’ordre des fonctions de pilote d’affichage en mode utilisateur (c’est-à-dire l’ordre des membres de la structure D3D10DDI_DEVICEFUNCS) est dans l’ordre décroissant de priorité (en ce qui concerne les performances).

Le pilote d’affichage en mode utilisateur peut utiliser des noms différents pour ces fonctions, car l’adresse de la table de fonctions (cette structure) est partagée entre le runtime Direct3D 10 et le pilote via l’appel à la fonction CreateDevice(D3D10) du pilote.

Les membres pfnResetPrimitiveID et pfnSetVertexPipelineOutput (non indiqués ici) et leurs types de données sont réservés à une utilisation système et ne doivent pas être utilisés dans votre pilote.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows.
En-tête d3d10umddi.h (incluez D3d10umddi.h)

Voir aussi

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE