PFND3D11DDI_CREATECOMPUTESHADER回调函数 (d3d10umddi.h)
CreateComputeShader 函数创建计算着色器。
语法
PFND3D11DDI_CREATECOMPUTESHADER Pfnd3d11ddiCreatecomputeshader;
void Pfnd3d11ddiCreatecomputeshader(
D3D10DDI_HDEVICE unnamedParam1,
const UINT *pShaderCode,
D3D10DDI_HSHADER unnamedParam3,
D3D10DDI_HRTSHADER unnamedParam4
)
{...}
参数
unnamedParam1
hDevice [in]
显示设备的句柄(图形上下文)。
pShaderCode
构成着色器代码的 CONST UINT 令牌数组。 着色器代码流中的第一个标记始终是版本令牌。 流的下一个标记是确定着色器代码流的末尾的长度标记。 有关 Direct3D 版本 11 着色器代码的格式的详细信息,请参阅 WDK 随附的 D3d11tokenizedprogramformat.hpp 中的注释 头文件。
unnamedParam3
hShader [in]
计算着色器的驱动程序专用数据的句柄。 驱动程序返回 Microsoft Direct3D 运行时必须从调用驱动程序的 CalcPrivateShaderSize 函数中为专用数据分配的内存区域的大小(以字节为单位)。 句柄只是指向内存区域的指针,驱动程序所请求的大小。 驱动程序使用此内存区域来存储与其着色器对象相关的内部数据结构。
unnamedParam4
hRTShader [in]
当驱动程序调用回 Direct3D 运行时时,驱动程序应使用的计算着色器的句柄。
返回值
没有
言论
驱动程序可以使用 pfnSetErrorCb 回调函数来设置错误代码。
驱动程序可以在调用 pfnSetErrorCb 函数时传递E_OUTOFMEMORY(如果驱动程序内存不足)或D3DDDIERR_DEVICEREMOVED(如果设备已删除)。 Direct3D 运行时确定任何其他错误都至关重要。 如果驱动程序通过任何错误(包括D3DDDIERR_DEVICEREMOVED),Direct3D 运行时将确定句柄无效;因此,运行时不调用 DestroyShader 函数来销毁 hShader 参数指定的句柄。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 7作系统开始,支持 CreateComputeShader。 |
目标平台 | 桌面 |
标头 | d3d10umddi.h (包括 D3d10umddi.h) |