New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 912378 link

Starred by 4 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug
Gfx



Sign in to add a comment

crosvm virtio gpu reporting low GL version

Project Member Reported by davidri...@chromium.org, Dec 5

Issue description

glxinfo reports extremely low GL versions:
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Red Hat (0x1af4)
    Device: virgl (0x1010)
    Version: 18.2.6
    Accelerated: yes
    Video memory: 0MB
    Unified memory: no
    Preferred profile: compat (0x2)
    Max core profile version: 0.0
    Max compat profile version: 2.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Red Hat
OpenGL renderer string: virgl
OpenGL version string: 2.1 Mesa 18.2.6
OpenGL shading language version string: 1.20

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.2.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Using ToT mesa does not improve things.

Tracing through code st_api_query_versions during the DRI screen intialization determines the current version to be 2.1 due to ARB_texture_compression_rgtc and NV_conditional_render extensions being missing.

ARB_texture_compression_rgtc appears to be conditional on: 
PIPE_FORMAT_RGTC1_UNORM
PIPE_FORMAT_RGTC1_SNORM
PIPE_FORMAT_RGTC2_UNORM
PIPE_FORMAT_RGTC2_SNORM

NV_conditional_render on PIPE_CAP_CONDITIONAL_RENDER.

The rgtc ones are derived from the virgl caps.v1.sampler.bitmask, and the other directly from caps.v1.conditional_render.

Full reported caps from virgl:
(gdb) print screen->caps.caps
$1 = {max_version = 2, v1 = {max_version = 2, sampler = {bitmask = {4030150534, 185270272, 1476406283, 1912602880, 286269760, 2004221953, 3149642751,
        536903139, 0, 9437184, 0, 0, 0, 0, 0, 0}}, render = {bitmask = {2952799110, 185270272, 1476395019, 301990144, 285220928, 2004221953, 2290649463,
        536903106, 0, 9437184, 0, 0, 0, 0, 0, 0}}, depthstencil = {bitmask = {0 <repeats 16 times>}}, vertexbuffer = {bitmask = {0 <repeats 16 times>}},
    bset = {indep_blend_enable = 1, indep_blend_func = 1, cube_map_array = 1, shader_stencil_export = 0, conditional_render = 0, start_instance = 0,
      primitive_restart = 1, blend_eq_sep = 0, instanceid = 1, vertex_element_instance_divisor = 0, seamless_cube_map = 0, occlusion_query = 1,
      timer_query = 0, streamout_pause_resume = 1, texture_multisample = 1, fragment_coord_conventions = 0, depth_clip_disable = 0,
      seamless_cube_map_per_texture = 0, ubo = 0, color_clamping = 0, poly_stipple = 0, mirror_clamp = 0, texture_query_lod = 0, has_fp64 = 0,
      has_tessellation_shaders = 1, has_indirect_draw = 1, has_sample_shading = 1, has_cull = 0, conditional_render_inverted = 0, derivative_control = 0,
      polygon_offset_clamp = 0, transform_feedback_overflow_query = 0}, glsl_level = 400, max_texture_array_layers = 2048, max_streamout_buffers = 4,
    max_dual_source_render_targets = 0, max_render_targets = 8, max_samples = 16, prim_mask = 31871, max_tbo_size = 134217728, max_uniform_blocks = 15,
    max_viewports = 1, max_texture_gather_components = 4}, v2 = {v1 = {max_version = 2, sampler = {bitmask = {4030150534, 185270272, 1476406283, 1912602880,
          286269760, 2004221953, 3149642751, 536903139, 0, 9437184, 0, 0, 0, 0, 0, 0}}, render = {bitmask = {2952799110, 185270272, 1476395019, 301990144,
          285220928, 2004221953, 2290649463, 536903106, 0, 9437184, 0, 0, 0, 0, 0, 0}}, depthstencil = {bitmask = {0 <repeats 16 times>}}, vertexbuffer = {
        bitmask = {0 <repeats 16 times>}}, bset = {indep_blend_enable = 1, indep_blend_func = 1, cube_map_array = 1, shader_stencil_export = 0,
        conditional_render = 0, start_instance = 0, primitive_restart = 1, blend_eq_sep = 0, instanceid = 1, vertex_element_instance_divisor = 0,
        seamless_cube_map = 0, occlusion_query = 1, timer_query = 0, streamout_pause_resume = 1, texture_multisample = 1, fragment_coord_conventions = 0,
        depth_clip_disable = 0, seamless_cube_map_per_texture = 0, ubo = 0, color_clamping = 0, poly_stipple = 0, mirror_clamp = 0, texture_query_lod = 0,
        has_fp64 = 0, has_tessellation_shaders = 1, has_indirect_draw = 1, has_sample_shading = 1, has_cull = 0, conditional_render_inverted = 0,
        derivative_control = 0, polygon_offset_clamp = 0, transform_feedback_overflow_query = 0}, glsl_level = 400, max_texture_array_layers = 2048,
      max_streamout_buffers = 4, max_dual_source_render_targets = 0, max_render_targets = 8, max_samples = 16, prim_mask = 31871, max_tbo_size = 134217728,
      max_uniform_blocks = 15, max_viewports = 1, max_texture_gather_components = 4}, min_aliased_point_size = 1, max_aliased_point_size = 255,
    min_smooth_point_size = 0, max_smooth_point_size = 0, min_aliased_line_width = 1, max_aliased_line_width = 7.375, min_smooth_line_width = 0,
    max_smooth_line_width = 0, max_texture_lod_bias = 15, max_geom_output_vertices = 256, max_geom_total_output_components = 1024, max_vertex_outputs = 32,
    max_vertex_attribs = 16, max_shader_patch_varyings = 30, min_texel_offset = -8, max_texel_offset = 7, min_texture_gather_offset = -32,
    max_texture_gather_offset = 31, texture_buffer_offset_alignment = 16, uniform_buffer_offset_alignment = 32, shader_buffer_offset_alignment = 64,
    capability_bits = 10205, sample_locations = {52292, 2922047074, 1406761877, 4055832381, 3344594329, 3017518390, 742556014, 284161032},
    max_vertex_attrib_stride = 2048, max_shader_buffer_frag_compute = 12, max_shader_buffer_other_stages = 12, max_shader_image_frag_compute = 32,
    max_shader_image_other_stages = 32, max_image_samples = 0, max_compute_work_group_invocations = 1792, max_compute_shared_memory_size = 65536,
    max_compute_grid_size = {65535, 65535, 65535}, max_compute_block_size = {1792, 1792, 1792}, max_texture_2d_size = 16384, max_texture_3d_size = 2048,
    max_texture_cube_size = 16384, max_combined_shader_buffers = 72, max_atomic_counters = {4096, 4096, 4096, 4096, 4096, 4096}, max_atomic_counter_buffers = {
      16, 16, 16, 16, 16, 16}, max_combined_atomic_counters = 4096, max_combined_atomic_counter_buffers = 96}}

 
The following extensions are present on the host when binding EGL_OPENGL_ES_API:
> got extensions: GL_3DFX_texture_compression_FXT1 GL_AMD_conservative_depth GL_AMD_draw_buffers_blend GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trinary_minmax GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_APPLE_object_purgeable GL_APPLE_packed_pixels GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_stencil_export GL_ARB_shader_storage_buffer_object GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texturgot extensions: GL_ANDROID_extension_pack_es31a GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_APPLE_texture_max_level GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_buffer_storage GL_EXT_clip_cull_distance GL_EXT_color_buffer_float GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image 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_frag_depth GL_EXT_geometry_point_size GL_EXT_geometry_shader GL_EXT_gpu_shader5 GL_EXT_map_buffer_range GL_EXT_multi_draw_arrays GL_EXT_occlusion_query_boolean GL_EXT_polygon_offset_clamp GL_EXT_primitive_bounding_box GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_shader_integer_mix GL_EXT_shader_io_blocks GL_EXT_shader_samples_identical GL_EXT_tessellation_point_size GL_EXT_tessellation_shader GL_EXT_texture_border_clamp GL_EXT_texture_buffer GL_EXT_texture_compression_dxt1 GL_EXT_texture_cube_map_array GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_sRGB_decode GL_EXT_texture_type_2_10_10_10_REV GL_EXT_unpack_subimage GL_INTEL_conservative_rasterization 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_robust_buffer_access_behavior GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_MESA_framebuffer_flip_y GL_MESA_shader_integer_functions GL_NV_draw_buffers GL_NV_fbo_color_attachments GL_NV_image_formats GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_compressed_ETC1_RGB8_texture GL_OES_copy_image GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_get_program_binary GL_OES_gpu_shader5 GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_primitive_bounding_box 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_standard_derivatives GL_OES_stencil8 GL_OES_surfaceless_context GL_OES_tessellation_point_size GL_OES_tessellation_shader GL_OES_texture_3D GL_OES_texture_border_clamp GL_OES_texture_buffer GL_OES_texture_cube_map_array GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_vertex_array_object GL_OES_vertex_half_float GL_OES_viewport_array

The following are present on the host when bind EGL_OPENGL_API.  In particular GL_NV_conditional_render and GL_ARB_texture_compression_rgtc are now included.
got extensions: GL_3DFX_texture_compression_FXT1 GL_AMD_conservative_depth GL_AMD_draw_buffers_blend GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trinary_minmax GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_APPLE_object_purgeable GL_APPLE_packed_pixels GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_stencil_export GL_ARB_shader_storage_buffer_object GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_window_pos GL_ATI_blend_equation_separate GL_ATI_draw_buffers GL_ATI_separate_stencil GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_copy_texture GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_gpu_program_parameters GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shader_framebuffer_fetch GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_shader_integer_mix GL_EXT_shader_samples_identical GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod_bias GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_IBM_multimode_draw_arrays GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_INGR_blend_func_separate 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_robust_buffer_access_behavior GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_MESA_pack_invert GL_MESA_shader_integer_functions GL_MESA_texture_signed_rgba GL_MESA_window_pos GL_NV_blend_square GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fog_distance GL_NV_light_max_exponent GL_NV_packed_depth_stencil GL_NV_primitive_restart GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_env_combine4 GL_NV_texture_rectangle GL_OES_EGL_image GL_OES_read_format GL_S3_s3tc GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SUN_multi_draw_arrays
Here's the full list of what my crosvm eve with guest ToT mesa reports up to GL 3.3:

GL 3.0
consts->GLSLVersion >= 130: 1
(consts->MaxSamples >= 4 || consts->FakeSWMSAA): 1
extensions->ARB_color_buffer_float: 1
extensions->ARB_depth_buffer_float: 1
extensions->ARB_half_float_vertex: 1
extensions->ARB_map_buffer_range: 1
extensions->ARB_shader_texture_lod: 1
extensions->ARB_texture_float: 1
extensions->ARB_texture_rg: 1
extensions->ARB_texture_compression_rgtc: 0
extensions->EXT_draw_buffers2: 1
extensions->ARB_framebuffer_object: 1
extensions->EXT_framebuffer_sRGB: 1
extensions->EXT_packed_float: 1
extensions->EXT_texture_array: 1
extensions->EXT_texture_shared_exponent: 1
extensions->EXT_transform_feedback: 1
extensions->NV_conditional_render: 0GL 3.1
consts->GLSLVersion >= 140: 1
extensions->ARB_draw_instanced: 1
extensions->ARB_texture_buffer_object: 1
extensions->ARB_uniform_buffer_object: 1
extensions->EXT_texture_snorm: 1
extensions->NV_primitive_restart: 1
extensions->NV_texture_rectangle: 1
consts->Program[MESA_SHADER_VERTEX].MaxTextureImageUnits >= 16: 1
GL 3.2
consts->GLSLVersion >= 150: 1
extensions->ARB_depth_clamp: 0
extensions->ARB_draw_elements_base_vertex: 1
extensions->ARB_fragment_coord_conventions: 1
extensions->EXT_provoking_vertex: 1
extensions->ARB_seamless_cube_map: 0
extensions->ARB_sync: 1
extensions->ARB_texture_multisample: 1
extensions->EXT_vertex_array_bgra: 1
GL 3.3
consts->GLSLVersion >= 330: 1
extensions->ARB_blend_func_extended: 0
extensions->ARB_explicit_attrib_location: 1
extensions->ARB_instanced_arrays: 1
extensions->ARB_occlusion_query2: 1
extensions->ARB_shader_bit_encoding: 1
extensions->ARB_texture_rgb10_a2ui: 1
extensions->ARB_timer_query: 1
extensions->ARB_vertex_type_2_10_10_10_rev: 1
extensions->EXT_texture_swizzle: 1
Re-ran with ToT mesa on host and guest along with ToT mesa up to GL 4.6:
ver_3_0:
 ver_2_1: 1
 consts->GLSLVersion >= 130: 1
 (consts->MaxSamples >= 4 || consts->FakeSWMSAA): 1
 (api == API_OPENGL_CORE || extensions->ARB_color_buffer_float): 1
 extensions->ARB_depth_buffer_float: 1
 extensions->ARB_half_float_vertex: 1
 extensions->ARB_map_buffer_range: 1
 extensions->ARB_shader_texture_lod: 1
 extensions->ARB_texture_float: 1
 extensions->ARB_texture_rg: 1
 extensions->ARB_texture_compression_rgtc: 0
 extensions->EXT_draw_buffers2: 1
 extensions->ARB_framebuffer_object: 1
 extensions->EXT_framebuffer_sRGB: 1
 extensions->EXT_packed_float: 1
 extensions->EXT_texture_array: 1
 extensions->EXT_texture_shared_exponent: 1
 extensions->EXT_transform_feedback: 1
 extensions->NV_conditional_render: 0
ver_3_1:
 ver_3_0: 0
 consts->GLSLVersion >= 140: 1
 extensions->ARB_draw_instanced: 1
 extensions->ARB_texture_buffer_object: 1
 extensions->ARB_uniform_buffer_object: 1
 extensions->EXT_texture_snorm: 1
 extensions->NV_primitive_restart: 1
 extensions->NV_texture_rectangle: 1
 consts->Program[MESA_SHADER_VERTEX].MaxTextureImageUnits >= 16: 1
ver_3_2:
 ver_3_1: 0
 consts->GLSLVersion >= 150: 1
 extensions->ARB_depth_clamp: 0
 extensions->ARB_draw_elements_base_vertex: 1
 extensions->ARB_fragment_coord_conventions: 1
 extensions->EXT_provoking_vertex: 1
 extensions->ARB_seamless_cube_map: 1
 extensions->ARB_sync: 1
 extensions->ARB_texture_multisample: 1
 extensions->EXT_vertex_array_bgra: 1
ver_3_3:
 ver_3_2: 0
 consts->GLSLVersion >= 330: 1
 extensions->ARB_blend_func_extended: 0
 extensions->ARB_explicit_attrib_location: 1
 extensions->ARB_instanced_arrays: 1
 extensions->ARB_occlusion_query2: 1
 extensions->ARB_shader_bit_encoding: 1
 extensions->ARB_texture_rgb10_a2ui: 1
 extensions->ARB_timer_query: 1
 extensions->ARB_vertex_type_2_10_10_10_rev: 1
 extensions->EXT_texture_swizzle: 1
ver_4_0:
 ver_3_3: 0
 consts->GLSLVersion >= 400: 1
 extensions->ARB_draw_buffers_blend: 1
 extensions->ARB_draw_indirect: 1
 extensions->ARB_gpu_shader5: 1
 extensions->ARB_gpu_shader_fp64: 0
 extensions->ARB_sample_shading: 1
 extensions->ARB_tessellation_shader: 1
 extensions->ARB_texture_buffer_object_rgb32: 1
 extensions->ARB_texture_cube_map_array: 1
 extensions->ARB_texture_query_lod: 0
 extensions->ARB_transform_feedback2: 1
 extensions->ARB_transform_feedback3: 1
ver_4_1:
 ver_4_0: 0
 consts->GLSLVersion >= 410: 0
 extensions->ARB_ES2_compatibility: 1
 extensions->ARB_shader_precision: 0
 extensions->ARB_vertex_attrib_64bit: 0
 extensions->ARB_viewport_array: 0
ver_4_2:
 ver_4_1: 0
 consts->GLSLVersion >= 420: 0
 extensions->ARB_base_instance: 1
 extensions->ARB_conservative_depth: 1
 extensions->ARB_internalformat_query: 1
 extensions->ARB_shader_atomic_counters: 1
 extensions->ARB_shader_image_load_store: 1
 extensions->ARB_shading_language_420pack: 1
 extensions->ARB_shading_language_packing: 1
 extensions->ARB_texture_compression_bptc: 0
 extensions->ARB_transform_feedback_instanced: 1
ver_4_3:
 ver_4_2: 0
 consts->GLSLVersion >= 430: 0
 consts->Program[MESA_SHADER_VERTEX].MaxUniformBlocks >= 14: 1
 extensions->ARB_ES3_compatibility: 1
 extensions->ARB_arrays_of_arrays: 1
 extensions->ARB_compute_shader: 1
 extensions->ARB_copy_image: 1
 extensions->ARB_explicit_uniform_location: 1
 extensions->ARB_fragment_layer_viewport: 0
 extensions->ARB_framebuffer_no_attachments: 1
 extensions->ARB_internalformat_query2: 1
 extensions->ARB_robust_buffer_access_behavior: 1
 extensions->ARB_shader_image_size: 1
 extensions->ARB_shader_storage_buffer_object: 1
 extensions->ARB_stencil_texturing: 1
 extensions->ARB_texture_buffer_range: 1
 extensions->ARB_texture_query_levels: 1
 extensions->ARB_texture_view: 0
ver_4_4:
 ver_4_3: 0
 consts->GLSLVersion >= 440: 0
 consts->MaxVertexAttribStride >= 2048: 1
 extensions->ARB_buffer_storage: 0
 extensions->ARB_clear_texture: 0
 extensions->ARB_enhanced_layouts: 1
 extensions->ARB_query_buffer_object: 0
 extensions->ARB_texture_mirror_clamp_to_edge: 0
 extensions->ARB_texture_stencil8: 1
 extensions->ARB_vertex_type_10f_11f_11f_rev: 0
ver_4_5:
 ver_4_4: 0
 consts->GLSLVersion >= 450: 0
 extensions->ARB_ES3_1_compatibility: 1
 extensions->ARB_clip_control: 0
 extensions->ARB_conditional_render_inverted: 0
 extensions->ARB_cull_distance: 0
 extensions->ARB_derivative_control: 0
 extensions->ARB_shader_texture_image_samples: 0
 extensions->NV_texture_barrier: 0
ver_4_6:
 ver_4_5: 0
 consts->GLSLVersion >= 460: 0
 /* extensions->ARB_gl_spirv */ 0: 0
 /* extensions->ARB_spirv_extensions */ 0: 0
 extensions->ARB_indirect_parameters: 0
 extensions->ARB_pipeline_statistics_query: 0
 extensions->ARB_polygon_offset_clamp: 0
 extensions->ARB_shader_atomic_counter_ops: 1
 extensions->ARB_shader_draw_parameters: 0
 extensions->ARB_shader_group_vote: 0
 extensions->ARB_texture_filter_anisotropic: 1
 extensions->ARB_transform_feedback_overflow_query: 0
Cc: marc...@chromium.org
Status: Assigned (was: Untriaged)
Project Member

Comment 6 by bugdroid1@chromium.org, Jan 19 (3 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/cc3222f8562d5043a27942750c562028d985e5f0

commit cc3222f8562d5043a27942750c562028d985e5f0
Author: David Riley <davidriley@chromium.org>
Date: Sat Jan 19 12:20:23 2019

virglrenderer: update to upstream f30b4ee37c7404b557d671745aa6fcd9c912994b

Update to upstream.

From: 9b91cc380fdd5bf993f64a9cd452dbc4c98872fa
To: f30b4ee37c7404b557d671745aa6fcd9c912994b

f30b4ee vtest: Refactor argument parsing to use getopt
c21a53d ci: Run piglit gl&gles hosts as separate tests
8e3c7f7 ci: Cleanup CI output
810b333 ci: Harmonize script names
0ad0fdb ci: Remove unused deqp test lists
7f3f1a5 ci: Switch to new test-runner
5176d6d ci: Don't allow HW backends for CI runs
15320da ci: Add new test-runner and previous results
715d53e ci: Remove redundant regression check
f342464 ci: Remove spurios ccache -s
ed8378e ci: Remove previosuly disabled & redundant CTS build cmds
5fc178b ci: Remove previously disabled fakemachine/qemu testing
2ebcc6d virglrenderer: move scissor enables out of draw path.
827bee8 renderer: don't emit scissors on framebuffer state change
8b2e86f blitter: handle GL_FRAMEBUFFER_SRGB for emulated blits
2e3417a vrend,blit: set GL_FRAMEBUFFER_SRGB based on blit dest format and not resource format
3a55d4b vrend,blit: Don't use GL blit when src and dest swizzles are the same
92fe2c2 gallium: bump shader input and output limits
0b115db shader: add and use extension helper
249cbb2 strbuf: factor out strlen out of appending
ee354b6 shader: fixup signature of get_source_info
aa036b8 shader: double size of offbuf and bias
c5e7173 strbuf: copy varargs-list in case of reuse
6c530b5 shader: move body generation to variadic macros.
1c5d657 shader: move header generation to variadic emission.
695e7c3 shader: move body emission to using buffer error state.
06799bf shader: move header emission to use the error state.
375b424 shader: add some strbuf error checks.
f7e0ec0 shader: add string buffer wrapper and use for glsl strings.
e560001 vrend: add new string buffer implementation (v1.2)
4aa32df fix crash with qemu / egl colorspace
39c2099 vrend: assume current framebuffer binding is still correct
6ae19d3 vrend: restore GL_FRAMEBUFFER after clobbering
7a35386 virglrenderer: force ctx0 for cursor
dc8b29f vrend: remove redundant call to make_current
aeac8f4 docs: Add a note about running ASAN
e59edfc shader: Emit swizzles for image size if needed
162d4bf Fix GLX build
3bb14a3 vrend: Also set glsl to at least 400 on D-GL when certain extension are available
b7eccdf shader: Even fewer screaming falsehoods
f8841d8 shader: Fewer screaming truths and falsehoods
bc6fc18 shader: drop prepare_so_movs unused return
dddf10c shader: move header generation into context and align with main body code
bf183d4 shader: don't directly call add_str_to_glsl_main.
777e0a9 shader: Fixes for previous commit
cb15235 shader: consoldiate code on bool return types.
f61516b shader: make add samplers/images use a bool return type
3d1a6e4 shader: make allocate temp range return a bool
e46352c shader: make add_str_to_glsl_main return a boolean.
d46119a ci: Include more build-dependencies of piglit
278ad30 vrend,features: Add a feature for depth_clamp
a61a1c6 shader: handle back color semantics in flat/interp parsing.
8f4a46e vrend: Enable dual_src_blend with GL_EXT_blend_func_extended for GLES.
abb7c52 formats: Add support for EXT_texture_sRGB_R8 if host supports it.
04ecf63 vrend: Add feature srgb_write_control
fb4f757 virgl,egl: add check for EGL_KHR_gl_colorspace
ea97380 shader: drop needless snprintf calls
d10d000 shader: simplify emit_a8_swizzle
71de5e5 shader: drop GL_-part of extension-name in shader_req_table
aa910df virglrenderer: add support for a private pointer in resources. (v2)
d61fc12 shader: Emit winsys_adjust_y only once per FS shader
9670623 vrend: fix signed 31-bit shift.
9b7a109 vrend: cache blend-dirtiness with patching
faef0bf vrend: remove pointless GL_FRAMEBUFFER update
5237968 vrend: cache GL_DRAW_INDIRECT_BUFFER binding
056328c vrend: drop pointless argument to make_current
4757372 vrend: Enable seamless_cube_map for GLES.
b88306a vrend: utilize glBindVertexBuffer when possible
f45295f virglrenderer: bump ops + compare string limits up to 512 bytes
bf233d9 shader: do not leak prefix from previous loop iteration
c63635d vtest: Print segfaults to console
246140f vrend: Check whether a shader type actually exisits before uploading  constants
13d8aac configure.ac: manually expand PKG_CHECK_VAR
78c7144 configure.ac: set ACLOCAL_AMFLAGS to include build-aux
4111fdb configure.ac: Add PKG_PROG_PKG_CONFIG
c3c314a ci: Harmonize piglit results path with dEQP result path
d046298 ci: Set /proc/ options if possible, never fail
010eb82 ci: Clear flip-flopping tests for piglit run
b26dfd7 ci: Let nbr of threads used be controlled centrally
2067a08 ci: Split up build&test Gitlab CI stages
b7c1bd5 ci: Set MESA_DEBUG env. var, to speed up debugging
72de30f ci: Don't build Qemu
bf3e070 ci: Comment run-test.sh exit paths
0215e10 ci: Remove trailing whitespace
5c2e99b ci: Treat piglit crashes as failures
0eead77 ci: Run the same sed call on two files
6b66d49 ci: Remove x.org log from artifacts
26bc3b2 ci: Log CI run commands to artifacts
9f46c37 ci: Save piglit and deqp failures as artifacts
4249def ci: Exclude failing tests
f0a9e42 ci: Sort piglit and depq results to correct&simplify diffs
ac92bf2 ci: Switch to latest mesa/upstream/master commit
ae4042b ci: Remove support for doing distcheck in external repos
da0b969 ci: Run `make check` instead of distcheck
d751cb3 ci: Clean up results directory between runs
9f8c755 ci: Add support for running CI locally
2f9edd6 ci: Switch to gcc-7 to avoid gcc-8 miscompilation of mesa
01da11e ci: Sort Dockerfile deb packages installed
0714ba5 ci: Remove the qemu build-dep, and replace it with qemu install
f30d3fa ci: Bump to libdrm to 2.4.95
5b7a00e ci: Split docker RUN commands into multiple parts
b98b831 ci: Install a fresh meson version using pip
6fc0bc3 ci: Build with debug level -g3 instead of -g0
de86ece ci: Use debian testing for deb-src
46c67de ci: Use a subset of the GLES 2, 3, and 31 master tests
0163bc3 ci: Rework use of software renderer
823219b ci: Set a default value for GL_MAX_VERTEX_ATTRIB_STRIDE
62d2d98 vtest: fix fencing
e47fad3 vtest: Add virgl_hw.h include to get access to virgl defines
aa302e4 shader: TXQ: Don't emit swizzle if we query the size of a buffer
4cf8edd vrend: Make sure no stale links to shader programs remain in a sub-context
f500a29 Fix SHADER_OFFSET_CONT undefined shift
172c967 vrend/shader: handle uniforms as array
c1b6c98 vrend: reduce number of re-allocations in constant copying
3cb4695 renderer: Avoid possible null pointer deref
2157360 renderer: silence unused variable warning
0e7d2c0 renderer: remove unused variable
612d8ce renderer: Fix initialization warning
3ed2781 renderer: Fix potential dereference of null pointer
94a07ad context: remove unused function
e188b30 gallium: Silence unused variable warning
870f08d vtest: Do not mark vtest as initialized if vtest_create_renderer fail
4e8e491 vtest: Fix renderer memory leaks
49377fa shader: Fix memory leaks reported by ASAN
09bae9b egl_init: Write an error message if surfaceless is not supported
dc0deb6 egl_init: Bail out when the extension GL_KHR_create_context is not available
d85c54f egl: remove the compile time check for EGL_MESA_drm_image
bf87b3c egl: remove compile time desicions on EGL_MESA_image_dma_buf_export
70dedae shader: TXQ: also emit a write mask if only one bit is set.
e075346 renderer: avoid overhead of constantly setting negative viewport uniform
69d7f80 vtest: Refactor vtest_server.c
21ebb94 vtest: Unify ident size
701c961 vtest: Use default socket name from protocol header
bb02ee0 vrend: Enable logging infrastructure
d5efa76 vrend: Add possibility for the guest to add debug flags
cbb6a48 debug: Add flag and function for texture logging
40db85e debug: Add debugging for features
97f2b21 debug: Add logging for blits and copy
8900596 debug: Add command and object logging
05a1045 debug: Add shader logging code
20afd5c debug: Add skeleton for switchable logging
47a2154 vrend: Move some feature checks
d4eb065 vrend: refactor feature list to easily add names to features
69e01f2 CI: Add scripts to be able to enable the CI
76d006c vtest/ci: Add test series files and expected results
8603471 shader: Don't emit 'precise' when 'invariant' is already given in declaration
584a1e2 vrend, tex: Support fake multisample correctly
c593037 vtest: fix protocol decls.
b344d95 vrend: GL_COLOR_ATTACHMENT*_EXT -> GL_COLOR_ATTACHMENT*
a8907c2 vrend: glFramebufferTexture*DEXT -> glFramebufferTexture*D
051b8a9 vrend: glBindFramebufferEXT -> glBindFramebuffer
042851a vrend: GL_FRAMEBUFFER_EXT -> GL_FRAMEBUFFER
e44ef7d vrend: do not proble for compressed formats
298059b vtest: refactorized the run_renderer function
061c854 build: include ax_gcc_func_attribute.m4
ee9d6c2 vrend: Use pixel pack buffers as buffers and unbind after use
6564d13 virglrenderer: enable symbol visiblity.
eaca8c5 shader: Don't require ARB_gpu_shader5 on gles for certain texture gather operations
8d6054e Eliminate the use of  EGL_MESA_image_dma_buf_export for compile time decisions
5a47204 tests: Make it possible to run the unit tests with EGL_SURFACELESS
1905b38 shader: correct swizzles from TGSI_SEMANTIC_SAMPLEPOS
efba840 shader: add TXP special handling on GLES host for 1D textures
7f5e49d blitter: Replace 1D by 2D on GLES host and correct texture function call
4381185 vrend_renderer.c: remove use_sub_data

BUG=chromium:912378
TEST=glxinfo shows GL_EXT_blend_func_extended

Change-Id: Idb254f39d68d0633ebe393a093d2cfb5c8f79da5
Reviewed-on: https://chromium-review.googlesource.com/1420337
Commit-Ready: David Riley <davidriley@chromium.org>
Tested-by: David Riley <davidriley@chromium.org>
Reviewed-by: Pohsien Wang <pwang@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>

[delete] https://crrev.com/5b943d8516cf2d3a0c7217e7d2dc4586e94404f7/media-libs/virglrenderer/virglrenderer-0.7.0_p20180919-r2.ebuild
[add] https://crrev.com/cc3222f8562d5043a27942750c562028d985e5f0/media-libs/virglrenderer/virglrenderer-0.7.0_p20190117-r1.ebuild
[modify] https://crrev.com/cc3222f8562d5043a27942750c562028d985e5f0/media-libs/virglrenderer/Manifest
[rename] https://crrev.com/cc3222f8562d5043a27942750c562028d985e5f0/media-libs/virglrenderer/virglrenderer-0.7.0_p20190117.ebuild

Sign in to add a comment