>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED] On Behalf Of Brian Paul
>Sent: 2007年3月10日 0:14
>To: [EMAIL PROTECTED]
>Subject: mesa: Branch 'master'
>
> src/mesa/main/image.c | 19 ++++++++++++++-----
> src/mesa/main/mtypes.h | 1 +
> src/mesa/main/texstore.c | 2 +-
> 3 files changed, 16 insertions(+), 6 deletions(-)
>
>New commits:
>diff-tree f9f79c8d770e696249bd98c68b563f887562c974 (from
>4d9901a1cab8e0d55b1b2309cf3ffec235e53149)
>Author: Brian <[EMAIL PROTECTED]>
>Date: Fri Mar 9 09:08:41 2007 -0700
>
> New IMAGE_RED_TO_LUMINANCE flag passed to _mesa_pack_rgba_span_float() to
>fix glGetTexImage(GL_LUMINANCE) bug #10232.
>
It seems some glGetTexImage issues still exist (see
http://bugs.freedesktop.org/show_bug.cgi?id=10288)
>From the context, the format passed to _mesa_pack_rgba_span_float is the
>format of the target, the base internal format of the texture image is
>invisible in _mesa_pack_rgba_span_float. So I think the color components
>should be assigned among R, G, B, A according to table 6.1(spec2.1) before
>calling _mesa_pack_rgba_span_float.
The following patch works fine for me.
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index 994fb16..8ef4039 100644
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -3608,6 +3608,22 @@ #endif /* FEATURE_EXT_texture_sRGB */
GLint col;
for (col = 0; col < width; col++) {
(*texImage->FetchTexelf)(texImage, col, row, img, rgba[col]);
+ if (texImage->TexFormat->BaseFormat == GL_ALPHA) {
+ rgba[col][RCOMP] = 0.0;
+ rgba[col][GCOMP] = 0.0;
+ rgba[col][BCOMP] = 0.0;
+ } else if (texImage->TexFormat->BaseFormat == GL_LUMINANCE) {
+ rgba[col][GCOMP] = 0.0;
+ rgba[col][BCOMP] = 0.0;
+ rgba[col][ACOMP] = 1.0;
+ } else if (texImage->TexFormat->BaseFormat ==
GL_LUMINANCE_ALPHA) {
+ rgba[col][GCOMP] = 0.0;
+ rgba[col][BCOMP] = 0.0;
+ } else if (texImage->TexFormat->BaseFormat == GL_INTENSITY) {
+ rgba[col][GCOMP] = 0.0;
+ rgba[col][BCOMP] = 0.0;
+ rgba[col][ACOMP] = 1.0;
+ }
}
_mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) rgba,
format, type, dest,
Thanks
Haihao
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev