Skip to content

Some WebGL extension support disappeared #21183

@kainino0x

Description

@kainino0x

Could this change [#20802] have broken the enableExtensionsByDefault behaviour of the emscripten_webgl_create_context() call? Since emsdk 3.1.52 I'm no longer seeing the WEBGL_compressed_texture_etc and WEBGL_compressed_texture_astc extension advertised via glGetStringi(GL_EXTENSIONS,...).

...maybe they are just missing in this list?

// Restrict the list of advertised extensions to those that we actually
// support.
var supportedExtensions = [
#if MIN_WEBGL_VERSION == 1
// WebGL 1 extensions
'ANGLE_instanced_arrays',
'EXT_blend_minmax',
'EXT_disjoint_timer_query',
'EXT_frag_depth',
'EXT_shader_texture_lod',
'EXT_sRGB',
'OES_element_index_uint',
'OES_fbo_render_mipmap',
'OES_standard_derivatives',
'OES_texture_float',
'OES_texture_half_float',
'OES_texture_half_float_linear',
'OES_vertex_array_object',
'WEBGL_color_buffer_float',
'WEBGL_depth_texture',
'WEBGL_draw_buffers',
#endif
#if MAX_WEBGL_VERSION >= 2
// WebGL 2 extensions
'EXT_color_buffer_float',
'EXT_disjoint_timer_query_webgl2',
'EXT_texture_norm16',
'WEBGL_clip_cull_distance',
#endif
// WebGL 1 and WebGL 2 extensions
'EXT_color_buffer_half_float',
'EXT_float_blend',
'EXT_texture_compression_bptc',
'EXT_texture_compression_rgtc',
'EXT_texture_filter_anisotropic',
'KHR_parallel_shader_compile',
'OES_texture_float_linear',
'WEBGL_compressed_texture_s3tc',
'WEBGL_compressed_texture_s3tc_srgb',
'WEBGL_debug_renderer_info',
'WEBGL_debug_shaders',
'WEBGL_lose_context',
'WEBGL_multi_draw',
];

PS: explicitly calling:

    emscripten_webgl_enable_extension(ctx, "WEBGL_compressed_texture_etc");
    emscripten_webgl_enable_extension(ctx, "WEBGL_compressed_texture_astc");

...also doesn't seem to make those extensions visible via glGetStringi() (this used to be a workaround in the past to get access to the PVRTC extension, since this wasn't automatically enabled by Emscripten).

Originally posted by @floooh in #20955 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions