mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-17 09:10:16 +01:00
mesa: only use fallback texture when using shaders, not fixed-function
The semantics are a little different for shaders vs. fixed-function when trying to use an incomplete texture. The fallback texture returning (0,0,0,1) should only be used with shaders. Fixes glean fbo test regression.
This commit is contained in:
parent
01e16befd4
commit
a0edbfb28f
1 changed files with 14 additions and 8 deletions
|
|
@ -560,14 +560,20 @@ update_texture_state( GLcontext *ctx )
|
|||
}
|
||||
}
|
||||
|
||||
if (fprog && !texUnit->_ReallyEnabled) {
|
||||
/* If we get here it means the shader is expecting a texture
|
||||
* object, but there isn't one (or it's incomplete). Use the
|
||||
* fallback texture.
|
||||
*/
|
||||
struct gl_texture_object *texObj = _mesa_get_fallback_texture(ctx);
|
||||
texUnit->_ReallyEnabled = 1 << TEXTURE_2D_INDEX;
|
||||
_mesa_reference_texobj(&texUnit->_Current, texObj);
|
||||
if (!texUnit->_ReallyEnabled) {
|
||||
if (fprog) {
|
||||
/* If we get here it means the shader is expecting a texture
|
||||
* object, but there isn't one (or it's incomplete). Use the
|
||||
* fallback texture.
|
||||
*/
|
||||
struct gl_texture_object *texObj = _mesa_get_fallback_texture(ctx);
|
||||
texUnit->_ReallyEnabled = 1 << TEXTURE_2D_INDEX;
|
||||
_mesa_reference_texobj(&texUnit->_Current, texObj);
|
||||
}
|
||||
else {
|
||||
/* fixed-function: texture unit is really disabled */
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
/* if we get here, we know this texture unit is enabled */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue