summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libGLESv2/Caps.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/Caps.h')
-rw-r--r--src/3rdparty/angle/src/libGLESv2/Caps.h273
1 files changed, 0 insertions, 273 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/Caps.h b/src/3rdparty/angle/src/libGLESv2/Caps.h
deleted file mode 100644
index a00e554176..0000000000
--- a/src/3rdparty/angle/src/libGLESv2/Caps.h
+++ /dev/null
@@ -1,273 +0,0 @@
-#ifndef LIBGLESV2_CAPS_H
-#define LIBGLESV2_CAPS_H
-
-//
-// Copyright (c) 2014 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.
-//
-
-#include "angle_gl.h"
-
-#include <set>
-#include <unordered_map>
-#include <vector>
-#include <string>
-
-namespace gl
-{
-
-typedef std::set<GLuint> SupportedSampleSet;
-
-struct TextureCaps
-{
- TextureCaps();
-
- // Supports for basic texturing: glTexImage, glTexSubImage, etc
- bool texturable;
-
- // Support for linear or anisotropic filtering
- bool filterable;
-
- // Support for being used as a framebuffer attachment or renderbuffer format
- bool renderable;
-
- SupportedSampleSet sampleCounts;
-
- // Get the maximum number of samples supported
- GLuint getMaxSamples() const;
-
- // Get the number of supported samples that is at least as many as requested. Returns 0 if
- // there are no sample counts available
- GLuint getNearestSamples(GLuint requestedSamples) const;
-};
-
-class TextureCapsMap
-{
- public:
- typedef std::unordered_map<GLenum, TextureCaps>::const_iterator const_iterator;
-
- void insert(GLenum internalFormat, const TextureCaps &caps);
- void remove(GLenum internalFormat);
-
- const TextureCaps &get(GLenum internalFormat) const;
-
- const_iterator begin() const;
- const_iterator end() const;
-
- size_t size() const;
-
- private:
- typedef std::unordered_map<GLenum, TextureCaps> InternalFormatToCapsMap;
- InternalFormatToCapsMap mCapsMap;
-};
-
-struct Extensions
-{
- Extensions();
-
- // Generate a vector of supported extension strings
- std::vector<std::string> getStrings() const;
-
- // Set all texture related extension support based on the supported textures.
- // Determines support for:
- // GL_OES_rgb8_rgba8
- // GL_EXT_texture_format_BGRA8888
- // GL_OES_texture_half_float, GL_OES_texture_half_float_linear
- // GL_OES_texture_float, GL_OES_texture_float_linear
- // GL_EXT_texture_rg
- // GL_EXT_texture_compression_dxt1, GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5
- // GL_EXT_sRGB
- // GL_ANGLE_depth_texture
- // GL_EXT_color_buffer_float
- void setTextureExtensionSupport(const TextureCapsMap &textureCaps);
-
- // ES2 Extension support
-
- // GL_OES_element_index_uint
- bool elementIndexUint;
-
- // GL_OES_packed_depth_stencil
- bool packedDepthStencil;
-
- // GL_OES_get_program_binary
- bool getProgramBinary;
-
- // GL_OES_rgb8_rgba8
- // Implies that TextureCaps for GL_RGB8 and GL_RGBA8 exist
- bool rgb8rgba8;
-
- // GL_EXT_texture_format_BGRA8888
- // Implies that TextureCaps for GL_BGRA8 exist
- bool textureFormatBGRA8888;
-
- // GL_EXT_read_format_bgra
- bool readFormatBGRA;
-
- // GL_NV_pixel_buffer_object
- bool pixelBufferObject;
-
- // GL_OES_mapbuffer and GL_EXT_map_buffer_range
- bool mapBuffer;
- bool mapBufferRange;
-
- // GL_OES_texture_half_float and GL_OES_texture_half_float_linear
- // Implies that TextureCaps for GL_RGB16F, GL_RGBA16F, GL_ALPHA32F_EXT, GL_LUMINANCE32F_EXT and
- // GL_LUMINANCE_ALPHA32F_EXT exist
- bool textureHalfFloat;
- bool textureHalfFloatLinear;
-
- // GL_OES_texture_float and GL_OES_texture_float_linear
- // Implies that TextureCaps for GL_RGB32F, GL_RGBA32F, GL_ALPHA16F_EXT, GL_LUMINANCE16F_EXT and
- // GL_LUMINANCE_ALPHA16F_EXT exist
- bool textureFloat;
- bool textureFloatLinear;
-
- // GL_EXT_texture_rg
- // Implies that TextureCaps for GL_R8, GL_RG8 (and floating point R/RG texture formats if floating point extensions
- // are also present) exist
- bool textureRG;
-
- // GL_EXT_texture_compression_dxt1, GL_ANGLE_texture_compression_dxt3 and GL_ANGLE_texture_compression_dxt5
- // Implies that TextureCaps for GL_COMPRESSED_RGB_S3TC_DXT1_EXT, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT
- // GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE and GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE
- bool textureCompressionDXT1;
- bool textureCompressionDXT3;
- bool textureCompressionDXT5;
-
- // GL_EXT_sRGB
- // Implies that TextureCaps for GL_SRGB8_ALPHA8 and GL_SRGB8 exist
- // TODO: Don't advertise this extension in ES3
- bool sRGB;
-
- // GL_ANGLE_depth_texture
- bool depthTextures;
-
- // GL_EXT_texture_storage
- bool textureStorage;
-
- // GL_OES_texture_npot
- bool textureNPOT;
-
- // GL_EXT_draw_buffers
- bool drawBuffers;
-
- // GL_EXT_texture_filter_anisotropic
- bool textureFilterAnisotropic;
- GLfloat maxTextureAnisotropy;
-
- // GL_EXT_occlusion_query_boolean
- bool occlusionQueryBoolean;
-
- // GL_NV_fence
- bool fence;
-
- // GL_ANGLE_timer_query
- bool timerQuery;
-
- // GL_EXT_robustness
- bool robustness;
-
- // GL_EXT_blend_minmax
- bool blendMinMax;
-
- // GL_ANGLE_framebuffer_blit
- bool framebufferBlit;
-
- // GL_ANGLE_framebuffer_multisample
- bool framebufferMultisample;
- GLuint maxSamples;
-
- // GL_ANGLE_instanced_arrays
- bool instancedArrays;
-
- // GL_ANGLE_pack_reverse_row_order
- bool packReverseRowOrder;
-
- // GL_OES_standard_derivatives
- bool standardDerivatives;
-
- // GL_EXT_shader_texture_lod
- bool shaderTextureLOD;
-
- // GL_EXT_frag_depth
- bool fragDepth;
-
- // GL_ANGLE_texture_usage
- bool textureUsage;
-
- // GL_ANGLE_translated_shader_source
- bool translatedShaderSource;
-
- // ES3 Extension support
-
- // GL_EXT_color_buffer_float
- bool colorBufferFloat;
-};
-
-struct Caps
-{
- Caps();
-
- // Table 6.28, implementation dependent values
- GLuint64 maxElementIndex;
- GLuint max3DTextureSize;
- GLuint max2DTextureSize;
- GLuint maxArrayTextureLayers;
- GLfloat maxLODBias;
- GLuint maxCubeMapTextureSize;
- GLuint maxRenderbufferSize;
- GLuint maxDrawBuffers;
- GLuint maxColorAttachments;
- GLuint maxViewportWidth;
- GLuint maxViewportHeight;
- GLfloat minAliasedPointSize;
- GLfloat maxAliasedPointSize;
- GLfloat minAliasedLineWidth;
- GLfloat maxAliasedLineWidth;
-
- // Table 6.29, implementation dependent values (cont.)
- GLuint maxElementsIndices;
- GLuint maxElementsVertices;
- std::vector<GLenum> compressedTextureFormats;
- std::vector<GLenum> programBinaryFormats;
- std::vector<GLenum> shaderBinaryFormats;
- GLuint64 maxServerWaitTimeout;
-
- // Table 6.31, implementation dependent vertex shader limits
- GLuint maxVertexAttributes;
- GLuint maxVertexUniformComponents;
- GLuint maxVertexUniformVectors;
- GLuint maxVertexUniformBlocks;
- GLuint maxVertexOutputComponents;
- GLuint maxVertexTextureImageUnits;
-
- // Table 6.32, implementation dependent fragment shader limits
- GLuint maxFragmentUniformComponents;
- GLuint maxFragmentUniformVectors;
- GLuint maxFragmentUniformBlocks;
- GLuint maxFragmentInputComponents;
- GLuint maxTextureImageUnits;
- GLint minProgramTexelOffset;
- GLint maxProgramTexelOffset;
-
- // Table 6.33, implementation dependent aggregate shader limits
- GLuint maxUniformBufferBindings;
- GLuint64 maxUniformBlockSize;
- GLuint uniformBufferOffsetAlignment;
- GLuint maxCombinedUniformBlocks;
- GLuint64 maxCombinedVertexUniformComponents;
- GLuint64 maxCombinedFragmentUniformComponents;
- GLuint maxVaryingComponents;
- GLuint maxVaryingVectors;
- GLuint maxCombinedTextureImageUnits;
-
- // Table 6.34, implementation dependent transform feedback limits
- GLuint maxTransformFeedbackInterleavedComponents;
- GLuint maxTransformFeedbackSeparateAttributes;
- GLuint maxTransformFeedbackSeparateComponents;
-};
-
-}
-
-#endif // LIBGLESV2_CAPS_H