D3D10_1DDI_DEVICEFUNCS 结构 (d3d10umddi.h)

D3D10_1DDI_DEVICEFUNCS 结构包含针对 Microsoft Direct3D 版本 10.1 运行时优化的用户模式显示驱动程序可以实现的函数,以呈现图形基元和处理状态更改。

语法

typedef struct D3D10_1DDI_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;
  PFND3D10_1DDI_RELOCATEDEVICEFUNCS                     pfnRelocateDeviceFuncs;
  PFND3D10DDI_CALCPRIVATERESOURCESIZE                   pfnCalcPrivateResourceSize;
  PFND3D10DDI_CALCPRIVATEOPENEDRESOURCESIZE             pfnCalcPrivateOpenedResourceSize;
  PFND3D10DDI_CREATERESOURCE                            pfnCreateResource;
  PFND3D10DDI_OPENRESOURCE                              pfnOpenResource;
  PFND3D10DDI_DESTROYRESOURCE                           pfnDestroyResource;
  PFND3D10_1DDI_CALCPRIVATESHADERRESOURCEVIEWSIZE       pfnCalcPrivateShaderResourceViewSize;
  PFND3D10_1DDI_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;
  PFND3D10_1DDI_CALCPRIVATEBLENDSTATESIZE               pfnCalcPrivateBlendStateSize;
  PFND3D10_1DDI_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_RESOURCECOPY                              pfnResourceConvert;
  PFND3D10DDI_RESOURCECOPYREGION                        pfnResourceConvertRegion;
  PFND3D10DDI_RESETPRIMITIVEID                          pfnResetPrimitiveID;
  PFND3D10DDI_SETVERTEXPIPELINEOUTPUT                   pfnSetVertexPipelineOutput;
} D3D10_1DDI_DEVICEFUNCS;

成员

pfnDefaultConstantBufferUpdateSubresourceUP

指向驱动程序的 DefaultConstantBufferUpdateSubresourceUP 函数的指针。

pfnVsSetConstantBuffers

指向驱动程序的 VsSetConstantBuffers 函数的指针。

pfnPsSetShaderResources

指向驱动程序的 PsSetShaderResources 函数的 指针。

pfnPsSetShader

指向驱动程序的 PsSetShader 函数的指针。

pfnPsSetSamplers

指向驱动程序的 PsSetSamplers 函数的 指针。

pfnVsSetShader

指向驱动程序的 VsSetShader 函数的指针。

pfnDrawIndexed

指向驱动程序的 DrawIndexed 函数的指针。

pfnDraw

指向驱动程序的 Draw 函数的指针。

pfnDynamicIABufferMapNoOverwrite

指向驱动程序的 ResourceMap 函数的指针。 有关是实现单独的 DynamicIABufferMapNoOverwrite 函数还是指向多用途 ResourceMap 的详细信息,请参阅 ResourceMap 的“备注”部分。

pfnDynamicIABufferUnmap

指向驱动程序的 ResourceUnmap 函数的指针。 有关是实现单独的 DynamicIABufferUnmap 函数还是指向多用途 ResourceUnmap 的详细信息,请参阅 ResourceMap 的“备注”部分。

pfnDynamicConstantBufferMapDiscard

指向驱动程序的 ResourceMap 函数的指针。 有关是实现单独的 DynamicConstantBufferMapDiscard 函数还是指向多用途 ResourceMap 的详细信息,请参阅 ResourceMap 的“备注”部分。

pfnDynamicIABufferMapDiscard

指向驱动程序的 ResourceMap 函数的指针。 有关是实现单独的 DynamicIABufferMapDiscard 函数还是指向多用途 ResourceMap 的详细信息,请参阅 ResourceMap 的“备注”部分。

pfnDynamicConstantBufferUnmap

指向驱动程序的 ResourceUnmap 函数的指针。 有关是实现单独的 DynamicConstantBufferUnmap 函数还是指向多用途 ResourceUnmap 的详细信息,请参阅 ResourceMap 的“备注”部分。

pfnPsSetConstantBuffers

指向驱动程序的 PsSetConstantBuffers 函数的指针。

pfnIaSetInputLayout

指向驱动程序的 IaSetInputLayout 函数的指针。

pfnIaSetVertexBuffers

指向驱动程序的 IaSetVertexBuffers 函数的指针。

pfnIaSetIndexBuffer

指向驱动程序的 IaSetIndexBuffer 函数的指针。

pfnDrawIndexedInstanced

指向驱动程序的 DrawIndexedInstanced 函数的 指针。

pfnDrawInstanced

指向驱动程序的 DrawInstanced 函数的 指针。

pfnDynamicResourceMapDiscard

指向驱动程序的 ResourceMap 函数的指针。 有关是实现单独的 DynamicResourceMapDiscard 函数还是指向多用途 ResourceMap 的详细信息,请参阅 ResourceMap 的“备注”部分。

pfnDynamicResourceUnmap

指向驱动程序的 ResourceUnmap 函数的指针。 有关是实现单独的 DynamicResourceUnmap 函数还是指向多用途 ResourceUnmap 的详细信息,请参阅 ResourceMap 的“备注”部分。

pfnGsSetConstantBuffers

指向驱动程序的 GsSetConstantBuffers 函数的指针。

pfnGsSetShader

指向驱动程序的 GsSetShader 函数的指针。

pfnIaSetTopology

指向驱动程序的 IaSetTopology 函数的指针。

pfnStagingResourceMap

指向驱动程序的 ResourceMap 函数的指针。 有关是实现单独的 StagingResourceMap 函数还是指向多用途 ResourceMap 的详细信息,请参阅 ResourceMap 的“备注”部分。

pfnStagingResourceUnmap

指向驱动程序的 ResourceUnmap 函数的指针。 有关是实现单独的 StagingResourceUnmap 函数还是指向多用途 ResourceUnmap 的详细信息,请参阅 ResourceMap 的“备注”部分。

pfnVsSetShaderResources

指向驱动程序的 VsSetShaderResources 函数的 指针。

pfnVsSetSamplers

指向驱动程序的 VsSetSamplers 函数的 指针。

pfnGsSetShaderResources

指向驱动程序的 GsSetShaderResources 函数的 指针。

pfnGsSetSamplers

指向驱动程序的 GsSetSamplers 函数的 指针。

pfnSetRenderTargets

指向驱动程序的 SetRenderTargets 函数的 指针。

pfnShaderResourceViewReadAfterWriteHazard

指向驱动程序的 ShaderResourceViewReadAfterWriteHazard 函数的 指针。

pfnResourceReadAfterWriteHazard

指向驱动程序的 ResourceReadAfterWriteHazard 函数的 指针。

pfnSetBlendState

指向驱动程序的 SetBlendState 函数的指针。

pfnSetDepthStencilState

指向驱动程序的 SetDepthStencilState 函数的指针。

pfnSetRasterizerState

指向驱动程序的 SetRasterizerState 函数的指针。

pfnQueryEnd

指向驱动程序的 QueryEnd 函数的指针。

pfnQueryBegin

指向驱动程序的 QueryBegin 函数的指针。

pfnResourceCopyRegion

指向驱动程序的 ResourceCopyRegion 函数的指针。

pfnResourceUpdateSubresourceUP

指向驱动程序的 ResourceUpdateSubresourceUP 函数的指针。

pfnSoSetTargets

指向驱动程序的 SoSetTargets 函数的 指针。

pfnDrawAuto

指向驱动程序的 DrawAuto 函数的指针。

pfnSetViewports

指向驱动程序的 SetViewports 函数的 指针。

pfnSetScissorRects

指向驱动程序的 SetScissorRects 函数的 指针。

pfnClearRenderTargetView

指向驱动程序的 ClearRenderTargetView 函数的指针。

pfnClearDepthStencilView

指向驱动程序的 ClearDepthStencilView 函数的指针。

pfnSetPredication

指向驱动程序的 SetPredication 函数的指针。

pfnQueryGetData

指向驱动程序的 QueryGetData 函数的指针。

pfnFlush

指向驱动程序的 Flush (D3D10) 函数的 指针。

pfnGenMips

指向驱动程序的 GenMips 函数的指针。

pfnResourceCopy

指向驱动程序的 ResourceCopy 函数的指针。

pfnResourceResolveSubresource

指向驱动程序的 ResourceResolveSubresource 函数的指针。

pfnResourceMap

指向驱动程序的 ResourceMap 函数的指针。

pfnResourceUnmap

指向驱动程序的 ResourceUnmap 函数的指针。

pfnResourceIsStagingBusy

指向驱动程序的 ResourceIsStagingBusy 函数的指针。

pfnRelocateDeviceFuncs

指向驱动程序的 RelocateDeviceFuncs (D3D10_1) 函数的 指针。

pfnCalcPrivateResourceSize

指向驱动程序的 CalcPrivateResourceSize 函数的指针。

pfnCalcPrivateOpenedResourceSize

指向驱动程序的 CalcPrivateOpenedResourceSize 函数的指针。

pfnCreateResource

指向驱动程序的 CreateResource (D3D10) 函数的 指针。

pfnOpenResource

指向驱动程序的 OpenResource (D3D10) 函数的 指针。

pfnDestroyResource

指向驱动程序的 DestroyResource (D3D10) 函数的 指针。

pfnCalcPrivateShaderResourceViewSize

指向驱动程序的 CalcPrivateShaderResourceViewSize (D3D10_1) 函数的 指针。

pfnCreateShaderResourceView

指向驱动程序的 CreateShaderResourceView (D3D10_1) 函数的 指针。

pfnDestroyShaderResourceView

指向驱动程序的 DestroyShaderResourceView 函数的指针。

pfnCalcPrivateRenderTargetViewSize

指向驱动程序的 CalcPrivateRenderTargetViewSize 函数的指针。

pfnCreateRenderTargetView

指向驱动程序的 CreateRenderTargetView 函数的指针。

pfnDestroyRenderTargetView

指向驱动程序的 DestroyRenderTargetView 函数的指针。

pfnCalcPrivateDepthStencilViewSize

指向驱动程序的 CalcPrivateDepthStencilViewSize 函数的 指针。

pfnCreateDepthStencilView

指向驱动程序的 CreateDepthStencilView 函数的指针。

pfnDestroyDepthStencilView

指向驱动程序的 DestroyDepthStencilView 函数的指针。

pfnCalcPrivateElementLayoutSize

指向驱动程序的 CalcPrivateElementLayoutSize 函数的指针。

pfnCreateElementLayout

指向驱动程序的 CreateElementLayout 函数的指针。

pfnDestroyElementLayout

指向驱动程序的 DestroyElementLayout 函数的指针。

pfnCalcPrivateBlendStateSize

指向驱动程序的 CalcPrivateBlendStateSize (D3D10_1) 函数的 指针。

pfnCreateBlendState

指向驱动程序的 CreateBlendState (D3D10_1) 函数的 指针。

pfnDestroyBlendState

指向驱动程序的 DestroyBlendState 函数的指针。

pfnCalcPrivateDepthStencilStateSize

指向驱动程序的 CalcPrivateDepthStencilStateSize 函数的 指针。

pfnCreateDepthStencilState

指向驱动程序的 CreateDepthStencilState 函数的指针。

pfnDestroyDepthStencilState

指向驱动程序的 DestroyDepthStencilState 函数的指针。

pfnCalcPrivateRasterizerStateSize

指向驱动程序的 CalcPrivateRasterizerStateSize 函数的指针。

pfnCreateRasterizerState

指向驱动程序的 CreateRasterizerState 函数的指针。

pfnDestroyRasterizerState

指向驱动程序的 DestroyRasterizerState 函数的指针。

pfnCalcPrivateShaderSize

指向驱动程序的 CalcPrivateShaderSize 函数的指针。

pfnCreateVertexShader

指向驱动程序的 CreateVertexShader (D3D10) 函数的 指针。

pfnCreateGeometryShader

指向驱动程序的 CreateGeometryShader 函数的指针。

pfnCreatePixelShader

指向驱动程序的 CreatePixelShader (D3D10) 函数的 指针。

pfnCalcPrivateGeometryShaderWithStreamOutput

指向驱动程序的 CalcPrivateGeometryShaderWithStreamOutput 函数的 指针。

pfnCreateGeometryShaderWithStreamOutput

指向驱动程序的 CreateGeometryShaderWithStreamOutput 函数的指针。

pfnDestroyShader

指向驱动程序的 DestroyShader 函数的指针。

pfnCalcPrivateSamplerSize

指向驱动程序的 CalcPrivateSamplerSize 函数的指针。

pfnCreateSampler

指向驱动程序的 CreateSampler 函数的指针。

pfnDestroySampler

指向驱动程序的 DestroySampler 函数的指针。

pfnCalcPrivateQuerySize

指向驱动程序的 CalcPrivateQuerySize 函数的指针。

pfnCreateQuery

指向驱动程序的 CreateQuery (D3D10) 函数的 指针。

pfnDestroyQuery

指向驱动程序的 DestroyQuery (D3D10) 函数的 指针。

pfnCheckFormatSupport

指向驱动程序的 CheckFormatSupport 函数的指针。

pfnCheckMultisampleQualityLevels

指向驱动程序的 CheckMultisampleQualityLevels 函数的 指针。

pfnCheckCounterInfo

指向驱动程序的 CheckCounterInfo 函数的指针。

pfnCheckCounter

指向驱动程序的 CheckCounter 函数的指针。

pfnDestroyDevice

指向驱动程序的 DestroyDevice (D3D10) 函数的 指针。

pfnSetTextFilterSize

指向驱动程序的 SetTextFilterSize 函数的指针。

pfnResourceConvert

指向驱动程序的 ResourceCopy 函数的指针。 有关是实现单独的 ResourceConvert 函数还是指向 multipurpose ResourceCopy 的详细信息,请参阅 ResourceCopy 的“备注”部分。

pfnResourceConvertRegion

指向驱动程序的 ResourceCopyRegion 函数的指针。 有关是实现单独的 ResourceConvertRegion 函数还是指向多用途 ResourceCopyRegion 的详细信息,请参阅 ResourceCopyRegion 的“备注”部分。

pfnResetPrimitiveID

pfnSetVertexPipelineOutput

注解

用户模式显示驱动程序函数的顺序 (即,D3D10_1DDI_DEVICEFUNCS结构) 的成员的顺序是按性能) 优先级 (的递减顺序排列。

用户模式显示驱动程序可以为这些函数使用不同的名称,因为此结构) (函数表的地址通过调用驱动程序的 CreateDevice (D3D10) 函数在 Direct3D 10.1 运行时和驱动程序之间共享。

pfnResetPrimitiveIDpfnSetVertexPipelineOutput 成员 (未在此处显示) 及其数据类型保留供系统使用,不应在驱动程序中使用。

要求

要求
最低受支持的客户端 具有 Service Pack 1 (SP1) 及更高版本以及 Windows Server 2008 及更高版本的 Windows Vista 支持D3D10_1DDI_DEVICEFUNCS。
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

CreateDevice (D3D10)

D3D10DDIARG_CREATEDEVICE