1 2This is the status of GL extension support in the virglrenderer code base. 3 4The initial codebase has GL3.3 feature complete. 5 6Some features don't require renderer support and are handled in the 7guest driver completely. 8 9Feature Status 10----------------------------------------------------- ------------------------ 11GL 3.3, GLSL 3.30 --- renderer complete support. 12 13GL 4.0, GLSL 4.00 --- 14 15 GL_ARB_draw_buffers_blend DONE 16 GL_ARB_draw_indirect DONE 17 GL_ARB_gpu_shader5 DONE 18 - 'precise' qualifier GUEST 19 - Dynamically uniform sampler array indices 20 - Dynamically uniform UBO array indices 21 - Implicit signed -> unsigned conversions GUEST 22 - Fused multiply-add 23 - Packing/bitfield/conversion functions 24 - Enhanced textureGather 25 - Geometry shader instancing 26 - Geometry shader multiple streams 27 - Enhanced per-sample shading 28 - Interpolation functions 29 - New overload resolution rules GUEST 30 GL_ARB_gpu_shader_fp64 DONE 31 GL_ARB_sample_shading DONE 32 GL_ARB_shader_subroutine GUEST 33 GL_ARB_tessellation_shader DONE 34 GL_ARB_texture_buffer_object_rgb32 DONE 35 GL_ARB_texture_cube_map_array DONE 36 GL_ARB_texture_gather DONE 37 GL_ARB_texture_query_lod DONE 38 GL_ARB_transform_feedback2 DONE 39 GL_ARB_transform_feedback3 DONE 40 41 42GL 4.1, GLSL 4.10 --- 43 44 GL_ARB_ES2_compatibility GUEST 45 GL_ARB_get_program_binary GUEST 46 GL_ARB_separate_shader_objects GUEST 47 GL_ARB_shader_precision GUEST 48 GL_ARB_vertex_attrib_64bit DONE 49 GL_ARB_viewport_array DONE 50 51 52GL 4.2, GLSL 4.20: 53 54 GL_ARB_texture_compression_bptc DONE 55 GL_ARB_compressed_texture_pixel_storage DONE 56 GL_ARB_shader_atomic_counters DONE 57 GL_ARB_texture_storage DONE 58 GL_ARB_transform_feedback_instanced DONE 59 GL_ARB_base_instance DONE 60 GL_ARB_shader_image_load_store DONE 61 GL_ARB_conservative_depth DONE 62 GL_ARB_shading_language_420pack DONE 63 GL_ARB_shading_language_packing DONE 64 GL_ARB_internalformat_query DONE 65 GL_ARB_map_buffer_alignment DONE 66 67 68GL 4.3, GLSL 4.30: 69 70 GL_ARB_arrays_of_arrays DONE 71 GL_ARB_ES3_compatibility DONE 72 GL_ARB_clear_buffer_object DONE 73 GL_ARB_compute_shader DONE 74 GL_ARB_copy_image DONE 75 GL_KHR_debug DONE 76 GL_ARB_explicit_uniform_location DONE 77 GL_ARB_fragment_layer_viewport DONE 78 GL_ARB_framebuffer_no_attachments DONE 79 GL_ARB_internalformat_query2 DONE 80 GL_ARB_invalidate_subdata DONE 81 GL_ARB_multi_draw_indirect DONE 82 GL_ARB_program_interface_query DONE 83 GL_ARB_robust_buffer_access_behavior DONE 84 GL_ARB_shader_image_size DONE 85 GL_ARB_shader_storage_buffer_object DONE 86 GL_ARB_stencil_texturing DONE 87 GL_ARB_texture_buffer_range DONE 88 GL_ARB_texture_query_levels DONE 89 GL_ARB_texture_storage_multisample DONE 90 GL_ARB_texture_view DONE 91 GL_ARB_vertex_attrib_binding GUEST 92 93 94GL 4.4, GLSL 4.40: 95 96 GL_MAX_VERTEX_ATTRIB_STRIDE 97 GL_ARB_buffer_storage 98 GL_ARB_clear_texture 99 GL_ARB_enhanced_layouts DONE 100 GL_ARB_multi_bind DONE 101 GL_ARB_query_buffer_object 102 GL_ARB_texture_mirror_clamp_to_edge DONE 103 GL_ARB_texture_stencil8 DONE 104 GL_ARB_vertex_type_10f_11f_11f_rev DONE 105 106GL 4.5, GLSL 4.50: 107 108 GL_ARB_ES3_1_compatibility DONE 109 GL_ARB_clip_control DONE 110 GL_ARB_conditional_render_inverted DONE 111 GL_ARB_cull_distance DONE 112 GL_ARB_derivative_control DONE 113 GL_ARB_direct_state_access GUEST 114 GL_ARB_get_texture_sub_image DONE 115 GL_ARB_shader_texture_image_samples DONE 116 GL_ARB_texture_barrier DONE 117 GL_KHR_context_flush_control DONE 118 GL_KHR_robust_buffer_access_behavior DONE 119 GL_KHR_robustness DONE 120 GL_EXT_shader_integer_mix DONE 121 122