From 4125e5b645f4d6433269ece02008658505734389 Mon Sep 17 00:00:00 2001 From: Vladislav Belov Date: Wed, 29 Jul 2026 01:29:11 +0200 Subject: [PATCH] Adds sRGB support to GLES --- source/third_party/glad/extensions/gl.txt | 1 + source/third_party/glad/extensions/gles2.txt | 2 ++ source/third_party/glad/include/glad/gl.h | 2 +- source/third_party/glad/include/glad/gles2.h | 30 +++++++++++++------ source/third_party/glad/include/glad/vulkan.h | 12 ++++---- source/third_party/glad/src/gles2.cpp | 4 +++ 6 files changed, 35 insertions(+), 16 deletions(-) diff --git a/source/third_party/glad/extensions/gl.txt b/source/third_party/glad/extensions/gl.txt index f318c6ca9f..71af129acc 100644 --- a/source/third_party/glad/extensions/gl.txt +++ b/source/third_party/glad/extensions/gl.txt @@ -25,4 +25,5 @@ GL_EXT_packed_depth_stencil GL_EXT_texture_array GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic +GL_EXT_texture_sRGB GL_KHR_debug diff --git a/source/third_party/glad/extensions/gles2.txt b/source/third_party/glad/extensions/gles2.txt index b4ca55a745..af66d64dab 100644 --- a/source/third_party/glad/extensions/gles2.txt +++ b/source/third_party/glad/extensions/gles2.txt @@ -1,5 +1,7 @@ GL_EXT_discard_framebuffer +GL_EXT_sRGB GL_EXT_texture_compression_s3tc +GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_KHR_debug diff --git a/source/third_party/glad/include/glad/gl.h b/source/third_party/glad/include/glad/gl.h index e973f89c51..cf2951fd73 100644 --- a/source/third_party/glad/include/glad/gl.h +++ b/source/third_party/glad/include/glad/gl.h @@ -1,5 +1,5 @@ /** - * Loader generated by glad 2.0.8 on 07/05/26 20:35:52 + * Loader generated by glad 2.0.8 on 07/29/26 01:24:11 * * SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0 * diff --git a/source/third_party/glad/include/glad/gles2.h b/source/third_party/glad/include/glad/gles2.h index e555add84e..1614c665dd 100644 --- a/source/third_party/glad/include/glad/gles2.h +++ b/source/third_party/glad/include/glad/gles2.h @@ -1,28 +1,28 @@ /** - * Loader generated by glad 2.0.8 on Sat May 16 09:06:55 2026 + * Loader generated by glad 2.0.8 on 07/29/26 01:24:12 * * SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0 * * Generator: C/C++ * Specification: gl - * Extensions: 9 + * Extensions: 11 * * APIs: * - gles2=2.0 * * Options: - * - ALIAS = False - * - DEBUG = False - * - HEADER_ONLY = False - * - LOADER = False - * - MX = False * - ON_DEMAND = False + * - LOADER = False + * - ALIAS = False + * - HEADER_ONLY = False + * - DEBUG = False + * - MX = False * * Commandline: - * --api='gles2=2.0' --extensions='GL_EXT_discard_framebuffer,GL_EXT_texture_compression_s3tc,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_format_BGRA8888,GL_KHR_debug,GL_OES_depth32,GL_OES_mapbuffer,GL_OES_rgb8_rgba8,GL_OES_texture_border_clamp' c + * --api='gles2=2.0' --extensions='GL_EXT_discard_framebuffer,GL_EXT_sRGB,GL_EXT_texture_compression_s3tc,GL_EXT_texture_compression_s3tc_srgb,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_format_BGRA8888,GL_KHR_debug,GL_OES_depth32,GL_OES_mapbuffer,GL_OES_rgb8_rgba8,GL_OES_texture_border_clamp' c * * Online: - * http://glad.sh/#api=gles2%3D2.0&extensions=GL_EXT_discard_framebuffer%2CGL_EXT_texture_compression_s3tc%2CGL_EXT_texture_filter_anisotropic%2CGL_EXT_texture_format_BGRA8888%2CGL_KHR_debug%2CGL_OES_depth32%2CGL_OES_mapbuffer%2CGL_OES_rgb8_rgba8%2CGL_OES_texture_border_clamp&generator=c&options= + * http://glad.sh/#api=gles2%3D2.0&extensions=GL_EXT_discard_framebuffer%2CGL_EXT_sRGB%2CGL_EXT_texture_compression_s3tc%2CGL_EXT_texture_compression_s3tc_srgb%2CGL_EXT_texture_filter_anisotropic%2CGL_EXT_texture_format_BGRA8888%2CGL_KHR_debug%2CGL_OES_depth32%2CGL_OES_mapbuffer%2CGL_OES_rgb8_rgba8%2CGL_OES_texture_border_clamp&generator=c&options= * */ @@ -224,6 +224,10 @@ typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apipro #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F +#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 #define GL_CONSTANT_ALPHA 0x8003 #define GL_CONSTANT_COLOR 0x8001 @@ -295,6 +299,7 @@ typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apipro #define GL_FLOAT_VEC4 0x8B52 #define GL_FRAGMENT_SHADER 0x8B30 #define GL_FRAMEBUFFER 0x8D40 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 @@ -435,6 +440,9 @@ typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apipro #define GL_SRC_ALPHA 0x0302 #define GL_SRC_ALPHA_SATURATE 0x0308 #define GL_SRC_COLOR 0x0300 +#define GL_SRGB8_ALPHA8_EXT 0x8C43 +#define GL_SRGB_ALPHA_EXT 0x8C42 +#define GL_SRGB_EXT 0x8C40 #define GL_STACK_OVERFLOW_KHR 0x0503 #define GL_STACK_UNDERFLOW_KHR 0x0504 #define GL_STATIC_DRAW 0x88E4 @@ -608,8 +616,12 @@ typedef void (GLAD_API_PTR *GLVULKANPROCNV)(void); GLAD_API_CALL int GLAD_GL_ES_VERSION_2_0; #define GL_EXT_discard_framebuffer 1 GLAD_API_CALL int GLAD_GL_EXT_discard_framebuffer; +#define GL_EXT_sRGB 1 +GLAD_API_CALL int GLAD_GL_EXT_sRGB; #define GL_EXT_texture_compression_s3tc 1 GLAD_API_CALL int GLAD_GL_EXT_texture_compression_s3tc; +#define GL_EXT_texture_compression_s3tc_srgb 1 +GLAD_API_CALL int GLAD_GL_EXT_texture_compression_s3tc_srgb; #define GL_EXT_texture_filter_anisotropic 1 GLAD_API_CALL int GLAD_GL_EXT_texture_filter_anisotropic; #define GL_EXT_texture_format_BGRA8888 1 diff --git a/source/third_party/glad/include/glad/vulkan.h b/source/third_party/glad/include/glad/vulkan.h index 19906c6177..cfecf8eb97 100644 --- a/source/third_party/glad/include/glad/vulkan.h +++ b/source/third_party/glad/include/glad/vulkan.h @@ -1,5 +1,5 @@ /** - * Loader generated by glad 2.0.8 on Sat May 16 09:06:59 2026 + * Loader generated by glad 2.0.8 on 07/29/26 01:24:30 * * SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0 * @@ -11,12 +11,12 @@ * - vulkan=1.1 * * Options: - * - ALIAS = False - * - DEBUG = False - * - HEADER_ONLY = False - * - LOADER = False - * - MX = False * - ON_DEMAND = False + * - LOADER = False + * - ALIAS = False + * - HEADER_ONLY = False + * - DEBUG = False + * - MX = False * * Commandline: * --api='vulkan=1.1' --extensions='VK_EXT_debug_utils,VK_EXT_descriptor_indexing,VK_EXT_mesh_shader,VK_EXT_texture_compression_astc_hdr,VK_EXT_validation_features,VK_KHR_acceleration_structure,VK_KHR_buffer_device_address,VK_KHR_deferred_host_operations,VK_KHR_portability_subset,VK_KHR_ray_query,VK_KHR_ray_tracing_maintenance1,VK_KHR_ray_tracing_pipeline,VK_KHR_shader_float_controls,VK_KHR_spirv_1_4,VK_KHR_surface,VK_KHR_swapchain,VK_KHR_timeline_semaphore' c diff --git a/source/third_party/glad/src/gles2.cpp b/source/third_party/glad/src/gles2.cpp index 39f3e1d33c..a931bb8bc2 100644 --- a/source/third_party/glad/src/gles2.cpp +++ b/source/third_party/glad/src/gles2.cpp @@ -25,7 +25,9 @@ extern "C" { int GLAD_GL_ES_VERSION_2_0 = 0; int GLAD_GL_EXT_discard_framebuffer = 0; +int GLAD_GL_EXT_sRGB = 0; int GLAD_GL_EXT_texture_compression_s3tc = 0; +int GLAD_GL_EXT_texture_compression_s3tc_srgb = 0; int GLAD_GL_EXT_texture_filter_anisotropic = 0; int GLAD_GL_EXT_texture_format_BGRA8888 = 0; int GLAD_GL_KHR_debug = 0; @@ -479,7 +481,9 @@ static int glad_gl_find_extensions_gles2(void) { if (!glad_gl_get_extensions(&exts, &exts_i)) return 0; GLAD_GL_EXT_discard_framebuffer = glad_gl_has_extension(exts, exts_i, "GL_EXT_discard_framebuffer"); + GLAD_GL_EXT_sRGB = glad_gl_has_extension(exts, exts_i, "GL_EXT_sRGB"); GLAD_GL_EXT_texture_compression_s3tc = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_compression_s3tc"); + GLAD_GL_EXT_texture_compression_s3tc_srgb = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_compression_s3tc_srgb"); GLAD_GL_EXT_texture_filter_anisotropic = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_filter_anisotropic"); GLAD_GL_EXT_texture_format_BGRA8888 = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_format_BGRA8888"); GLAD_GL_KHR_debug = glad_gl_has_extension(exts, exts_i, "GL_KHR_debug");