}
-/* MESA_FORMAT_RGBA_FLOAT32 */
-
-static void
-pack_ubyte_RGBA_FLOAT32(const GLubyte src[4], void *dst)
-{
- GLfloat *d = ((GLfloat *) dst);
- d[0] = UBYTE_TO_FLOAT(src[0]);
- d[1] = UBYTE_TO_FLOAT(src[1]);
- d[2] = UBYTE_TO_FLOAT(src[2]);
- d[3] = UBYTE_TO_FLOAT(src[3]);
-}
-
-static void
-pack_float_RGBA_FLOAT32(const GLfloat src[4], void *dst)
-{
- GLfloat *d = ((GLfloat *) dst);
- d[0] = src[0];
- d[1] = src[1];
- d[2] = src[2];
- d[3] = src[3];
-}
-
-
-/* MESA_FORMAT_RGBA_FLOAT16 */
-
-static void
-pack_ubyte_RGBA_FLOAT16(const GLubyte src[4], void *dst)
-{
- GLhalfARB *d = ((GLhalfARB *) dst);
- d[0] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[0]));
- d[1] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[1]));
- d[2] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[2]));
- d[3] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[3]));
-}
-
-static void
-pack_float_RGBA_FLOAT16(const GLfloat src[4], void *dst)
-{
- GLhalfARB *d = ((GLhalfARB *) dst);
- d[0] = _mesa_float_to_half(src[0]);
- d[1] = _mesa_float_to_half(src[1]);
- d[2] = _mesa_float_to_half(src[2]);
- d[3] = _mesa_float_to_half(src[3]);
-}
-
-
-/* MESA_FORMAT_RGB_FLOAT32 */
-
-static void
-pack_ubyte_RGB_FLOAT32(const GLubyte src[4], void *dst)
-{
- GLfloat *d = ((GLfloat *) dst);
- d[0] = UBYTE_TO_FLOAT(src[0]);
- d[1] = UBYTE_TO_FLOAT(src[1]);
- d[2] = UBYTE_TO_FLOAT(src[2]);
-}
-
-static void
-pack_float_RGB_FLOAT32(const GLfloat src[4], void *dst)
-{
- GLfloat *d = ((GLfloat *) dst);
- d[0] = src[0];
- d[1] = src[1];
- d[2] = src[2];
-}
-
-
-/* MESA_FORMAT_RGB_FLOAT16 */
-
-static void
-pack_ubyte_RGB_FLOAT16(const GLubyte src[4], void *dst)
-{
- GLhalfARB *d = ((GLhalfARB *) dst);
- d[0] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[0]));
- d[1] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[1]));
- d[2] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[2]));
-}
-
-static void
-pack_float_RGB_FLOAT16(const GLfloat src[4], void *dst)
-{
- GLhalfARB *d = ((GLhalfARB *) dst);
- d[0] = _mesa_float_to_half(src[0]);
- d[1] = _mesa_float_to_half(src[1]);
- d[2] = _mesa_float_to_half(src[2]);
-}
-
-
-/* MESA_FORMAT_ALPHA_FLOAT32 */
-
-static void
-pack_ubyte_ALPHA_FLOAT32(const GLubyte src[4], void *dst)
-{
- GLfloat *d = ((GLfloat *) dst);
- d[0] = UBYTE_TO_FLOAT(src[ACOMP]);
-}
-
-static void
-pack_float_ALPHA_FLOAT32(const GLfloat src[4], void *dst)
-{
- GLfloat *d = ((GLfloat *) dst);
- d[0] = src[ACOMP];
-}
-
-
-/* MESA_FORMAT_ALPHA_FLOAT16 */
-
-static void
-pack_ubyte_ALPHA_FLOAT16(const GLubyte src[4], void *dst)
-{
- GLhalfARB *d = ((GLhalfARB *) dst);
- d[0] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[ACOMP]));
-}
-
-static void
-pack_float_ALPHA_FLOAT16(const GLfloat src[4], void *dst)
-{
- GLhalfARB *d = ((GLhalfARB *) dst);
- d[0] = _mesa_float_to_half(src[ACOMP]);
-}
-
-
-/* MESA_FORMAT_LUMINANCE_FLOAT32 (and INTENSITY_FLOAT32, R_FLOAT32) */
-
-static void
-pack_ubyte_LUMINANCE_FLOAT32(const GLubyte src[4], void *dst)
-{
- GLfloat *d = ((GLfloat *) dst);
- d[0] = UBYTE_TO_FLOAT(src[RCOMP]);
-}
-
-static void
-pack_float_LUMINANCE_FLOAT32(const GLfloat src[4], void *dst)
-{
- GLfloat *d = ((GLfloat *) dst);
- d[0] = src[RCOMP];
-}
-
-
-/* MESA_FORMAT_LUMINANCE_FLOAT16 (and INTENSITY_FLOAT16, R_FLOAT32) */
-
-static void
-pack_ubyte_LUMINANCE_FLOAT16(const GLubyte src[4], void *dst)
-{
- GLhalfARB *d = ((GLhalfARB *) dst);
- d[0] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[RCOMP]));
-}
-
-static void
-pack_float_LUMINANCE_FLOAT16(const GLfloat src[4], void *dst)
-{
- GLhalfARB *d = ((GLhalfARB *) dst);
- d[0] = _mesa_float_to_half(src[RCOMP]);
-}
-
-
-/* MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32 */
-
-static void
-pack_ubyte_LUMINANCE_ALPHA_FLOAT32(const GLubyte src[4], void *dst)
-{
- GLfloat *d = ((GLfloat *) dst);
- d[0] = UBYTE_TO_FLOAT(src[RCOMP]);
- d[1] = UBYTE_TO_FLOAT(src[ACOMP]);
-}
-
-static void
-pack_float_LUMINANCE_ALPHA_FLOAT32(const GLfloat src[4], void *dst)
-{
- GLfloat *d = ((GLfloat *) dst);
- d[0] = src[RCOMP];
- d[1] = src[ACOMP];
-}
-
-
-/* MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16 */
-
-static void
-pack_ubyte_LUMINANCE_ALPHA_FLOAT16(const GLubyte src[4], void *dst)
-{
- GLhalfARB *d = ((GLhalfARB *) dst);
- d[0] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[RCOMP]));
- d[1] = _mesa_float_to_half(UBYTE_TO_FLOAT(src[ACOMP]));
-}
-
-static void
-pack_float_LUMINANCE_ALPHA_FLOAT16(const GLfloat src[4], void *dst)
-{
- GLhalfARB *d = ((GLhalfARB *) dst);
- d[0] = _mesa_float_to_half(src[RCOMP]);
- d[1] = _mesa_float_to_half(src[ACOMP]);
-}
-
-
/* MESA_FORMAT_RGBA_16 */
static void
table[MESA_FORMAT_Z32] = NULL;
table[MESA_FORMAT_S8] = NULL;
- table[MESA_FORMAT_RGBA_FLOAT32] = pack_ubyte_RGBA_FLOAT32;
- table[MESA_FORMAT_RGBA_FLOAT16] = pack_ubyte_RGBA_FLOAT16;
- table[MESA_FORMAT_RGB_FLOAT32] = pack_ubyte_RGB_FLOAT32;
- table[MESA_FORMAT_RGB_FLOAT16] = pack_ubyte_RGB_FLOAT16;
- table[MESA_FORMAT_ALPHA_FLOAT32] = pack_ubyte_ALPHA_FLOAT32;
- table[MESA_FORMAT_ALPHA_FLOAT16] = pack_ubyte_ALPHA_FLOAT16;
- table[MESA_FORMAT_LUMINANCE_FLOAT32] = pack_ubyte_LUMINANCE_FLOAT32;
- table[MESA_FORMAT_LUMINANCE_FLOAT16] = pack_ubyte_LUMINANCE_FLOAT16;
- table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32] = pack_ubyte_LUMINANCE_ALPHA_FLOAT32;
- table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16] = pack_ubyte_LUMINANCE_ALPHA_FLOAT16;
- table[MESA_FORMAT_INTENSITY_FLOAT32] = pack_ubyte_LUMINANCE_FLOAT32;
- table[MESA_FORMAT_INTENSITY_FLOAT16] = pack_ubyte_LUMINANCE_FLOAT16;
-
/* n/a */
table[MESA_FORMAT_RGBA_INT8] = NULL; /* pack_ubyte_RGBA_INT8 */
table[MESA_FORMAT_RGBA_INT16] = NULL; /* pack_ubyte_RGBA_INT16 */
table[MESA_FORMAT_Z32] = NULL;
table[MESA_FORMAT_S8] = NULL;
- table[MESA_FORMAT_RGBA_FLOAT32] = pack_float_RGBA_FLOAT32;
- table[MESA_FORMAT_RGBA_FLOAT16] = pack_float_RGBA_FLOAT16;
- table[MESA_FORMAT_RGB_FLOAT32] = pack_float_RGB_FLOAT32;
- table[MESA_FORMAT_RGB_FLOAT16] = pack_float_RGB_FLOAT16;
- table[MESA_FORMAT_ALPHA_FLOAT32] = pack_float_ALPHA_FLOAT32;
- table[MESA_FORMAT_ALPHA_FLOAT16] = pack_float_ALPHA_FLOAT16;
- table[MESA_FORMAT_LUMINANCE_FLOAT32] = pack_float_LUMINANCE_FLOAT32;
- table[MESA_FORMAT_LUMINANCE_FLOAT16] = pack_float_LUMINANCE_FLOAT16;
- table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32] = pack_float_LUMINANCE_ALPHA_FLOAT32;
- table[MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16] = pack_float_LUMINANCE_ALPHA_FLOAT16;
-
- table[MESA_FORMAT_INTENSITY_FLOAT32] = pack_float_LUMINANCE_FLOAT32;
- table[MESA_FORMAT_INTENSITY_FLOAT16] = pack_float_LUMINANCE_FLOAT16;
-
/* n/a */
table[MESA_FORMAT_RGBA_INT8] = NULL;
table[MESA_FORMAT_RGBA_INT16] = NULL;