// // Copyright 2013 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // Contants.h: Defines some implementation specific and gl constants #ifndef LIBANGLE_CONSTANTS_H_ #define LIBANGLE_CONSTANTS_H_ #include "common/platform.h" #include <stddef.h> namespace gl { // The binary cache is currently left disable by default, and the application can enable it. const size_t kDefaultMaxProgramCacheMemoryBytes = …; enum { … }; namespace limits { // Almost all drivers use 2048 (the minimum value) as GL_MAX_VERTEX_ATTRIB_STRIDE. ANGLE advertizes // the same limit. constexpr uint32_t kMaxVertexAttribStride = …; // Some of the minimums required by GL, used to detect if the backend meets the minimum requirement. // Currently, there's no need to separate these values per spec version. constexpr uint32_t kMinimumComputeStorageBuffers = …; // OpenGL ES 3.0+ Minimum Values // Table 6.31 MAX_VERTEX_UNIFORM_BLOCKS minimum value = 12 // Table 6.32 MAX_FRAGMENT_UNIFORM_BLOCKS minimum value = 12 constexpr uint32_t kMinimumShaderUniformBlocks = …; // Table 6.31 MAX_VERTEX_OUTPUT_COMPONENTS minimum value = 64 constexpr uint32_t kMinimumVertexOutputComponents = …; // OpenGL ES 3.2+ Minimum Values // Table 21.42 TEXTURE_BUFFER_OFFSET_ALIGNMENT minimum value = 256 constexpr uint32_t kMinTextureBufferOffsetAlignment = …; } // namespace limits } // namespace gl #endif // LIBANGLE_CONSTANTS_H_