1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 01:17:34 +00:00

LibGL: Improve constants and types compatibility

When compiling with SDL_opengl, all kinds of differences between LibGL
and OpenGL constants and types popped up as redefinition warnings and
errors.

This fixes all LibGL-related warnings when compiling PrBoom+ :^)
This commit is contained in:
Jelle Raaijmakers 2022-09-01 13:27:11 +02:00 committed by Andreas Kling
parent 4d090487ac
commit f08411ba3f
5 changed files with 58 additions and 53 deletions

View file

@ -55,9 +55,9 @@ extern "C" {
#define GL_ALWAYS 0x0207 #define GL_ALWAYS 0x0207
// Buffer bits // Buffer bits
#define GL_DEPTH_BUFFER_BIT 0x00100 #define GL_DEPTH_BUFFER_BIT 0x00000100
#define GL_STENCIL_BUFFER_BIT 0x00400 #define GL_STENCIL_BUFFER_BIT 0x00000400
#define GL_COLOR_BUFFER_BIT 0x04000 #define GL_COLOR_BUFFER_BIT 0x00004000
// Enable capabilities // Enable capabilities
#define GL_LINE_SMOOTH 0x0B20 #define GL_LINE_SMOOTH 0x0B20
@ -411,70 +411,69 @@ extern "C" {
// Texture Unit indices // Texture Unit indices
#define GL_TEXTURE0 0x84C0 #define GL_TEXTURE0 0x84C0
#define GL_TEXTURE0_ARB 0x84C0
#define GL_TEXTURE1 0x84C1 #define GL_TEXTURE1 0x84C1
#define GL_TEXTURE1_ARB 0x84C1
#define GL_TEXTURE2 0x84C2 #define GL_TEXTURE2 0x84C2
#define GL_TEXTURE2_ARB 0x84C2
#define GL_TEXTURE3 0x84C3 #define GL_TEXTURE3 0x84C3
#define GL_TEXTURE3_ARB 0x84C3
#define GL_TEXTURE4 0x84C4 #define GL_TEXTURE4 0x84C4
#define GL_TEXTURE4_ARB 0x84C4
#define GL_TEXTURE5 0x84C5 #define GL_TEXTURE5 0x84C5
#define GL_TEXTURE5_ARB 0x84C5
#define GL_TEXTURE6 0x84C6 #define GL_TEXTURE6 0x84C6
#define GL_TEXTURE6_ARB 0x84C6
#define GL_TEXTURE7 0x84C7 #define GL_TEXTURE7 0x84C7
#define GL_TEXTURE7_ARB 0x84C7
#define GL_TEXTURE8 0x84C8 #define GL_TEXTURE8 0x84C8
#define GL_TEXTURE8_ARB 0x84C8
#define GL_TEXTURE9 0x84C9 #define GL_TEXTURE9 0x84C9
#define GL_TEXTURE9_ARB 0x84C9
#define GL_TEXTURE10 0x84CA #define GL_TEXTURE10 0x84CA
#define GL_TEXTURE10_ARB 0x84CA
#define GL_TEXTURE11 0x84CB #define GL_TEXTURE11 0x84CB
#define GL_TEXTURE11_ARB 0x84CB
#define GL_TEXTURE12 0x84CC #define GL_TEXTURE12 0x84CC
#define GL_TEXTURE12_ARB 0x84CC
#define GL_TEXTURE13 0x84CD #define GL_TEXTURE13 0x84CD
#define GL_TEXTURE13_ARB 0x84CD
#define GL_TEXTURE14 0x84CE #define GL_TEXTURE14 0x84CE
#define GL_TEXTURE14_ARB 0x84CE
#define GL_TEXTURE15 0x84CF #define GL_TEXTURE15 0x84CF
#define GL_TEXTURE15_ARB 0x84CF
#define GL_TEXTURE16 0x84D0 #define GL_TEXTURE16 0x84D0
#define GL_TEXTURE16_ARB 0x84D0
#define GL_TEXTURE17 0x84D1 #define GL_TEXTURE17 0x84D1
#define GL_TEXTURE17_ARB 0x84D1
#define GL_TEXTURE18 0x84D2 #define GL_TEXTURE18 0x84D2
#define GL_TEXTURE18_ARB 0x84D2
#define GL_TEXTURE19 0x84D3 #define GL_TEXTURE19 0x84D3
#define GL_TEXTURE19_ARB 0x84D3
#define GL_TEXTURE20 0x84D4 #define GL_TEXTURE20 0x84D4
#define GL_TEXTURE20_ARB 0x84D4
#define GL_TEXTURE21 0x84D5 #define GL_TEXTURE21 0x84D5
#define GL_TEXTURE21_ARB 0x84D5
#define GL_TEXTURE22 0x84D6 #define GL_TEXTURE22 0x84D6
#define GL_TEXTURE22_ARB 0x84D6
#define GL_TEXTURE23 0x84D7 #define GL_TEXTURE23 0x84D7
#define GL_TEXTURE23_ARB 0x84D7
#define GL_TEXTURE24 0x84D8 #define GL_TEXTURE24 0x84D8
#define GL_TEXTURE24_ARB 0x84D8
#define GL_TEXTURE25 0x84D9 #define GL_TEXTURE25 0x84D9
#define GL_TEXTURE25_ARB 0x84D9
#define GL_TEXTURE26 0x84DA #define GL_TEXTURE26 0x84DA
#define GL_TEXTURE26_ARB 0x84DA
#define GL_TEXTURE27 0x84DB #define GL_TEXTURE27 0x84DB
#define GL_TEXTURE27_ARB 0x84DB
#define GL_TEXTURE28 0x84DC #define GL_TEXTURE28 0x84DC
#define GL_TEXTURE28_ARB 0x84DC
#define GL_TEXTURE29 0x84DD #define GL_TEXTURE29 0x84DD
#define GL_TEXTURE29_ARB 0x84DD
#define GL_TEXTURE30 0x84DE #define GL_TEXTURE30 0x84DE
#define GL_TEXTURE30_ARB 0x84DE
#define GL_TEXTURE31 0x84DF #define GL_TEXTURE31 0x84DF
#define GL_TEXTURE31_ARB 0x84DF
#define GL_TEXTURE0_ARB GL_TEXTURE0
#define GL_TEXTURE1_ARB GL_TEXTURE1
#define GL_TEXTURE2_ARB GL_TEXTURE2
#define GL_TEXTURE3_ARB GL_TEXTURE3
#define GL_TEXTURE4_ARB GL_TEXTURE4
#define GL_TEXTURE5_ARB GL_TEXTURE5
#define GL_TEXTURE6_ARB GL_TEXTURE6
#define GL_TEXTURE7_ARB GL_TEXTURE7
#define GL_TEXTURE8_ARB GL_TEXTURE8
#define GL_TEXTURE9_ARB GL_TEXTURE9
#define GL_TEXTURE10_ARB GL_TEXTURE10
#define GL_TEXTURE11_ARB GL_TEXTURE11
#define GL_TEXTURE12_ARB GL_TEXTURE12
#define GL_TEXTURE13_ARB GL_TEXTURE13
#define GL_TEXTURE14_ARB GL_TEXTURE14
#define GL_TEXTURE15_ARB GL_TEXTURE15
#define GL_TEXTURE16_ARB GL_TEXTURE16
#define GL_TEXTURE17_ARB GL_TEXTURE17
#define GL_TEXTURE18_ARB GL_TEXTURE18
#define GL_TEXTURE19_ARB GL_TEXTURE19
#define GL_TEXTURE20_ARB GL_TEXTURE20
#define GL_TEXTURE21_ARB GL_TEXTURE21
#define GL_TEXTURE22_ARB GL_TEXTURE22
#define GL_TEXTURE23_ARB GL_TEXTURE23
#define GL_TEXTURE24_ARB GL_TEXTURE24
#define GL_TEXTURE25_ARB GL_TEXTURE25
#define GL_TEXTURE26_ARB GL_TEXTURE26
#define GL_TEXTURE27_ARB GL_TEXTURE27
#define GL_TEXTURE28_ARB GL_TEXTURE28
#define GL_TEXTURE29_ARB GL_TEXTURE29
#define GL_TEXTURE30_ARB GL_TEXTURE30
#define GL_TEXTURE31_ARB GL_TEXTURE31
// Texture coord names // Texture coord names
#define GL_S 0x2000 #define GL_S 0x2000
@ -572,7 +571,7 @@ GLAPI void glEnd();
GLAPI void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble nearVal, GLdouble farVal); GLAPI void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble nearVal, GLdouble farVal);
GLAPI void glGenTextures(GLsizei n, GLuint* textures); GLAPI void glGenTextures(GLsizei n, GLuint* textures);
GLAPI GLenum glGetError(); GLAPI GLenum glGetError();
GLAPI GLubyte* glGetString(GLenum name); GLAPI GLubyte const* glGetString(GLenum name);
GLAPI void glLoadIdentity(); GLAPI void glLoadIdentity();
GLAPI void glLoadMatrixd(GLdouble const* matrix); GLAPI void glLoadMatrixd(GLdouble const* matrix);
GLAPI void glLoadMatrixf(GLfloat const* matrix); GLAPI void glLoadMatrixf(GLfloat const* matrix);
@ -684,7 +683,7 @@ GLAPI void glDepthRange(GLdouble nearVal, GLdouble farVal);
GLAPI void glDepthFunc(GLenum func); GLAPI void glDepthFunc(GLenum func);
GLAPI void glPolygonMode(GLenum face, GLenum mode); GLAPI void glPolygonMode(GLenum face, GLenum mode);
GLAPI void glPolygonOffset(GLfloat factor, GLfloat units); GLAPI void glPolygonOffset(GLfloat factor, GLfloat units);
GLAPI void glFogfv(GLenum mode, GLfloat* params); GLAPI void glFogfv(GLenum mode, GLfloat const* params);
GLAPI void glFogf(GLenum pname, GLfloat param); GLAPI void glFogf(GLenum pname, GLfloat param);
GLAPI void glFogi(GLenum pname, GLint param); GLAPI void glFogi(GLenum pname, GLint param);
GLAPI void glPixelStorei(GLenum pname, GLint param); GLAPI void glPixelStorei(GLenum pname, GLint param);

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2021, Jelle Raaijmakers <jelle@gmta.nl> * Copyright (c) 2021-2022, Jelle Raaijmakers <jelle@gmta.nl>
* *
* SPDX-License-Identifier: BSD-2-Clause * SPDX-License-Identifier: BSD-2-Clause
*/ */
@ -21,7 +21,7 @@
// Defines types used by all OpenGL applications // Defines types used by all OpenGL applications
// https://www.khronos.org/opengl/wiki/OpenGL_Type // https://www.khronos.org/opengl/wiki/OpenGL_Type
typedef char GLchar; typedef char GLchar;
typedef char GLbyte; typedef signed char GLbyte;
typedef unsigned char GLuchar; typedef unsigned char GLuchar;
typedef unsigned char GLubyte; typedef unsigned char GLubyte;
typedef unsigned char GLboolean; typedef unsigned char GLboolean;
@ -30,8 +30,6 @@ typedef unsigned short GLushort;
typedef int GLint; typedef int GLint;
typedef unsigned int GLuint; typedef unsigned int GLuint;
typedef int GLfixed; typedef int GLfixed;
typedef long long GLint64;
typedef unsigned long long GLuint64;
typedef int GLsizei; typedef int GLsizei;
typedef void GLvoid; typedef void GLvoid;
typedef float GLfloat; typedef float GLfloat;
@ -40,3 +38,11 @@ typedef float GLclampf;
typedef double GLdouble; typedef double GLdouble;
typedef unsigned int GLenum; typedef unsigned int GLenum;
typedef unsigned int GLbitfield; typedef unsigned int GLbitfield;
#if defined(__x86_64__) || defined(__aarch64__)
typedef long GLint64;
typedef unsigned long GLuint64;
#else
typedef long long GLint64;
typedef unsigned long long GLuint64;
#endif

View file

@ -354,7 +354,7 @@ void glFinish()
g_gl_context->gl_finish(); g_gl_context->gl_finish();
} }
void glFogfv(GLenum pname, GLfloat* params) void glFogfv(GLenum pname, GLfloat const* params)
{ {
g_gl_context->gl_fogfv(pname, params); g_gl_context->gl_fogfv(pname, params);
} }
@ -444,7 +444,7 @@ void glGetMaterialiv(GLenum face, GLenum pname, GLint* params)
g_gl_context->gl_get_material(face, pname, params, GL_INT); g_gl_context->gl_get_material(face, pname, params, GL_INT);
} }
GLubyte* glGetString(GLenum name) GLubyte const* glGetString(GLenum name)
{ {
return g_gl_context->gl_get_string(name); return g_gl_context->gl_get_string(name);
} }

View file

@ -191,21 +191,21 @@ GLenum GLContext::gl_get_error()
return last_error; return last_error;
} }
GLubyte* GLContext::gl_get_string(GLenum name) GLubyte const* GLContext::gl_get_string(GLenum name)
{ {
RETURN_VALUE_WITH_ERROR_IF(m_in_draw_state, GL_INVALID_OPERATION, nullptr); RETURN_VALUE_WITH_ERROR_IF(m_in_draw_state, GL_INVALID_OPERATION, nullptr);
switch (name) { switch (name) {
case GL_VENDOR: case GL_VENDOR:
return reinterpret_cast<GLubyte*>(const_cast<char*>(m_device_info.vendor_name.characters())); return reinterpret_cast<GLubyte const*>(m_device_info.vendor_name.characters());
case GL_RENDERER: case GL_RENDERER:
return reinterpret_cast<GLubyte*>(const_cast<char*>(m_device_info.device_name.characters())); return reinterpret_cast<GLubyte const*>(m_device_info.device_name.characters());
case GL_VERSION: case GL_VERSION:
return reinterpret_cast<GLubyte*>(const_cast<char*>("1.5")); return reinterpret_cast<GLubyte const*>("1.5");
case GL_EXTENSIONS: case GL_EXTENSIONS:
return reinterpret_cast<GLubyte*>(const_cast<char*>(m_extensions.characters())); return reinterpret_cast<GLubyte const*>(m_extensions.characters());
case GL_SHADING_LANGUAGE_VERSION: case GL_SHADING_LANGUAGE_VERSION:
return reinterpret_cast<GLubyte*>(const_cast<char*>("0.0")); return reinterpret_cast<GLubyte const*>("0.0");
default: default:
dbgln_if(GL_DEBUG, "gl_get_string({:#x}): unknown name", name); dbgln_if(GL_DEBUG, "gl_get_string({:#x}): unknown name", name);
break; break;
@ -725,7 +725,7 @@ void GLContext::gl_polygon_offset(GLfloat factor, GLfloat units)
m_rasterizer->set_options(rasterizer_options); m_rasterizer->set_options(rasterizer_options);
} }
void GLContext::gl_fogfv(GLenum pname, GLfloat* params) void GLContext::gl_fogfv(GLenum pname, GLfloat const* params)
{ {
APPEND_TO_CALL_LIST_AND_RETURN_IF_NEEDED(gl_fogfv, pname, params); APPEND_TO_CALL_LIST_AND_RETURN_IF_NEEDED(gl_fogfv, pname, params);
RETURN_WITH_ERROR_IF(m_in_draw_state, GL_INVALID_OPERATION); RETURN_WITH_ERROR_IF(m_in_draw_state, GL_INVALID_OPERATION);

View file

@ -113,7 +113,7 @@ public:
void gl_frustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val); void gl_frustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val);
void gl_gen_textures(GLsizei n, GLuint* textures); void gl_gen_textures(GLsizei n, GLuint* textures);
GLenum gl_get_error(); GLenum gl_get_error();
GLubyte* gl_get_string(GLenum name); GLubyte const* gl_get_string(GLenum name);
void gl_load_identity(); void gl_load_identity();
void gl_load_matrix(FloatMatrix4x4 const& matrix); void gl_load_matrix(FloatMatrix4x4 const& matrix);
void gl_matrix_mode(GLenum mode); void gl_matrix_mode(GLenum mode);
@ -177,7 +177,7 @@ public:
void gl_depth_func(GLenum func); void gl_depth_func(GLenum func);
void gl_polygon_mode(GLenum face, GLenum mode); void gl_polygon_mode(GLenum face, GLenum mode);
void gl_polygon_offset(GLfloat factor, GLfloat units); void gl_polygon_offset(GLfloat factor, GLfloat units);
void gl_fogfv(GLenum pname, GLfloat* params); void gl_fogfv(GLenum pname, GLfloat const* params);
void gl_fogf(GLenum pname, GLfloat param); void gl_fogf(GLenum pname, GLfloat param);
void gl_fogi(GLenum pname, GLint param); void gl_fogi(GLenum pname, GLint param);
void gl_pixel_storei(GLenum pname, GLint param); void gl_pixel_storei(GLenum pname, GLint param);