PFND3D11DDI_CREATEDOMAINSHADER callback function

The CreateDomainShader function creates a domain shader.

Syntax

PFND3D11DDI_CREATEDOMAINSHADER Pfnd3d11ddiCreatedomainshader;

void Pfnd3d11ddiCreatedomainshader(
  D3D10DDI_HDEVICE Arg1,
  const UINT *pShaderCode,
  D3D10DDI_HSHADER Arg3,
  D3D10DDI_HRTSHADER Arg4,
  const D3D11DDIARG_TESSELLATION_IO_SIGNATURES *Arg5
)
{...}

Parameters

Arg1

hDevice [in]

A handle to the display device (graphics context).

pShaderCode

An array of CONST UINT tokens that form 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 shader code, see the comments inside the D3d11tokenizedprogramformat.hpp header file that is included with the WDK.

Arg3

hShader [in]

A handle to the driver's private data for the domain 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 CalcPrivateTessellationShaderSize function. The handle is 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 tessellation-shader object.

Arg4

Arg5

pSignatures [in]

A pointer to a D3D11DDIARG_TESSELLATION_IO_SIGNATURES structure that forms the tessellation-shader's signature.

Return Value

None

The driver can use the pfnSetErrorCb callback function to set an error code. For more information about setting error codes, see the following Remarks section.

Remarks

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

Requirements

   
Minimum supported client CreateDomainShader is supported beginning with the Windows 7 operating system.
Target Platform Desktop
Header d3d10umddi.h (include D3d10umddi.h)

See Also

CalcPrivateTessellationShaderSize

D3D11DDIARG_TESSELLATION_IO_SIGNATURES

D3D11DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb