/* Alloc dest storage */
bytes = ((width + 7) / 8 * height);
- buffer = (GLubyte *) malloc( bytes );
+ buffer = malloc( bytes );
if (!buffer)
return NULL;
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
break;
case GL_INT:
/* No conversion necessary. */
- pack_uint_from_uint_rgba(ctx, dstAddr, dstFormat, rgba, n);
+ pack_uint_from_uint_rgba(ctx, dstAddr, dstFormat, (GLuint (*)[4]) rgba, n);
break;
case GL_UNSIGNED_SHORT:
pack_ushort_from_int_rgba(ctx, dstAddr, dstFormat, rgba, n);
dstFormat == GL_LUMINANCE_ALPHA ||
dstFormat == GL_LUMINANCE_INTEGER_EXT ||
dstFormat == GL_LUMINANCE_ALPHA_INTEGER_EXT) {
- luminance = (GLfloat *) malloc(n * sizeof(GLfloat));
+ luminance = malloc(n * sizeof(GLfloat));
if (!luminance) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel packing");
return;
rgba[i][rDst] = ((p ) & 0x3ff) * rs;
rgba[i][gDst] = ((p >> 10) & 0x3ff) * gs;
rgba[i][bDst] = ((p >> 20) & 0x3ff) * bs;
- rgba[i][aDst] = ((p >> 30) ) * as;
+ if (aSrc < 0) {
+ rgba[i][aDst] = 1.0F;
+ } else {
+ rgba[i][aDst] = (p >> 30) * as;
+ }
}
}
else {
rgba[i][rDst] = ((p ) & 0x3ff) * rs;
rgba[i][gDst] = ((p >> 10) & 0x3ff) * gs;
rgba[i][bDst] = ((p >> 20) & 0x3ff) * bs;
- rgba[i][aDst] = ((p >> 30) ) * as;
+ if (aSrc < 0) {
+ rgba[i][aDst] = 1.0F;
+ } else {
+ rgba[i][aDst] = (p >> 30) * as;
+ }
}
}
break;
{
GLint dstComponents;
GLint rDst, gDst, bDst, aDst, lDst, iDst;
- GLfloat (*rgba)[4] = (GLfloat (*)[4]) malloc(4 * n * sizeof(GLfloat));
+ GLfloat (*rgba)[4] = malloc(4 * n * sizeof(GLfloat));
if (!rgba) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel unpacking");
* Extract image data and convert to RGBA floats
*/
if (srcFormat == GL_COLOR_INDEX) {
- GLuint *indexes = (GLuint *) malloc(n * sizeof(GLuint));
+ GLuint *indexes = malloc(n * sizeof(GLuint));
if (!indexes) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel unpacking");
{
GLint dstComponents;
GLint rDst, gDst, bDst, aDst, lDst, iDst;
- GLfloat (*rgba)[4] = (GLfloat (*)[4]) malloc(4 * n * sizeof(GLfloat));
+ GLfloat (*rgba)[4] = malloc(4 * n * sizeof(GLfloat));
GLboolean intFormat = _mesa_is_enum_format_integer(srcFormat);
if (!rgba) {
* Extract image data and convert to RGBA floats
*/
if (srcFormat == GL_COLOR_INDEX) {
- GLuint *indexes = (GLuint *) malloc(n * sizeof(GLuint));
+ GLuint *indexes = malloc(n * sizeof(GLuint));
if (!indexes) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel unpacking");
const GLvoid *source,
const struct gl_pixelstore_attrib *srcPacking)
{
- GLuint (*rgba)[4] = (GLuint (*)[4]) malloc(n * 4 * sizeof(GLfloat));
+ GLuint (*rgba)[4] = malloc(n * 4 * sizeof(GLfloat));
if (!rgba) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel unpacking");
GLint dstComponents;
GLbyte *dst = dest;
GLuint i;
- GLfloat (*rgba)[4] = (GLfloat (*)[4]) malloc(4 * n * sizeof(GLfloat));
+ GLfloat (*rgba)[4] = malloc(4 * n * sizeof(GLfloat));
if (!rgba) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel unpacking");
/*
* general solution
*/
- GLuint *indexes = (GLuint *) malloc(n * sizeof(GLuint));
+ GLuint *indexes = malloc(n * sizeof(GLuint));
if (!indexes) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel unpacking");
const struct gl_pixelstore_attrib *dstPacking,
GLbitfield transferOps )
{
- GLuint *indexes = (GLuint *) malloc(n * sizeof(GLuint));
+ GLuint *indexes = malloc(n * sizeof(GLuint));
if (!indexes) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel packing");
/*
* general solution
*/
- GLuint *indexes = (GLuint *) malloc(n * sizeof(GLuint));
+ GLuint *indexes = malloc(n * sizeof(GLuint));
if (!indexes) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "stencil unpacking");
GLenum dstType, GLvoid *dest, const GLubyte *source,
const struct gl_pixelstore_attrib *dstPacking )
{
- GLubyte *stencil = (GLubyte *) malloc(n * sizeof(GLubyte));
+ GLubyte *stencil = malloc(n * sizeof(GLubyte));
if (!stencil) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "stencil packing");
depthValues = (GLfloat *) dest;
}
else {
- depthTemp = (GLfloat *) malloc(n * sizeof(GLfloat));
+ depthTemp = malloc(n * sizeof(GLfloat));
if (!depthTemp) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel unpacking");
return;
GLenum dstType, const GLfloat *depthSpan,
const struct gl_pixelstore_attrib *dstPacking )
{
- GLfloat *depthCopy = (GLfloat *) malloc(n * sizeof(GLfloat));
+ GLfloat *depthCopy = malloc(n * sizeof(GLfloat));
if (!depthCopy) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel packing");
return;
const GLubyte *stencilVals,
const struct gl_pixelstore_attrib *dstPacking)
{
- GLfloat *depthCopy = (GLfloat *) malloc(n * sizeof(GLfloat));
- GLubyte *stencilCopy = (GLubyte *) malloc(n * sizeof(GLubyte));
+ GLfloat *depthCopy = malloc(n * sizeof(GLfloat));
+ GLubyte *stencilCopy = malloc(n * sizeof(GLubyte));
GLuint i;
if (!depthCopy || !stencilCopy) {
{
GLubyte *destBuffer
- = (GLubyte *) malloc(bytesPerRow * height * depth);
+ = malloc(bytesPerRow * height * depth);
GLubyte *dst;
GLint img, row;
if (!destBuffer)
rgba[i][BCOMP] = 0.0F;
}
break;
+ case GL_RGB:
+ for (i = 0; i < n; i++) {
+ rgba[i][ACOMP] = 1.0F;
+ }
+ break;
+ case GL_RG:
+ for (i = 0; i < n; i++) {
+ rgba[i][BCOMP] = 0.0F;
+ rgba[i][ACOMP] = 1.0F;
+ }
+ break;
+ case GL_RED:
+ for (i = 0; i < n; i++) {
+ rgba[i][GCOMP] = 0.0F;
+ rgba[i][BCOMP] = 0.0F;
+ rgba[i][ACOMP] = 1.0F;
+ }
+ break;
+
default:
/* no-op */
;
rgba[i][BCOMP] = 0;
}
break;
+ case GL_RGB:
+ for (i = 0; i < n; i++) {
+ rgba[i][ACOMP] = 1;
+ }
+ break;
+ case GL_RG:
+ for (i = 0; i < n; i++) {
+ rgba[i][BCOMP] = 0;
+ rgba[i][ACOMP] = 1;
+ }
+ break;
+ case GL_RED:
+ for (i = 0; i < n; i++) {
+ rgba[i][GCOMP] = 0;
+ rgba[i][BCOMP] = 0;
+ rgba[i][ACOMP] = 1;
+ }
default:
/* no-op */
;