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 関数を実装するか、多目的 ResourceMap をポイントするかの詳細については、 ResourceMap の「解説」セクションを参照してください。
pfnDynamicConstantBufferUnmap
ドライバーの ResourceUnmap 関数へのポインター。 別の DynamicConstantBufferUnmap 関数を実装するか、多目的 ResourceUnmap をポイントするかの詳細については、 ResourceMap の「解説」セクションを参照してください。
pfnPsSetConstantBuffers
ドライバーの PsSetConstantBuffers 関数へのポインター。
pfnIaSetInputLayout
ドライバーの IaSetInputLayout 関数へのポインター。
pfnIaSetVertexBuffers
ドライバーの IaSetVertexBuffers 関数へのポインター。
pfnIaSetIndexBuffer
ドライバーの IaSetIndexBuffer 関数へのポインター。
pfnDrawIndexedInstanced
ドライバーの DrawIndexedInstanced 関数へのポインター。
pfnDrawInstanced
ドライバーの DrawInstanced 関数へのポインター。
pfnDynamicResourceMapDiscard
ドライバーの ResourceMap 関数へのポインター。 別の DynamicResourceMapDiscard 関数を実装するか、多目的 ResourceMap をポイントするかの詳細については、 ResourceMap の「解説」セクションを参照してください。
pfnDynamicResourceUnmap
ドライバーの ResourceUnmap 関数へのポインター。 別の DynamicResourceUnmap 関数を実装するか、多目的 ResourceUnmap をポイントするかの詳細については、 ResourceUnmap の「解説」セクションを参照してください。
pfnGsSetConstantBuffers
ドライバーの GsSetConstantBuffers 関数へのポインター。
pfnGsSetShader
ドライバーの GsSetShader 関数へのポインター。
pfnIaSetTopology
ドライバーの IaSetTopology 関数へのポインター。
pfnStagingResourceMap
ドライバーの ResourceMap 関数へのポインター。 個別の StagingResourceMap 関数を実装するか、多目的 ResourceMap をポイントするかの詳細については、 ResourceMap の「解説」セクションを参照してください。
pfnStagingResourceUnmap
ドライバーの ResourceUnmap 関数へのポインター。 個別の StagingResourceUnmap 関数を実装するか、多目的 ResourceUnmap をポイントするかの詳細については、 ResourceMap の「解説」セクションを参照してください。
pfnVsSetShaderResources
ドライバーの VsSetShaderResources 関数へのポインター。
pfnVsSetSamplers
ドライバーの VsSetSamplers 関数へのポインター。
pfnGsSetShaderResources
ドライバーの GsSetShaderResources 関数へのポインター。
pfnGsSetSamplers
ドライバーの GsSetSamplers 関数へのポインター。
pfnSetRenderTargets
ドライバーの SetRenderTargets 関数へのポインター。
pfnShaderResourceViewReadAfterWriteHazard
ドライバーの ShaderResourceViewReadAfterWriteHazard 関数へのポインター。
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 オペレーティング システムで使用できます。 |
Header | d3d10umddi.h (D3d10umddi.h を含む) |