diff --git a/source/Irrlicht/COGLESCoreExtensionHandler.h b/source/Irrlicht/COGLESCoreExtensionHandler.h index 4a39ccf..9a852fe 100644 --- a/source/Irrlicht/COGLESCoreExtensionHandler.h +++ b/source/Irrlicht/COGLESCoreExtensionHandler.h @@ -24,316 +24,33 @@ namespace video enum EOGLESFeatures { // If you update this enum also update the corresponding OGLESFeatureStrings string-array - // Last updated was up to (including) extension number 290 (GL_EXT_clip_control) - IRR_GLX_ARB_context_flush_control, // 191 - IRR_GL_AMD_compressed_3DC_texture, // 39 - IRR_GL_AMD_compressed_ATC_texture, // 40 - IRR_GL_AMD_performance_monitor, // 50 - IRR_GL_AMD_program_binary_Z400, // 48 - IRR_GL_ANDROID_extension_pack_es31a, // 187 - IRR_GL_ANGLE_depth_texture, // 138 - IRR_GL_ANGLE_framebuffer_blit, // 83 - IRR_GL_ANGLE_framebuffer_multisample, // 84 - IRR_GL_ANGLE_instanced_arrays, // 109 - IRR_GL_ANGLE_pack_reverse_row_order, // 110 - IRR_GL_ANGLE_program_binary, //139 - IRR_GL_ANGLE_texture_compression_dxt1, // 111 - IRR_GL_ANGLE_texture_compression_dxt3, // 111 - IRR_GL_ANGLE_texture_compression_dxt5, // 111 - IRR_GL_ANGLE_texture_usage, // 112 - IRR_GL_ANGLE_translated_shader_source, // 113 - IRR_GL_APPLE_clip_distance, // 193 - IRR_GL_APPLE_color_buffer_packed_float, // 194 - IRR_GL_APPLE_copy_texture_levels, // 123 - IRR_GL_APPLE_framebuffer_multisample, // 78 - IRR_GL_APPLE_rgb_422, // 76 - IRR_GL_APPLE_sync, // 124 - IRR_GL_APPLE_texture_2D_limited_npot, // 59 - IRR_GL_APPLE_texture_format_BGRA8888, // 79 - IRR_GL_APPLE_texture_max_level, // 80 - IRR_GL_APPLE_texture_packed_float, // 195 - IRR_ARB_texture_env_combine, //ogl, IMG simulator - IRR_ARB_texture_env_dot3, //ogl, IMG simulator - IRR_GL_ARM_mali_program_binary, // 120 - IRR_GL_ARM_mali_shader_binary, // 81 - IRR_GL_ARM_rgba8, // 82 - IRR_GL_ARM_shader_framebuffer_fetch, // 165 - IRR_GL_ARM_shader_framebuffer_fetch_depth_stencil, // 166 - IRR_GL_DMP_program_binary, // 192 - IRR_GL_DMP_shader_binary, // 88 - IRR_GL_EXT_EGL_image_array, // 278 - IRR_GL_EXT_YUV_target, // 222 - IRR_GL_EXT_base_instance, // 203 - IRR_GL_EXT_blend_func_extended, // 247 - IRR_GL_EXT_blend_minmax, // 65 - IRR_GL_EXT_buffer_storage, // 239 - IRR_GL_EXT_clear_texture, // 269 - IRR_GL_EXT_clip_control, // 290 - IRR_GL_EXT_clip_cull_distance, // 257 - IRR_GL_EXT_color_buffer_float, // 137 - IRR_GL_EXT_color_buffer_half_float, // 97 - IRR_GL_EXT_compressed_ETC1_RGB8_sub_texture, // 188 - IRR_GL_EXT_conservative_depth, // 268 - IRR_GL_EXT_copy_image, // 175 - IRR_GL_EXT_debug_label, // 98 - IRR_GL_EXT_debug_marker, // 99 - IRR_GL_EXT_discard_framebuffer, // 64 - IRR_GL_EXT_disjoint_timer_query, // 150 - IRR_GL_EXT_draw_buffers, // 151 - IRR_GL_EXT_draw_buffers_indexed, // 176 - IRR_GL_EXT_draw_elements_base_vertex, // 204 - IRR_GL_EXT_draw_instanced, // 157 - IRR_GL_EXT_draw_transform_feedback, // 272 - IRR_GL_EXT_external_buffer, // 284 - IRR_GL_EXT_float_blend, // 225 - IRR_GL_EXT_frag_depth, // 86 - IRR_GL_EXT_geometry_point_size, // 177 - IRR_GL_EXT_geometry_shader, // 177 - IRR_GL_EXT_gpu_shader5, // 178 - IRR_GL_EXT_instanced_arrays, // 156 - IRR_GL_EXT_map_buffer_range, // 121 - IRR_GL_EXT_memory_object, // 280 - IRR_GL_EXT_memory_object_fd, // 281 - IRR_GL_EXT_memory_object_win32, // 282 - IRR_GL_EXT_multi_draw_arrays, // 69 - IRR_GL_EXT_multi_draw_indirect, // 205 - IRR_GL_EXT_multisample_compatibility, // 248 - IRR_GL_EXT_multisampled_render_to_texture, // 106 - IRR_GL_EXT_multisampled_render_to_texture2, // 275 - IRR_GL_EXT_multiview_draw_buffers, // 125 - IRR_GL_EXT_occlusion_query_boolean, // 100 - IRR_GL_EXT_polygon_offset_clamp, // 252 - IRR_GL_EXT_post_depth_coverage, // 225 - IRR_GL_EXT_primitive_bounding_box, // 186 - IRR_GL_EXT_protected_textures, // 256 - IRR_GL_EXT_pvrtc_sRGB, // 155 - IRR_GL_EXT_raster_multisample, // 226 - IRR_GL_EXT_read_format_bgra, // 66 - IRR_GL_EXT_render_snorm, // 206 - IRR_GL_EXT_robustness, // 107 - IRR_GL_EXT_sRGB, // 105 - IRR_GL_EXT_sRGB_write_control, // 153 - IRR_GL_EXT_semaphore, // 280 - IRR_GL_EXT_semaphore_fd, // 281 - IRR_GL_EXT_semaphore_win32, // 282 - IRR_GL_EXT_separate_shader_objects, // 101 - IRR_GL_EXT_shader_framebuffer_fetch, // 122 - IRR_GL_EXT_shader_group_vote, // 254 - IRR_GL_EXT_shader_implicit_conversions, // 179 - IRR_GL_EXT_shader_integer_mix, // 161 - IRR_GL_EXT_shader_io_blocks, // 180 - IRR_GL_EXT_shader_non_constant_global_initializers, // 264 - IRR_GL_EXT_shader_pixel_local_storage, // 167 - IRR_GL_EXT_shader_pixel_local_storage2, // 253 - IRR_GL_EXT_shader_texture_lod, // 77 - IRR_GL_EXT_shadow_samplers, // 102 - IRR_GL_EXT_sparse_texture, // 240 - IRR_GL_EXT_sparse_texture2, // 259 - IRR_GL_EXT_tessellation_point_size, // 181 - IRR_GL_EXT_tessellation_shader, // 181 - IRR_GL_EXT_texture_border_clamp, // 182 - IRR_GL_EXT_texture_buffer, // 183 - IRR_GL_EXT_texture_compression_astc_decode_mode, // 276 - IRR_GL_EXT_texture_compression_astc_decode_mode_rgb9e5, // 276 - IRR_GL_EXT_texture_compression_bptc, // 287 - IRR_GL_EXT_texture_compression_dxt1, // 49 - IRR_GL_EXT_texture_compression_rgtc, // 286 - IRR_GL_EXT_texture_compression_s3tc, // 154 - IRR_GL_EXT_texture_compression_s3tc_srgb, // 289 - IRR_GL_EXT_texture_cube_map_array, // 184 - IRR_GL_EXT_texture_filter_anisotropic, // 41 - IRR_GL_EXT_texture_filter_minmax, // 227 - IRR_GL_EXT_texture_format_BGRA8888, // 51 - IRR_GL_EXT_texture_lod_bias, // 60 - IRR_GL_EXT_texture_norm16, // 207 - IRR_GL_EXT_texture_rg, // 103 - IRR_GL_EXT_texture_sRGB_R8, // 221 - IRR_GL_EXT_texture_sRGB_RG8, // 223 - IRR_GL_EXT_texture_sRGB_decode, // 152 - IRR_GL_EXT_texture_storage, // 108 - IRR_GL_EXT_texture_type_2_10_10_10_REV, // 42 - IRR_GL_EXT_texture_view, // 185 - IRR_GL_EXT_unpack_subimage, // 90 - IRR_GL_EXT_win32_keyed_mutex, // 283 - IRR_GL_EXT_window_rectangles, // 263 - IRR_GL_FJ_shader_binary_GCCSO, // 114 - IRR_GL_IMG_bindless_texture, // 270 - IRR_GL_IMG_framebuffer_downsample, // 255 - IRR_GL_IMG_multisampled_render_to_texture, // 74 - IRR_GL_IMG_program_binary, // 67 - IRR_GL_IMG_read_format, // 53 - IRR_GL_IMG_shader_binary, // 68 - IRR_GL_IMG_texture_compression_pvrtc, // 54 - IRR_GL_IMG_texture_compression_pvrtc2, // 140 - IRR_GL_IMG_texture_env_enhanced_fixed_function, // 58 - IRR_GL_IMG_texture_format_BGRA8888, // replaced by EXT version - IRR_GL_IMG_texture_filter_cubic, // 251 - IRR_GL_IMG_user_clip_plane, // 57, was clip_planes - IRR_GL_IMG_vertex_program, // non-standard - IRR_GL_INTEL_conservative_rasterization, // 265 - IRR_GL_INTEL_framebuffer_CMAA, // 246 - IRR_GL_INTEL_performance_query, // 164 - IRR_GL_KHR_blend_equation_advanced, // 168 - IRR_GL_KHR_blend_equation_advanced_coherent, // 168 - IRR_GL_KHR_context_flush_control, // 191 - IRR_GL_KHR_debug, // 118 - IRR_GL_KHR_no_error, // 243 - IRR_GL_KHR_parallel_shader_compile, // 288 - IRR_GL_KHR_robust_buffer_access_behavior, // 189 - IRR_GL_KHR_robustness, // 190 - IRR_GL_KHR_texture_compression_astc_hdr, // 117 - IRR_GL_KHR_texture_compression_astc_ldr, // 117 - IRR_GL_KHR_texture_compression_astc_sliced_3d, // 249 - IRR_GL_NVX_blend_equation_advanced_multi_draw_buffers, // 266 - IRR_GL_NV_3dvision_settings, // 129 - IRR_GL_NV_EGL_stream_consumer_external, // 104 - IRR_GL_NV_bgr, // 135 - IRR_GL_NV_bindless_texture, // 197 - IRR_GL_NV_blend_equation_advanced, // 163 - IRR_GL_NV_blend_equation_advanced_coherent, // 163 - IRR_GL_NV_blend_minmax_factor, // 285 - IRR_GL_NV_conditional_render, // 198 - IRR_GL_NV_conservative_raster, // 228 - IRR_GL_NV_conservative_raster_pre_snap_triangles, // 262 - IRR_GL_NV_copy_buffer, // 158 - IRR_GL_NV_coverage_sample, // 72 - IRR_GL_NV_depth_nonlinear, // 73 - IRR_GL_NV_draw_buffers, // 91 - IRR_GL_NV_draw_instanced, // 141 - IRR_GL_NV_draw_texture, // 126 - IRR_GL_NV_draw_vulkan_image, // 274 - IRR_GL_NV_explicit_attrib_location, // 159 - IRR_GL_NV_fbo_color_attachments, // 92 - IRR_GL_NV_fence, // 52 - IRR_GL_NV_fill_rectangle, // 232 - IRR_GL_NV_fragment_coverage_to_color, // 229 - IRR_GL_NV_fragment_shader_interlock, // 230 - IRR_GL_NV_framebuffer_blit, // 142 - IRR_GL_NV_framebuffer_mixed_samples, // 231 - IRR_GL_NV_framebuffer_multisample, // 143 - IRR_GL_NV_generate_mipmap_sRGB, // 144 - IRR_GL_NV_geometry_shader_passthrough, // 233 - IRR_GL_NV_gpu_shader5, // 260 - IRR_GL_NV_image_formats, // 200 - IRR_GL_NV_instanced_arrays, // 145 - IRR_GL_NV_internalformat_sample_query, // 196 - IRR_GL_NV_non_square_matrices, // 160 - IRR_GL_NV_pack_subimage, // 132 - IRR_GL_NV_packed_float, // 127 - IRR_GL_NV_path_rendering, // 199 - IRR_GL_NV_path_rendering_shared_edge, // 234 - IRR_GL_NV_pixel_buffer_object, // 134 - IRR_GL_NV_platform_binary, // 131 - IRR_GL_NV_polygon_mode, // 238 - IRR_GL_NV_read_buffer, // 93 - IRR_GL_NV_read_buffer_front, // part of 93 (non standard) - IRR_GL_NV_read_depth, // part of 94 (non standard) - IRR_GL_NV_read_depth_stencil, // 94 - IRR_GL_NV_read_stencil, // part of 94 (non standard) - IRR_GL_NV_sRGB_formats, // 148 - IRR_GL_NV_sample_locations, // 235 - IRR_GL_NV_sample_mask_override_coverage, // 236 - IRR_GL_NV_shader_atomic_fp16_vector, // 261 - IRR_GL_NV_shader_noperspective_interpolation, // 201 - IRR_GL_NV_shadow_samplers_array, // 146 - IRR_GL_NV_shadow_samplers_cube, // 147 - IRR_GL_NV_texture_array, // 133 - IRR_GL_NV_texture_barrier, // 271 - IRR_GL_NV_texture_border_clamp, // 149 - IRR_GL_NV_texture_compression_latc, // 130 - IRR_GL_NV_texture_compression_s3tc, // 128 - IRR_GL_NV_texture_compression_s3tc_update, // 95 - IRR_GL_NV_texture_npot_2D_mipmap, // 96 - IRR_GL_NV_viewport_array, // 202 - IRR_GL_NV_viewport_array2, // 237 - IRR_GL_NV_viewport_swizzle, // 258 - IRR_GL_OES_EGL_image, // 23 - IRR_GL_OES_EGL_image_external, // 87 - IRR_GL_OES_EGL_image_external_essl3, // 220 - IRR_GL_OES_EGL_sync, // 75 - IRR_GL_OES_blend_equation_separate, // 1 - IRR_GL_OES_blend_func_separate, // 2 - IRR_GL_OES_blend_subtract, // 3 - IRR_GL_OES_byte_coordinates, // 4 - IRR_GL_OES_compressed_ETC1_RGB8_texture, // 5 - IRR_GL_OES_compressed_paletted_texture, // 6 - IRR_GL_OES_copy_image, // 208 - IRR_GL_OES_depth24, // 24 - IRR_GL_OES_depth32, // 25 - IRR_GL_OES_depth_texture, // 43 - IRR_GL_OES_depth_texture_cube_map, // 136 - IRR_GL_OES_draw_buffers_indexed, // 209 - IRR_GL_OES_draw_elements_base_vertex, // 219 - IRR_GL_OES_draw_texture, // 7 - IRR_GL_OES_element_index_uint, // 26 - IRR_GL_OES_extended_matrix_palette, // 8 - IRR_GL_OES_fbo_render_mipmap, // 27 - IRR_GL_OES_fixed_point, // 9 - IRR_GL_OES_fragment_precision_high, // 28 - IRR_GL_OES_framebuffer_object, // 10 - IRR_GL_OES_geometry_shader, // 210 - IRR_GL_OES_get_program_binary, // 47 - IRR_GL_OES_gpu_shader5, // 211 - IRR_GL_OES_mapbuffer, // 29 - IRR_GL_OES_matrix_get, // 11 - IRR_GL_OES_matrix_palette, // 12 - IRR_GL_OES_packed_depth_stencil, // 44 - IRR_GL_OES_point_size_array, // 14 - IRR_GL_OES_point_sprite, // 15 - IRR_GL_OES_primitive_bounding_box, // 212 - IRR_GL_OES_query_matrix, // 16 - IRR_GL_OES_read_format, // 17 - IRR_GL_OES_required_internalformat, // 115 - IRR_GL_OES_rgb8_rgba8, // 30 - IRR_GL_OES_sample_shading, // 169 - IRR_GL_OES_sample_variables, // 170 - IRR_GL_OES_shader_image_atomic, // 171 - IRR_GL_OES_shader_io_blocks, // 213 - IRR_GL_OES_shader_multisample_interpolation, // 172 - IRR_GL_OES_single_precision, // 18 - IRR_GL_OES_standard_derivatives, // 45 - IRR_GL_OES_stencil1, // 31 - IRR_GL_OES_stencil4, // 32 - IRR_GL_OES_stencil8, // 33 - IRR_GL_OES_stencil_wrap, // 19 - IRR_GL_OES_surfaceless_context, // 116 - IRR_GL_OES_tessellation_shader, // 214 - IRR_GL_OES_texture_3D, // 34 - IRR_GL_OES_texture_border_clamp, // 215 - IRR_GL_OES_texture_buffer, // 216 - IRR_GL_OES_texture_compression_astc, // 162 - IRR_GL_OES_texture_cube_map, // 20 - IRR_GL_OES_texture_cube_map_array, // 217 - IRR_GL_OES_texture_env_crossbar, // 21 - IRR_GL_OES_texture_float, // 36 - IRR_GL_OES_texture_float_linear, // 35 - IRR_GL_OES_texture_half_float, // 36 - IRR_GL_OES_texture_half_float_linear, // 35 - IRR_GL_OES_texture_mirrored_repeat, // 22 - IRR_GL_OES_texture_npot, // 37 - IRR_GL_OES_texture_stencil8, // 173 - IRR_GL_OES_texture_storage_multisample_2d_array, // 174 - IRR_GL_OES_texture_view, // 218 - IRR_GL_OES_vertex_array_object, // 71 - IRR_GL_OES_vertex_half_float, // 38 - IRR_GL_OES_vertex_type_10_10_10_2, // 46 - IRR_GL_OES_viewport_array, // 267 - IRR_GL_OVR_multiview, // 241 - IRR_GL_OVR_multiview2, // 242 - IRR_GL_OVR_multiview_multisampled_render_to_texture, // 250 - IRR_GL_QCOM_alpha_test, // 89 - IRR_GL_QCOM_binning_control, // 119 - IRR_GL_QCOM_driver_control, // 55 - IRR_GL_QCOM_extended_get, // 62 - IRR_GL_QCOM_extended_get2, // 63 - IRR_GL_QCOM_framebuffer_foveated, // 273 - IRR_GL_QCOM_performance_monitor_global_mode, // 56 - IRR_GL_QCOM_shader_framebuffer_fetch_noncoherent, // 277 - IRR_GL_QCOM_tiled_rendering, // 70 - IRR_GL_QCOM_writeonly_rendering, // 61 - IRR_GL_SUN_multi_draw_arrays, // 69 - IRR_GL_VIV_shader_binary, // 85 - WGL_ARB_context_flush_control, // 191 + IRR_GL_APPLE_texture_2D_limited_npot, + IRR_GL_APPLE_texture_format_BGRA8888, + IRR_GL_EXT_blend_minmax, + IRR_GL_EXT_read_format_bgra, + IRR_GL_EXT_texture_filter_anisotropic, + IRR_GL_EXT_texture_format_BGRA8888, + IRR_GL_EXT_texture_lod_bias, + IRR_GL_EXT_texture_rg, + IRR_GL_IMG_read_format, + IRR_GL_IMG_texture_format_BGRA8888, + IRR_GL_IMG_user_clip_plane, + IRR_GL_OES_blend_func_separate, + IRR_GL_OES_blend_subtract, + IRR_GL_OES_depth_texture, + IRR_GL_OES_depth24, + IRR_GL_OES_depth32, + IRR_GL_OES_element_index_uint, + IRR_GL_OES_framebuffer_object, + IRR_GL_OES_packed_depth_stencil, + IRR_GL_OES_point_size_array, + IRR_GL_OES_point_sprite, + IRR_GL_OES_read_format, + IRR_GL_OES_stencil_wrap, + IRR_GL_OES_texture_float, + IRR_GL_OES_texture_half_float, + IRR_GL_OES_texture_mirrored_repeat, + IRR_GL_OES_texture_npot, IRR_OGLES_Feature_Count }; @@ -373,319 +90,36 @@ namespace video const char* getFeatureString(size_t index) const { - // Extension names from https://www.khronos.org/registry/OpenGL/index_es.php // One for each EOGLESFeatures static const char* const OGLESFeatureStrings[IRR_OGLES_Feature_Count] = { - "GLX_ARB_context_flush_control", - "GL_AMD_compressed_3DC_texture", - "GL_AMD_compressed_ATC_texture", - "GL_AMD_performance_monitor", - "GL_AMD_program_binary_Z400", - "GL_ANDROID_extension_pack_es31a", - "GL_ANGLE_depth_texture", - "GL_ANGLE_framebuffer_blit", - "GL_ANGLE_framebuffer_multisample", - "GL_ANGLE_instanced_arrays", - "GL_ANGLE_pack_reverse_row_order", - "GL_ANGLE_program_binary", - "GL_ANGLE_texture_compression_dxt1", - "GL_ANGLE_texture_compression_dxt3", - "GL_ANGLE_texture_compression_dxt5", - "GL_ANGLE_texture_usage", - "GL_ANGLE_translated_shader_source", - "GL_APPLE_clip_distance", - "GL_APPLE_color_buffer_packed_float", - "GL_APPLE_copy_texture_levels", - "GL_APPLE_framebuffer_multisample", - "GL_APPLE_rgb_422", - "GL_APPLE_sync", "GL_APPLE_texture_2D_limited_npot", "GL_APPLE_texture_format_BGRA8888", - "GL_APPLE_texture_max_level", - "GL_APPLE_texture_packed_float", - "GL_ARB_texture_env_combine", - "GL_ARB_texture_env_dot3", - "GL_ARM_mali_program_binary", - "GL_ARM_mali_shader_binary", - "GL_ARM_rgba8", - "GL_ARM_shader_framebuffer_fetch", - "GL_ARM_shader_framebuffer_fetch_depth_stencil", - "GL_DMP_program_binary", - "GL_DMP_shader_binary", - "GL_EXT_EGL_image_array", - "GL_EXT_YUV_target", - "GL_EXT_base_instance", - "GL_EXT_blend_func_extended", "GL_EXT_blend_minmax", - "GL_EXT_buffer_storage", - "GL_EXT_clear_texture", - "GL_EXT_clip_control", - "GL_EXT_clip_cull_distance", - "GL_EXT_color_buffer_float", - "GL_EXT_color_buffer_half_float", - "GL_EXT_compressed_ETC1_RGB8_sub_texture", - "GL_EXT_conservative_depth", - "GL_EXT_copy_image", - "GL_EXT_debug_label", - "GL_EXT_debug_marker", - "GL_EXT_discard_framebuffer", - "GL_EXT_disjoint_timer_query", - "GL_EXT_draw_buffers", - "GL_EXT_draw_buffers_indexed", - "GL_EXT_draw_elements_base_vertex", - "GL_EXT_draw_instanced", - "GL_EXT_draw_transform_feedback", - "GL_EXT_external_buffer", - "GL_EXT_float_blend", - "GL_EXT_frag_depth", - "GL_EXT_geometry_point_size", - "GL_EXT_geometry_shader", - "GL_EXT_gpu_shader5", - "GL_EXT_instanced_arrays", - "GL_EXT_map_buffer_range", - "GL_EXT_memory_object", - "GL_EXT_memory_object_fd", - "GL_EXT_memory_object_win32", - "GL_EXT_multi_draw_arrays", - "GL_EXT_multi_draw_indirect", - "GL_EXT_multisample_compatibility", - "GL_EXT_multisampled_render_to_texture", - "GL_EXT_multisampled_render_to_texture2", - "GL_EXT_multiview_draw_buffers", - "GL_EXT_occlusion_query_boolean", - "GL_EXT_polygon_offset_clamp", - "GL_EXT_post_depth_coverage", - "GL_EXT_primitive_bounding_box", - "GL_EXT_protected_textures", - "GL_EXT_pvrtc_sRGB", - "GL_EXT_raster_multisample", "GL_EXT_read_format_bgra", - "GL_EXT_render_snorm", - "GL_EXT_robustness", - "GL_EXT_sRGB", - "GL_EXT_sRGB_write_control", - "GL_EXT_semaphore", - "GL_EXT_semaphore_fd", - "GL_EXT_semaphore_win32", - "GL_EXT_separate_shader_objects", - "GL_EXT_shader_framebuffer_fetch", - "GL_EXT_shader_group_vote", - "GL_EXT_shader_implicit_conversions", - "GL_EXT_shader_integer_mix", - "GL_EXT_shader_io_blocks", - "GL_EXT_shader_non_constant_global_initializers", - "GL_EXT_shader_pixel_local_storage", - "GL_EXT_shader_pixel_local_storage2", - "GL_EXT_shader_texture_lod", - "GL_EXT_shadow_samplers", - "GL_EXT_sparse_texture", - "GL_EXT_sparse_texture2", - "GL_EXT_tessellation_point_size", - "GL_EXT_tessellation_shader", - "GL_EXT_texture_border_clamp", - "GL_EXT_texture_buffer", - "GL_EXT_texture_compression_astc_decode_mode", - "GL_EXT_texture_compression_astc_decode_mode_rgb9e5", - "GL_EXT_texture_compression_bptc", - "GL_EXT_texture_compression_dxt1", - "GL_EXT_texture_compression_rgtc", - "GL_EXT_texture_compression_s3tc", - "GL_EXT_texture_compression_s3tc_srgb", - "GL_EXT_texture_cube_map_array", "GL_EXT_texture_filter_anisotropic", - "GL_EXT_texture_filter_minmax", "GL_EXT_texture_format_BGRA8888", "GL_EXT_texture_lod_bias", - "GL_EXT_texture_norm16", "GL_EXT_texture_rg", - "GL_EXT_texture_sRGB_R8", - "GL_EXT_texture_sRGB_RG8", - "GL_EXT_texture_sRGB_decode", - "GL_EXT_texture_storage", - "GL_EXT_texture_type_2_10_10_10_REV", - "GL_EXT_texture_view", - "GL_EXT_unpack_subimage", - "GL_EXT_win32_keyed_mutex", - "GL_EXT_window_rectangles", - "GL_FJ_shader_binary_GCCSO", - "GL_IMG_bindless_texture", - "GL_IMG_framebuffer_downsample", - "GL_IMG_multisampled_render_to_texture", - "GL_IMG_program_binary", "GL_IMG_read_format", - "GL_IMG_shader_binary", - "GL_IMG_texture_compression_pvrtc", - "GL_IMG_texture_compression_pvrtc2", - "GL_IMG_texture_env_enhanced_fixed_function", "GL_IMG_texture_format_BGRA8888", - "GL_IMG_texture_filter_cubic", "GL_IMG_user_clip_plane", - "GL_IMG_vertex_program", - "GL_INTEL_conservative_rasterization", - "GL_INTEL_framebuffer_CMAA", - "GL_INTEL_performance_query", - "GL_KHR_blend_equation_advanced", - "GL_KHR_blend_equation_advanced_coherent", - "GL_KHR_context_flush_control", - "GL_KHR_debug", - "GL_KHR_no_error", - "GL_KHR_parallel_shader_compile", - "GL_KHR_robust_buffer_access_behavior", - "GL_KHR_robustness", - "GL_KHR_texture_compression_astc_hdr", - "GL_KHR_texture_compression_astc_ldr", - "GL_KHR_texture_compression_astc_sliced_3d", - "GL_NVX_blend_equation_advanced_multi_draw_buffers", - "GL_NV_3dvision_settings", - "GL_NV_EGL_stream_consumer_external", - "GL_NV_bgr", - "GL_NV_bindless_texture", - "GL_NV_blend_equation_advanced", - "GL_NV_blend_equation_advanced_coherent", - "GL_NV_blend_minmax_factor", - "GL_NV_conditional_render", - "GL_NV_conservative_raster", - "GL_NV_conservative_raster_pre_snap_triangles", - "GL_NV_copy_buffer", - "GL_NV_coverage_sample", - "GL_NV_depth_nonlinear", - "GL_NV_draw_buffers", - "GL_NV_draw_instanced", - "GL_NV_draw_texture", - "GL_NV_draw_vulkan_image", - "GL_NV_explicit_attrib_location", - "GL_NV_fbo_color_attachments", - "GL_NV_fence", - "GL_NV_fill_rectangle", - "GL_NV_fragment_coverage_to_color", - "GL_NV_fragment_shader_interlock", - "GL_NV_framebuffer_blit", - "GL_NV_framebuffer_mixed_samples", - "GL_NV_framebuffer_multisample", - "GL_NV_generate_mipmap_sRGB", - "GL_NV_geometry_shader_passthrough", - "GL_NV_gpu_shader5", - "GL_NV_image_formats", - "GL_NV_instanced_arrays", - "GL_NV_internalformat_sample_query", - "GL_NV_non_square_matrices", - "GL_NV_pack_subimage", - "GL_NV_packed_float", - "GL_NV_path_rendering", - "GL_NV_path_rendering_shared_edge", - "GL_NV_pixel_buffer_object", - "GL_NV_platform_binary", - "GL_NV_polygon_mode", - "GL_NV_read_buffer", - "GL_NV_read_buffer_front", - "GL_NV_read_depth", - "GL_NV_read_depth_stencil", - "GL_NV_read_stencil", - "GL_NV_sRGB_formats", - "GL_NV_sample_locations", - "GL_NV_sample_mask_override_coverage", - "GL_NV_shader_atomic_fp16_vector", - "GL_NV_shader_noperspective_interpolation", - "GL_NV_shadow_samplers_array", - "GL_NV_shadow_samplers_cube", - "GL_NV_texture_array", - "GL_NV_texture_barrier", - "GL_NV_texture_border_clamp", - "GL_NV_texture_compression_latc", - "GL_NV_texture_compression_s3tc", - "GL_NV_texture_compression_s3tc_update", - "GL_NV_texture_npot_2D_mipmap", - "GL_NV_viewport_array", - "GL_NV_viewport_array2", - "GL_NV_viewport_swizzle", - "GL_OES_EGL_image", - "GL_OES_EGL_image_external", - "GL_OES_EGL_image_external_essl3", - "GL_OES_EGL_sync", - "GL_OES_blend_equation_separate", "GL_OES_blend_func_separate", "GL_OES_blend_subtract", - "GL_OES_byte_coordinates", - "GL_OES_compressed_ETC1_RGB8_texture", - "GL_OES_compressed_paletted_texture", - "GL_OES_copy_image", + "GL_OES_depth_texture", "GL_OES_depth24", "GL_OES_depth32", - "GL_OES_depth_texture", - "GL_OES_depth_texture_cube_map", - "GL_OES_draw_buffers_indexed", - "GL_OES_draw_elements_base_vertex", - "GL_OES_draw_texture", "GL_OES_element_index_uint", - "GL_OES_extended_matrix_palette", - "GL_OES_fbo_render_mipmap", - "GL_OES_fixed_point", - "GL_OES_fragment_precision_high", "GL_OES_framebuffer_object", - "GL_OES_geometry_shader", - "GL_OES_get_program_binary", - "GL_OES_gpu_shader5", - "GL_OES_mapbuffer", - "GL_OES_matrix_get", - "GL_OES_matrix_palette", "GL_OES_packed_depth_stencil", "GL_OES_point_size_array", "GL_OES_point_sprite", - "GL_OES_primitive_bounding_box", - "GL_OES_query_matrix", "GL_OES_read_format", - "GL_OES_required_internalformat", - "GL_OES_rgb8_rgba8", - "GL_OES_sample_shading", - "GL_OES_sample_variables", - "GL_OES_shader_image_atomic", - "GL_OES_shader_io_blocks", - "GL_OES_shader_multisample_interpolation", - "GL_OES_single_precision", - "GL_OES_standard_derivatives", - "GL_OES_stencil1", - "GL_OES_stencil4", - "GL_OES_stencil8", "GL_OES_stencil_wrap", - "GL_OES_surfaceless_context", - "GL_OES_tessellation_shader", - "GL_OES_texture_3D", - "GL_OES_texture_border_clamp", - "GL_OES_texture_buffer", - "GL_OES_texture_compression_astc", - "GL_OES_texture_cube_map", - "GL_OES_texture_cube_map_array", - "GL_OES_texture_env_crossbar", "GL_OES_texture_float", - "GL_OES_texture_float_linear", "GL_OES_texture_half_float", - "GL_OES_texture_half_float_linear", "GL_OES_texture_mirrored_repeat", "GL_OES_texture_npot", - "GL_OES_texture_stencil8", - "GL_OES_texture_storage_multisample_2d_array", - "GL_OES_texture_view", - "GL_OES_vertex_array_object", - "GL_OES_vertex_half_float", - "GL_OES_vertex_type_10_10_10_2", - "GL_OES_viewport_array", - "GL_OVR_multiview", - "GL_OVR_multiview2", - "GL_OVR_multiview_multisampled_render_to_texture", - "GL_QCOM_alpha_test", - "GL_QCOM_binning_control", - "GL_QCOM_driver_control", - "GL_QCOM_extended_get", - "GL_QCOM_extended_get2", - "GL_QCOM_framebuffer_foveated", - "GL_QCOM_performance_monitor_global_mode", - "GL_QCOM_shader_framebuffer_fetch_noncoherent", - "GL_QCOM_tiled_rendering", - "GL_QCOM_writeonly_rendering", - "GL_SUN_multi_draw_arrays", - "GL_VIV_shader_binary", - "WGL_ARB_context_flush_control" }; return OGLESFeatureStrings[index]; @@ -721,10 +155,6 @@ namespace video core::stringc extensions = glGetString(GL_EXTENSIONS); os::Printer::log(extensions.c_str()); - // typo in the simulator (note the postfixed s) - if (extensions.find("GL_IMG_user_clip_planes")) - FeatureAvailable[IRR_GL_IMG_user_clip_plane] = true; - const u32 size = extensions.size() + 1; c8* str = new c8[size]; strncpy(str, extensions.c_str(), extensions.size());