From 7f133d4b33d75be902b3f1d07a9a3a4c85823cf9 Mon Sep 17 00:00:00 2001 From: baldurk Date: Sat, 20 Dec 2014 01:08:43 +0000 Subject: [PATCH] Update master list of GL extensions our code currently handles * This list includes all extensions that we support all the entry points, tokens, etc for. It still needs to be unioned with the extensions that the implementation supports to determine what to return to the program. * A couple of extensions are a little hazy as we implement everything in them that 'modern' GL includes, but the extension itself also specifies some old/outdated functions. Any extensions that are entirely old functions are omitted from this list. --- renderdoc/driver/gl/gl_driver.cpp | 165 +++++++++++++++++++++--------- 1 file changed, 118 insertions(+), 47 deletions(-) diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index 3128ecdba..461a610ea 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -330,62 +330,133 @@ WrappedOpenGL::WrappedOpenGL(const char *logfile, const GLHookSet &funcs) { if(RenderDoc::Inst().GetCrashHandler()) RenderDoc::Inst().GetCrashHandler()->RegisterMemoryRegion(this, sizeof(WrappedOpenGL)); - - glExts.push_back("GL_ARB_multitexture"); + + glExts.push_back("GL_ARB_arrays_of_arrays"); + glExts.push_back("GL_ARB_base_instance"); + glExts.push_back("GL_ARB_blend_func_extended"); + glExts.push_back("GL_ARB_buffer_storage"); + glExts.push_back("GL_ARB_clear_buffer_object"); + glExts.push_back("GL_ARB_clear_texture"); + glExts.push_back("GL_ARB_color_buffer_float"); + glExts.push_back("GL_ARB_compute_shader"); + glExts.push_back("GL_ARB_conservative_depth"); + glExts.push_back("GL_ARB_copy_buffer"); + glExts.push_back("GL_ARB_copy_image"); glExts.push_back("GL_ARB_debug_output"); - glExts.push_back("GL_EXT_direct_state_access"); + glExts.push_back("GL_ARB_depth_buffer_float"); + glExts.push_back("GL_ARB_depth_clamp"); + glExts.push_back("GL_ARB_depth_texture"); + glExts.push_back("GL_ARB_draw_buffers"); + glExts.push_back("GL_ARB_draw_buffers_blend"); + glExts.push_back("GL_ARB_draw_elements_base_vertex"); + glExts.push_back("GL_ARB_draw_indirect"); + glExts.push_back("GL_ARB_draw_instanced"); + glExts.push_back("GL_ARB_enhanced_layouts"); + glExts.push_back("GL_ARB_ES2_compatibility"); + glExts.push_back("GL_ARB_ES3_1_compatibility"); + glExts.push_back("GL_ARB_ES3_compatibility"); + glExts.push_back("GL_ARB_explicit_attrib_location"); + glExts.push_back("GL_ARB_explicit_uniform_location"); + glExts.push_back("GL_ARB_fragment_coord_conventions"); + glExts.push_back("GL_ARB_fragment_layer_viewport"); + glExts.push_back("GL_ARB_framebuffer_no_attachments"); + glExts.push_back("GL_ARB_framebuffer_object"); + glExts.push_back("GL_ARB_framebuffer_sRGB"); + glExts.push_back("GL_ARB_get_program_binary"); + glExts.push_back("GL_ARB_gpu_shader_fp64"); + glExts.push_back("GL_ARB_gpu_shader5"); + glExts.push_back("GL_ARB_half_float_pixel"); + glExts.push_back("GL_ARB_half_float_vertex"); + glExts.push_back("GL_ARB_indirect_parameters"); glExts.push_back("GL_ARB_internalformat_query"); glExts.push_back("GL_ARB_internalformat_query2"); - glExts.push_back("GL_ARB_ES2_compatibility"); - glExts.push_back("GL_ARB_ES3_compatibility"); - glExts.push_back("GL_EXT_texture_filter_anisotropic"); - glExts.push_back("GL_EXT_texture_sRGB_decode"); - glExts.push_back("GL_EXT_texture_compression_s3tc"); - glExts.push_back("GL_ARB_clear_buffer_object"); - glExts.push_back("GL_ARB_vertex_attrib_binding"); - glExts.push_back("GL_ARB_shader_storage_buffer_object"); glExts.push_back("GL_ARB_invalidate_subdata"); - glExts.push_back("GL_ARB_framebuffer_no_attachments"); - glExts.push_back("GL_ARB_shader_image_size"); - glExts.push_back("GL_ARB_arrays_of_arrays"); - glExts.push_back("GL_ARB_program_interface_query"); - glExts.push_back("GL_ARB_multi_draw_indirect"); - glExts.push_back("GL_ARB_compute_shader"); - glExts.push_back("GL_ARB_explicit_uniform_location"); - glExts.push_back("GL_ARB_texture_buffer_range"); - glExts.push_back("GL_ARB_copy_image"); - glExts.push_back("GL_ARB_texture_query_levels"); - glExts.push_back("GL_ARB_texture_view"); - glExts.push_back("GL_ARB_fragment_layer_viewport"); - glExts.push_back("GL_ARB_buffer_storage"); - glExts.push_back("GL_ARB_clear_texture"); - glExts.push_back("GL_ARB_shader_group_vote"); - glExts.push_back("GL_ARB_indirect_parameters"); - glExts.push_back("GL_ARB_query_buffer_object"); - glExts.push_back("GL_EXT_texture_mirror_clamp"); - glExts.push_back("GL_ARB_seamless_cubemap_per_texture"); - glExts.push_back("GL_ARB_multi_bind"); - glExts.push_back("GL_KHR_debug"); - glExts.push_back("GL_EXT_depth_bounds_test"); - glExts.push_back("GL_EXT_pixel_buffer_object"); - glExts.push_back("GL_ARB_pixel_buffer_object"); - glExts.push_back("GL_ARB_sync"); - glExts.push_back("GL_ARB_timer_query"); - glExts.push_back("GL_EXT_timer_query"); - glExts.push_back("GL_ARB_framebuffer_object"); - glExts.push_back("GL_EXT_framebuffer_object"); - glExts.push_back("GL_EXT_framebuffer_blit"); - glExts.push_back("GL_ARB_texture_multisample"); - glExts.push_back("GL_ARB_texture_compression"); - glExts.push_back("GL_ARB_sampler_objects"); glExts.push_back("GL_ARB_map_buffer_range"); - glExts.push_back("GL_ARB_draw_elements_base_vertex"); - glExts.push_back("GL_ARB_get_program_binary"); - glExts.push_back("GL_ARB_uniform_buffer_object"); + glExts.push_back("GL_ARB_multi_bind"); + glExts.push_back("GL_ARB_multi_draw_indirect"); + glExts.push_back("GL_ARB_multisample"); + glExts.push_back("GL_ARB_multitexture"); glExts.push_back("GL_ARB_occlusion_query"); + glExts.push_back("GL_ARB_occlusion_query2"); + glExts.push_back("GL_ARB_pixel_buffer_object"); + glExts.push_back("GL_ARB_point_parameters"); + glExts.push_back("GL_ARB_point_sprite"); + glExts.push_back("GL_ARB_program_interface_query"); + glExts.push_back("GL_ARB_provoking_vertex"); + glExts.push_back("GL_ARB_query_buffer_object"); + glExts.push_back("GL_ARB_robust_buffer_access_behavior"); + glExts.push_back("GL_ARB_robustness"); + glExts.push_back("GL_ARB_sample_shading"); + glExts.push_back("GL_ARB_sampler_objects"); + glExts.push_back("GL_ARB_seamless_cube_map"); + glExts.push_back("GL_ARB_seamless_cubemap_per_texture"); + glExts.push_back("GL_ARB_separate_shader_objects"); + glExts.push_back("GL_ARB_shader_atomic_counters"); + glExts.push_back("GL_ARB_shader_bit_encoding"); + glExts.push_back("GL_ARB_shader_draw_parameters"); + glExts.push_back("GL_ARB_shader_group_vote"); + glExts.push_back("GL_ARB_shader_image_load_store"); + glExts.push_back("GL_ARB_shader_image_size"); + glExts.push_back("GL_ARB_shader_precision"); + glExts.push_back("GL_ARB_shader_storage_buffer_object"); + glExts.push_back("GL_ARB_shader_subroutine"); + glExts.push_back("GL_ARB_shader_texture_lod"); + glExts.push_back("GL_ARB_shading_language_100"); + glExts.push_back("GL_ARB_shading_language_420pack"); + glExts.push_back("GL_ARB_shading_language_packing"); + glExts.push_back("GL_ARB_shadow"); + glExts.push_back("GL_ARB_stencil_texturing"); + glExts.push_back("GL_ARB_sync"); + glExts.push_back("GL_ARB_tessellation_shader"); + glExts.push_back("GL_ARB_texture_border_clamp"); + glExts.push_back("GL_ARB_texture_buffer_object"); + glExts.push_back("GL_ARB_texture_buffer_object_rgb32"); + glExts.push_back("GL_ARB_texture_buffer_range"); + glExts.push_back("GL_ARB_texture_compression"); + glExts.push_back("GL_ARB_texture_compression_bptc"); + glExts.push_back("GL_ARB_texture_compression_rgtc"); + glExts.push_back("GL_ARB_texture_cube_map"); + glExts.push_back("GL_ARB_texture_cube_map_array"); + glExts.push_back("GL_ARB_texture_float"); + glExts.push_back("GL_ARB_texture_gather"); + glExts.push_back("GL_ARB_texture_mirror_clamp_to_edge"); + glExts.push_back("GL_ARB_texture_mirrored_repeat"); + glExts.push_back("GL_ARB_texture_multisample"); + glExts.push_back("GL_ARB_texture_non_power_of_two"); + glExts.push_back("GL_ARB_texture_query_levels"); + glExts.push_back("GL_ARB_texture_query_lod"); + glExts.push_back("GL_ARB_texture_rectangle"); + glExts.push_back("GL_ARB_texture_rg"); + glExts.push_back("GL_ARB_texture_rgb10_a2ui"); + glExts.push_back("GL_ARB_texture_stencil8"); + glExts.push_back("GL_ARB_texture_storage"); + glExts.push_back("GL_ARB_texture_storage_multisample"); + glExts.push_back("GL_ARB_texture_swizzle"); + glExts.push_back("GL_ARB_texture_view"); + glExts.push_back("GL_ARB_timer_query"); + glExts.push_back("GL_ARB_transform_feedback_instanced"); + glExts.push_back("GL_ARB_transform_feedback2"); + glExts.push_back("GL_ARB_transform_feedback3"); + glExts.push_back("GL_ARB_uniform_buffer_object"); + glExts.push_back("GL_ARB_vertex_array_bgra"); glExts.push_back("GL_ARB_vertex_array_object"); + glExts.push_back("GL_ARB_vertex_attrib_64bit"); + glExts.push_back("GL_ARB_vertex_attrib_binding"); glExts.push_back("GL_ARB_vertex_buffer_object"); glExts.push_back("GL_ARB_vertex_program"); + glExts.push_back("GL_ARB_vertex_type_10f_11f_11f_rev"); + glExts.push_back("GL_ARB_vertex_type_2_10_10_10_rev"); + glExts.push_back("GL_EXT_depth_bounds_test"); + glExts.push_back("GL_EXT_direct_state_access"); + glExts.push_back("GL_EXT_framebuffer_blit"); + glExts.push_back("GL_EXT_framebuffer_object"); + glExts.push_back("GL_EXT_pixel_buffer_object"); + glExts.push_back("GL_EXT_texture_compression_s3tc"); + glExts.push_back("GL_EXT_texture_filter_anisotropic"); + glExts.push_back("GL_EXT_texture_mirror_clamp"); + glExts.push_back("GL_EXT_texture_sRGB_decode"); + glExts.push_back("GL_EXT_timer_query"); + glExts.push_back("GL_KHR_debug"); #if !defined(_RELEASE) CaptureOptions &opts = (CaptureOptions &)RenderDoc::Inst().GetCaptureOptions();