[cogl/cogl-1.8] arbfp: assume GL_TEXTURE_2D target for NULL texture



commit 7b0f140cff043c13dfb49de016780a19aec45672
Author: Robert Bragg <robert linux intel com>
Date:   Wed Sep 21 20:04:44 2011 +0100

    arbfp: assume GL_TEXTURE_2D target for NULL texture
    
    During arbfp codegen we weren't checking for NULL textures and so we
    would crash when trying to query a NULL texture's GL texture target.
    Since NULL texture targets result in ctx->default_gl_texture_2d_tex
    being bound we can assume that a NULL texture corresponds to a
    GL_TEXTURE_2D target.
    
    Reviewed-by: Neil Roberts <neil linux intel com>
    
    (cherry picked from commit dd5208b0ba248990e92b71f6c420757eb06c4b9c)

 cogl/cogl-pipeline-fragend-arbfp.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/cogl/cogl-pipeline-fragend-arbfp.c b/cogl/cogl-pipeline-fragend-arbfp.c
index 8c25b36..6b4f9d1 100644
--- a/cogl/cogl-pipeline-fragend-arbfp.c
+++ b/cogl/cogl-pipeline-fragend-arbfp.c
@@ -389,7 +389,10 @@ setup_arg (CoglPipeline *pipeline,
       arg->name = "texel%d";
       arg->texture_unit = _cogl_pipeline_layer_get_unit_index (layer);
       texture = _cogl_pipeline_layer_get_texture (layer);
-      cogl_texture_get_gl_texture (texture, NULL, &gl_target);
+      if (texture)
+        cogl_texture_get_gl_texture (texture, NULL, &gl_target);
+      else
+        gl_target = GL_TEXTURE_2D;
       setup_texture_source (shader_state, arg->texture_unit, gl_target);
       break;
     case COGL_PIPELINE_COMBINE_SOURCE_CONSTANT:
@@ -422,7 +425,10 @@ setup_arg (CoglPipeline *pipeline,
       arg->name = "texture[%d]";
       arg->texture_unit = src - GL_TEXTURE0;
       texture = _cogl_pipeline_layer_get_texture (layer);
-      cogl_texture_get_gl_texture (texture, NULL, &gl_target);
+      if (texture)
+        cogl_texture_get_gl_texture (texture, NULL, &gl_target);
+      else
+        gl_target = GL_TEXTURE_2D;
       setup_texture_source (shader_state, arg->texture_unit, gl_target);
     }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]