1. Install latest unstable google chrome, details:
add "deb http://dl.google.com/linux/chrome/deb/ stable main" to your computer software source list(/etc/apt/sources.list).
sudo apt-get update
sudo apt-get install google-chrome-unstable
2. Run chrome in the terminal, you can specify your Mesa driver and run with some options,
[LD_LIBRARY_PATH=<mesa_lib>:$LD_LIBRARY_PATH LIBGL_DRIVERS_PATH=<mesa_lib>/dri] google-chrome-unstable --enable-unsafe-es3-apis -- use-gl=egl
3. Please check chrome revision ("chrome://version"), it must be newer than #376886
4. Open the link, https://www.khronos.org/registry/webgl/sdk/tests/webgl-conformance-tests.html?version=2.0.0 (should be 2.0.0(beta))
5. Search case "conformance2/textures/misc/copy-texture-image.html", and run this case.
Result: This case will fail. This case succeeds on nvidia driver.
Expected: This case passes on Mesa driver.
Notes: We test the case on below devices based on Mesa driver, it also fails.
Pixel 2013 - IVB Chromebook, Mesa version 11.0.2
Acer C720 - HSW Chromebook, Mesa version 11.0.2
Acer C910 - BDW Chromebook, Mesa version 11.0.2
Sorry, in step2, there is a redundant blank of "-- use-gl=egl", please remove it to start the chrome.
[LD_LIBRARY_PATH=<mesa_lib>:$LD_LIBRARY_PATH LIBGL_DRIVERS_PATH=<mesa_lib>/dri] google-chrome-unstable --enable-unsafe-es3-apis --use-gl=egl
We also use "firefox-trunck + Mesa driver" to test this case, it also fails.
I can confirm this. Page 160-161 of the ES 3.1 specification changed the rules compared to ES 3.0. Our error condition (see formats_differ_in_component_sizes in copyteximage()) seems to be implementing the ES 3.0 rules - this may need to be changed.
Removing the tighter 3.0 restriction passes these tests, but then causes Mesa to fail the ES 3.0 conformance suite. Mesa's 3.0 implementation is automatically promoted to ES3.1 on platforms that support it, and Mesa removes the restriction.
Seems like the two Khronos CTS suites are mutually incompatible.