Implements the first part (FrameCapture) of the proposal
go/frame-capture-and-interpreter-testing
Adds a basic test (CapturedTest) with a few frames. This test gets
captured by capture_tests.py into a temporary directory and the
resulting files are diff'ed with the files under expected/
A diff fails the test. When capture changes, the workflow would be to
run the command indicated by the error message in the test which will
overwrite the files with new ones so that they can be added to the CL.
Example test failure on capture change:
https://chromium-swarm.appspot.com/task?id=62b5f4034527c610
when testing https://crrev.com/c/4598046/3
Tests in CI: https://screenshot.googleplex.com/77o8vZVuj8AbFRj
Also adds a "angle_capture_tests_trace" lib with the trace just to test
that this capture also builds, the lib is not currently loaded by
anything.
Bug: b/286067106
Change-Id: I7d5f6eed088d84f9e3eb8a72b24b1d92515fff38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545408
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Old names: use config pairs when they can vary, e.g.
android-arm-dbg
android-arm64-rel
linux-clang-dbg
win-clang-x64-rel
win-msvc-x86-dbg
win-trace-rel
New names: use config names when they differ from the the
default test config for a system, and suffix with -compile
and -test for compile-only and compile-and-test bots. For
Android configs, we keep the full target arch. e.g.
android-arm-dbg-compile
android-arm64-test
linux-dbg-compile
win-test
win-msvc-x86-dbg-compile
win-trace
The new naming scheme prioritizes having short names to
avoid redundant or implicitly understood information. This
should reduce the mental load when looking at a set of test
results.
This also adds SwiftShader win10-x64 configs so we can add
these to the CI easily. Also the plan is to turn off the GCC
configs for now. If we ever support GCC properly we can re-
enable them.
This CL adds the new configs to CI, then a following CL will
add them to CQ and remove the old configs at the same time.
Bug: angleproject:6496
Change-Id: I0ecdcd392c4d7067d6b180664f160ba7c048d16d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3219590
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
The dEQP GLES / EGL tests on the Nexus 5x are not a configuration we
intend to ship. The 5x is over 5 years old and has been discontinued
without updates. Because it costs us resources and developer time to
maintain these configs, and we still have WebGL testing of this
device, remove the native dEQP tests from this config.
Also includes a fix to the lucicfg presubmit on Windows.
Bug: angleproject:6527
Change-Id: I70bbd3ebdafc63bfd7572b79abcedb711acb4441
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212892
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
ANGLE translator's parser code generation is changed to use the binaries
of flex/bison stored in the cloud. scripts/run_code_generation.py now
automatically runs these files if the input files change.
Bug: angleproject:3419
Change-Id: Icce4247f93b27baf8ee12dbb16112fa2cc98c111
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940572
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
The binary merge strategy marks the file as conflicted but doesn't
actually change the file contents. This keeps the json hashes file
valid and alerts the user that the generator needs to be re-run.
Bug: angleproject:3083
Change-Id: Ia04e96d56a2d92ee061f25e7de79b6a1fd3ce4ab
Reviewed-on: https://chromium-review.googlesource.com/c/1423519
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Using "no_chromium_code" is a bit less strict, but ANGLE should be
able to handle slightly stricter warnings.
Re-land with fix for Clang build.
BUG=angleproject:1449
Change-Id: I8988287d630a6258f2f9ee90e7bfef5f2d5799cd
Reviewed-on: https://chromium-review.googlesource.com/361331
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Local variables in GLSL can't use any other storage qualifier than
'const', but we weren't checking properly. For example, the can't
have 'in' or 'out' storage. This was causing a dEQP conformance
test failure.
BUG=angle:593
Change-Id: Ibb333950f2d0990a47d1a96caecc455497d5e57e
Reviewed-on: https://chromium-review.googlesource.com/191460
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>