Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21b33cbd authored by Courtney Goeltzenleuchter's avatar Courtney Goeltzenleuchter
Browse files

Add new EGL colorspace extensions

Test: make
Bug: 36258948
Change-Id: I8d47b1e4c5a6e5281aca25ddcd54157c5ffc1ead
parent e72a1c31
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -667,6 +667,16 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROID) (EGLDi
#define EGL_GL_COLORSPACE_BT2020_PQ_EXT   0x3340
#endif /* EGL_EXT_gl_colorspace_bt2020_pq */

#ifndef EGL_EXT_gl_colorspace_display_p3
#define EGL_EXT_gl_colorspace_display_p3 1
#define EGL_GL_COLORSPACE_DISPLAY_P3_EXT 0x3363
#endif /* EGL_EXT_gl_colorspace_display_p3 */

#ifndef EGL_EXT_gl_colorspace_display_p3_linear
#define EGL_EXT_gl_colorspace_display_p3_linear 1
#define EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT 0x3362
#endif /* EGL_EXT_gl_colorspace_display_p3_linear */

#ifndef EGL_EXT_gl_colorspace_scrgb_linear
#define EGL_EXT_gl_colorspace_scrgb_linear 1
#define EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT 0x3350
+11 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ struct extention_map_t {
extern char const * const gBuiltinExtensionString;
extern char const * const gExtensionString;

// clang-format off
char const * const gBuiltinExtensionString =
        "EGL_KHR_get_all_proc_addresses "
        "EGL_ANDROID_presentation_time "
@@ -86,6 +87,9 @@ char const * const gBuiltinExtensionString =
        "EGL_ANDROID_get_native_client_buffer "
        "EGL_ANDROID_front_buffer_auto_refresh "
        "EGL_ANDROID_get_frame_timestamps "
        "EGL_EXT_gl_colorspace_scrgb_linear "
        "EGL_EXT_gl_colorspace_display_p3_linear "
        "EGL_EXT_gl_colorspace_display_p3 "
        ;

char const * const gExtensionString  =
@@ -123,6 +127,7 @@ char const * const gExtensionString =
        "EGL_IMG_context_priority "
        "EGL_KHR_no_config_context "
        ;
// clang-format on

// extensions not exposed to applications but used by the ANDROID system
//      "EGL_ANDROID_blob_cache "               // strongly recommended
@@ -458,6 +463,12 @@ static android_dataspace modifyBufferDataspace( android_dataspace dataSpace,
        return HAL_DATASPACE_SRGB_LINEAR;
    } else if (colorspace == EGL_GL_COLORSPACE_SRGB_KHR) {
        return HAL_DATASPACE_SRGB;
    } else if (colorspace == EGL_GL_COLORSPACE_DISPLAY_P3_EXT) {
        return HAL_DATASPACE_DISPLAY_P3;
    } else if (colorspace == EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT) {
        return HAL_DATASPACE_DISPLAY_P3_LINEAR;
    } else if (colorspace == EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT) {
        return HAL_DATASPACE_V0_SCRGB_LINEAR;
    }
    return dataSpace;
}
+14 −1
Original line number Diff line number Diff line
@@ -739,7 +739,10 @@
        <enum value="50000"  name="EGL_METADATA_SCALING_EXT"/>
            <unused start="0x334B" end="0x334F"/>
        <enum value="0x3350" name="EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT"/>
            <unused start="0x3351" end="0x339F"/>
            <unused start="0x3351" end="0x3361"/>
        <enum value="0x3362" name="EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT"/>
        <enum value="0x3363" name="EGL_GL_COLORSPACE_DISPLAY_P3_EXT"/>
            <unused start="0x3364" end="0x339F"/>
    </enums>

    <enums namespace="EGL" start="0x33A0" end="0x33AF" vendor="ANGLE" comment="Reserved for Shannon Woods (Bug 13175)">
@@ -1891,6 +1894,16 @@
                <enum name="EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT"/>
            </require>
        </extension>
        <extension name="EGL_EXT_gl_colorspace_display_p3_linear" supported="egl">
            <require>
                <enum name="EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT"/>
            </require>
        </extension>
        <extension name="EGL_EXT_gl_colorspace_display_p3" supported="egl">
            <require>
                <enum name="EGL_GL_COLORSPACE_DISPLAY_P3_EXT"/>
            </require>
        </extension>
        <extension name="EGL_EXT_image_dma_buf_import" supported="egl">
            <require>
                <enum name="EGL_LINUX_DMA_BUF_EXT"/>