src/vulkan_support


Log

Author Commit Date CI Message
Tom Anderson 26098cb2 2017-05-24T20:39:28 Add missing dependencies on exe_and_shlib_deps (angle) BUG=chromium:723069 Change-Id: I2b3c9be297c2b65955e31f393756ca266cc7c60b Reviewed-on: https://chromium-review.googlesource.com/514436 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Wei-Yin Chen (陳威尹) 04a56818 2017-05-24T00:45:54 Reduce absolute paths in generated ninja files in angle BUG=chromium:723856 Change-Id: I7481d3335111c697f77aa0ea673614e79b4a86f6 Reviewed-on: https://chromium-review.googlesource.com/513588 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 5e4343a1 2017-05-05T10:56:12 Add msvs_cygwin_shell to all actions in vulkan.gypi. BUG=angleproject:1668 Change-Id: I93bc7584ff7d945f9efde25c3379a282ee246b53 Reviewed-on: https://chromium-review.googlesource.com/497328 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 6a1d2f93 2017-05-02T16:47:38 Fix compilation of the Vulkan loader / layers in standalone This commit introduces a stamping mechanism to make sure the order of build dependencies is correct. In GYP there are the following build order dependencies (between others): - A target link depends on previous target links - A target source compile depends on that target actions outputs - An action output depends on the action inputs The problem was that there were actions in vulkan_layer_utils_static that generated headers needed by vulkan_loader's sources (between others) Making a "dependencies" relationship between the two was not enough to ensure the headers were generated before the source were compiled. Instead we replicated the "stamping" mechanism used in GN using GYP actions that depend on the headers and output a dummy stamp file. This completes the build order dependencies: the sources depend on the stamp which depend on the action's input, i.e. the generated headers. BUG=angleproject:1668 Change-Id: I2de15ac2ea8f838acdbf43da1f111b28b8cc2184 Reviewed-on: https://chromium-review.googlesource.com/493892 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Frank Henigman f231232b 2017-05-02T15:46:18 vulkan: assume secure_getenv(). Vulkan's cmake files check for the availability of secure_getenv() but we just assume it exists. BUG=chromium:717558 Change-Id: I22054c3967f543d163dde37b9a6b13e896da7a50 Reviewed-on: https://chromium-review.googlesource.com/494126 Commit-Queue: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Frank Henigman 29f148b0 2016-11-23T21:05:36 Support Vulkan on Linux as well as Windows. Refactor display and surface classes into Win32 and Linux parts and add Linux parts to gn and gyp builds. BUG=angleproject:1668 Change-Id: I2a7d29c35f4f42fa0035bd97938d3770f3627672 Reviewed-on: https://chromium-review.googlesource.com/412426 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Frank Henigman f5841774 2017-04-19T16:31:11 Move Vulkan layer json files. Put the Vulkan layer JSON files in the same place as the gn build puts them, for consistency. Change-Id: I6294372ce34ed20da357a8b8ea83018c4e748c37 Reviewed-on: https://chromium-review.googlesource.com/475074 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Jamie Madill 03b333b4 2017-04-07T14:54:10 Vulkan: Fix Clang warning and fix build. The data_deps section for angle_vulkan was referencing a variable that didn't exist (no warning for this). Fix the deps which also then exposes the build problem with the layers with Clang in 32-bit. Also fix not propagating the Win32 defines to the layer utils. BUG=chromium:708835 Change-Id: I4a457bfabf1ca735d3f3f3d8b0f0823cfa834b84 Reviewed-on: https://chromium-review.googlesource.com/470087 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 60e17eab 2017-04-05T11:01:49 Vulkan: Fix 32-bit Clang build. We were getting a warning: stdcall calling convention ignored on variadic function BUG=None Change-Id: I9165b285dfaf6bc238f946fda2d733292789390d Reviewed-on: https://chromium-review.googlesource.com/468373 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 9cb2c262 2017-04-03T10:12:04 Re-land: Roll vulkan-validation-layers. (2/2) https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f This CL re-enables Vulkan with the new build files. In particular, this roll contains a fix for a vs2017 signed/unsigned mismatch warning as error. Re-land fixes build dependencies. BUG=chromium:683729 Change-Id: If2b1bc7250037c33402965eae354ca550ecd36c0 Reviewed-on: https://chromium-review.googlesource.com/466106 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 795e7573 2017-03-28T15:47:21 Revert "Roll vulkan-validation-layers. (2/2)" This reverts commit 2feaa5e0ac6b779e13254c84b41de436f5d14765. Reason for revert: Broke the Chrome Windows builders. Build: https://build.chromium.org/p/chromium/builders/Win/builds/53432 Error: src\third_party\vulkan-validation-layers\src\include\vulkan\vk_layer.h(39): fatal error C1083: Cannot open include file: 'vk_layer_dispatch_table.h': No such file or directory Original change's description: > Roll vulkan-validation-layers. (2/2) > > https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f > > This CL re-enables Vulkan with the new build files. > > In particular, this roll contains a fix for a vs2017 signed/unsigned > mismatch warning as error. > > BUG=chromium:683729 > > Change-Id: Id38e10f97702cac5a51ee194c81972861f15db21 > Reviewed-on: https://chromium-review.googlesource.com/457278 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > TBR=geofflang@chromium.org,jmadill@chromium.org,bungeman@chromium.org,cwallez@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. BUG=chromium:683729 Change-Id: Ic60f22496fc57904132d574a2fb2c1ca4d875b3e Reviewed-on: https://chromium-review.googlesource.com/461999 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 2feaa5e0 2017-03-24T13:04:21 Roll vulkan-validation-layers. (2/2) https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f This CL re-enables Vulkan with the new build files. In particular, this roll contains a fix for a vs2017 signed/unsigned mismatch warning as error. BUG=chromium:683729 Change-Id: Id38e10f97702cac5a51ee194c81972861f15db21 Reviewed-on: https://chromium-review.googlesource.com/457278 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 94d8222f 2017-02-03T12:45:21 Vulkan: Disable layer deps for libANGLE in GYP. This prevents a multiply defined symbol error in ninja. Unforunately I'm not aware of how to do the equivalent of GN's data_deps in GYP. BUG=angleproject:1709 Change-Id: I9c616337c668a5fa652b6c084b2a64d83d526e4a Reviewed-on: https://chromium-review.googlesource.com/437646 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8ecf7f9b 2017-01-13T17:29:52 Vulkan: Implement shader compilation. This hooks up the Vulkan GLSL, decorated with locations, to glslang, and then pipes the SPIRV back to the Program implementation for later use when making pipelines to run draw calls. The program compilation tests work now, but don't really test anything other than not generating Vulkan validation layer errors during compilation and shader object generation. BUG=angleproject:1576 Change-Id: I625e42219f4b4d1433dd3109b94e1a2f666ba4bd Reviewed-on: https://chromium-review.googlesource.com/408519 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill ef9e30eb 2017-02-01T15:02:05 Vulkan: Fix JSON generation in GYP. This isn't tested on the bots, but fails in standalone. BUG=angleproject:1810 Change-Id: Ia1743352e236966abf321d312a8beb47a4cff336 Reviewed-on: https://chromium-review.googlesource.com/435012 Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 93780e6c 2017-01-31T15:38:26 Move Vulkan layers data directory. The zip-archive script was having trouble pulling in data from gen/. Instead use a separate 'angledata' folder. BUG=angleproject:1810 Change-Id: I09eaf4766a8360c40af9335bed74a5dc347e05ad Reviewed-on: https://chromium-review.googlesource.com/435518 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 7cc14ee8 2017-01-13T09:33:37 Vulkan: Update build files after roll. They have consolidated to one helper script generator. Simplifies the GN build. This also re-enables the Vulkan back-end after the roll. BUG=angleproject:1319 Change-Id: Ie98568ae5d1dc46932ea8d698809561da7591836 Reviewed-on: https://chromium-review.googlesource.com/427307 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2a9ef3ea 2017-01-10T13:17:06 Vulkan: Fix GYP layer dependencies. The GYP project wasn't correctly depending on the various layer targets, like the GN was. BUG=angleproject:1319 Change-Id: I54794c71be899fe5ba40cb999ecf2ce7c4a972b5 Reviewed-on: https://chromium-review.googlesource.com/425941 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill a66779fc 2017-01-06T10:43:44 Vulkan: Load layers relative to executable dir. Instead of baking in a relative path and expecting the app to run from a fixed directory, we can change the CWD at runtime so the layers can load relative to the current executable directory. Future alternatives could include modifying the layers SDK to provide a path dynamically, but for now the relative paths must be baked in at compile-time. BUG=angleproject:1319 BUG=chromium:677841 Change-Id: I443b6b35d38276ea667cdf08ec2204ea280b6cec Reviewed-on: https://chromium-review.googlesource.com/425441 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Jamie Madill a1325179 2017-01-03T10:01:39 Vulkan: Fix struct helper output list. Some files were removed from the Vulkan build, so we should also remove them. They were triggering work on incremental builds. BUG=angleproject:1319 Change-Id: Ia179eb6d96ea2f41175c85cc8ae6313c39f68647 Reviewed-on: https://chromium-review.googlesource.com/424592 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Scott Graham 38ef7c8c 2017-01-02T12:19:18 Disable 4701 and 4703 for spirv_tools for Windows PGO build BUG=chromium:677837 Change-Id: I5165ba9086a3d74fde7e7718909e242588f3c1de Reviewed-on: https://chromium-review.googlesource.com/424374 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0448ec84 2016-12-23T13:41:47 Vulkan: Enable validation layers on request. Also adds the build files for the Vulkan layers. The layers are enabled by default for the tests. BUG=angleproject:1319 Change-Id: I0b442b36312a1299a932922e1c4e39f00801de49 Reviewed-on: https://chromium-review.googlesource.com/367751 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@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>