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 を含む)

こちらもご覧ください

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE