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