xref: /aosp_15_r20/external/angle/src/common/gl_enum_utils.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker //
2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2019 The ANGLE Project Authors. All rights reserved.
3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file.
5*8975f5c5SAndroid Build Coastguard Worker //
6*8975f5c5SAndroid Build Coastguard Worker // gl_enum_utils.h:
7*8975f5c5SAndroid Build Coastguard Worker //   Utility functions for converting GLenums to string.
8*8975f5c5SAndroid Build Coastguard Worker 
9*8975f5c5SAndroid Build Coastguard Worker #ifndef LIBANGLE_GL_ENUM_UTILS_H_
10*8975f5c5SAndroid Build Coastguard Worker #define LIBANGLE_GL_ENUM_UTILS_H_
11*8975f5c5SAndroid Build Coastguard Worker 
12*8975f5c5SAndroid Build Coastguard Worker #include <ostream>
13*8975f5c5SAndroid Build Coastguard Worker #include <string>
14*8975f5c5SAndroid Build Coastguard Worker 
15*8975f5c5SAndroid Build Coastguard Worker #include "common/gl_enum_utils_autogen.h"
16*8975f5c5SAndroid Build Coastguard Worker 
17*8975f5c5SAndroid Build Coastguard Worker namespace gl
18*8975f5c5SAndroid Build Coastguard Worker {
19*8975f5c5SAndroid Build Coastguard Worker const char *GLbooleanToString(unsigned int value);
20*8975f5c5SAndroid Build Coastguard Worker const char *GLenumToString(GLESEnum enumGroup, unsigned int value);
21*8975f5c5SAndroid Build Coastguard Worker const char *GLenumToString(BigGLEnum enumGroup, unsigned int value);
22*8975f5c5SAndroid Build Coastguard Worker std::string GLbitfieldToString(GLESEnum enumGroup, unsigned int value);
23*8975f5c5SAndroid Build Coastguard Worker std::string GLbitfieldToString(BigGLEnum enumGroup, unsigned int value);
24*8975f5c5SAndroid Build Coastguard Worker void OutputGLenumString(std::ostream &out, GLESEnum enumGroup, unsigned int value);
25*8975f5c5SAndroid Build Coastguard Worker void OutputGLenumString(std::ostream &out, BigGLEnum enumGroup, unsigned int value);
26*8975f5c5SAndroid Build Coastguard Worker void OutputGLbitfieldString(std::ostream &out, GLESEnum enumGroup, unsigned int value);
27*8975f5c5SAndroid Build Coastguard Worker const char *GLinternalFormatToString(unsigned int format);
28*8975f5c5SAndroid Build Coastguard Worker unsigned int StringToGLenum(const char *str);
29*8975f5c5SAndroid Build Coastguard Worker unsigned int StringToGLbitfield(const char *str);
30*8975f5c5SAndroid Build Coastguard Worker 
31*8975f5c5SAndroid Build Coastguard Worker extern const char kUnknownGLenumString[];
32*8975f5c5SAndroid Build Coastguard Worker }  // namespace gl
33*8975f5c5SAndroid Build Coastguard Worker 
34*8975f5c5SAndroid Build Coastguard Worker #endif  // LIBANGLE_GL_ENUM_UTILS_H_
35