1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:17:44 +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
// Buffer bits
#define GL_DEPTH_BUFFER_BIT 0x00100
#define GL_STENCIL_BUFFER_BIT 0x00400
#define GL_COLOR_BUFFER_BIT 0x04000
#define GL_DEPTH_BUFFER_BIT 0x00000100
#define GL_STENCIL_BUFFER_BIT 0x00000400
#define GL_COLOR_BUFFER_BIT 0x00004000
// Enable capabilities
#define GL_LINE_SMOOTH 0x0B20
@ -411,70 +411,69 @@ extern "C" {
// Texture Unit indices
#define GL_TEXTURE0 0x84C0
#define GL_TEXTURE0_ARB 0x84C0
#define GL_TEXTURE1 0x84C1
#define GL_TEXTURE1_ARB 0x84C1
#define GL_TEXTURE2 0x84C2
#define GL_TEXTURE2_ARB 0x84C2
#define GL_TEXTURE3 0x84C3
#define GL_TEXTURE3_ARB 0x84C3
#define GL_TEXTURE4 0x84C4
#define GL_TEXTURE4_ARB 0x84C4
#define GL_TEXTURE5 0x84C5
#define GL_TEXTURE5_ARB 0x84C5
#define GL_TEXTURE6 0x84C6
#define GL_TEXTURE6_ARB 0x84C6
#define GL_TEXTURE7 0x84C7
#define GL_TEXTURE7_ARB 0x84C7
#define GL_TEXTURE8 0x84C8
#define GL_TEXTURE8_ARB 0x84C8
#define GL_TEXTURE9 0x84C9
#define GL_TEXTURE9_ARB 0x84C9
#define GL_TEXTURE10 0x84CA
#define GL_TEXTURE10_ARB 0x84CA
#define GL_TEXTURE11 0x84CB
#define GL_TEXTURE11_ARB 0x84CB
#define GL_TEXTURE12 0x84CC
#define GL_TEXTURE12_ARB 0x84CC
#define GL_TEXTURE13 0x84CD
#define GL_TEXTURE13_ARB 0x84CD
#define GL_TEXTURE14 0x84CE
#define GL_TEXTURE14_ARB 0x84CE
#define GL_TEXTURE15 0x84CF
#define GL_TEXTURE15_ARB 0x84CF
#define GL_TEXTURE16 0x84D0
#define GL_TEXTURE16_ARB 0x84D0
#define GL_TEXTURE17 0x84D1
#define GL_TEXTURE17_ARB 0x84D1
#define GL_TEXTURE18 0x84D2
#define GL_TEXTURE18_ARB 0x84D2
#define GL_TEXTURE19 0x84D3
#define GL_TEXTURE19_ARB 0x84D3
#define GL_TEXTURE20 0x84D4
#define GL_TEXTURE20_ARB 0x84D4
#define GL_TEXTURE21 0x84D5
#define GL_TEXTURE21_ARB 0x84D5
#define GL_TEXTURE22 0x84D6
#define GL_TEXTURE22_ARB 0x84D6
#define GL_TEXTURE23 0x84D7
#define GL_TEXTURE23_ARB 0x84D7
#define GL_TEXTURE24 0x84D8
#define GL_TEXTURE24_ARB 0x84D8
#define GL_TEXTURE25 0x84D9
#define GL_TEXTURE25_ARB 0x84D9
#define GL_TEXTURE26 0x84DA
#define GL_TEXTURE26_ARB 0x84DA
#define GL_TEXTURE27 0x84DB
#define GL_TEXTURE27_ARB 0x84DB
#define GL_TEXTURE28 0x84DC
#define GL_TEXTURE28_ARB 0x84DC
#define GL_TEXTURE29 0x84DD
#define GL_TEXTURE29_ARB 0x84DD
#define GL_TEXTURE30 0x84DE
#define GL_TEXTURE30_ARB 0x84DE
#define GL_TEXTURE31 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
#define GL_TEXTURE31_ARB 0x84DF
// Texture coord names
#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 glGenTextures(GLsizei n, GLuint* textures);
GLAPI GLenum glGetError();
GLAPI GLubyte* glGetString(GLenum name);
GLAPI GLubyte const* glGetString(GLenum name);
GLAPI void glLoadIdentity();
GLAPI void glLoadMatrixd(GLdouble 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 glPolygonMode(GLenum face, GLenum mode);
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 glFogi(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
*/
@ -21,7 +21,7 @@
// Defines types used by all OpenGL applications
// https://www.khronos.org/opengl/wiki/OpenGL_Type
typedef char GLchar;
typedef char GLbyte;
typedef signed char GLbyte;
typedef unsigned char GLuchar;
typedef unsigned char GLubyte;
typedef unsigned char GLboolean;
@ -30,8 +30,6 @@ typedef unsigned short GLushort;
typedef int GLint;
typedef unsigned int GLuint;
typedef int GLfixed;
typedef long long GLint64;
typedef unsigned long long GLuint64;
typedef int GLsizei;
typedef void GLvoid;
typedef float GLfloat;
@ -40,3 +38,11 @@ typedef float GLclampf;
typedef double GLdouble;
typedef unsigned int GLenum;
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();
}
void glFogfv(GLenum pname, GLfloat* params)
void glFogfv(GLenum pname, GLfloat const* 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);
}
GLubyte* glGetString(GLenum name)
GLubyte const* glGetString(GLenum name)
{
return g_gl_context->gl_get_string(name);
}

View file

@ -191,21 +191,21 @@ GLenum GLContext::gl_get_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);
switch (name) {
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:
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:
return reinterpret_cast<GLubyte*>(const_cast<char*>("1.5"));
return reinterpret_cast<GLubyte const*>("1.5");
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:
return reinterpret_cast<GLubyte*>(const_cast<char*>("0.0"));
return reinterpret_cast<GLubyte const*>("0.0");
default:
dbgln_if(GL_DEBUG, "gl_get_string({:#x}): unknown name", name);
break;
@ -725,7 +725,7 @@ void GLContext::gl_polygon_offset(GLfloat factor, GLfloat units)
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);
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_gen_textures(GLsizei n, GLuint* textures);
GLenum gl_get_error();
GLubyte* gl_get_string(GLenum name);
GLubyte const* gl_get_string(GLenum name);
void gl_load_identity();
void gl_load_matrix(FloatMatrix4x4 const& matrix);
void gl_matrix_mode(GLenum mode);
@ -177,7 +177,7 @@ public:
void gl_depth_func(GLenum func);
void gl_polygon_mode(GLenum face, GLenum mode);
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_fogi(GLenum pname, GLint param);
void gl_pixel_storei(GLenum pname, GLint param);