Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/engine/renderer/tr_init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
cvar_t *r_arb_uniform_buffer_object;
cvar_t *r_arb_texture_gather;
cvar_t *r_arb_gpu_shader5;
Cvar::Cvar<bool> r_arb_depth_clamp("r_arb_depth_clamp", "Use GL_ARB_depth_clamp if available", Cvar::NONE, true);

cvar_t *r_checkGLErrors;
cvar_t *r_logFile;
Expand Down Expand Up @@ -1088,6 +1089,7 @@ ScreenshotCmd screenshotPNGRegistration("screenshotPNG", ssFormat_t::SSF_PNG, "p
r_arb_uniform_buffer_object = Cvar_Get( "r_arb_uniform_buffer_object", "1", CVAR_CHEAT | CVAR_LATCH );
r_arb_texture_gather = Cvar_Get( "r_arb_texture_gather", "1", CVAR_CHEAT | CVAR_LATCH );
r_arb_gpu_shader5 = Cvar_Get( "r_arb_gpu_shader5", "1", CVAR_CHEAT | CVAR_LATCH );
Cvar::Latch(r_arb_depth_clamp);

r_picMip = Cvar_Get( "r_picMip", "0", CVAR_LATCH | CVAR_ARCHIVE );
r_imageMaxDimension = Cvar_Get( "r_imageMaxDimension", "0", CVAR_LATCH | CVAR_ARCHIVE );
Expand Down
1 change: 1 addition & 0 deletions src/engine/renderer/tr_local.h
Original file line number Diff line number Diff line change
Expand Up @@ -2898,6 +2898,7 @@ enum class dynamicLightRenderer_t { LEGACY, TILED };
extern cvar_t *r_arb_uniform_buffer_object;
extern cvar_t *r_arb_texture_gather;
extern cvar_t *r_arb_gpu_shader5;
extern Cvar::Cvar<bool> r_arb_depth_clamp;

extern cvar_t *r_nobind; // turns off binding to appropriate textures
extern cvar_t *r_singleShader; // make most world faces use default shader
Expand Down
1 change: 1 addition & 0 deletions src/engine/renderer/tr_public.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ struct glconfig2_t
bool uniformBufferObjectAvailable;
bool mapBufferRangeAvailable;
bool syncAvailable;
bool depthClampAvailable;

bool dynamicLight;
bool staticLight;
Expand Down
10 changes: 8 additions & 2 deletions src/engine/renderer/tr_shade.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -660,7 +660,10 @@ static void Render_generic2D( shaderStage_t *pStage )
BindAnimatedImage( &pStage->bundle[ TB_COLORMAP ] );
gl_generic2DShader->SetUniform_TextureMatrix( tess.svars.texMatrices[ TB_COLORMAP ] );

glEnable( GL_DEPTH_CLAMP );
if ( glConfig2.depthClampAvailable )
{
glEnable( GL_DEPTH_CLAMP );
}

if ( hasDepthFade )
{
Expand All @@ -676,7 +679,10 @@ static void Render_generic2D( shaderStage_t *pStage )

Tess_DrawElements();

glDisable( GL_DEPTH_CLAMP );
if ( glConfig2.depthClampAvailable )
{
glDisable( GL_DEPTH_CLAMP );
}

GL_CheckErrors();
}
Expand Down
3 changes: 3 additions & 0 deletions src/engine/sys/sdl_glimp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1943,6 +1943,9 @@ static void GLimp_InitExtensions()
// made required in OpenGL 3.2
glConfig2.syncAvailable = LOAD_EXTENSION_WITH_TEST( ExtFlag_CORE, ARB_sync, r_arb_sync->value );

// made required in OpenGL 3.2
glConfig2.depthClampAvailable = LOAD_EXTENSION_WITH_TEST( ExtFlag_CORE, ARB_depth_clamp, r_arb_depth_clamp.Get() );

GL_CheckErrors();
}

Expand Down