From 637aa9d77e8b0abce6b49b0ca4d085fe370fb8df Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 26 Jul 2014 18:43:54 +0200 Subject: [PATCH] - some adjustments to allow testing the different rendering methods. --- src/gl/system/gl_cvars.h | 1 - src/gl/system/gl_interface.cpp | 7 ++++++- wadsrc/static/menudef.z | 17 +++++++++-------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/gl/system/gl_cvars.h b/src/gl/system/gl_cvars.h index d0e18bca4..567d9f85f 100644 --- a/src/gl/system/gl_cvars.h +++ b/src/gl/system/gl_cvars.h @@ -38,7 +38,6 @@ EXTERN_CVAR(Bool,gl_mirrors) EXTERN_CVAR(Bool,gl_mirror_envmap) EXTERN_CVAR(Bool, gl_render_segs) EXTERN_CVAR(Bool, gl_seamless) -EXTERN_CVAR(Bool, gl_dynlight_shader) EXTERN_CVAR(Float, gl_mask_threshold) EXTERN_CVAR(Float, gl_mask_sprite_threshold) diff --git a/src/gl/system/gl_interface.cpp b/src/gl/system/gl_interface.cpp index 0b1e88548..72d5a457b 100644 --- a/src/gl/system/gl_interface.cpp +++ b/src/gl/system/gl_interface.cpp @@ -52,6 +52,7 @@ RenderContext gl; int occlusion_type=0; +CVAR(Bool, gl_persistent_avail, false, CVAR_NOSET); //========================================================================== // @@ -132,7 +133,11 @@ void gl_LoadExtensions() if (CheckExtension("GL_ARB_texture_compression")) gl.flags|=RFL_TEXTURE_COMPRESSION; if (CheckExtension("GL_EXT_texture_compression_s3tc")) gl.flags|=RFL_TEXTURE_COMPRESSION_S3TC; - if (CheckExtension("GL_ARB_buffer_storage")) gl.flags |= RFL_BUFFER_STORAGE; + if (CheckExtension("GL_ARB_buffer_storage") && !Args->CheckParm("-nopersistentbuffers")) + { + gl.flags |= RFL_BUFFER_STORAGE; // the cmdline option is for testing the fallback implementation on newer hardware. + gl_persistent_avail = true; + } if (CheckExtension("GL_ARB_separate_shader_objects")) gl.flags |= RFL_SEPARATE_SHADER_OBJECTS; if (!CheckExtension("GL_ARB_compatibility")) gl.flags |= RFL_COREPROFILE; diff --git a/wadsrc/static/menudef.z b/wadsrc/static/menudef.z index 0db780620..e448e42d9 100644 --- a/wadsrc/static/menudef.z +++ b/wadsrc/static/menudef.z @@ -105,12 +105,6 @@ OptionValue "HqResizeModes" 6, "hq4x" } -OptionValue "HqResizeTargets" -{ - 0, "Everything" - 1, "Sprites/fonts" -} - OptionValue "FogMode" { 0, "Off" @@ -130,6 +124,14 @@ OptionValue "FuzzStyle" //5, "Jagged fuzz" I can't see any difference between this and 4 so it's disabled for now. } +OptionValue "RenderMethods" +{ + 0, "Immediate mode" + 1, "Uniform array" + 2, "Buffer upload" + 3, "Mapped buffer" +} + OptionMenu "GLTextureGLOptions" { Title "TEXTURE OPTIONS" @@ -158,7 +160,6 @@ OptionMenu "GLLightOptions" Option "Force additive lighting", gl_lights_additive, "YesNo" Slider "Light intensity", gl_lights_intensity, 0.0, 1.0, 0.1 Slider "Light size", gl_lights_size, 0.0, 2.0, 0.1 - Option "Use shaders for lights", gl_dynlight_shader, "YesNo" } OptionMenu "GLPrefOptions" @@ -179,7 +180,7 @@ OptionMenu "GLPrefOptions" Option "Particle style", gl_particles_style, "Particles" Slider "Ambient light level", gl_light_ambient, 1.0, 255.0, 5.0 Option "Rendering quality", gl_render_precise, "Precision" - Option "Use vertex buffer", gl_usevbo, "OnOff" + Option "Render method", gl_rendermethod, "RenderMethods", "gl_persistent_avail" } OptionMenu "OpenGLOptions"