AL1616: Add formats for GL_LUMINANCE16_ALPHA16 textures
authorIan Romanick <ian.d.romanick@intel.com>
Mon, 16 Nov 2009 22:49:40 +0000 (14:49 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 16 Nov 2009 23:23:16 +0000 (15:23 -0800)
src/mesa/main/formats.c
src/mesa/main/formats.h

index 7d0e2d29143e9ed74b0e01c2d9946525108eee78..7d64c462b17d29c79e7119c95bbf0d6921979980 100644 (file)
@@ -231,6 +231,24 @@ static struct gl_format_info format_info[MESA_FORMAT_COUNT] =
       8, 0, 0, 0, 0,               /* Lum/Int/Index/Depth/StencilBits */
       1, 1, 2                      /* BlockWidth/Height,Bytes */
    },
+   {
+      MESA_FORMAT_AL1616,          /* Name */
+      "MESA_FORMAT_AL1616",        /* StrName */
+      GL_LUMINANCE_ALPHA,          /* BaseFormat */
+      GL_UNSIGNED_NORMALIZED,      /* DataType */
+      0, 0, 0, 16,                 /* Red/Green/Blue/AlphaBits */
+      16, 0, 0, 0, 0,              /* Lum/Int/Index/Depth/StencilBits */
+      1, 1, 4                      /* BlockWidth/Height,Bytes */
+   },
+   {
+      MESA_FORMAT_AL1616_REV,      /* Name */
+      "MESA_FORMAT_AL1616_REV",    /* StrName */
+      GL_LUMINANCE_ALPHA,          /* BaseFormat */
+      GL_UNSIGNED_NORMALIZED,      /* DataType */
+      0, 0, 0, 16,                 /* Red/Green/Blue/AlphaBits */
+      16, 0, 0, 0, 0,              /* Lum/Int/Index/Depth/StencilBits */
+      1, 1, 4                      /* BlockWidth/Height,Bytes */
+   },
    {
       MESA_FORMAT_RGB332,          /* Name */
       "MESA_FORMAT_RGB332",        /* StrName */
@@ -974,6 +992,13 @@ _mesa_format_to_type_and_comps(gl_format format,
       *datatype = GL_UNSIGNED_BYTE;
       *comps = 2;
       return;
+
+   case MESA_FORMAT_AL1616:
+   case MESA_FORMAT_AL1616_REV:
+      *datatype = GL_UNSIGNED_SHORT;
+      *comps = 2;
+      return;
+
    case MESA_FORMAT_RGB332:
       *datatype = GL_UNSIGNED_BYTE_3_3_2;
       *comps = 3;
index fa6359f5c8af33fdd5ac4acc43e884a93dfa314b..d3ac436b1bdaece47ddf56f38d6adf1a8833a2a4 100644 (file)
@@ -66,6 +66,8 @@ typedef enum
    MESA_FORMAT_ARGB1555_REV,   /*                     GGGB BBBB ARRR RRGG */
    MESA_FORMAT_AL88,           /*                     AAAA AAAA LLLL LLLL */
    MESA_FORMAT_AL88_REV,       /*                     LLLL LLLL AAAA AAAA */
+   MESA_FORMAT_AL1616,          /* AAAA AAAA AAAA AAAA LLLL LLLL LLLL LLLL */
+   MESA_FORMAT_AL1616_REV,      /* LLLL LLLL LLLL LLLL AAAA AAAA AAAA AAAA */
    MESA_FORMAT_RGB332,         /*                               RRRG GGBB */
    MESA_FORMAT_A8,             /*                               AAAA AAAA */
    MESA_FORMAT_L8,             /*                               LLLL LLLL */