[Mesa-dev] [PATCH] meta: fix glDrawPixels fallback test, stencil drawing
Brian Paul
brianp at vmware.com
Fri Jul 27 07:26:12 PDT 2012
Remove the check for pixel transfer ops. If any RGB/depth scale/bias
is in effect, it'll be applied in the glTexImage step.
If drawing stencil pixels we need to disable pixel transfer so that
alpha scale/bias are not applied to the stencil data.
These issues were spotted by Roland.
Fixes Blender performance issues reported in
http://bugs.freedesktop.org/show_bug.cgi?id=47375
Tested-by: Barto <mister.freeman at laposte.net>
---
src/mesa/drivers/common/meta.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index 82bbbf3..bef648e 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -2253,8 +2253,7 @@ _mesa_meta_DrawPixels(struct gl_context *ctx,
* Determine if we can do the glDrawPixels with texture mapping.
*/
fallback = GL_FALSE;
- if (ctx->_ImageTransferState ||
- ctx->Fog.Enabled) {
+ if (ctx->Fog.Enabled) {
fallback = GL_TRUE;
}
@@ -2290,7 +2289,8 @@ _mesa_meta_DrawPixels(struct gl_context *ctx,
metaExtraSave = (MESA_META_COLOR_MASK |
MESA_META_DEPTH_TEST |
MESA_META_SHADER |
- MESA_META_STENCIL_TEST);
+ MESA_META_STENCIL_TEST |
+ MESA_META_PIXEL_TRANSFER);
}
else {
fallback = GL_TRUE;
--
1.7.3.4
More information about the mesa-dev
mailing list