PFND3D11_1DDI_SETCONSTANTBUFFERS回调函数 (d3d10umddi.h)

设置计算着色器的常量缓冲区。

语法

PFND3D11_1DDI_SETCONSTANTBUFFERS Pfnd3d111DdiSetconstantbuffers;

void Pfnd3d111DdiSetconstantbuffers(
       D3D10DDI_HDEVICE unnamedParam1,
  [in] UINT StartSlot,
       UINT NumBuffers,
       const D3D10DDI_HRESOURCE *unnamedParam4,
       const UINT *pFirstConstant,
       const UINT *pNumConstants
)
{...}

参数

unnamedParam1

hDevice [in]

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

[in] StartSlot

要设置的起始常量缓冲区。

NumBuffers

要设置的缓冲区总数。

unnamedParam4

phBuffers [in]

常量缓冲区的句柄数组,从 StartBuffer 指定的缓冲区开始。

pFirstConstant

指向 StartBuffer 指向的缓冲区中第一个常量的指针。

pNumConstants

StartBuffer 指向的缓冲区中的常量数。

返回值

备注

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

此函数指定的缓冲区是使用 D3D10_BIND_CONSTANT_BUFFER 标志创建的。

驱动程序不应遇到任何错误,D3DDDIERR_DEVICEREMOVED除外。 因此,如果驱动程序在调用 pfnSetErrorCb 函数时传递除D3DDDIERR_DEVICEREMOVED以外的任何错误,则 Direct3D 运行时将确定错误严重。 即使删除了设备,驱动程序也不需要返回D3DDDIERR_DEVICEREMOVED;但是,如果设备移除干扰此函数的操作 (通常不应) 发生,驱动程序可能会返回D3DDDIERR_DEVICEREMOVED。

VsSetConstantBuffers 函数为顶点着色器设置常量缓冲区。

GsSetConstantBuffers 函数为几何着色器设置常量缓冲区。

HsSetConstantBuffers 函数为外壳着色器设置常量缓冲区。

PsSetConstantBuffers 函数为像素着色器设置常量缓冲区。

DsSetConstantBuffers 函数为域着色器设置常量缓冲区。

要求

要求
最低受支持的客户端 Windows 8
最低受支持的服务器 Windows Server 2012
目标平台 桌面
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

D3D11_1DDI_DEVICEFUNCS

pfnSetErrorCb