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 <abdiel.janulgue@intel.com> Signed-off-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
committed by
Brian Paul
parent
88ecd0ddb9
commit
bcb10ca172
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user