Home | History | Annotate | Download | only in libGLESv2
      1 //
      2 // Copyright (c) 2002-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 // utilities.h: Conversion functions and other utility routines.
      8 
      9 #ifndef LIBGLESV2_UTILITIES_H
     10 #define LIBGLESV2_UTILITIES_H
     11 
     12 #define GL_APICALL
     13 #include <GLES2/gl2.h>
     14 #include <GLES2/gl2ext.h>
     15 
     16 #include <string>
     17 
     18 namespace gl
     19 {
     20 
     21 struct Color;
     22 
     23 int UniformComponentCount(GLenum type);
     24 GLenum UniformComponentType(GLenum type);
     25 size_t UniformInternalSize(GLenum type);
     26 size_t UniformExternalSize(GLenum type);
     27 int VariableRowCount(GLenum type);
     28 int VariableColumnCount(GLenum type);
     29 
     30 int AllocateFirstFreeBits(unsigned int *bits, unsigned int allocationSize, unsigned int bitsSize);
     31 
     32 void MakeValidSize(bool isImage, bool isCompressed, GLsizei *requestWidth, GLsizei *requestHeight, int *levelOffset);
     33 int ComputePixelSize(GLint internalformat);
     34 GLsizei ComputePitch(GLsizei width, GLint internalformat, GLint alignment);
     35 GLsizei ComputeCompressedPitch(GLsizei width, GLenum format);
     36 GLsizei ComputeCompressedSize(GLsizei width, GLsizei height, GLenum format);
     37 GLsizei ComputeTypeSize(GLenum type);
     38 bool IsCompressed(GLenum format);
     39 bool IsDepthTexture(GLenum format);
     40 bool IsStencilTexture(GLenum format);
     41 bool IsCubemapTextureTarget(GLenum target);
     42 bool IsInternalTextureTarget(GLenum target);
     43 GLint ConvertSizedInternalFormat(GLenum format, GLenum type);
     44 GLenum ExtractFormat(GLenum internalformat);
     45 GLenum ExtractType(GLenum internalformat);
     46 
     47 bool IsColorRenderable(GLenum internalformat);
     48 bool IsDepthRenderable(GLenum internalformat);
     49 bool IsStencilRenderable(GLenum internalformat);
     50 
     51 bool IsFloat32Format(GLint internalformat);
     52 bool IsFloat16Format(GLint internalformat);
     53 
     54 GLuint GetAlphaSize(GLenum colorFormat);
     55 GLuint GetRedSize(GLenum colorFormat);
     56 GLuint GetGreenSize(GLenum colorFormat);
     57 GLuint GetBlueSize(GLenum colorFormat);
     58 GLuint GetDepthSize(GLenum depthFormat);
     59 GLuint GetStencilSize(GLenum stencilFormat);
     60 bool IsTriangleMode(GLenum drawMode);
     61 
     62 }
     63 
     64 std::string getTempPath();
     65 void writeFile(const char* path, const void* data, size_t size);
     66 
     67 #endif  // LIBGLESV2_UTILITIES_H
     68