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

Issue 773125 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Can't run layout tests

Project Member Reported by hubbe@chromium.org, Oct 9 2017

Issue description

 DISPLAY=:0.0 python third_party/WebKit/Tools/Scripts/run-webkit-tests --iterations=500 --driver-logging -t gnDebug --exit-after-n-failures=1 media/video-force-preload-none-to-metadata-on-load.html

....

ERR: google2/chrome-client2/src/out/gnDebug/content_shell --type=gpu-process --disable-gpu-rasterization --enable-logging --run-layout-test --enable-crash-reporter --crash-dumps-dir=/usr/local/google2/chrome-client2/src/out/gnDebug/crash-dumps --use-gl=swiftshader --gpu-vendor-id=0x0000 --gpu-device-id=0x0000 --gpu-driver-vendor --gpu-driver-version --gpu-driver-date --run-layout-test --enable-crash-reporter --crash-dumps-dir=/usr/local/google2/chrome-client2/src/out/gnDebug/crash-dumps --enable-logging --service-request-channel-token=A3BFF4F9D45FE33E30B6F65CA9EFCB13: ../../third_party/swiftshader/src/OpenGL/libEGL/Display.cpp:738: sw::Format egl::Display::getDisplayFormat() const: Assertion `false' failed.\n


I have a 10-bit-per-channel framebuffer and swifthshader doesn't seem to like that.  (It was working just fine previously.)

 

Comment 1 by sugoi@chromium.org, Oct 10 2017

Cc: sugoi@chromium.org hubbe@chromium.org
Owner: capn@chromium.org
hubbe@, can you tell us which EGL format(s) you would like us to support so we can add it(them) to SwiftShader?

Thanks
This assert is coming from our X11 display color depth detection. We're only expecting 32-bit, 24-bit, or 16-bit colors. I suspect that 10-bit per channel would be reported as 30 bits per pixel, but I don't have a way of verifying that currently.

hubbe@, what type of monitor do you have?

Comment 3 by hubbe@chromium.org, Oct 10 2017

It's not the monitor that matters, it's how you configure the screen in xorg.conf, which I have configured to a depth of 30. If I remember correctly, this is called R10G10B10A2 in EGL.

My workstation's xorg.conf is managed by an administrator tool, and when I made it use a custom xorg.conf and changed it to 30-bit depth, my mouse buttons stopped working. So I had to revert it back to 24-bit.

Do you have an detailed instructions on how to properly enable 30-bit color depth? I've filed a ticket with tech support.

Comment 5 by hubbe@chromium.org, Oct 11 2017

I have created a new file called /usr/share/X11/xorg.conf.d/99-screen.conf with the following content:

Section "Screen"
  Identifier "Screen0"
  DefaultDepth 30
  Subsection "Display"
    Depth 30
  EndSubSection
EndSection

Comment 6 by capn@chromium.org, Oct 12 2017

Status: Started (was: Untriaged)
Thanks. It had the same result of stopping my mouse buttons from working, but this time I noticed that they still work in applications. So only the desktop appears to be affected. That's workable for me to look into this bug.
I have a WIP patch which appears to work: https://swiftshader-review.googlesource.com/c/SwiftShader/+/13148

Chrome itself doesn't seem to fully support 30-bit color yet though. When I hover over tabs, the info box has wrong colors. I've also seen some tiling artifacts when switching back to old tabs.

Please make this a P2 when we really need to start supporting 30-bit color.

Comment 8 by hubbe@chromium.org, Oct 19 2017

I've been using 30-bit colors with chrome for over a year without noticing any major problems. Many intermediate textures are still 8-bit though, so not everything benefits from the extra precision.

The tab-hoover thing works fine for me, and I don't remember seeing any tiling artifacts, which makes sense, because for the most part, chrome doesn't really know or care that it's running in 30-bit mode.


Sign in to add a comment