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