2017-03-03 14:15:27 +01:00
|
|
|
#include <cstdlib>
|
2012-03-24 23:39:19 +01:00
|
|
|
|
2020-10-04 23:24:14 +02:00
|
|
|
#include "Common/GPU/OpenGL/GLCommon.h"
|
|
|
|
|
#include "Common/GPU/OpenGL/GLDebugLog.h"
|
2017-03-03 14:15:27 +01:00
|
|
|
|
2020-08-15 15:40:35 +02:00
|
|
|
#include "Common/Log.h"
|
|
|
|
|
|
2017-03-03 14:15:27 +01:00
|
|
|
// This we can expand as needed.
|
|
|
|
|
std::string GLEnumToString(uint16_t value) {
|
|
|
|
|
char str[64];
|
|
|
|
|
switch (value) {
|
|
|
|
|
case GL_UNSIGNED_SHORT_4_4_4_4: return "GL_UNSIGNED_SHORT_4_4_4_4";
|
|
|
|
|
case GL_UNSIGNED_SHORT_5_5_5_1: return "GL_UNSIGNED_SHORT_5_5_5_1";
|
|
|
|
|
case GL_UNSIGNED_SHORT_5_6_5: return "GL_UNSIGNED_SHORT_5_6_5";
|
2017-03-18 13:45:51 -07:00
|
|
|
case GL_UNSIGNED_BYTE: return "GL_UNSIGNED_BYTE";
|
2017-03-03 14:15:27 +01:00
|
|
|
case GL_RGBA: return "GL_RGBA";
|
|
|
|
|
case GL_RGB: return "GL_RGB";
|
|
|
|
|
#if !defined(USING_GLES2)
|
|
|
|
|
case GL_BGRA: return "GL_BGRA";
|
|
|
|
|
case GL_UNSIGNED_SHORT_4_4_4_4_REV: return "GL_UNSIGNED_SHORT_4_4_4_4_REV";
|
|
|
|
|
case GL_UNSIGNED_SHORT_5_6_5_REV: return "GL_UNSIGNED_SHORT_5_6_5_REV";
|
|
|
|
|
case GL_UNSIGNED_SHORT_1_5_5_5_REV: return "GL_UNSIGNED_SHORT_1_5_5_5_REV";
|
|
|
|
|
case GL_UNSIGNED_INT_8_8_8_8_REV: return "GL_UNSIGNED_INT_8_8_8_8_REV";
|
|
|
|
|
#endif
|
|
|
|
|
case GL_OUT_OF_MEMORY: return "GL_OUT_OF_MEMORY";
|
|
|
|
|
case GL_PACK_ALIGNMENT: return "GL_PACK_ALIGNMENT";
|
|
|
|
|
case GL_INVALID_ENUM: return "GL_INVALID_ENUM";
|
|
|
|
|
case GL_INVALID_VALUE: return "GL_INVALID_VALUE";
|
|
|
|
|
case GL_INVALID_OPERATION: return "GL_INVALID_OPERATION";
|
|
|
|
|
default: {
|
|
|
|
|
snprintf(str, sizeof(str), "(unk:%04x)", value);
|
|
|
|
|
return str;
|
|
|
|
|
}
|
2012-10-30 13:20:55 +01:00
|
|
|
}
|
2012-03-24 23:39:19 +01:00
|
|
|
}
|
|
|
|
|
|
2020-09-17 20:48:24 +02:00
|
|
|
bool CheckGLError(const char *file, int line) {
|
2017-03-03 14:15:27 +01:00
|
|
|
GLenum err = glGetError();
|
|
|
|
|
if (err != GL_NO_ERROR) {
|
2024-07-14 14:42:59 +02:00
|
|
|
ERROR_LOG(Log::G3D, "GL error %s on %s:%d", GLEnumToString(err).c_str(), file, line);
|
2020-09-17 20:48:24 +02:00
|
|
|
return false;
|
2017-03-03 14:15:27 +01:00
|
|
|
}
|
2020-09-17 20:48:24 +02:00
|
|
|
return true;
|
2012-03-24 23:39:19 +01:00
|
|
|
}
|