diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/main/image.c | 19 | ||||
-rw-r--r-- | src/mesa/main/mtypes.h | 1 | ||||
-rw-r--r-- | src/mesa/main/texstore.c | 2 |
3 files changed, 6 insertions, 16 deletions
diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c index 44729b7419..394a7c65cd 100644 --- a/src/mesa/main/image.c +++ b/src/mesa/main/image.c @@ -1211,24 +1211,15 @@ _mesa_pack_rgba_span_float(GLcontext *ctx, GLuint n, GLfloat rgba[][4], if (dstFormat == GL_LUMINANCE || dstFormat == GL_LUMINANCE_ALPHA) { /* compute luminance values */ - if (transferOps & IMAGE_RED_TO_LUMINANCE) { - /* Luminance = Red (glGetTexImage) */ + if (dstType != GL_FLOAT || ctx->Color.ClampReadColor == GL_TRUE) { for (i = 0; i < n; i++) { - luminance[i] = rgba[i][RCOMP]; + GLfloat sum = rgba[i][RCOMP] + rgba[i][GCOMP] + rgba[i][BCOMP]; + luminance[i] = CLAMP(sum, 0.0F, 1.0F); } } else { - /* Luminance = Red + Green + Blue (glReadPixels) */ - if (dstType != GL_FLOAT || ctx->Color.ClampReadColor == GL_TRUE) { - for (i = 0; i < n; i++) { - GLfloat sum = rgba[i][RCOMP] + rgba[i][GCOMP] + rgba[i][BCOMP]; - luminance[i] = CLAMP(sum, 0.0F, 1.0F); - } - } - else { - for (i = 0; i < n; i++) { - luminance[i] = rgba[i][RCOMP] + rgba[i][GCOMP] + rgba[i][BCOMP]; - } + for (i = 0; i < n; i++) { + luminance[i] = rgba[i][RCOMP] + rgba[i][GCOMP] + rgba[i][BCOMP]; } } } diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 65246eb116..df77c6cbf9 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2562,7 +2562,6 @@ struct matrix_stack #define IMAGE_HISTOGRAM_BIT 0x200 #define IMAGE_MIN_MAX_BIT 0x400 #define IMAGE_CLAMP_BIT 0x800 /* extra */ -#define IMAGE_RED_TO_LUMINANCE 0x1000 /** Pixel Transfer ops up to convolution */ diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c index 2098bdddbf..a570525155 100644 --- a/src/mesa/main/texstore.c +++ b/src/mesa/main/texstore.c @@ -3630,7 +3630,7 @@ _mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level, } _mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) rgba, format, type, dest, - &ctx->Pack, IMAGE_RED_TO_LUMINANCE); + &ctx->Pack, 0x0 /*image xfer ops*/); } /* format */ } /* row */ } /* img */ |