daniel@transgaming.com | 15186aa | 2012-12-20 21:08:23 +0000 | [diff] [blame] | 1 | //
|
daniel@transgaming.com | e76b64b | 2013-01-11 04:10:08 +0000 | [diff] [blame] | 2 | // Copyright (c) 2010-2013 The ANGLE Project Authors. All rights reserved.
|
daniel@transgaming.com | 15186aa | 2012-12-20 21:08:23 +0000 | [diff] [blame] | 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>
|
daniel@transgaming.com | f956186 | 2012-12-20 21:12:07 +0000 | [diff] [blame] | 11 | #include <vector>
|
daniel@transgaming.com | 15186aa | 2012-12-20 21:08:23 +0000 | [diff] [blame] | 12 |
|
| 13 | #define GL_APICALL
|
shannon.woods%transgaming.com@gtempaccount.com | f26ddae | 2013-04-13 03:29:13 +0000 | [diff] [blame] | 14 | #include <GLES3/gl3.h>
|
daniel@transgaming.com | 15186aa | 2012-12-20 21:08:23 +0000 | [diff] [blame] | 15 | #include <GLES2/gl2.h>
|
| 16 |
|
| 17 | #include "common/debug.h"
|
daniel@transgaming.com | 15186aa | 2012-12-20 21:08:23 +0000 | [diff] [blame] | 18 |
|
| 19 | namespace gl
|
| 20 | {
|
| 21 |
|
| 22 | // Helper struct representing a single shader uniform
|
| 23 | struct Uniform
|
| 24 | {
|
shannon.woods@transgaming.com | d5a91b9 | 2013-02-28 23:17:30 +0000 | [diff] [blame] | 25 | Uniform(GLenum type, GLenum precision, const std::string &name, unsigned int arraySize);
|
daniel@transgaming.com | 15186aa | 2012-12-20 21:08:23 +0000 | [diff] [blame] | 26 |
|
| 27 | ~Uniform();
|
| 28 |
|
daniel@transgaming.com | e6d12e9 | 2012-12-20 21:12:47 +0000 | [diff] [blame] | 29 | bool isArray() const;
|
| 30 | unsigned int elementCount() const;
|
daniel@transgaming.com | 15186aa | 2012-12-20 21:08:23 +0000 | [diff] [blame] | 31 |
|
| 32 | const GLenum type;
|
shannon.woods@transgaming.com | d5a91b9 | 2013-02-28 23:17:30 +0000 | [diff] [blame] | 33 | const GLenum precision;
|
daniel@transgaming.com | db01995 | 2012-12-20 21:13:32 +0000 | [diff] [blame] | 34 | const std::string name;
|
daniel@transgaming.com | 15186aa | 2012-12-20 21:08:23 +0000 | [diff] [blame] | 35 | const unsigned int arraySize;
|
| 36 |
|
| 37 | unsigned char *data;
|
| 38 | bool dirty;
|
| 39 |
|
daniel@transgaming.com | e76b64b | 2013-01-11 04:10:08 +0000 | [diff] [blame] | 40 | int psRegisterIndex;
|
| 41 | int vsRegisterIndex;
|
| 42 | unsigned int registerCount;
|
daniel@transgaming.com | 15186aa | 2012-12-20 21:08:23 +0000 | [diff] [blame] | 43 | };
|
| 44 |
|
| 45 | typedef std::vector<Uniform*> UniformArray;
|
| 46 |
|
| 47 | }
|
| 48 |
|
| 49 | #endif // LIBGLESV2_UNIFORM_H_
|