mesa: Use MIN instead of CLAMP for unsigned source data
This silences a zillion GCC warnings like: ../../../src/mesa/main/pack.c: In function '_mesa_pack_rgba_span_from_uints': ../../../src/mesa/main/pack.c:560:13: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
+108
-108
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user