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) |