swrast: Avoid double promotion.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
This commit is contained in:
@@ -116,11 +116,11 @@ compute_plane(GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1,
|
||||
const GLfloat b = pz * py;
|
||||
const GLfloat c = px * px + py * py;
|
||||
const GLfloat d = -(a * x0 + b * y0 + c * z0);
|
||||
if (a == 0.0 && b == 0.0 && c == 0.0 && d == 0.0) {
|
||||
plane[0] = 0.0;
|
||||
plane[1] = 0.0;
|
||||
plane[2] = 1.0;
|
||||
plane[3] = 0.0;
|
||||
if (a == 0.0F && b == 0.0F && c == 0.0F && d == 0.0F) {
|
||||
plane[0] = 0.0F;
|
||||
plane[1] = 0.0F;
|
||||
plane[2] = 1.0F;
|
||||
plane[3] = 0.0F;
|
||||
}
|
||||
else {
|
||||
plane[0] = a;
|
||||
@@ -135,9 +135,9 @@ compute_plane(GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1,
|
||||
static inline void
|
||||
constant_plane(GLfloat value, GLfloat plane[4])
|
||||
{
|
||||
plane[0] = 0.0;
|
||||
plane[1] = 0.0;
|
||||
plane[2] = -1.0;
|
||||
plane[0] = 0.0F;
|
||||
plane[1] = 0.0F;
|
||||
plane[2] = -1.0F;
|
||||
plane[3] = value;
|
||||
}
|
||||
|
||||
@@ -160,8 +160,8 @@ static inline GLfloat
|
||||
solve_plane_recip(GLfloat x, GLfloat y, const GLfloat plane[4])
|
||||
{
|
||||
const GLfloat denom = plane[3] + plane[0] * x + plane[1] * y;
|
||||
if (denom == 0.0)
|
||||
return 0.0;
|
||||
if (denom == 0.0F)
|
||||
return 0.0F;
|
||||
else
|
||||
return -plane[2] / denom;
|
||||
}
|
||||
@@ -374,7 +374,7 @@ segment(struct gl_context *ctx,
|
||||
if (x0 < x1) {
|
||||
xLeft = x0 - line->halfWidth;
|
||||
xRight = x1 + line->halfWidth;
|
||||
if (line->dy >= 0.0) {
|
||||
if (line->dy >= 0.0F) {
|
||||
yBot = y0 - 3.0F * line->halfWidth;
|
||||
yTop = y0 + line->halfWidth;
|
||||
}
|
||||
@@ -386,7 +386,7 @@ segment(struct gl_context *ctx,
|
||||
else {
|
||||
xLeft = x1 - line->halfWidth;
|
||||
xRight = x0 + line->halfWidth;
|
||||
if (line->dy <= 0.0) {
|
||||
if (line->dy <= 0.0F) {
|
||||
yBot = y1 - 3.0F * line->halfWidth;
|
||||
yTop = y1 + line->halfWidth;
|
||||
}
|
||||
@@ -420,7 +420,7 @@ segment(struct gl_context *ctx,
|
||||
if (y0 < y1) {
|
||||
yBot = y0 - line->halfWidth;
|
||||
yTop = y1 + line->halfWidth;
|
||||
if (line->dx >= 0.0) {
|
||||
if (line->dx >= 0.0F) {
|
||||
xLeft = x0 - 3.0F * line->halfWidth;
|
||||
xRight = x0 + line->halfWidth;
|
||||
}
|
||||
@@ -432,7 +432,7 @@ segment(struct gl_context *ctx,
|
||||
else {
|
||||
yBot = y1 - line->halfWidth;
|
||||
yTop = y0 + line->halfWidth;
|
||||
if (line->dx <= 0.0) {
|
||||
if (line->dx <= 0.0F) {
|
||||
xLeft = x1 - 3.0F * line->halfWidth;
|
||||
xRight = x1 + line->halfWidth;
|
||||
}
|
||||
|
@@ -44,7 +44,7 @@ NAME(plot)(struct gl_context *ctx, struct LineInfo *line, int ix, int iy)
|
||||
|
||||
(void) swrast;
|
||||
|
||||
if (coverage == 0.0)
|
||||
if (coverage == 0.0F)
|
||||
return;
|
||||
|
||||
line->span.end++;
|
||||
@@ -123,7 +123,7 @@ NAME(line)(struct gl_context *ctx, const SWvertex *v0, const SWvertex *v1)
|
||||
ctx->Const.MinLineWidthAA,
|
||||
ctx->Const.MaxLineWidthAA);
|
||||
|
||||
if (line.len == 0.0 || IS_INF_OR_NAN(line.len))
|
||||
if (line.len == 0.0F || IS_INF_OR_NAN(line.len))
|
||||
return;
|
||||
|
||||
INIT_SPAN(line.span, GL_LINE);
|
||||
|
@@ -436,13 +436,13 @@ execute_shader(struct gl_context *ctx, const struct ati_fragment_shader *shader,
|
||||
for (i = 0; i < 3; i++) {
|
||||
dst[optype][i] =
|
||||
(src[optype][2][i] >
|
||||
0.5) ? src[optype][0][i] : src[optype][1][i];
|
||||
0.5F) ? src[optype][0][i] : src[optype][1][i];
|
||||
}
|
||||
}
|
||||
else {
|
||||
dst[optype][3] =
|
||||
(src[optype][2][3] >
|
||||
0.5) ? src[optype][0][3] : src[optype][1][3];
|
||||
0.5F) ? src[optype][0][3] : src[optype][1][3];
|
||||
}
|
||||
break;
|
||||
|
||||
|
@@ -52,7 +52,7 @@ regions_overlap(GLint srcx, GLint srcy,
|
||||
GLint width, GLint height,
|
||||
GLfloat zoomX, GLfloat zoomY)
|
||||
{
|
||||
if (zoomX == 1.0 && zoomY == 1.0) {
|
||||
if (zoomX == 1.0F && zoomY == 1.0F) {
|
||||
return _mesa_regions_overlap(srcx, srcy, srcx + width, srcy + height,
|
||||
dstx, dsty, dstx + width, dsty + height);
|
||||
}
|
||||
@@ -201,8 +201,8 @@ scale_and_bias_z(struct gl_context *ctx, GLuint width,
|
||||
GLuint i;
|
||||
|
||||
if (depthMax <= 0xffffff &&
|
||||
ctx->Pixel.DepthScale == 1.0 &&
|
||||
ctx->Pixel.DepthBias == 0.0) {
|
||||
ctx->Pixel.DepthScale == 1.0F &&
|
||||
ctx->Pixel.DepthBias == 0.0F) {
|
||||
/* no scale or bias and no clamping and no worry of overflow */
|
||||
const GLfloat depthMaxF = ctx->DrawBuffer->_DepthMaxF;
|
||||
for (i = 0; i < width; i++) {
|
||||
|
@@ -264,7 +264,7 @@ draw_stencil_pixels( struct gl_context *ctx, GLint x, GLint y,
|
||||
const struct gl_pixelstore_attrib *unpack,
|
||||
const GLvoid *pixels )
|
||||
{
|
||||
const GLboolean zoom = ctx->Pixel.ZoomX != 1.0 || ctx->Pixel.ZoomY != 1.0;
|
||||
const GLboolean zoom = ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F;
|
||||
const GLenum destType = GL_UNSIGNED_BYTE;
|
||||
GLint row;
|
||||
GLubyte *values;
|
||||
@@ -309,8 +309,8 @@ draw_depth_pixels( struct gl_context *ctx, GLint x, GLint y,
|
||||
const GLvoid *pixels )
|
||||
{
|
||||
const GLboolean scaleOrBias
|
||||
= ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0;
|
||||
const GLboolean zoom = ctx->Pixel.ZoomX != 1.0 || ctx->Pixel.ZoomY != 1.0;
|
||||
= ctx->Pixel.DepthScale != 1.0f || ctx->Pixel.DepthBias != 0.0f;
|
||||
const GLboolean zoom = ctx->Pixel.ZoomX != 1.0f || ctx->Pixel.ZoomY != 1.0f;
|
||||
SWspan span;
|
||||
|
||||
INIT_SPAN(span, GL_BITMAP);
|
||||
@@ -415,7 +415,7 @@ draw_rgba_pixels( struct gl_context *ctx, GLint x, GLint y,
|
||||
const GLvoid *pixels )
|
||||
{
|
||||
const GLint imgX = x, imgY = y;
|
||||
const GLboolean zoom = ctx->Pixel.ZoomX!=1.0 || ctx->Pixel.ZoomY!=1.0;
|
||||
const GLboolean zoom = ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F;
|
||||
GLbitfield transferOps = ctx->_ImageTransferState;
|
||||
SWspan span;
|
||||
|
||||
@@ -601,10 +601,10 @@ draw_depth_stencil_pixels(struct gl_context *ctx, GLint x, GLint y,
|
||||
{
|
||||
const GLint imgX = x, imgY = y;
|
||||
const GLboolean scaleOrBias
|
||||
= ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0;
|
||||
= ctx->Pixel.DepthScale != 1.0F || ctx->Pixel.DepthBias != 0.0F;
|
||||
const GLuint stencilMask = ctx->Stencil.WriteMask[0];
|
||||
const GLenum stencilType = GL_UNSIGNED_BYTE;
|
||||
const GLboolean zoom = ctx->Pixel.ZoomX != 1.0 || ctx->Pixel.ZoomY != 1.0;
|
||||
const GLboolean zoom = ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F;
|
||||
struct gl_renderbuffer *depthRb, *stencilRb;
|
||||
struct gl_pixelstore_attrib clippedUnpack = *unpack;
|
||||
|
||||
|
@@ -243,9 +243,9 @@ run_program(struct gl_context *ctx, SWspan *span, GLuint start, GLuint end)
|
||||
/* Store result depth/z */
|
||||
if (outputsWritten & BITFIELD64_BIT(FRAG_RESULT_DEPTH)) {
|
||||
const GLfloat depth = machine->Outputs[FRAG_RESULT_DEPTH][2];
|
||||
if (depth <= 0.0)
|
||||
if (depth <= 0.0F)
|
||||
span->array->z[i] = 0;
|
||||
else if (depth >= 1.0)
|
||||
else if (depth >= 1.0F)
|
||||
span->array->z[i] = ctx->DrawBuffer->_DepthMax;
|
||||
else
|
||||
span->array->z[i] =
|
||||
|
@@ -241,7 +241,7 @@ _swrast_choose_line( struct gl_context *ctx )
|
||||
USE(general_line);
|
||||
}
|
||||
else if (ctx->Depth.Test
|
||||
|| ctx->Line.Width != 1.0
|
||||
|| ctx->Line.Width != 1.0F
|
||||
|| ctx->Line.StippleFlag) {
|
||||
/* no texture, but Z, fog, width>1, stipple, etc. */
|
||||
#if CHAN_BITS == 32
|
||||
@@ -252,7 +252,7 @@ _swrast_choose_line( struct gl_context *ctx )
|
||||
}
|
||||
else {
|
||||
assert(!ctx->Depth.Test);
|
||||
assert(ctx->Line.Width == 1.0);
|
||||
assert(ctx->Line.Width == 1.0F);
|
||||
/* simple lines */
|
||||
USE(simple_no_z_rgba_line);
|
||||
}
|
||||
|
@@ -208,9 +208,9 @@ sprite_point(struct gl_context *ctx, const SWvertex *vert)
|
||||
else {
|
||||
/* even size */
|
||||
/* 0.501 factor allows conformance to pass */
|
||||
xmin = (GLint) (x + 0.501) - iRadius;
|
||||
xmin = (GLint) (x + 0.501F) - iRadius;
|
||||
xmax = xmin + iSize - 1;
|
||||
ymin = (GLint) (y + 0.501) - iRadius;
|
||||
ymin = (GLint) (y + 0.501F) - iRadius;
|
||||
ymax = ymin + iSize - 1;
|
||||
}
|
||||
|
||||
@@ -423,9 +423,9 @@ large_point(struct gl_context *ctx, const SWvertex *vert)
|
||||
else {
|
||||
/* even size */
|
||||
/* 0.501 factor allows conformance to pass */
|
||||
xmin = (GLint) (x + 0.501) - iRadius;
|
||||
xmin = (GLint) (x + 0.501F) - iRadius;
|
||||
xmax = xmin + iSize - 1;
|
||||
ymin = (GLint) (y + 0.501) - iRadius;
|
||||
ymin = (GLint) (y + 0.501F) - iRadius;
|
||||
ymax = ymin + iSize - 1;
|
||||
}
|
||||
|
||||
@@ -552,7 +552,7 @@ _swrast_choose_point(struct gl_context *ctx)
|
||||
else if (ctx->Point.SmoothFlag) {
|
||||
swrast->Point = smooth_point;
|
||||
}
|
||||
else if (size > 1.0 ||
|
||||
else if (size > 1.0F ||
|
||||
ctx->Point._Attenuated ||
|
||||
ctx->VertexProgram.PointSizeEnabled) {
|
||||
swrast->Point = large_point;
|
||||
|
@@ -506,7 +506,7 @@ interpolate_texcoords(struct gl_context *ctx, SWspan *span)
|
||||
/* LOD is calculated directly in the ansiotropic filter, we can
|
||||
* skip the normal lambda function as the result is ignored.
|
||||
*/
|
||||
if (samp->MaxAnisotropy > 1.0 &&
|
||||
if (samp->MaxAnisotropy > 1.0F &&
|
||||
samp->MinFilter == GL_LINEAR_MIPMAP_LINEAR) {
|
||||
needLambda = GL_FALSE;
|
||||
}
|
||||
@@ -886,16 +886,16 @@ apply_aa_coverage(SWspan *span)
|
||||
GLubyte (*rgba)[4] = span->array->rgba8;
|
||||
for (i = 0; i < span->end; i++) {
|
||||
const GLfloat a = rgba[i][ACOMP] * coverage[i];
|
||||
rgba[i][ACOMP] = (GLubyte) CLAMP(a, 0.0, 255.0);
|
||||
assert(coverage[i] >= 0.0);
|
||||
assert(coverage[i] <= 1.0);
|
||||
rgba[i][ACOMP] = (GLubyte) CLAMP(a, 0.0F, 255.0F);
|
||||
assert(coverage[i] >= 0.0F);
|
||||
assert(coverage[i] <= 1.0F);
|
||||
}
|
||||
}
|
||||
else if (span->array->ChanType == GL_UNSIGNED_SHORT) {
|
||||
GLushort (*rgba)[4] = span->array->rgba16;
|
||||
for (i = 0; i < span->end; i++) {
|
||||
const GLfloat a = rgba[i][ACOMP] * coverage[i];
|
||||
rgba[i][ACOMP] = (GLushort) CLAMP(a, 0.0, 65535.0);
|
||||
rgba[i][ACOMP] = (GLushort) CLAMP(a, 0.0F, 65535.0F);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@@ -670,8 +670,8 @@ _swrast_texture_span( struct gl_context *ctx, SWspan *span )
|
||||
}
|
||||
}
|
||||
|
||||
if (samp->MinLod != -1000.0 ||
|
||||
samp->MaxLod != 1000.0) {
|
||||
if (samp->MinLod != -1000.0F ||
|
||||
samp->MaxLod != 1000.0F) {
|
||||
/* apply LOD clamping to lambda */
|
||||
const GLfloat min = samp->MinLod;
|
||||
const GLfloat max = samp->MaxLod;
|
||||
@@ -682,7 +682,7 @@ _swrast_texture_span( struct gl_context *ctx, SWspan *span )
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (samp->MaxAnisotropy > 1.0 &&
|
||||
else if (samp->MaxAnisotropy > 1.0F &&
|
||||
samp->MinFilter == GL_LINEAR_MIPMAP_LINEAR) {
|
||||
/* sample_lambda_2d_aniso is beeing used as texture_sample_func,
|
||||
* it requires the current SWspan *span as an additional parameter.
|
||||
|
@@ -1902,7 +1902,7 @@ sample_lambda_2d_aniso(struct gl_context *ctx,
|
||||
const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[u];
|
||||
const GLboolean adjustLOD =
|
||||
(texUnit->LodBias + samp->LodBias != 0.0F)
|
||||
|| (samp->MinLod != -1000.0 || samp->MaxLod != 1000.0);
|
||||
|| (samp->MinLod != -1000.0F || samp->MaxLod != 1000.0F);
|
||||
|
||||
GLuint i;
|
||||
|
||||
@@ -1973,8 +1973,8 @@ sample_lambda_2d_aniso(struct gl_context *ctx,
|
||||
ctx->Const.MaxTextureLodBias);
|
||||
lod += bias;
|
||||
|
||||
if (samp->MinLod != -1000.0 ||
|
||||
samp->MaxLod != 1000.0) {
|
||||
if (samp->MinLod != -1000.0F ||
|
||||
samp->MaxLod != 1000.0F) {
|
||||
/* apply LOD clamping to lambda */
|
||||
lod = CLAMP(lod, samp->MinLod, samp->MaxLod);
|
||||
}
|
||||
@@ -3740,7 +3740,7 @@ _swrast_choose_texture_sample_func( struct gl_context *ctx,
|
||||
}
|
||||
else if (needLambda) {
|
||||
/* Anisotropic filtering extension. Activated only if mipmaps are used */
|
||||
if (sampler->MaxAnisotropy > 1.0 &&
|
||||
if (sampler->MaxAnisotropy > 1.0F &&
|
||||
sampler->MinFilter == GL_LINEAR_MIPMAP_LINEAR) {
|
||||
return sample_lambda_2d_aniso;
|
||||
}
|
||||
|
@@ -242,7 +242,7 @@ static void NAME(struct gl_context *ctx, const SWvertex *v0,
|
||||
if (IS_INF_OR_NAN(area) || area == 0.0F)
|
||||
return;
|
||||
|
||||
if (area * bf * swrast->_BackfaceCullSign < 0.0)
|
||||
if (area * bf * swrast->_BackfaceCullSign < 0.0F)
|
||||
return;
|
||||
|
||||
oneOverArea = 1.0F / area;
|
||||
|
@@ -114,7 +114,7 @@ unzoom_x(GLfloat zoomX, GLint imageX, GLint zx)
|
||||
(zx - imageX) / zoomX = x - imageX;
|
||||
*/
|
||||
GLint x;
|
||||
if (zoomX < 0.0)
|
||||
if (zoomX < 0.0F)
|
||||
zx++;
|
||||
x = imageX + (GLint) ((zx - imageX) / zoomX);
|
||||
return x;
|
||||
|
Reference in New Issue
Block a user