Condividi tramite


D3D10DDI_DEVICEFUNCS struttura (d3d10umddi.h)

La struttura D3D10DDI_DEVICEFUNCS contiene funzioni che il driver di visualizzazione in modalità utente può implementare per eseguire il rendering delle primitive grafiche e elaborare le modifiche dello stato.

Sintassi

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;

Members

pfnDefaultConstantBufferUpdateSubresourceUP

Puntatore alla funzione DefaultConstantBufferUpdateSubresourceUP del driver.

pfnVsSetConstantBuffers

Puntatore alla funzione VsSetConstantBuffers del driver.

pfnPsSetShaderResources

Puntatore alla funzione PsSetShaderResources del driver.

pfnPsSetShader

Puntatore alla funzione PsSetShader del driver.

pfnPsSetSamplers

Puntatore alla funzione PsSetSamplers del driver.

pfnVsSetShader

Puntatore alla funzione VsSetShader del driver.

pfnDrawIndexed

Puntatore alla funzione DrawIndexed del driver.

pfnDraw

Puntatore alla funzione Draw del driver.

pfnDynamicIABufferMapNoOverwrite

Puntatore alla funzione ResourceMap del driver. Per altre informazioni su se implementare una funzione DynamicIABufferMapNoOverwrite separata o puntare a ResourceMapmultiuso, vedere la sezione Osservazioni di ResourceMap.

pfnDynamicIABufferUnmap

Puntatore alla funzione ResourceUnmap del driver. Per altre informazioni su se implementare una funzione DynamicIABufferUnmap separata o puntare alla risorsa multiuso, vedere la sezione Osservazioni di ResourceMap.

pfnDynamicConstantBufferMapDiscard

Puntatore alla funzione ResourceMap del driver. Per altre informazioni su se implementare una funzione DynamicConstantBufferMapDiscard separata o puntare a ResourceMapmultiuso, vedere la sezione Osservazioni di ResourceMap.

pfnDynamicIABufferMapDiscard

Puntatore alla funzione ResourceMap del driver. Per altre informazioni su se implementare una funzione DynamicIABufferMapDiscard separata o puntare a ResourceMapmultiuso, vedere la sezione Osservazioni di ResourceMap.

pfnDynamicConstantBufferUnmap

Puntatore alla funzione ResourceUnmap del driver. Per altre informazioni su se implementare una funzione DynamicConstantBufferUnmap separata o puntare alla mappa ResourceUnmap multiuso, vedere la sezione Osservazioni di ResourceMap.

pfnPsSetConstantBuffers

Puntatore alla funzione PsSetConstantBuffers del driver.

pfnIaSetInputLayout

Puntatore alla funzione IaSetInputLayout del driver.

pfnIaSetVertexBuffers

Puntatore alla funzione IaSetVertexBuffers del driver.

pfnIaSetIndexBuffer

Puntatore alla funzione IaSetIndexBuffer del driver.

pfnDrawIndexedInstanced

Puntatore alla funzione DrawIndexedInstanced del driver.

pfnDrawInstanced

Puntatore alla funzione DrawInstanced del driver.

pfnDynamicResourceMapDiscard

Puntatore alla funzione ResourceMap del driver. Per altre informazioni su se implementare una funzione DynamicResourceMapDiscard separata o puntare a ResourceMap multiuso, vedere la sezione Osservazioni di ResourceMap.

pfnDynamicResourceUnmap

Puntatore alla funzione ResourceUnmap del driver. Per altre informazioni sull'implementazione di una funzione DynamicResourceUnmap separata o sul punto di ResourceUnmap multiuso, vedere la sezione Osservazioni di ResourceUnmap.

pfnGsSetConstantBuffers

Puntatore alla funzione GsSetConstantBuffers del driver.

pfnGsSetShader

Puntatore alla funzione GsSetShader del driver.

pfnIaSetTopology

Puntatore alla funzione IaSetTopology del driver.

pfnStagingResourceMap

Puntatore alla funzione ResourceMap del driver. Per altre informazioni su se implementare una funzione StagingResourceMap separata o puntare a ResourceMap multiuso, vedere la sezione Osservazioni di ResourceMap.

pfnStagingResourceUnmap

Puntatore alla funzione ResourceUnmap del driver. Per altre informazioni su se implementare una funzione StagingResourceUnmap separata o puntare alla risorsa multiuso ResourceUnmap, vedere la sezione Osservazioni di ResourceMap.

pfnVsSetShaderResources

Puntatore alla funzione VsSetShaderResources del driver.

pfnVsSetSamplers

Puntatore alla funzione VsSetSamplers del driver.

pfnGsSetShaderResources

Puntatore alla funzione GsSetShaderResources del driver.

pfnGsSetSamplers

Puntatore alla funzione GsSetSamplers del driver.

pfnSetRenderTargets

Puntatore alla funzione SetRenderTargets del driver.

pfnShaderResourceViewReadAfterWriteHazard

Puntatore alla funzione ShaderResourceViewReadAfterWriteHazard del driver.

pfnResourceReadAfterWriteHazard

Puntatore alla funzione ResourceReadAfterWriteHazard del driver.

pfnSetBlendState

Puntatore alla funzione SetBlendState del driver.

pfnSetDepthStencilState

Puntatore alla funzione SetDepthStencilState del driver.

pfnSetRasterizerState

Puntatore alla funzione SetRasterizerState del driver.

pfnQueryEnd

Puntatore alla funzione QueryEnd del driver.

pfnQueryBegin

Puntatore alla funzione QueryBegin del driver.

pfnResourceCopyRegion

Puntatore alla funzione ResourceCopyRegion del driver.

pfnResourceUpdateSubresourceUP

Puntatore alla funzione ResourceUpdateSubresourceUP del driver.

pfnSoSetTargets

Puntatore alla funzione SoSetTargets del driver.

pfnDrawAuto

Puntatore alla funzione DrawAuto del driver.

pfnSetViewports

Puntatore alla funzione SetViewports del driver.

pfnSetScissorRects

Puntatore alla funzione SetScissorRects del driver.

pfnClearRenderTargetView

Puntatore alla funzione ClearRenderTargetView del driver.

pfnClearDepthStencilView

Puntatore alla funzione ClearDepthStencilView del driver.

pfnSetPredication

Puntatore alla funzione SetPredication del driver.

pfnQueryGetData

Puntatore alla funzione QueryGetData del driver.

pfnFlush

Puntatore alla funzione Flush(D3D10) del driver.

pfnGenMips

Puntatore alla funzione GenMips del driver.

pfnResourceCopy

Puntatore alla funzione ResourceCopy del driver.

pfnResourceResolveSubresource

Puntatore alla funzione ResourceResolveSubresource del driver.

pfnResourceMap

Puntatore alla funzione ResourceMap del driver.

pfnResourceUnmap

Puntatore alla funzione ResourceUnmap del driver.

pfnResourceIsStagingBusy

Puntatore alla funzione ResourceIsStagingBusy del driver.

pfnRelocateDeviceFuncs

Puntatore alla funzione RelocateDeviceFuncs del driver.

pfnCalcPrivateResourceSize

Puntatore alla funzione CalcPrivateResourceSize del driver.

pfnCalcPrivateOpenedResourceSize

Puntatore alla funzione CalcPrivateOpenedResourceSize del driver.

pfnCreateResource

Puntatore alla funzione CreateResource(D3D10) del driver.

pfnOpenResource

Puntatore alla funzione OpenResource(D3D10) del driver.

pfnDestroyResource

Puntatore alla funzione DestroyResource(D3D10) del driver.

pfnCalcPrivateShaderResourceViewSize

Puntatore alla funzione CalcPrivateShaderResourceViewSize del driver.

pfnCreateShaderResourceView

Puntatore alla funzione CreateShaderResourceView del driver.

pfnDestroyShaderResourceView

Puntatore alla funzione DestroyShaderResourceView del driver.

pfnCalcPrivateRenderTargetViewSize

Puntatore alla funzione CalcPrivateRenderTargetViewSize del driver.

pfnCreateRenderTargetView

Puntatore alla funzione CreateRenderTargetView del driver.

pfnDestroyRenderTargetView

Puntatore alla funzione DestroyRenderTargetView del driver.

pfnCalcPrivateDepthStencilViewSize

Puntatore alla funzione CalcPrivateDepthStencilViewSize del driver.

pfnCreateDepthStencilView

Puntatore alla funzione CreateDepthStencilView del driver.

pfnDestroyDepthStencilView

Puntatore alla funzione DestroyDepthStencilView del driver.

pfnCalcPrivateElementLayoutSize

Puntatore alla funzione CalcPrivateElementLayoutSize del driver.

pfnCreateElementLayout

Puntatore alla funzione CreateElementLayout del driver.

pfnDestroyElementLayout

Puntatore alla funzione DestroyElementLayout del driver.

pfnCalcPrivateBlendStateSize

Puntatore alla funzione CalcPrivateBlendStateSize del driver.

pfnCreateBlendState

Puntatore alla funzione CreateBlendState del driver.

pfnDestroyBlendState

Puntatore alla funzione DestroyBlendState del driver.

pfnCalcPrivateDepthStencilStateSize

Puntatore alla funzione CalcPrivateDepthStencilStateSize del driver.

pfnCreateDepthStencilState

Puntatore alla funzione CreateDepthStencilState del driver.

pfnDestroyDepthStencilState

Puntatore alla funzione DestroyDepthStencilState del driver.

pfnCalcPrivateRasterizerStateSize

Puntatore alla funzione CalcPrivateRasterizerStateSize del driver.

pfnCreateRasterizerState

Puntatore alla funzione CreateRasterizerState del driver.

pfnDestroyRasterizerState

Puntatore alla funzione DestroyRasterizerState del driver.

pfnCalcPrivateShaderSize

Puntatore alla funzione CalcPrivateShaderSize del driver.

pfnCreateVertexShader

Puntatore alla funzione CreateVertexShader(D3D10) del driver.

pfnCreateGeometryShader

Puntatore alla funzione CreateGeometryShader del driver.

pfnCreatePixelShader

Puntatore alla funzione CreatePixelShader(D3D10) del driver.

pfnCalcPrivateGeometryShaderWithStreamOutput

Puntatore alla funzione CalcPrivateGeometryShaderWithStreamOutput del driver.

pfnCreateGeometryShaderWithStreamOutput

Puntatore alla funzione CreateGeometryShaderWithStreamOutput del driver.

pfnDestroyShader

Puntatore alla funzione DestroyShader del driver.

pfnCalcPrivateSamplerSize

Puntatore alla funzione CalcPrivateSamplerSize del driver.

pfnCreateSampler

Puntatore alla funzione CreateSampler del driver.

pfnDestroySampler

Puntatore alla funzione DestroySampler del driver.

pfnCalcPrivateQuerySize

Puntatore alla funzione CalcPrivateQuerySize del driver.

pfnCreateQuery

Puntatore alla funzione CreateQuery(D3D10) del driver.

pfnDestroyQuery

Puntatore alla funzione DestroyQuery(D3D10) del driver.

pfnCheckFormatSupport

Puntatore alla funzione CheckFormatSupport del driver.

pfnCheckMultisampleQualityLevels

Puntatore alla funzione CheckMultisampleQualityLevels del driver.

pfnCheckCounterInfo

Puntatore alla funzione CheckCounterInfo del driver.

pfnCheckCounter

Puntatore alla funzione CheckCounter del driver.

pfnDestroyDevice

Puntatore alla funzione DestroyDevice(D3D10) del driver.

pfnSetTextFilterSize

Puntatore alla funzione SetTextFilterSize del driver.

pfnResetPrimitiveID

pfnSetVertexPipelineOutput

Commenti

L'ordine delle funzioni del driver di visualizzazione in modalità utente ( ovvero, l'ordine dei membri della struttura D3D10DDI_DEVICEFUNCS) è in ordine di riduzione della priorità (in relazione alle prestazioni).

Il driver di visualizzazione in modalità utente può usare nomi diversi per queste funzioni perché l'indirizzo della tabella delle funzioni (questa struttura) è condiviso tra il runtime Direct3D 10 e il driver tramite la chiamata alla funzione CreateDevice(D3D10) del driver.

I membri pfnResetPrimitiveID e pfnSetVertexPipelineOutput (non visualizzati qui) e i relativi tipi di dati sono riservati all'uso del sistema e non devono essere usati nel driver.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.
Intestazione d3d10umddi.h (include D3d10umddi.h)

Vedi anche

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE