Module: Mesa Branch: master Commit: bcb10ca17221833b2502970fb94ff52cf328ee30 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bcb10ca17221833b2502970fb94ff52cf328ee30
Author: Abdiel Janulgue <[email protected]> Date: Fri Oct 12 11:51:03 2012 +0300 mesa: Fix a crash in update_texture_state() for external texture type NOTE: This is a candidate for the stable branch. Signed-off-by: Abdiel <[email protected]> Signed-off-by: Brian Paul <[email protected]> --- src/mesa/main/texobj.c | 3 +++ src/mesa/main/texstate.c | 7 +++++++ 2 files changed, 10 insertions(+), 0 deletions(-) diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index 513f3bb..224d8a8 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -769,6 +769,9 @@ _mesa_get_fallback_texture(struct gl_context *ctx, gl_texture_index tex) target = GL_TEXTURE_BUFFER; break; case TEXTURE_EXTERNAL_INDEX: + dims = 2; + target = GL_TEXTURE_EXTERNAL_OES; + break; default: /* no-op */ return NULL; diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c index 1fd09e9..0e5ba44 100644 --- a/src/mesa/main/texstate.c +++ b/src/mesa/main/texstate.c @@ -600,6 +600,13 @@ update_texture_state( struct gl_context *ctx ) texTarget = (gl_texture_index) (ffs(enabledTargets) - 1); texObj = _mesa_get_fallback_texture(ctx, texTarget); + + assert(texObj); + if (!texObj) { + /* invalid fallback texture: don't enable the texture unit */ + continue; + } + _mesa_reference_texobj(&texUnit->_Current, texObj); texUnit->_ReallyEnabled = 1 << texTarget; } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
