From dd2f05a3bf7e35e1512a0510d27aba8a9b2cc26e Mon Sep 17 00:00:00 2001 From: Jorgen Lind Date: Fri, 24 Jan 2014 09:41:36 +0100 Subject: Add the A8 MESA for mat patch for the Mesa v.10 branch Change-Id: I771e0478e274ef7cfabb417c9712d4dbb4d62f5b Reviewed-by: Laszlo Agocs --- ...01-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA-10.patch | 87 ++++++++++++++++ ...1-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA-9.2.patch | 112 +++++++++++++++++++++ .../0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA.patch | 112 --------------------- 3 files changed, 199 insertions(+), 112 deletions(-) create mode 100644 src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA-10.patch create mode 100644 src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA-9.2.patch delete mode 100644 src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA.patch diff --git a/src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA-10.patch b/src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA-10.patch new file mode 100644 index 000000000..035822961 --- /dev/null +++ b/src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA-10.patch @@ -0,0 +1,87 @@ +From be72a2ae7d14e57c423ce0885b153abf56eefca4 Mon Sep 17 00:00:00 2001 +From: Jorgen Lind +Date: Thu, 2 Jan 2014 12:28:54 +0100 +Subject: [PATCH] Add a EGL_DRM_BUFFER_FORMAT_A8_MESA + +This is to allow us to share A8 DRM buffers between processes +--- + include/EGL/eglext.h | 1 + + include/GL/internal/dri_interface.h | 1 + + src/egl/drivers/dri2/egl_dri2.c | 7 +++++++ + src/mesa/drivers/dri/common/dri_util.c | 4 ++++ + 4 files changed, 13 insertions(+) + +diff --git a/include/EGL/eglext.h b/include/EGL/eglext.h +index 1d68178..6c4fb7e 100644 +--- a/include/EGL/eglext.h ++++ b/include/EGL/eglext.h +@@ -271,6 +271,7 @@ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dp + #define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 /* CreateDRMImageMESA attribute */ + #define EGL_DRM_BUFFER_USE_MESA 0x31D1 /* CreateDRMImageMESA attribute */ + #define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 /* EGL_IMAGE_FORMAT_MESA attribute value */ ++#define EGL_DRM_BUFFER_FORMAT_A8_MESA 0x31D5 /* EGL_IMAGE_FORMAT_MESA attribute value */ + #define EGL_DRM_BUFFER_MESA 0x31D3 /* eglCreateImageKHR target */ + #define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 + #define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 /* EGL_DRM_BUFFER_USE_MESA bits */ +diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h +index b012570..c0ba605 100644 +--- a/include/GL/internal/dri_interface.h ++++ b/include/GL/internal/dri_interface.h +@@ -1015,6 +1015,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_A8 0x100c + + #define __DRI_IMAGE_USE_SHARE 0x0001 + #define __DRI_IMAGE_USE_SCANOUT 0x0002 +diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c +index a64f4e8..a8253e1 100644 +--- a/src/egl/drivers/dri2/egl_dri2.c ++++ b/src/egl/drivers/dri2/egl_dri2.c +@@ -1185,6 +1185,10 @@ dri2_create_image_mesa_drm_buffer(_EGLDisplay *disp, _EGLContext *ctx, + format = __DRI_IMAGE_FORMAT_ARGB8888; + pitch = attrs.DRMBufferStrideMESA; + break; ++ case EGL_DRM_BUFFER_FORMAT_A8_MESA: ++ format = __DRI_IMAGE_FORMAT_A8; ++ pitch = attrs.DRMBufferStrideMESA; ++ break; + default: + _eglError(EGL_BAD_PARAMETER, + "dri2_create_image_khr: unsupported pixmap depth"); +@@ -1719,6 +1723,9 @@ dri2_create_drm_image_mesa(_EGLDriver *drv, _EGLDisplay *disp, + case EGL_DRM_BUFFER_FORMAT_ARGB32_MESA: + format = __DRI_IMAGE_FORMAT_ARGB8888; + break; ++ case EGL_DRM_BUFFER_FORMAT_A8_MESA: ++ format = __DRI_IMAGE_FORMAT_A8; ++ break; + default: + _eglLog(_EGL_WARNING, "bad image format value 0x%04x", + attrs.DRMBufferFormatMESA); +diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c +index 9134a94..5fb55a2 100644 +--- a/src/mesa/drivers/dri/common/dri_util.c ++++ b/src/mesa/drivers/dri/common/dri_util.c +@@ -831,6 +831,8 @@ driGLFormatToImageFormat(gl_format format) + return __DRI_IMAGE_FORMAT_NONE; + case MESA_FORMAT_SARGB8: + return __DRI_IMAGE_FORMAT_SARGB8; ++ case MESA_FORMAT_A8: ++ return __DRI_IMAGE_FORMAT_A8; + default: + return 0; + } +@@ -860,6 +862,8 @@ driImageFormatToGLFormat(uint32_t image_format) + return MESA_FORMAT_GR88; + case __DRI_IMAGE_FORMAT_SARGB8: + return MESA_FORMAT_SARGB8; ++ case __DRI_IMAGE_FORMAT_A8: ++ return MESA_FORMAT_A8; + case __DRI_IMAGE_FORMAT_NONE: + return MESA_FORMAT_NONE; + default: +-- +1.8.5.2 + diff --git a/src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA-9.2.patch b/src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA-9.2.patch new file mode 100644 index 000000000..46fac7144 --- /dev/null +++ b/src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA-9.2.patch @@ -0,0 +1,112 @@ +From 52dbed7516b79459d1c8f2ed3ea4a5e71734c969 Mon Sep 17 00:00:00 2001 +From: Jorgen Lind +Date: Thu, 2 Jan 2014 12:28:54 +0100 +Subject: [PATCH] Add a EGL_DRM_BUFFER_FORMAT_A8_MESA + +This is to allow us to share A8 DRM buffers between processes +--- + include/EGL/eglext.h | 1 + + include/GL/internal/dri_interface.h | 1 + + src/egl/drivers/dri2/egl_dri2.c | 7 +++++++ + src/mesa/drivers/dri/i915/intel_screen.c | 5 +++++ + src/mesa/drivers/dri/i965/intel_screen.c | 5 +++++ + 5 files changed, 19 insertions(+) + +diff --git a/include/EGL/eglext.h b/include/EGL/eglext.h +index 1d68178..6c4fb7e 100644 +--- a/include/EGL/eglext.h ++++ b/include/EGL/eglext.h +@@ -271,6 +271,7 @@ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dp + #define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 /* CreateDRMImageMESA attribute */ + #define EGL_DRM_BUFFER_USE_MESA 0x31D1 /* CreateDRMImageMESA attribute */ + #define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 /* EGL_IMAGE_FORMAT_MESA attribute value */ ++#define EGL_DRM_BUFFER_FORMAT_A8_MESA 0x31D5 /* EGL_IMAGE_FORMAT_MESA attribute value */ + #define EGL_DRM_BUFFER_MESA 0x31D3 /* eglCreateImageKHR target */ + #define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 + #define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 /* EGL_DRM_BUFFER_USE_MESA bits */ +diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h +index 5c99d55..565f1fb 100644 +--- a/include/GL/internal/dri_interface.h ++++ b/include/GL/internal/dri_interface.h +@@ -964,6 +964,7 @@ struct __DRIdri2ExtensionRec { + #define __DRI_IMAGE_FORMAT_R8 0x1006 /* Since version 5 */ + #define __DRI_IMAGE_FORMAT_GR88 0x1007 + #define __DRI_IMAGE_FORMAT_NONE 0x1008 ++#define __DRI_IMAGE_FORMAT_A8 0x1009 /* Patch */ + + #define __DRI_IMAGE_USE_SHARE 0x0001 + #define __DRI_IMAGE_USE_SCANOUT 0x0002 +diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c +index a8584b7..1cb6967 100644 +--- a/src/egl/drivers/dri2/egl_dri2.c ++++ b/src/egl/drivers/dri2/egl_dri2.c +@@ -1152,6 +1152,10 @@ dri2_create_image_mesa_drm_buffer(_EGLDisplay *disp, _EGLContext *ctx, + format = __DRI_IMAGE_FORMAT_ARGB8888; + pitch = attrs.DRMBufferStrideMESA; + break; ++ case EGL_DRM_BUFFER_FORMAT_A8_MESA: ++ format = __DRI_IMAGE_FORMAT_A8; ++ pitch = attrs.DRMBufferStrideMESA; ++ break; + default: + _eglError(EGL_BAD_PARAMETER, + "dri2_create_image_khr: unsupported pixmap depth"); +@@ -1427,6 +1431,9 @@ dri2_create_drm_image_mesa(_EGLDriver *drv, _EGLDisplay *disp, + case EGL_DRM_BUFFER_FORMAT_ARGB32_MESA: + format = __DRI_IMAGE_FORMAT_ARGB8888; + break; ++ case EGL_DRM_BUFFER_FORMAT_A8_MESA: ++ format = __DRI_IMAGE_FORMAT_A8; ++ break; + default: + _eglLog(_EGL_WARNING, "bad image format value 0x%04x", + attrs.DRMBufferFormatMESA); +diff --git a/src/mesa/drivers/dri/i915/intel_screen.c b/src/mesa/drivers/dri/i915/intel_screen.c +index 30a867e..3e1909b 100644 +--- a/src/mesa/drivers/dri/i915/intel_screen.c ++++ b/src/mesa/drivers/dri/i915/intel_screen.c +@@ -261,6 +261,9 @@ intel_allocate_image(int dri_format, void *loaderPrivate) + case __DRI_IMAGE_FORMAT_R8: + image->format = MESA_FORMAT_R8; + break; ++ case __DRI_IMAGE_FORMAT_A8: ++ image->format = MESA_FORMAT_A8; ++ break; + case __DRI_IMAGE_FORMAT_GR88: + image->format = MESA_FORMAT_GR88; + break; +@@ -330,6 +333,8 @@ intel_dri_format(GLuint format) + return __DRI_IMAGE_FORMAT_ABGR8888; + case MESA_FORMAT_R8: + return __DRI_IMAGE_FORMAT_R8; ++ case MESA_FORMAT_A8: ++ return __DRI_IMAGE_FORMAT_A8; + case MESA_FORMAT_RG88: + return __DRI_IMAGE_FORMAT_GR88; + } +diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c +index f913c42..68ee33b 100644 +--- a/src/mesa/drivers/dri/i965/intel_screen.c ++++ b/src/mesa/drivers/dri/i965/intel_screen.c +@@ -262,6 +262,9 @@ intel_allocate_image(int dri_format, void *loaderPrivate) + case __DRI_IMAGE_FORMAT_R8: + image->format = MESA_FORMAT_R8; + break; ++ case __DRI_IMAGE_FORMAT_A8: ++ image->format = MESA_FORMAT_A8; ++ break; + case __DRI_IMAGE_FORMAT_GR88: + image->format = MESA_FORMAT_GR88; + break; +@@ -334,6 +337,8 @@ intel_dri_format(GLuint format) + return __DRI_IMAGE_FORMAT_ABGR8888; + case MESA_FORMAT_R8: + return __DRI_IMAGE_FORMAT_R8; ++ case MESA_FORMAT_A8: ++ return __DRI_IMAGE_FORMAT_A8; + case MESA_FORMAT_RG88: + return __DRI_IMAGE_FORMAT_GR88; + } +-- +1.8.5.1 + diff --git a/src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA.patch b/src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA.patch deleted file mode 100644 index 46fac7144..000000000 --- a/src/3rdparty/patches/0001-Add-a-EGL_DRM_BUFFER_FORMAT_A8_MESA.patch +++ /dev/null @@ -1,112 +0,0 @@ -From 52dbed7516b79459d1c8f2ed3ea4a5e71734c969 Mon Sep 17 00:00:00 2001 -From: Jorgen Lind -Date: Thu, 2 Jan 2014 12:28:54 +0100 -Subject: [PATCH] Add a EGL_DRM_BUFFER_FORMAT_A8_MESA - -This is to allow us to share A8 DRM buffers between processes ---- - include/EGL/eglext.h | 1 + - include/GL/internal/dri_interface.h | 1 + - src/egl/drivers/dri2/egl_dri2.c | 7 +++++++ - src/mesa/drivers/dri/i915/intel_screen.c | 5 +++++ - src/mesa/drivers/dri/i965/intel_screen.c | 5 +++++ - 5 files changed, 19 insertions(+) - -diff --git a/include/EGL/eglext.h b/include/EGL/eglext.h -index 1d68178..6c4fb7e 100644 ---- a/include/EGL/eglext.h -+++ b/include/EGL/eglext.h -@@ -271,6 +271,7 @@ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dp - #define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 /* CreateDRMImageMESA attribute */ - #define EGL_DRM_BUFFER_USE_MESA 0x31D1 /* CreateDRMImageMESA attribute */ - #define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 /* EGL_IMAGE_FORMAT_MESA attribute value */ -+#define EGL_DRM_BUFFER_FORMAT_A8_MESA 0x31D5 /* EGL_IMAGE_FORMAT_MESA attribute value */ - #define EGL_DRM_BUFFER_MESA 0x31D3 /* eglCreateImageKHR target */ - #define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 - #define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 /* EGL_DRM_BUFFER_USE_MESA bits */ -diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h -index 5c99d55..565f1fb 100644 ---- a/include/GL/internal/dri_interface.h -+++ b/include/GL/internal/dri_interface.h -@@ -964,6 +964,7 @@ struct __DRIdri2ExtensionRec { - #define __DRI_IMAGE_FORMAT_R8 0x1006 /* Since version 5 */ - #define __DRI_IMAGE_FORMAT_GR88 0x1007 - #define __DRI_IMAGE_FORMAT_NONE 0x1008 -+#define __DRI_IMAGE_FORMAT_A8 0x1009 /* Patch */ - - #define __DRI_IMAGE_USE_SHARE 0x0001 - #define __DRI_IMAGE_USE_SCANOUT 0x0002 -diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c -index a8584b7..1cb6967 100644 ---- a/src/egl/drivers/dri2/egl_dri2.c -+++ b/src/egl/drivers/dri2/egl_dri2.c -@@ -1152,6 +1152,10 @@ dri2_create_image_mesa_drm_buffer(_EGLDisplay *disp, _EGLContext *ctx, - format = __DRI_IMAGE_FORMAT_ARGB8888; - pitch = attrs.DRMBufferStrideMESA; - break; -+ case EGL_DRM_BUFFER_FORMAT_A8_MESA: -+ format = __DRI_IMAGE_FORMAT_A8; -+ pitch = attrs.DRMBufferStrideMESA; -+ break; - default: - _eglError(EGL_BAD_PARAMETER, - "dri2_create_image_khr: unsupported pixmap depth"); -@@ -1427,6 +1431,9 @@ dri2_create_drm_image_mesa(_EGLDriver *drv, _EGLDisplay *disp, - case EGL_DRM_BUFFER_FORMAT_ARGB32_MESA: - format = __DRI_IMAGE_FORMAT_ARGB8888; - break; -+ case EGL_DRM_BUFFER_FORMAT_A8_MESA: -+ format = __DRI_IMAGE_FORMAT_A8; -+ break; - default: - _eglLog(_EGL_WARNING, "bad image format value 0x%04x", - attrs.DRMBufferFormatMESA); -diff --git a/src/mesa/drivers/dri/i915/intel_screen.c b/src/mesa/drivers/dri/i915/intel_screen.c -index 30a867e..3e1909b 100644 ---- a/src/mesa/drivers/dri/i915/intel_screen.c -+++ b/src/mesa/drivers/dri/i915/intel_screen.c -@@ -261,6 +261,9 @@ intel_allocate_image(int dri_format, void *loaderPrivate) - case __DRI_IMAGE_FORMAT_R8: - image->format = MESA_FORMAT_R8; - break; -+ case __DRI_IMAGE_FORMAT_A8: -+ image->format = MESA_FORMAT_A8; -+ break; - case __DRI_IMAGE_FORMAT_GR88: - image->format = MESA_FORMAT_GR88; - break; -@@ -330,6 +333,8 @@ intel_dri_format(GLuint format) - return __DRI_IMAGE_FORMAT_ABGR8888; - case MESA_FORMAT_R8: - return __DRI_IMAGE_FORMAT_R8; -+ case MESA_FORMAT_A8: -+ return __DRI_IMAGE_FORMAT_A8; - case MESA_FORMAT_RG88: - return __DRI_IMAGE_FORMAT_GR88; - } -diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c -index f913c42..68ee33b 100644 ---- a/src/mesa/drivers/dri/i965/intel_screen.c -+++ b/src/mesa/drivers/dri/i965/intel_screen.c -@@ -262,6 +262,9 @@ intel_allocate_image(int dri_format, void *loaderPrivate) - case __DRI_IMAGE_FORMAT_R8: - image->format = MESA_FORMAT_R8; - break; -+ case __DRI_IMAGE_FORMAT_A8: -+ image->format = MESA_FORMAT_A8; -+ break; - case __DRI_IMAGE_FORMAT_GR88: - image->format = MESA_FORMAT_GR88; - break; -@@ -334,6 +337,8 @@ intel_dri_format(GLuint format) - return __DRI_IMAGE_FORMAT_ABGR8888; - case MESA_FORMAT_R8: - return __DRI_IMAGE_FORMAT_R8; -+ case MESA_FORMAT_A8: -+ return __DRI_IMAGE_FORMAT_A8; - case MESA_FORMAT_RG88: - return __DRI_IMAGE_FORMAT_GR88; - } --- -1.8.5.1 - -- cgit v1.2.3