michael@0: // michael@0: // Copyright (c) 2010-2013 The ANGLE Project Authors. All rights reserved. michael@0: // Use of this source code is governed by a BSD-style license that can be michael@0: // found in the LICENSE file. michael@0: // michael@0: michael@0: #ifndef LIBGLESV2_UNIFORM_H_ michael@0: #define LIBGLESV2_UNIFORM_H_ michael@0: michael@0: #include michael@0: #include michael@0: michael@0: #define GL_APICALL michael@0: #include michael@0: michael@0: #include "common/debug.h" michael@0: michael@0: namespace gl michael@0: { michael@0: michael@0: // Helper struct representing a single shader uniform michael@0: struct Uniform michael@0: { michael@0: Uniform(GLenum type, GLenum precision, const std::string &name, unsigned int arraySize); michael@0: michael@0: ~Uniform(); michael@0: michael@0: bool isArray() const; michael@0: unsigned int elementCount() const; michael@0: michael@0: const GLenum type; michael@0: const GLenum precision; michael@0: const std::string name; michael@0: const unsigned int arraySize; michael@0: michael@0: unsigned char *data; michael@0: bool dirty; michael@0: michael@0: int psRegisterIndex; michael@0: int vsRegisterIndex; michael@0: unsigned int registerCount; michael@0: }; michael@0: michael@0: typedef std::vector UniformArray; michael@0: michael@0: } michael@0: michael@0: #endif // LIBGLESV2_UNIFORM_H_