]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - vid_shared.c
New shader keyword dptransparentsort (can be "sky", "distance", "hud") which forces...
[xonotic/darkplaces.git] / vid_shared.c
index 7bea96c259f4c46167aaf7334f27c0ae3b289b5e..7d8485c336cb7f091acf576d8f02054caf115ea2 100644 (file)
@@ -1038,6 +1038,14 @@ void VID_CheckExtensions(void)
                vid.support.ext_framebuffer_object = true;
        else
                vid.support.ext_framebuffer_object = GL_CheckExtension("GL_EXT_framebuffer_object", extfbofuncs, "-nofbo", false);
+
+       // FIXME remove this workaround once FBO + npot texture mapping is fixed
+       if(!vid.support.arb_texture_non_power_of_two)
+       {
+               vid.support.arb_framebuffer_object = false;
+               vid.support.ext_framebuffer_object = false;
+       }
+
        vid.support.ext_packed_depth_stencil = GL_CheckExtension("GL_EXT_packed_depth_stencil", NULL, "-nopackeddepthstencil", false);
        vid.support.ext_stencil_two_side = GL_CheckExtension("GL_EXT_stencil_two_side", stenciltwosidefuncs, "-nostenciltwoside", false);
        vid.support.ext_texture_3d = GL_CheckExtension("GL_EXT_texture3D", texture3dextfuncs, "-notexture3d", false);
@@ -1865,7 +1873,7 @@ void VID_Restart_f(void)
 
        if (!vid_opened)
        {
-               SCR_BeginLoadingPlaque();
+               SCR_BeginLoadingPlaque(false);
                return;
        }
 
@@ -2041,7 +2049,15 @@ void VID_Soft_SharedSetup(void)
        vid.support.arb_vertex_buffer_object = true;
        vid.support.ext_blend_subtract = true;
        vid.support.ext_draw_range_elements = true;
-       vid.support.ext_framebuffer_object = false; // FIXME actually dpsoftrast has code for this, but everything is downside up then
+       vid.support.ext_framebuffer_object = true;
+
+       // FIXME remove this workaround once FBO + npot texture mapping is fixed
+       if(!vid.support.arb_texture_non_power_of_two)
+       {
+               vid.support.arb_framebuffer_object = false;
+               vid.support.ext_framebuffer_object = false;
+       }
+
        vid.support.ext_texture_3d = true;
        //vid.support.ext_texture_compression_s3tc = true;
        vid.support.ext_texture_filter_anisotropic = true;