1 //////////////////////////////////////////////////////////////////////////////
\r
3 // Copyright (C) Microsoft Corporation. All Rights Reserved.
\r
5 // File: EffectStateBase11.h
\r
6 // Content: D3DX11 Effects States Header
\r
8 //////////////////////////////////////////////////////////////////////////////
\r
12 namespace D3DX11Effects
\r
15 //////////////////////////////////////////////////////////////////////////
\r
16 // Effect HLSL states and late resolve lists
\r
17 //////////////////////////////////////////////////////////////////////////
\r
21 const char *m_pName;
\r
25 #define RVALUE_END() { NULL, 0U }
\r
26 #define RVALUE_ENTRY(prefix, x) { #x, (UINT)prefix##x }
\r
32 const char *m_pName; // name of the LHS side of expression
\r
33 EBlockType m_BlockType; // type of block it can appear in
\r
34 D3D10_SHADER_VARIABLE_TYPE m_Type; // data type allows
\r
35 UINT m_Cols; // number of [m_Type]'s required (1 for a scalar, 4 for a vector)
\r
36 UINT m_Indices; // max index allowable (if LHS is an array; otherwise this is 1)
\r
37 BOOL m_VectorScalar; // can be both vector and scalar (setting as a scalar sets all m_Indices values simultaneously)
\r
38 CONST RValue *m_pRValue; // pointer to table of allowable RHS "late resolve" values
\r
39 ELhsType m_LhsType; // ELHS_* enum value that corresponds to this entry
\r
40 UINT m_Offset; // offset into the given block type where this value should be written
\r
41 UINT m_Stride; // for vectors, byte stride between two consecutive values. if 0, m_Type's size is used
\r
44 #define LVALUE_END() { NULL, D3D10_SVT_UINT, 0, 0, 0, NULL }
\r
46 extern CONST LValue g_lvGeneral[];
\r
47 extern CONST UINT g_lvGeneralCount;
\r
49 } // end namespace D3DX11Effects
\r