Unexpected "sad canvases" in ads in Chrome on Android |
||||||||||||||
Issue descriptionSince the "sad canvas" was introduced in Issue 575305 to indicate canvas context loss, it's been observed in some unexpected scenarios. In particular, ads in Chrome on Android show it unexpectedly. The GPU process crash count when this happens is 0, and it didn't look like the GPU reset on the device. The about:gpu page below (from a Pixel 2) contains this probably salient error: [ERROR:gl_context_virtual.cc(40)] : Trying to make virtual context current without decoder. This is probably causing context loss. I'm not sure what could cause this to happen. A decoder being torn down during a ScopedMakeCurrent, or similar? What additional logging would be needed to narrow down the kind of client GL context that's causing this to happen? 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 Native GpuMemoryBuffers: Software only. Hardware acceleration disabled Out-of-process Rasterization: Hardware accelerated Hardware Protected Video Decode: Unavailable Rasterization: Hardware accelerated Skia Deferred Display List: Disabled Skia Renderer: Disabled Surface Synchronization: Enabled Video Decode: Hardware accelerated Viz Service Display Compositor: Disabled WebGL: Hardware accelerated WebGL2: Hardware accelerated Driver Bug Workarounds broken_egl_image_ref_counting clear_uniforms_before_first_program_use disable_framebuffer_cmaa disable_program_caching_for_transform_feedback disable_program_disk_cache 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 multisample_renderbuffer_resize_emulation scalarize_vec_and_mat_constructor_args unbind_egl_context_to_flush_driver_caches use_es2_for_oopr use_virtualized_gl_contexts wake_up_gpu_before_drawing 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: 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 EGLImage ref counting across EGLContext/threads is broken: 585250 Applied Workarounds: broken_egl_image_ref_counting Limit max texure size to 4096 on all of Android Applied Workarounds: max_texture_size_limit_4096 Use GL_INTEL_framebuffer_CMAA on ChromeOS: 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) Program binaries don't contain transform feedback varyings on Qualcomm GPUs: 658074 Applied Workarounds: disable_program_caching_for_transform_feedback Certain Adreno 4xx and 5xx drivers often crash in glProgramBinary.: 699122 Applied Workarounds: disable_program_disk_cache Multisampled color renderbuffers can't be resized on Qualcomm 4xx/5xx: 696126 Applied Workarounds: multisample_renderbuffer_resize_emulation 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 Applied Workarounds: use_es2_for_oopr 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 Viz service display compositor is not enabled by default. Disabled Features: viz_display_compositor Skia renderer is not used by default. Disabled Features: skia_renderer Skia deferred display list is not used by default. Disabled Features: skia_deferred_display_list Version Information Data exported 2018-10-04T03:16:31.895Z Chrome version Chrome/71.0.3562.0 Operating system Android 9 Software rendering list URL https://chromium.googlesource.com/chromium/src/+/546b39eb7822fcd38f6c8093cb3ac1a70f8f2dcf/gpu/config/software_rendering_list.json Driver bug list URL https://chromium.googlesource.com/chromium/src/+/546b39eb7822fcd38f6c8093cb3ac1a70f8f2dcf/gpu/config/gpu_driver_bug_list.json ANGLE commit id 299bdfe75173 2D graphics backend Skia/71 f18c297cfb74a48b748bc7909991f98dabb8d460- Command Line --use-mobile-user-agent --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5 --use-mobile-user-agent --enable-pinch --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 --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5 Driver Information Initialization time 134 In-process GPU false Passthrough Command Decoder false Sandboxed false GPU0 VENDOR = 0x0000 [Qualcomm], DEVICE= 0x0000 [Adreno (TM) 540] *ACTIVE* Optimus false AMD switchable false Driver vendor Driver version 313.0 Driver date 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 2 Machine model version GL_VENDOR Qualcomm GL_RENDERER Adreno (TM) 540 GL_VERSION OpenGL ES 3.2 V@313.0 (GIT@7bf2852, Ie32bfa6f6f) (Date:06/03/18) 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_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_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_shader_framebuffer_fetch_noncoherent 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_clip_control Disabled Extensions 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 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 Software only 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 UYVY_422 Software only Display(s) Information Info Display[0] bounds=[0,0 412x732], workarea=[0,0 412x732], scale=2.625, external. Color space information {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL} Bits per color component 8 Bits per pixel 24 Video Acceleration Information Decode vp8 up to 3840x2160 pixels Decode vp8 up to 3840x2160 pixels (encrypted) Decode vp9 profile0 up to 3840x2160 pixels Decode vp9 profile0 up to 3840x2160 pixels (encrypted) Decode vp9 profile1 up to 3840x2160 pixels Decode vp9 profile1 up to 3840x2160 pixels (encrypted) Decode vp9 profile2 up to 3840x2160 pixels Decode vp9 profile2 up to 3840x2160 pixels (encrypted) Decode vp9 profile3 up to 3840x2160 pixels Decode vp9 profile3 up to 3840x2160 pixels (encrypted) Decode h264 baseline up to 3840x2160 pixels Decode h264 main up to 3840x2160 pixels Decode h264 extended up to 3840x2160 pixels Decode h264 high up to 3840x2160 pixels Decode h264 high 10 up to 3840x2160 pixels Decode h264 high 4:2:2 up to 3840x2160 pixels Decode h264 high 4:4:4 predictive up to 3840x2160 pixels Decode h264 scalable baseline up to 3840x2160 pixels Decode h264 scalable high up to 3840x2160 pixels Decode h264 stereo high up to 3840x2160 pixels Decode h264 multiview high up to 3840x2160 pixels Encode vp8 up to 1280x720 pixels and/or 30.000 fps Encode h264 baseline up to 1280x720 pixels and/or 30.000 fps Log Messages [ERROR:gl_context_virtual.cc(40)] : Trying to make virtual context current without decoder. [ERROR:gl_context_virtual.cc(40)] : Trying to make virtual context current without decoder. [ERROR:gl_context_virtual.cc(40)] : Trying to make virtual context current without decoder. [ERROR:gl_context_virtual.cc(40)] : Trying to make virtual context current without decoder.
,
Oct 5
Can someone grab the stack trace when this happens?
,
Oct 5
Can try - what mechanism do you recommend? Will base::StackTrace be reliable and not crash the GPU process?
,
Oct 5
If its not easily reproducible, I've used base::DumpWithoutCrashing in the past to get crash dumps from the wild.
,
Oct 6
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c812ddcd0bd1b656a9a0e5ddc5dcc78fa4f13461 commit c812ddcd0bd1b656a9a0e5ddc5dcc78fa4f13461 Author: Kenneth Russell <kbr@chromium.org> Date: Sat Oct 06 00:50:56 2018 Add debugging for virtual MakeCurrent with no decoder. Dump without crashing on Android if this happens. Bug: 892490 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I824a4f4b9f09d3267113d6384370acae059e1690 Reviewed-on: https://chromium-review.googlesource.com/c/1266335 Reviewed-by: Khushal <khushalsagar@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#597385} [modify] https://crrev.com/c812ddcd0bd1b656a9a0e5ddc5dcc78fa4f13461/gpu/command_buffer/service/gl_context_virtual.cc
,
Oct 6
Taking this to follow up once we have some reports.
,
Oct 11
https://crash.corp.google.com/browse?q=product_name%3D%27Chrome_Android%27+AND+expanded_custom_data.ChromeCrashProto.ptype%3D%27browser%27+AND+expanded_custom_data.ChromeCrashProto.magic_signature_1.name%3D%27%5BDump+without+crash%5D+gpu%3A%3AGLContextVirtual%3A%3AMakeCurrent%27 All the traces look like this: 0x95707157 (libmonochrome.so -exception_handler.cc:679 ) google_breakpad::ExceptionHandler::WriteMinidump() 0x97135ac5 (libmonochrome.so -breakpad_linux.cc:758 ) breakpad::(anonymous namespace)::DumpProcess() 0x95d96f1d (libmonochrome.so -dump_without_crashing.cc:23 ) base::debug::DumpWithoutCrashing() 0x95f5f3b1 (libmonochrome.so -gl_context_virtual.cc:50 ) gpu::GLContextVirtual::MakeCurrent(gl::GLSurface*) 0x96b34131 (libmonochrome.so -scoped_make_current.cc:21 ) ui::ScopedMakeCurrent::ScopedMakeCurrent(gl::GLContext*, gl::GLSurface*) 0x9671fac7 (libmonochrome.so -memory:3027 ) media::SurfaceTextureGLOwner::~SurfaceTextureGLOwner() 0x96c14403 (libmonochrome.so -surface_texture_gl_owner.cc:45 ) media::SurfaceTextureGLOwner::~SurfaceTextureGLOwner() 0x96c1310d (libmonochrome.so -scoped_refptr.h:284 ) scoped_refptr<media::TextureOwner>::~scoped_refptr() 0x96c136bf (libmonochrome.so -tuple:170 ) base::internal::BindState<void (media::TextureOwner::*)(), scoped_refptr<media::TextureOwner> >::Destroy(base::internal::BindStateBase const*) 0x9562c1ad (libmonochrome.so -callback_internal.cc:29 ) base::internal::CallbackBase::~CallbackBase() 0x95de7837 (libmonochrome.so -callback.h:100 ) base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) 0x95c3098f (libmonochrome.so -message_loop.cc:434 ) base::MessageLoop::RunTask(base::PendingTask*) 0x95d8658b (libmonochrome.so -message_loop.cc:445 ) base::MessageLoop::DoWork() 0x95e8e5d1 (libmonochrome.so -message_pump_default.cc:37 ) base::MessagePumpDefault::Run(base::MessagePump::Delegate*) 0x956339b5 (libmonochrome.so -run_loop.cc:102 ) base::RunLoop::Run() 0x95da1e69 (libmonochrome.so -thread.cc:357 ) base::Thread::ThreadMain() 0x95db6fef (libmonochrome.so -platform_thread_posix.cc:80 ) base::(anonymous namespace)::ThreadFunc(void*) There is a fundamental issue with TextureOwner deleting itself by posting a task (it's RefCountedDeleteOnSequence), and deleting textures from that posted task, as the GLContext/GLSurface we're trying to make current with might be gone by then. Instead we should probably introduce a "Cleanup" call on TextureOwner that would be called before the GLES2Decoder (that was used to create the TextureOwner) goes away. While this is on TextureOwner that Vikas introduced, this really comes from the original SurfaceTextureGLOwner and was introduced by https://chromium-review.googlesource.com/532318 . It doesn't look like watk@ is working on the project any more, so ->liberato (reviewer).
,
Oct 11
luckily i have some spare stub destruction observers laying around.
,
Oct 11
actually, maybe i should switch these things to create an AbstractTexture rather than managing it internally. luckily i have a box of those too.
,
Nov 26
Still happening with the latest beta: https://crash.corp.google.com/browse?q=product_name%3D%27Chrome_Android%27+AND+expanded_custom_data.ChromeCrashProto.ptype%3D%27browser%27+AND+expanded_custom_data.ChromeCrashProto.magic_signature_1.name%3D%27%5BDump+without+crash%5D+gpu%3A%3AGLContextVirtual%3A%3AMakeCurrent%27+AND+product.Version%3D%2771.0.3578.64%27#samplereports
,
Dec 7
Issue 907950 has been merged into this issue.
,
Dec 7
Frank is this something 72 has fixes for?
,
Dec 7
it's supposed to. i'm unsure where the cl is at the moment.
,
Dec 7
the CL never landed. i have no idea how i missed this. will clean up and land.
,
Dec 19
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c321478cbc2cc980b89662648906671c9e2d9b5b commit c321478cbc2cc980b89662648906671c9e2d9b5b Author: liberato@chromium.org <liberato@chromium.org> Date: Wed Dec 19 22:27:10 2018 Switch TextureOwner to use AbstractTexture. Previously, TextureOwner would use platform GL to create a platform texture, and manage it directly. However, this resulted in some crashes when the decoder context was lost. This CL modifies TextureOwner to use AbstractTexture, which handles context loss gracefully. Change-Id: I0bdf69c69cf679415605627d0c24272992d2fe6d Bug: 892490 Reviewed-on: https://chromium-review.googlesource.com/c/1367998 Commit-Queue: Frank Liberato <liberato@chromium.org> Reviewed-by: vikas soni <vikassoni@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Cr-Commit-Position: refs/heads/master@{#617983} [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/BUILD.gn [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/android_video_decode_accelerator.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/android_video_decode_accelerator.h [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/android_video_decode_accelerator_unittest.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/avda_picture_buffer_manager.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/avda_state_provider.h [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/codec_image_unittest.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/image_reader_gl_owner.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/image_reader_gl_owner.h [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/image_reader_gl_owner_unittest.cc [add] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/mock_abstract_texture.cc [add] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/mock_abstract_texture.h [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/mock_texture_owner.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/mock_texture_owner.h [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/surface_texture_gl_owner.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/surface_texture_gl_owner.h [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/surface_texture_gl_owner_unittest.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/texture_owner.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/texture_owner.h [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/texture_pool_unittest.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/android/video_frame_factory_impl.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/gpu_video_decode_accelerator_factory.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/gpu_video_decode_accelerator_factory.h [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/gpu_video_decode_accelerator_helpers.h [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/ipc/service/gpu_video_decode_accelerator.cc [modify] https://crrev.com/c321478cbc2cc980b89662648906671c9e2d9b5b/media/gpu/ipc/service/gpu_video_decode_accelerator.h
,
Jan 2
there haven't been any crashes for ~4 canaries and ~2 devs, so i suspect this is fixed. that's also long enough that it's likely safe to merge.
,
Jan 2
The bug is marked as P3 or Feature. It should not be merged as M72 is in beta. Please contact the approriate milestone owner if you have questions. Owners: govind@(Android), kariahda@(iOS), djmm@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 2
P3=>P1. re-requesting merge. it'll possibly fix the #4 crash in 71: https://www.google.com/url?q=https://crash.corp.google.com/browse?q%3Dproduct_name%253D%2527Chrome_Android%2527%2BAND%2Bexpanded_custom_data.ChromeCrashProto.ptype%253D%2527browser%2527%26compProp%3Dproduct.Version%26v1%3D70.0.3538.110%26v2%3D71.0.3578.99&sa=D&source=hangouts&ust=1546559018592000&usg=AFQjCNGrZxE0R2Mei9WWcPQeP4WfemdQKw
,
Jan 2
This bug requires manual review: M72 has already been promoted to the beta branch, so this requires manual review Please contact the milestone owner if you have questions. Owners: govind@(Android), kariahda@(iOS), djmm@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 3
Approving merge to M72 branch 3626 for CL listed at #15 based on comments #16 and #18. Pls merge ASAP so we can pick it up for next beta release. Thank you.
,
Jan 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dc42a2d34746bcb3058f47aa2768b4110cbeeef4 commit dc42a2d34746bcb3058f47aa2768b4110cbeeef4 Author: liberato@chromium.org <liberato@chromium.org> Date: Thu Jan 03 17:01:07 2019 Switch TextureOwner to use AbstractTexture. Previously, TextureOwner would use platform GL to create a platform texture, and manage it directly. However, this resulted in some crashes when the decoder context was lost. This CL modifies TextureOwner to use AbstractTexture, which handles context loss gracefully. Change-Id: I0bdf69c69cf679415605627d0c24272992d2fe6d Bug: 892490 Reviewed-on: https://chromium-review.googlesource.com/c/1367998 Commit-Queue: Frank Liberato <liberato@chromium.org> Reviewed-by: vikas soni <vikassoni@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#617983}(cherry picked from commit c321478cbc2cc980b89662648906671c9e2d9b5b) Reviewed-on: https://chromium-review.googlesource.com/c/1394394 Reviewed-by: Frank Liberato <liberato@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#546} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437} [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/BUILD.gn [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/android_video_decode_accelerator.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/android_video_decode_accelerator.h [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/android_video_decode_accelerator_unittest.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/avda_picture_buffer_manager.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/avda_state_provider.h [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/codec_image_unittest.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/image_reader_gl_owner.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/image_reader_gl_owner.h [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/image_reader_gl_owner_unittest.cc [add] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/mock_abstract_texture.cc [add] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/mock_abstract_texture.h [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/mock_texture_owner.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/mock_texture_owner.h [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/surface_texture_gl_owner.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/surface_texture_gl_owner.h [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/surface_texture_gl_owner_unittest.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/texture_owner.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/texture_owner.h [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/texture_pool_unittest.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/android/video_frame_factory_impl.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/gpu_video_decode_accelerator_factory.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/gpu_video_decode_accelerator_factory.h [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/gpu_video_decode_accelerator_helpers.h [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/ipc/service/gpu_video_decode_accelerator.cc [modify] https://crrev.com/dc42a2d34746bcb3058f47aa2768b4110cbeeef4/media/gpu/ipc/service/gpu_video_decode_accelerator.h
,
Jan 3
,
Jan 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dc42a2d34746bcb3058f47aa2768b4110cbeeef4 Commit: dc42a2d34746bcb3058f47aa2768b4110cbeeef4 Author: liberato@chromium.org Commiter: liberato@chromium.org Date: 2019-01-03 17:01:07 +0000 UTC Switch TextureOwner to use AbstractTexture. Previously, TextureOwner would use platform GL to create a platform texture, and manage it directly. However, this resulted in some crashes when the decoder context was lost. This CL modifies TextureOwner to use AbstractTexture, which handles context loss gracefully. Change-Id: I0bdf69c69cf679415605627d0c24272992d2fe6d Bug: 892490 Reviewed-on: https://chromium-review.googlesource.com/c/1367998 Commit-Queue: Frank Liberato <liberato@chromium.org> Reviewed-by: vikas soni <vikassoni@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#617983}(cherry picked from commit c321478cbc2cc980b89662648906671c9e2d9b5b) Reviewed-on: https://chromium-review.googlesource.com/c/1394394 Reviewed-by: Frank Liberato <liberato@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#546} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
,
Jan 9
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8b9505ba1551a557905a3c91d8550482eb15d9da commit 8b9505ba1551a557905a3c91d8550482eb15d9da Author: Daniel Bratell <bratell@opera.com> Date: Wed Jan 09 09:34:07 2019 Remove unused SurfaceTextureGLOwner::texture_id_ Some jumbo builds broke because of unused class member triggering a compiler warning. That a class member is unused might sometimes not be noticed in normal builds because the compiler doesn't have access to the source of all class methods. Bug: 892490 Change-Id: I733ec2d36be4639d49ea692b3d490da206215522 Reviewed-on: https://chromium-review.googlesource.com/c/1400824 Reviewed-by: Frank Liberato <liberato@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Commit-Queue: Daniel Bratell <bratell@opera.com> Cr-Commit-Position: refs/heads/master@{#621089} [modify] https://crrev.com/8b9505ba1551a557905a3c91d8550482eb15d9da/media/gpu/android/surface_texture_gl_owner.h |
||||||||||||||
►
Sign in to add a comment |
||||||||||||||
Comment 1 by senorblanco@chromium.org
, Oct 5Status: Available (was: Untriaged)