third_party/vulkan-validation-layers


Log

Author Commit Date CI Message
Tobin Ehlis aae21ef6 2019-08-29T21:56:06 Revert "Reland "Vulkan: Use VK repos' internal BUILD.gn files"" This reverts commit 0ad1559f3ae95efecaa209f990987d3ce4ebd150. Reason for revert: linux-rel no-op build issue showing up in Chromium integration. Tracking in chromium:997016 Original change's description: > Reland "Vulkan: Use VK repos' internal BUILD.gn files" > > This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6 > > Original change's description: > > Vulkan: Use VK repos' internal BUILD.gn files > > > > This retires custom BUILD.gn files for the Vulkan Headers, Tools, > > Validation-Layers, and Loader repos. They now have integrated BUILD.gn > > files so switched ANGLE to use those by default. > > Also Validation Layer, Loader, and Tools repos no longer uses codegen > > so this speeds up the build overall. > > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer > > to VK_LAYER_KHRONOS_validation unified layer. > > > > This changes includes a temporary workaround to the Vulkan-Loader repo > > to remove its Window's build dependence on WDK. There are plans to > > remove that depenedence in Loader master, but until then we can use > > our custom branch workaround. > > It also includes a custom branch for validation layers that includes > > some build fixes for ANGLE. > > Finally, the layers were crashing on Android when attempting to use > > DebugUtils extension so forcing DebugReport on Android for now. > > > > Bug: angleproject:2449 > > Bug: angleproject:3320 > > Bug: angleproject:3852 > > Bug: chromium:997009 > > Bug: chromium:997016 > > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Commit-Queue: Tobin Ehlis <tobine@google.com> > > Bug: angleproject:2449, angleproject:3320, angleproject:3852 > Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036 > Commit-Queue: Tobin Ehlis <tobine@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I88afdaff07e9f414f9de02f6d3651eaba9a5045f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2449, angleproject:3320, angleproject:3852 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776920 Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
Tobin Ehlis 0ad1559f 2019-07-18T15:10:49 Reland "Vulkan: Use VK repos' internal BUILD.gn files" This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6 Original change's description: > Vulkan: Use VK repos' internal BUILD.gn files > > This retires custom BUILD.gn files for the Vulkan Headers, Tools, > Validation-Layers, and Loader repos. They now have integrated BUILD.gn > files so switched ANGLE to use those by default. > Also Validation Layer, Loader, and Tools repos no longer uses codegen > so this speeds up the build overall. > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer > to VK_LAYER_KHRONOS_validation unified layer. > > This changes includes a temporary workaround to the Vulkan-Loader repo > to remove its Window's build dependence on WDK. There are plans to > remove that depenedence in Loader master, but until then we can use > our custom branch workaround. > It also includes a custom branch for validation layers that includes > some build fixes for ANGLE. > Finally, the layers were crashing on Android when attempting to use > DebugUtils extension so forcing DebugReport on Android for now. > > Bug: angleproject:2449 > Bug: angleproject:3320 > Bug: angleproject:3852 > Bug: chromium:997009 > Bug: chromium:997016 > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Tobin Ehlis <tobine@google.com> Bug: angleproject:2449, angleproject:3320, angleproject:3852 Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 5f3c98de 2019-08-23T01:05:38 Revert "Vulkan: Use VK repos' internal BUILD.gn files" This reverts commit 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6. Reason for revert: Causing flakiness in "confirm no-op" CQ step. See issue for more details. Bug: chromium:997016 Original change's description: > Vulkan: Use VK repos' internal BUILD.gn files > > This retires custom BUILD.gn files for the Vulkan Headers, Tools, > Validation-Layers, and Loader repos. They now have integrated BUILD.gn > files so switched ANGLE to use those by default. > Also Validation Layer, Loader, and Tools repos no longer uses codegen > so this speeds up the build overall. > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer > to VK_LAYER_KHRONOS_validation unified layer. > > This changes includes a temporary workaround to the Vulkan-Loader repo > to remove its Window's build dependence on WDK. There are plans to > remove that depenedence in Loader master, but until then we can use > our custom branch workaround. > It also includes a custom branch for validation layers that includes > some build fixes for ANGLE. > Finally, the layers were crashing on Android when attempting to use > DebugUtils extension so forcing DebugReport on Android for now. > > Bug: angleproject:2449 > Bug: angleproject:3320 > Bug: angleproject:3852 > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Tobin Ehlis <tobine@google.com> TBR=ynovikov@chromium.org,tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: Iec97ba8cb5c38fa56bfd4c0afb0f7af8d68513ff No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2449, angleproject:3320, angleproject:3852 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767363 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tobin Ehlis 552f5fcb 2019-07-18T15:10:49 Vulkan: Use VK repos' internal BUILD.gn files This retires custom BUILD.gn files for the Vulkan Headers, Tools, Validation-Layers, and Loader repos. They now have integrated BUILD.gn files so switched ANGLE to use those by default. Also Validation Layer, Loader, and Tools repos no longer uses codegen so this speeds up the build overall. Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer to VK_LAYER_KHRONOS_validation unified layer. This changes includes a temporary workaround to the Vulkan-Loader repo to remove its Window's build dependence on WDK. There are plans to remove that depenedence in Loader master, but until then we can use our custom branch workaround. It also includes a custom branch for validation layers that includes some build fixes for ANGLE. Finally, the layers were crashing on Android when attempting to use DebugUtils extension so forcing DebugReport on Android for now. Bug: angleproject:2449 Bug: angleproject:3320 Bug: angleproject:3852 Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Li, Hao e9cffa62 2019-07-16T16:32:40 Rename data_dir to angle_data_dir in GN files Dawn reuses the Vulkan validation layers of ANGLE to avoid building twice in chromium, and references build_overrides/vulkan_common.gni, but angle_data_dir is undefined, which is defined as data_dir in angle.gni. There is a reminder to rename this name in https://chromium-review.googlesource.com/c/chromium/src/+/1610488 Bug: angleproject:3710 Change-Id: I4b7c4d24c37770ff58b70c988851a6ed32a04296 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703175 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 02a579e9 2019-03-27T14:21:20 Vulkan: roll Vulkan repos to v1.1.102 Bug: angleproject:3320 Change-Id: Ia24f9bc2499f36c6aab810db00bb6408920222fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541719 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 6f1a852f 2019-02-26T15:00:54 Reland "Roll Vulkan repos" This reverts commit 3805122b0297b8208ff734a3bcdaa12850b60a00. Reason for revert: The OOM issue that coincidentally happened at the time this CL landed, and for which this CL was reverted, turned out to be irrelevant to this change. Original change's description: > Revert "Roll Vulkan repos" > > This reverts commit 55ea947c3bdd6c0ef68fc4b9ddbda26889f62622. > > Reason for revert: Seems to be causing a memory corruption on Windows/Intel bots. > > Original change's description: > > Roll Vulkan repos > > > > Bug: angleproject:3095 > > Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c > > Reviewed-on: https://chromium-review.googlesource.com/c/1405714 > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > > TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org > > Change-Id: I61879770c9bb16ac2231b081bda08e6211ba6831 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:3095 > Reviewed-on: https://chromium-review.googlesource.com/c/1470605 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> TBR=ynovikov@chromium.org,jmadill@google.com,syoussefi@chromium.org Bug: angleproject:3095 Change-Id: Iabe8ea215b44c65c4c22b9b158c5dad3ffffdbb0 Reviewed-on: https://chromium-review.googlesource.com/c/1489153 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com>
Shahbaz Youssefi 3805122b 2019-02-13T21:21:13 Revert "Roll Vulkan repos" This reverts commit 55ea947c3bdd6c0ef68fc4b9ddbda26889f62622. Reason for revert: Seems to be causing a memory corruption on Windows/Intel bots. Original change's description: > Roll Vulkan repos > > Bug: angleproject:3095 > Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c > Reviewed-on: https://chromium-review.googlesource.com/c/1405714 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org Change-Id: I61879770c9bb16ac2231b081bda08e6211ba6831 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3095 Reviewed-on: https://chromium-review.googlesource.com/c/1470605 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 55ea947c 2019-01-10T14:25:29 Roll Vulkan repos Bug: angleproject:3095 Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c Reviewed-on: https://chromium-review.googlesource.com/c/1405714 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Michael Spang 229fc83d 2019-01-21T18:09:15 Vulkan: Port renderer to Fuchsia (reland) 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>
Jamie Madill 3f0ff409 2019-02-12T03:08:51 Revert "Vulkan: Port renderer to Fuchsia" This reverts commit 991d1cfb5e5a2f20a46961da3ad85b95da30b88a. 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>
Michael Spang 991d1cfb 2019-01-21T18:09:15 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>
Michael Spang 35218632 2019-02-06T13:05:21 Vulkan: Move vulkan config target to $angle_root:vulkan_config This will allow us to avoid loading the build file for //third_party/vulkan-validation-layers on Fuchsia, since we don't want to build the validation layers on that platform. BUG=angleproject:2475 TEST=angle_end2end_tests on Fuchsia (with full series) Change-Id: Ifeb67125f5fcebf2b30ae18b760667ba7c56e4d5 Reviewed-on: https://chromium-review.googlesource.com/c/1456479 Commit-Queue: Michael Spang <spang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 78380980 2019-01-30T13:14:01 Fix SPIRV-Tools deps in core validation layer. The spirv_tools_external_revision_generate action should no longer depend on ANGLE's DEPS file exclusively. We're using the version of SPIRV-Tools provided by Chromium or ANGLE depending on the client. Depending on DEPS directly should give the correct behaviour. Bug: chromium:926354 Change-Id: I87ac59f1e3f0d3a0b13df51fb6477940ff534dc7 Reviewed-on: https://chromium-review.googlesource.com/c/1446495 Reviewed-by: Nico Weber <thakis@chromium.org>
Jamie Madill 0cb3b0f1 2019-01-28T09:55:20 Vulkan: Use glslang's internal BUILD.gn. 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>
Shahbaz Youssefi 59b1ed4a 2019-01-24T13:55:17 Clean up generated object_tracker.h This file was generated on the trybots dry-running a change that rolls the vulkan repos [1]. This is causing a build failure on other CLs. [1] https://chromium-review.googlesource.com/c/angle/angle/+/1405714 Bug: 925077 Change-Id: I3101a4a3fdeb7c38ac5cfe6a1d621e03a9f49071 Reviewed-on: https://chromium-review.googlesource.com/c/1435154 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Nico Weber ce0a8f3c 2018-12-03T09:06:02 List vulkan_core.h as input of generate_vulkan_layers_json.py. Since this was missing, the layer json files didn't get regenerated on vulkan rolls, leading to stale generated json files, which in turn led to incremental builds having different files in the swarming isolate than full builds. To make this type of bug harder to introduce, rewrite generate_vulkan_layers_json.py a bit: - pass in path to vulkan_core.h as an argument - also pass in the input .json / .json.in files as arguments, so that the script re-runs if a .json or .json.in input is added or removed, and in the script verify that the passed-in list matches the glob() the script did previously (this verifies that the sources list in the .gn file is up-to-date with the state on disk) - generate outputs list in gn from sources list, to make sure they're in sync - use an expicit --icd flag instead of doing `'icd' in path` - fail when failing to extract vk_version instead of silently using a default - some minor python style fixes Bug: chromium:910699,chromium:869348 Change-Id: I1e598f4566697a7f1ef56b040e52d0717f7ad075 Reviewed-on: https://chromium-review.googlesource.com/c/1358631 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org>
Tobin Ehlis 317a9ebd 2018-11-29T12:51:46 Vulkan: Roll VK deps forward 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>
Yuly Novikov 7cba6be8 2018-10-30T15:37:52 Revert "Vulkan: Roll VK deps forward" This reverts commit d00a9a1447d48299800ac62b8955c861cd362d10. Reason for revert: Suspect for breaking Debug bots. Original change's description: > Vulkan: Roll VK deps forward > > 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> TBR=ynovikov@chromium.org,jmadill@chromium.org,cnorthrop@google.com,tobine@google.com,syoussefi@chromium.org Change-Id: I5c48315dd8c80510e7dea54cb384c08dce5b6bcb No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2937, chromium:845519 Reviewed-on: https://chromium-review.googlesource.com/c/1307695 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tobin Ehlis d00a9a14 2018-10-29T10:23:30 Vulkan: Roll VK deps forward 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>
Jamie Madill 20dc1c9b 2018-10-26T13:13:32 Vulkan: Make layers not depend on libvulkan. On Android the layers were adding a dependency on libvulkan. This isn't necessary. We can move this dependency up the change to libANGLE. Bug: angleproject:2935 Change-Id: I63460c05ca99c5afb6e863af9d6142576aa910b9 Reviewed-on: https://chromium-review.googlesource.com/c/1301721 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez a883dd06 2018-08-03T18:11:46 Use SPIRV-Tools' BUILD.gn files 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>
Tobin Ehlis 3a181e3e 2018-08-29T15:17:05 Roll VK deps forward as of 8/31/2018 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>
Tobin Ehlis c56adf60 2018-07-03T11:29:11 Roll Vulkan repos fwd as of 7/3 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>
Tobin Ehlis b971f499 2018-05-24T10:56:17 Migrating ANGLE to split LVL repos 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>
Tom Anderson a4a3c19a 2018-06-07T11:05:40 Remove manual references to exe_and_shlib_deps After [1], a manual dependency on exe_and_shlib_deps is no longer necessary since it's automatically added. This CL removes all remaining manual references to exe_and_shlib_deps. [1] https://chromium.googlesource.com/chromium/src.git/+/d7ed1f0a9c28c932fddc834ca5de44f28266c7f5 BUG=chromium:845700 Change-Id: I66bcead6586050bf952c4aa1f4d3f726c88d2277 Reviewed-on: https://chromium-review.googlesource.com/1091231 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Tobin Ehlis 505ea1bb 2018-04-18T07:26:45 Roll (2/2) to latest LVL as of 4/18/18 Bug: angleproject:2482 Moving to HEAD of master as of 4/18/18. Disable workaround to copy reg.py in BUILD.gn. Re-enable ANGLE Vulkan build. Change-Id: I62d79f532bf8fed40872ee9c175caa4b51c2dd25 Reviewed-on: https://chromium-review.googlesource.com/1016683 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tobin Ehlis 3fac3ccc 2018-04-19T14:51:27 Make Mock ICD json file a data_dep of Mock ICD Bug: angleproject:2471 Mock ICD json file was only being copied to angledata when "build all" was done. This fix causes the json file to be copied anytime something with a Vulkan dep is compiled. Change-Id: Ic56ecf12ff5996d14bd2ed419f50b2362453b939 Reviewed-on: https://chromium-review.googlesource.com/1020233 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill c61a24d4 2018-04-17T07:22:55 Vulkan: Fix build after roll. Remove struct_size_helper from LVL build. This was causing significant problems on the Chromium CQ. Also fix the warning of duplicate definitions in reg.py by staging scripts to a temporary folder so we can use a fixed version. Bug: angleproject:2482 Bug: chromium:833736 Change-Id: Ide7202fe14bf6c83419f19bc07113df23d51807a Reviewed-on: https://chromium-review.googlesource.com/1014902 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 08b9e046 2018-04-16T20:16:39 Vulkan: Disable warning in Mock ICD. We were missing a "no chromium code" config in the mock ICD. This was causing a build error, but the build error was mostly invisible because the mock ICD wasn't being built by default. Fix this by including it in the angle_vulkan target. Bug: angleproject:2482 Change-Id: I417d3fbf6a4acd93c06bab61967409730c2ea4ed Reviewed-on: https://chromium-review.googlesource.com/1012497 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tobin Ehlis 41c43ce7 2018-04-16T08:42:56 Roll (2/2) to latest LVL as of 4/16/18 Moving to HEAD of LVL master on morning of 4/16/18. Made some updates to BUILD.gn to add use debug_utils files now instead of debug_report. Re-enable ANGLE Vulkan build. Bug: angleproject:2482 Change-Id: Ic2ab2a1cd7ecdba3152d433efcdbf427864e7e2b Reviewed-on: https://chromium-review.googlesource.com/1014258 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tobin Ehlis a3b220f3 2018-03-06T16:22:13 Vulkan: Adding null driver as device option Bug: angleproject:2159 Plumbing to allow VK Mock ICD to be selected as the Vulkan driver. Adding new ANGLE env var "ANGLE_VK_ICD_JSON" to point to json file of mock ICD in angle and use this to override Vk loader ICD search path. At Vulkan renderer initialization time, enable the Mock ICD if device is EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE. Default physicalDevice is still the first detected device. If Mock ICD is requested but not available, fall back to the first device that was detected. Added a VULKAN_NULL() testing config that uses Vulkan as renderer but NULL as device. Turned on Vulkan NULL testing for DrawCallPerf. Change-Id: I04e15c14e998448f8c98f9fd72e796389f297993 Reviewed-on: https://chromium-review.googlesource.com/961494 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 40a945f2 2018-03-01T17:37:43 Rename vulkan_loader to libvulkan Also add a build argument to build it as a shared library. BUG=angleproject:2343 Change-Id: Ia590632b94d71b10d3ee64974fa4f5b4f00c3a70 Reviewed-on: https://chromium-review.googlesource.com/954403 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill e2995cce 2018-03-09T17:43:45 Vulkan: Fix layers not being enabled on the bots. We were missing the data definition for the standard validation layer. This file was missing from the isolate, and the entire layer system was not working. Found this as a side-effect of working on depth stencil support. Also fixes a missing definition in the white_box_tests BUILD.gn. Also temporarily disables the ClearTest support for Vulkan because of an implementation bug on AMD. Unfortunately because of the failure mode it didn't work to just skip the test in the preamble. Bug: angleproject:2357 Change-Id: I4d06c54191b09e09a4ba68c24613db6f148b17e3 Reviewed-on: https://chromium-review.googlesource.com/956759 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tobin Ehlis da6dd738 2018-03-06T17:02:47 Roll (2/2) to latest LVL as of 3/6/18 Bug: angleproject:2393 Moving to HEAD of LVL master on afternoon of 3/6/18. Made some updates to BUILD.gn to add args to spirv tools external_revision_generator.py script. Re-enable ANGLE Vulkan build. Change-Id: I1705d7a2acae578bab9bbd8bb93176107e0e21dc Reviewed-on: https://chromium-review.googlesource.com/952547 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Nico Weber b66de58f 2018-02-15T14:02:33 Mark third-party code in ANGLE as no_chromium_code. That way, we don't have to explicitly disable Wimplicit-fallthrough for these targets, and when we add new warnings to chromium_code in the future, these targets won't need any special attention. Like https://chromium-review.googlesource.com/c/chromium/src/+/905222 Bug: 807632 Change-Id: I3a605dd3ef9ed7d8cfe9e36964c3433040bfc330 Reviewed-on: https://chromium-review.googlesource.com/922503 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org>
Tobin Ehlis d9ed9c1a 2018-02-12T14:50:10 Put Vulkan mock ICD json file in separate dir Create "icd" subdir in angledata directory where the Vulkan mock ICD json file is stored. This prevents potential loader conflicts with the layer json files. This change means that when running with the mock ICD a user will need to set their VK_ICD_FILENAMES env variable to now point to "<build_out_dir>/angledata/icd/VkICD_mock_icd.json" and make sure that the built mock icd library resides in the system's shared object search path. Bug: angleproject:2159 Change-Id: I802bb61a06a2f370bb1fa7a28d9c3548e5f94ecf Reviewed-on: https://chromium-review.googlesource.com/914819 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov bac02d76 2018-02-07T20:36:07 Vulkan: Fix data_deps on layers Was broken by https://chromium-review.googlesource.com/900096 BUG=angleproject:2339 Change-Id: I3c28a38619d83e7dcbb2349565517feb1758976c Reviewed-on: https://chromium-review.googlesource.com/907959 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill a1134ba8 2018-02-07T15:24:47 Vulkan: Relocate third-party libraries. (2/2) 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>
Tobin Ehlis b9d1daa0 2018-01-04T08:30:26 Add Vulkan mock_icd to the build Bug: angleproject:2159 Add Vulkan mock_icd from validation layer source to the standard Vulkan build. This can act as a NULL driver for Vulkan. Once the mock is built set VK_ICD_FILENAMES env variable to "<build_out_dir>/angledata/VkICD_mock_icd.json" to point loader to the mock driver and make sure the built mock icd library resides in the system's shared object search path. Change-Id: Iea86325cf076df75fa82a4974c8a3a6249cdf8e0 Reviewed-on: https://chromium-review.googlesource.com/850892 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill b62a1c2a 2018-02-06T09:54:02 Vulkan: Reorganize BUILD.gn files. This moves the SPIRV-Tools and glslang and Validation layers build files into the root of the dep folder. Requires an upstream Chrome change to allow for a different path to execute scrips in GN. Also removes the vulkan_support subdirectory. Bug: angleproject:2339 Change-Id: I457b5b05547c092a1e7fef6dd0aaadd8068e2143 Reviewed-on: https://chromium-review.googlesource.com/900096 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 327ba857 2016-11-30T12:38:28 Vulkan: Hook up loader code. This integrates the build files for the loader SDK, and tests the compilation by calling InitInstance. There's no current way to test the runtime behaviour since there's no way for the tests to initialize the Vulkan back-end, that will come in the next CL. BUG=angleproject:1319 Change-Id: Ia8bf96ca068eaf40744c9753b59ffaaa5ada8a73 Reviewed-on: https://chromium-review.googlesource.com/367519 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>