diff options
Diffstat (limited to 'src/mesa/main/pack.c')
-rw-r--r-- | src/mesa/main/pack.c | 216 |
1 files changed, 108 insertions, 108 deletions
diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c index a23bc998dd7..4f0caa7636c 100644 --- a/src/mesa/main/pack.c +++ b/src/mesa/main/pack.c @@ -557,9 +557,9 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGB) || (dstFormat == GL_RGB_INTEGER)) { GLubyte *dst = (GLubyte *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 7) << 5) - | (CLAMP(rgba[i][GCOMP], 0, 7) << 2) - | (CLAMP(rgba[i][BCOMP], 0, 3) ); + dst[i] = (MIN2(rgba[i][RCOMP], 7) << 5) + | (MIN2(rgba[i][GCOMP], 7) << 2) + | (MIN2(rgba[i][BCOMP], 3) ); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); @@ -569,9 +569,9 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGB) || (dstFormat == GL_RGB_INTEGER)) { GLubyte *dst = (GLubyte *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 7) ) - | (CLAMP(rgba[i][GCOMP], 0, 7) << 3) - | (CLAMP(rgba[i][BCOMP], 0, 3) << 6); + dst[i] = (MIN2(rgba[i][RCOMP], 7) ) + | (MIN2(rgba[i][GCOMP], 7) << 3) + | (MIN2(rgba[i][BCOMP], 3) << 6); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); @@ -581,9 +581,9 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGB) || (dstFormat == GL_RGB_INTEGER)) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 31) << 11) - | (CLAMP(rgba[i][GCOMP], 0, 63) << 5) - | (CLAMP(rgba[i][BCOMP], 0, 31) ); + dst[i] = (MIN2(rgba[i][RCOMP], 31) << 11) + | (MIN2(rgba[i][GCOMP], 63) << 5) + | (MIN2(rgba[i][BCOMP], 31) ); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); @@ -593,9 +593,9 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGB) || (dstFormat == GL_RGB_INTEGER)) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 31) ) - | (CLAMP(rgba[i][GCOMP], 0, 63) << 5) - | (CLAMP(rgba[i][BCOMP], 0, 31) << 11); + dst[i] = (MIN2(rgba[i][RCOMP], 31) ) + | (MIN2(rgba[i][GCOMP], 63) << 5) + | (MIN2(rgba[i][BCOMP], 31) << 11); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); @@ -605,28 +605,28 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGBA) || (dstFormat == GL_RGBA_INTEGER_EXT)) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 15) << 12) - | (CLAMP(rgba[i][GCOMP], 0, 15) << 8) - | (CLAMP(rgba[i][BCOMP], 0, 15) << 4) - | (CLAMP(rgba[i][ACOMP], 0, 15) ); + dst[i] = (MIN2(rgba[i][RCOMP], 15) << 12) + | (MIN2(rgba[i][GCOMP], 15) << 8) + | (MIN2(rgba[i][BCOMP], 15) << 4) + | (MIN2(rgba[i][ACOMP], 15) ); } } else if ((dstFormat == GL_BGRA) || (dstFormat == GL_BGRA_INTEGER)) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][BCOMP], 0, 15) << 12) - | (CLAMP(rgba[i][GCOMP], 0, 15) << 8) - | (CLAMP(rgba[i][RCOMP], 0, 15) << 4) - | (CLAMP(rgba[i][ACOMP], 0, 15) ); + dst[i] = (MIN2(rgba[i][BCOMP], 15) << 12) + | (MIN2(rgba[i][GCOMP], 15) << 8) + | (MIN2(rgba[i][RCOMP], 15) << 4) + | (MIN2(rgba[i][ACOMP], 15) ); } } else if (dstFormat == GL_ABGR_EXT) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][ACOMP], 0, 15) << 12) - | (CLAMP(rgba[i][BCOMP], 0, 15) << 8) - | (CLAMP(rgba[i][GCOMP], 0, 15) << 4) - | (CLAMP(rgba[i][RCOMP], 0, 15) ); + dst[i] = (MIN2(rgba[i][ACOMP], 15) << 12) + | (MIN2(rgba[i][BCOMP], 15) << 8) + | (MIN2(rgba[i][GCOMP], 15) << 4) + | (MIN2(rgba[i][RCOMP], 15) ); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); @@ -636,28 +636,28 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGBA) || (dstFormat == GL_RGBA_INTEGER_EXT)) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 15) ) - | (CLAMP(rgba[i][GCOMP], 0, 15) << 4) - | (CLAMP(rgba[i][BCOMP], 0, 15) << 8) - | (CLAMP(rgba[i][ACOMP], 0, 15) << 12); + dst[i] = (MIN2(rgba[i][RCOMP], 15) ) + | (MIN2(rgba[i][GCOMP], 15) << 4) + | (MIN2(rgba[i][BCOMP], 15) << 8) + | (MIN2(rgba[i][ACOMP], 15) << 12); } } else if ((dstFormat == GL_BGRA) || (dstFormat == GL_BGRA_INTEGER)) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][BCOMP], 0, 15) ) - | (CLAMP(rgba[i][GCOMP], 0, 15) << 4) - | (CLAMP(rgba[i][RCOMP], 0, 15) << 8) - | (CLAMP(rgba[i][ACOMP], 0, 15) << 12); + dst[i] = (MIN2(rgba[i][BCOMP], 15) ) + | (MIN2(rgba[i][GCOMP], 15) << 4) + | (MIN2(rgba[i][RCOMP], 15) << 8) + | (MIN2(rgba[i][ACOMP], 15) << 12); } } else if (dstFormat == GL_ABGR_EXT) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][ACOMP], 0, 15) ) - | (CLAMP(rgba[i][BCOMP], 0, 15) << 4) - | (CLAMP(rgba[i][GCOMP], 0, 15) << 8) - | (CLAMP(rgba[i][RCOMP], 0, 15) << 12); + dst[i] = (MIN2(rgba[i][ACOMP], 15) ) + | (MIN2(rgba[i][BCOMP], 15) << 4) + | (MIN2(rgba[i][GCOMP], 15) << 8) + | (MIN2(rgba[i][RCOMP], 15) << 12); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); @@ -667,28 +667,28 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGBA) || (dstFormat == GL_RGBA_INTEGER_EXT)) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 31) << 11) - | (CLAMP(rgba[i][GCOMP], 0, 31) << 6) - | (CLAMP(rgba[i][BCOMP], 0, 31) << 1) - | (CLAMP(rgba[i][ACOMP], 0, 1) ); + dst[i] = (MIN2(rgba[i][RCOMP], 31) << 11) + | (MIN2(rgba[i][GCOMP], 31) << 6) + | (MIN2(rgba[i][BCOMP], 31) << 1) + | (MIN2(rgba[i][ACOMP], 1) ); } } else if ((dstFormat == GL_BGRA) || (dstFormat == GL_BGRA_INTEGER)) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][BCOMP], 0, 31) << 11) - | (CLAMP(rgba[i][GCOMP], 0, 31) << 6) - | (CLAMP(rgba[i][RCOMP], 0, 31) << 1) - | (CLAMP(rgba[i][ACOMP], 0, 1) ); + dst[i] = (MIN2(rgba[i][BCOMP], 31) << 11) + | (MIN2(rgba[i][GCOMP], 31) << 6) + | (MIN2(rgba[i][RCOMP], 31) << 1) + | (MIN2(rgba[i][ACOMP], 1) ); } } else if (dstFormat == GL_ABGR_EXT) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][ACOMP], 0, 31) << 11) - | (CLAMP(rgba[i][BCOMP], 0, 31) << 6) - | (CLAMP(rgba[i][GCOMP], 0, 31) << 1) - | (CLAMP(rgba[i][RCOMP], 0, 1) ); + dst[i] = (MIN2(rgba[i][ACOMP], 31) << 11) + | (MIN2(rgba[i][BCOMP], 31) << 6) + | (MIN2(rgba[i][GCOMP], 31) << 1) + | (MIN2(rgba[i][RCOMP], 1) ); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); @@ -698,28 +698,28 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGBA) || (dstFormat == GL_RGBA_INTEGER_EXT)) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 31) ) - | (CLAMP(rgba[i][GCOMP], 0, 31) << 5) - | (CLAMP(rgba[i][BCOMP], 0, 31) << 10) - | (CLAMP(rgba[i][ACOMP], 0, 1) << 15); + dst[i] = (MIN2(rgba[i][RCOMP], 31) ) + | (MIN2(rgba[i][GCOMP], 31) << 5) + | (MIN2(rgba[i][BCOMP], 31) << 10) + | (MIN2(rgba[i][ACOMP], 1) << 15); } } else if ((dstFormat == GL_BGRA) || (dstFormat == GL_BGRA_INTEGER)) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][BCOMP], 0, 31) ) - | (CLAMP(rgba[i][GCOMP], 0, 31) << 5) - | (CLAMP(rgba[i][RCOMP], 0, 31) << 10) - | (CLAMP(rgba[i][ACOMP], 0, 1) << 15); + dst[i] = (MIN2(rgba[i][BCOMP], 31) ) + | (MIN2(rgba[i][GCOMP], 31) << 5) + | (MIN2(rgba[i][RCOMP], 31) << 10) + | (MIN2(rgba[i][ACOMP], 1) << 15); } } else if (dstFormat == GL_ABGR_EXT) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][ACOMP], 0, 31) ) - | (CLAMP(rgba[i][BCOMP], 0, 31) << 5) - | (CLAMP(rgba[i][GCOMP], 0, 31) << 10) - | (CLAMP(rgba[i][RCOMP], 0, 1) << 15); + dst[i] = (MIN2(rgba[i][ACOMP], 31) ) + | (MIN2(rgba[i][BCOMP], 31) << 5) + | (MIN2(rgba[i][GCOMP], 31) << 10) + | (MIN2(rgba[i][RCOMP], 1) << 15); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); @@ -729,28 +729,28 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGBA) || (dstFormat == GL_RGBA_INTEGER_EXT)) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 255) << 24) - | (CLAMP(rgba[i][GCOMP], 0, 255) << 16) - | (CLAMP(rgba[i][BCOMP], 0, 255) << 8) - | (CLAMP(rgba[i][ACOMP], 0, 255) ); + dst[i] = (MIN2(rgba[i][RCOMP], 255) << 24) + | (MIN2(rgba[i][GCOMP], 255) << 16) + | (MIN2(rgba[i][BCOMP], 255) << 8) + | (MIN2(rgba[i][ACOMP], 255) ); } } else if ((dstFormat == GL_BGRA) || (dstFormat == GL_BGRA_INTEGER)) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][BCOMP], 0, 255) << 24) - | (CLAMP(rgba[i][GCOMP], 0, 255) << 16) - | (CLAMP(rgba[i][RCOMP], 0, 255) << 8) - | (CLAMP(rgba[i][ACOMP], 0, 255) ); + dst[i] = (MIN2(rgba[i][BCOMP], 255) << 24) + | (MIN2(rgba[i][GCOMP], 255) << 16) + | (MIN2(rgba[i][RCOMP], 255) << 8) + | (MIN2(rgba[i][ACOMP], 255) ); } } else if (dstFormat == GL_ABGR_EXT) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][ACOMP], 0, 255) << 24) - | (CLAMP(rgba[i][BCOMP], 0, 255) << 16) - | (CLAMP(rgba[i][GCOMP], 0, 255) << 8) - | (CLAMP(rgba[i][RCOMP], 0, 255) ); + dst[i] = (MIN2(rgba[i][ACOMP], 255) << 24) + | (MIN2(rgba[i][BCOMP], 255) << 16) + | (MIN2(rgba[i][GCOMP], 255) << 8) + | (MIN2(rgba[i][RCOMP], 255) ); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); @@ -760,28 +760,28 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGBA) || (dstFormat == GL_RGBA_INTEGER_EXT)) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 255) ) - | (CLAMP(rgba[i][GCOMP], 0, 255) << 8) - | (CLAMP(rgba[i][BCOMP], 0, 255) << 16) - | (CLAMP(rgba[i][ACOMP], 0, 255) << 24); + dst[i] = (MIN2(rgba[i][RCOMP], 255) ) + | (MIN2(rgba[i][GCOMP], 255) << 8) + | (MIN2(rgba[i][BCOMP], 255) << 16) + | (MIN2(rgba[i][ACOMP], 255) << 24); } } else if ((dstFormat == GL_BGRA) || (dstFormat == GL_BGRA_INTEGER)) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][BCOMP], 0, 255) ) - | (CLAMP(rgba[i][GCOMP], 0, 255) << 8) - | (CLAMP(rgba[i][RCOMP], 0, 255) << 16) - | (CLAMP(rgba[i][ACOMP], 0, 255) << 24); + dst[i] = (MIN2(rgba[i][BCOMP], 255) ) + | (MIN2(rgba[i][GCOMP], 255) << 8) + | (MIN2(rgba[i][RCOMP], 255) << 16) + | (MIN2(rgba[i][ACOMP], 255) << 24); } } else if (dstFormat == GL_ABGR_EXT) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][ACOMP], 0, 255) ) - | (CLAMP(rgba[i][BCOMP], 0, 255) << 8) - | (CLAMP(rgba[i][GCOMP], 0, 255) << 16) - | (CLAMP(rgba[i][RCOMP], 0, 255) << 24); + dst[i] = (MIN2(rgba[i][ACOMP], 255) ) + | (MIN2(rgba[i][BCOMP], 255) << 8) + | (MIN2(rgba[i][GCOMP], 255) << 16) + | (MIN2(rgba[i][RCOMP], 255) << 24); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); @@ -791,28 +791,28 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGBA) || (dstFormat == GL_RGBA_INTEGER_EXT)) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 1023) << 22) - | (CLAMP(rgba[i][GCOMP], 0, 1023) << 12) - | (CLAMP(rgba[i][BCOMP], 0, 1023) << 2) - | (CLAMP(rgba[i][ACOMP], 0, 3) ); + dst[i] = (MIN2(rgba[i][RCOMP], 1023) << 22) + | (MIN2(rgba[i][GCOMP], 1023) << 12) + | (MIN2(rgba[i][BCOMP], 1023) << 2) + | (MIN2(rgba[i][ACOMP], 3) ); } } else if ((dstFormat == GL_BGRA) || (dstFormat == GL_BGRA_INTEGER)) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][BCOMP], 0, 1023) << 22) - | (CLAMP(rgba[i][GCOMP], 0, 1023) << 12) - | (CLAMP(rgba[i][RCOMP], 0, 1023) << 2) - | (CLAMP(rgba[i][ACOMP], 0, 3) ); + dst[i] = (MIN2(rgba[i][BCOMP], 1023) << 22) + | (MIN2(rgba[i][GCOMP], 1023) << 12) + | (MIN2(rgba[i][RCOMP], 1023) << 2) + | (MIN2(rgba[i][ACOMP], 3) ); } } else if (dstFormat == GL_ABGR_EXT) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][ACOMP], 0, 1023) << 22) - | (CLAMP(rgba[i][BCOMP], 0, 1023) << 12) - | (CLAMP(rgba[i][GCOMP], 0, 1023) << 2) - | (CLAMP(rgba[i][RCOMP], 0, 3) ); + dst[i] = (MIN2(rgba[i][ACOMP], 1023) << 22) + | (MIN2(rgba[i][BCOMP], 1023) << 12) + | (MIN2(rgba[i][GCOMP], 1023) << 2) + | (MIN2(rgba[i][RCOMP], 3) ); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); @@ -822,28 +822,28 @@ _mesa_pack_rgba_span_from_uints(struct gl_context *ctx, GLuint n, GLuint rgba[][ if ((dstFormat == GL_RGBA) || (dstFormat == GL_RGBA_INTEGER_EXT)) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][RCOMP], 0, 1023) ) - | (CLAMP(rgba[i][GCOMP], 0, 1023) << 10) - | (CLAMP(rgba[i][BCOMP], 0, 1023) << 20) - | (CLAMP(rgba[i][ACOMP], 0, 3) << 30); + dst[i] = (MIN2(rgba[i][RCOMP], 1023) ) + | (MIN2(rgba[i][GCOMP], 1023) << 10) + | (MIN2(rgba[i][BCOMP], 1023) << 20) + | (MIN2(rgba[i][ACOMP], 3) << 30); } } else if ((dstFormat == GL_BGRA) || (dstFormat == GL_BGRA_INTEGER)) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][BCOMP], 0, 1023) ) - | (CLAMP(rgba[i][GCOMP], 0, 1023) << 10) - | (CLAMP(rgba[i][RCOMP], 0, 1023) << 20) - | (CLAMP(rgba[i][ACOMP], 0, 3) << 30); + dst[i] = (MIN2(rgba[i][BCOMP], 1023) ) + | (MIN2(rgba[i][GCOMP], 1023) << 10) + | (MIN2(rgba[i][RCOMP], 1023) << 20) + | (MIN2(rgba[i][ACOMP], 3) << 30); } } else if (dstFormat == GL_ABGR_EXT) { GLuint *dst = (GLuint *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (CLAMP(rgba[i][ACOMP], 0, 1023) ) - | (CLAMP(rgba[i][BCOMP], 0, 1023) << 10) - | (CLAMP(rgba[i][GCOMP], 0, 1023) << 20) - | (CLAMP(rgba[i][RCOMP], 0, 3) << 30); + dst[i] = (MIN2(rgba[i][ACOMP], 1023) ) + | (MIN2(rgba[i][BCOMP], 1023) << 10) + | (MIN2(rgba[i][GCOMP], 1023) << 20) + | (MIN2(rgba[i][RCOMP], 3) << 30); } } else { _pack_rgba_span_from_uints_problem(ctx, dstFormat, dstType); |