factor/basis/windows/directx/d3dx9shader/d3dx9shader.factor

437 lines
17 KiB
Factor

USING: alien.c-types alien.syntax classes.struct math
windows.com windows.com.syntax windows.directx
windows.directx.d3d9 windows.directx.d3dx9core
windows.directx.d3dx9math windows.types ;
IN: windows.directx.d3dx9shader
LIBRARY: d3dx9
: D3DXSHADER_DEBUG ( -- n ) 1 0 shift ; inline
: D3DXSHADER_SKIPVALIDATION ( -- n ) 1 1 shift ; inline
: D3DXSHADER_SKIPOPTIMIZATION ( -- n ) 1 2 shift ; inline
: D3DXSHADER_PACKMATRIX_ROWMAJOR ( -- n ) 1 3 shift ; inline
: D3DXSHADER_PACKMATRIX_COLUMNMAJOR ( -- n ) 1 4 shift ; inline
: D3DXSHADER_PARTIALPRECISION ( -- n ) 1 5 shift ; inline
: D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT ( -- n ) 1 6 shift ; inline
: D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT ( -- n ) 1 7 shift ; inline
: D3DXSHADER_NO_PRESHADER ( -- n ) 1 8 shift ; inline
: D3DXSHADER_AVOID_FLOW_CONTROL ( -- n ) 1 9 shift ; inline
: D3DXSHADER_PREFER_FLOW_CONTROL ( -- n ) 1 10 shift ; inline
: D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY ( -- n ) 1 12 shift ; inline
: D3DXSHADER_IEEE_STRICTNESS ( -- n ) 1 13 shift ; inline
: D3DXSHADER_USE_LEGACY_D3DX9_31_DLL ( -- n ) 1 16 shift ; inline
: D3DXSHADER_OPTIMIZATION_LEVEL0 ( -- n ) 1 14 shift ; inline
: D3DXSHADER_OPTIMIZATION_LEVEL1 ( -- n ) 0 ; inline
: D3DXSHADER_OPTIMIZATION_LEVEL2 ( -- n ) 1 14 shift 1 15 shift bitor ; inline
: D3DXSHADER_OPTIMIZATION_LEVEL3 ( -- n ) 1 15 shift ; inline
: D3DXCONSTTABLE_LARGEADDRESSAWARE ( -- n ) 1 17 shift ; inline
TYPEDEF: LPCSTR D3DXHANDLE
TYPEDEF: D3DXHANDLE* LPD3DXHANDLE
STRUCT: D3DXMACRO
{ Name LPCSTR }
{ Definition LPCSTR } ;
TYPEDEF: D3DXMACRO* LPD3DXMACRO
STRUCT: D3DXSEMANTIC
{ Usage UINT }
{ UsageIndex UINT } ;
TYPEDEF: D3DXSEMANTIC* LPD3DXSEMANTIC
ENUM: D3DXREGISTER_SET
D3DXRS_BOOL
D3DXRS_INT4
D3DXRS_FLOAT4
D3DXRS_SAMPLER ;
TYPEDEF: D3DXREGISTER_SET* LPD3DXREGISTER_SET
ENUM: D3DXPARAMETER_CLASS
D3DXPC_SCALAR
D3DXPC_VECTOR
D3DXPC_MATRIX_ROWS
D3DXPC_MATRIX_COLUMNS
D3DXPC_OBJECT
D3DXPC_STRUCT ;
TYPEDEF: D3DXPARAMETER_CLASS* LPD3DXPARAMETER_CLASS
ENUM: D3DXPARAMETER_TYPE
D3DXPT_VOID
D3DXPT_BOOL
D3DXPT_INT
D3DXPT_FLOAT
D3DXPT_STRING
D3DXPT_TEXTURE
D3DXPT_TEXTURE1D
D3DXPT_TEXTURE2D
D3DXPT_TEXTURE3D
D3DXPT_TEXTURECUBE
D3DXPT_SAMPLER
D3DXPT_SAMPLER1D
D3DXPT_SAMPLER2D
D3DXPT_SAMPLER3D
D3DXPT_SAMPLERCUBE
D3DXPT_PIXELSHADER
D3DXPT_VERTEXSHADER
D3DXPT_PIXELFRAGMENT
D3DXPT_VERTEXFRAGMENT
D3DXPT_UNSUPPORTED ;
TYPEDEF: D3DXPARAMETER_TYPE* LPD3DXPARAMETER_TYPE
STRUCT: D3DXCONSTANTTABLE_DESC
{ Creator LPCSTR }
{ Version DWORD }
{ Constants UINT } ;
TYPEDEF: D3DXCONSTANTTABLE_DESC* LPD3DXCONSTANTTABLE_DESC
STRUCT: D3DXCONSTANT_DESC
{ Name LPCSTR }
{ RegisterSet D3DXREGISTER_SET }
{ RegisterIndex UINT }
{ RegisterCount UINT }
{ Class D3DXPARAMETER_CLASS }
{ Type D3DXPARAMETER_TYPE }
{ Rows UINT }
{ Columns UINT }
{ Elements UINT }
{ StructMembers UINT }
{ Bytes UINT }
{ DefaultValue LPCVOID } ;
TYPEDEF: D3DXCONSTANT_DESC* LPD3DXCONSTANT_DESC
C-TYPE: ID3DXConstantTable
TYPEDEF: ID3DXConstantTable* LPD3DXCONSTANTTABLE
COM-INTERFACE: ID3DXConstantTable IUnknown {AB3C758F-093E-4356-B762-4DB18F1B3A01}
LPVOID GetBufferPointer ( )
DWORD GetBufferSize ( )
HRESULT GetDesc ( D3DXCONSTANTTABLE_DESC* pDesc )
HRESULT GetConstantDesc ( D3DXHANDLE hConstant, D3DXCONSTANT_DESC* pConstantDesc, UINT* pCount )
UINT GetSamplerIndex ( D3DXHANDLE hConstant )
D3DXHANDLE GetConstant ( D3DXHANDLE hConstant, UINT Index )
D3DXHANDLE GetConstantByName ( D3DXHANDLE hConstant, LPCSTR pName )
D3DXHANDLE GetConstantElement ( D3DXHANDLE hConstant, UINT Index )
HRESULT SetDefaults ( LPDIRECT3DDEVICE9 pDevice )
HRESULT SetValue ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, LPCVOID pData, UINT Bytes )
HRESULT SetBool ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, BOOL b )
HRESULT SetBoolArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, BOOL* pb, UINT Count )
HRESULT SetInt ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, INT n )
HRESULT SetIntArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, INT* pn, UINT Count )
HRESULT SetFloat ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, FLOAT f )
HRESULT SetFloatArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, FLOAT* pf, UINT Count )
HRESULT SetVector ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXVECTOR4* pVector )
HRESULT SetVectorArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXVECTOR4* pVector, UINT Count )
HRESULT SetMatrix ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix )
HRESULT SetMatrixArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count )
HRESULT SetMatrixPointerArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count )
HRESULT SetMatrixTranspose ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix )
HRESULT SetMatrixTransposeArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count )
HRESULT SetMatrixTransposePointerArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count ) ;
C-TYPE: ID3DXTextureShader
TYPEDEF: ID3DXTextureShader* LPD3DXTEXTURESHADER
COM-INTERFACE: ID3DXTextureShader IUnknown {3E3D67F8-AA7A-405d-A857-BA01D4758426}
HRESULT GetFunction ( LPD3DXBUFFER* ppFunction )
HRESULT GetConstantBuffer ( LPD3DXBUFFER* ppConstantBuffer )
HRESULT GetDesc ( D3DXCONSTANTTABLE_DESC* pDesc )
HRESULT GetConstantDesc ( D3DXHANDLE hConstant, D3DXCONSTANT_DESC* pConstantDesc, UINT* pCount )
D3DXHANDLE GetConstant ( D3DXHANDLE hConstant, UINT Index )
D3DXHANDLE GetConstantByName ( D3DXHANDLE hConstant, LPCSTR pName )
D3DXHANDLE GetConstantElement ( D3DXHANDLE hConstant, UINT Index )
HRESULT SetDefaults ( )
HRESULT SetValue ( D3DXHANDLE hConstant, LPCVOID pData, UINT Bytes )
HRESULT SetBool ( D3DXHANDLE hConstant, BOOL b )
HRESULT SetBoolArray ( D3DXHANDLE hConstant, BOOL* pb, UINT Count )
HRESULT SetInt ( D3DXHANDLE hConstant, INT n )
HRESULT SetIntArray ( D3DXHANDLE hConstant, INT* pn, UINT Count )
HRESULT SetFloat ( D3DXHANDLE hConstant, FLOAT f )
HRESULT SetFloatArray ( D3DXHANDLE hConstant, FLOAT* pf, UINT Count )
HRESULT SetVector ( D3DXHANDLE hConstant, D3DXVECTOR4* pVector )
HRESULT SetVectorArray ( D3DXHANDLE hConstant, D3DXVECTOR4* pVector, UINT Count )
HRESULT SetMatrix ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix )
HRESULT SetMatrixArray ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count )
HRESULT SetMatrixPointerArray ( D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count )
HRESULT SetMatrixTranspose ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix )
HRESULT SetMatrixTransposeArray ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count )
HRESULT SetMatrixTransposePointerArray ( D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count ) ;
ENUM: D3DXINCLUDE_TYPE
D3DXINC_LOCAL
D3DXINC_SYSTEM ;
TYPEDEF: D3DXINCLUDE_TYPE* LPD3DXINCLUDE_TYPE
C-TYPE: ID3DXInclude
TYPEDEF: ID3DXInclude* LPD3DXINCLUDE
COM-INTERFACE: ID3DXInclude f {00000000-0000-0000-0000-000000000000}
HRESULT Open ( D3DXINCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID* ppData, UINT* pBytes )
HRESULT Close ( LPCVOID pData ) ;
FUNCTION: HRESULT
D3DXAssembleShaderFromFileA (
LPCSTR pSrcFile,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
DWORD Flags,
LPD3DXBUFFER* ppShader,
LPD3DXBUFFER* ppErrorMsgs )
FUNCTION: HRESULT
D3DXAssembleShaderFromFileW (
LPCWSTR pSrcFile,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
DWORD Flags,
LPD3DXBUFFER* ppShader,
LPD3DXBUFFER* ppErrorMsgs )
ALIAS: D3DXAssembleShaderFromFile D3DXAssembleShaderFromFileW
FUNCTION: HRESULT
D3DXAssembleShaderFromResourceA (
HMODULE hSrcModule,
LPCSTR pSrcResource,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
DWORD Flags,
LPD3DXBUFFER* ppShader,
LPD3DXBUFFER* ppErrorMsgs )
FUNCTION: HRESULT
D3DXAssembleShaderFromResourceW (
HMODULE hSrcModule,
LPCWSTR pSrcResource,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
DWORD Flags,
LPD3DXBUFFER* ppShader,
LPD3DXBUFFER* ppErrorMsgs )
ALIAS: D3DXAssembleShaderFromResource D3DXAssembleShaderFromResourceW
FUNCTION: HRESULT
D3DXAssembleShader (
LPCSTR pSrcData,
UINT SrcDataLen,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
DWORD Flags,
LPD3DXBUFFER* ppShader,
LPD3DXBUFFER* ppErrorMsgs )
FUNCTION: HRESULT
D3DXCompileShaderFromFileA (
LPCSTR pSrcFile,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
LPCSTR pFunctionName,
LPCSTR pProfile,
DWORD Flags,
LPD3DXBUFFER* ppShader,
LPD3DXBUFFER* ppErrorMsgs,
LPD3DXCONSTANTTABLE* ppConstantTable )
FUNCTION: HRESULT
D3DXCompileShaderFromFileW (
LPCWSTR pSrcFile,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
LPCSTR pFunctionName,
LPCSTR pProfile,
DWORD Flags,
LPD3DXBUFFER* ppShader,
LPD3DXBUFFER* ppErrorMsgs,
LPD3DXCONSTANTTABLE* ppConstantTable )
ALIAS: D3DXCompileShaderFromFile D3DXCompileShaderFromFileW
FUNCTION: HRESULT
D3DXCompileShaderFromResourceA (
HMODULE hSrcModule,
LPCSTR pSrcResource,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
LPCSTR pFunctionName,
LPCSTR pProfile,
DWORD Flags,
LPD3DXBUFFER* ppShader,
LPD3DXBUFFER* ppErrorMsgs,
LPD3DXCONSTANTTABLE* ppConstantTable )
FUNCTION: HRESULT
D3DXCompileShaderFromResourceW (
HMODULE hSrcModule,
LPCWSTR pSrcResource,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
LPCSTR pFunctionName,
LPCSTR pProfile,
DWORD Flags,
LPD3DXBUFFER* ppShader,
LPD3DXBUFFER* ppErrorMsgs,
LPD3DXCONSTANTTABLE* ppConstantTable )
ALIAS: D3DXCompileShaderFromResource D3DXCompileShaderFromResourceW
FUNCTION: HRESULT
D3DXCompileShader (
LPCSTR pSrcData,
UINT SrcDataLen,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
LPCSTR pFunctionName,
LPCSTR pProfile,
DWORD Flags,
LPD3DXBUFFER* ppShader,
LPD3DXBUFFER* ppErrorMsgs,
LPD3DXCONSTANTTABLE* ppConstantTable )
FUNCTION: HRESULT
D3DXDisassembleShader (
DWORD* pShader,
BOOL EnableColorCode,
LPCSTR pComments,
LPD3DXBUFFER* ppDisassembly )
FUNCTION: LPCSTR
D3DXGetPixelShaderProfile (
LPDIRECT3DDEVICE9 pDevice )
FUNCTION: LPCSTR
D3DXGetVertexShaderProfile (
LPDIRECT3DDEVICE9 pDevice )
FUNCTION: HRESULT
D3DXFindShaderComment (
DWORD* pFunction,
DWORD FourCC,
LPCVOID* ppData,
UINT* pSizeInBytes )
FUNCTION: UINT
D3DXGetShaderSize (
DWORD* pFunction )
FUNCTION: DWORD
D3DXGetShaderVersion (
DWORD* pFunction )
FUNCTION: HRESULT
D3DXGetShaderInputSemantics (
DWORD* pFunction,
D3DXSEMANTIC* pSemantics,
UINT* pCount )
FUNCTION: HRESULT
D3DXGetShaderOutputSemantics (
DWORD* pFunction,
D3DXSEMANTIC* pSemantics,
UINT* pCount )
FUNCTION: HRESULT
D3DXGetShaderSamplers (
DWORD* pFunction,
LPCSTR* pSamplers,
UINT* pCount )
FUNCTION: HRESULT
D3DXGetShaderConstantTable (
DWORD* pFunction,
LPD3DXCONSTANTTABLE* ppConstantTable )
FUNCTION: HRESULT
D3DXGetShaderConstantTableEx (
DWORD* pFunction,
DWORD Flags,
LPD3DXCONSTANTTABLE* ppConstantTable )
FUNCTION: HRESULT
D3DXCreateTextureShader (
DWORD* pFunction,
LPD3DXTEXTURESHADER* ppTextureShader )
FUNCTION: HRESULT
D3DXPreprocessShaderFromFileA (
LPCSTR pSrcFile,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
LPD3DXBUFFER* ppShaderText,
LPD3DXBUFFER* ppErrorMsgs )
FUNCTION: HRESULT
D3DXPreprocessShaderFromFileW (
LPCWSTR pSrcFile,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
LPD3DXBUFFER* ppShaderText,
LPD3DXBUFFER* ppErrorMsgs )
ALIAS: D3DXPreprocessShaderFromFile D3DXPreprocessShaderFromFileW
FUNCTION: HRESULT
D3DXPreprocessShaderFromResourceA (
HMODULE hSrcModule,
LPCSTR pSrcResource,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
LPD3DXBUFFER* ppShaderText,
LPD3DXBUFFER* ppErrorMsgs )
FUNCTION: HRESULT
D3DXPreprocessShaderFromResourceW (
HMODULE hSrcModule,
LPCWSTR pSrcResource,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
LPD3DXBUFFER* ppShaderText,
LPD3DXBUFFER* ppErrorMsgs )
ALIAS: D3DXPreprocessShaderFromResource D3DXPreprocessShaderFromResourceW
FUNCTION: HRESULT
D3DXPreprocessShader (
LPCSTR pSrcData,
UINT SrcDataSize,
D3DXMACRO* pDefines,
LPD3DXINCLUDE pInclude,
LPD3DXBUFFER* ppShaderText,
LPD3DXBUFFER* ppErrorMsgs )
STRUCT: D3DXSHADER_CONSTANTTABLE
{ Size DWORD }
{ Creator DWORD }
{ Version DWORD }
{ Constants DWORD }
{ ConstantInfo DWORD }
{ Flags DWORD }
{ Target DWORD } ;
TYPEDEF: D3DXSHADER_CONSTANTTABLE* LPD3DXSHADER_CONSTANTTABLE
STRUCT: D3DXSHADER_CONSTANTINFO
{ Name DWORD }
{ RegisterSet WORD }
{ RegisterIndex WORD }
{ RegisterCount WORD }
{ Reserved WORD }
{ TypeInfo DWORD }
{ DefaultValue DWORD } ;
TYPEDEF: D3DXSHADER_CONSTANTINFO* LPD3DXSHADER_CONSTANTINFO
STRUCT: D3DXSHADER_TYPEINFO
{ Class WORD }
{ Type WORD }
{ Rows WORD }
{ Columns WORD }
{ Elements WORD }
{ StructMembers WORD }
{ StructMemberInfo DWORD } ;
TYPEDEF: D3DXSHADER_TYPEINFO* LPD3DXSHADER_TYPEINFO
STRUCT: D3DXSHADER_STRUCTMEMBERINFO
{ Name DWORD }
{ TypeInfo DWORD } ;
TYPEDEF: D3DXSHADER_STRUCTMEMBERINFO* LPD3DXSHADER_STRUCTMEMBERINFO