estrutura D3D10DDI_DEVICEFUNCS (d3d10umddi.h)

A estrutura D3D10DDI_DEVICEFUNCS contém funções que o driver de exibição do modo de usuário pode implementar para renderizar primitivos gráficos e processar alterações de estado.

Sintaxe

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;

Membros

pfnDefaultConstantBufferUpdateSubresourceUP

Um ponteiro para a função DefaultConstantBufferUpdateSubresourceUP do driver.

pfnVsSetConstantBuffers

Um ponteiro para a função VsSetConstantBuffers do driver.

pfnPsSetShaderResources

Um ponteiro para a função PsSetShaderResources do driver.

pfnPsSetShader

Um ponteiro para a função PsSetShader do driver.

pfnPsSetSamplers

Um ponteiro para a função PsSetSamplers do driver.

pfnVsSetShader

Um ponteiro para a função VsSetShader do driver.

pfnDrawIndexed

Um ponteiro para a função DrawIndexed do driver.

pfnDraw

Um ponteiro para a função Desenhar do driver.

pfnDynamicIABufferMapNoOverwrite

Um ponteiro para a função ResourceMap do driver. Para obter mais informações sobre se deseja implementar uma função DynamicIABufferMapNoOverwrite separada ou apontar para o ResourceMap multipurpose, consulte a seção Comentários do ResourceMap.

pfnDynamicIABufferUnmap

Um ponteiro para a função ResourceUnmap do driver. Para obter mais informações sobre se deseja implementar uma função DynamicIABufferUnmap separada ou apontar para o ResourceUnmap multipurpose, consulte a seção Comentários do ResourceMap.

pfnDynamicConstantBufferMapDiscard

Um ponteiro para a função ResourceMap do driver. Para obter mais informações sobre se deseja implementar uma função DynamicConstantBufferMapDiscard separada ou apontar para o ResourceMap multipurpose, consulte a seção Comentários do ResourceMap.

pfnDynamicIABufferMapDiscard

Um ponteiro para a função ResourceMap do driver. Para obter mais informações sobre se deseja implementar uma função DynamicIABufferMapDiscard separada ou apontar para o ResourceMap multipurpose, consulte a seção Comentários do ResourceMap.

pfnDynamicConstantBufferUnmap

Um ponteiro para a função ResourceUnmap do driver. Para obter mais informações sobre se deseja implementar uma função DynamicConstantBufferUnmap separada ou apontar para o ResourceUnmap multipurpose, consulte a seção Comentários do ResourceMap.

pfnPsSetConstantBuffers

Um ponteiro para a função PsSetConstantBuffers do driver.

pfnIaSetInputLayout

Um ponteiro para a função IaSetInputLayout do driver.

pfnIaSetVertexBuffers

Um ponteiro para a função IaSetVertexBuffers do driver.

pfnIaSetIndexBuffer

Um ponteiro para a função IaSetIndexBuffer do driver.

pfnDrawIndexedInstanced

Um ponteiro para a função DrawIndexedInstanced do driver.

pfnDrawInstanced

Um ponteiro para a função DrawInstanced do driver.

pfnDynamicResourceMapDiscard

Um ponteiro para a função ResourceMap do driver. Para obter mais informações sobre se deseja implementar uma função DynamicResourceMapDiscard separada ou apontar para o ResourceMap multipurpose, consulte a seção Comentários do ResourceMap.

pfnDynamicResourceUnmap

Um ponteiro para a função ResourceUnmap do driver. Para obter mais informações sobre se deseja implementar uma função DynamicResourceUnmap separada ou apontar para o ResourceUnmap multipurpose, consulte a seção Comentários de ResourceUnmap.

pfnGsSetConstantBuffers

Um ponteiro para a função GsSetConstantBuffers do driver.

pfnGsSetShader

Um ponteiro para a função GsSetShader do driver.

pfnIaSetTopology

Um ponteiro para a função IaSetTopology do driver.

pfnStagingResourceMap

Um ponteiro para a função ResourceMap do driver. Para obter mais informações sobre se deseja implementar uma função StagingResourceMap separada ou apontar para o ResourceMap multiuso, consulte a seção Comentários do ResourceMap.

pfnStagingResourceUnmap

Um ponteiro para a função ResourceUnmap do driver. Para obter mais informações sobre se deseja implementar uma função StagingResourceUnmap separada ou apontar para o ResourceUnmap multipurpose, consulte a seção Comentários do ResourceMap.

pfnVsSetShaderResources

Um ponteiro para a função VsSetShaderResources do driver.

pfnVsSetSamplers

Um ponteiro para a função VsSetSamplers do driver.

pfnGsSetShaderResources

Um ponteiro para a função GsSetShaderResources do driver.

pfnGsSetSamplers

Um ponteiro para a função GsSetSamplers do driver.

pfnSetRenderTargets

Um ponteiro para a função SetRenderTargets do driver.

pfnShaderResourceViewReadAfterWriteHazard

Um ponteiro para a função ShaderResourceViewReadAfterWriteHazard do driver.

pfnResourceReadAfterWriteHazard

Um ponteiro para a função ResourceReadAfterWriteHazard do driver.

pfnSetBlendState

Um ponteiro para a função SetBlendState do driver.

pfnSetDepthStencilState

Um ponteiro para a função SetDepthStencilState do driver.

pfnSetRasterizerState

Um ponteiro para a função SetRasterizerState do driver.

pfnQueryEnd

Um ponteiro para a função QueryEnd do driver.

pfnQueryBegin

Um ponteiro para a função QueryBegin do driver.

pfnResourceCopyRegion

Um ponteiro para a função ResourceCopyRegion do driver.

pfnResourceUpdateSubresourceUP

Um ponteiro para a função ResourceUpdateSubresourceUP do driver.

pfnSoSetTargets

Um ponteiro para a função SoSetTargets do driver.

pfnDrawAuto

Um ponteiro para a função DrawAuto do driver.

pfnSetViewports

Um ponteiro para a função SetViewports do driver.

pfnSetScissorRects

Um ponteiro para a função SetScissorRects do driver.

pfnClearRenderTargetView

Um ponteiro para a função ClearRenderTargetView do driver.

pfnClearDepthStencilView

Um ponteiro para a função ClearDepthStencilView do driver.

pfnSetPredication

Um ponteiro para a função SetPredication do driver.

pfnQueryGetData

Um ponteiro para a função QueryGetData do driver.

pfnFlush

Um ponteiro para a função Flush (D3D10) do driver.

pfnGenMips

Um ponteiro para a função GenMips do driver.

pfnResourceCopy

Um ponteiro para a função ResourceCopy do driver.

pfnResourceResolveSubresource

Um ponteiro para a função ResourceResolveSubresource do driver.

pfnResourceMap

Um ponteiro para a função ResourceMap do driver.

pfnResourceUnmap

Um ponteiro para a função ResourceUnmap do driver.

pfnResourceIsStagingBusy

Um ponteiro para a função ResourceIsStagingBusy do driver.

pfnRelocateDeviceFuncs

Um ponteiro para a função RelocateDeviceFuncs do driver.

pfnCalcPrivateResourceSize

Um ponteiro para a função CalcPrivateResourceSize do driver.

pfnCalcPrivateOpenedResourceSize

Um ponteiro para a função CalcPrivateOpenedResourceSize do driver.

pfnCreateResource

Um ponteiro para a função CreateResource(D3D10) do driver.

pfnOpenResource

Um ponteiro para a função OpenResource(D3D10) do driver.

pfnDestroyResource

Um ponteiro para a função DestroyResource(D3D10) do driver.

pfnCalcPrivateShaderResourceViewSize

Um ponteiro para a função CalcPrivateShaderResourceViewSize do driver.

pfnCreateShaderResourceView

Um ponteiro para a função CreateShaderResourceView do driver.

pfnDestroyShaderResourceView

Um ponteiro para a função DestroyShaderResourceView do driver.

pfnCalcPrivateRenderTargetViewSize

Um ponteiro para a função CalcPrivateRenderTargetViewSize do driver.

pfnCreateRenderTargetView

Um ponteiro para a função CreateRenderTargetView do driver.

pfnDestroyRenderTargetView

Um ponteiro para a função DestroyRenderTargetView do driver.

pfnCalcPrivateDepthStencilViewSize

Um ponteiro para a função CalcPrivateDepthStencilViewSize do driver.

pfnCreateDepthStencilView

Um ponteiro para a função CreateDepthStencilView do driver.

pfnDestroyDepthStencilView

Um ponteiro para a função DestroyDepthStencilView do driver.

pfnCalcPrivateElementLayoutSize

Um ponteiro para a função CalcPrivateElementLayoutSize do driver.

pfnCreateElementLayout

Um ponteiro para a função CreateElementLayout do driver.

pfnDestroyElementLayout

Um ponteiro para a função DestroyElementLayout do driver.

pfnCalcPrivateBlendStateSize

Um ponteiro para a função CalcPrivateBlendStateSize do driver.

pfnCreateBlendState

Um ponteiro para a função CreateBlendState do driver.

pfnDestroyBlendState

Um ponteiro para a função DestroyBlendState do driver.

pfnCalcPrivateDepthStencilStateSize

Um ponteiro para a função CalcPrivateDepthStencilStateSize do driver.

pfnCreateDepthStencilState

Um ponteiro para a função CreateDepthStencilState do driver.

pfnDestroyDepthStencilState

Um ponteiro para a função DestroyDepthStencilState do driver.

pfnCalcPrivateRasterizerStateSize

Um ponteiro para a função CalcPrivateRasterizerStateSize do driver.

pfnCreateRasterizerState

Um ponteiro para a função CreateRasterizerState do driver.

pfnDestroyRasterizerState

Um ponteiro para a função DestroyRasterizerState do driver.

pfnCalcPrivateShaderSize

Um ponteiro para a função CalcPrivateShaderSize do driver.

pfnCreateVertexShader

Um ponteiro para a função CreateVertexShader(D3D10) do driver.

pfnCreateGeometryShader

Um ponteiro para a função CreateGeometryShader do driver.

pfnCreatePixelShader

Um ponteiro para a função CreatePixelShader(D3D10) do driver.

pfnCalcPrivateGeometryShaderWithStreamOutput

Um ponteiro para a função CalcPrivateGeometryShaderWithStreamOutput do driver.

pfnCreateGeometryShaderWithStreamOutput

Um ponteiro para a função CreateGeometryShaderWithStreamOutput do driver.

pfnDestroyShader

Um ponteiro para a função DestroyShader do driver.

pfnCalcPrivateSamplerSize

Um ponteiro para a função CalcPrivateSamplerSize do driver.

pfnCreateSampler

Um ponteiro para a função CreateSampler do driver.

pfnDestroySampler

Um ponteiro para a função DestroySampler do driver.

pfnCalcPrivateQuerySize

Um ponteiro para a função CalcPrivateQuerySize do driver.

pfnCreateQuery

Um ponteiro para a função CreateQuery(D3D10) do driver.

pfnDestroyQuery

Um ponteiro para a função DestroyQuery(D3D10) do driver.

pfnCheckFormatSupport

Um ponteiro para a função CheckFormatSupport do driver.

pfnCheckMultisampleQualityLevels

Um ponteiro para a função CheckMultisampleQualityLevels do driver.

pfnCheckCounterInfo

Um ponteiro para a função CheckCounterInfo do driver.

pfnCheckCounter

Um ponteiro para a função CheckCounter do driver.

pfnDestroyDevice

Um ponteiro para a função DestroyDevice(D3D10) do driver.

pfnSetTextFilterSize

Um ponteiro para a função SetTextFilterSize do driver.

pfnResetPrimitiveID

pfnSetVertexPipelineOutput

Comentários

A ordem das funções de driver de exibição do modo de usuário (ou seja, a ordem dos membros da estrutura D3D10DDI_DEVICEFUNCS) está em ordem decrescente de prioridade (em relação ao desempenho).

O driver de exibição do modo de usuário pode usar nomes diferentes para essas funções porque o endereço da tabela de funções (essa estrutura) é compartilhado entre o runtime do Direct3D 10 e o driver por meio da chamada para a função CreateDevice(D3D10) do driver.

Os membros pfnResetPrimitiveID e pfnSetVertexPipelineOutput (não mostrados aqui) e seus tipos de dados são reservados para uso do sistema e não devem ser usados no driver.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
Cabeçalho d3d10umddi.h (inclua D3d10umddi.h)

Confira também

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE