D3DXPreprocessShader function

Preprocesses a shader without performing compilation. This resolves all #defines and #includes, providing a self-contained shader for subsequent compilation.

Note  Instead of using this legacy function, we recommend that you use the D3DPreprocess API.

Syntax


HRESULT D3DXPreprocessShader(
  _In_   LPCSTR pSrcData,
  _In_   UINT SrcDataSize,
  _In_   const D3DXMACRO *pDefines,
  _In_   LPD3DXINCLUDE pInclude,
  _Out_  LPD3DXBUFFER *ppShaderText,
  _Out_  LPD3DXBUFFER *ppErrorMsgs
);

Parameters

pSrcData [in]

Type: LPCSTR

Pointer to a string that contains the shader.

SrcDataSize [in]

Type: UINT

Length of the data in bytes.

pDefines [in]

Type: const D3DXMACRO*

An optional NULL terminated array of D3DXMACRO structures. This value may be NULL.

pInclude [in]

Type: LPD3DXINCLUDE

Optional interface pointer, ID3DXInclude, to use for handling #include directives. If this value is NULL, #includes will either be honored when compiling from a file or will cause an error when compiled from a resource or memory.

ppShaderText [out]

Type: LPD3DXBUFFER*

Returns a buffer containing a single large string that represents the resulting formatted token stream.

ppErrorMsgs [out]

Type: LPD3DXBUFFER*

Returns a buffer containing a listing of errors and warnings that were encountered during the compile. These are the same messages the debugger displays when running in debug mode. This value may be NULL.

Return value

Type: HRESULT

If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Requirements

Header

D3DX9Shader.h

Library

D3dx9.lib

See also

D3DXPreprocessShaderFromFile
D3DXPreprocessShaderFromResource

 

 

Community Additions

ADD
Show:
© 2014 Microsoft