Corruptions on evdi atomic gpu driver.
Reported by
lukasz.s...@displaylink.com,
Sep 27 2017
|
||
Issue descriptionChrome Version: <From about:version: Google Chrome 63.0.3223.0 (Developer Build) (32 - bit)> Chrome OS Version: <From about:version: Platform 9974.0.2017_09_26 developer-build kevin> Chrome OS Platform: <kevin, Samsung Chromebook Plus> Steps To Reproduce: (1) Build ChromiumOS with atomic evdi driver(Patcheset 8): Review can be found here: https://chromium-review.googlesource.com/?polygerrit=0#/c/chromiumos/third_party/kernel/+/469710/ (2) Apply patch from attachments that is dropping use of deprecated drm_framebuffer reservation callback: 0001-CrBug-Rendering-corruptions-after-removing-reservati.patch (3) Build an image with modified atomic evdi driver and load it onto kevin chromebook. (4) Attach DisplayLink USB3 device. Move/shake quickly chrome browser window on USB3 Display. Expected Result: Window is not corrupted. Actual Result: You can see window corruptions when moving window. How frequently does this problem reproduce? Always What is the impact to the user, and is there a workaround? If so, what is it? No impact. Corruptions disappear when stopped moving window. Movie attached. The bug is related to recent changes in evdi drm driver. See. Cr-469710: https://chromium-review.googlesource.com/?polygerrit=0#/c/chromiumos/third_party/kernel/+/469710/ We had conversation with Dominik Behr on XDC2017 about reservation objects in drm drivers. That functionality should be abandoned in favor of explicit in/out drm fences. He claims that in ChromeOS there is no need for additional synchronization between rendering gpu and prime output slave device. Apparently this is not working for atomic version of evdi driver as we still see corruptions on USB display. ------------------------------------------------------------------------------------ Full contents of the about:gpu in the attachments Note: To properly save this page, select the "Webpage, Complete" option in the Save File dialog. Graphics Feature Status Canvas: Hardware accelerated CheckerImaging: Enabled Flash: Hardware accelerated Flash Stage3D: Hardware accelerated Flash Stage3D Baseline profile: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Disabled Native GpuMemoryBuffers: Software only. Hardware acceleration disabled Panel Fitting: Unavailable Rasterization: Software only, hardware acceleration unavailable Video Decode: Hardware accelerated Video Encode: Hardware accelerated WebGL: Hardware accelerated WebGL2: Hardware accelerated Driver Bug Workarounds clear_uniforms_before_first_program_use disable_discard_framebuffer disable_framebuffer_cmaa disable_non_empty_post_sub_buffers_for_onscreen_surfaces scalarize_vec_and_mat_constructor_args use_virtualized_gl_contexts Problems Detected Chrome OS panel fitting is only supported for Intel IVB and SNB Graphics Controllers Disabled Features: panel_fitting GPU rasterization on CrOS is blacklisted on non-Intel GPUs for now.: 684094 Disabled Features: gpu_rasterization The Mali-Txxx driver does not guarantee flush ordering: 154715, 10068, 269829, 294779, 285292 Applied Workarounds: use_virtualized_gl_contexts Framebuffer discarding causes jumpy scrolling on Mali drivers: 301988 Applied Workarounds: disable_discard_framebuffer Clear uniforms before first program use on all platforms: 124764, 349137 Applied Workarounds: clear_uniforms_before_first_program_use Always rewrite vec/mat constructors to be consistent: 398694 Applied Workarounds: scalarize_vec_and_mat_constructor_args The Mali-Txxx driver hangs when reading from currently displayed buffer: 457511 Applied Workarounds: disable_non_empty_post_sub_buffers_for_onscreen_surfaces Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198 Applied Workarounds: disable_framebuffer_cmaa Disable KHR_blend_equation_advanced until cc shaders are updated: 661715 Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent) Raster is using a single thread. Disabled Features: multiple_raster_threads Native GpuMemoryBuffers have been disabled, either via about:flags or command line. Disabled Features: native_gpu_memory_buffers Version Information Data exported 9/27/2017, 2:01:31 AM Chrome version Chrome/63.0.3223.0 Operating system Linux 4.4.86 Software rendering list version 13.12 Driver bug list version 10.31 ANGLE commit id 1f9d68437c9d 2D graphics backend Skia/63 0 Command Line /opt/google/chrome/chrome --enable-logging --enable-drm-atomic --enable-hardware-overlays=single-fullscreen,single-on-top --edge-touch-filtering --gpu-sandbox-failures-fatal=yes --gpu-sandbox-start-early --num-raster-threads=1 --ui-prioritize-in-gpu-process --use-cras --use-gl=egl --user-data-dir=/home/chronos --enable-webgl-image-chromium --enable-touchview --arc-availability=officially-supported --has-chromeos-keyboard --login-profile=user --system-developer-mode --bwsi --homepage=chrome://newtab/ --incognito --log-level=1 --login-user=$guest --login-user=$guest --login-profile=f3dbfd6aab87cd03a2852e97a4f99030bdc8669f --vmodule=tablet_power_button_controller=1,*chromeos/login/*=1,auto_enrollment_controller=1,*plugin*=2,*zygote*=1,*/ui/ozone/*=1,*/ui/display/manager/chromeos/*=1,power_button_observer=2,webui_login_view=2,lock_state_controller=2,webui_screen_locker=2,screen_locker=2 --disable-sync --disable-extensions Driver Information Initialization time 23 In-process GPU false Passthrough Command Decoder false Supports overlays false Sandboxed true GPU0 VENDOR = 0x0000, DEVICE= 0x0000 Optimus false Optimus false AMD switchable false Driver vendor ES Driver version 3.1 Driver date Pixel shader version 3.10 Vertex shader version 3.10 Max. MSAA samples 16 Machine model name Machine model version GL_VENDOR ARM GL_RENDERER Mali-T860 GL_VERSION OpenGL ES 3.1 v1.r12p0-04rel0.f9a400de11476aed93d6a32d4905114c GL_EXTENSIONS GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent Window system binding vendor ARM Window system binding version 1.4 Midgard-"r12p0-04rel0" Window system binding extensions EGL_KHR_partial_update EGL_EXT_swap_buffers_with_damage EGL_KHR_swap_buffers_with_damage EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_image_pixmap EGL_EXT_image_flush_external EGL_ANDROID_native_fence_sync EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority EGL_ARM_pixmap_multisample_discard EGL_ARM_implicit_external_sync EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_KHR_gl_texture_cubemap_image EGL_EXT_create_context_robustness Direct rendering Yes Reset notification strategy 0x8252 GPU process crash count 0 Compositor Information Tile Update Mode One-copy Partial Raster Enabled GpuMemoryBuffers Status ATC Software only ATCIA Software only DXT1 Software only DXT5 Software only ETC1 Software only R_8 Software only R_16 Software only RG_88 Software only BGR_565 GPU_READ RGBA_4444 Software only RGBX_8888 GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE RGBA_8888 GPU_READ, SCANOUT_CPU_READ_WRITE BGRX_8888 GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE BGRA_8888 GPU_READ, SCANOUT_CPU_READ_WRITE RGBA_F16 Software only YVU_420 GPU_READ YUV_420_BIPLANAR Software only UYVY_422 Software only Log Messages [3360:3404:0927/000700.748483:VERBOSE1:drm_device_manager.cc(53)] : Could not initialize DRM device for /sys/devices/platform/vgem/drm/card0 [3360:3404:0927/000701.749674:VERBOSE1:drm_util.cc(371)] : Failed to get EDID blob for connector 37 [3360:3404:0927/000701.750805:VERBOSE1:drm_display.cc(102)] : DRM configuring: device=/sys/devices/platform/display-subsystem/drm/card1 crtc=33 connector=37 origin=0,0 size=2400x1600 [3360:3404:0927/000702.029040:VERBOSE1:drm_display.cc(102)] : DRM configuring: device=/sys/devices/platform/evdi.0/drm/card2 crtc=29 connector=31 origin=0,1660 size=3840x2160 [3360:3360:0927/000702.637573:ERROR:gl_image_native_pixmap.cc(240)] : Failed to flush rendering [3360:3360:0927/000702.789045:ERROR:gl_image_native_pixmap.cc(240)] : Failed to flush rendering [3360:3360:0927/000703.122199:ERROR:gl_image_native_pixmap.cc(240)] : Failed to flush rendering
,
Oct 22
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot |
||
►
Sign in to add a comment |
||
Comment 1 by dhadd...@chromium.org
, Oct 19 2017