D3D11DDI_DEVICEFUNCS structure (d3d10umddi.h)

The D3D11DDI_DEVICEFUNCS structure contains functions that a user-mode display driver that is optimized for the Microsoft Direct3D version 11 runtime can implement to render graphics primitives and process state changes.

Syntax

typedef struct D3D11DDI_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;
  PFND3D11DDI_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;
  PFND3D11DDI_RELOCATEDEVICEFUNCS                       pfnRelocateDeviceFuncs;
  PFND3D11DDI_CALCPRIVATERESOURCESIZE                   pfnCalcPrivateResourceSize;
  PFND3D10DDI_CALCPRIVATEOPENEDRESOURCESIZE             pfnCalcPrivateOpenedResourceSize;
  PFND3D11DDI_CREATERESOURCE                            pfnCreateResource;
  PFND3D10DDI_OPENRESOURCE                              pfnOpenResource;
  PFND3D10DDI_DESTROYRESOURCE                           pfnDestroyResource;
  PFND3D11DDI_CALCPRIVATESHADERRESOURCEVIEWSIZE         pfnCalcPrivateShaderResourceViewSize;
  PFND3D11DDI_CREATESHADERRESOURCEVIEW                  pfnCreateShaderResourceView;
  PFND3D10DDI_DESTROYSHADERRESOURCEVIEW                 pfnDestroyShaderResourceView;
  PFND3D10DDI_CALCPRIVATERENDERTARGETVIEWSIZE           pfnCalcPrivateRenderTargetViewSize;
  PFND3D10DDI_CREATERENDERTARGETVIEW                    pfnCreateRenderTargetView;
  PFND3D10DDI_DESTROYRENDERTARGETVIEW                   pfnDestroyRenderTargetView;
  PFND3D11DDI_CALCPRIVATEDEPTHSTENCILVIEWSIZE           pfnCalcPrivateDepthStencilViewSize;
  PFND3D11DDI_CREATEDEPTHSTENCILVIEW                    pfnCreateDepthStencilView;
  PFND3D10DDI_DESTROYDEPTHSTENCILVIEW                   pfnDestroyDepthStencilView;
  PFND3D10DDI_CALCPRIVATEELEMENTLAYOUTSIZE              pfnCalcPrivateElementLayoutSize;
  PFND3D10DDI_CREATEELEMENTLAYOUT                       pfnCreateElementLayout;
  PFND3D10DDI_DESTROYELEMENTLAYOUT                      pfnDestroyElementLayout;
  PFND3D10_1DDI_CALCPRIVATEBLENDSTATESIZE               pfnCalcPrivateBlendStateSize;
  PFND3D10_1DDI_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;
  PFND3D11DDI_CALCPRIVATEGEOMETRYSHADERWITHSTREAMOUTPUT pfnCalcPrivateGeometryShaderWithStreamOutput;
  PFND3D11DDI_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_RESOURCECOPY                              pfnResourceConvert;
  PFND3D10DDI_RESOURCECOPYREGION                        pfnResourceConvertRegion;
  PFND3D10DDI_RESETPRIMITIVEID                          pfnResetPrimitiveID;
  PFND3D10DDI_SETVERTEXPIPELINEOUTPUT                   pfnSetVertexPipelineOutput;
  PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT              pfnDrawIndexedInstancedIndirect;
  PFND3D11DDI_DRAWINSTANCEDINDIRECT                     pfnDrawInstancedIndirect;
  PFND3D11DDI_COMMANDLISTEXECUTE                        pfnCommandListExecute;
  PFND3D10DDI_SETSHADERRESOURCES                        pfnHsSetShaderResources;
  PFND3D10DDI_SETSHADER                                 pfnHsSetShader;
  PFND3D10DDI_SETSAMPLERS                               pfnHsSetSamplers;
  PFND3D10DDI_SETCONSTANTBUFFERS                        pfnHsSetConstantBuffers;
  PFND3D10DDI_SETSHADERRESOURCES                        pfnDsSetShaderResources;
  PFND3D10DDI_SETSHADER                                 pfnDsSetShader;
  PFND3D10DDI_SETSAMPLERS                               pfnDsSetSamplers;
  PFND3D10DDI_SETCONSTANTBUFFERS                        pfnDsSetConstantBuffers;
  PFND3D11DDI_CREATEHULLSHADER                          pfnCreateHullShader;
  PFND3D11DDI_CREATEDOMAINSHADER                        pfnCreateDomainShader;
  PFND3D11DDI_CHECKDEFERREDCONTEXTHANDLESIZES           pfnCheckDeferredContextHandleSizes;
  PFND3D11DDI_CALCDEFERREDCONTEXTHANDLESIZE             pfnCalcDeferredContextHandleSize;
  PFND3D11DDI_CALCPRIVATEDEFERREDCONTEXTSIZE            pfnCalcPrivateDeferredContextSize;
  PFND3D11DDI_CREATEDEFERREDCONTEXT                     pfnCreateDeferredContext;
  PFND3D11DDI_ABANDONCOMMANDLIST                        pfnAbandonCommandList;
  PFND3D11DDI_CALCPRIVATECOMMANDLISTSIZE                pfnCalcPrivateCommandListSize;
  PFND3D11DDI_CREATECOMMANDLIST                         pfnCreateCommandList;
  PFND3D11DDI_DESTROYCOMMANDLIST                        pfnDestroyCommandList;
  PFND3D11DDI_CALCPRIVATETESSELLATIONSHADERSIZE         pfnCalcPrivateTessellationShaderSize;
  PFND3D11DDI_SETSHADER_WITH_IFACES                     pfnPsSetShaderWithIfaces;
  PFND3D11DDI_SETSHADER_WITH_IFACES                     pfnVsSetShaderWithIfaces;
  PFND3D11DDI_SETSHADER_WITH_IFACES                     pfnGsSetShaderWithIfaces;
  PFND3D11DDI_SETSHADER_WITH_IFACES                     pfnHsSetShaderWithIfaces;
  PFND3D11DDI_SETSHADER_WITH_IFACES                     pfnDsSetShaderWithIfaces;
  PFND3D11DDI_SETSHADER_WITH_IFACES                     pfnCsSetShaderWithIfaces;
  PFND3D11DDI_CREATECOMPUTESHADER                       pfnCreateComputeShader;
  PFND3D10DDI_SETSHADER                                 pfnCsSetShader;
  PFND3D10DDI_SETSHADERRESOURCES                        pfnCsSetShaderResources;
  PFND3D10DDI_SETSAMPLERS                               pfnCsSetSamplers;
  PFND3D10DDI_SETCONSTANTBUFFERS                        pfnCsSetConstantBuffers;
  PFND3D11DDI_CALCPRIVATEUNORDEREDACCESSVIEWSIZE        pfnCalcPrivateUnorderedAccessViewSize;
  PFND3D11DDI_CREATEUNORDEREDACCESSVIEW                 pfnCreateUnorderedAccessView;
  PFND3D11DDI_DESTROYUNORDEREDACCESSVIEW                pfnDestroyUnorderedAccessView;
  PFND3D11DDI_CLEARUNORDEREDACCESSVIEWUINT              pfnClearUnorderedAccessViewUint;
  PFND3D11DDI_CLEARUNORDEREDACCESSVIEWFLOAT             pfnClearUnorderedAccessViewFloat;
  PFND3D11DDI_SETUNORDEREDACCESSVIEWS                   pfnCsSetUnorderedAccessViews;
  PFND3D11DDI_DISPATCH                                  pfnDispatch;
  PFND3D11DDI_DISPATCHINDIRECT                          pfnDispatchIndirect;
  PFND3D11DDI_SETRESOURCEMINLOD                         pfnSetResourceMinLOD;
  PFND3D11DDI_COPYSTRUCTURECOUNT                        pfnCopyStructureCount;
  PFND3D11DDI_RECYCLECOMMANDLIST                        pfnRecycleCommandList;
  PFND3D11DDI_RECYCLECREATECOMMANDLIST                  pfnRecycleCreateCommandList;
  PFND3D11DDI_RECYCLECREATEDEFERREDCONTEXT              pfnRecycleCreateDeferredContext;
  PFND3D11DDI_DESTROYCOMMANDLIST                        pfnRecycleDestroyCommandList;
} D3D11DDI_DEVICEFUNCS;

Members

pfnDefaultConstantBufferUpdateSubresourceUP

A pointer to the driver's DefaultConstantBufferUpdateSubresourceUP function.

pfnVsSetConstantBuffers

A pointer to the driver's VsSetConstantBuffers function.

pfnPsSetShaderResources

A pointer to the driver's PsSetShaderResources function.

pfnPsSetShader

A pointer to the driver's PsSetShader function.

pfnPsSetSamplers

A pointer to the driver's PsSetSamplers function.

pfnVsSetShader

A pointer to the driver's VsSetShader function.

pfnDrawIndexed

A pointer to the driver's DrawIndexed function.

pfnDraw

A pointer to the driver's Draw function.

pfnDynamicIABufferMapNoOverwrite

A pointer to the driver's ResourceMap function. For more information about whether to implement a separate DynamicIABufferMapNoOverwrite function or to point to the multipurpose ResourceMap, see the Remarks section of ResourceMap.

pfnDynamicIABufferUnmap

A pointer to the driver's ResourceUnmap function. For more information about whether to implement a separate DynamicIABufferUnmap function or to point to the multipurpose ResourceUnmap, see the Remarks section of ResourceMap.

pfnDynamicConstantBufferMapDiscard

A pointer to the driver's ResourceMap function. For more information about whether to implement a separate DynamicConstantBufferMapDiscard function or to point to the multipurpose ResourceMap, see the Remarks section of ResourceMap.

pfnDynamicIABufferMapDiscard

A pointer to the driver's ResourceMap function. For more information about whether to implement a separate DynamicIABufferMapDiscard function or to point to the multipurpose ResourceMap, see the Remarks section of ResourceMap.

pfnDynamicConstantBufferUnmap

A pointer to the driver's ResourceUnmap function. For more information about whether to implement a separate DynamicConstantBufferUnmap function or to point to the multipurpose ResourceUnmap, see the Remarks section of ResourceMap.

pfnPsSetConstantBuffers

A pointer to the driver's PsSetConstantBuffers function.

pfnIaSetInputLayout

A pointer to the driver's IaSetInputLayout function.

pfnIaSetVertexBuffers

A pointer to the driver's IaSetVertexBuffers function.

pfnIaSetIndexBuffer

A pointer to the driver's IaSetIndexBuffer function.

pfnDrawIndexedInstanced

A pointer to the driver's DrawIndexedInstanced function.

pfnDrawInstanced

A pointer to the driver's DrawInstanced function.

pfnDynamicResourceMapDiscard

A pointer to the driver's ResourceMap function. For more information about whether to implement a separate DynamicResourceMapDiscard function or to point to the multipurpose ResourceMap, see the Remarks section of ResourceMap.

pfnDynamicResourceUnmap

A pointer to the driver's ResourceUnmap function. For more information about whether to implement a separate DynamicResourceUnmap function or to point to the multipurpose ResourceUnmap, see the Remarks section of ResourceMap.

pfnGsSetConstantBuffers

A pointer to the driver's GsSetConstantBuffers function.

pfnGsSetShader

A pointer to the driver's GsSetShader function.

pfnIaSetTopology

A pointer to the driver's IaSetTopology function.

pfnStagingResourceMap

A pointer to the driver's ResourceMap function. For more information about whether to implement a separate StagingResourceMap function or to point to the multipurpose ResourceMap, see the Remarks section of ResourceMap.

pfnStagingResourceUnmap

A pointer to the driver's ResourceUnmap function. For more information about whether to implement a separate StagingResourceUnmap function or to point to the multipurpose ResourceUnmap, see the Remarks section of ResourceMap.

pfnVsSetShaderResources

A pointer to the driver's VsSetShaderResources function.

pfnVsSetSamplers

A pointer to the driver's VsSetSamplers function.

pfnGsSetShaderResources

A pointer to the driver's GsSetShaderResources function.

pfnGsSetSamplers

A pointer to the driver's GsSetSamplers function.

pfnSetRenderTargets

A pointer to the driver's SetRenderTargets(D3D11) function.

pfnShaderResourceViewReadAfterWriteHazard

A pointer to the driver's ShaderResourceViewReadAfterWriteHazard function.

pfnResourceReadAfterWriteHazard

A pointer to the driver's ResourceReadAfterWriteHazard function.

pfnSetBlendState

A pointer to the driver's SetBlendState function.

pfnSetDepthStencilState

A pointer to the driver's SetDepthStencilState function.

pfnSetRasterizerState

A pointer to the driver's SetRasterizerState function.

pfnQueryEnd

A pointer to the driver's QueryEnd function.

pfnQueryBegin

A pointer to the driver's QueryBegin function.

pfnResourceCopyRegion

A pointer to the driver's ResourceCopyRegion function.

pfnResourceUpdateSubresourceUP

A pointer to the driver's ResourceUpdateSubresourceUP function.

pfnSoSetTargets

A pointer to the driver's SoSetTargets function.

pfnDrawAuto

A pointer to the driver's DrawAuto function.

pfnSetViewports

A pointer to the driver's SetViewports function.

pfnSetScissorRects

A pointer to the driver's SetScissorRects function.

pfnClearRenderTargetView

A pointer to the driver's ClearRenderTargetView function.

pfnClearDepthStencilView

A pointer to the driver's ClearDepthStencilView function.

pfnSetPredication

A pointer to the driver's SetPredication function.

pfnQueryGetData

A pointer to the driver's QueryGetData function.

pfnFlush

A pointer to the driver's Flush(D3D10) function.

pfnGenMips

A pointer to the driver's GenMips function.

pfnResourceCopy

A pointer to the driver's ResourceCopy function.

pfnResourceResolveSubresource

A pointer to the driver's ResourceResolveSubresource function.

pfnResourceMap

A pointer to the driver's ResourceMap function.

pfnResourceUnmap

A pointer to the driver's ResourceUnmap function.

pfnResourceIsStagingBusy

A pointer to the driver's ResourceIsStagingBusy function.

pfnRelocateDeviceFuncs

A pointer to the driver's RelocateDeviceFuncs(D3D11) function.

pfnCalcPrivateResourceSize

A pointer to the driver's CalcPrivateResourceSize(D3D11) function.

pfnCalcPrivateOpenedResourceSize

A pointer to the driver's CalcPrivateOpenedResourceSize function.

pfnCreateResource

A pointer to the driver's CreateResource(D3D11) function.

pfnOpenResource

A pointer to the driver's OpenResource(D3D10) function.

pfnDestroyResource

A pointer to the driver's DestroyResource(D3D10) function.

pfnCalcPrivateShaderResourceViewSize

A pointer to the driver's CalcPrivateShaderResourceViewSize(D3D11) function.

pfnCreateShaderResourceView

A pointer to the driver's CreateShaderResourceView(D3D11) function.

pfnDestroyShaderResourceView

A pointer to the driver's DestroyShaderResourceView function.

pfnCalcPrivateRenderTargetViewSize

A pointer to the driver's CalcPrivateRenderTargetViewSize function.

pfnCreateRenderTargetView

A pointer to the driver's CreateRenderTargetView function.

pfnDestroyRenderTargetView

A pointer to the driver's DestroyRenderTargetView function.

pfnCalcPrivateDepthStencilViewSize

A pointer to the driver's CalcPrivateDepthStencilViewSize(D3D11) function.

pfnCreateDepthStencilView

A pointer to the driver's CreateDepthStencilView(D3D11) function.

pfnDestroyDepthStencilView

A pointer to the driver's DestroyDepthStencilView function.

pfnCalcPrivateElementLayoutSize

A pointer to the driver's CalcPrivateElementLayoutSize function.

pfnCreateElementLayout

A pointer to the driver's CreateElementLayout function.

pfnDestroyElementLayout

A pointer to the driver's DestroyElementLayout function.

pfnCalcPrivateBlendStateSize

A pointer to the driver's CalcPrivateBlendStateSize(D3D10_1) function.

pfnCreateBlendState

A pointer to the driver's CreateBlendState(D3D10_1) function.

pfnDestroyBlendState

A pointer to the driver's DestroyBlendState function.

pfnCalcPrivateDepthStencilStateSize

A pointer to the driver's CalcPrivateDepthStencilStateSize function.

pfnCreateDepthStencilState

A pointer to the driver's CreateDepthStencilState function.

pfnDestroyDepthStencilState

A pointer to the driver's DestroyDepthStencilState function.

pfnCalcPrivateRasterizerStateSize

A pointer to the driver's CalcPrivateRasterizerStateSize function.

pfnCreateRasterizerState

A pointer to the driver's CreateRasterizerState function.

pfnDestroyRasterizerState

A pointer to the driver's DestroyRasterizerState function.

pfnCalcPrivateShaderSize

A pointer to the driver's CalcPrivateShaderSize function.

pfnCreateVertexShader

A pointer to the driver's CreateVertexShader(D3D10) function.

pfnCreateGeometryShader

A pointer to the driver's CreateGeometryShader function.

pfnCreatePixelShader

A pointer to the driver's CreatePixelShader(D3D10) function.

pfnCalcPrivateGeometryShaderWithStreamOutput

A pointer to the driver's CalcPrivateGeometryShaderWithStreamOutput(D3D11) function.

pfnCreateGeometryShaderWithStreamOutput

A pointer to the driver's CreateGeometryShaderWithStreamOutput(D3D11) function.

pfnDestroyShader

A pointer to the driver's DestroyShader function.

pfnCalcPrivateSamplerSize

A pointer to the driver's CalcPrivateSamplerSize function.

pfnCreateSampler

A pointer to the driver's CreateSampler function.

pfnDestroySampler

A pointer to the driver's DestroySampler function.

pfnCalcPrivateQuerySize

A pointer to the driver's CalcPrivateQuerySize function.

pfnCreateQuery

A pointer to the driver's CreateQuery(D3D10) function.

pfnDestroyQuery

A pointer to the driver's DestroyQuery(D3D10) function.

pfnCheckFormatSupport

A pointer to the driver's CheckFormatSupport function.

pfnCheckMultisampleQualityLevels

A pointer to the driver's CheckMultisampleQualityLevels function.

pfnCheckCounterInfo

A pointer to the driver's CheckCounterInfo function.

pfnCheckCounter

A pointer to the driver's CheckCounter function.

pfnDestroyDevice

A pointer to the driver's DestroyDevice(D3D10) function.

pfnSetTextFilterSize

A pointer to the driver's SetTextFilterSize function.

The following two functions are supported beginning with Windows Vista with Service Pack 1 (SP1) and Windows Server 2008:  

pfnResourceConvert

A pointer to the driver's ResourceCopy function. For more information about whether to implement a separate ResourceConvert function or to point to the multipurpose ResourceCopy, see the Remarks section of ResourceCopy.

pfnResourceConvertRegion

A pointer to the driver's ResourceCopyRegion function. For more information about whether to implement a separate ResourceConvertRegion function or to point to the multipurpose ResourceCopyRegion, see the Remarks section of ResourceCopyRegion.

The following functions are supported beginning with Windows 7:  

pfnResetPrimitiveID

pfnSetVertexPipelineOutput

pfnDrawIndexedInstancedIndirect

A pointer to the driver's DrawIndexedInstancedIndirect function.

pfnDrawInstancedIndirect

A pointer to the driver's DrawInstancedIndirect function.

pfnCommandListExecute

A pointer to the driver's CommandListExecute function. The driver is only required to implement CommandListExecute if the driver supports the D3D11DDICAPS_COMMANDLISTS_BUILD_2 capability.

pfnHsSetShaderResources

A pointer to the driver's HsSetShaderResources function.

pfnHsSetShader

A pointer to the driver's HsSetShader function.

pfnHsSetSamplers

A pointer to the driver's HsSetSamplers function.

pfnHsSetConstantBuffers

A pointer to the driver's HsSetConstantBuffers function.

pfnDsSetShaderResources

A pointer to the driver's DsSetShaderResources function.

pfnDsSetShader

A pointer to the driver's DsSetShader function.

pfnDsSetSamplers

A pointer to the driver's DsSetSamplers function.

pfnDsSetConstantBuffers

A pointer to the driver's DsSetConstantBuffers function.

pfnCreateHullShader

A pointer to the driver's CreateHullShader function.

pfnCreateDomainShader

A pointer to the driver's CreateDomainShader function.

pfnCheckDeferredContextHandleSizes

A pointer to the driver's CheckDeferredContextHandleSizes function. The driver is only required to implement CheckDeferredContextHandleSizes if the driver supports the D3D11DDICAPS_COMMANDLISTS_BUILD_2 capability.

pfnCalcDeferredContextHandleSize

A pointer to the driver's CalcDeferredContextHandleSize function. The driver is only required to implement CalcDeferredContextHandleSize if the driver supports the D3D11DDICAPS_COMMANDLISTS_BUILD_2 capability.

pfnCalcPrivateDeferredContextSize

A pointer to the driver's CalcPrivateDeferredContextSize function. The driver is only required to implement CalcPrivateDeferredContextSize if the driver supports the D3D11DDICAPS_COMMANDLISTS_BUILD_2 capability.

pfnCreateDeferredContext

A pointer to the driver's CreateDeferredContext function. The driver is only required to implement CreateDeferredContext if the driver supports the D3D11DDICAPS_COMMANDLISTS_BUILD_2 capability.

pfnAbandonCommandList

A pointer to the driver's AbandonCommandList function. The driver is only required to implement AbandonCommandList if the driver supports the D3D11DDICAPS_COMMANDLISTS_BUILD_2 capability.

pfnCalcPrivateCommandListSize

A pointer to the driver's CalcPrivateCommandListSize function. The driver is only required to implement CalcPrivateCommandListSize if the driver supports the D3D11DDICAPS_COMMANDLISTS_BUILD_2 capability.

pfnCreateCommandList

A pointer to the driver's CreateCommandList function. The driver is only required to implement CreateCommandList if the driver supports the D3D11DDICAPS_COMMANDLISTS_BUILD_2 capability.

pfnDestroyCommandList

A pointer to the driver's DestroyCommandList function. The driver is only required to implement DestroyCommandList if the driver supports the D3D11DDICAPS_COMMANDLISTS_BUILD_2 capability.

pfnCalcPrivateTessellationShaderSize

A pointer to the driver's CalcPrivateTessellationShaderSize function.

pfnPsSetShaderWithIfaces

A pointer to the driver's PsSetShaderWithIfaces function.

pfnVsSetShaderWithIfaces

A pointer to the driver's VsSetShaderWithIfaces function.

pfnGsSetShaderWithIfaces

A pointer to the driver's GsSetShaderWithIfaces function.

pfnHsSetShaderWithIfaces

A pointer to the driver's HsSetShaderWithIfaces function.

pfnDsSetShaderWithIfaces

A pointer to the driver's DsSetShaderWithIfaces function.

pfnCsSetShaderWithIfaces

A pointer to the driver's CsSetShaderWithIfaces function.

pfnCreateComputeShader

A pointer to the driver's CreateComputeShader function.

pfnCsSetShader

A pointer to the driver's CsSetShader function.

pfnCsSetShaderResources

A pointer to the driver's CsSetShaderResources function.

pfnCsSetSamplers

A pointer to the driver's CsSetSamplers function.

pfnCsSetConstantBuffers

A pointer to the driver's CsSetConstantBuffers function.

pfnCalcPrivateUnorderedAccessViewSize

A pointer to the driver's CalcPrivateUnorderedAccessViewSize function.

pfnCreateUnorderedAccessView

A pointer to the driver's CreateUnorderedAccessView function.

pfnDestroyUnorderedAccessView

A pointer to the driver's DestroyUnorderedAccessView function.

pfnClearUnorderedAccessViewUint

A pointer to the driver's ClearUnorderedAccessViewUINT function.

pfnClearUnorderedAccessViewFloat

A pointer to the driver's ClearUnorderedAccessViewFLOAT function.

pfnCsSetUnorderedAccessViews

A pointer to the driver's CsSetUnorderedAccessViews function.

pfnDispatch

A pointer to the driver's Dispatch function.

pfnDispatchIndirect

A pointer to the driver's DispatchIndirect function.

pfnSetResourceMinLOD

A pointer to the driver's SetResourceMinLOD function.

pfnCopyStructureCount

A pointer to the driver's CopyStructureCount function.

pfnRecycleCommandList

A pointer to the driver's RecycleCommandList function.

pfnRecycleCreateCommandList

A pointer to the driver's RecycleCreateCommandList function.

pfnRecycleCreateDeferredContext

A pointer to the driver's RecycleCreateDeferredContext function.

pfnRecycleDestroyCommandList

A pointer to the driver's RecycleDestroyCommandList function.

Remarks

The order of user-mode display driver functions (that is, the order of the members of the D3D11DDI_DEVICEFUNCS structure) is in decreasing order of priority (in regard to performance).

The user-mode display driver can use different names for these functions because the address of the function table (this structure) is shared between the Direct3D 11 runtime and the driver through the call to the driver's CreateDevice(D3D10) function.

The pfnResetPrimitiveID and pfnSetVertexPipelineOutput members (not shown here) and their data types are reserved for system use and should not be used in your driver.

Deferred contexts

For a list of the functions that are not leveraged for deferred contexts, see Excluding DDI Functions for Deferred Contexts.

Requirements

Requirement Value
Minimum supported client D3D11DDI_DEVICEFUNCS is supported beginning with the Windows 7 operating system.
Header d3d10umddi.h (include D3d10umddi.h)

See also

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE

D3D11_1DDI_DEVICEFUNCS