From 420c5a4ff358839258edb2eec4fe6120646f3826 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Wed, 9 Oct 2024 02:01:10 +0300 Subject: [PATCH] ref: gl: set numeric value for wrappers macros, similar to build.h macros --- ref/gl/gl2_shim/gl2_shim.c | 4 +- ref/gl/gl_backend.c | 2 +- ref/gl/gl_context.c | 4 +- ref/gl/gl_export.h | 44 ++++++++++----------- ref/gl/gl_image.c | 4 +- ref/gl/gl_opengl.c | 80 +++++++++++++++++++------------------- ref/gl/gl_rsurf.c | 4 +- ref/gl/wscript | 10 ++--- 8 files changed, 76 insertions(+), 76 deletions(-) diff --git a/ref/gl/gl2_shim/gl2_shim.c b/ref/gl/gl2_shim/gl2_shim.c index 1f4e3b8c..d7e69167 100644 --- a/ref/gl/gl2_shim/gl2_shim.c +++ b/ref/gl/gl2_shim/gl2_shim.c @@ -32,7 +32,7 @@ Limitations: */ #include "gl_local.h" -#ifndef XASH_GL_STATIC +#if !XASH_GL_STATIC #include "gl2_shim.h" #define MAX_SHADERLEN 4096 @@ -1328,7 +1328,7 @@ static void APIENTRY GL2_LoadMatrixf( const GLfloat *m ) gl2wrap_matrix.update = 0xFFFFFFFFFFFFFFFF; } -#ifdef XASH_GLES +#if XASH_GLES static void ( APIENTRY *_pglDepthRangef)( GLfloat zFar, GLfloat zNear ); static void APIENTRY GL2_DepthRange( GLdouble zFar, GLdouble zNear ) { diff --git a/ref/gl/gl_backend.c b/ref/gl/gl_backend.c index 45ad73eb..76803294 100644 --- a/ref/gl/gl_backend.c +++ b/ref/gl/gl_backend.c @@ -688,7 +688,7 @@ void R_ShowTextures( void ) pglBegin( GL_QUADS ); -#if XASH_GLES +#if XASH_NANOGL #undef pglTexCoord3f #define pglTexCoord3f( s, t, u ) pglTexCoord2f( s, t ) // not really correct but it requires nanogl rework #endif // XASH_GLES diff --git a/ref/gl/gl_context.c b/ref/gl/gl_context.c index 906b8f40..3efdc1aa 100644 --- a/ref/gl/gl_context.c +++ b/ref/gl/gl_context.c @@ -18,7 +18,7 @@ GNU General Public License for more details. #include "gl_local.h" #include "gl_export.h" -#ifdef XASH_GL4ES +#if XASH_GL4ES #include "gl4es/include/gl4esinit.h" #endif @@ -420,7 +420,7 @@ static void GAME_EXPORT R_OverrideTextureSourceSize( unsigned int texnum, uint s static void* GAME_EXPORT R_GetProcAddress( const char *name ) { -#ifdef XASH_GL4ES +#if XASH_GL4ES return gl4es_GetProcAddress( name ); #else // TODO: other wrappers return gEngfuncs.GL_GetProcAddress( name ); diff --git a/ref/gl/gl_export.h b/ref/gl/gl_export.h index eed6e6e8..d261985d 100644 --- a/ref/gl/gl_export.h +++ b/ref/gl/gl_export.h @@ -20,20 +20,20 @@ GNU General Public License for more details. #endif #ifndef APIENTRY_LINKAGE -#define APIENTRY_LINKAGE extern + #define APIENTRY_LINKAGE extern #endif -#if defined XASH_NANOGL || defined XASH_WES || defined XASH_REGAL -#define XASH_GLES -#define XASH_GL_STATIC -#define REF_GL_KEEP_MANGLED_FUNCTIONS -#elif defined XASH_GLES3COMPAT -#ifdef SOFTFP_LINK -#undef APIENTRY -#define APIENTRY __attribute__((pcs("aapcs"))) -#endif -#define XASH_GLES -#endif +#if XASH_NANOGL || XASH_WES || XASH_REGAL + #define XASH_GLES 1 + #define XASH_GL_STATIC 1 + #define REF_GL_KEEP_MANGLED_FUNCTIONS 1 +#elif XASH_GLES3COMPAT + #ifdef SOFTFP_LINK + #undef APIENTRY + #define APIENTRY __attribute__((pcs("aapcs"))) + #endif // SOFTFP_LINK + #define XASH_GLES 1 +#endif // XASH_GLES3COMPAT typedef uint GLenum; typedef byte GLboolean; @@ -897,16 +897,16 @@ typedef float GLmatrix[16]; #define WGL_SAMPLES_ARB 0x2042 #ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-variable" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if defined( XASH_GL_STATIC ) && !defined( REF_GL_KEEP_MANGLED_FUNCTIONS ) -#define GL_FUNCTION( name ) name -#elif defined( XASH_GL_STATIC ) && defined( REF_GL_KEEP_MANGLED_FUNCTIONS ) -#define GL_FUNCTION( name ) APIENTRY p##name +#if XASH_GL_STATIC && !REF_GL_KEEP_MANGLED_FUNCTIONS + #define GL_FUNCTION( name ) name +#elif XASH_GL_STATIC && REF_GL_KEEP_MANGLED_FUNCTIONS + #define GL_FUNCTION( name ) APIENTRY p##name #else -#define GL_FUNCTION( name ) (APIENTRY *p##name) + #define GL_FUNCTION( name ) (APIENTRY *p##name) #endif // helper opengl functions @@ -1387,11 +1387,11 @@ APIENTRY_LINKAGE void GL_FUNCTION( glFlushMappedBufferRange )(GLenum target, GLs APIENTRY_LINKAGE void *GL_FUNCTION( glMapBufferRange )(GLenum target, GLsizei offset, GLsizei length, GLbitfield access); APIENTRY_LINKAGE void GL_FUNCTION( glDrawRangeElementsBaseVertex )( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLuint vertex ); -#if !defined( XASH_GL_STATIC ) || (!defined( XASH_GLES ) && !defined( XASH_GL4ES )) +#if !XASH_GL_STATIC || ( !XASH_GLES && !XASH_GL4ES ) APIENTRY_LINKAGE void GL_FUNCTION( glTexImage2DMultisample )(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); #endif /* !XASH_GLES && !XASH_GL4ES */ -#if defined( XASH_GL_STATIC ) && !defined( REF_GL_KEEP_MANGLED_FUNCTIONS ) +#if XASH_GL_STATIC && !REF_GL_KEEP_MANGLED_FUNCTIONS #define pglGetError glGetError #define pglGetString glGetString #define pglAccum glAccum @@ -1857,7 +1857,7 @@ APIENTRY_LINKAGE void GL_FUNCTION( glTexImage2DMultisample )(GLenum target, GLsi #endif #ifdef __GNUC__ -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #endif//GL_EXPORT_H diff --git a/ref/gl/gl_image.c b/ref/gl/gl_image.c index e098eb54..8fb49b1c 100644 --- a/ref/gl/gl_image.c +++ b/ref/gl/gl_image.c @@ -632,7 +632,7 @@ static void GL_SetTextureTarget( gl_texture_t *tex, rgbdata_t *pic ) pic->numMips = Q_max( 1, pic->numMips ); // trying to determine texture type -#ifndef XASH_GLES +#if !XASH_GLES if( pic->width > 1 && pic->height <= 1 ) tex->target = GL_TEXTURE_1D; else @@ -1094,7 +1094,7 @@ static void GL_TextureImageCompressed( gl_texture_t *tex, GLint side, GLint leve Assert( tex != NULL ); -#ifndef XASH_GLES +#if !XASH_GLES if( tex->target == GL_TEXTURE_1D ) { if( subImage ) pglCompressedTexSubImage1DARB( tex->target, level, 0, width, tex->format, size, data ); diff --git a/ref/gl/gl_opengl.c b/ref/gl/gl_opengl.c index b6e0589b..35359d29 100644 --- a/ref/gl/gl_opengl.c +++ b/ref/gl/gl_opengl.c @@ -47,11 +47,12 @@ glconfig_t glConfig; glstate_t glState; glwstate_t glw_state; -#ifdef XASH_GL_STATIC -#define GL_CALL( x ) #x, NULL +#if XASH_GL_STATIC + #define GL_CALL( x ) #x, NULL #else -#define GL_CALL( x ) #x, (void**)&p##x + #define GL_CALL( x ) #x, (void**)&p##x #endif + static dllfunc_t opengl_110funcs[] = { { GL_CALL( glClearColor ) }, @@ -229,7 +230,7 @@ static dllfunc_t vbofuncs[] = { GL_CALL( glDeleteBuffersARB ) }, { GL_CALL( glGenBuffersARB ) }, { GL_CALL( glIsBufferARB ) }, -#ifndef XASH_GLES +#if !XASH_GLES { GL_CALL( glMapBufferARB ) }, { GL_CALL( glUnmapBufferARB ) }, #endif @@ -260,13 +261,12 @@ static dllfunc_t drawrangeelementsextfuncs[] = // mangling in gl2shim??? // still need resolve some ext dynamicly, and mangling beginend wrappers will help only with LTO // anyway this will not work with gl-wes/nanogl, we do not link to libGLESv2, so skip this now -#ifndef XASH_GL_STATIC - +#if !XASH_GL_STATIC static dllfunc_t mapbufferrangefuncs[] = { { GL_CALL( glMapBufferRange ) }, { GL_CALL( glFlushMappedBufferRange ) }, -#ifdef XASH_GLES +#if XASH_GLES { GL_CALL( glUnmapBufferARB ) }, #endif { NULL, NULL } @@ -284,7 +284,6 @@ static dllfunc_t bufferstoragefuncs[] = { NULL, NULL } }; - static dllfunc_t shaderobjectsfuncs[] = { { GL_CALL( glDeleteObjectARB ) }, @@ -440,7 +439,7 @@ static dllfunc_t multitexturefuncs_es2[] = { NULL , NULL } }; -#endif +#endif // !XASH_GL_STATIC /* ======================== @@ -548,7 +547,7 @@ qboolean GL_CheckExtension( const char *name, const dllfunc_t *funcs, const char return false; } -#ifndef XASH_GL_STATIC +#if !XASH_GL_STATIC // clear exports for( func = funcs; func && func->name; func++ ) *func->func = NULL; @@ -561,7 +560,7 @@ qboolean GL_CheckExtension( const char *name, const dllfunc_t *funcs, const char string name; char *end; size_t i = 0; -#ifdef XASH_GLES +#if XASH_GLES const char *suffixes[] = { "", "EXT", "OES" }; #else const char *suffixes[] = { "", "EXT" }; @@ -772,24 +771,23 @@ static void R_RenderInfo_f( void ) glConfig.alpha_bits, glConfig.depth_bits, glConfig.stencil_bits ); } -#ifdef XASH_GLES +#if XASH_GLES static void GL_InitExtensionsGLES( void ) { int extid; // intialize wrapper type -#ifdef XASH_NANOGL +#if XASH_NANOGL glConfig.context = CONTEXT_TYPE_GLES_1_X; glConfig.wrapper = GLES_WRAPPER_NANOGL; -#elif defined( XASH_WES ) +#elif XASH_WES glConfig.context = CONTEXT_TYPE_GLES_2_X; glConfig.wrapper = GLES_WRAPPER_WES; -#elif defined( XASH_GLES3COMPAT ) +#elif XASH_GLES3COMPAT glConfig.context = CONTEXT_TYPE_GLES_2_X; glConfig.wrapper = GLES_WRAPPER_NONE; #else - -#error "unknown gles wrapper" + #error "unknown gles wrapper" #endif glConfig.hardware_type = GLHW_GENERIC; @@ -804,7 +802,7 @@ static void GL_InitExtensionsGLES( void ) case GL_ARB_MULTITEXTURE: if( !GL_CheckExtension( "multitexture", multitexturefuncs, "gl_arb_multitexture", GL_ARB_MULTITEXTURE, 1.0 ) && glConfig.wrapper == GLES_WRAPPER_NONE ) { -#ifndef XASH_GL_STATIC +#if !XASH_GL_STATIC if( !GL_CheckExtension( "multitexture_es1", multitexturefuncs_es, "gl_arb_multitexture", GL_ARB_MULTITEXTURE, 1.0 ) && !GL_CheckExtension( "multitexture_es2", multitexturefuncs_es2, "gl_arb_multitexture", GL_ARB_MULTITEXTURE, 2.0 )) break; @@ -839,7 +837,7 @@ static void GL_InitExtensionsGLES( void ) case GL_ARB_TEXTURE_NPOT_EXT: GL_CheckExtension( "GL_OES_texture_npot", NULL, "gl_texture_npot", extid, 0 ); break; -#ifndef XASH_GL_STATIC +#if !XASH_GL_STATIC case GL_SHADER_OBJECTS_EXT: GL_CheckExtension( "ES2 Shaders", shaderobjectsfuncs_gles, "gl_shaderobjects", extid, 2.0 ); break; @@ -886,7 +884,7 @@ static void GL_InitExtensionsGLES( void ) GL_SetExtension( extid, false ); } } -#ifndef XASH_GL_STATIC +#if !XASH_GL_STATIC GL2_ShimInit(); #endif } @@ -979,7 +977,7 @@ static void GL_InitExtensionsBigGL( void ) GL_CheckExtension( "GL_ARB_vertex_buffer_object", vbofuncs, "gl_vertex_buffer_object", GL_ARB_VERTEX_BUFFER_OBJECT_EXT, 2.0 ); GL_CheckExtension( "GL_ARB_texture_multisample", multisampletexfuncs, "gl_texture_multisample", GL_TEXTURE_MULTISAMPLE, 0 ); GL_CheckExtension( "GL_ARB_texture_compression_bptc", NULL, "gl_texture_bptc_compression", GL_ARB_TEXTURE_COMPRESSION_BPTC, 0 ); -#ifndef XASH_GL_STATIC +#if !XASH_GL_STATIC if( glConfig.context == CONTEXT_TYPE_GL_CORE ) GL_CheckExtension( "shader_objects", shaderobjectsfuncs_gles, "gl_shaderobjects", GL_SHADER_OBJECTS_EXT, 2.0 ); else @@ -1017,7 +1015,7 @@ static void GL_InitExtensionsBigGL( void ) if( GL_CheckExtension( "glDrawRangeElementsEXT", drawrangeelementsextfuncs, "gl_drawrangelements", GL_DRAW_RANGEELEMENTS_EXT, 0 )) { -#ifndef XASH_GL_STATIC +#if !XASH_GL_STATIC pglDrawRangeElements = pglDrawRangeElementsEXT; #endif } @@ -1033,7 +1031,7 @@ static void GL_InitExtensionsBigGL( void ) // init our immediate mode override VGL_ShimInit(); #endif -#if !defined(XASH_GLES) && !defined(XASH_GL_STATIC) +#if !XASH_GLES && !XASH_GL_STATIC if( gEngfuncs.Sys_CheckParm( "-gl2shim" )) GL2_ShimInit(); #endif @@ -1076,7 +1074,7 @@ void GL_InitExtensions( void ) glConfig.version_major = major; glConfig.version_minor = minor; } -#ifndef XASH_GL_STATIC +#if !XASH_GL_STATIC if( !glConfig.extensions_string ) { int n = 0; @@ -1106,7 +1104,7 @@ void GL_InitExtensions( void ) #endif gEngfuncs.Con_Reportf( "^3Video^7: %s\n", glConfig.renderer_string ); -#ifdef XASH_GLES +#if XASH_GLES GL_InitExtensionsGLES(); #else GL_InitExtensionsBigGL(); @@ -1114,7 +1112,7 @@ void GL_InitExtensions( void ) pglGetIntegerv( GL_MAX_TEXTURE_SIZE, &glConfig.max_2d_texture_size ); if( glConfig.max_2d_texture_size <= 0 ) glConfig.max_2d_texture_size = 256; -#ifndef XASH_GL4ES +#if !XASH_GL4ES // enable gldebug if allowed if( GL_Support( GL_DEBUG_OUTPUT )) { @@ -1235,7 +1233,7 @@ static void R_CheckVBO( void ) if( glConfig.max_texture_units < 3 ) disable = true; -#ifdef XASH_MOBILE_PLATFORM +#if XASH_MOBILE_PLATFORM // VideoCore4 drivers have a problem with mixing VBO and client arrays // Disable it, as there is no suitable workaround here if( Q_stristr( glConfig.renderer_string, "VideoCore IV" ) || Q_stristr( glConfig.renderer_string, "vc4" ) ) @@ -1323,13 +1321,13 @@ void R_Shutdown( void ) GL_RemoveCommands(); R_ShutdownImages(); -#if !defined(XASH_GLES) && !defined(XASH_GL_STATIC) +#if !XASH_GLES && !XASH_GL_STATIC GL2_ShimShutdown(); #endif Mem_FreePool( &r_temppool ); -#ifdef XASH_GL4ES +#if XASH_GL4ES close_gl4es(); #endif // XASH_GL4ES @@ -1388,17 +1386,18 @@ void GL_SetupAttributes( int safegl ) int context_flags = 0; // REFTODO!!!!! int samples = 0; -#ifdef XASH_GLES +#if XASH_GLES gEngfuncs.GL_SetAttribute( REF_GL_CONTEXT_PROFILE_MASK, REF_GL_CONTEXT_PROFILE_ES ); gEngfuncs.GL_SetAttribute( REF_GL_CONTEXT_EGL, 1 ); -#ifdef XASH_NANOGL +#if XASH_NANOGL gEngfuncs.GL_SetAttribute( REF_GL_CONTEXT_MAJOR_VERSION, 1 ); gEngfuncs.GL_SetAttribute( REF_GL_CONTEXT_MINOR_VERSION, 1 ); -#else +#else // !XASH_NANOGL gEngfuncs.GL_SetAttribute( REF_GL_CONTEXT_MAJOR_VERSION, 2 ); gEngfuncs.GL_SetAttribute( REF_GL_CONTEXT_MINOR_VERSION, 0 ); #endif -#elif defined XASH_GL4ES + +#elif XASH_GL4ES gEngfuncs.GL_SetAttribute( REF_GL_CONTEXT_PROFILE_MASK, REF_GL_CONTEXT_PROFILE_ES ); gEngfuncs.GL_SetAttribute( REF_GL_CONTEXT_EGL, 1 ); gEngfuncs.GL_SetAttribute( REF_GL_CONTEXT_MAJOR_VERSION, 2 ); @@ -1520,7 +1519,7 @@ void GL_SetupAttributes( int safegl ) void wes_init( const char *gles2 ); int nanoGL_Init( void ); -#ifdef XASH_GL4ES +#if XASH_GL4ES static void GL4ES_GetMainFBSize( int *width, int *height ) { *width = gpGlobals->width; @@ -1534,12 +1533,12 @@ static void *GL4ES_GetProcAddress( const char *name ) return NULL; return gEngfuncs.GL_GetProcAddress( name ); } -#endif +#endif // XASH_GL4ES void GL_OnContextCreated( void ) { int colorBits[3]; -#ifdef XASH_NANOGL +#if XASH_NANOGL nanoGL_Init(); #endif @@ -1557,10 +1556,11 @@ void GL_OnContextCreated( void ) gEngfuncs.GL_GetAttribute( REF_GL_CONTEXT_MAJOR_VERSION, &glConfig.version_major ); gEngfuncs.GL_GetAttribute( REF_GL_CONTEXT_MINOR_VERSION, &glConfig.version_minor ); -#ifdef XASH_WES +#if XASH_WES wes_init( "" ); -#endif -#ifdef XASH_GL4ES +#endif // XASH_WES + +#if XASH_GL4ES set_getprocaddress( GL4ES_GetProcAddress ); set_getmainfbsize( GL4ES_GetMainFBSize ); initialize_gl4es(); @@ -1569,5 +1569,5 @@ void GL_OnContextCreated( void ) pglHint( GL_BEGINEND_HINT_GL4ES, 1 ); // dxt unpacked to 16-bit looks ugly pglHint( GL_AVOID16BITS_HINT_GL4ES, 1 ); -#endif +#endif // XASH_GL4ES } diff --git a/ref/gl/gl_rsurf.c b/ref/gl/gl_rsurf.c index 7b4e4b8e..ddd5c044 100644 --- a/ref/gl/gl_rsurf.c +++ b/ref/gl/gl_rsurf.c @@ -1240,7 +1240,7 @@ dynamic: R_SetCacheState( fa ); -#ifdef XASH_WES +#if XASH_WES GL_Bind( XASH_TEXTURE1, tr.lightmapTextures[fa->lightmaptexturenum] ); pglTexParameteri( GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_TRUE ); #else @@ -1249,7 +1249,7 @@ dynamic: pglTexSubImage2D( GL_TEXTURE_2D, 0, fa->light_s, fa->light_t, smax, tmax, GL_RGBA, GL_UNSIGNED_BYTE, temp ); -#ifdef XASH_WES +#if XASH_WES GL_SelectTexture( XASH_TEXTURE0 ); #endif } diff --git a/ref/gl/wscript b/ref/gl/wscript index fb6ffc3b..94c741c7 100644 --- a/ref/gl/wscript +++ b/ref/gl/wscript @@ -46,27 +46,27 @@ def build(bld): 'ref_gl': { 'enable': bld.env.GL, 'libs': ['GL'] if bld.env.GL_STATIC else [], - 'defines': ['XASH_GL_STATIC'] if bld.env.GL_STATIC else [], + 'defines': ['XASH_GL_STATIC=1'] if bld.env.GL_STATIC else [], }, 'ref_gles1': { 'enable': bld.env.NANOGL, 'libs': ['DL', 'nanogl', 'LOG'], - 'defines': ['XASH_NANOGL'], + 'defines': ['XASH_NANOGL=1'], }, 'ref_gles2': { 'enable': bld.env.GLWES, 'libs': ['DL', 'gl-wes-v2', 'LOG'], - 'defines': ['XASH_WES'], + 'defines': ['XASH_WES=1'], }, 'ref_gl4es': { 'enable': bld.env.GL4ES, 'libs': ['DL', 'gl4es', 'LOG'], - 'defines': ['XASH_GL_STATIC', 'XASH_GL4ES'], + 'defines': ['XASH_GL_STATIC=1', 'XASH_GL4ES=1'], }, 'ref_gles3compat': { 'enable': bld.env.GLES3COMPAT, 'libs': [], - 'defines': ['XASH_GLES3COMPAT'], + 'defines': ['XASH_GLES3COMPAT=1'], }, }