1 // 2 // Copyright (c) 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 // Contants.h: Defines some implementation specific and gl constants 8 9 #ifndef LIBGLESV2_CONSTANTS_H_ 10 #define LIBGLESV2_CONSTANTS_H_ 11 12 namespace gl 13 { 14 15 enum 16 { 17 MAX_VERTEX_ATTRIBS = 16, 18 MAX_TEXTURE_IMAGE_UNITS = 16, 19 20 // Implementation upper limits, real maximums depend on the hardware 21 IMPLEMENTATION_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 16, 22 IMPLEMENTATION_MAX_COMBINED_TEXTURE_IMAGE_UNITS = MAX_TEXTURE_IMAGE_UNITS + IMPLEMENTATION_MAX_VERTEX_TEXTURE_IMAGE_UNITS, 23 24 IMPLEMENTATION_MAX_VARYING_VECTORS = 32, 25 IMPLEMENTATION_MAX_DRAW_BUFFERS = 8, 26 IMPLEMENTATION_MAX_FRAMEBUFFER_ATTACHMENTS = IMPLEMENTATION_MAX_DRAW_BUFFERS + 2, // 2 extra for depth and/or stencil buffers 27 28 IMPLEMENTATION_MAX_VERTEX_SHADER_UNIFORM_BUFFERS = 16, 29 IMPLEMENTATION_MAX_FRAGMENT_SHADER_UNIFORM_BUFFERS = 16, 30 IMPLEMENTATION_MAX_COMBINED_SHADER_UNIFORM_BUFFERS = IMPLEMENTATION_MAX_VERTEX_SHADER_UNIFORM_BUFFERS + 31 IMPLEMENTATION_MAX_FRAGMENT_SHADER_UNIFORM_BUFFERS, 32 33 IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS = 4, 34 }; 35 36 const float ALIASED_LINE_WIDTH_RANGE_MIN = 1.0f; 37 const float ALIASED_LINE_WIDTH_RANGE_MAX = 1.0f; 38 const float ALIASED_POINT_SIZE_RANGE_MIN = 1.0f; 39 40 } 41 42 #endif // LIBGLESV2_CONSTANTS_H_ 43