Required a few build tweaks because GN check does not understand
#ifdef includes.
Bug: angleproject:3411
Change-Id: I1aa7b97626767e3dc973bfa55f5b2a511c806ec9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1589148
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Updates the glslang_validator binary for Linux in the same commit.
Bug: angleproject:3333
Change-Id: Ide42781ec4951e7c09307a0a3b96c36c6ea29d23
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553828
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This change allows us to download a copy of the standalone glslang
validator during gclient runhooks. This decouples run_code_generation
from the version of glslang stored in source tree. This prevents the
error where a developer would run into a code generation conflict due
to a change in version of glslang.
Currently only the Windows version is stored in the tree. A follow-up
CL will add Linux. The validator will only initially support Windows
or Linux.
Documentation for the script is located in tools/glslang/README.md.
This CL also updates the Vulkan shader generation script to use the
new binary for Windows.
Bug: angleproject:3333
Change-Id: Ia6146a283a2bcfdf84c42411d6b5d8bae136bf1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553823
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
This tool can allow you to browser markdown files in the repository
locally. Run tools/md_browser/md_browser.py and navigate to
localhost:8080. It will point you to the root README.md. From there
you can put in relative links to navigate to your new or changed
markdown files.
Bug: angleproject:3333
Change-Id: I5b4d608e2ad7408280868eb6561f95f3e55d8e8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1556696
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Fixes the suprious newlines messages. Also prefer a Release directory
when writing shaders for performance. Also adds glslang's git HEAD to
the list of generated hashes. This should ensure we regenerate all
shaders when there's a roll of glslang.
Glslang was rolled prior to this CL. Also update the SPRI-V libs.
Bug: angleproject:3227
Change-Id: I1fd212a08000c08ef41b60c4201edd3ac771f91d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516512
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
glmark2 is a an OpenGL ES 2.0 benchmark licensed under GPL v3.
See https://github.com/glmark2/glmark2
ANGLE can use glmark2 as a metric and guide for optimization. It will
add a number of useful performance tests. This CL adds the initial
build integration.
A follow-up CL will integrate glmark2 into our performance tests. Note
that glmark2 will not be shipped with Chrome or Android. It will only
be used on our test infrastructure.
Note that the data path solution is temporary. When integrated into
ANGLE we will make sure we CWD into the glmark2 directory before
running the benchmark.
Bug: angleproject:3139
Change-Id: I5c4f605221c255ab19abd10b321b5867ab459105
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1449984
Commit-Queue: Jamie Madill <jmadill@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
ANGLE can use this library to output the test results format used by
the Chromium infrastructure. We have a rapidjson mirror located on
chromium.googlesource.com.
Also updates rapidjson to the latest version and adds GN integration.
Currently this library was unused in ANGLE.
Bug: angleproject:3162
Change-Id: Ie349026f68028e3acc46055655e321c2d710b828
Reviewed-on: https://chromium-review.googlesource.com/c/1487633
Commit-Queue: Jamie Madill <jmadill@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Updates our build files to be more consistent with Chromium.
Also rolls SPIRV-Tools to use newer test fixture syntax.
Note: requires an update to SPIRV-Tools to pass 'gn check'.
Bug: angleproject:3151
Change-Id: I8abddef396f84e5c58cdd185421f03fd6e2b6d58
Reviewed-on: https://chromium-review.googlesource.com/c/1470591
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@google.com>
Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
renderer, as well as an implementation of OSWindow that renders
fullscreen for the test suite.
Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
of the loader and has not sent those changes upstream yet.
Add a small wayland-inspired library libfuchsia-egl to provide a type
"struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
combines a zx_handle_t to an image pipe channel and a surface size.
Image pipes can only be used once to create a VkSurfaceKHR. This means we
have to recreate the pipe in tests that call eglCreateWindowSurface more
than once with a single OSWindow, or the second call will fail. Add a
resetNativeWindow() method to accomplish this.
Reland disabling -Wextra-semi.
BUG=angleproject:2475
TEST=angle_end2end_tests on Fuchsia
Change-Id: Ie91715bcd760c6c04d4b8a02a91daa71e32ee30c
Reviewed-on: https://chromium-review.googlesource.com/c/1467603
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This reverts commit 991d1cfb5e.
Reason for revert: Failing compile on the fuchsia bots on the ANGLE
auto-roller.
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/fuchsia_x64/209198
In file included from ../../third_party/angle/util/fuchsia/ScenicWindow.cpp:10:
In file included from ../../third_party/angle/util/fuchsia/ScenicWindow.h:13:
In file included from gen/third_party/fuchsia-sdk/sdk/fidl/fuchsia/ui/policy/cpp/fidl.h:5:
In file included from ../../third_party/fuchsia-sdk/sdk/pkg/fidl_cpp/include/lib/fidl/cpp/internal/header.h:12:
../../third_party/fuchsia-sdk/sdk/pkg/fit/include/lib/fit/function.h:135:6: error: extra ';' after member function definition [-Werror,-Wextra-semi]
};
^
1 error generated.
Original change's description:
> Vulkan: Port renderer to Fuchsia
>
> Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
> renderer, as well as an implementation of OSWindow that renders
> fullscreen for the test suite.
>
> Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
> of the loader and has not sent those changes upstream yet.
>
> Add a small wayland-inspired library libfuchsia-egl to provide a type
> "struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
> combines a zx_handle_t to an image pipe channel and a surface size.
>
> Image pipes can only be used once to create a VkSurfaceKHR. This means we
> have to recreate the pipe in tests that call eglCreateWindowSurface more
> than once with a single OSWindow, or the second call will fail. Add a
> resetNativeWindow() method to accomplish this.
>
> BUG=angleproject:2475
> TEST=angle_end2end_tests on Fuchsia
>
> Change-Id: I71a613a362dd1c8aada49a3c02ae461e064457bf
> Reviewed-on: https://chromium-review.googlesource.com/c/1446496
> Commit-Queue: Michael Spang <spang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
Change-Id: I2d9abefa9db5363ba63a17c1773d0e147040d055
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2475
Reviewed-on: https://chromium-review.googlesource.com/c/1465761
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
renderer, as well as an implementation of OSWindow that renders
fullscreen for the test suite.
Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
of the loader and has not sent those changes upstream yet.
Add a small wayland-inspired library libfuchsia-egl to provide a type
"struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
combines a zx_handle_t to an image pipe channel and a surface size.
Image pipes can only be used once to create a VkSurfaceKHR. This means we
have to recreate the pipe in tests that call eglCreateWindowSurface more
than once with a single OSWindow, or the second call will fail. Add a
resetNativeWindow() method to accomplish this.
BUG=angleproject:2475
TEST=angle_end2end_tests on Fuchsia
Change-Id: I71a613a362dd1c8aada49a3c02ae461e064457bf
Reviewed-on: https://chromium-review.googlesource.com/c/1446496
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This will prevent users from accidentally making semicolon errors in
the future.
Bug: chromium:926235
Change-Id: I79a6fa376fb1ad8f0fcf1b65b1f572a035d1f4e9
Reviewed-on: https://chromium-review.googlesource.com/c/1446493
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Includes a fix for the Fuchsia build and for -Wextra-semi.
Bug: 926235
Bug: angleproject:2475
Change-Id: If3ef575c09656989274c91dec7657465b99978b2
Reviewed-on: https://chromium-review.googlesource.com/c/1449972
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This retires the ANGLE BUILD.gn file for glslang. Also makes a few more
repos sync from Chromium's copy using build overrides. This should
speed up Chrome checkouts slightly.
Bug: angleproject:3088
Change-Id: I530f28d9b13469bbe6471a4c61e7353d599d81ec
Reviewed-on: https://chromium-review.googlesource.com/c/1422545
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This fixes a few things:
* removes includes that weren't supposed to be present
* scopes some compiler code into white_box_perftests
* makes version.h/commit and angle_common id more visible
* roll zlib to a version that passes check
This should help prevent build problems from popping up in the
downstream Chromium build. We could also potentially look at
including gn check in our CQ recipe.
Bug: chromium:915429
Change-Id: I350f543e16de13c84eb2c43260f4966d47185114
Reviewed-on: https://chromium-review.googlesource.com/c/1380771
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Roll VK Headers/Loader/ValidationLayers forward.
There's a build improvement as well as many new checks.
Added new source file dep, convert_to_renderpass2.cpp, used by core_
validation for added RenderPass2 checks.
Also had to move glslang fwd for shader validation layer so updated
from confusing upstream branch of glslang that's integrated with shaderc
to the independent Khronos glslang repo.
Bug: angleproject:2937
Bug: chromium:845519
Change-Id: Ifee911f061dc426404c09499e49c2f029b174d03
Reviewed-on: https://chromium-review.googlesource.com/c/1355508
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
This should fix a problem where our vs_toolchain.py was out-of-date
with a recipe change.
See crrev.com/c/1339101 and crrev.com/c/1330185 .
Bug: angleproject:2971
Change-Id: Ic6998942bd7a9cff34c17b0f521fc3856ca3ee2f
Reviewed-on: https://chromium-review.googlesource.com/c/1341109
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This reverts commit 1f056becd7.
Reason for revert: The roll didn't run any tests, so they started failing on the bots.
Original change's description:
> Roll DEQP version forward
>
> Bug: angleproject:2937
> Change-Id: I1157b0f3fcdf19ea0b381d9ae4327929a2459267
> Reviewed-on: https://chromium-review.googlesource.com/c/1304993
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tobin Ehlis <tobine@google.com>
TBR=ynovikov@chromium.org,jmadill@chromium.org,tobine@google.com,timvp@google.com
Change-Id: I4864153685c5dfe339bb704013d9379844a8692d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2937
Reviewed-on: https://chromium-review.googlesource.com/c/1306254
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Roll VK Headers/Tools/Loader/ValidationLayers forward.
There's a build improvement as well as many new checks.
Added new source file dep, convert_to_renderpass2.cpp, used by core_
validation for added RenderPass2 checks.
Bug: angleproject:2937
Bug: chromium:845519
Change-Id: Id5c30c5bfc684c365a8ad97c3289bccc02afb3b3
Reviewed-on: https://chromium-review.googlesource.com/c/1305673
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
Includes a fix to mock-icd where vkGetEventStatus returned VK_SUCCESS
which is not a valid return value.
Bug: angleproject:2908
Change-Id: I65a6e30099b9168408a874b8632c4c46e8ef7f57
Reviewed-on: https://chromium-review.googlesource.com/c/1296950
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
A bug in clang is preventing the use of link time optimization.
Bug: angleproject:2892
Change-Id: Ibe845e82f0db48233f8590189163fd8a5a8df634
Reviewed-on: https://chromium-review.googlesource.com/c/1263905
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
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>
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>