dri/common: Add support for creating ARGB2101010 configs
authorKristian Høgsberg <krh@bitplanet.net>
Sun, 15 Sep 2013 06:25:54 +0000 (23:25 -0700)
committerKristian Høgsberg <krh@bitplanet.net>
Wed, 16 Oct 2013 05:07:52 +0000 (22:07 -0700)
This extends the common dri driver infrastructure with the ability to create
__DRIconfigs for 10 bits/channel + 2 bit alphs formats.  This still has
to be supported and requested by a driver, so this doesn't enable anthing yet.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
src/mesa/drivers/dri/common/utils.c

index c9fc2189128806aeef7418e0871e0db14b7cd791..f3780d9b603052b95dd5ee2effe103a94eeb6641 100644 (file)
@@ -189,6 +189,10 @@ driCreateConfigs(gl_format format,
       { 0x00FF0000, 0x0000FF00, 0x000000FF, 0x00000000 },
       /* MESA_FORMAT_ARGB8888 */
       { 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000 },
+      /* MESA_FORMAT_XRGB2101010_UNORM */
+      { 0x3FF00000, 0x000FFC00, 0x000003FF, 0x00000000 },
+      /* MESA_FORMAT_ARGB2101010 */
+      { 0x3FF00000, 0x000FFC00, 0x000003FF, 0xC0000000 },
    };
 
    const uint32_t * masks;
@@ -214,6 +218,12 @@ driCreateConfigs(gl_format format,
    case MESA_FORMAT_SARGB8:
       masks = masks_table[2];
       break;
+   case MESA_FORMAT_XRGB2101010_UNORM:
+      masks = masks_table[3];
+      break;
+   case MESA_FORMAT_ARGB2101010:
+      masks = masks_table[4];
+      break;
    default:
       fprintf(stderr, "[%s:%u] Unknown framebuffer type %s (%d).\n",
               __FUNCTION__, __LINE__,