Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add additional disabling for AImageReader #52

Merged
merged 1 commit into from
Jan 13, 2020

Conversation

Signed-off-by: Renlord <me@renlord.com>
@thestinger thestinger merged commit f0e7bf8 into GrapheneOS:10 Jan 13, 2020
@csagan5
Copy link

csagan5 commented Jan 13, 2020

The referenced Bromite patch also disables hardware-accelerated decoding under some conditions, see the issue dicussion.

Without that you will still get crashes on Android 10 arm64 (only for Adreno GPUs, according to an user).

@njfox
Copy link
Contributor

njfox commented Jan 13, 2020

@csagan5 are you talking about this part of the patch? If so that could explain why I'm still seeing the crash even with this PR applied on blueline

@csagan5
Copy link

csagan5 commented Jan 13, 2020

@njfox yes, I added that part; as I mention in #53 it would be nicer to use my patch with author and date at this point

@renlord
Copy link
Contributor Author

renlord commented Jan 14, 2020

I was actually able to get HW acceleration to work on sargo and can no longer re-produce crashes.
And according to hardware specifications, pixel3a (sargo) does indeed have an Adreno GPU.

How I tested was:

  1. Played a bunch of youtube videos (i.e. Full HD, 4K with pauses/play, skipping and etc...)
  2. Went to load a bunch of GIFs on giphy.com
  3. Browsed the public timeline in Twitter.

No crashes so far.

Still investigating what the actual problem is.

I have a suspicion it might have to do with build environment, but still too early to tell.

chrome://gpu output:

Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Disabled
Out-of-process Rasterization: Disabled
Hardware Protected Video Decode: Unavailable
Rasterization: Hardware accelerated
Skia Renderer: Disabled
Surface Control: Enabled
Video Decode: Hardware accelerated
Viz Display Compositor: Enabled
Viz Hit-test Surface Layer: Enabled
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_program_caching_for_transform_feedback
disable_timestamp_queries
force_cube_map_positive_x_allocation
max_copy_texture_chromium_size_1048576
max_msaa_sample_count_4
max_texture_size_limit_4096
round_down_uniform_bind_buffer_range_size
scalarize_vec_and_mat_constructor_args
unbind_egl_context_to_flush_driver_caches
use_copyteximage2d_instead_of_readpixels_on_multisampled_textures
use_es2_for_oopr
use_virtualized_gl_contexts
wake_up_gpu_before_drawing
disabled_extension_GL_EXT_shader_framebuffer_fetch
disabled_extension_GL_KHR_blend_equation_advanced
disabled_extension_GL_KHR_blend_equation_advanced_coherent
disabled_webgl_extension_EXT_disjoint_timer_query
disabled_webgl_extension_EXT_disjoint_timer_query_webgl2
Problems Detected
Protected video decoding with swap chain is for Windows and Intel only
Disabled Features: protected_video_decode
Non-virtual contexts on Qualcomm sometimes cause out-of-order frames: 163464, 233612, 289461
Applied Workarounds: use_virtualized_gl_contexts
The first draw operation from an idle state is slow: 309734
Applied Workarounds: wake_up_gpu_before_drawing
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
glFinish doesn't clear caches on Android: 509727
Applied Workarounds: unbind_egl_context_to_flush_driver_caches
Android Adreno crashes on binding incomplete cube map texture to FBO: 518889
Applied Workarounds: force_cube_map_positive_x_allocation
CHROMIUM_copy_texture with 1MB copy per flush to avoid unwanted cache growth on Adreno: 542478
Applied Workarounds: max_copy_texture_chromium_size_1048576
Limit max texure size to 4096 on all of Android
Applied Workarounds: max_texture_size_limit_4096
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)
Program binaries don't contain transform feedback varyings on Qualcomm GPUs: 658074
Applied Workarounds: disable_program_caching_for_transform_feedback
Don't expose disjoint_timer_query extensions to WebGL unless site isolation is enabled: 808744
Limit MSAA to 4x on Android devices: 797243
Applied Workarounds: max_msaa_sample_count_4
A deleted query id for GL_TIMESTAMP cannot be reused for other query targets: 858879
Applied Workarounds: disable_timestamp_queries
Frequent crashes on Adreno (TM) on L and below: 866613, 860021
Applied Workarounds: use_es2_for_oopr
ReadPixels is broken with EXT_multisampled_render_to_texture on recent Adreno drivers.: 890002
Applied Workarounds: use_copyteximage2d_instead_of_readpixels_on_multisampled_textures
Round down glBindBufferRange size to a multiple of 4 on Qualcomm Adreno GPUs for uniform buffers: 906743
Applied Workarounds: round_down_uniform_bind_buffer_range_size
Crash on Adreno when using GL_EXT_shader_framebuffer_fetch: 1010338
Applied Workarounds: disable(GL_EXT_shader_framebuffer_fetch)
Raster is using a single thread.
Disabled Features: multiple_raster_threads
Version Information
Data exported	2020-01-13T22:19:06.118Z
Chrome version	Chrome/79.0.3945.116
Operating system	Android 10
Software rendering list URL	https://chromium.googlesource.com/chromium/src/+/64953db9f4468d309c976ee1823310d82c7ca6af/gpu/config/software_rendering_list.json
Driver bug list URL	https://chromium.googlesource.com/chromium/src/+/64953db9f4468d309c976ee1823310d82c7ca6af/gpu/config/gpu_driver_bug_list.json
ANGLE commit id	48aa52f7305a
2D graphics backend	Skia/79 104d6dd34927d32b92c5f5b2a671b49fbe079080
Command Line	--use-mobile-user-agent --use-mobile-user-agent --enable-viewport --validate-input-event-stream --enable-longpress-drag-selection --touch-selection-strategy=direction --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --enable-dom-distiller --flag-switches-begin --flag-switches-end --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5
Driver Information
Initialization time	177
In-process GPU	false
Passthrough Command Decoder	false
Sandboxed	false
GPU0	VENDOR= 0x0000 [Qualcomm], DEVICE=0x0000 [Adreno (TM) 615] *ACTIVE*
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	384.0
GPU CUDA compute capability major version	0
Pixel shader version	3.20
Vertex shader version	3.20
Max. MSAA samples	4
Machine model name	Pixel 3a
Machine model version	
GL_VENDOR	Qualcomm
GL_RENDERER	Adreno (TM) 615
GL_VERSION	OpenGL ES 3.2 V@384.0 (GIT@4a00b69, I4e7e888065) (Date:04/09/19)
GL_EXTENSIONS	GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_half_float GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_compressed_ETC1_RGB8_texture GL_AMD_compressed_ATC_texture GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_OES_texture_compression_astc GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra GL_OES_texture_3D GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_QCOM_alpha_test GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_EXT_sRGB GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_sRGB_decode GL_EXT_texture_format_sRGB_override GL_OES_element_index_uint GL_EXT_copy_image GL_EXT_geometry_shader GL_EXT_tessellation_shader GL_OES_texture_stencil8 GL_EXT_shader_io_blocks GL_OES_shader_image_atomic GL_OES_sample_variables GL_EXT_texture_border_clamp GL_EXT_EGL_image_external_wrap_modes GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_shader_multisample_interpolation GL_EXT_texture_cube_map_array GL_EXT_draw_buffers_indexed GL_EXT_gpu_shader5 GL_EXT_robustness GL_EXT_texture_buffer GL_EXT_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_texture_storage_multisample_2d_array GL_OES_sample_shading GL_OES_get_program_binary GL_EXT_debug_label GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_QCOM_tiled_rendering GL_ANDROID_extension_pack_es31a GL_EXT_primitive_bounding_box GL_OES_standard_derivatives GL_OES_vertex_array_object GL_EXT_disjoint_timer_query GL_KHR_debug GL_EXT_YUV_target GL_EXT_sRGB_write_control GL_EXT_texture_norm16 GL_EXT_discard_framebuffer GL_OES_surfaceless_context GL_OVR_multiview GL_OVR_multiview2 GL_EXT_texture_sRGB_R8 GL_KHR_no_error GL_EXT_debug_marker GL_OES_EGL_image_external_essl3 GL_OVR_multiview_multisampled_render_to_texture GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_blit_framebuffer_params GL_EXT_clip_cull_distance GL_EXT_protected_textures GL_EXT_shader_non_constant_global_initializers GL_QCOM_texture_foveated GL_QCOM_texture_foveated_subsampled_layout GL_QCOM_shader_framebuffer_fetch_noncoherent GL_QCOM_shader_framebuffer_fetch_rate GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_EGL_image_array GL_NV_shader_noperspective_interpolation GL_KHR_robust_buffer_access_behavior GL_EXT_EGL_image_storage GL_EXT_blend_func_extended GL_EXT_clip_control GL_OES_texture_view GL_EXT_fragment_invocation_density
Disabled Extensions	GL_EXT_shader_framebuffer_fetch GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions	EXT_disjoint_timer_query EXT_disjoint_timer_query_webgl2
Window system binding vendor	
Window system binding version	
Window system binding extensions	
Direct rendering version	unknown
Reset notification strategy	0x8252
GPU process crash count	0
gfx::BufferFormats supported for allocation and texturing	R_8: not supported, R_16: not supported, RG_88: not supported, BGR_565: not supported, RGBA_4444: not supported, RGBX_8888: not supported, RGBA_8888: not supported, BGRX_8888: not supported, BGRX_1010102: not supported, RGBX_1010102: not supported, BGRA_8888: not supported, RGBA_F16: not supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, P010: not supported
Compositor Information
Tile Update Mode	One-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
R_8	Software only
R_16	Software only
RG_88	Software only
BGR_565	GPU_READ, SCANOUT
RGBA_4444	Software only
RGBX_8888	GPU_READ, SCANOUT
RGBA_8888	GPU_READ, SCANOUT
BGRX_8888	Software only
BGRX_1010102	Software only
RGBX_1010102	Software only
BGRA_8888	Software only
RGBA_F16	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
P010	Software only
Display(s) Information
Info	Display[0] bounds=[0,0 393x808], workarea=[0,0 393x808], scale=2.75, external.
Color space information	{primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
SDR white level in nits	80
Bits per color component	8
Bits per pixel	24
Video Acceleration Information
Encode vp8	0x0 to 1280x720 pixels, and/or 30.000 fps
Encode h264 baseline	0x0 to 1280x720 pixels, and/or 30.000 fps
Log Messages
[ERROR:gles2_cmd_decoder.cc(18494)] : [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(10711)] : [.DisplayCompositor]RENDER WARNING: texture bound to texture unit 0 is not renderable. It might be non-power-of-2 or have incompatible texture filtering (maybe)?
[ERROR:gles2_cmd_decoder.cc(10711)] : [.DisplayCompositor]RENDER WARNING: texture bound to texture unit 0 is not renderable. It might be non-power-of-2 or have incompatible texture filtering (maybe)?
[ERROR:gles2_cmd_decoder.cc(18494)] : [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(13396)] : [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleOverlayPlaneCHROMIUM: unsupported texture format
[ERROR:gles2_cmd_decoder.cc(13396)] : [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleOverlayPlaneCHROMIUM: unsupported texture format
[ERROR:gles2_cmd_decoder.cc(18494)] : [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(13396)] : [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleOverlayPlaneCHROMIUM: unsupported texture format
[ERROR:gles2_cmd_decoder.cc(13396)] : [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleOverlayPlaneCHROMIUM: unsupported texture format
[ERROR:gles2_cmd_decoder.cc(18494)] : [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(13396)] : [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleOverlayPlaneCHROMIUM: unsupported texture format
[ERROR:gles2_cmd_decoder.cc(18494)] : [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(13396)] : [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleOverlayPlaneCHROMIUM: unsupported texture format

@csagan5
Copy link

csagan5 commented Jan 14, 2020

I was actually able to get HW acceleration to work on sargo and can no longer re-produce crashes.

@renlord what changed? a clean build / latest Chromium version?

From your chrome://gpu output I see that accelerated video decode is enabled but the protected one is not:

Hardware Protected Video Decode: Unavailable
Video Decode: Hardware accelerated
Disabled Features: protected_video_decode

This of course means nothing without comparing to a chrome://gpu output in the crashing case.

@thestinger
Copy link
Member

Protected is probably just marked unavailable due to it being GrapheneOS.

@njfox
Copy link
Contributor

njfox commented Jan 14, 2020

I just tried again on blueline with a completely fresh build of both vanadium and graphene (rm -rfed /out for both) and I'm definitely still getting the crash.

I'm building on an Arch Linux host. I'm going to try building on Ubuntu to test renlord's theory that it could be something with the build environment.

@renlord renlord deleted the hotfix/imagereader-crashes branch January 15, 2020 03:05
@renlord
Copy link
Contributor Author

renlord commented Jan 15, 2020

Crashing Case chrome://gpu

Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Disabled
Out-of-process Rasterization: Disabled
Hardware Protected Video Decode: Unavailable
Rasterization: Hardware accelerated
Skia Renderer: Disabled
Surface Control: Enabled
Video Decode: Hardware accelerated
Viz Display Compositor: Enabled
Viz Hit-test Surface Layer: Enabled
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_program_caching_for_transform_feedback
disable_timestamp_queries
force_cube_map_positive_x_allocation
max_copy_texture_chromium_size_1048576
max_msaa_sample_count_4
max_texture_size_limit_4096
round_down_uniform_bind_buffer_range_size
scalarize_vec_and_mat_constructor_args
unbind_egl_context_to_flush_driver_caches
use_copyteximage2d_instead_of_readpixels_on_multisampled_textures
use_es2_for_oopr
use_virtualized_gl_contexts
wake_up_gpu_before_drawing
disabled_extension_GL_EXT_shader_framebuffer_fetch
disabled_extension_GL_KHR_blend_equation_advanced
disabled_extension_GL_KHR_blend_equation_advanced_coherent
disabled_webgl_extension_EXT_disjoint_timer_query
disabled_webgl_extension_EXT_disjoint_timer_query_webgl2
Problems Detected
Protected video decoding with swap chain is for Windows and Intel only
Disabled Features: protected_video_decode
Non-virtual contexts on Qualcomm sometimes cause out-of-order frames: 163464, 233612, 289461
Applied Workarounds: use_virtualized_gl_contexts
The first draw operation from an idle state is slow: 309734
Applied Workarounds: wake_up_gpu_before_drawing
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
glFinish doesn't clear caches on Android: 509727
Applied Workarounds: unbind_egl_context_to_flush_driver_caches
Android Adreno crashes on binding incomplete cube map texture to FBO: 518889
Applied Workarounds: force_cube_map_positive_x_allocation
CHROMIUM_copy_texture with 1MB copy per flush to avoid unwanted cache growth on Adreno: 542478
Applied Workarounds: max_copy_texture_chromium_size_1048576
Limit max texure size to 4096 on all of Android
Applied Workarounds: max_texture_size_limit_4096
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)
Program binaries don't contain transform feedback varyings on Qualcomm GPUs: 658074
Applied Workarounds: disable_program_caching_for_transform_feedback
Don't expose disjoint_timer_query extensions to WebGL unless site isolation is enabled: 808744
Limit MSAA to 4x on Android devices: 797243
Applied Workarounds: max_msaa_sample_count_4
A deleted query id for GL_TIMESTAMP cannot be reused for other query targets: 858879
Applied Workarounds: disable_timestamp_queries
Frequent crashes on Adreno (TM) on L and below: 866613, 860021
Applied Workarounds: use_es2_for_oopr
ReadPixels is broken with EXT_multisampled_render_to_texture on recent Adreno drivers.: 890002
Applied Workarounds: use_copyteximage2d_instead_of_readpixels_on_multisampled_textures
Round down glBindBufferRange size to a multiple of 4 on Qualcomm Adreno GPUs for uniform buffers: 906743
Applied Workarounds: round_down_uniform_bind_buffer_range_size
Crash on Adreno when using GL_EXT_shader_framebuffer_fetch: 1010338
Applied Workarounds: disable(GL_EXT_shader_framebuffer_fetch)
Raster is using a single thread.
Disabled Features: multiple_raster_threads
Version Information
Data exported	2020-01-15T03:06:27.187Z
Chrome version	Chrome/79.0.3945.93
Operating system	Android 10
Software rendering list URL	https://chromium.googlesource.com/chromium/src/+/5cacf84ee348e7ccedc2330d2520f9f342b3cfec/gpu/config/software_rendering_list.json
Driver bug list URL	https://chromium.googlesource.com/chromium/src/+/5cacf84ee348e7ccedc2330d2520f9f342b3cfec/gpu/config/gpu_driver_bug_list.json
ANGLE commit id	48aa52f7305a
2D graphics backend	Skia/79 64f0af0f6548f7b8c45e7e3b2630e34deb04c1aa
Command Line	--use-mobile-user-agent --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5 --use-mobile-user-agent --enable-viewport --validate-input-event-stream --enable-longpress-drag-selection --touch-selection-strategy=direction --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --enable-dom-distiller --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	189
In-process GPU	false
Passthrough Command Decoder	false
Sandboxed	false
GPU0	VENDOR= 0x0000 [Qualcomm], DEVICE=0x0000 [Adreno (TM) 630] *ACTIVE*
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	384.0
GPU CUDA compute capability major version	0
Pixel shader version	3.20
Vertex shader version	3.20
Max. MSAA samples	4
Machine model name	Pixel 3 XL
Machine model version	
GL_VENDOR	Qualcomm
GL_RENDERER	Adreno (TM) 630
GL_VERSION	OpenGL ES 3.2 V@384.0 (GIT@4a00b69, I4e7e888065) (Date:04/09/19)
GL_EXTENSIONS	GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_half_float GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_compressed_ETC1_RGB8_texture GL_AMD_compressed_ATC_texture GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_OES_texture_compression_astc GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra GL_OES_texture_3D GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_QCOM_alpha_test GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_EXT_sRGB GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_sRGB_decode GL_EXT_texture_format_sRGB_override GL_OES_element_index_uint GL_EXT_copy_image GL_EXT_geometry_shader GL_EXT_tessellation_shader GL_OES_texture_stencil8 GL_EXT_shader_io_blocks GL_OES_shader_image_atomic GL_OES_sample_variables GL_EXT_texture_border_clamp GL_EXT_EGL_image_external_wrap_modes GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_shader_multisample_interpolation GL_EXT_texture_cube_map_array GL_EXT_draw_buffers_indexed GL_EXT_gpu_shader5 GL_EXT_robustness GL_EXT_texture_buffer GL_EXT_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_texture_storage_multisample_2d_array GL_OES_sample_shading GL_OES_get_program_binary GL_EXT_debug_label GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_QCOM_tiled_rendering GL_ANDROID_extension_pack_es31a GL_EXT_primitive_bounding_box GL_OES_standard_derivatives GL_OES_vertex_array_object GL_EXT_disjoint_timer_query GL_KHR_debug GL_EXT_YUV_target GL_EXT_sRGB_write_control GL_EXT_texture_norm16 GL_EXT_discard_framebuffer GL_OES_surfaceless_context GL_OVR_multiview GL_OVR_multiview2 GL_EXT_texture_sRGB_R8 GL_KHR_no_error GL_EXT_debug_marker GL_OES_EGL_image_external_essl3 GL_OVR_multiview_multisampled_render_to_texture GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_blit_framebuffer_params GL_EXT_clip_cull_distance GL_EXT_protected_textures GL_EXT_shader_non_constant_global_initializers GL_QCOM_texture_foveated GL_QCOM_texture_foveated_subsampled_layout GL_QCOM_shader_framebuffer_fetch_noncoherent GL_QCOM_shader_framebuffer_fetch_rate GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_EGL_image_array GL_NV_shader_noperspective_interpolation GL_KHR_robust_buffer_access_behavior GL_EXT_EGL_image_storage GL_EXT_blend_func_extended GL_EXT_clip_control GL_OES_texture_view GL_EXT_fragment_invocation_density
Disabled Extensions	GL_EXT_shader_framebuffer_fetch GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions	EXT_disjoint_timer_query EXT_disjoint_timer_query_webgl2
Window system binding vendor	
Window system binding version	
Window system binding extensions	
Direct rendering version	unknown
Reset notification strategy	0x8252
GPU process crash count	0
gfx::BufferFormats supported for allocation and texturing	R_8: not supported, R_16: not supported, RG_88: not supported, BGR_565: not supported, RGBA_4444: not supported, RGBX_8888: not supported, RGBA_8888: not supported, BGRX_8888: not supported, BGRX_1010102: not supported, RGBX_1010102: not supported, BGRA_8888: not supported, RGBA_F16: not supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, P010: not supported
Compositor Information
Tile Update Mode	One-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
R_8	Software only
R_16	Software only
RG_88	Software only
BGR_565	GPU_READ, SCANOUT
RGBA_4444	Software only
RGBX_8888	GPU_READ, SCANOUT
RGBA_8888	GPU_READ, SCANOUT
BGRX_8888	Software only
BGRX_1010102	Software only
RGBX_1010102	Software only
BGRA_8888	Software only
RGBA_F16	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
P010	Software only
Display(s) Information
Info	Display[0] bounds=[0,0 412x846], workarea=[0,0 412x846], scale=3.5, external.
Color space information	{primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
SDR white level in nits	80
Bits per color component	8
Bits per pixel	24
Video Acceleration Information
Encode vp8	0x0 to 1280x720 pixels, and/or 30.000 fps
Encode h264 baseline	0x0 to 1280x720 pixels, and/or 30.000 fps

Fixed Case chrome://gpu:

Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Disabled
Out-of-process Rasterization: Disabled
Hardware Protected Video Decode: Unavailable
Rasterization: Hardware accelerated
Skia Renderer: Disabled
Surface Control: Enabled
Video Decode: Hardware accelerated
Viz Display Compositor: Enabled
Viz Hit-test Surface Layer: Enabled
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_program_caching_for_transform_feedback
disable_timestamp_queries
force_cube_map_positive_x_allocation
max_copy_texture_chromium_size_1048576
max_msaa_sample_count_4
max_texture_size_limit_4096
round_down_uniform_bind_buffer_range_size
scalarize_vec_and_mat_constructor_args
unbind_egl_context_to_flush_driver_caches
use_copyteximage2d_instead_of_readpixels_on_multisampled_textures
use_es2_for_oopr
use_virtualized_gl_contexts
wake_up_gpu_before_drawing
disabled_extension_GL_EXT_shader_framebuffer_fetch
disabled_extension_GL_KHR_blend_equation_advanced
disabled_extension_GL_KHR_blend_equation_advanced_coherent
disabled_webgl_extension_EXT_disjoint_timer_query
disabled_webgl_extension_EXT_disjoint_timer_query_webgl2
Problems Detected
Protected video decoding with swap chain is for Windows and Intel only
Disabled Features: protected_video_decode
Non-virtual contexts on Qualcomm sometimes cause out-of-order frames: 163464, 233612, 289461
Applied Workarounds: use_virtualized_gl_contexts
The first draw operation from an idle state is slow: 309734
Applied Workarounds: wake_up_gpu_before_drawing
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
glFinish doesn't clear caches on Android: 509727
Applied Workarounds: unbind_egl_context_to_flush_driver_caches
Android Adreno crashes on binding incomplete cube map texture to FBO: 518889
Applied Workarounds: force_cube_map_positive_x_allocation
CHROMIUM_copy_texture with 1MB copy per flush to avoid unwanted cache growth on Adreno: 542478
Applied Workarounds: max_copy_texture_chromium_size_1048576
Limit max texure size to 4096 on all of Android
Applied Workarounds: max_texture_size_limit_4096
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)
Program binaries don't contain transform feedback varyings on Qualcomm GPUs: 658074
Applied Workarounds: disable_program_caching_for_transform_feedback
Don't expose disjoint_timer_query extensions to WebGL unless site isolation is enabled: 808744
Limit MSAA to 4x on Android devices: 797243
Applied Workarounds: max_msaa_sample_count_4
A deleted query id for GL_TIMESTAMP cannot be reused for other query targets: 858879
Applied Workarounds: disable_timestamp_queries
Frequent crashes on Adreno (TM) on L and below: 866613, 860021
Applied Workarounds: use_es2_for_oopr
ReadPixels is broken with EXT_multisampled_render_to_texture on recent Adreno drivers.: 890002
Applied Workarounds: use_copyteximage2d_instead_of_readpixels_on_multisampled_textures
Round down glBindBufferRange size to a multiple of 4 on Qualcomm Adreno GPUs for uniform buffers: 906743
Applied Workarounds: round_down_uniform_bind_buffer_range_size
Crash on Adreno when using GL_EXT_shader_framebuffer_fetch: 1010338
Applied Workarounds: disable(GL_EXT_shader_framebuffer_fetch)
Raster is using a single thread.
Disabled Features: multiple_raster_threads
Version Information
Data exported	2020-01-15T03:07:46.881Z
Chrome version	Chrome/79.0.3945.116
Operating system	Android 10
Software rendering list URL	https://chromium.googlesource.com/chromium/src/+/64953db9f4468d309c976ee1823310d82c7ca6af/gpu/config/software_rendering_list.json
Driver bug list URL	https://chromium.googlesource.com/chromium/src/+/64953db9f4468d309c976ee1823310d82c7ca6af/gpu/config/gpu_driver_bug_list.json
ANGLE commit id	48aa52f7305a
2D graphics backend	Skia/79 104d6dd34927d32b92c5f5b2a671b49fbe079080
Command Line	--use-mobile-user-agent --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5 --use-mobile-user-agent --enable-viewport --validate-input-event-stream --enable-longpress-drag-selection --touch-selection-strategy=direction --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --enable-dom-distiller --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	156
In-process GPU	false
Passthrough Command Decoder	false
Sandboxed	false
GPU0	VENDOR= 0x0000 [Qualcomm], DEVICE=0x0000 [Adreno (TM) 630] *ACTIVE*
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	384.0
GPU CUDA compute capability major version	0
Pixel shader version	3.20
Vertex shader version	3.20
Max. MSAA samples	4
Machine model name	Pixel 3 XL
Machine model version	
GL_VENDOR	Qualcomm
GL_RENDERER	Adreno (TM) 630
GL_VERSION	OpenGL ES 3.2 V@384.0 (GIT@4a00b69, I4e7e888065) (Date:04/09/19)
GL_EXTENSIONS	GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_half_float GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_compressed_ETC1_RGB8_texture GL_AMD_compressed_ATC_texture GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_OES_texture_compression_astc GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra GL_OES_texture_3D GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_QCOM_alpha_test GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_EXT_sRGB GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_sRGB_decode GL_EXT_texture_format_sRGB_override GL_OES_element_index_uint GL_EXT_copy_image GL_EXT_geometry_shader GL_EXT_tessellation_shader GL_OES_texture_stencil8 GL_EXT_shader_io_blocks GL_OES_shader_image_atomic GL_OES_sample_variables GL_EXT_texture_border_clamp GL_EXT_EGL_image_external_wrap_modes GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_shader_multisample_interpolation GL_EXT_texture_cube_map_array GL_EXT_draw_buffers_indexed GL_EXT_gpu_shader5 GL_EXT_robustness GL_EXT_texture_buffer GL_EXT_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_texture_storage_multisample_2d_array GL_OES_sample_shading GL_OES_get_program_binary GL_EXT_debug_label GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_QCOM_tiled_rendering GL_ANDROID_extension_pack_es31a GL_EXT_primitive_bounding_box GL_OES_standard_derivatives GL_OES_vertex_array_object GL_EXT_disjoint_timer_query GL_KHR_debug GL_EXT_YUV_target GL_EXT_sRGB_write_control GL_EXT_texture_norm16 GL_EXT_discard_framebuffer GL_OES_surfaceless_context GL_OVR_multiview GL_OVR_multiview2 GL_EXT_texture_sRGB_R8 GL_KHR_no_error GL_EXT_debug_marker GL_OES_EGL_image_external_essl3 GL_OVR_multiview_multisampled_render_to_texture GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_blit_framebuffer_params GL_EXT_clip_cull_distance GL_EXT_protected_textures GL_EXT_shader_non_constant_global_initializers GL_QCOM_texture_foveated GL_QCOM_texture_foveated_subsampled_layout GL_QCOM_shader_framebuffer_fetch_noncoherent GL_QCOM_shader_framebuffer_fetch_rate GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_EGL_image_array GL_NV_shader_noperspective_interpolation GL_KHR_robust_buffer_access_behavior GL_EXT_EGL_image_storage GL_EXT_blend_func_extended GL_EXT_clip_control GL_OES_texture_view GL_EXT_fragment_invocation_density
Disabled Extensions	GL_EXT_shader_framebuffer_fetch GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions	EXT_disjoint_timer_query EXT_disjoint_timer_query_webgl2
Window system binding vendor	
Window system binding version	
Window system binding extensions	
Direct rendering version	unknown
Reset notification strategy	0x8252
GPU process crash count	0
gfx::BufferFormats supported for allocation and texturing	R_8: not supported, R_16: not supported, RG_88: not supported, BGR_565: not supported, RGBA_4444: not supported, RGBX_8888: not supported, RGBA_8888: not supported, BGRX_8888: not supported, BGRX_1010102: not supported, RGBX_1010102: not supported, BGRA_8888: not supported, RGBA_F16: not supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, P010: not supported
Compositor Information
Tile Update Mode	One-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
R_8	Software only
R_16	Software only
RG_88	Software only
BGR_565	GPU_READ, SCANOUT
RGBA_4444	Software only
RGBX_8888	GPU_READ, SCANOUT
RGBA_8888	GPU_READ, SCANOUT
BGRX_8888	Software only
BGRX_1010102	Software only
RGBX_1010102	Software only
BGRA_8888	Software only
RGBA_F16	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
P010	Software only
Display(s) Information
Info	Display[0] bounds=[0,0 412x846], workarea=[0,0 412x846], scale=3.5, external.
Color space information	{primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
SDR white level in nits	80
Bits per color component	8
Bits per pixel	24
Video Acceleration Information
Encode vp8	0x0 to 1280x720 pixels, and/or 30.000 fps
Encode h264 baseline	0x0 to 1280x720 pixels, and/or 30.000 fps

@csagan5

@csagan5
Copy link

csagan5 commented Jan 16, 2020

@renlord thanks; please see my reply in bromite/bromite#445

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Vanadium crashing when rendering gif/video
4 participants