This adds build_overrides/spirv_tools.gni to tell it where to find its
dependencies.
BUG=chromium:870747
Change-Id: Id1d9fb836e74597860a4411df0a4fd0651840f57
Reviewed-on: https://chromium-review.googlesource.com/1162240
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This reverts commit e177755814.
Reason for revert: Seems to break ANGLE roll for some reason. Reverting while it is investigated.
Bug: chromium:883135
Original change's description:
> DEPS: Remove the need for angle_root.
>
> BUG=
>
> Change-Id: I8cd41a3a9c2199bec54b022abc9694835afd1b2f
> Reviewed-on: https://chromium-review.googlesource.com/1219547
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
TBR=ynovikov@chromium.org,jmadill@chromium.org,cwallez@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I1330b216be34ce9dd9236b8e51a7a6cc578562d7
Reviewed-on: https://chromium-review.googlesource.com/1222366
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
We need two repos to get jsoncpp working. First is the Chromium tree
mirror and second is the jsoncpp source itself. The Chromium version
includes only the build files and some source file overrides.
Bug: angleproject:2794
Change-Id: I0e1acaf783c5ae3935803eacdf93ffbe01f9fe4d
Reviewed-on: https://chromium-review.googlesource.com/1210562
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This points to a mirror of the Chromium jsoncpp folder. The
Chromium version includes a BUILD.gn that we can use.
Bug: angleproject:2794
Change-Id: I08f34e693d547cd01caefdeddaf43ce4b4bbc29d
Reviewed-on: https://chromium-review.googlesource.com/1208510
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Chromium has a jsoncpp mirror that matches github and has a ninja build
config so use that instead of Android mirror.
Bug: angleproject:2794
Change-Id: I48423818817f439f3a43f5edee557deae24bf028
Reviewed-on: https://chromium-review.googlesource.com/1203940
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
Roll Vulkan ANGLE dependencies forward as of 8/31/2018. This grabs some
new validation checks including point-related checks that may be
interesting for bug 2727.
One of these checks, related to PointSize, is firing so I've added some
code in the VK debug callback to suppress those error messages for now
and filed a separate bug (2796) to fix that issue in the renderer.
Had to overhaul the json gen script as validation changed how these are
generated. They now use a base template with some strings replaced to
account for platform and Vulkan header version. Offloaded all of that
work to our existing json generate script which was previously more of
an intelligent copy but now had some further intelligence for
transforming from input template into final json files.
Had to also roll glslang forward to meet shader validation dependency.
Bug: angleproject:2727
Change-Id: I929619cd258cddd6bc9c6743600e072c46736f5c
Reviewed-on: https://chromium-review.googlesource.com/1194617
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
Adding jsoncpp in third_party/jsoncpp dir. This is a C++ library to
parse json files.
Bug: angleproject:2785
Change-Id: I12f467ef87c8d4801815c79f211fc57a3a9f4b49
Reviewed-on: https://chromium-review.googlesource.com/1194840
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
Remove the gyp build. The .gypi files were not renamed so that diff and
rebase would work on this change. They will be renamed in a separate
change.
BUG=angleproject:1569
Change-Id: If8a217027633293664b820104f91a4ca5889b24e
Reviewed-on: https://chromium-review.googlesource.com/1187380
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Roll to get versions of build and tools/clang don't require gyp in our DEPS,
so we can to remove gyp from our DEPS.
BUG=angleproject:1569
Change-Id: I2d1639bb5d576e62aff2a8aa993542b0ac777be6
Reviewed-on: https://chromium-review.googlesource.com/1185756
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Pick up a version of GN which works around crbug.com/791295.
Now we get VS projects that don't hit the ninja bug described there.
BUG=angleproject:1569
Change-Id: I8758c63459640314a4c76b0d590d388c37ab3125
Reviewed-on: https://chromium-review.googlesource.com/1175035
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Update Vulkan Layers/Loader/Header to latest versions as of 7/17.
This includes additional validation checks related to vertex attributes
that will be useful to have in ANGLE.
Bug: angleproject:2736
Change-Id: I7c5b07c73be8958cb9f8783fd9dd7a51e1f82caa
Reviewed-on: https://chromium-review.googlesource.com/1141081
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Update Vulkan Layers/Loader/Tools/Header to latest versions as of 7/10.
The layers were updated to correctly comprehend which device extensions
are enabled which should fix a false error being flaged on negative
Viewports in ANGLE.
Bug: angleproject:2704
Change-Id: Ie51660f539beb249c3b11dc7e0d553ff7cabfde3
Reviewed-on: https://chromium-review.googlesource.com/1131919
Commit-Queue: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Update Vulkan Layers/Loader/Tools/Header to latest versions as of 7/3.
This updates the ICD build to use inputs from the Header repo instead
of copies of the file from its own repo. Those copies have been deleted
and some of the generation scripts in Tools repo have been renamed.
Also put script dependencies from Vulkan-Headers repo into a shared var
that's imported by the other repos to minimize repeat code.
Bug: angleproject:2704
Change-Id: I98a18be055482dccdad8468115b4045d09342bfb
Reviewed-on: https://chromium-review.googlesource.com/1124966
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
This fixes a bug in SPIRV-Tools validation. vec3s were not being packed
properly. Affected some of the more complex dEQP shader tests.
Unblocks better Debug error reporting.
Bug: angleproject:2552
Change-Id: I83447813a4ae3347157321a30a91b5dee55ff6c1
Reviewed-on: https://chromium-review.googlesource.com/1129824
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Separated the Vulkan Validation Layers, Loader, Tools and Headers into
separate dirs to map to the new separate repo structure.
Bug: angleproject:2558
Change-Id: I422038f7dd7efe8c5b7a49dc5074de5caf40edfa
Reviewed-on: https://chromium-review.googlesource.com/1071880
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Quite a substantial update.
Includes ANGLE-related fixes contributed by Google and Intel.
Also includes some test suppressions for ES 3.1 D3D11.
Bug: angleproject:2617
Bug: angleproject:2619
Bug: angleproject:2625
Change-Id: Iea90036996b1a49278443e5d88dbe7ace32de6d4
Reviewed-on: https://chromium-review.googlesource.com/1087179
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Rename 'root' to 'angle_root' and add conditions to not sync
dependencies when building with Chromium.
Bug: 782846
Change-Id: I250609ad0b5b8cad606075baf6dd6ca4e968a5b6
Reviewed-on: https://chromium-review.googlesource.com/1082922
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Moving to HEAD of LVL master as of 5/16/18.
The LVL repo is now frozen and has been split into separate repos so
this will be the last LVL roll. Subsequent updates will have to use
the new, separate repos for layers, loader, and icd.
No changes were required to BUILD.gn with this latest update.
Bug: angleproject:2560
Change-Id: If692e4a11803318af4364fe0185fa25e2f82b790
Reviewed-on: https://chromium-review.googlesource.com/1062066
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
For builds set "use_sysroot = true" by default
This is intended to fix a bot config that is hitting a build error with
latest Vulkan validation layer roll.
Bug: angleproject:2560
Change-Id: I06edfc7b74f367bbab23fea6f01b2778b12a470a
Reviewed-on: https://chromium-review.googlesource.com/1068031
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Conforms a bit more to the proposed DEPS standardization.
Bug: chromium:782846
Change-Id: I65eae268dc9ebe4a56382db67fd123a0beafa656
Reviewed-on: https://chromium-review.googlesource.com/1027792
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
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>