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