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:
@@ -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,
|
||||||
|
@@ -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 */
|
||||||
|
@@ -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) {
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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
|
||||||
|
@@ -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 */
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user