gfx/angle/src/libGLESv2/Uniform.h

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:21c60daa93f9
1 //
2 // Copyright (c) 2010-2013 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6
7 #ifndef LIBGLESV2_UNIFORM_H_
8 #define LIBGLESV2_UNIFORM_H_
9
10 #include <string>
11 #include <vector>
12
13 #define GL_APICALL
14 #include <GLES2/gl2.h>
15
16 #include "common/debug.h"
17
18 namespace gl
19 {
20
21 // Helper struct representing a single shader uniform
22 struct Uniform
23 {
24 Uniform(GLenum type, GLenum precision, const std::string &name, unsigned int arraySize);
25
26 ~Uniform();
27
28 bool isArray() const;
29 unsigned int elementCount() const;
30
31 const GLenum type;
32 const GLenum precision;
33 const std::string name;
34 const unsigned int arraySize;
35
36 unsigned char *data;
37 bool dirty;
38
39 int psRegisterIndex;
40 int vsRegisterIndex;
41 unsigned int registerCount;
42 };
43
44 typedef std::vector<Uniform*> UniformArray;
45
46 }
47
48 #endif // LIBGLESV2_UNIFORM_H_

mercurial