D3D10DDI_DEVICEFUNCS 結構 (d3d10umddi.h)
D3D10DDI_DEVICEFUNCS 結構包含使用者模式顯示驅動程式可以實作的函式,以轉譯圖形基本類型和處理狀態變更。
語法
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;
成員
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 函式或指向 multipurpose ResourceMap 的詳細資訊,請參閱 ResourceMap 的一節。
pfnDynamicConstantBufferUnmap
驅動程式 ResourceUnmap 函式的指標。 如需如何實作個別 DynamicConstantBufferUnmap 函式或指向 Multipurpose ResourceUnmap 的詳細資訊,請參閱 ResourceMap 的一節。
pfnPsSetConstantBuffers
驅動程式 PsSetConstantBuffers 函式的指標。
pfnIaSetInputLayout
驅動程式 的 IaSetInputLayout 函式指標。
pfnIaSetVertexBuffers
驅動程式 的 IaSetVertexBuffers 函式指標。
pfnIaSetIndexBuffer
驅動程式 的 IaSetIndexBuffer 函式指標。
pfnDrawIndexedInstanced
驅動程式 DrawIndexedInstanced 函式的 指標。
pfnDrawInstanced
驅動程式 DrawInstanced 函式 的指標。
pfnDynamicResourceMapDiscard
驅動程式 ResourceMap 函式的指標。 如需如何實作個別 DynamicResourceMapDiscard 函式或指向多用途 ResourceMap 的詳細資訊,請參閱 ResourceMap 的一節。
pfnDynamicResourceUnmap
驅動程式 ResourceUnmap 函式的指標。 如需如何實作個別 DynamicResourceUnmap 函式或指向 Multipurpose ResourceUnmap 的詳細資訊,請參閱 ResourceUnmap 的一節。
pfnGsSetConstantBuffers
驅動程式 GsSetConstantBuffers 函式的指標。
pfnGsSetShader
驅動程式 GsSetShader 函式的指標。
pfnIaSetTopology
驅動程式 的 IaSetTopology 函式指標。
pfnStagingResourceMap
驅動程式 ResourceMap 函式的指標。 如需如何實作個別 StagingResourceMap 函式或指向多用途 ResourceMap 的詳細資訊,請參閱 ResourceMap 的一節。
pfnStagingResourceUnmap
驅動程式 ResourceUnmap 函式的指標。 如需如何實作個別 的 StagingResourceUnmap 函式或指向 Multipurpose ResourceUnmap 的詳細資訊,請參閱 ResourceMap 的一節。
pfnVsSetShaderResources
驅動程式 VsSetShaderResources 函式的指標。
pfnVsSetSamplers
驅動程式 VsSetSamplers 函式的指標。
pfnGsSetShaderResources
驅動程式 GsSetShaderResources 函式的指標。
pfnGsSetSamplers
驅動程式 GsSetSamplers 函式的指標。
pfnSetRenderTargets
驅動程式 SetRenderTargets 函式的指標。
pfnShaderResourceViewReadAfterWriteHazard
驅動程式 著色器ResourceViewReadAfterWriteHazard 函式的指標。
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 函式 的指標。
pfnCalcPrivateResourceSize
驅動程式 的 CalcPrivateResourceSize 函式指標。
pfnCalcPrivateOpenedResourceSize
驅動程式 的 CalcPrivateOpenedResourceSize 函式的指標。
pfnCreateResource
驅動程式 CreateResource (D3D10) 函式的指標。
pfnOpenResource
驅動程式 OpenResource (D3D10) 函式的指標。
pfnDestroyResource
驅動程式 DestroyResource (D3D10) 函式的指標。
pfnCalcPrivateShaderResourceViewSize
驅動程式 的 CalcPrivateShaderResourceViewSize 函式的指標。
pfnCreateShaderResourceView
驅動程式 CreateShaderResourceView 函式的指標。
pfnDestroyShaderResourceView
驅動程式 DestroyShaderResourceView 函式的指標。
pfnCalcPrivateRenderTargetViewSize
驅動程式 的 CalcPrivateRenderTargetViewSize 函式指標。
pfnCreateRenderTargetView
驅動程式 CreateRenderTargetView 函式的指標。
pfnDestroyRenderTargetView
驅動程式 DestroyRenderTargetView 函式的指標。
pfnCalcPrivateDepthStencilViewSize
驅動程式 的 CalcPrivateDepthStencilViewSize 函式的指標。
pfnCreateDepthStencilView
驅動程式 CreateDepthStencilView 函式的指標。
pfnDestroyDepthStencilView
驅動程式 DestroyDepthStencilView 函式的指標。
pfnCalcPrivateElementLayoutSize
驅動程式 的 CalcPrivateElementLayoutSize 函式指標。
pfnCreateElementLayout
驅動程式 CreateElementLayout 函式的指標。
pfnDestroyElementLayout
驅動程式 DestroyElementLayout 函式的指標。
pfnCalcPrivateBlendStateSize
驅動程式 的 CalcPrivateBlendStateSize 函式指標。
pfnCreateBlendState
驅動程式 CreateBlendState 函式的指標。
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 函式的指標。
pfnResetPrimitiveID
pfnSetVertexPipelineOutput
備註
使用者模式顯示驅動程式函式 (的順序,也就是D3D10DDI_DEVICEFUNCS結構) 成員的順序會降低效能) 的優先順序 (順序。
使用者模式顯示驅動程式可以針對這些函式使用不同的名稱,因為函式數據表的位址 (此結構) 會在 Direct3D 10 運行時間與驅動程式之間透過呼叫驅動程式的 CreateDevice (D3D10) 函式共用。
pfnResetPrimitiveID 和 pfnSetVertexPipelineOutput 成員 (此處未顯示) ,而且其數據類型會保留供系統使用,且不應在驅動程式中使用。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
標頭 | d3d10umddi.h (include D3d10umddi.h) |