New issue
Advanced search Search tips

Issue 571241 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug-Regression

Blocking:
issue 422000



Sign in to add a comment

Canary 49.0.2587.0 (r364195) breaks VSYNC and stops GPU from being used

Reported by jer...@duckware.com, Dec 19 2015

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2587.0 Safari/537.36

Steps to reproduce the problem:
Visit www.vsynctester.com using r364188 and then r364195.  When using a Dell XPS 17 notebook from 2011 (Nvidia plus Intel integrated graphics), Canary stops using any GPU.

What is the expected behavior?
The GPU should continue to be used, as it was in r364188.

What went wrong?
about:gpu shows that the GPU is not being used.

Did this work before? Yes r364188

Chrome version: 49.0.2587.0  Channel: canary
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: 

A bisect shows that r364188 works just fine, but that the problem appears in r364195.  

The possible causes are https://chromium.googlesource.com/chromium/src/+log/be041f3e7506d634d80f9bdb4323b118efd59554..c3e763a2164e421055b2a01d5b21426a9abca83a:

 - c3e763a Add a test to cover service worker update codepath when extension is updated. by lazyboy
 - a5d6860 re2: Initialize sparse_to_dense_ on initial allocation under Valgrind. by Reilly Grant
 - 9b0edbd [DevTools] Use separate throughputs for download and upload. by dgozman
 - 7c7ee3e Identify the active GPU using GL strings in multiple GPU situation. by zmo
 - 6e9a9ff A bit more logging in FFmpegDemuxerStream::Create by servolk
 - fddc3e3 Emit correct NewTabPage.SuggestionsType metrics by zmin
 - f12295a Replace ScopedVector<ScopedFD> with std::vector<ScopedFD> by mdempsky

with 'Identify the active GPU using GL strings in multiple GPU situation' by zmo being a prime suspect.

about:gpu for both revs are below.  Notice that r364188 identifies two GPU's (GPU0/GPU1) and apparently uses GPU0, whereas r364195 identifies only GPU0 and does NOT use it.

=== r364188 ==================================================
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
Rasterization: Software only. Hardware acceleration disabled
Video Decode: Software only, hardware acceleration unavailable
Video Encode: Hardware accelerated
WebGL: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_d3d11
exit_on_context_lost
force_cube_complete
scalarize_vec_and_mat_constructor_args
texsubimage_faster_than_teximage
Problems Detected
Accelerated video decode interferes with GPU sandbox on older Intel drivers: 180695, 298968, 436968
Disabled Features: accelerated_video_decode
Some drivers are unable to reset the D3D device in the GPU process sandbox
Applied Workarounds: exit_on_context_lost
TexSubImage is faster for full uploads on ANGLE
Applied Workarounds: texsubimage_faster_than_teximage
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
Old Intel drivers cannot reliably support D3D11: 363721
Applied Workarounds: disable_d3d11
ANGLE crash on glReadPixels from incomplete cube map texture: 518889
Applied Workarounds: force_cube_complete
Accelerated rasterization has been disabled, either via about:flags or command line.
Disabled Features: rasterization
GpuMemoryBuffer Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	Software only
BGRX_8888	Software only
BGRA_8888	Software only
YUV_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
Version Information
Data exported	12/19/2015, 10:32:23 AM
Chrome version	Chrome/49.0.2587.0
Operating system	Windows NT 6.1 SP1
Software rendering list version	10.16
Driver bug list version	8.36
ANGLE commit id	adf825b3ece8
2D graphics backend	Skia
Command Line Args	--flag-switches-begin --flag-switches-end
Driver Information
Initialization time	50
In-process GPU	false
Sandboxed	false
GPU0	VENDOR = 0x8086, DEVICE= 0x0116
GPU1	VENDOR = 0x10de, DEVICE= 0x0dcd
Optimus	true
AMD switchable	false
Desktop compositing	Aero Glass
Driver vendor	Intel Corporation
Driver version	8.15.10.2321
Driver date	3-6-2011
Pixel shader version	3.0
Vertex shader version	3.0
Max. MSAA samples	4
Machine model name	
Machine model version	
GL_VENDOR	Google Inc.
GL_RENDERER	ANGLE (Intel(R) HD Graphics Family Direct3D9Ex vs_3_0 ps_3_0)
GL_VERSION	OpenGL ES 2.0 (ANGLE 2.1.0.adf825b3ece8)
GL_EXTENSIONS	GL_OES_element_index_uint GL_OES_packed_depth_stencil GL_OES_get_program_binary GL_OES_rgb8_rgba8 GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_float GL_OES_texture_float_linear GL_EXT_texture_compression_dxt1 GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_depth_texture GL_OES_depth32 GL_EXT_texture_storage GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_occlusion_query_boolean GL_NV_fence GL_EXT_robustness GL_EXT_blend_minmax GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_pack_reverse_row_order GL_OES_standard_derivatives GL_EXT_shader_texture_lod GL_EXT_frag_depth GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_EXT_debug_marker GL_OES_EGL_image GL_EXT_unpack_subimage GL_NV_pack_subimage GL_OES_vertex_array_object
Disabled Extensions	
Window system binding vendor	Google Inc. (adapter LUID: 00000000000091a6)
Window system binding version	1.4 (ANGLE 2.1.0.adf825b3ece8)
Window system binding extensions	EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses
Direct rendering	Yes
Reset notification strategy	0x8252
GPU process crash count	0
Diagnostics

=== r364195 ==================================================
Graphics Feature Status
Canvas: Software only, hardware acceleration unavailable
Flash: Software only, hardware acceleration unavailable
Flash Stage3D: Software only, hardware acceleration unavailable
Flash Stage3D Baseline profile: Software only, hardware acceleration unavailable
Compositing: Software only, hardware acceleration unavailable
Multiple Raster Threads: Unavailable
Rasterization: Software only. Hardware acceleration disabled
Video Decode: Software only, hardware acceleration unavailable
Video Encode: Software only, hardware acceleration unavailable
WebGL: Unavailable
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_d3d11
disable_msaa_on_non_webgl_contexts
exit_on_context_lost
force_cube_complete
scalarize_vec_and_mat_constructor_args
texsubimage_faster_than_teximage
Problems Detected
GPU process was unable to boot: Features are disabled upon full but not preliminary GPU info.
Disabled Features: all
Accelerated video decode interferes with GPU sandbox on older Intel drivers: 180695, 298968, 436968
Disabled Features: accelerated_video_decode
Some drivers are unable to reset the D3D device in the GPU process sandbox
Applied Workarounds: exit_on_context_lost
TexSubImage is faster for full uploads on ANGLE
Applied Workarounds: texsubimage_faster_than_teximage
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
Old Intel drivers cannot reliably support D3D11: 363721
Applied Workarounds: disable_d3d11
ANGLE crash on glReadPixels from incomplete cube map texture: 518889
Applied Workarounds: force_cube_complete
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: disable_msaa_on_non_webgl_contexts
Accelerated rasterization has been disabled, either via about:flags or command line.
Disabled Features: rasterization
GpuMemoryBuffer Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	Software only
BGRX_8888	Software only
BGRA_8888	Software only
YUV_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
Version Information
Data exported	12/19/2015, 10:33:16 AM
Chrome version	Chrome/49.0.2587.0
Operating system	Windows NT 6.1 SP1
Software rendering list version	10.16
Driver bug list version	8.36
ANGLE commit id	adf825b3ece8
2D graphics backend	Skia
Command Line Args	--flag-switches-begin --flag-switches-end
Driver Information
Initialization time	35
In-process GPU	false
Sandboxed	true
GPU0	VENDOR = 0x8086, DEVICE= 0x0116
Optimus	true
AMD switchable	false
Desktop compositing	Aero Glass
Driver vendor	Intel Corporation
Driver version	8.15.10.2321
Driver date	3-6-2011
Pixel shader version	4.1
Vertex shader version	4.1
Max. MSAA samples	4
Machine model name	
Machine model version	
GL_VENDOR	Google Inc.
GL_RENDERER	ANGLE (Intel(R) HD Graphics Family Direct3D11 vs_4_1 ps_4_1)
GL_VERSION	OpenGL ES 2.0 (ANGLE 2.1.0.adf825b3ece8)
GL_EXTENSIONS	GL_OES_element_index_uint GL_OES_packed_depth_stencil GL_OES_get_program_binary GL_OES_rgb8_rgba8 GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra GL_NV_pixel_buffer_object GL_OES_mapbuffer GL_EXT_map_buffer_range GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_float GL_OES_texture_float_linear GL_EXT_texture_rg GL_EXT_texture_compression_dxt1 GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_OES_compressed_ETC1_RGB8_texture GL_EXT_sRGB GL_ANGLE_depth_texture GL_OES_depth32 GL_EXT_texture_storage GL_OES_texture_npot GL_EXT_draw_buffers GL_EXT_texture_filter_anisotropic GL_EXT_occlusion_query_boolean GL_NV_fence GL_EXT_robustness GL_EXT_blend_minmax GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_pack_reverse_row_order GL_OES_standard_derivatives GL_EXT_shader_texture_lod GL_EXT_frag_depth GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_EXT_discard_framebuffer GL_EXT_debug_marker GL_OES_EGL_image GL_EXT_unpack_subimage GL_NV_pack_subimage GL_OES_vertex_array_object
Disabled Extensions	
Window system binding vendor	Google Inc. (adapter LUID: 00000000000091a6)
Window system binding version	1.4 (ANGLE 2.1.0.adf825b3ece8)
Window system binding extensions	EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses
Direct rendering	Yes
Reset notification strategy	0x8252
GPU process crash count	0
Diagnostics
... loading ...
Log Messages
WARNING: Hardware acceleration is unavailable.
 

Comment 1 by jer...@duckware.com, Dec 19 2015

Running r364195 with "--ignore-gpu-blacklist" appears to cause GPU0 to be used (but it still does not find GPU1)...

=== r364195 with --ignore-gpu-blacklist ==================================================
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
Rasterization: Software only. Hardware acceleration disabled
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
WebGL: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_d3d11
disable_msaa_on_non_webgl_contexts
exit_on_context_lost
force_cube_complete
scalarize_vec_and_mat_constructor_args
texsubimage_faster_than_teximage
Problems Detected
Some drivers are unable to reset the D3D device in the GPU process sandbox
Applied Workarounds: exit_on_context_lost
TexSubImage is faster for full uploads on ANGLE
Applied Workarounds: texsubimage_faster_than_teximage
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
Old Intel drivers cannot reliably support D3D11: 363721
Applied Workarounds: disable_d3d11
ANGLE crash on glReadPixels from incomplete cube map texture: 518889
Applied Workarounds: force_cube_complete
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: disable_msaa_on_non_webgl_contexts
Accelerated rasterization has been disabled, either via about:flags or command line.
Disabled Features: rasterization
GpuMemoryBuffer Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	Software only
BGRX_8888	Software only
BGRA_8888	Software only
YUV_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
Version Information
Data exported	12/19/2015, 11:11:48 AM
Chrome version	Chrome/49.0.2596.0
Operating system	Windows NT 6.1 SP1
Software rendering list version	0
Driver bug list version	8.37
ANGLE commit id	457f1d929e5f
2D graphics backend	Skia
Command Line Args	--ignore-gpu-blacklist --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	57
In-process GPU	false
Sandboxed	false
GPU0	VENDOR = 0x8086, DEVICE= 0x0116
Optimus	true
AMD switchable	false
Desktop compositing	Aero Glass
Driver vendor	Intel Corporation
Driver version	8.15.10.2321
Driver date	3-6-2011
Pixel shader version	3.0
Vertex shader version	3.0
Max. MSAA samples	4
Machine model name	
Machine model version	
GL_VENDOR	Google Inc.
GL_RENDERER	ANGLE (Intel(R) HD Graphics Family Direct3D9Ex vs_3_0 ps_3_0)
GL_VERSION	OpenGL ES 2.0 (ANGLE 2.1.0.457f1d929e5f)
GL_EXTENSIONS	GL_OES_element_index_uint GL_OES_packed_depth_stencil GL_OES_get_program_binary GL_OES_rgb8_rgba8 GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_float GL_OES_texture_float_linear GL_EXT_texture_compression_dxt1 GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_depth_texture GL_OES_depth32 GL_EXT_texture_storage GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_occlusion_query_boolean GL_NV_fence GL_EXT_robustness GL_EXT_blend_minmax GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_pack_reverse_row_order GL_OES_standard_derivatives GL_EXT_shader_texture_lod GL_EXT_frag_depth GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_EXT_debug_marker GL_OES_EGL_image GL_EXT_unpack_subimage GL_NV_pack_subimage GL_OES_vertex_array_object
Disabled Extensions	
Window system binding vendor	Google Inc. (adapter LUID: 00000000000091a6)
Window system binding version	1.4 (ANGLE 2.1.0.457f1d929e5f)
Window system binding extensions	EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses
Direct rendering	Yes
Reset notification strategy	0x8252
GPU process crash count	0
Diagnostics
0
b3DAccelerationEnabled	true
b3DAccelerationExists	true
bAGPEnabled	true
bAGPExistenceValid	true
bAGPExists	true
bCanRenderWindow	true
bDDAccelerationEnabled	true
bDriverBeta	false
bDriverDebug	false
bDriverSigned	false
bDriverSignedValid	false
bNoHardware	false
dwBpp	32
dwDDIVersion	10
dwHeight	1080
dwRefreshRate	60
dwWHQLLevel	0
dwWidth	1920
iAdapter	0
lDriverSize	7472128
lMiniVddSize	0
szAGPStatusEnglish	Enabled
szAGPStatusLocalized	Enabled
szChipType	Intel(R) HD Graphics Family
szD3DStatusEnglish	Enabled
szD3DStatusLocalized	Enabled
szDACType	Internal
szDDIVersionEnglish	10.1
szDDIVersionLocalized	10.1
szDDStatusEnglish	Enabled
szDDStatusLocalized	Enabled
szDXVAHDEnglish	Supported
szDXVAModes	ModeMPEG2_A ModeMPEG2_C ModeWMV9_C ModeVC1_C
szDescription	Intel(R) HD Graphics Family
szDeviceId	0x0116
szDeviceIdentifier	{D7B78E66-4256-11CF-3669-B424B7C2C535}
szDeviceName	\\.\DISPLAY1
szDisplayMemoryEnglish	1696 MB
szDisplayMemoryLocalized	1696 MB
szDisplayModeEnglish	1920 x 1080 (32 bit) (60Hz)
szDisplayModeLocalized	1920 x 1080 (32 bit) (60Hz)
szDriverAssemblyVersion	8.15.10.2321
szDriverAttributes	Final Retail
szDriverDateEnglish	3/7/2011 15:52:22
szDriverDateLocalized	3/7/2011 3:52:22 PM
szDriverLanguageEnglish	English
szDriverLanguageLocalized	English
szDriverModelEnglish	WDDM 1.1
szDriverModelLocalized	WDDM 1.1
szDriverName	igdumd64.dll,igd10umd64.dll,igd10umd64.dll,igdumdx32,igd10umd32,igd10umd32
szDriverNodeStrongName	oem81.inf:Intel.Mfg.NTamd64:iSNBM0:8.15.10.2321:pci\ven_8086&dev_0116&subsys_04b81028
szDriverSignDate	
szDriverVersion	8.15.0010.2321
szKeyDeviceID	Enum\PCI\VEN_8086&DEV_0116&SUBSYS_04B81028&REV_09
szKeyDeviceKey	\Registry\Machine\System\CurrentControlSet\Control\Video\{02302C6C-8910-4107-9541-D9162CD113CF}\0000
szManufacturer	Intel Corporation
szMiniVdd	n/a
szMiniVddDateEnglish	n/a
szMiniVddDateLocalized	n/a
szMonitorMaxRes	
szMonitorName	Generic PnP Monitor
szNotesEnglish	No problems found.
szNotesLocalized	No problems found.
szOverlayEnglish	Supported
szRankOfInstalledDriver	00E60001
szRegHelpText	
szRevision	
szRevisionId	0x0009
szSubSysId	0x04B81028
szTestResultD3D7English	Not run
szTestResultD3D7Localized	Not run
szTestResultD3D8English	Not run
szTestResultD3D8Localized	Not run
szTestResultD3D9English	Not run
szTestResultD3D9Localized	Not run
szTestResultDDEnglish	Not run
szTestResultDDLocalized	Not run
szVdd	n/a
szVendorId	0x8086
Log Messages
GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.

Comment 2 by jer...@duckware.com, Dec 19 2015

The notebook system that is experiencing the problem looks like:

 - Dell XPS L702X w/ i7-2630QM
 - GPU0: Intel HD Graphics 3000
 - GPU1: NVIDIA GeForce GT 555M

When running www.vsynctester.com, the TaskManager (menu->tools->TaskManager) in r364188 shows "GPU process" at around 5% CPU.  In r364195 the TaskManager shows a "GPU process", but CPU% stays at 0 (and Windows task manager shows the "--type=gpu-process" chrome process running).

In r364195, there is: "ERROR:browser_gpu_channel_host_factory.cc(144)] Failed to create channel."


Comment 3 by mit...@mithis.com, Dec 19 2015

Blocking: chromium:422000
Labels: Cr-Internals-GPU
Labels: TE-NeedsTriageFromMTV
Could some from MTV Team please verify the issue on the notebook with following configuration --
- Dell XPS L702X w/ i7-2630QM
- GPU0: Intel HD Graphics 3000
- GPU1: NVIDIA GeForce GT 555M\

Thank You.

Comment 6 by jer...@duckware.com, Dec 21 2015

MTV Team: must test with intel 'driver version' <= 8.15.10.2702.

----------

I believe that "Features are disabled upon full but not preliminary GPU info." is a key clue.

This means that (in r364195) "blacklisted_features_" differs from the "preliminary_blacklisted_features_", and as a result, Canary itself is INTENTIONALLY blocking GPU access! -- see GpuDataManagerImplPrivate::GpuAccessAllowed in gpu_data_manager_impl_private.cc.

Running Canary with logging and "--log-gpu-control-list-decisions" seems to confirm this.  I see two groups of control list match results.  The first group has only gpu_driver_bug_list matches.  But the second group has has one additional "Control list match for rule #78 in gpu_blacklist" (a rule to disable accelerated_video_decode for intel drivers <= 8.15.10.2702).  Notice in about:gpu that the Driver version for my notebook is 8.15.10.2321, which matches blacklist rule #78.

(In r364188, the two groups of control list results match, so "preliminary_blacklisted_features_" appears to match "blacklisted_features_"?)

The conclusion is that r364188 apparently detects the Intel GPU initially, but in r364195, the Intel GPU is apparently not detected until later? (otherwise, why would blacklist rule 78 not apply immediately?).

The one change that played around with the GPU detection code between the two revs is https://chromium.googlesource.com/chromium/src/+/7c7ee3e822e34dd970ea38cb8db4b18da9ef61bb.

----------

Also, at some point after r364195, about:gpu gives the impression that the GPU is turned back on, but it is not!  For example, now in 49.0.2598.0, Canary shows that the GPU is on, that many things are "Hardware accelerated", but it is very clear from Chrome's TaskManager, that the GPU process is using *no* CPU, and that going to a WebGL web page, which about:gpu shows as 'Hardware accelerated', simply does not work (it works using -ignore-gpu-blacklist).




Comment 7 by zmo@chromium.org, Dec 21 2015

Owner: zmo@chromium.org
Status: Assigned
OK, I'll take a look.

Comment 8 by zmo@chromium.org, Dec 21 2015

OK, I think I know why. I'll get a fix in soon.

Comment 9 by zmo@chromium.org, Dec 21 2015

The reason is that we don't know which GPU is primary until we get the GL strings, and at that time we did an recomputation and realize we need to block video decode.

I need to look at timing.  The GL string look up is still on the browser side, so likely we could avoid blocking all GPU features if it happens before launching the GPU process.
zmo, for whatever reason, at some point after r364195, I noticed that about:gpu starting to return some items as "Hardware accelerated" -- but after a bunch of research, the information in about:gpu appears totally busted.

about:gpu (example below) shows items as "Hardware accelerated", but they can not possibly be -- and confirmed by seeing that the GPU process is receiving *no* GPU time (and performing no I/O); and further confirmed by going to a WebGL webpage and seeing absolute nothing (even though about:gpu shows WebGL as 'Hardware accelerated').  Also, you will see workarounds such as 'disable_d3d11' applied, and yet the GL renderer is the Direct3D11 version (expected the Direct3D9Ex version).

What I have noticed is that if "Diagnostics" is "... loading ..." (and does not fill in with real data within seconds) that is a very strong indication that Chrome is not communicating with the GPU process (the Chrome has elected to block access to the GPU as per #6 discussion), and then, all other information in the about:gpu appears completely wrong.

I don't know if bad 'about:gpu' information is related to this issue or is a totally new issue when Chrome blocks access to the GPU (I leave that up to you to decide).

--- about:gpu using 49.0.2598.0/r366315 ----------------------------------------
Graphics Feature Status
Canvas: Software only, hardware acceleration unavailable
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Rasterization: Software only. Hardware acceleration disabled
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
WebGL: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_d3d11
disable_msaa_on_non_webgl_contexts
exit_on_context_lost
force_cube_complete
scalarize_vec_and_mat_constructor_args
texsubimage_faster_than_teximage
Problems Detected
Accelerated video decode interferes with GPU sandbox on older Intel drivers: 180695, 298968, 436968
Disabled Features: accelerated_video_decode
Some drivers are unable to reset the D3D device in the GPU process sandbox
Applied Workarounds: exit_on_context_lost
TexSubImage is faster for full uploads on ANGLE
Applied Workarounds: texsubimage_faster_than_teximage
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
Old Intel drivers cannot reliably support D3D11: 363721
Applied Workarounds: disable_d3d11
ANGLE crash on glReadPixels from incomplete cube map texture: 518889
Applied Workarounds: force_cube_complete
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: disable_msaa_on_non_webgl_contexts
Accelerated rasterization has been disabled, either via about:flags or command line.
Disabled Features: rasterization
GpuMemoryBuffer Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	Software only
BGRX_8888	Software only
BGRA_8888	Software only
YUV_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
Version Information
Data exported	12/21/2015, 4:12:49 PM
Chrome version	Chrome/49.0.2598.0
Operating system	Windows NT 6.1 SP1
Software rendering list version	10.16
Driver bug list version	8.37
ANGLE commit id	457f1d929e5f
2D graphics backend	Skia
Command Line Args	SxS\Application\chrome.exe" --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	33
In-process GPU	false
Sandboxed	true
GPU0	VENDOR = 0x8086, DEVICE= 0x0116
Optimus	true
AMD switchable	false
Desktop compositing	Aero Glass
Driver vendor	Intel Corporation
Driver version	8.15.10.2321
Driver date	3-6-2011
Pixel shader version	4.1
Vertex shader version	4.1
Max. MSAA samples	4
Machine model name	
Machine model version	
GL_VENDOR	Google Inc.
GL_RENDERER	ANGLE (Intel(R) HD Graphics Family Direct3D11 vs_4_1 ps_4_1)
GL_VERSION	OpenGL ES 2.0 (ANGLE 2.1.0.457f1d929e5f)
GL_EXTENSIONS	GL_OES_element_index_uint GL_OES_packed_depth_stencil GL_OES_get_program_binary GL_OES_rgb8_rgba8 GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra GL_NV_pixel_buffer_object GL_OES_mapbuffer GL_EXT_map_buffer_range GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_float GL_OES_texture_float_linear GL_EXT_texture_rg GL_EXT_texture_compression_dxt1 GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_OES_compressed_ETC1_RGB8_texture GL_EXT_sRGB GL_ANGLE_depth_texture GL_OES_depth32 GL_EXT_texture_storage GL_OES_texture_npot GL_EXT_draw_buffers GL_EXT_texture_filter_anisotropic GL_EXT_occlusion_query_boolean GL_NV_fence GL_EXT_robustness GL_EXT_blend_minmax GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_pack_reverse_row_order GL_OES_standard_derivatives GL_EXT_shader_texture_lod GL_EXT_frag_depth GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_EXT_discard_framebuffer GL_EXT_debug_marker GL_OES_EGL_image GL_EXT_unpack_subimage GL_NV_pack_subimage GL_OES_vertex_array_object
Disabled Extensions	
Window system binding vendor	Google Inc. (adapter LUID: 0000000000009334)
Window system binding version	1.4 (ANGLE 2.1.0.457f1d929e5f)
Window system binding extensions	EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses
Direct rendering	Yes
Reset notification strategy	0x8252
GPU process crash count	0
Diagnostics
... loading ...
Log Messages
WARNING: Hardware acceleration is unavailable.
GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.
GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.
----------------------------------------

zmo, the issue of about:gpu showing completely wrong information (as per #10) affects Google Chrome Canary, but not the Chromium builds.

I tried to bisect when the about:gpu went from saying features were "Software only, hardware acceleration unavailable" to "Hardware accelerated", and ran into a contradiction.

I don't see the problem with the 'continuous' Win builds from build.chromium.org, but as per #10 above, the problem is there in Canary.

zmo, I uninstalled Canary, manually deleted the 'Chrome SxS' folder (since tons of stuff was left behind), reinstalled Canary, and now about:gpu behaves like Chromium.  Clearly over the years of running Canary, something was left behind (and being incorrect used), that is now gone.  So ignore comments #10 and #11.
any progress on fixing this?
zmo, I need this fixed.  It makes it difficult to maintain vsynctester.com, when Chrome vsync is busted on my computer due to your 7c7ee3e patch.  Please fix.

Comment 15 by zmo@chromium.org, Jan 21 2016

Status: Started
My apology: it slipped out of my radar.  I am on it now.
OK. I look forward to the fix...
zmo, any progress on fixing this?

Comment 18 by zmo@chromium.org, Feb 16 2016

Can you test with the ToT and see if it's fixed?

https://codereview.chromium.org/1547793004 has landed and hopefully it fixed the bug.
Just tested against r376054, and problem remains -- there has been NO change.
Issue appears fixed between r376822 and r376833, with:

  04f05e5: Fix GPU acceleration on Intel GMA* by lof84 (https://codereview.chromium.org/1719113002)

being the likely fix.

zmo, can you confirm?

Comment 21 by zmo@chromium.org, Mar 1 2016

Status: Fixed (was: Started)
Yes, that's the right fix.

Sign in to add a comment