PFND3D11_1DDI_CREATEPIXELSHADER callback function (d3d10umddi.h)

Converts pixel shader code into a hardware-specific format and associates this code with a shader handle.

Syntax

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
)
{...}

Parameters

unnamedParam1

hDevice [in]

A handle to the display device (graphics context).

pShaderCode

A pointer to an array of CONST UINT tokens that make up the shader code. The first token in the shader code stream is always the version token. The next token in the stream is the length token that determines the end of the shader code stream. For more information about the format of Direct3D version 11.1 shader code, see the comments inside the D3d10tokenizedprogramformat.hpp header file that is included with the WDK.

unnamedParam3

hShader [in]

A handle to the driver's private data for the pixel shader. The driver returns the size, in bytes, of the memory region that the Microsoft Direct3D runtime must allocate for the private data from a call to the driver's CalcPrivateShaderSize(D3D11_1) function. The handle is really just a pointer to a region of memory, the size of which the driver requested. The driver uses this region of memory to store internal data structures that are related to its shader object.

unnamedParam4

hRTShader [in]

A handle to the pixel shader that the driver should use when it calls back into the Direct3D runtime.

unnamedParam5

pSignatures [in]

A pointer to a D3D11_1DDIARG_STAGE_IO_SIGNATURES structure that makes up the shader's signature.

Return value

None

Remarks

The driver can use the pfnSetErrorCb callback function to set an error code.

The driver can pass E_OUTOFMEMORY (if the driver runs out of memory) or D3DDDIERR_DEVICEREMOVED (if the device has been removed) in a call to the pfnSetErrorCb function. The Direct3D runtime will determine that any other errors are critical. If the driver passes any errors, including D3DDDIERR_DEVICEREMOVED, the Direct3D runtime will determine that the handle is incorrect; therefore, the runtime will not call the DestroyShader function to destroy the handle that the hShader parameter specifies.

Requirements

Requirement Value
Minimum supported client Windows 8
Minimum supported server Windows Server 2012
Target Platform Desktop
Header d3d10umddi.h (include D3d10umddi.h)

See also

CalcPrivateShaderSize(D3D11_1)

D3D11_1DDIARG_STAGE_IO_SIGNATURES

DestroyShader

pfnSetErrorCb