PFND3D11_1DDI_CREATEPIXELSHADER回调函数 (d3d10umddi.h)

将像素着色器代码转换为特定于硬件的格式,并将此代码与着色器句柄相关联。

语法

PFND3D11_1DDI_CREATEPIXELSHADER Pfnd3d111DdiCreatepixelshader;

void Pfnd3d111DdiCreatepixelshader(
  D3D10DDI_HDEVICE unnamedParam1,
  const UINT *pShaderCode,
  D3D10DDI_HSHADER unnamedParam3,
  D3D10DDI_HRTSHADER unnamedParam4,
  const D3D11_1DDIARG_STAGE_IO_SIGNATURES *unnamedParam5
)
{...}

参数

unnamedParam1

hDevice [in]

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

pShaderCode

指向构成着色器代码的 CONST UINT 令牌数组的指针。 着色器代码流中的第一个标记始终是版本标记。 流中的下一个标记是确定着色器代码流的末尾的长度标记。 有关 Direct3D 版本 11.1 着色器代码格式的详细信息,请参阅 WDK 随附的 D3d10tokenizedprogramformat.hpp 头文件中的注释。

unnamedParam3

hShader [in]

像素着色器的驱动程序专用数据的句柄。 驱动程序返回 Microsoft Direct3D 运行时必须从调用驱动程序的 CalcPrivateShaderSize (D3D11_1) 函数为专用数据分配的内存区域的大小(以字节为单位)。 句柄实际上只是指向内存区域(驱动程序请求的大小)的指针。 驱动程序使用此内存区域来存储与其着色器对象相关的内部数据结构。

unnamedParam4

hRTShader [in]

驱动程序在调用 Direct3D 运行时时应使用的像素着色器的句柄。

unnamedParam5

pSignatures [in]

指向构成着色器签名 的D3D11_1DDIARG_STAGE_IO_SIGNATURES 结构的指针。

返回值

备注

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

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

要求

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

另请参阅

CalcPrivateShaderSize (D3D11_1)

D3D11_1DDIARG_STAGE_IO_SIGNATURES

DestroyShader

pfnSetErrorCb