Mesa (master): intel: fix TFP at 16-bpp
Dave Airlie
airlied at kemper.freedesktop.org
Sun Mar 25 09:16:14 PDT 2012
Module: Mesa
Branch: master
Commit: 7b6424143d8bf572cadd46adcbaa91d2a5598635
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b6424143d8bf572cadd46adcbaa91d2a5598635
Author: Dave Airlie <airlied at gmail.com>
Date: Fri Mar 23 16:17:33 2012 +0000
intel: fix TFP at 16-bpp
don't ask why I had to debug this.
tested to fix g-s and kwin at 16-bpp on Ironlake.
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
src/mesa/drivers/dri/intel/intel_tex_image.c | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c
index 1f57435..094d3cd 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_image.c
+++ b/src/mesa/drivers/dri/intel/intel_tex_image.c
@@ -341,13 +341,18 @@ intelSetTexBuffer2(__DRIcontext *pDRICtx, GLint target,
if (!rb || !rb->mt)
return;
- if (texture_format == __DRI_TEXTURE_FORMAT_RGB) {
+ if (rb->mt->cpp == 4) {
+ if (texture_format == __DRI_TEXTURE_FORMAT_RGB) {
+ internalFormat = GL_RGB;
+ texFormat = MESA_FORMAT_XRGB8888;
+ }
+ else {
+ internalFormat = GL_RGBA;
+ texFormat = MESA_FORMAT_ARGB8888;
+ }
+ } else if (rb->mt->cpp == 2) {
internalFormat = GL_RGB;
- texFormat = MESA_FORMAT_XRGB8888;
- }
- else {
- internalFormat = GL_RGBA;
- texFormat = MESA_FORMAT_ARGB8888;
+ texFormat = MESA_FORMAT_RGB565;
}
_mesa_lock_texture(&intel->ctx, texObj);
More information about the mesa-commit
mailing list