Skip to content

Commit

Permalink
ref: gl: move ref_gl cvars to static allocation
Browse files Browse the repository at this point in the history
  • Loading branch information
a1batross committed May 27, 2023
1 parent 7fd1534 commit 3a57f26
Show file tree
Hide file tree
Showing 13 changed files with 161 additions and 184 deletions.
2 changes: 1 addition & 1 deletion ref/gl/gl_cull.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ int R_CullSurface( msurface_t *surf, gl_frustum_t *frustum, uint clipflags )
if( !surf || !surf->texinfo || !surf->texinfo->texture )
return CULL_OTHER;

if( r_nocull->value )
if( r_nocull.value )
return CULL_VISIBLE;

// world surfaces can be culled by vis frame too
Expand Down
5 changes: 3 additions & 2 deletions ref/gl/gl_dbghulls.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ void R_DrawWorldHull( void )
ClearBits( r_showhull->flags, FCVAR_CHANGED );
}

if( !CVAR_TO_BOOL( r_showhull ))
if( !r_showhull->flags )
return;

pglDisable( GL_TEXTURE_2D );

list_for_each_entry( poly, &hull->polys, chain )
Expand All @@ -61,7 +62,7 @@ void R_DrawModelHull( void )
winding_t *poly;
int i;

if( !CVAR_TO_BOOL( r_showhull ))
if( !r_showhull->flags )
return;

if( !RI.currentmodel || RI.currentmodel->name[0] != '*' )
Expand Down
12 changes: 6 additions & 6 deletions ref/gl/gl_decals.c
Original file line number Diff line number Diff line change
Expand Up @@ -927,10 +927,10 @@ void DrawSurfaceDecals( msurface_t *fa, qboolean single, qboolean reverse )
if( e->curstate.rendermode == kRenderTransTexture || e->curstate.rendermode == kRenderTransAdd )
GL_Cull( GL_NONE );

if( gl_polyoffset->value )
if( gl_polyoffset.value )
{
pglEnable( GL_POLYGON_OFFSET_FILL );
pglPolygonOffset( -1.0f, -gl_polyoffset->value );
pglPolygonOffset( -1.0f, -gl_polyoffset.value );
}
}

Expand Down Expand Up @@ -1020,7 +1020,7 @@ void DrawSurfaceDecals( msurface_t *fa, qboolean single, qboolean reverse )
pglEnable( GL_ALPHA_TEST );
}

if( gl_polyoffset->value )
if( gl_polyoffset.value )
pglDisable( GL_POLYGON_OFFSET_FILL );

if( e->curstate.rendermode == kRenderTransTexture || e->curstate.rendermode == kRenderTransAdd )
Expand Down Expand Up @@ -1058,10 +1058,10 @@ void DrawDecalsBatch( void )
if( e->curstate.rendermode == kRenderTransTexture || e->curstate.rendermode == kRenderTransAdd )
GL_Cull( GL_NONE );

if( gl_polyoffset->value )
if( gl_polyoffset.value )
{
pglEnable( GL_POLYGON_OFFSET_FILL );
pglPolygonOffset( -1.0f, -gl_polyoffset->value );
pglPolygonOffset( -1.0f, -gl_polyoffset.value );
}

for( i = 0; i < tr.num_draw_decals; i++ )
Expand All @@ -1076,7 +1076,7 @@ void DrawDecalsBatch( void )
pglDisable( GL_ALPHA_TEST );
}

if( gl_polyoffset->value )
if( gl_polyoffset.value )
pglDisable( GL_POLYGON_OFFSET_FILL );

if( e->curstate.rendermode == kRenderTransTexture || e->curstate.rendermode == kRenderTransAdd )
Expand Down
4 changes: 2 additions & 2 deletions ref/gl/gl_frustum.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ qboolean GL_FrustumCullBox( gl_frustum_t *out, const vec3_t mins, const vec3_t m
int iClipFlags;
int i, bit;

if( r_nocull->value )
if( r_nocull.value )
return false;

if( userClipFlags != 0 )
Expand Down Expand Up @@ -163,7 +163,7 @@ qboolean GL_FrustumCullSphere( gl_frustum_t *out, const vec3_t center, float rad
int iClipFlags;
int i, bit;

if( r_nocull->value )
if( r_nocull.value )
return false;

if( userClipFlags != 0 )
Expand Down
36 changes: 18 additions & 18 deletions ref/gl/gl_image.c
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ void GL_ApplyTextureParams( gl_texture_t *tex )
}
else if( FBitSet( tex->flags, TF_NOMIPMAP ) || tex->numMips <= 1 )
{
if( FBitSet( tex->flags, TF_NEAREST ) || ( IsLightMap( tex ) && gl_lightmap_nearest->value ))
if( FBitSet( tex->flags, TF_NEAREST ) || ( IsLightMap( tex ) && gl_lightmap_nearest.value ))
{
pglTexParameteri( tex->target, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
pglTexParameteri( tex->target, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
Expand All @@ -180,7 +180,7 @@ void GL_ApplyTextureParams( gl_texture_t *tex )
}
else
{
if( FBitSet( tex->flags, TF_NEAREST ) || gl_texture_nearest->value )
if( FBitSet( tex->flags, TF_NEAREST ) || gl_texture_nearest.value )
{
pglTexParameteri( tex->target, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST );
pglTexParameteri( tex->target, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
Expand All @@ -193,11 +193,11 @@ void GL_ApplyTextureParams( gl_texture_t *tex )

// set texture anisotropy if available
if( GL_Support( GL_ANISOTROPY_EXT ) && ( tex->numMips > 1 ) && !FBitSet( tex->flags, TF_ALPHACONTRAST ))
pglTexParameterf( tex->target, GL_TEXTURE_MAX_ANISOTROPY_EXT, gl_texture_anisotropy->value );
pglTexParameterf( tex->target, GL_TEXTURE_MAX_ANISOTROPY_EXT, gl_texture_anisotropy.value );

// set texture LOD bias if available
if( GL_Support( GL_TEXTURE_LOD_BIAS ) && ( tex->numMips > 1 ))
pglTexParameterf( tex->target, GL_TEXTURE_LOD_BIAS_EXT, gl_texture_lodbias->value );
pglTexParameterf( tex->target, GL_TEXTURE_LOD_BIAS_EXT, gl_texture_lodbias.value );
}

// check if border is not supported
Expand Down Expand Up @@ -276,15 +276,15 @@ static void GL_UpdateTextureParams( int iTexture )

// set texture anisotropy if available
if( GL_Support( GL_ANISOTROPY_EXT ) && ( tex->numMips > 1 ) && !FBitSet( tex->flags, TF_DEPTHMAP|TF_ALPHACONTRAST ))
pglTexParameterf( tex->target, GL_TEXTURE_MAX_ANISOTROPY_EXT, gl_texture_anisotropy->value );
pglTexParameterf( tex->target, GL_TEXTURE_MAX_ANISOTROPY_EXT, gl_texture_anisotropy.value );

// set texture LOD bias if available
if( GL_Support( GL_TEXTURE_LOD_BIAS ) && ( tex->numMips > 1 ) && !FBitSet( tex->flags, TF_DEPTHMAP ))
pglTexParameterf( tex->target, GL_TEXTURE_LOD_BIAS_EXT, gl_texture_lodbias->value );
pglTexParameterf( tex->target, GL_TEXTURE_LOD_BIAS_EXT, gl_texture_lodbias.value );

if( IsLightMap( tex ))
{
if( gl_lightmap_nearest->value )
if( gl_lightmap_nearest.value )
{
pglTexParameteri( tex->target, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
pglTexParameteri( tex->target, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
Expand All @@ -298,7 +298,7 @@ static void GL_UpdateTextureParams( int iTexture )

if( tex->numMips <= 1 ) return;

if( FBitSet( tex->flags, TF_NEAREST ) || gl_texture_nearest->value )
if( FBitSet( tex->flags, TF_NEAREST ) || gl_texture_nearest.value )
{
pglTexParameteri( tex->target, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST );
pglTexParameteri( tex->target, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
Expand All @@ -321,24 +321,24 @@ void R_SetTextureParameters( void )

if( GL_Support( GL_ANISOTROPY_EXT ))
{
if( gl_texture_anisotropy->value > glConfig.max_texture_anisotropy )
if( gl_texture_anisotropy.value > glConfig.max_texture_anisotropy )
gEngfuncs.Cvar_SetValue( "gl_anisotropy", glConfig.max_texture_anisotropy );
else if( gl_texture_anisotropy->value < 1.0f )
else if( gl_texture_anisotropy.value < 1.0f )
gEngfuncs.Cvar_SetValue( "gl_anisotropy", 1.0f );
}

if( GL_Support( GL_TEXTURE_LOD_BIAS ))
{
if( gl_texture_lodbias->value < -glConfig.max_texture_lod_bias )
if( gl_texture_lodbias.value < -glConfig.max_texture_lod_bias )
gEngfuncs.Cvar_SetValue( "gl_texture_lodbias", -glConfig.max_texture_lod_bias );
else if( gl_texture_lodbias->value > glConfig.max_texture_lod_bias )
else if( gl_texture_lodbias.value > glConfig.max_texture_lod_bias )
gEngfuncs.Cvar_SetValue( "gl_texture_lodbias", glConfig.max_texture_lod_bias );
}

ClearBits( gl_texture_anisotropy->flags, FCVAR_CHANGED );
ClearBits( gl_texture_lodbias->flags, FCVAR_CHANGED );
ClearBits( gl_texture_nearest->flags, FCVAR_CHANGED );
ClearBits( gl_lightmap_nearest->flags, FCVAR_CHANGED );
ClearBits( gl_texture_anisotropy.flags, FCVAR_CHANGED );
ClearBits( gl_texture_lodbias.flags, FCVAR_CHANGED );
ClearBits( gl_texture_nearest.flags, FCVAR_CHANGED );
ClearBits( gl_lightmap_nearest.flags, FCVAR_CHANGED );

// change all the existing mipmapped texture objects
for( i = 0; i < gl_numTextures; i++ )
Expand Down Expand Up @@ -577,7 +577,7 @@ static void GL_SetTextureDimensions( gl_texture_t *tex, int width, int height, i

if( !GL_Support( GL_ARB_TEXTURE_NPOT_EXT ))
{
int step = (int)gl_round_down->value;
int step = (int)gl_round_down.value;
int scaled_width, scaled_height;

for( scaled_width = 1; scaled_width < width; scaled_width <<= 1 );
Expand Down Expand Up @@ -1140,7 +1140,7 @@ static void GL_CheckTexImageError( gl_texture_t *tex )
Assert( tex != NULL );

// catch possible errors
if( CVAR_TO_BOOL( gl_check_errors ) && ( err = pglGetError()) != GL_NO_ERROR )
if( gl_check_errors.value && ( err = pglGetError()) != GL_NO_ERROR )
gEngfuncs.Con_Printf( S_OPENGL_ERROR "%s while uploading %s [%s]\n", GL_ErrorString( err ), tex->name, GL_TargetToString( tex->target ));
}

Expand Down
63 changes: 28 additions & 35 deletions ref/gl/gl_local.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ GNU General Public License for more details.
#include "enginefeatures.h"
#include "com_strings.h"
#include "pm_movevars.h"
//#include "cvar.h"
#include "common/cvar.h"
#include "gl_export.h"
#include "wadfile.h"

Expand All @@ -54,10 +54,6 @@ void VGL_ShimEndFrame( void );

#include <stdio.h>

#define CVAR_DEFINE( cv, cvname, cvstr, cvflags, cvdesc ) cvar_t cv = { cvname, cvstr, cvflags, 0.0f, (void *)CVAR_SENTINEL, cvdesc }
#define CVAR_DEFINE_AUTO( cv, cvstr, cvflags, cvdesc ) cvar_t cv = { #cv, cvstr, cvflags, 0.0f, (void *)CVAR_SENTINEL, cvdesc }
#define CVAR_TO_BOOL( x ) ((x) && ((x)->value != 0.0f) ? true : false )

#define WORLD (gEngfuncs.GetWorld())
#define WORLDMODEL (gEngfuncs.pfnGetModelByIndex( 1 ))
#define MOVEVARS (gEngfuncs.pfnGetMoveVars())
Expand Down Expand Up @@ -713,36 +709,33 @@ extern ref_globals_t *gpGlobals;
//
// renderer cvars
//
extern cvar_t *gl_texture_anisotropy;
extern cvar_t *gl_extensions;
extern cvar_t *gl_check_errors;
extern cvar_t *gl_texture_lodbias;
extern cvar_t *gl_texture_nearest;
extern cvar_t *gl_lightmap_nearest;
extern cvar_t *gl_keeptjunctions;
extern cvar_t *gl_round_down;
extern cvar_t *gl_wireframe;
extern cvar_t *gl_polyoffset;
extern cvar_t *gl_finish;
extern cvar_t *gl_nosort;
extern cvar_t *gl_clear;
extern cvar_t *gl_test; // cvar to testify new effects
extern cvar_t *gl_msaa;
extern cvar_t *gl_stencilbits;

extern cvar_t *r_lighting_extended;
extern cvar_t *r_lighting_modulate;
extern cvar_t *r_lighting_ambient;
extern cvar_t *r_studio_lambert;
extern cvar_t *r_detailtextures;
extern cvar_t *r_drawentities;
extern cvar_t *r_novis;
extern cvar_t *r_nocull;
extern cvar_t *r_lockpvs;
extern cvar_t *r_lockfrustum;
extern cvar_t *r_traceglow;
extern cvar_t *r_vbo;
extern cvar_t *r_vbo_dlightmode;
extern convar_t gl_texture_anisotropy;
extern convar_t gl_extensions;
extern convar_t gl_check_errors;
extern convar_t gl_texture_lodbias;
extern convar_t gl_texture_nearest;
extern convar_t gl_lightmap_nearest;
extern convar_t gl_keeptjunctions;
extern convar_t gl_round_down;
extern convar_t gl_wireframe;
extern convar_t gl_polyoffset;
extern convar_t gl_finish;
extern convar_t gl_nosort;
extern convar_t gl_test; // cvar to testify new effects
extern convar_t gl_msaa;
extern convar_t gl_stencilbits;

extern convar_t r_lighting_extended;
extern convar_t r_lighting_ambient;
extern convar_t r_studio_lambert;
extern convar_t r_detailtextures;
extern convar_t r_novis;
extern convar_t r_nocull;
extern convar_t r_lockpvs;
extern convar_t r_lockfrustum;
extern convar_t r_traceglow;
extern convar_t r_vbo;
extern convar_t r_vbo_dlightmode;


//
Expand Down
Loading

0 comments on commit 3a57f26

Please sign in to comment.