Bug 90192

Summary: [chromium] Add a virtual test suite for fast/hidpi
Product: WebKit Reporter: Terry Anderson <tdanderson>
Component: Tools / TestsAssignee: alexst
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, danakj, dglazkov, dpranke, ojan, rjkroege, tdanderson, tkent, vollick, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 90190, 93647, 94935    
Bug Blocks: 88121    
Attachments:
Description Flags
Patch
none
Archive of layout-test-results from ec2-cr-linux-01
none
Patch for landing
dpranke: review+, danakj: commit-queue-
Archive of layout-test-results from gce-cr-linux-02
none
Patch
none
Patch
none
Patch none

Description Terry Anderson 2012-06-28 11:15:22 PDT
Need a virtual test suite to make sure the pixel tests in fast/hidpi give the same result on both the software path and the hardware accelerated path.
Comment 1 Terry Anderson 2012-06-28 15:36:56 PDT
Created attachment 150029 [details]
Patch
Comment 2 WebKit Review Bot 2012-06-28 19:22:28 PDT
Comment on attachment 150029 [details]
Patch

Attachment 150029 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13121147

New failing tests:
platform/chromium/virtual/gpu/fast/hidpi/image-set-border-image-comparison.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-out-of-order.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-border-image-simple.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-as-background.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-background-dynamic.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-without-specified-width.html
platform/chromium/virtual/gpu/fast/hidpi/focus-rings.html
platform/chromium/virtual/gpu/fast/hidpi/device-scale-factor-paint.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-background-repeat-without-size.html
platform/chromium/virtual/gpu/fast/hidpi/broken-image-icon-hidpi.html
platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-border-image-dynamic.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-in-content-dynamic.html
platform/chromium/virtual/gpu/fast/hidpi/clip-text-in-hidpi.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-background-repeat.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-simple.html
platform/chromium/virtual/gpu/fast/hidpi/broken-image-with-size-hidpi.html
platform/chromium/virtual/gpu/fast/hidpi/resize-corner-hidpi.html
Comment 3 WebKit Review Bot 2012-06-28 19:22:33 PDT
Created attachment 150066 [details]
Archive of layout-test-results from ec2-cr-linux-01

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: ec2-cr-linux-01  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick
Comment 4 Terry Anderson 2012-07-25 10:29:58 PDT
Created attachment 154384 [details]
Patch for landing
Comment 5 Terry Anderson 2012-07-25 10:32:01 PDT
(In reply to comment #4)
> Created an attachment (id=154384) [details]
> Patch for landing

My first patch received an r+ from dpranke@
Comment 6 Dirk Pranke 2012-07-25 10:51:09 PDT
Comment on attachment 154384 [details]
Patch for landing

so did your second.
Comment 7 WebKit Review Bot 2012-07-25 11:42:08 PDT
Comment on attachment 154384 [details]
Patch for landing

Attachment 154384 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13361126

New failing tests:
platform/chromium/virtual/gpu/fast/hidpi/image-set-border-image-comparison.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-out-of-order.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-border-image-simple.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-as-background.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-background-dynamic.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-without-specified-width.html
platform/chromium/virtual/gpu/fast/hidpi/focus-rings.html
platform/chromium/virtual/gpu/fast/hidpi/device-scale-factor-paint.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-background-repeat-without-size.html
platform/chromium/virtual/gpu/fast/hidpi/broken-image-icon-hidpi.html
platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-border-image-dynamic.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-in-content-dynamic.html
platform/chromium/virtual/gpu/fast/hidpi/clip-text-in-hidpi.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-background-repeat.html
platform/chromium/virtual/gpu/fast/hidpi/image-set-simple.html
platform/chromium/virtual/gpu/fast/hidpi/broken-image-with-size-hidpi.html
platform/chromium/virtual/gpu/fast/hidpi/resize-corner-hidpi.html
Comment 8 WebKit Review Bot 2012-07-25 11:42:15 PDT
Created attachment 154405 [details]
Archive of layout-test-results from gce-cr-linux-02

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-02  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid
Comment 9 Terry Anderson 2012-07-26 09:21:13 PDT
I am not sure what the problem is here. When I run the following locally:

./out/Release/DumpRenderTree --force-compositing-mode --enable-hardware-gpu --pixel-tests any_test_in_fast_hidpi

then I get the error:

...nss_util.cc(474)] Error initializing NSS with a persistent database...

and the corresponding PNG output is just a white background. This worked just fine a month ago when I uploaded my first patch. Note that the error message disappears and I get a correct-looking PNG output when I remove --force-compositing-mode.

Any suggestions?
Comment 10 Terry Anderson 2012-07-26 11:39:46 PDT
(In reply to comment #9)
> I am not sure what the problem is here. When I run the following locally:
> 
> ./out/Release/DumpRenderTree --force-compositing-mode --enable-hardware-gpu --pixel-tests any_test_in_fast_hidpi
> 
> then I get the error:
> 
> ...nss_util.cc(474)] Error initializing NSS with a persistent database...
> 
> and the corresponding PNG output is just a white background. This worked just fine a month ago when I uploaded my first patch. Note that the error message disappears and I get a correct-looking PNG output when I remove --force-compositing-mode.
> 
> Any suggestions?

I should also add that I do see correct-looking image output when I run ./out/Release/DumpRenderTree --force-compositing-mode --enable-hardware-gpu --pixel-tests locally on a pixel test not in fast/hidpi.

For fast/hidpi/broken-image-icon-hidpi.html, the top of the stderr in the attached zip shows:

[7750:7750:2033701144388:ERROR:gl_surface_glx.cc(62)] GLX 1.3 or later is required.
[7750:7750:2033701144548:ERROR:gl_surface_linux.cc(58)] GLSurfaceGLX::InitializeOneOff failed.
[7750:7750:2033701219348:ERROR:gl_surface_glx.cc(266)] glXChooseFBConfig failed.
[7750:7750:2033701219435:ERROR:webgraphicscontext3d_in_process_command_buffer_impl.cc(428)] Could not create GLSurface.
[7750:7750:2033701219456:FATAL:context_group.cc(265)] Check failed: num_contexts_ == 0. 
	base::debug::StackTrace::StackTrace() [0x68396e]
	base::(anonymous namespace)::StackDumpSignalHandler() [0x66ff49]
	0x7f492428aaf0
	0x7f492428aa75
	0x7f492428e5c0
	base::debug::BreakDebugger() [0x652c39]
	logging::LogMessage::~LogMessage() [0x65cef5]
	gpu::gles2::ContextGroup::~ContextGroup() [0x16bea5c]
	gpu::gles2::GLES2DecoderImpl::Destroy() [0x16da6e3]
	webkit::gpu::GLInProcessContext::Initialize() [0x16b4b7a]
	webkit::gpu::GLInProcessContext::CreateOffscreenContext() [0x16b54a4]
	webkit::gpu::WebGraphicsContext3DInProcessCommandBufferImpl::Initialize() [0x16b5694]

...

I am unable to reproduce this crash locally. Based on the logs, the reason for the crash is that in GLInProcessContext::Initialize, a call to gfx::GLSurface::CreateOffscreenGLSurface is made but no surface is created, which is the reason for "Could not create GLSurface" and the call to Destroy().

But when I run this test locally, a surface *is* created and thus there is no crash. Yet I still only get a while background for the PNG output.
Comment 11 Terry Anderson 2012-08-29 19:29:16 PDT
Comment on attachment 154384 [details]
Patch for landing

Now that https://bugs.webkit.org/show_bug.cgi?id=94935 has landed, this patch should be good to land as well.
Comment 12 WebKit Review Bot 2012-08-30 17:02:47 PDT
Comment on attachment 154384 [details]
Patch for landing

Rejecting attachment 154384 [details] from commit-queue.

Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 1

ERROR: /mnt/git/webkit-commit-queue/Source/JavaScriptCore/ChangeLog neither lists a valid reviewer nor contains the string "Unreviewed" or "Rubber stamp" (case insensitive).

Full output: http://queues.webkit.org/results/13688963
Comment 13 Dana Jansens 2012-08-31 09:40:24 PDT
Comment on attachment 154384 [details]
Patch for landing

Hmmm patch has R+, CQ should add the reviewed by. Let's try again?
Comment 14 Dana Jansens 2012-08-31 13:52:18 PDT
Comment on attachment 154384 [details]
Patch for landing

Looks like the tests are crashing at the moment for some reason, so that will need to be sorted.
Comment 15 alexst 2012-09-12 07:23:58 PDT
Created attachment 163622 [details]
Patch
Comment 16 alexst 2012-09-12 11:17:49 PDT
There will be a modification to this patch to remove --enable-hardware-gpu.

The issue here is that the ews bots make no guarantees about the gpu configuration and by forcing the hardware gpu we will fail in Xvfb (virtual framebuffer used by the bots) because its GLX version is 1.2 and we need 1.3. There are no immediate plans to upgrade the bots to 1.3.

The goal of the patch was to test both the compositor path and its interaction with a real GPU, but with the current configuration, only compositor path test is possible.

I ran this by rjkroege and he agrees that it's better to test the compositor path through MESA in this patch, which I verified passes in xvfb on my machine and then work towards testing the real GPU on the specialized bots that have it.
Comment 17 alexst 2012-09-12 11:19:27 PDT
Created attachment 163660 [details]
Patch
Comment 18 Dirk Pranke 2012-09-12 11:50:55 PDT
Comment on attachment 163660 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=163660&action=review

> LayoutTests/platform/chromium/virtual/gpu/fast/hidpi/README.txt:1
> +# This suite runs the tests in LayoutTests/fast/hidpi with --force-compositing-mode and --enable-hardware-gpu

Nit: remove --enable-hardware-gpu.
Comment 19 alexst 2012-09-12 11:59:10 PDT
Created attachment 163667 [details]
Patch
Comment 20 WebKit Review Bot 2012-09-12 12:23:15 PDT
Comment on attachment 163667 [details]
Patch

Clearing flags on attachment: 163667

Committed r128348: <http://trac.webkit.org/changeset/128348>