D3D11DDI_CORELAYER_DEVICECALLBACKS 结构 (d3d10umddi.h)

D3D11DDI_CORELAYER_DEVICECALLBACKS 结构包含用户模式显示驱动程序可以使用的 Microsoft Direct3D 11 运行时回调函数。

语法

typedef struct D3D11DDI_CORELAYER_DEVICECALLBACKS {
  PFND3D10DDI_SETERROR_CB                                      pfnSetErrorCb;
  PFND3D10DDI_STATE_VS_CONSTBUF_CB                             pfnStateVsConstBufCb;
  PFND3D10DDI_STATE_PS_SRV_CB                                  pfnStatePsSrvCb;
  PFND3D10DDI_STATE_PS_SHADER_CB                               pfnStatePsShaderCb;
  PFND3D10DDI_STATE_PS_SAMPLER_CB                              pfnStatePsSamplerCb;
  PFND3D10DDI_STATE_VS_SHADER_CB                               pfnStateVsShaderCb;
  PFND3D10DDI_STATE_PS_CONSTBUF_CB                             pfnStatePsConstBufCb;
  PFND3D10DDI_STATE_IA_INPUTLAYOUT_CB                          pfnStateIaInputLayoutCb;
  PFND3D10DDI_STATE_IA_VERTEXBUF_CB                            pfnStateIaVertexBufCb;
  PFND3D10DDI_STATE_IA_INDEXBUF_CB                             pfnStateIaIndexBufCb;
  PFND3D10DDI_STATE_GS_CONSTBUF_CB                             pfnStateGsConstBufCb;
  PFND3D10DDI_STATE_GS_SHADER_CB                               pfnStateGsShaderCb;
  PFND3D10DDI_STATE_IA_PRIMITIVE_TOPOLOGY_CB                   pfnStateIaPrimitiveTopologyCb;
  PFND3D10DDI_STATE_VS_SRV_CB                                  pfnStateVsSrvCb;
  PFND3D10DDI_STATE_VS_SAMPLER_CB                              pfnStateVsSamplerCb;
  PFND3D10DDI_STATE_GS_SRV_CB                                  pfnStateGsSrvCb;
  PFND3D10DDI_STATE_GS_SAMPLER_CB                              pfnStateGsSamplerCb;
  PFND3D10DDI_STATE_OM_RENDERTARGETS_CB                        pfnStateOmRenderTargetsCb;
  PFND3D10DDI_STATE_OM_BLENDSTATE_CB                           pfnStateOmBlendStateCb;
  PFND3D10DDI_STATE_OM_DEPTHSTATE_CB                           pfnStateOmDepthStateCb;
  PFND3D10DDI_STATE_RS_RASTSTATE_CB                            pfnStateRsRastStateCb;
  PFND3D10DDI_STATE_SO_TARGETS_CB                              pfnStateSoTargetsCb;
  PFND3D10DDI_STATE_RS_VIEWPORTS_CB                            pfnStateRsViewportsCb;
  PFND3D10DDI_STATE_RS_SCISSOR_CB                              pfnStateRsScissorCb;
  PFND3D10DDI_DISABLE_DEFERRED_STAGING_RESOURCE_DESTRUCTION_CB pfnDisableDeferredStagingResourceDestruction;
  PFND3D10DDI_STATE_TEXTFILTERSIZE_CB                          pfnStateTextFilterSizeCb;
  PFND3D11DDI_STATE_HS_SRV_CB                                  pfnStateHsSrvCb;
  PFND3D11DDI_STATE_HS_SHADER_CB                               pfnStateHsShaderCb;
  PFND3D11DDI_STATE_HS_SAMPLER_CB                              pfnStateHsSamplerCb;
  PFND3D11DDI_STATE_HS_CONSTBUF_CB                             pfnStateHsConstBufCb;
  PFND3D11DDI_STATE_DS_SRV_CB                                  pfnStateDsSrvCb;
  PFND3D11DDI_STATE_DS_SHADER_CB                               pfnStateDsShaderCb;
  PFND3D11DDI_STATE_DS_SAMPLER_CB                              pfnStateDsSamplerCb;
  PFND3D11DDI_STATE_DS_CONSTBUF_CB                             pfnStateDsConstBufCb;
  PFND3D11DDI_PERFORM_AMORTIZED_PROCESSING_CB                  pfnPerformAmortizedProcessingCb;
  PFND3D11DDI_STATE_CS_SRV_CB                                  pfnStateCsSrvCb;
  PFND3D11DDI_STATE_CS_UAV_CB                                  pfnStateCsUavCb;
  PFND3D11DDI_STATE_CS_SHADER_CB                               pfnStateCsShaderCb;
  PFND3D11DDI_STATE_CS_SAMPLER_CB                              pfnStateCsSamplerCb;
  PFND3D11DDI_STATE_CS_CONSTBUF_CB                             pfnStateCsConstBufCb;
} D3D11DDI_CORELAYER_DEVICECALLBACKS;

成员

pfnSetErrorCb

指向 pfnSetErrorCb 函数的指针,驱动程序使用该函数将错误发送回 Direct3D 11 运行时,因为许多驱动程序的函数在 D3D11DDI_DEVICEFUNCS () 返回 void。

pfnStateVsConstBufCb

指向 pfnStateVsConstBufCb 函数的 指针。

pfnStatePsSrvCb

指向 pfnStatePsSrvCb 函数的指针。

pfnStatePsShaderCb

指向 pfnStatePsShaderCb 函数的指针。

pfnStatePsSamplerCb

指向 pfnStatePsSamplerCb 函数的指针。

pfnStateVsShaderCb

指向 pfnStateVsShaderCb 函数的指针。

pfnStatePsConstBufCb

指向 pfnStatePsConstBufCb 函数的 指针。

pfnStateIaInputLayoutCb

指向 pfnStateIaInputLayoutCb 函数的 指针。

pfnStateIaVertexBufCb

指向 pfnStateIaVertexBufCb 函数的 指针。

pfnStateIaIndexBufCb

指向 pfnStateIaIndexBufCb 函数的 指针。

pfnStateGsConstBufCb

指向 pfnStateGsConstBufCb 函数的 指针。

pfnStateGsShaderCb

指向 pfnStateGsShaderCb 函数的指针。

pfnStateIaPrimitiveTopologyCb

指向 pfnStateIaPrimitiveTopologyCb 函数的指针。

pfnStateVsSrvCb

指向 pfnStateVsSrvCb 函数的指针。

pfnStateVsSamplerCb

指向 pfnStateVsSamplerCb 函数的指针。

pfnStateGsSrvCb

指向 pfnStateGsSrvCb 函数的指针。

pfnStateGsSamplerCb

指向 pfnStateGsSamplerCb 函数的指针。

pfnStateOmRenderTargetsCb

指向 pfnStateOmRenderTargetsCb 函数的 指针。

pfnStateOmBlendStateCb

指向 pfnStateOmBlendStateCb 函数的 指针。

pfnStateOmDepthStateCb

指向 pfnStateOmDepthStateCb 函数的 指针。

pfnStateRsRastStateCb

指向 pfnStateRsRastateCb 函数的 指针。

pfnStateSoTargetsCb

指向 pfnStateSoTargetsCb 函数的 指针。

pfnStateRsViewportsCb

指向 pfnStateRsViewportsCb 函数的 指针。

pfnStateRsScissorCb

指向 pfnStateRsScissorCb 函数的 指针。

pfnDisableDeferredStagingResourceDestruction

指向 pfnDisableDeferredStagingResourceDestruction 函数的 指针。 默认情况下,Direct3D 10 运行时会延迟暂存资源的销毁,直到驱动程序指示硬件不再需要它们。 如果驱动程序不需要延迟销毁功能,驱动程序可以调用此函数来禁用此功能。

pfnStateTextFilterSizeCb

指向 pfnStateTextFilterSizeCb 函数的指针。

从 Windows 7 开始支持以下函数:

pfnStateHsSrvCb

指向 pfnStateHsSrvCb 函数的指针。

pfnStateHsShaderCb

指向 pfnStateHsShaderCb 函数的指针。

pfnStateHsSamplerCb

指向 pfnStateHsSamplerCb 函数的指针。

pfnStateHsConstBufCb

指向 pfnStateHsConstBufCb 函数的 指针。

pfnStateDsSrvCb

指向 pfnStateDsSrvCb 函数的 指针。

pfnStateDsShaderCb

指向 pfnStateDsShaderCb 函数的指针。

pfnStateDsSamplerCb

指向 pfnStateDsSamplerCb 函数的指针。

pfnStateDsConstBufCb

指向 pfnStateDsConstBufCb 函数的 指针。

pfnPerformAmortizedProcessingCb

指向 pfnPerformAmortizedProcessingCb 函数的指针。

pfnStateCsSrvCb

指向 pfnStateCsSrvCb 函数的指针。

pfnStateCsUavCb

指向 pfnStateCsUavCb 函数的指针。

pfnStateCsShaderCb

指向 pfnStateCsShaderCb 函数的指针。

pfnStateCsSamplerCb

指向 pfnStateCsSamplerCb 函数的指针。

pfnStateCsConstBufCb

指向 pfnStateCsConstBufCb 函数的 指针。

注解

由于 Direct3D 11 运行时可能会动态更改函数指针,因此用户模式显示驱动程序无法直接缓存函数指针。

驱动程序使用名称中带有“State”的函数来检索管道的当前状态。

要求

要求
最低受支持的客户端 从 Windows 7 操作系统开始支持D3D11DDI_CORELAYER_DEVICECALLBACKS。
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

CreateDevice (D3D10)

D3D10DDIARG_CREATEDEVICE

D3D11DDI_DEVICEFUNCS