OSDN Git Service

DTXMania089リリースに際してのtag付け。
[dtxmania/dtxmania.git] / 110401(DTXMania089) / SlimDXc_Jun2010(VC++2008) / external / Effects11 / Binary / EffectStateBase11.h
1 //////////////////////////////////////////////////////////////////////////////\r
2 //\r
3 //  Copyright (C) Microsoft Corporation.  All Rights Reserved.\r
4 //\r
5 //  File:       EffectStateBase11.h\r
6 //  Content:    D3DX11 Effects States Header\r
7 //\r
8 //////////////////////////////////////////////////////////////////////////////\r
9 \r
10 #pragma once\r
11 \r
12 namespace D3DX11Effects\r
13 {\r
14 \r
15 //////////////////////////////////////////////////////////////////////////\r
16 // Effect HLSL states and late resolve lists\r
17 //////////////////////////////////////////////////////////////////////////\r
18 \r
19 struct RValue\r
20 {\r
21     const char  *m_pName;\r
22     UINT        m_Value;\r
23 };\r
24 \r
25 #define RVALUE_END()    { NULL, 0U }\r
26 #define RVALUE_ENTRY(prefix, x)         { #x, (UINT)prefix##x }\r
27 \r
28 enum ELhsType;\r
29 \r
30 struct LValue\r
31 {\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
42 };\r
43 \r
44 #define LVALUE_END()    { NULL, D3D10_SVT_UINT, 0, 0, 0, NULL }\r
45 \r
46 extern CONST LValue g_lvGeneral[];\r
47 extern CONST UINT   g_lvGeneralCount;\r
48 \r
49 } // end namespace D3DX11Effects\r