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

Issue 883871 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug-Regression

Blocked on:
issue 869129



Sign in to add a comment

WebGL 2 particles demo broken with VizDisplayCompositor

Project Member Reported by vmi...@chromium.org, Sep 13

Issue description

Chrome Version: 69.0.3489.0 (Official Build) (64-bit)
OS: MacOS 10.13.6

What steps will reproduce the problem?
(1) Visit http://toji.github.io/webgl2-particles-2/

What is the expected result?

 - Particle animations should work

What happens instead?

 - Animation updates are frozen

The demo is working on: 71.0.3550.0 (Official Build) canary (64-bit)

about: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: Enabled
Native GpuMemoryBuffers: Hardware accelerated
Out-of-process Rasterization: Disabled
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
adjust_src_dst_region_for_blitframebuffer
avoid_stencil_buffers
decode_encode_srgb_for_generatemipmap
disable_2d_canvas_auto_flush
disable_framebuffer_cmaa
dont_use_loops_to_initialize_variables
get_frag_data_info_bug
pack_parameters_workaround_with_pack_buffer
regenerate_struct_names
remove_invariant_and_centroid_for_essl3
scalarize_vec_and_mat_constructor_args
set_zero_level_before_generating_mipmap
unfold_short_circuit_as_ternary_operation
unpack_alignment_workaround_with_unpack_buffer
use_intermediary_for_copy_texture_image
use_unused_standard_shared_blocks
Problems Detected
Protected video decoding with swap chain is for Windows and Intel only
Disabled Features: protected_video_decode
Unfold short circuit on Mac OS X: 307751
Applied Workarounds: unfold_short_circuit_as_ternary_operation
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Mac drivers handle struct scopes incorrectly: 403957
Applied Workarounds: regenerate_struct_names
glGenerateMipmap fails if the zero texture level is not set on some Mac drivers: 560499
Applied Workarounds: set_zero_level_before_generating_mipmap
Pack parameters work incorrectly with pack buffer bound: 563714
Applied Workarounds: pack_parameters_workaround_with_pack_buffer
Alignment works incorrectly with unpack buffer bound: 563714
Applied Workarounds: unpack_alignment_workaround_with_unpack_buffer
copyTexImage2D fails when reading from IOSurface on multiple GPU types.: 581777
Applied Workarounds: use_intermediary_for_copy_texture_image
Use GL_INTEL_framebuffer_CMAA on ChromeOS: 535198
Applied Workarounds: disable_framebuffer_cmaa
glGetFragData{Location|Index} works incorrectly on Max: 638340
Applied Workarounds: get_frag_data_info_bug
Decode and encode before generateMipmap for srgb format textures on macosx: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Insert statements to reference all members in unused std140/shared blocks on Mac: 618464
Applied Workarounds: use_unused_standard_shared_blocks
adjust src/dst region if blitting pixels outside read framebuffer on Mac: 644740
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
Mac driver GL 4.1 requires invariant and centroid to match between shaders: 639760, 641129
Applied Workarounds: remove_invariant_and_centroid_for_essl3
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)
Certain Apple devices leak stencil buffers: 713854
Applied Workarounds: avoid_stencil_buffers
Don't expose disjoint_timer_query extensions to WebGL: 808744
Shader variable initialization in a loop caused perf regression on Mac Intel.: 809422
Applied Workarounds: dont_use_loops_to_initialize_variables
glFlush error on Mac: 841755
Applied Workarounds: disable_2d_canvas_auto_flush
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-09-13T17:23:03.975Z
Chrome version	Chrome/69.0.3489.0
Operating system	Mac OS X 10.13.6
Software rendering list URL	https://chromium.googlesource.com/chromium/src/+/66d7b6411564744a0d3589943331a0a7db096a3d/gpu/config/software_rendering_list.json
Driver bug list URL	https://chromium.googlesource.com/chromium/src/+/66d7b6411564744a0d3589943331a0a7db096a3d/gpu/config/gpu_driver_bug_list.json
ANGLE commit id	89ef177f9475
2D graphics backend	Skia/69 fcc10da18eb533e83d8d46181819deed234ad1a3-
Command Line	/private/var/folders/qr/52vq3p7565sgcr45b0jlwnhr006zr7/T/AppTranslocation/A439A366-F0C0-4378-8A22-735F61215CDE/d/Google Chrome.app/Contents/MacOS/Google Chrome --flag-switches-begin --flag-switches-end --isolate-origins=https://chromium.org/,https://corp.googleapis.com/,https://storage.googleapis.com,https://ajax.googleapis.com,https://fonts.googleapis.com,https://googleplex.com/,https://googlesource.com/,https://youtube.com/,https://google.com/,https://googleacquisitionmigration.com/,https://googleusercontent.com/,https://googleprod.com/,https://nest.com/,https://myworkday.com/,https://chromiumapp.org/,https://lucidchart.com/,https://service-now.com/,https://concursolutions.com/,https://salesforce.com/,https://gcorppartners.com/,https://morganstanley.com/,https://schwab.com/,https://qualtrics.com/,https://ultipro.com/,https://google.secure2-enroll.com/,https://googlegroups.com/,https://google.secure.force.com/,https://ebenefitsnow.com/,https://firebase.com/,https://elo.plusrelocation.com/,https://anthem.com/,https://g.viapeople.net/,https://gdjap.com/,https://asana.com/,https://perquisite.net/,https://postini.com/,https://perkhub.com/,https://gstave.us/,https://geolearning.com/,https://lecorpio.com/,https://inverify.net/,https://preceda.com.au/,https://secureacceptance.cybersource.com/,https://solium.com/,https://fgvms.com/,https://ridecell.com/,https://tds.ie/,https://sprinklr.com/,https://smartsheet.com/,https://fieldglass.net/,https://dochub.com/
Driver Information
Initialization time	93
In-process GPU	false
Passthrough Command Decoder	false
Sandboxed	true
GPU0	VENDOR = 0x1002, DEVICE= 0x6821 *ACTIVE*
GPU1	VENDOR = 0x8086, DEVICE= 0x0d26
Optimus	false
AMD switchable	true
Driver vendor	ATI
Driver version	1.68.20
Driver date	
Pixel shader version	4.10
Vertex shader version	4.10
Max. MSAA samples	8
Machine model name	MacBookPro
Machine model version	11.5
GL_VENDOR	ATI Technologies Inc.
GL_RENDERER	AMD Radeon R9 M370X OpenGL Engine
GL_VERSION	4.1 ATI-1.68.20
GL_EXTENSIONS	GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_mirror_clamp GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
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	0x0000
GPU process crash count	0
Compositor Information
Tile Update Mode	Zero-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
R_16	Software only
RG_88	Software only
BGR_565	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
BGRX_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE
BGRX_1010102	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
RGBX_1010102	Software only
BGRA_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
RGBA_F16	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
YVU_420	Software only
YUV_420_BIPLANAR	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
UYVY_422	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
Display(s) Information
Info	Display[69733250] bounds=[0,0 1440x900], workarea=[0,23 1440x877], scale=2, external.
Color space information	{primaries_d50_referred: [[0.6587, 0.3332], [0.3206, 0.6135], [0.1508, 0.0527]], transfer:0.0777*x + 0.0000 if x < 0.0450 else (0.9478*x + 0.0521)**2.4000 + -0.0000, matrix:RGB, range:FULL}
Bits per color component	8
Bits per pixel	24
Video Acceleration Information
Decode h264 baseline	up to 4096x2160 pixels
Decode h264 extended	up to 4096x2160 pixels
Decode h264 main	up to 4096x2160 pixels
Decode h264 high	up to 4096x2160 pixels
Encode h264 baseline	up to 4096x2160 pixels and/or 30.000 fps
Encode h264 main	up to 4096x2160 pixels and/or 30.000 fps
Encode h264 high	up to 4096x2160 pixels and/or 30.000 fps
Log Messages
[35274:775:0913/111908.082128:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111908.082273:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/111908.082319:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111908.082358:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/111908.082464:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111908.082521:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/111908.082555:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111908.082588:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/111932.355461:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111932.355579:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/111932.355676:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111932.355734:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/111932.355862:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111932.356011:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/111932.356139:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111932.356218:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/111953.324666:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111953.324959:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/111953.325116:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111953.325183:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/111953.325346:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111953.325453:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/111953.325577:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/111953.325732:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/112146.792014:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/112146.792135:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/112146.792189:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/112146.792226:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/112146.832497:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/112146.832558:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/112149.282184:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/112149.282268:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/112149.282324:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/112149.282371:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/112149.282478:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/112149.282520:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[35274:775:0913/112149.282574:ERROR:gles2_cmd_decoder.cc(18031)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[35274:775:0913/112149.282618:ERROR:gles2_cmd_decoder.cc(12512)] : [.BrowserCompositor-0x7fd1a108c400]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format


 
Labels: Needs-Bisect
Need a bisect.

It's working on my NVIDIA based MBP.

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: Enabled
Native GpuMemoryBuffers: Hardware accelerated
Out-of-process Rasterization: Disabled
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
add_and_true_to_loop_condition
adjust_src_dst_region_for_blitframebuffer
avoid_stencil_buffers
decode_encode_srgb_for_generatemipmap
disable_2d_canvas_auto_flush
disable_framebuffer_cmaa
disable_webgl_rgb_multisampling_usage
dont_use_loops_to_initialize_variables
emulate_abs_int_function
get_frag_data_info_bug
init_two_cube_map_levels_before_copyteximage
msaa_is_slow
pack_parameters_workaround_with_pack_buffer
rebind_transform_feedback_before_resume
regenerate_struct_names
remove_invariant_and_centroid_for_essl3
reset_teximage2d_base_level
rewrite_texelfetchoffset_to_texelfetch
scalarize_vec_and_mat_constructor_args
set_zero_level_before_generating_mipmap
unfold_short_circuit_as_ternary_operation
unpack_alignment_workaround_with_unpack_buffer
unpack_image_height_workaround_with_unpack_buffer
use_intermediary_for_copy_texture_image
use_unused_standard_shared_blocks
Problems Detected
Protected video decoding with swap chain is for Windows and Intel only
Disabled Features: protected_video_decode
Unfold short circuit on Mac OS X: 307751
Applied Workarounds: unfold_short_circuit_as_ternary_operation
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Mac drivers handle struct scopes incorrectly: 403957
Applied Workarounds: regenerate_struct_names
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: msaa_is_slow
glGenerateMipmap fails if the zero texture level is not set on some Mac drivers: 560499
Applied Workarounds: set_zero_level_before_generating_mipmap
Pack parameters work incorrectly with pack buffer bound: 563714
Applied Workarounds: pack_parameters_workaround_with_pack_buffer
Alignment works incorrectly with unpack buffer bound: 563714
Applied Workarounds: unpack_alignment_workaround_with_unpack_buffer
copyTexImage2D fails when reading from IOSurface on multiple GPU types.: 581777
Applied Workarounds: use_intermediary_for_copy_texture_image
Multisample renderbuffers with format GL_RGB8 have performance issues on Intel GPUs.: 607130
Applied Workarounds: disable_webgl_rgb_multisampling_usage
Use GL_INTEL_framebuffer_CMAA on ChromeOS: 535198
Applied Workarounds: disable_framebuffer_cmaa
glGetFragData{Location|Index} works incorrectly on Max: 638340
Applied Workarounds: get_frag_data_info_bug
glResumeTransformFeedback works incorrectly on Intel GPUs: 638514
Applied Workarounds: rebind_transform_feedback_before_resume
Result of abs(i) where i is an integer in vertex shader is wrong: 642227
Applied Workarounds: emulate_abs_int_function
Rewrite texelFetchOffset to texelFetch for Intel Mac: 642605
Applied Workarounds: rewrite_texelfetchoffset_to_texelfetch
Rewrite condition in for and while loops for Intel Mac: 644669
Applied Workarounds: add_and_true_to_loop_condition
Decode and encode before generateMipmap for srgb format textures on macosx: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Init first two levels before CopyTexImage2D for cube map texture on Intel Mac 10.12: 648197
Applied Workarounds: init_two_cube_map_levels_before_copyteximage
Insert statements to reference all members in unused std140/shared blocks on Mac: 618464
Applied Workarounds: use_unused_standard_shared_blocks
Tex(Sub)Image3D performs incorrectly when uploading from unpack buffer with GL_UNPACK_IMAGE_HEIGHT greater than zero on Intel Macs: 654258
Applied Workarounds: unpack_image_height_workaround_with_unpack_buffer
adjust src/dst region if blitting pixels outside read framebuffer on Mac: 644740
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
Mac driver GL 4.1 requires invariant and centroid to match between shaders: 639760, 641129
Applied Workarounds: remove_invariant_and_centroid_for_essl3
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)
Certain Apple devices leak stencil buffers: 713854
Applied Workarounds: avoid_stencil_buffers
Reset TexImage2D base level to 0 on Intel Mac 10.12.4: 705865
Applied Workarounds: reset_teximage2d_base_level
Don't expose disjoint_timer_query extensions to WebGL: 808744
Shader variable initialization in a loop caused perf regression on Mac Intel.: 809422
Applied Workarounds: dont_use_loops_to_initialize_variables
glFlush error on Mac: 841755
Applied Workarounds: disable_2d_canvas_auto_flush
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-09-13T23:10:43.785Z
Chrome version	Chrome/69.0.3497.92
Operating system	Mac OS X 10.13.6
Software rendering list URL	https://chromium.googlesource.com/chromium/src/+/eb2c6d16bcb960cc5c322243c1771713460c4bcf/gpu/config/software_rendering_list.json
Driver bug list URL	https://chromium.googlesource.com/chromium/src/+/eb2c6d16bcb960cc5c322243c1771713460c4bcf/gpu/config/gpu_driver_bug_list.json
ANGLE commit id	6ffc489d4f18
2D graphics backend	Skia/69 e110fd1ebd2d559838c49a8821ebf18986bd6ec2-
Command Line	/Applications/Google Chrome.app/Contents/MacOS/Google Chrome --restore-last-session --flag-switches-begin --disable-quic --flag-switches-end --isolate-origins=https://chromium.org/,https://corp.googleapis.com/,https://storage.googleapis.com,https://ajax.googleapis.com,https://fonts.googleapis.com,https://googleplex.com/,https://googlesource.com/,https://youtube.com/,https://google.com/,https://googleacquisitionmigration.com/,https://googleusercontent.com/,https://googleprod.com/,https://nest.com/,https://myworkday.com/,https://chromiumapp.org/,https://lucidchart.com/,https://service-now.com/,https://concursolutions.com/,https://salesforce.com/,https://gcorppartners.com/,https://morganstanley.com/,https://schwab.com/,https://qualtrics.com/,https://ultipro.com/,https://google.secure2-enroll.com/,https://googlegroups.com/,https://google.secure.force.com/,https://ebenefitsnow.com/,https://firebase.com/,https://elo.plusrelocation.com/,https://anthem.com/,https://g.viapeople.net/,https://gdjap.com/,https://asana.com/,https://perquisite.net/,https://postini.com/,https://perkhub.com/,https://gstave.us/,https://geolearning.com/,https://lecorpio.com/,https://inverify.net/,https://preceda.com.au/,https://secureacceptance.cybersource.com/,https://solium.com/,https://fgvms.com/,https://ridecell.com/,https://tds.ie/,https://sprinklr.com/,https://smartsheet.com/,https://fieldglass.net/,https://dochub.com/
Driver Information
Initialization time	461
In-process GPU	false
Passthrough Command Decoder	false
Sandboxed	true
GPU0	VENDOR = 0x10de, DEVICE= 0x0fe9 *ACTIVE*
GPU1	VENDOR = 0x8086, DEVICE= 0x0d26
Optimus	true
AMD switchable	false
Driver vendor	
Driver version	
Driver date	
Pixel shader version	4.10
Vertex shader version	4.10
Max. MSAA samples	8
Machine model name	MacBookPro
Machine model version	11.3
GL_VENDOR	Intel Inc.
GL_RENDERER	Intel Iris Pro OpenGL Engine
GL_VERSION	4.1 INTEL-10.36.19
GL_EXTENSIONS	GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
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	0x0000
GPU process crash count	0
Compositor Information
Tile Update Mode	Zero-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
R_16	Software only
RG_88	Software only
BGR_565	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
BGRX_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE
BGRX_1010102	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
RGBX_1010102	Software only
BGRA_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
RGBA_F16	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
YVU_420	Software only
YUV_420_BIPLANAR	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
UYVY_422	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
Display(s) Information
Info	Display[69732482] bounds=[0,0 1440x900], workarea=[0,23 1440x877], scale=2, 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 h264 baseline	up to 4096x2160 pixels
Decode h264 extended	up to 4096x2160 pixels
Decode h264 main	up to 4096x2160 pixels
Decode h264 high	up to 4096x2160 pixels
Encode h264 baseline	up to 4096x2160 pixels and/or 30.000 fps
Encode h264 main	up to 4096x2160 pixels and/or 30.000 fps
Encode h264 high	up to 4096x2160 pixels and/or 30.000 fps

Owner: kainino@chromium.org
I can reproduce this on my Intel MacBook Air. Bisecting.
Cc: danakj@chromium.org fsam...@chromium.org
Components: Internals>Services>Viz
Owner: fsam...@chromium.org
Turns out this is not a regression by version, but a regression by finch trial. It reproduces with --enable-features=VizDisplayCompositor , and works correctly with --disable-features=VizDisplayCompositor , for at least r576753 and r591214 .

Also note that when the window gets redrawn for any reason (tab switching, window switching, other occasional things), the WebGL demo advances by a frame or two.
Owner: kainino@chromium.org
It turns out that this isn't quite so clear cut, so I'm looking closer.
576753 -viz bad
576753 +viz bad
591214 -viz good
591214 +viz bad
Blockedon: 869129
Cc: ccameron@chromium.org
Owner: fsam...@chromium.org
You are probably looking for a change made after 579710 (known bad), but no later than 579715 (first known good).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/a0d658f7c849dc0fa1bc410869031fc972484e16..09f0bb3299abf11756f1a09b1b59ab201ef9b57b

The revision that fixed it is probably ccameron's fix here:
> MacViews: Push VSync parameters from RHWVMac to BridgedNativeView
which was merged to 69 in 69.0.3497.41 according to the dashboard:
https://chromiumdash.appspot.com/commit/0859b7cf198c1bad927c9785f90a872a79a91ea8

And indeed, on my 69.0.3497.92 without viz, it works fine, but on Victor's 69.0.3489.0 without viz, it doesn't.

Assigning back to fsamuel to investigate since it's still broken with viz on canary. Note that this could be related to whatever ccameron was fixing.
I was in the middle of a bisect to find out when it broke (WITHOUT viz display compositor), and suddenly every build started passing. This issue is very weird.

However I was able to get this bisect, which MIGHT be right.
r571121 (good), r571159 (bad)

571121 (known good), but no later than 571159 (first known bad).
Or it could be in this range if my last bisect step was wrong:
r571107 (good), r571159 (bad)
Labels: Triaged-ET
Tried testing the issue with URL(http://toji.github.io/webgl2-particles-2/) provided in comment# 0. With the flag #enable-viz-display-compositor "Enabled", unable to reproduce the issue(i.e., Particle animations working) on chrome version# 69.0.3497.92 and on latest chrome# 71.0.3551.0. With the flag #enable-viz-display-compositor "Disabled", able to reproduce the issue(i.e., Animation got frozen) on chrome version# 69.0.3497.92 and on latest chrome# 71.0.3551.0.

Thanks!
There's yet another variable that is in M69:
  --enable-features=ViewsBrowserWindows
This was enabled by default starting in M69 (via finch, rollout, etc). So that may be affecting the bisects.
You're right, it does have an effect on these older builds that I'm bisecting. I was able to get a bisect now.

The result was not so surprising: with
  --disable-features=VizDisplayCompositor --enable-features=ViewsBrowserWindows
the first-known-bad is:
  https://chromium.googlesource.com/chromium/src/+/200d56fbfb923ba7fb14d7374e198ebea272fbf6
which of course was what was fixed in
  https://chromium.googlesource.com/chromium/src/+/9eed7b76473c66cbdc5a9436c1a1a6aec851cc95
above.
Owner: ccameron@chromium.org
Status: Fixed (was: Assigned)
Okay, I think this is just "fixed" then -- it was reported on 69.0.3489.0, but we never released that to stable -- stable is currently 69.0.3497.92 (and r579712 is merged to 69.0.3497.26 and beyond ... it was one of the last-second merges to 69 before it hit stable).

Labels: -Needs-Bisect
Owner: fsam...@chromium.org
Status: Assigned (was: Fixed)
Summary: WebGL 2 particles demo broken with VizDisplayCompositor (was: WebGL 2 particles demo seems broken in M69)
There's still a remaining problem: this is ALSO broken (even now) when VizDisplayCompositor is enabled. 
Owner: ccameron@chromium.org
Ah -- sorry, missed that detail. I can take this as a Viz-on-mac bug.
Is the VizDisplayCompositor trial off in 69?  If yes, I we could just change this to blocking for M70+ only.
Yea we are not doing an M69 viz trial in stable on Mac.  
Tried a bunch of different configurations -- no effect with any of them
- disabling GPU raster for UI and renderer
- disabling context virtualization
- running in context shell instead of browser

Discussed with bajones@
- the collider at http://toji.github.io/webgl2-particles-2/index.html?colliders=1 is rendered correctly
- this suggests a buffer binding is not being restored correctly
The bug is happening somewhere in here:

      var fixedStep = 16.666666;
      function render(t) {
        effect.requestAnimationFrame( render );
        ...
        var lastTime = simulationShader.getTime(t);
        ...
  [1]   while (t - lastTime >= fixedStep) {
          lastTime += fixedStep;
          simulationShader.setTime(lastTime);
          // [ Do transform feedback pass ]
          frameId++;
        }
        // If requestAnimationFrame timestamp jumps a lot, reset it.
        simulationShader.setTime(t);
      }

With VisDisplayCompositor
  t=7576.749 lastTime=7560.083 (t-lastTime)=16.666000000000167
  t=7593.415 lastTime=7576.749 (t-lastTime)=16.666000000000167
  t=7610.081 lastTime=7593.415 (t-lastTime)=16.666000000000167
  t=7626.747 lastTime=7610.081 (t-lastTime)=16.666000000000167

Without VisDisplayCompositor
  t=6930.396 lastTime=6913.713 (t-lastTime)=16.682999999999993
  t=6947.079 lastTime=6930.396 (t-lastTime)=16.682999999999993
  t=6963.762 lastTime=6947.079 (t-lastTime)=16.682999999999993
  t=6980.445 lastTime=6963.762 (t-lastTime)=16.682999999999993

There is a bug here in that if our VSync period is less than |fixedStep| msec then we will never update the particle positions.

But the fact that our VSync interval is 16.666 with VisDisplayCompositor suggests that we're not plumbing it through correctly and we're just getting the default.
Indeed, we're dropping the VSync parameters on the floor. And ... what's more shocking is that we did the exact same thing for 1-2 months without noticing it.

So we need an integration test for this.
Yikes. Thanks for tracking that down Chris. Should we fix the particles demo to be more robust?

Also, do you have any suggestions on where an integration test for the vsync parameters being obeyed should go?

Yeah, this has happened twice now, so we need to have a robust way to test it. It shows up in strange performance regressions ... but also in performance improvements sometimes.

The demo fix is pretty simple (just accumulate the remainder time from the last step).

      var fixedStep = 16.666666;
  ++  var remainder = 0;
      function render(t) {
        effect.requestAnimationFrame( render );
        ...
        var lastTime = simulationShader.getTime(t);
        ...
  ++    while (remainder + t - lastTime >= fixedStep) {
          lastTime += fixedStep;
          simulationShader.setTime(lastTime);
          // [ Do transform feedback pass ]
          frameId++;
        }
  ++    remainder = t - lastTime;
        // If requestAnimationFrame timestamp jumps a lot, reset it.
        simulationShader.setTime(t);
      }
Thank you Chris. Uploaded:

Improve robustness of simulation time calculation.
https://github.com/toji/webgl2-particles-2/pull/13

It sounds like the demo's fragile in the situation where requestAnimationFrame comes in at exactly 16.667 ms intervals. Do you think we should merge this pull request now or should we hold off until we have a bug fix in hand for this browser bug?

Project Member

Comment 22 by bugdroid1@chromium.org, Sep 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3b5144482d9c6ae142eca6120b651ae371e521d3

commit 3b5144482d9c6ae142eca6120b651ae371e521d3
Author: Christopher Cameron <ccameron@chromium.org>
Date: Tue Sep 18 00:18:06 2018

viz/mac: Fix vsync parameter plumbing

Vsync parameters are updated and sent to the ui::Compositor in
RenderWidgetHostViewMac::SubmitCompositorFrame. This function is not
called when VizDisplayCompositor is enabled.

Move vsync parameter update to two places.
- RenderWidgetHostViewMac::AcceleratedWidgetCALayerParamsUpdated for
  when not using a unified compositor with the browser UI.
- BridgedNativeWidgetHostImpl::AcceleratedWidgetCALayerParamsUpdated
  for when using a unified compositor.
  - Add a ui::DisplayLinkMac to BridgedNativeWidgetHostImpl in order
    to accomplish this

Update Compositor::SetDisplayVSyncParameters as follows
- move checking of kDisableFrameRateLimit command line switch to this
  function (rather than having all callers check it)
- cache the vsync parameters and only send them to the context factory
  when the change

Simplify the ui::DisplayLinkMac interface. It will automatically
recalculate the parameters every 10 seconds. Merge the functionality
of NotifyCurrentTime into GetVSyncParameters.

Bug:  883871 
Change-Id: I306fd87b3c5a46af7d4b2acfe4be1ec6481030c9
Reviewed-on: https://chromium-review.googlesource.com/1229189
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: ccameron <ccameron@chromium.org>
Commit-Queue: ccameron <ccameron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591893}
[modify] https://crrev.com/3b5144482d9c6ae142eca6120b651ae371e521d3/content/browser/renderer_host/render_widget_host_view_mac.h
[modify] https://crrev.com/3b5144482d9c6ae142eca6120b651ae371e521d3/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/3b5144482d9c6ae142eca6120b651ae371e521d3/ui/accelerated_widget_mac/display_link_mac.cc
[modify] https://crrev.com/3b5144482d9c6ae142eca6120b651ae371e521d3/ui/accelerated_widget_mac/display_link_mac.h
[modify] https://crrev.com/3b5144482d9c6ae142eca6120b651ae371e521d3/ui/compositor/compositor.cc
[modify] https://crrev.com/3b5144482d9c6ae142eca6120b651ae371e521d3/ui/compositor/compositor.h
[modify] https://crrev.com/3b5144482d9c6ae142eca6120b651ae371e521d3/ui/views/cocoa/bridged_native_widget_host_impl.h
[modify] https://crrev.com/3b5144482d9c6ae142eca6120b651ae371e521d3/ui/views/cocoa/bridged_native_widget_host_impl.mm

Labels: TE-Verified-71.0.3556.0 TE-Verified-M71
Able to reproduce the issue on chrome reported version# 69.0.3489.0(Build without fix) with the flags #enable-viz-display-compositor and enable-features=ViewsBrowserWindows "Enabled"
Verified the fix on Mac 10.13.6 on Chrome version# 71.0.3556.0 as per the comment# 4 & 9
Attaching screen cast for reference.
Observed "Particle animations are working"
Hence, the fix is working as expected.
Adding the verified labels.

Thanks!
883871.mp4
8.5 MB View Download
Labels: Merge-Request-70
Requesting merge for M70 (since we will be finch-ing OOP-D there).
Project Member

Comment 25 by sheriffbot@chromium.org, Oct 9

Labels: -Merge-Request-70 Merge-Review-70 Hotlist-Merge-Review
This bug requires manual review: We are only 6 days from stable.
Please contact the milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-70 Merge-Approved-70
Will this be fully behind finch? Approved for M70. 
Yes, macOS OOP-D is behind finch for 70.
Project Member

Comment 28 by bugdroid1@chromium.org, Oct 10

Labels: -merge-approved-70 merge-merged-3538
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cbb93534de19701f20f24b0da7419d7466f65580

commit cbb93534de19701f20f24b0da7419d7466f65580
Author: Christopher Cameron <ccameron@chromium.org>
Date: Wed Oct 10 19:18:28 2018

viz/mac: Fix vsync parameter plumbing

Vsync parameters are updated and sent to the ui::Compositor in
RenderWidgetHostViewMac::SubmitCompositorFrame. This function is not
called when VizDisplayCompositor is enabled.

Move vsync parameter update to two places.
- RenderWidgetHostViewMac::AcceleratedWidgetCALayerParamsUpdated for
  when not using a unified compositor with the browser UI.
- BridgedNativeWidgetHostImpl::AcceleratedWidgetCALayerParamsUpdated
  for when using a unified compositor.
  - Add a ui::DisplayLinkMac to BridgedNativeWidgetHostImpl in order
    to accomplish this

Update Compositor::SetDisplayVSyncParameters as follows
- move checking of kDisableFrameRateLimit command line switch to this
  function (rather than having all callers check it)
- cache the vsync parameters and only send them to the context factory
  when the change

Simplify the ui::DisplayLinkMac interface. It will automatically
recalculate the parameters every 10 seconds. Merge the functionality
of NotifyCurrentTime into GetVSyncParameters.

TBR=ccameron@chromium.org

(cherry picked from commit 3b5144482d9c6ae142eca6120b651ae371e521d3)

Bug:  883871 
Change-Id: I306fd87b3c5a46af7d4b2acfe4be1ec6481030c9
Reviewed-on: https://chromium-review.googlesource.com/1229189
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: ccameron <ccameron@chromium.org>
Commit-Queue: ccameron <ccameron@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#591893}
Reviewed-on: https://chromium-review.googlesource.com/c/1274057
Cr-Commit-Position: refs/branch-heads/3538@{#948}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
[modify] https://crrev.com/cbb93534de19701f20f24b0da7419d7466f65580/content/browser/renderer_host/render_widget_host_view_mac.h
[modify] https://crrev.com/cbb93534de19701f20f24b0da7419d7466f65580/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/cbb93534de19701f20f24b0da7419d7466f65580/ui/accelerated_widget_mac/display_link_mac.cc
[modify] https://crrev.com/cbb93534de19701f20f24b0da7419d7466f65580/ui/accelerated_widget_mac/display_link_mac.h
[modify] https://crrev.com/cbb93534de19701f20f24b0da7419d7466f65580/ui/compositor/compositor.cc
[modify] https://crrev.com/cbb93534de19701f20f24b0da7419d7466f65580/ui/compositor/compositor.h
[modify] https://crrev.com/cbb93534de19701f20f24b0da7419d7466f65580/ui/views/cocoa/bridged_native_widget_host_impl.h
[modify] https://crrev.com/cbb93534de19701f20f24b0da7419d7466f65580/ui/views/cocoa/bridged_native_widget_host_impl.mm

Labels: Merge-Merged-70-3538
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/cbb93534de19701f20f24b0da7419d7466f65580

Commit: cbb93534de19701f20f24b0da7419d7466f65580
Author: ccameron@chromium.org
Commiter: ccameron@chromium.org
Date: 2018-10-10 19:18:28 +0000 UTC

viz/mac: Fix vsync parameter plumbing

Vsync parameters are updated and sent to the ui::Compositor in
RenderWidgetHostViewMac::SubmitCompositorFrame. This function is not
called when VizDisplayCompositor is enabled.

Move vsync parameter update to two places.
- RenderWidgetHostViewMac::AcceleratedWidgetCALayerParamsUpdated for
  when not using a unified compositor with the browser UI.
- BridgedNativeWidgetHostImpl::AcceleratedWidgetCALayerParamsUpdated
  for when using a unified compositor.
  - Add a ui::DisplayLinkMac to BridgedNativeWidgetHostImpl in order
    to accomplish this

Update Compositor::SetDisplayVSyncParameters as follows
- move checking of kDisableFrameRateLimit command line switch to this
  function (rather than having all callers check it)
- cache the vsync parameters and only send them to the context factory
  when the change

Simplify the ui::DisplayLinkMac interface. It will automatically
recalculate the parameters every 10 seconds. Merge the functionality
of NotifyCurrentTime into GetVSyncParameters.

TBR=ccameron@chromium.org

(cherry picked from commit 3b5144482d9c6ae142eca6120b651ae371e521d3)

Bug:  883871 
Change-Id: I306fd87b3c5a46af7d4b2acfe4be1ec6481030c9
Reviewed-on: https://chromium-review.googlesource.com/1229189
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: ccameron <ccameron@chromium.org>
Commit-Queue: ccameron <ccameron@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#591893}
Reviewed-on: https://chromium-review.googlesource.com/c/1274057
Cr-Commit-Position: refs/branch-heads/3538@{#948}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
Status: Fixed (was: Assigned)
Labels: TE-Verified-M70 TE-Verified-70.0.3538.67
Verified the fix on Mac 10.13.6 on Chrome version# 70.0.3538.67 as per the comment# 4 & 9
Attaching screen cast for reference.
Observed "Particle animations are working"
Hence, the fix is working as expected.
Adding the verified labels.

Thanks!
883871.mp4
8.6 MB View Download

Sign in to add a comment