summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChad Versace <[email protected]>2016-12-22 14:44:47 -0800
committerChad Versace <[email protected]>2016-12-27 09:13:43 -0800
commit9aa6ab074876dfa853863a74edad0b5b017fb8c7 (patch)
treeed66c1744b3321cd7ee04f09e322b88fa77c44aa
parent4d6d4f939e0af4252e0b6ba3fcb2c9f4101e9e39 (diff)
dri: Add __DRI_IMAGE_FORMAT_ARGB1555
This allows eglCreateImage() to accept textures of said format. Patch 1/2 to fix dEQP-EGL.functional.image.modify.tex_rgb5_a1_tex_subimage_rgba8 on Intel. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99185 Cc: Haixia Shi <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Cc: "13.0" <[email protected]>
-rw-r--r--include/GL/internal/dri_interface.h2
-rw-r--r--src/mesa/drivers/dri/common/dri_util.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h
index c6ea464f185..89223569908 100644
--- a/include/GL/internal/dri_interface.h
+++ b/include/GL/internal/dri_interface.h
@@ -1163,6 +1163,7 @@ struct __DRIdri2ExtensionRec {
#define __DRI_IMAGE_FORMAT_XRGB2101010 0x1009
#define __DRI_IMAGE_FORMAT_ARGB2101010 0x100a
#define __DRI_IMAGE_FORMAT_SARGB8 0x100b
+#define __DRI_IMAGE_FORMAT_ARGB1555 0x100c
#define __DRI_IMAGE_USE_SHARE 0x0001
#define __DRI_IMAGE_USE_SCANOUT 0x0002
@@ -1190,6 +1191,7 @@ struct __DRIdri2ExtensionRec {
#define __DRI_IMAGE_FOURCC_R8 0x20203852
#define __DRI_IMAGE_FOURCC_GR88 0x38385247
+#define __DRI_IMAGE_FOURCC_ARGB1555 0x35315241
#define __DRI_IMAGE_FOURCC_RGB565 0x36314752
#define __DRI_IMAGE_FOURCC_ARGB8888 0x34325241
#define __DRI_IMAGE_FOURCC_XRGB8888 0x34325258
diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c
index 3b81799c646..209a42ab243 100644
--- a/src/mesa/drivers/dri/common/dri_util.c
+++ b/src/mesa/drivers/dri/common/dri_util.c
@@ -830,6 +830,8 @@ driGLFormatToImageFormat(mesa_format format)
switch (format) {
case MESA_FORMAT_B5G6R5_UNORM:
return __DRI_IMAGE_FORMAT_RGB565;
+ case MESA_FORMAT_B5G5R5A1_UNORM:
+ return __DRI_IMAGE_FORMAT_ARGB1555;
case MESA_FORMAT_B8G8R8X8_UNORM:
return __DRI_IMAGE_FORMAT_XRGB8888;
case MESA_FORMAT_B10G10R10A2_UNORM:
@@ -863,6 +865,8 @@ driImageFormatToGLFormat(uint32_t image_format)
switch (image_format) {
case __DRI_IMAGE_FORMAT_RGB565:
return MESA_FORMAT_B5G6R5_UNORM;
+ case __DRI_IMAGE_FORMAT_ARGB1555:
+ return MESA_FORMAT_B5G5R5A1_UNORM;
case __DRI_IMAGE_FORMAT_XRGB8888:
return MESA_FORMAT_B8G8R8X8_UNORM;
case __DRI_IMAGE_FORMAT_ARGB2101010: