mesa: remove the noClamp parameter to _mesa_pack_rgba_span_float()

It was only set to GL_TRUE in one place where it isn't really needed
(glGetTexImage(sRGB format)).
This commit is contained in:
Brian Paul
2009-04-03 17:28:35 -06:00
parent 35d88e1ac2
commit c7eb423c49
8 changed files with 18 additions and 15 deletions

View File

@@ -718,7 +718,7 @@ _mesa_GetColorTable( GLenum target, GLenum format,
} }
_mesa_pack_rgba_span_float(ctx, table->Size, rgba, _mesa_pack_rgba_span_float(ctx, table->Size, rgba,
format, type, data, &ctx->Pack, 0x0, GL_FALSE); format, type, data, &ctx->Pack, 0x0);
if (ctx->Pack.BufferObj->Name) { if (ctx->Pack.BufferObj->Name) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,

View File

@@ -626,7 +626,7 @@ _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type,
row, 0); row, 0);
GLfloat (*src)[4] = (GLfloat (*)[4]) (filter->Filter + row * filter->Width * 4); GLfloat (*src)[4] = (GLfloat (*)[4]) (filter->Filter + row * filter->Width * 4);
_mesa_pack_rgba_span_float(ctx, filter->Width, src, _mesa_pack_rgba_span_float(ctx, filter->Width, src,
format, type, dst, &ctx->Pack, 0x0, GL_FALSE); format, type, dst, &ctx->Pack, 0x0);
} }
if (ctx->Pack.BufferObj->Name) { if (ctx->Pack.BufferObj->Name) {
@@ -836,7 +836,7 @@ _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
format, type, 0); format, type, 0);
_mesa_pack_rgba_span_float(ctx, filter->Width, _mesa_pack_rgba_span_float(ctx, filter->Width,
(GLfloat (*)[4]) filter->Filter, (GLfloat (*)[4]) filter->Filter,
format, type, dst, &ctx->Pack, 0x0, GL_FALSE); format, type, dst, &ctx->Pack, 0x0);
} }
/* Column filter */ /* Column filter */
@@ -845,7 +845,7 @@ _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
format, type, 0); format, type, 0);
GLfloat (*src)[4] = (GLfloat (*)[4]) (filter->Filter + colStart); GLfloat (*src)[4] = (GLfloat (*)[4]) (filter->Filter + colStart);
_mesa_pack_rgba_span_float(ctx, filter->Height, src, _mesa_pack_rgba_span_float(ctx, filter->Height, src,
format, type, dst, &ctx->Pack, 0x0, GL_FALSE); format, type, dst, &ctx->Pack, 0x0);
} }
(void) span; /* unused at this time */ (void) span; /* unused at this time */

View File

@@ -684,7 +684,7 @@ _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvo
minmax[1][BCOMP] = CLAMP(ctx->MinMax.Max[BCOMP], 0.0F, 1.0F); minmax[1][BCOMP] = CLAMP(ctx->MinMax.Max[BCOMP], 0.0F, 1.0F);
minmax[1][ACOMP] = CLAMP(ctx->MinMax.Max[ACOMP], 0.0F, 1.0F); minmax[1][ACOMP] = CLAMP(ctx->MinMax.Max[ACOMP], 0.0F, 1.0F);
_mesa_pack_rgba_span_float(ctx, 2, minmax, _mesa_pack_rgba_span_float(ctx, 2, minmax,
format, type, values, &ctx->Pack, 0x0, GL_FALSE); format, type, values, &ctx->Pack, 0x0);
} }
if (ctx->Pack.BufferObj->Name) { if (ctx->Pack.BufferObj->Name) {

View File

@@ -1677,7 +1677,6 @@ _mesa_apply_stencil_transfer_ops(const GLcontext *ctx, GLuint n,
* Used to pack an array [][4] of RGBA float colors as specified * Used to pack an array [][4] of RGBA float colors as specified
* by the dstFormat, dstType and dstPacking. Used by glReadPixels, * by the dstFormat, dstType and dstPacking. Used by glReadPixels,
* glGetConvolutionFilter(), etc. * glGetConvolutionFilter(), etc.
* Incoming colors will be clamped to [0,1] if needed.
* Note: the rgba values will be modified by this function when any pixel * Note: the rgba values will be modified by this function when any pixel
* transfer ops are enabled. * transfer ops are enabled.
*/ */
@@ -1686,13 +1685,17 @@ _mesa_pack_rgba_span_float(GLcontext *ctx, GLuint n, GLfloat rgba[][4],
GLenum dstFormat, GLenum dstType, GLenum dstFormat, GLenum dstType,
GLvoid *dstAddr, GLvoid *dstAddr,
const struct gl_pixelstore_attrib *dstPacking, const struct gl_pixelstore_attrib *dstPacking,
GLbitfield transferOps, GLboolean noClamp) GLbitfield transferOps)
{ {
GLfloat luminance[MAX_WIDTH]; GLfloat luminance[MAX_WIDTH];
const GLint comps = _mesa_components_in_format(dstFormat); const GLint comps = _mesa_components_in_format(dstFormat);
GLuint i; GLuint i;
if ((!noClamp) && (dstType != GL_FLOAT || ctx->Color.ClampReadColor == GL_TRUE)) { /* XXX
* This test should probably go away. Have the caller set/clear the
* IMAGE_CLAMP_BIT as needed.
*/
if (dstType != GL_FLOAT || ctx->Color.ClampReadColor == GL_TRUE) {
/* need to clamp to [0, 1] */ /* need to clamp to [0, 1] */
transferOps |= IMAGE_CLAMP_BIT; transferOps |= IMAGE_CLAMP_BIT;
} }

View File

@@ -178,7 +178,7 @@ extern void
_mesa_pack_rgba_span_float( GLcontext *ctx, GLuint n, GLfloat rgba[][4], _mesa_pack_rgba_span_float( GLcontext *ctx, GLuint n, GLfloat rgba[][4],
GLenum dstFormat, GLenum dstType, GLvoid *dstAddr, GLenum dstFormat, GLenum dstType, GLvoid *dstAddr,
const struct gl_pixelstore_attrib *dstPacking, const struct gl_pixelstore_attrib *dstPacking,
GLbitfield transferOps, GLboolean noClamp ); GLbitfield transferOps );
extern void extern void

View File

@@ -417,7 +417,7 @@ make_temp_float_image(GLcontext *ctx, GLuint dims,
(GLfloat (*)[4]) src, (GLfloat (*)[4]) src,
logicalBaseFormat, GL_FLOAT, logicalBaseFormat, GL_FLOAT,
dst, &ctx->DefaultPacking, dst, &ctx->DefaultPacking,
postConvTransferOps, GL_FALSE); postConvTransferOps);
src += convWidth * 4; src += convWidth * 4;
dst += convWidth * logComponents; dst += convWidth * logComponents;
} }
@@ -4102,7 +4102,7 @@ _mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level,
} }
_mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) rgba, _mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) rgba,
format, type, dest, format, type, dest,
&ctx->Pack, transferOps, GL_TRUE); &ctx->Pack, transferOps);
} }
#endif /* FEATURE_EXT_texture_sRGB */ #endif /* FEATURE_EXT_texture_sRGB */
else { else {
@@ -4146,7 +4146,7 @@ _mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level,
} }
_mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) rgba, _mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) rgba,
format, type, dest, format, type, dest,
&ctx->Pack, transferOps, GL_FALSE); &ctx->Pack, transferOps);
} /* format */ } /* format */
} /* row */ } /* row */
} /* img */ } /* img */

View File

@@ -486,7 +486,7 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height,
df += dfStride; df += dfStride;
if (!dfStride) { if (!dfStride) {
_mesa_pack_rgba_span_float(ctx, width, temp, format, type, dst, _mesa_pack_rgba_span_float(ctx, width, temp, format, type, dst,
&clippedPacking, transferOps, GL_FALSE); &clippedPacking, transferOps);
dst += dstStride; dst += dstStride;
} }
} }

View File

@@ -396,7 +396,7 @@ read_rgba_pixels( GLcontext *ctx,
format, type, row, 0); format, type, row, 0);
_mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) src, _mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) src,
format, type, dest, packing, format, type, dest, packing,
transferOps & IMAGE_POST_CONVOLUTION_BITS, GL_FALSE); transferOps & IMAGE_POST_CONVOLUTION_BITS);
src += width * 4; src += width * 4;
} }
_mesa_free(convImage); _mesa_free(convImage);
@@ -441,7 +441,7 @@ read_rgba_pixels( GLcontext *ctx,
/* pack the row of RGBA pixels into user's buffer */ /* pack the row of RGBA pixels into user's buffer */
_mesa_pack_rgba_span_float(ctx, width, rgba, format, type, dst, _mesa_pack_rgba_span_float(ctx, width, rgba, format, type, dst,
packing, transferOps, GL_FALSE); packing, transferOps);
dst += dstStride; dst += dstStride;
} }