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

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: ----
Type: Feature
Launch-Accessibility: NA
Launch-Legal: NA
Launch-Privacy: NA
Launch-Security: NA
Launch-Test: NA
Launch-UI: NA


Sign in to add a comment
link

Issue 713889: Launch color correct rendering

Reported by ccameron@chromium.org, Apr 20 2017 Project Member

Issue description

Technical feature description:
Use the flag --enable-color-correct-rendering by default on Mac.

Eng owner:
ccameron

Design doc:
https://docs.google.com/document/d/1bTQKKCRXFV6UK1YiYMj7Yif114hcgPqq-mU49VnaljQ/edit?usp=sharing

Finch/experimentation:
This should leave all metrics for rasterization and compositing performance unchanged.

Finch ambassador: sdoyon@chromium.org
 

Comment 1 by ccameron@chromium.org, Apr 20 2017

Cc: sdoyon@chromium.org

Comment 2 by ccameron@chromium.org, Apr 20 2017

Blockedon: 713891

Comment 3 by ccameron@chromium.org, Apr 20 2017

Blockedon: 696747

Comment 4 by ccameron@chromium.org, May 3 2017

Cc: sugoi@chromium.org junov@chromium.org vangelis@chromium.org mikelawther@chromium.org noel@chromium.org andresantoso@chromium.org kbr@chromium.org ccameron@chromium.org senorblanco@chromium.org erikc...@chromium.org rsesek@chromium.org
 Issue 417150  has been merged into this issue.

Comment 5 by vmi...@chromium.org, May 31 2017

Blocking: 728350

Comment 6 by ccameron@chromium.org, Jun 1 2017

Cc: e...@chromium.org bunge...@chromium.org
 Issue 728628  has been merged into this issue.

Comment 7 by ccameron@chromium.org, Jun 14 2017

The work in  issue 713891  to move all layout tests to --enable-color-correct-rendering is essentially done. I've been running Canary with this flag for over a month with no issues. Time to start turning this on to a larger population.

Comment 8 by ccameron@chromium.org, Jun 14 2017

Labels: OS-Android OS-Chrome OS-Linux OS-Windows
Summary: Launch color correct rendering (was: Launch color correct rendering on Mac)

Comment 9 by ccameron@chromium.org, Jun 15 2017

Labels: -Type-Launch Type-Feature

Comment 10 by ccameron@chromium.org, Jun 15 2017

 Issue 733600  has been merged into this issue.

Comment 11 by ccameron@chromium.org, Jun 15 2017

Blockedon: 733832

Comment 12 by ccameron@chromium.org, Jun 16 2017

Blockedon: 734255

Comment 13 by ccameron@chromium.org, Jun 16 2017

Blockedon: 734262

Comment 14 by ccameron@chromium.org, Jun 16 2017

Blockedon: -733832

Comment 15 by bugdroid1@chromium.org, Jun 17 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/708f986f71d8059c05c0f05b37d8c798a877ffde

commit 708f986f71d8059c05c0f05b37d8c798a877ffde
Author: ccameron <ccameron@chromium.org>
Date: Sat Jun 17 01:29:37 2017

color: Use base::Feature to control color correct rendering

Add an explicit enable command line flag in
ShellMainDelegate::BasicStartupComplete to enable this feature
for layout tests, because it is already enabled for layout tests.

R=asvitkine
TBR=avi (content/), xiyuan (chrome/browser/chromeos/login)
BUG= 713889 

Review-Url: https://codereview.chromium.org/2945453002
Cr-Commit-Position: refs/heads/master@{#480262}

[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/chrome/browser/about_flags.cc
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/chrome/browser/chromeos/login/chrome_restart_request.cc
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/content/browser/renderer_host/render_view_host_impl.cc
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/content/shell/app/shell_main_delegate.cc
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/content/test/layouttest_support.cc
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/ui/compositor/compositor.cc
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/ui/compositor/compositor_util.cc
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/ui/display/mac/screen_mac.mm
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/ui/gfx/color_space_switches.cc
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/ui/gfx/color_space_switches.h
[modify] https://crrev.com/708f986f71d8059c05c0f05b37d8c798a877ffde/ui/gfx/mac/io_surface.cc

Comment 16 by ccameron@chromium.org, Jun 19 2017

This feature is now on for all Layout tests. A few tests periodically time out, but it's not clear (yet) if that is particular to the color correct rendering flag.

The gpu pixel tests will need to be rebaselined for this feature, too, so I have a sub-bug for that ( issue 734255 ).

Several browser and content_browser tests fail with this feature enabled (afaik mostly because they pick up the display color profile), so I have a sub-bug for that as well ( issue 734262 ).

Once I have all tests switched over, I will try just flipping the switch (which is 1 line because of the change in #15). I suspect that I will have to turn it off due to rasterization performance regressions (for which I've already filed issue 719735), but I hope to leave it on long enough to flush out any surprises.

Comment 17 by ccameron@chromium.org, Jun 20 2017

Issue 229904 has been merged into this issue.

Comment 18 by ccameron@chromium.org, Jun 26 2017

Blockedon: 736858

Comment 19 by ccameron@chromium.org, Jun 26 2017

Blockedon: 736628

Comment 20 by ccameron@chromium.org, Jun 28 2017

I'm planning to enable this feature by default now.

Layout tests, GPU tests, and content_browsertests, and browser_tests area all running with this flag, so there should be minimal movement on the waterfall.

That said, this touches basically everything, so I do expect some surprises.

Comment 21 by bugdroid1@chromium.org, Jun 28 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1894d423068be735560e0171922c833c4091b5d1

commit 1894d423068be735560e0171922c833c4091b5d1
Author: Christopher Cameron <ccameron@chromium.org>
Date: Wed Jun 28 06:31:03 2017

color: Enable color correct rendering by default

Bug:  713889 
Change-Id: Iaf06ce02179d25aeb339912f576bf80d41155299
Reviewed-on: https://chromium-review.googlesource.com/551092
Reviewed-by: Fredrik Hubinette <hubbe@chromium.org>
Commit-Queue: ccameron chromium <ccameron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482904}
[modify] https://crrev.com/1894d423068be735560e0171922c833c4091b5d1/ui/gfx/color_space_switches.cc

Comment 22 by ccameron@chromium.org, Jun 28 2017

(gulp)

Comment 23 by jfernan...@igalia.com, Jun 30 2017

Blocking: 707359

Comment 24 by kbr@chromium.org, Jul 5 2017

Blockedon: 739339

Comment 25 by ccameron@chromium.org, Jul 18 2017

Cc: rbasuvula@chromium.org
 Issue 734390  has been merged into this issue.

Comment 26 by ccameron@chromium.org, Jul 19 2017

Issue 517128 has been merged into this issue.

Comment 27 by ccameron@chromium.org, Jul 25 2017

Cc: hubbe@chromium.org pbomm...@chromium.org
 Issue 748076  has been merged into this issue.

Comment 28 by junov@chromium.org, Jul 25 2017

Blockedon: 747640

Comment 29 by ccameron@chromium.org, Jul 25 2017

Blockedon: 738517

Comment 30 by sethgol...@gmail.com, Jul 28 2017

Sorry, I think I spoke too soon. This DOESN'T look like it's fixed in 62.0.3169.0 (Official Build) canary (64-bit). I'm still seeing a bad gamma shift with my NVIDIA GPU when hardware acceleration is enabled. You can see this in the PLUGE at 16 seconds here: https://youtu.be/K5WQzgRYnZ0

Here's my chrome://gpu in 62.0.3169.0 (Official Build) canary (64-bit).

Graphics Feature Status
Canvas: Hardware accelerated
CheckerImaging: Enabled
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Hardware accelerated
Rasterization: Software only, hardware acceleration unavailable
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
adjust_src_dst_region_for_blitframebuffer
decode_encode_srgb_for_generatemipmap
disable_framebuffer_cmaa
disable_multimonitor_multisampling
get_frag_data_info_bug
needs_offscreen_buffer_workaround
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
unpack_overlapping_rows_separately_unpack_buffer
use_intermediary_for_copy_texture_image
use_unused_standard_shared_blocks
Problems Detected
Some GPUs on Mac can perform poorly with GPU rasterization. Disable all known NVidia GPUs other than the Geforce 6xx and 7xx series, which have been tested.: 613272, 614468
Disabled Features: gpu_rasterization
Work around a bug in offscreen buffers on NVIDIA GPUs on Macs: 89557
Applied Workarounds: needs_offscreen_buffer_workaround
Multisampling is buggy on OSX when multiple monitors are connected: 237931
Applied Workarounds: disable_multimonitor_multisampling
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
Unpacking overlapping rows from unpack buffers is unstable on NVIDIA GL driver: 596774
Applied Workarounds: unpack_overlapping_rows_separately_unpack_buffer
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 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
Version Information
Data exported	7/28/2017, 11:07:18 AM
Chrome version	Chrome/62.0.3169.0
Operating system	Mac OS X 10.12.6
Software rendering list version	13.10
Driver bug list version	10.21
ANGLE commit id	40ac783b9b08
2D graphics backend	Skia/62 164f6ecb842f530017acb7ee814b2a55444f4462-
Command Line	/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	5
In-process GPU	false
Passthrough Command Decoder	false
Supports overlays	false
Sandboxed	true
GPU0	VENDOR = 0x10de, DEVICE= 0x17c2 *ACTIVE*
Optimus	false
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	10.18.5 378.05.05.25f01
Driver date	
Pixel shader version	4.10
Vertex shader version	4.10
Max. MSAA samples	8
Machine model name	MacPro
Machine model version	5.1
GL_VENDOR	NVIDIA Corporation
GL_RENDERER	NVIDIA GeForce GTX TITAN X OpenGL Engine
GL_VERSION	4.1 NVIDIA-10.18.5 378.05.05.25f01
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_framebuffer_multisample_blit_scaled 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
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_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
BGRX_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE
BGRA_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
RGBA_F16	GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
YVU_420	Software only
YUV_420_BIPLANAR	GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
UYVY_422	GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
Log Messages
[986:775:0728/110718.074603:ERROR:gpu_video_decode_accelerator.cc(381)] : HW video decode not available for profile h264 main

Comment 31 by ccameron@chromium.org, Jul 31 2017

Cc: est...@chromium.org
 Issue 139687  has been merged into this issue.

Comment 32 by sdy@chromium.org, Aug 14 2017

 Issue 755115  has been merged into this issue.

Comment 33 Deleted

Comment 34 by ccameron@chromium.org, Aug 16 2017

Re #30: Sorry, but I think that comment #33 was made in error, since it refers to a different operating system and use case scenario.

Please follow up in  issue 748076 . In particular, please attach an image of the output that you expect versus the output that you get.

Comment 35 by pdk...@gmail.com, Aug 20 2017

61.0.3163.55

I'm getting severe image corruption with enable-gpu-rasterization set. I've mentioned it in a semi-related bug report, but it was ignored.

https://bugs.chromium.org/p/chromium/issues/detail?id=733274#c11

I disabled it quickly. (I can't disable enable-gpu-rasterization, as that solves other, unrelated, issues.)

Comment 36 Deleted

Comment 37 Deleted

Comment 38 by dilla6...@gmail.com, Sep 18 2017

This happens also, if you open a second regular window.

2017-09-18 14:58 GMT+02:00 cisel… via monorail <
monorail+v2.408682516@chromium.org>:

Comment 39 by hubbe@chromium.org, Sep 18 2017

cielssky: This is the right site, but the wrong page for this bug report.
Please use the "New Issue" bug at the top of this page to file a new bugreport.
Make sure you include information about what operating system, gpu and monitor profile you are using. If possible, attach your ICC profile to the new bug.

Comment 40 by ccameron@chromium.org, Sep 19 2017

Status: Fixed (was: Assigned)
This is in stable now.

Comment 41 by mikelawther@chromium.org, Sep 19 2017

\o/

Comment 42 by pdk...@gmail.com, Oct 6 2017

Still have #35 in M62.

Comment 43 by e...@chromium.org, Jul 2 2018

Cc: cbiesin...@chromium.org svil...@igalia.com r...@igalia.com msten...@opera.com kojii@chromium.org
 Issue 707359  has been merged into this issue.

Sign in to add a comment