[cogl/cogl-1.8] arbfp: assume GL_TEXTURE_2D target for NULL texture
- From: Neil Roberts <nroberts src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cogl/cogl-1.8] arbfp: assume GL_TEXTURE_2D target for NULL texture
- Date: Mon, 17 Oct 2011 13:21:41 +0000 (UTC)
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]