Bug: angleproject:2482
Rolling Vulkan validation code forward to HEAD of master as of 4/18/18
morning. Disable Vulkan from the ANGLE build until ANGLE lands in
Chromium. After that second part of roll will be submitted.
This LVL update includes reg.py script fixes for a number of build
warnings as well as a validation fix for vkCmdClearAttachments() in
secondary cmd buffer.
Change-Id: I7f8100f5b656d86caf8f4b5dee61a733a35b7869
Reviewed-on: https://chromium-review.googlesource.com/1016860
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Rolling Vulkan validation code forward to HEAD of master as of 4/16/18
morning. Disable Vulkan from the ANGLE build until ANGLE lands in
Chromium. After that second part of roll will be submitted.
This LVL update includes MockICD fixes to allow ANGLE perf tests to
run correctly with Null Vulkan configuration.
Bug: angleproject:2482
Change-Id: I61dc9ed293677a1b5839b605d7c3640dca138db3
Reviewed-on: https://chromium-review.googlesource.com/1014405
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This variable can be used to override the root location of the .git
for ANGLE relative to gclient, so our DEPS can work with both
ANGLE standalone and the new bot configurations that are being
added by thakis@.
Bug: chromium:820421
Change-Id: I5cd57bc88fcd4dc69e82aa1e59d343f1eaf6f5ee
Reviewed-on: https://chromium-review.googlesource.com/1012506
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:2393
Rolling Vulkan validation code forward to HEAD of master as of 3/6/18
afternoon. Disable Vulkan from the ANGLE build until ANGLE lands in
Chromium. After that second part of roll will be submitted.
Change-Id: I3c98b42a0b8999e8aa26f538959d888060c2026a
Reviewed-on: https://chromium-review.googlesource.com/952525
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This makes the BUILD.gn source lists a lot simpler, since they no
longer need to use a special path variable, but instead can use the
correct relative paths.
This will lead to further simplifications so we can hopefully upstream
the Vulkan tools BUILD.gn files.
Second part updates the build files and removes the old repositories.
Bug: angleproject:2339
Change-Id: I37f5b42a0854ca49448ecbbb32c19c24df57f452
Reviewed-on: https://chromium-review.googlesource.com/905894
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Second re-land fixes git.bat access on developer machines.
Re-landing with upstream fixes to the layers so they no longer
need to copy the parameter validation errors to the current
working directory of the layer generation. Also includes fixes
for the GCC build.
This hasn't been updated in a while, so there are many changes.
It should also include better validation for memory barriers.
Also includes updated builds for SPIRV Tools and glslang.
A few pull requests need to land before landing this in ANGLE.
This second step re-enables Vulkan and includes the updated build.
Includes a workaround for parameter_validation.h no longer being
auto-generated, and the stale file clobbering the build.
Also includes a fix for an incorrect memory barrier.
Bug: angleproject:2237
Change-Id: Ic1a3ad7458bb743d7279a1af9334693ab6cb59d6
Reviewed-on: https://chromium-review.googlesource.com/845859
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This hasn't been updated in a while, so there are many changes.
It should also include better validation for memory barriers.
Also includes updated builds for SPIRV Tools and glslang.
A few pull requests need to land before landing this in ANGLE.
This intermediate step rolls Vulkan again to include upstream
fixes to the layers so they no longer need to copy the parameter
validation headers to the current working directory. The prior
changed missed a second generator script.
Bug: angleproject:2237
Change-Id: Ia6767af538c50e340ea5a68c69a2863c9fd9061d
Reviewed-on: https://chromium-review.googlesource.com/840080
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This hasn't been updated in a while, so there are many changes.
It should also include better validation for memory barriers.
Also includes updated builds for SPIRV Tools and glslang.
A few pull requests need to land before landing this in ANGLE.
This intermediate step rolls Vulkan again to include upstream
fixes to the layers so they no longer need to copy the parameter
validation headers to the current working directory also includes
fixes for the GCC build.
Bug: angleproject:2237
Change-Id: I50deb70e43be36f7470c9fc2262b6da5bab39c3a
Reviewed-on: https://chromium-review.googlesource.com/834230
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
gyp_angle now prints a warning every time it is run.
All targets print the same warning as one of their build steps.
The DEPS change updates gypi_to_gn so it doesn't choke on
files with 'target_defaults' sections.
BUG=angleproject:1569
Change-Id: Ibdf277fcc14cf4ebc7b7db78270210752cd8ef9d
Reviewed-on: https://chromium-review.googlesource.com/711155
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
This hasn't been updated in a while, so there are many changes.
It should also include better validation for memory barriers.
Also includes updated builds for SPIRV Tools and glslang.
A few pull requests need to land before landing this in ANGLE.
First part disables Vulkan and rolls the layers. The second part will
re-enable Vulkan with the updated loader/layers build.
Bug: angleproject:2237
Change-Id: I112521541ea66b26eadeb959852418dc91be2e18
Reviewed-on: https://chromium-review.googlesource.com/805417
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Rolls the build/ repos from Chromium to include the fixed config.
Also includes incidental improvements to platform-specific hooks.
Bug: chromium:727437
Change-Id: Ia42a30acac1e800e593e304bfc59d86eb0a1e57c
Reviewed-on: https://chromium-review.googlesource.com/782340
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
None of these deps are used in the Chromium builds, so this only
affects the standalone version.
Includes a change in the build repo necessary to enable fixing the
Clang build with dEQP.
Bug: chromium:727437
Change-Id: Iea5f6299e9f17555891c812229a54a850776f117
Reviewed-on: https://chromium-review.googlesource.com/773020
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This is necessary to build Windows ANGLE with the hermetic Win SDK.
BUG=angleproject:1569
Change-Id: Ic2c0aac6cab8d1a20f0bca8aea55418fe7defdc5
Reviewed-on: https://chromium-review.googlesource.com/734980
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Includes the new script to generate a Visual Studio "meta" solution.
BUG=angleproject:1569
Change-Id: I6760b2fb26f588117cd310afc7f92e9b4571a89c
Reviewed-on: https://chromium-review.googlesource.com/734709
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Also point gyp_angle back at tools.
BUG=angleproject:1569
Change-Id: Ib17ba6973db24aec9cd47000d869e5aa427c84a3
Reviewed-on: https://chromium-review.googlesource.com/727529
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This should do the same things as the stand-alone gyp build, but with gn.
You should switch to gn as gyp support will go away.
You need a recent enough version of gn. If yours is too old try this one:
./buildtools/linux64/gn
If "gclient sync" or anything fails with an ImportError on gyp stuff,
try running it with the following PYTHONPATH in the environment:
PYTHONPATH=tools/gyp/pylib
BUG=angleproject:1569
Change-Id: I56d19bec2d8b649a7bd65062c656cbfc69ea3dd8
Reviewed-on: https://chromium-review.googlesource.com/642588
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
DEPS libpng into third_party/libpng/src, instead if third_party/libpng.
Then we'll be able to put its BUILD.gn into third_party/libpng instead
of the more distant build/secondary/... location.
BUG=angleproject:1569
Change-Id: I12b1c51d65682cba3954c26f1bd3f7491ac31b01
Reviewed-on: https://chromium-review.googlesource.com/722176
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Update to the version of googletest current in chromium. Googlemock has
merged into googletest so we get rid of the separate DEPs entry and point
everything inside googletest.
We put it in 'third_party' instead of 'testing' to prepare for the
upcoming stand-alone gn build which borrows chromium build files that
require other stuff in the 'testing' directory.
BUG=angleproject:1569
Change-Id: I51d1675efd5d0104bb6390721928010221a5d6fc
Reviewed-on: https://chromium-review.googlesource.com/713466
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Also includes a ToLower string helper for a VS2017 warning fix.
aae1e3efb5..c6f4716874
BUG=angleproject:1569
Change-Id: Iaf8a091a24d937db3adb242f05c8a5c9d2b03b0f
Reviewed-on: https://chromium-review.googlesource.com/659219
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
For DrawElements et al., we can use a simple design to store
entry point parameters and compute index ranges lazily. This allows
us to compute the index range outside of the validation layer.
Fixing this will let us implement a few things, such as the no error
extension. It will also allow auto-generation of the entry points,
since we won't have to have special cases for certain entry
points. It will also help fix the syncState layering problem. Now the
cached parameter helper (which is owned by the Context) can make the
impl layer calls, instead of the validation layer calling the impl
directly.
We use a small array in Context to gather parameters in a generic
way without reallocation on call. We also check type safety by storing
a type info struct which can handle inheritance between type classes.
Optional variables for the cache determine when to re-compute values.
The intent with gatherParams is to call this in every entry point, and
have in most cases be a no-op. In some cases like for IndexRange, we
store some parameters for later use. The inheritance scheme enables
auto-generation of the entry points by keeping signatures similar.
BUG=angleproject:747
Change-Id: I871e99e1334cf6e61ef8da62fde3ced094903f8a
Reviewed-on: https://chromium-review.googlesource.com/474119
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
bcb80d06bb..f47c534fee
Disables Vulkan in ANGLE temporarily - a second CL will follow with
the updated build files once ANGLE is rolled into Chrome.
In particular, this roll contains a fix for a vs2017 signed/unsigned
mismatch warning as error.
BUG=chromium:683729
Change-Id: Ib23370d79f1359ab290f08e14a847eed75251660
Reviewed-on: https://chromium-review.googlesource.com/458531
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
We want to require use of the Windows 10 SDK in ANGLE - Chrome
already uses a newer SDK.
A new gyp feature added by munyirik@microsoft.com allows us to use
the latest Win 10 SDK installed on the system, irrespective of the
minor version number.
Also update the docs.
BUG=angleproject:1943
Change-Id: Iaafbba858fb7565ab09672eadc403dbb8abab3dd
Reviewed-on: https://chromium-review.googlesource.com/458516
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This includes a loader fix for systems with stale drivers.
BUG=angleproject:1319
Change-Id: I9ee726bd508c89b19508a5f3113f7b90593635d5
Reviewed-on: https://chromium-review.googlesource.com/427265
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
We will roll the DEPS through to Chromium first, so avoid the problem
where DEPS rolls in ANGLE break the CQ (http://crbug.com/643346)
We will follow up with build files after this CL makes it into Chrome.
Likely we won't roll Vulkan DEPS until the above issue is fixed.
BUG=angleproject:1319
Change-Id: I4121143887a614667affe750185d1bc7b8474fa7
Reviewed-on: https://chromium-review.googlesource.com/419720
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Several months of updates. Does not change the build files - will
mean the GPU.FYI bots temporarily break, and possibly there's some
flakiness on the ANGLE trybots and Optional GPU bots until the
correct suppression set is instated.
BUG=chromium:671021
Change-Id: I207be11ed37a9173f53a06554880be6ebcaee5fa
Reviewed-on: https://chromium-review.googlesource.com/418405
Reviewed-by: Jamie Madill <jmadill@chromium.org>
GYP related files went in gypfiles/, and the gni went in gni/ this
changes frees up the build/ directory name for Chromium's build/
directory.
BUG=angleproject:1569
Change-Id: I76fe343d569239c2732ba87986fcf7debc21d417
Reviewed-on: https://chromium-review.googlesource.com/403029
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Making the dependencies' directories match Chromium's is needed if we
want to use the same GN file for Chromium builds and standalone builds.
This also rolls the gtest and gmock dependencies to match Chromium.
BUG=angleproject:1569
Change-Id: I54ce9c9a29964abfddbea64a0f4466f2c9d48a33
Reviewed-on: https://chromium-review.googlesource.com/403028
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
The DEPS for buildtools changed to not recurse automatically. This
change mirrors the change in Chromium.
See 3d2e47bf14%5E%21/#F0
BUG=None
Change-Id: Ib15520324ad7894d4a640a0e2013c3823849e846
Reviewed-on: https://chromium-review.googlesource.com/404969
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This should fix the weird gn problem with git cl format.
BUG=None
Change-Id: I35d4cf110bda302b6336ef412613a80fcde8208b
Reviewed-on: https://chromium-review.googlesource.com/402253
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This fixes a bug preventing Cherry from running on Windows.
BUG=None
Change-Id: I0049005093e5abb7a7fd2c5b125e8133c0e0cab5
Reviewed-on: https://chromium-review.googlesource.com/350402
Reviewed-by: Geoff Lang <geofflang@chromium.org>
This will include a new clang-format for standalone ANGLE.
BUG=None
Change-Id: Ia4a888c77487d03c2c83989c5f565dea993d5a06
Reviewed-on: https://chromium-review.googlesource.com/348374
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Recently git cl format has started requiring GN and would fail when run
in the ANGLE standalone repository because the binary was not present.
BUG=
Change-Id: I0482db6fd6a868dc02ef6e395e6ff4817623c291
Reviewed-on: https://chromium-review.googlesource.com/326420
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Cherry allows us to view results from dEQP test passes, and is an
open-source project.
BUG=None
Change-Id: I6edc2220fe4e9daf85dc6cf44053f59a51269cb5
Reviewed-on: https://chromium-review.googlesource.com/303464
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
This will allow us to eventually make a presubmit script for ANGLE,
and also will help new contributors who aren't as familiar with
the style guide.
One outstanding issue is the lack of proper breaking before array
initializers. We don't use arrays all over the place, but this
will likely require a patch for clang.
BUG=angleproject:762
Change-Id: I4702b1fcdfa10b7682b07316be59ec67bcf84943
Reviewed-on: https://chromium-review.googlesource.com/285901
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
This avoid us needing to replicate gyp variables in both Chromium's
and ANGLE's common.gypi files.
BUG=angleproject:998
Change-Id: Iba1938fd37eb4bee28ae7daad31bf85a2d3bd692
Reviewed-on: https://chromium-review.googlesource.com/282145
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Includes fixes for some tests, and a new null platform class which
makes generating case lists easier.
BUG=angleproject:998
Change-Id: I1641c579bb63713fccde05e48f0cea31324f7d1b
Reviewed-on: https://chromium-review.googlesource.com/271202
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
This fixes the build of angle_end2end_tests on Linux/Clang.
BUG=angleproject:997
Change-Id: Ie6eca3dc0fc7114d2755892b4b02e8b47a8fa478
Reviewed-on: https://chromium-review.googlesource.com/270680
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
This also moves us to the Chromium googletest mirror. It may cause
conflicts with developer setups if they have the folder open when
they try to gclient sync.
BUG=angleproject:997
Change-Id: I94a629c50cb6ea6fc0020e3ec9ee93b7088d964b
Reviewed-on: https://chromium-review.googlesource.com/270108
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
We integrate dEQP as a console application and a shared library which
runs all of the test logic. Using a shared library lets us compile
dEQP with all the specific compiler options it needs, without
conflicting with the compile settings in ANGLE proper.
Currently we only support Windows D3D11, ES 2 and 3. We can add
other targets in the future.
We also have a few bugs preventing us from running the test suite in
full. We run into infinite loop problems in some shader tests, and
have crashes or UNIMPLEMENTED in others.
BUG=angleproject:901
Change-Id: Ib6fe66041a6fe547eb2cba497c52de7fd080d667
Reviewed-on: https://chromium-review.googlesource.com/238084
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
This makes integration with Chrome much easier: Chrome won't
have to pull sources from github or an internal mirror, and
it won't duplicate the base json library.
This should also fix warnings about missing headers with
building Chromium gyp with the ninja msvs generator.
BUG=459058
Change-Id: Ie97cfde9b848a9099da696e027887bcc07b55e08
Reviewed-on: https://chromium-review.googlesource.com/252073
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
RapidJSON gives us the ability to use JSON in our performance
tests to specific the input. The license is very permissive
and according to the author the performance is excellent.
Chromium's JSON library unfortunately seems quite tied to the
"base" project.
BUG=angle:744
Change-Id: I64e72aad1ed6fa954acd851607032cb48a461348
Reviewed-on: https://chromium-review.googlesource.com/221374
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
This change allows these targets to be referenced from Chromium's
build projects.
BUG=angleproject:833
Change-Id: I14694f610921d28ddcd8664887086ca30375b7a2
Reviewed-on: https://chromium-review.googlesource.com/231072
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Kenneth Russell <kbr@chromium.org>
With gyp r1804 we can support having nice project folders without nested
subfolders. We must disable the parallel build for gyp as it is currently
broken in our project, and turned on by default.
Change-Id: Ie147ce423115009e254447d51cc30da0cfb2704f
Reviewed-on: https://chromium-review.googlesource.com/178782
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>