From: Yuanhan Liu <yuanhan....@linux.intel.com> If there are already some texture unit enabled, a fallback is needed, or the original texture stuff would not work.
A much better way is to use multi-texture to handle this case: like treat the pixels as texture 1 and the original texture as texture 2. I haven't do much inverstigation on that way, but fallback is definitely a much simpler and straight way. This would fix oglc mipsel test case. Signed-off-by: Yuanhan Liu <yuanhan....@linux.intel.com> --- src/mesa/drivers/common/meta.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 95336fc..c860f3c 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -2210,6 +2210,16 @@ _mesa_meta_DrawPixels(struct gl_context *ctx, fallback = GL_TRUE; } + /* + * If there are already some texture unit enabled, a fallback is needed, + * or the original texture stuff would not work + * + * FIXME: we may use multi-texture to handle this case. But fallback is + * definitely a much simple and straight way. + */ + if (ctx->Texture._EnabledUnits) + fallback = GL_TRUE; + if (_mesa_is_color_format(format)) { /* use more compact format when possible */ /* XXX disable special case for GL_LUMINANCE for now to work around -- 1.7.3.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev