From ceeb479261f0a8a4cd8736eb5c4e3479cb1f8203 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 25 Apr 2018 20:33:55 +0200 Subject: [PATCH] - moved the CVAR definitions from gl/ to hwrenderer/. - disabled gl_texture_format because in its existing form it is mostly a useless feature. --- src/CMakeLists.txt | 2 +- src/gl/compatibility/gl_20.cpp | 2 +- src/gl/dynlights/gl_shadowmap.cpp | 2 +- src/gl/renderer/gl_lightdata.cpp | 2 +- src/gl/renderer/gl_postprocess.cpp | 2 +- src/gl/renderer/gl_renderbuffers.cpp | 2 +- src/gl/renderer/gl_renderer.cpp | 2 +- src/gl/renderer/gl_renderstate.cpp | 2 +- src/gl/scene/gl_decal.cpp | 2 +- src/gl/scene/gl_flats.cpp | 2 +- src/gl/scene/gl_scene.cpp | 2 +- src/gl/scene/gl_sprite.cpp | 2 +- src/gl/scene/gl_walls.cpp | 2 +- src/gl/scene/gl_walls_draw.cpp | 2 +- src/gl/scene/gl_weapon.cpp | 2 +- src/gl/shaders/gl_ambientshader.cpp | 2 +- src/gl/shaders/gl_shaderprogram.cpp | 2 +- src/gl/shaders/gl_tonemapshader.cpp | 2 +- src/gl/stereo3d/gl_stereo_leftright.cpp | 2 +- src/gl/system/gl_interface.cpp | 2 +- src/gl/textures/gl_hwtexture.cpp | 30 +++++++++++++--- src/gl/textures/gl_samplers.cpp | 2 +- src/gl/textures/gl_texture.cpp | 36 ------------------- .../utility/hw_cvars.cpp} | 2 +- .../utility/hw_cvars.h} | 9 +---- 25 files changed, 49 insertions(+), 70 deletions(-) rename src/{gl/system/gl_menu.cpp => hwrenderer/utility/hw_cvars.cpp} (98%) rename src/{gl/system/gl_cvars.h => hwrenderer/utility/hw_cvars.h} (92%) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 28f976331..89f35222d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1049,7 +1049,6 @@ set (PCH_SOURCES gl/system/gl_interface.cpp gl/system/gl_framebuffer.cpp gl/system/gl_debug.cpp - gl/system/gl_menu.cpp gl/system/gl_wipe.cpp gl/textures/gl_hwtexture.cpp gl/textures/gl_texture.cpp @@ -1059,6 +1058,7 @@ set (PCH_SOURCES hwrenderer/textures/hw_material.cpp hwrenderer/textures/hw_precache.cpp hwrenderer/utility/hw_clock.cpp + hwrenderer/utility/hw_cvars.cpp menu/joystickmenu.cpp menu/loadsavemenu.cpp diff --git a/src/gl/compatibility/gl_20.cpp b/src/gl/compatibility/gl_20.cpp index 0d1360727..31b9e7182 100644 --- a/src/gl/compatibility/gl_20.cpp +++ b/src/gl/compatibility/gl_20.cpp @@ -38,7 +38,7 @@ #include "gl/renderer/gl_renderer.h" #include "gl/renderer/gl_lightdata.h" #include "gl/system/gl_interface.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/renderer/gl_renderstate.h" #include "gl/scene/gl_drawinfo.h" #include "gl/scene/gl_scenedrawer.h" diff --git a/src/gl/dynlights/gl_shadowmap.cpp b/src/gl/dynlights/gl_shadowmap.cpp index 48847cd5c..4def5ebbe 100644 --- a/src/gl/dynlights/gl_shadowmap.cpp +++ b/src/gl/dynlights/gl_shadowmap.cpp @@ -24,7 +24,7 @@ #include "gl/shaders/gl_shader.h" #include "gl/dynlights/gl_shadowmap.h" #include "gl/system/gl_debug.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/renderer/gl_renderer.h" #include "gl/renderer/gl_postprocessstate.h" #include "gl/renderer/gl_renderbuffers.h" diff --git a/src/gl/renderer/gl_lightdata.cpp b/src/gl/renderer/gl_lightdata.cpp index cb3f3373f..744aa02f0 100644 --- a/src/gl/renderer/gl_lightdata.cpp +++ b/src/gl/renderer/gl_lightdata.cpp @@ -27,7 +27,7 @@ #include "gl/system/gl_system.h" #include "gl/system/gl_interface.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/renderer/gl_colormap.h" #include "gl/renderer/gl_lightdata.h" #include "gl/renderer/gl_renderstate.h" diff --git a/src/gl/renderer/gl_postprocess.cpp b/src/gl/renderer/gl_postprocess.cpp index ed3541ec9..43f7458eb 100644 --- a/src/gl/renderer/gl_postprocess.cpp +++ b/src/gl/renderer/gl_postprocess.cpp @@ -31,7 +31,7 @@ #include "r_utility.h" #include "d_player.h" #include "gl/system/gl_framebuffer.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/system/gl_debug.h" #include "gl/renderer/gl_lightdata.h" #include "gl/renderer/gl_renderstate.h" diff --git a/src/gl/renderer/gl_renderbuffers.cpp b/src/gl/renderer/gl_renderbuffers.cpp index 9f4790360..6315719ab 100644 --- a/src/gl/renderer/gl_renderbuffers.cpp +++ b/src/gl/renderer/gl_renderbuffers.cpp @@ -28,7 +28,7 @@ #include "gl/system/gl_system.h" #include "v_video.h" #include "gl/system/gl_interface.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/system/gl_debug.h" #include "gl/renderer/gl_renderer.h" #include "gl/renderer/gl_renderbuffers.h" diff --git a/src/gl/renderer/gl_renderer.cpp b/src/gl/renderer/gl_renderer.cpp index ea647e970..3bfc60e4c 100644 --- a/src/gl/renderer/gl_renderer.cpp +++ b/src/gl/renderer/gl_renderer.cpp @@ -38,7 +38,7 @@ #include "gl/system/gl_interface.h" #include "gl/system/gl_framebuffer.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/system/gl_debug.h" #include "gl/renderer/gl_renderer.h" #include "gl/renderer/gl_lightdata.h" diff --git a/src/gl/renderer/gl_renderstate.cpp b/src/gl/renderer/gl_renderstate.cpp index 92c4c277d..45bb02033 100644 --- a/src/gl/renderer/gl_renderstate.cpp +++ b/src/gl/renderer/gl_renderstate.cpp @@ -30,7 +30,7 @@ #include "gl/system/gl_system.h" #include "gl/system/gl_interface.h" #include "gl/data/gl_vertexbuffer.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/shaders/gl_shader.h" #include "gl/renderer/gl_renderer.h" #include "gl/renderer/gl_colormap.h" diff --git a/src/gl/scene/gl_decal.cpp b/src/gl/scene/gl_decal.cpp index cc4d315a2..c05d51dfb 100644 --- a/src/gl/scene/gl_decal.cpp +++ b/src/gl/scene/gl_decal.cpp @@ -31,7 +31,7 @@ #include "r_utility.h" #include "g_levellocals.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/data/gl_vertexbuffer.h" #include "gl/renderer/gl_renderer.h" #include "gl/renderer/gl_lightdata.h" diff --git a/src/gl/scene/gl_flats.cpp b/src/gl/scene/gl_flats.cpp index 34e784805..91138057e 100644 --- a/src/gl/scene/gl_flats.cpp +++ b/src/gl/scene/gl_flats.cpp @@ -37,7 +37,7 @@ #include "hwrenderer/dynlights/hw_dynlightdata.h" #include "gl/system/gl_interface.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/renderer/gl_renderer.h" #include "gl/renderer/gl_lightdata.h" #include "gl/renderer/gl_renderstate.h" diff --git a/src/gl/scene/gl_scene.cpp b/src/gl/scene/gl_scene.cpp index 60e23a154..9e897c122 100644 --- a/src/gl/scene/gl_scene.cpp +++ b/src/gl/scene/gl_scene.cpp @@ -44,7 +44,7 @@ #include "gl/dynlights/gl_lightbuffer.h" #include "gl/system/gl_interface.h" #include "gl/system/gl_framebuffer.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/renderer/gl_lightdata.h" #include "gl/renderer/gl_renderstate.h" #include "gl/renderer/gl_renderbuffers.h" diff --git a/src/gl/scene/gl_sprite.cpp b/src/gl/scene/gl_sprite.cpp index 757fec317..13c138d45 100644 --- a/src/gl/scene/gl_sprite.cpp +++ b/src/gl/scene/gl_sprite.cpp @@ -41,7 +41,7 @@ #include "r_data/r_vanillatrans.h" #include "gl/system/gl_interface.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/renderer/gl_lightdata.h" #include "gl/renderer/gl_renderstate.h" #include "gl/renderer/gl_renderer.h" diff --git a/src/gl/scene/gl_walls.cpp b/src/gl/scene/gl_walls.cpp index 03b076543..b02165bc2 100644 --- a/src/gl/scene/gl_walls.cpp +++ b/src/gl/scene/gl_walls.cpp @@ -33,7 +33,7 @@ #include "hwrenderer/textures/hw_material.h" #include "gl/renderer/gl_lightdata.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/system/gl_interface.h" #include "gl/scene/gl_drawinfo.h" diff --git a/src/gl/scene/gl_walls_draw.cpp b/src/gl/scene/gl_walls_draw.cpp index bb78983f5..6fc6cbe10 100644 --- a/src/gl/scene/gl_walls_draw.cpp +++ b/src/gl/scene/gl_walls_draw.cpp @@ -29,7 +29,7 @@ #include "hwrenderer/dynlights/hw_dynlightdata.h" #include "gl/system/gl_interface.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/renderer/gl_lightdata.h" #include "gl/renderer/gl_renderstate.h" #include "gl/renderer/gl_renderer.h" diff --git a/src/gl/scene/gl_weapon.cpp b/src/gl/scene/gl_weapon.cpp index a4d99e41e..67e7abd30 100644 --- a/src/gl/scene/gl_weapon.cpp +++ b/src/gl/scene/gl_weapon.cpp @@ -34,7 +34,7 @@ #include "g_levellocals.h" #include "gl/system/gl_interface.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/renderer/gl_renderer.h" #include "gl/renderer/gl_lightdata.h" #include "gl/renderer/gl_renderstate.h" diff --git a/src/gl/shaders/gl_ambientshader.cpp b/src/gl/shaders/gl_ambientshader.cpp index b91a6024a..a314d9812 100644 --- a/src/gl/shaders/gl_ambientshader.cpp +++ b/src/gl/shaders/gl_ambientshader.cpp @@ -22,7 +22,7 @@ #include "gl/system/gl_system.h" #include "v_video.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/shaders/gl_ambientshader.h" void FLinearDepthShader::Bind() diff --git a/src/gl/shaders/gl_shaderprogram.cpp b/src/gl/shaders/gl_shaderprogram.cpp index 667f9c78f..5c173daa2 100644 --- a/src/gl/shaders/gl_shaderprogram.cpp +++ b/src/gl/shaders/gl_shaderprogram.cpp @@ -28,7 +28,7 @@ #include "gl/system/gl_system.h" #include "v_video.h" #include "gl/system/gl_interface.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/system/gl_debug.h" #include "gl/shaders/gl_shaderprogram.h" #include "w_wad.h" diff --git a/src/gl/shaders/gl_tonemapshader.cpp b/src/gl/shaders/gl_tonemapshader.cpp index 7a50a5429..ef0c8a104 100644 --- a/src/gl/shaders/gl_tonemapshader.cpp +++ b/src/gl/shaders/gl_tonemapshader.cpp @@ -27,7 +27,7 @@ #include "gl/system/gl_system.h" #include "v_video.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/shaders/gl_tonemapshader.h" void FTonemapShader::Bind() diff --git a/src/gl/stereo3d/gl_stereo_leftright.cpp b/src/gl/stereo3d/gl_stereo_leftright.cpp index b3b677fb7..eb58a2eaa 100644 --- a/src/gl/stereo3d/gl_stereo_leftright.cpp +++ b/src/gl/stereo3d/gl_stereo_leftright.cpp @@ -28,7 +28,7 @@ #include "gl_stereo_leftright.h" #include "vectors.h" // RAD2DEG #include "doomtype.h" // M_PI -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/system/gl_system.h" #include "gl/renderer/gl_renderstate.h" #include "gl/renderer/gl_renderer.h" diff --git a/src/gl/system/gl_interface.cpp b/src/gl/system/gl_interface.cpp index ea1cb2eed..10e4b1f6f 100644 --- a/src/gl/system/gl_interface.cpp +++ b/src/gl/system/gl_interface.cpp @@ -32,7 +32,7 @@ #include "m_argv.h" #include "version.h" #include "gl/system/gl_interface.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" void gl_PatchMenu(); static TArray m_Extensions; diff --git a/src/gl/textures/gl_hwtexture.cpp b/src/gl/textures/gl_hwtexture.cpp index 5b0e07d23..35c7bd27c 100644 --- a/src/gl/textures/gl_hwtexture.cpp +++ b/src/gl/textures/gl_hwtexture.cpp @@ -32,15 +32,35 @@ #include "hwrenderer/textures/hw_material.h" #include "gl/system/gl_interface.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/system/gl_debug.h" #include "gl/renderer/gl_renderer.h" #include "gl/renderer/gl_colormap.h" #include "gl/textures/gl_samplers.h" -extern TexFilter_s TexFilter[]; -extern int TexFormat[]; +TexFilter_s TexFilter[]={ + {GL_NEAREST, GL_NEAREST, false}, + {GL_NEAREST_MIPMAP_NEAREST, GL_NEAREST, true}, + {GL_LINEAR, GL_LINEAR, false}, + {GL_LINEAR_MIPMAP_NEAREST, GL_LINEAR, true}, + {GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR, true}, + {GL_NEAREST_MIPMAP_LINEAR, GL_NEAREST, true}, + {GL_LINEAR_MIPMAP_LINEAR, GL_NEAREST, true}, +}; + +int TexFormat[]={ + GL_RGBA8, + GL_RGB5_A1, + GL_RGBA4, + GL_RGBA2, + // [BB] Added compressed texture formats. + GL_COMPRESSED_RGBA_ARB, + GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, + GL_COMPRESSED_RGBA_S3TC_DXT3_EXT, + GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, +}; + //=========================================================================== @@ -162,13 +182,15 @@ void FHardwareTexture::Resize(int swidth, int sheight, int width, int height, un unsigned int FHardwareTexture::CreateTexture(unsigned char * buffer, int w, int h, int texunit, bool mipmap, int translation, const char *name) { int rh,rw; - int texformat=TexFormat[gl_texture_format]; + int texformat = GL_RGBA8;// TexFormat[gl_texture_format]; bool deletebuffer=false; + /* if (forcenocompression) { texformat = GL_RGBA8; } + */ TranslatedTexture * glTex=GetTexID(translation); if (glTex->glTexID==0) glGenTextures(1,&glTex->glTexID); if (texunit != 0) glActiveTexture(GL_TEXTURE0+texunit); diff --git a/src/gl/textures/gl_samplers.cpp b/src/gl/textures/gl_samplers.cpp index d66e44261..a3ecc6b4d 100644 --- a/src/gl/textures/gl_samplers.cpp +++ b/src/gl/textures/gl_samplers.cpp @@ -24,7 +24,7 @@ #include "c_cvars.h" #include "gl/system/gl_interface.h" -#include "gl/system/gl_cvars.h" +#include "hwrenderer/utility/hw_cvars.h" #include "gl/system/gl_debug.h" #include "gl/renderer/gl_renderer.h" #include "gl_samplers.h" diff --git a/src/gl/textures/gl_texture.cpp b/src/gl/textures/gl_texture.cpp index e7d609642..594b0c77f 100644 --- a/src/gl/textures/gl_texture.cpp +++ b/src/gl/textures/gl_texture.cpp @@ -60,20 +60,6 @@ CUSTOM_CVAR(Int, gl_texture_filter, 4, CVAR_ARCHIVE|CVAR_GLOBALCONFIG|CVAR_NOINI if (GLRenderer != NULL && GLRenderer->mSamplerManager != NULL) GLRenderer->mSamplerManager->SetTextureFilterMode(); } -CUSTOM_CVAR(Int, gl_texture_format, 0, CVAR_ARCHIVE|CVAR_GLOBALCONFIG|CVAR_NOINITCALL) -{ - // [BB] The number of available texture modes depends on the GPU capabilities. - // RFL_TEXTURE_COMPRESSION gives us one additional mode and RFL_TEXTURE_COMPRESSION_S3TC - // another three. - int numOfAvailableTextureFormat = 4; - if ( gl.flags & RFL_TEXTURE_COMPRESSION && gl.flags & RFL_TEXTURE_COMPRESSION_S3TC ) - numOfAvailableTextureFormat = 8; - else if ( gl.flags & RFL_TEXTURE_COMPRESSION ) - numOfAvailableTextureFormat = 5; - if (self < 0 || self > numOfAvailableTextureFormat-1) self=0; - GLRenderer->FlushTextures(); -} - CUSTOM_CVAR(Bool, gl_texture_usehires, true, CVAR_ARCHIVE|CVAR_NOINITCALL) { if (GLRenderer != NULL) GLRenderer->FlushTextures(); @@ -83,25 +69,3 @@ CVAR(Bool, gl_precache, false, CVAR_ARCHIVE) CVAR(Bool, gl_trimsprites, true, CVAR_ARCHIVE); -TexFilter_s TexFilter[]={ - {GL_NEAREST, GL_NEAREST, false}, - {GL_NEAREST_MIPMAP_NEAREST, GL_NEAREST, true}, - {GL_LINEAR, GL_LINEAR, false}, - {GL_LINEAR_MIPMAP_NEAREST, GL_LINEAR, true}, - {GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR, true}, - {GL_NEAREST_MIPMAP_LINEAR, GL_NEAREST, true}, - {GL_LINEAR_MIPMAP_LINEAR, GL_NEAREST, true}, -}; - -int TexFormat[]={ - GL_RGBA8, - GL_RGB5_A1, - GL_RGBA4, - GL_RGBA2, - // [BB] Added compressed texture formats. - GL_COMPRESSED_RGBA_ARB, - GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, - GL_COMPRESSED_RGBA_S3TC_DXT3_EXT, - GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, -}; - diff --git a/src/gl/system/gl_menu.cpp b/src/hwrenderer/utility/hw_cvars.cpp similarity index 98% rename from src/gl/system/gl_menu.cpp rename to src/hwrenderer/utility/hw_cvars.cpp index 681154e7a..2d4b23a26 100644 --- a/src/gl/system/gl_menu.cpp +++ b/src/hwrenderer/utility/hw_cvars.cpp @@ -23,7 +23,7 @@ #include "c_cvars.h" #include "v_video.h" -#include "gl/system/gl_cvars.h" +#include "hw_cvars.h" #include "menu/menu.h" diff --git a/src/gl/system/gl_cvars.h b/src/hwrenderer/utility/hw_cvars.h similarity index 92% rename from src/gl/system/gl_cvars.h rename to src/hwrenderer/utility/hw_cvars.h index ec4784440..04de1ad7d 100644 --- a/src/gl/system/gl_cvars.h +++ b/src/hwrenderer/utility/hw_cvars.h @@ -1,15 +1,9 @@ +#pragma once -#ifndef _GL_INTERN_H -#define _GL_INTERN_H - #include "r_defs.h" #include "c_cvars.h" -#ifdef _MSC_VER -#pragma warning(disable:4244) -#endif - EXTERN_CVAR(Bool,gl_enhanced_nightvision) EXTERN_CVAR(Int, screenblocks); EXTERN_CVAR(Bool, gl_texture) @@ -63,4 +57,3 @@ EXTERN_CVAR(Float, gl_ssao_blur_amount) EXTERN_CVAR(Int, gl_debug_level) EXTERN_CVAR(Bool, gl_debug_breakpoint) -#endif // _GL_INTERN_H