PFND3D11DDI_SETSHADER_WITH_IFACES回调函数 (d3d10umddi.h)

CsSetShaderWithIfaces 函数设置计算着色器代码以及一组接口,以便所有后续调度操作都使用该代码和这些接口。

语法

PFND3D11DDI_SETSHADER_WITH_IFACES Pfnd3d11ddiSetshaderWithIfaces;

void Pfnd3d11ddiSetshaderWithIfaces(
       D3D10DDI_HDEVICE unnamedParam1,
       D3D10DDI_HSHADER unnamedParam2,
  [in] UINT NumClassInstances,
       const UINT *unnamedParam4,
       const D3D11DDIARG_POINTERDATA *unnamedParam5
)
{...}

参数

unnamedParam1

hDevice [in]

显示设备的句柄 (图形上下文) 。

unnamedParam2

hShader [in]

计算着色器代码对象的句柄。

[in] NumClassInstances

接口实现的类实例数。

unnamedParam4

pPointerData [in]

D3D11DDIARG_POINTERDATA结构的数组。 每个结构描述由分配给接口实现的类实例引用的数据的位置。 数组中的元素数由 NumClassInstances 参数指定。

unnamedParam5

pIfaces [in]

函数表标识符的数组。 每个标识符对应于分配给接口实现的类实例。 数组中的元素数由 NumClassInstances 参数指定。

返回值

备注

驱动程序可以使用 pfnSetErrorCb 回调函数来设置错误代码。

接口实现的每个类实例包含以下信息:

  • 与该类实例关联的代码
  • 该类实例使用的数据的位置
NumClassInstances 参数指定在运行时必须分配值的接口数。 对于每个接口, pIfaces 数组的每个元素都提供函数表标识符, pPointerData 数组的每个元素为分配给接口的类实例提供数据位置。

如果驱动程序) 内存不足,驱动程序可以传递E_OUTOFMEMORY (;如果在调用 pfnSetErrorCb 函数) 删除设备,则驱动程序可以传递D3DDDIERR_DEVICEREMOVED (。 Direct3D 运行时确定任何其他错误都是严重错误。 如果驱动程序通过任何错误(包括D3DDDIERR_DEVICEREMOVED),则 Direct3D 运行时将确定句柄无效;因此,运行时不会调用 DestroyShader 函数来销毁 hShader 参数指定的句柄。

GsSetShaderWithIfaces 函数设置几何着色器代码以及一组接口,以便所有后续绘制操作都使用该代码和这些接口。

PsSetShaderWithIfaces 函数设置像素着色器代码以及一组接口,以便所有后续绘制操作都使用该代码和这些接口。

DsSetShaderWithIfaces 函数设置域着色器代码以及一组接口,以便所有后续绘制操作都使用该代码和这些接口。

HsSetShaderWithIfaces 函数设置外壳着色器代码以及一组接口,以便所有后续绘制操作都使用该代码和这些接口。

VsSetShaderWithIfaces 函数设置顶点着色器代码以及一组接口,以便所有后续绘制操作都使用该代码和这些接口。

要求

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

另请参阅

D3D11DDIARG_POINTERDATA

D3D11DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb