[Mesa-dev] [PATCH 1/2] dri: Add __DRI_IMAGE_FORMAT_SABGR8

Marek Olšák maraeo at gmail.com
Thu Apr 5 00:14:51 UTC 2018


Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Tue, Apr 3, 2018 at 5:48 AM, Tapani Pälli <tapani.palli at intel.com> wrote:

> ping ..
>
> (currently Android-IA sets EGL_KHR_gl_colorspace to false because these
> are missing)
>
>
> On 03/19/2018 01:41 PM, Tapani Pälli wrote:
>
>> Add format definition and required plumbing to create images.
>> Note that there is no match to drm_fourcc definition, just like
>> with existing _DRI_IMAGE_FOURCC_SARGB8888.
>>
>> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
>> ---
>>   include/GL/internal/dri_interface.h    | 2 ++
>>   src/loader/loader_dri3_helper.c        | 2 ++
>>   src/mesa/drivers/dri/common/dri_util.c | 4 ++++
>>   src/mesa/drivers/dri/common/utils.c    | 1 +
>>   4 files changed, 9 insertions(+)
>>
>> diff --git a/include/GL/internal/dri_interface.h
>> b/include/GL/internal/dri_interface.h
>> index 4f4795c7ae..319a1fe4f9 100644
>> --- a/include/GL/internal/dri_interface.h
>> +++ b/include/GL/internal/dri_interface.h
>> @@ -1253,6 +1253,7 @@ struct __DRIdri2ExtensionRec {
>>   #define __DRI_IMAGE_FORMAT_YUYV         0x100f
>>   #define __DRI_IMAGE_FORMAT_XBGR2101010  0x1010
>>   #define __DRI_IMAGE_FORMAT_ABGR2101010  0x1011
>> +#define __DRI_IMAGE_FORMAT_SABGR8       0x1012
>>     #define __DRI_IMAGE_USE_SHARE               0x0001
>>   #define __DRI_IMAGE_USE_SCANOUT               0x0002
>> @@ -1289,6 +1290,7 @@ struct __DRIdri2ExtensionRec {
>>   #define __DRI_IMAGE_FOURCC_ABGR8888   0x34324241
>>   #define __DRI_IMAGE_FOURCC_XBGR8888   0x34324258
>>   #define __DRI_IMAGE_FOURCC_SARGB8888  0x83324258
>> +#define __DRI_IMAGE_FOURCC_SABGR8888   0x84324258
>>   #define __DRI_IMAGE_FOURCC_ARGB2101010        0x30335241
>>   #define __DRI_IMAGE_FOURCC_XRGB2101010        0x30335258
>>   #define __DRI_IMAGE_FOURCC_ABGR2101010        0x30334241
>> diff --git a/src/loader/loader_dri3_helper.c
>> b/src/loader/loader_dri3_helper.c
>> index c1d94c3c21..f8cdd9c642 100644
>> --- a/src/loader/loader_dri3_helper.c
>> +++ b/src/loader/loader_dri3_helper.c
>> @@ -1022,6 +1022,7 @@ dri3_cpp_for_format(uint32_t format) {
>>      case  __DRI_IMAGE_FORMAT_XBGR2101010:
>>      case  __DRI_IMAGE_FORMAT_ABGR2101010:
>>      case  __DRI_IMAGE_FORMAT_SARGB8:
>> +   case  __DRI_IMAGE_FORMAT_SABGR8:
>>         return 4;
>>      case  __DRI_IMAGE_FORMAT_NONE:
>>      default:
>> @@ -1041,6 +1042,7 @@ image_format_to_fourcc(int format)
>>      /* Convert from __DRI_IMAGE_FORMAT to __DRI_IMAGE_FOURCC (sigh) */
>>      switch (format) {
>>      case __DRI_IMAGE_FORMAT_SARGB8: return __DRI_IMAGE_FOURCC_SARGB8888;
>> +   case __DRI_IMAGE_FORMAT_SABGR8: return __DRI_IMAGE_FOURCC_SABGR8888;
>>      case __DRI_IMAGE_FORMAT_RGB565: return __DRI_IMAGE_FOURCC_RGB565;
>>      case __DRI_IMAGE_FORMAT_XRGB8888: return __DRI_IMAGE_FOURCC_XRGB8888;
>>      case __DRI_IMAGE_FORMAT_ARGB8888: return __DRI_IMAGE_FOURCC_ARGB8888;
>> diff --git a/src/mesa/drivers/dri/common/dri_util.c
>> b/src/mesa/drivers/dri/common/dri_util.c
>> index a34f38d611..214be4a3fc 100644
>> --- a/src/mesa/drivers/dri/common/dri_util.c
>> +++ b/src/mesa/drivers/dri/common/dri_util.c
>> @@ -892,6 +892,8 @@ driGLFormatToImageFormat(mesa_format format)
>>         return __DRI_IMAGE_FORMAT_GR88;
>>      case MESA_FORMAT_NONE:
>>         return __DRI_IMAGE_FORMAT_NONE;
>> +   case MESA_FORMAT_R8G8B8A8_SRGB:
>> +      return __DRI_IMAGE_FORMAT_SABGR8;
>>      case MESA_FORMAT_B8G8R8A8_SRGB:
>>         return __DRI_IMAGE_FORMAT_SARGB8;
>>      default:
>> @@ -929,6 +931,8 @@ driImageFormatToGLFormat(uint32_t image_format)
>>         return MESA_FORMAT_R16G16_UNORM;
>>      case __DRI_IMAGE_FORMAT_SARGB8:
>>         return MESA_FORMAT_B8G8R8A8_SRGB;
>> +   case __DRI_IMAGE_FORMAT_SABGR8:
>> +      return MESA_FORMAT_R8G8B8A8_SRGB;
>>      case __DRI_IMAGE_FORMAT_NONE:
>>         return MESA_FORMAT_NONE;
>>      default:
>> diff --git a/src/mesa/drivers/dri/common/utils.c
>> b/src/mesa/drivers/dri/common/utils.c
>> index 1cffd3ad08..fc5e2d19f3 100644
>> --- a/src/mesa/drivers/dri/common/utils.c
>> +++ b/src/mesa/drivers/dri/common/utils.c
>> @@ -208,6 +208,7 @@ driCreateConfigs(mesa_format format,
>>         masks = masks_table[2];
>>         break;
>>      case MESA_FORMAT_R8G8B8A8_UNORM:
>> +   case MESA_FORMAT_R8G8B8A8_SRGB:
>>         masks = masks_table[5];
>>         break;
>>      case MESA_FORMAT_R8G8B8X8_UNORM:
>>
>> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180404/0c42ccee/attachment-0001.html>


More information about the mesa-dev mailing list