This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to annotated tag 1.5a
in repository iortcw.

commit a7e00c9fdddaf7b0beec9876219b3dc1697d4e91
Author: MAN-AT-ARMS <m4n4t4...@gmail.com>
Date:   Fri Feb 19 17:30:44 2016 -0500

    All: Rend2: Fix some GL errors and no sun shadows on older OpenGLs
---
 MP/code/rend2/tr_dsa.c   | 2 +-
 MP/code/rend2/tr_fbo.c   | 8 ++++++--
 MP/code/rend2/tr_image.c | 4 +---
 SP/code/rend2/tr_dsa.c   | 2 +-
 SP/code/rend2/tr_fbo.c   | 8 ++++++--
 SP/code/rend2/tr_image.c | 4 +---
 6 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/MP/code/rend2/tr_dsa.c b/MP/code/rend2/tr_dsa.c
index a766263..9cd481b 100644
--- a/MP/code/rend2/tr_dsa.c
+++ b/MP/code/rend2/tr_dsa.c
@@ -210,7 +210,7 @@ void GL_BindNullFramebuffers()
        qglBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
        glDsaState.drawFramebuffer = glDsaState.readFramebuffer = 0;
        qglBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0);
-       glDsaState.readFramebuffer = 0;
+       glDsaState.renderbuffer = 0;
 }
 
 void GL_BindFramebuffer(GLenum target, GLuint framebuffer)
diff --git a/MP/code/rend2/tr_fbo.c b/MP/code/rend2/tr_fbo.c
index 59b1703..1229376 100644
--- a/MP/code/rend2/tr_fbo.c
+++ b/MP/code/rend2/tr_fbo.c
@@ -251,7 +251,7 @@ FBO_Init
 void FBO_Init(void)
 {
        int             i;
-       int             hdrFormat, multisample;
+       int             hdrFormat, multisample = 0;
 
        ri.Printf(PRINT_ALL, "------- FBO_Init -------\n");
 
@@ -268,7 +268,8 @@ void FBO_Init(void)
        if (r_hdr->integer && glRefConfig.framebufferObject && 
glRefConfig.textureFloat)
                hdrFormat = GL_RGBA16F_ARB;
 
-       qglGetIntegerv(GL_MAX_SAMPLES_EXT, &multisample);
+       if (glRefConfig.framebufferMultisample)
+               qglGetIntegerv(GL_MAX_SAMPLES_EXT, &multisample);
 
        if (r_ext_framebuffer_multisample->integer < multisample)
                multisample = r_ext_framebuffer_multisample->integer;
@@ -334,6 +335,9 @@ void FBO_Init(void)
                for ( i = 0; i < 4; i++)
                {
                        tr.sunShadowFbo[i] = FBO_Create("_sunshadowmap", 
tr.sunShadowDepthImage[i]->width, tr.sunShadowDepthImage[i]->height);
+                       // FIXME: this next line wastes 16mb with 4x1024x1024 
sun shadow maps, skip if OpenGL 4.3+ or ARB_framebuffer_no_attachments
+                       // This at least gets sun shadows working on older GPUs 
(Intel)
+                       FBO_CreateBuffer(tr.sunShadowFbo[i], GL_RGBA8, 0, 0);
                        FBO_AttachImage(tr.sunShadowFbo[i], 
tr.sunShadowDepthImage[i], GL_DEPTH_ATTACHMENT_EXT, 0);
                        R_CheckFBO(tr.sunShadowFbo[i]);
                }
diff --git a/MP/code/rend2/tr_image.c b/MP/code/rend2/tr_image.c
index 65cde8e..d6c1b80 100644
--- a/MP/code/rend2/tr_image.c
+++ b/MP/code/rend2/tr_image.c
@@ -132,7 +132,7 @@ void GL_TextureMode( const char *string ) {
        // change all the existing mipmap texture objects
        for ( i = 0 ; i < tr.numImages ; i++ ) {
                glt = tr.images[ i ];
-               if ( glt->flags & IMGFLAG_MIPMAP ) {
+               if ( glt->flags & IMGFLAG_MIPMAP && !(glt->flags & 
IMGFLAG_CUBEMAP) ) {
                        qglTextureParameterf(glt->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_MIN_FILTER, gl_filter_min);
                        qglTextureParameterf(glt->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_MAG_FILTER, gl_filter_max);
                }
@@ -2990,8 +2990,6 @@ void R_CreateBuiltinImages( void ) {
                        for ( x = 0; x < 4; x++)
                        {
                                tr.sunShadowDepthImage[x] = 
R_CreateImage(va("*sunshadowdepth%i", x), NULL, r_shadowMapSize->integer, 
r_shadowMapSize->integer, IMGTYPE_COLORALPHA, IMGFLAG_NO_COMPRESSION | 
IMGFLAG_CLAMPTOEDGE, GL_DEPTH_COMPONENT24_ARB);
-                               
qglTextureParameterf(tr.sunShadowDepthImage[x]->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_MIN_FILTER, GL_LINEAR );
-                               
qglTextureParameterf(tr.sunShadowDepthImage[x]->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_MAG_FILTER, GL_LINEAR);
                                
qglTextureParameterf(tr.sunShadowDepthImage[x]->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE);
                                
qglTextureParameterf(tr.sunShadowDepthImage[x]->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
                        }
diff --git a/SP/code/rend2/tr_dsa.c b/SP/code/rend2/tr_dsa.c
index a766263..9cd481b 100644
--- a/SP/code/rend2/tr_dsa.c
+++ b/SP/code/rend2/tr_dsa.c
@@ -210,7 +210,7 @@ void GL_BindNullFramebuffers()
        qglBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
        glDsaState.drawFramebuffer = glDsaState.readFramebuffer = 0;
        qglBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0);
-       glDsaState.readFramebuffer = 0;
+       glDsaState.renderbuffer = 0;
 }
 
 void GL_BindFramebuffer(GLenum target, GLuint framebuffer)
diff --git a/SP/code/rend2/tr_fbo.c b/SP/code/rend2/tr_fbo.c
index 59b1703..1229376 100644
--- a/SP/code/rend2/tr_fbo.c
+++ b/SP/code/rend2/tr_fbo.c
@@ -251,7 +251,7 @@ FBO_Init
 void FBO_Init(void)
 {
        int             i;
-       int             hdrFormat, multisample;
+       int             hdrFormat, multisample = 0;
 
        ri.Printf(PRINT_ALL, "------- FBO_Init -------\n");
 
@@ -268,7 +268,8 @@ void FBO_Init(void)
        if (r_hdr->integer && glRefConfig.framebufferObject && 
glRefConfig.textureFloat)
                hdrFormat = GL_RGBA16F_ARB;
 
-       qglGetIntegerv(GL_MAX_SAMPLES_EXT, &multisample);
+       if (glRefConfig.framebufferMultisample)
+               qglGetIntegerv(GL_MAX_SAMPLES_EXT, &multisample);
 
        if (r_ext_framebuffer_multisample->integer < multisample)
                multisample = r_ext_framebuffer_multisample->integer;
@@ -334,6 +335,9 @@ void FBO_Init(void)
                for ( i = 0; i < 4; i++)
                {
                        tr.sunShadowFbo[i] = FBO_Create("_sunshadowmap", 
tr.sunShadowDepthImage[i]->width, tr.sunShadowDepthImage[i]->height);
+                       // FIXME: this next line wastes 16mb with 4x1024x1024 
sun shadow maps, skip if OpenGL 4.3+ or ARB_framebuffer_no_attachments
+                       // This at least gets sun shadows working on older GPUs 
(Intel)
+                       FBO_CreateBuffer(tr.sunShadowFbo[i], GL_RGBA8, 0, 0);
                        FBO_AttachImage(tr.sunShadowFbo[i], 
tr.sunShadowDepthImage[i], GL_DEPTH_ATTACHMENT_EXT, 0);
                        R_CheckFBO(tr.sunShadowFbo[i]);
                }
diff --git a/SP/code/rend2/tr_image.c b/SP/code/rend2/tr_image.c
index 12dc5ea..f2eaaab 100644
--- a/SP/code/rend2/tr_image.c
+++ b/SP/code/rend2/tr_image.c
@@ -133,7 +133,7 @@ void GL_TextureMode( const char *string ) {
        // change all the existing mipmap texture objects
        for ( i = 0 ; i < tr.numImages ; i++ ) {
                glt = tr.images[ i ];
-               if ( glt->flags & IMGFLAG_MIPMAP ) {
+               if ( glt->flags & IMGFLAG_MIPMAP && !(glt->flags & 
IMGFLAG_CUBEMAP) ) {
                        qglTextureParameterf(glt->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_MIN_FILTER, gl_filter_min);
                        qglTextureParameterf(glt->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_MAG_FILTER, gl_filter_max);
                }
@@ -2999,8 +2999,6 @@ void R_CreateBuiltinImages( void ) {
                        for ( x = 0; x < 4; x++)
                        {
                                tr.sunShadowDepthImage[x] = 
R_CreateImage(va("*sunshadowdepth%i", x), NULL, r_shadowMapSize->integer, 
r_shadowMapSize->integer, IMGTYPE_COLORALPHA, IMGFLAG_NO_COMPRESSION | 
IMGFLAG_CLAMPTOEDGE, GL_DEPTH_COMPONENT24_ARB);
-                               
qglTextureParameterf(tr.sunShadowDepthImage[x]->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_MIN_FILTER, GL_LINEAR );
-                               
qglTextureParameterf(tr.sunShadowDepthImage[x]->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_MAG_FILTER, GL_LINEAR);
                                
qglTextureParameterf(tr.sunShadowDepthImage[x]->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE);
                                
qglTextureParameterf(tr.sunShadowDepthImage[x]->texnum, GL_TEXTURE_2D, 
GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
                        }

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-games/iortcw.git

_______________________________________________
Pkg-games-commits mailing list
Pkg-games-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

Reply via email to