kc3-lang/angle/BUILD.gn

Branch :


Log

Author Commit Date CI Message
e99b8bc0 2020-10-23 18:50:33 Fixes to roll ANGLE into AOSP Rolling ANGLE into AOSP requires the following fixes: 1.) Update scripts/roll_aosp.sh to not delete third_party/abseil-cpp. 2.) Update BUILD.gn to add a dependency on libnativewindow for "angle_common". Test: AOSP Presubmit Bug: angleproject:5230 Change-Id: If97c44ce041e576edc7c0c43700030b4538e8ab5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495550 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
36f0464a 2020-10-08 14:45:51 Target the "absl" component for component builds. When performing a component build, we need to make sure our targets are accessing abseil from the component when is_component_build=true. Bug: chromium:1134776 Change-Id: Iaf5ee7176b4b8d84b3bafeaa259e476062a1e1dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461454 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
b09f16ee 2020-10-01 10:02:07 Don't pull in Vulkan headers in Skia standalone. Bug: angleproject:5118 Change-Id: I92f4932b9d0c0413703177d13ae526307327a710 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2442382 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
e1d1b8b3 2020-09-29 19:59:54 Fix info collection on Android without Vulkan. Allows Vulkan info collection even if Vk is not enabled in ANGLE. Also removes the system_utils error message so that the Android test runner can parse the standard output without conflicts. Bug: chromium:1133459 Bug: angleproject:5109 Change-Id: I7d7bff0f1c3e456342f27538812b33ee6cd1054b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2436657 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
ec42b143 2020-09-28 10:15:46 Check angle_enable_abseil in Abseil group and config The contents of the group angle_abseil and config angle_abseil_config needs to be underneath a check of angle_enable_abseil, so we don't erroneously attempt to access Abseil files when Abseil is disabled (like when building ANGLE in Skia). Bug: angleproject:4873 Bug: skia:7647 Test: CQ Test: Manual verification of Skia 'gn gen' on Windows Change-Id: I587da0edb66be8c422ae4e7f9d7ed0461749179a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2435898 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
5173a8e1 2020-09-23 23:01:21 Enable Vulkan SystemInfo on more platforms. Can be used in the gold tests to produce device info. Bug: angleproject:4090 Bug: b/168049670 Change-Id: I60d3ddc7d17cd00aa816dd266a54f6d6a62770d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427871 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
7bed2a5b 2020-09-22 23:37:54 Capture commit position into Android Manifest. Bug: b/168736059 Change-Id: I2ec1e284f0c51269a60f3b0e51036523258b501e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2425198 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
62778cb9 2020-09-22 23:10:04 Rename version/commit headers. Prefix the files with angle_ to disambiguate them from other tools. Bug: b/168736059 Change-Id: I7be25ca18fb69d7f2ab71bdf355932865d134954 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2425197 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
e78d9a61 2020-07-24 11:58:45 Convert unordered_map to absl::flat_hash_map for select files This is the initial CL to start migrating to abseil in various places: - formatutils.h - FramebufferVk.h - Program.h - ProgramExecutableVk.h - RewriteRowMajorMatrices.cpp This intentionally hits a couple different places in the code to make sure the abseil dependencies are added to the required targets. Bug: angleproject:4873 Change-Id: Idd6084dff2ebce47833f304c605bbf3151b97414 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2402382 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
bb96aefa 2020-09-11 13:50:09 GN: Componentize D3D back-ends. This also isolates headers for D3D9 / D3D11 from each other. Bug: angleproject:3943 Change-Id: I04edbe7db68461ae4fc78ac7f9c22451debcb768 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2405807 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
2d74170f 2020-09-11 12:30:04 GN: Componentize GL back-end. Bug: angleproject:3943 Change-Id: I88c2ec8a9f49746f6ce9838b0d1c8e8ea0a8ae9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2405806 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
4d3a0f60 2020-09-11 12:36:05 GN: Componentize D3D format tables. These tables are used by both the GL and D3D11 back-ends. Also moves them to renderer_utils to be in a shared place. Bug: angleproject:3943 Change-Id: I1f5d79842396a87e795547fa03c6855d6f9c5e9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2405805 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
852f61f7 2020-09-11 11:54:35 GN: Componentize "Null" back-end. This moves more build configuration out of libGLESv2.gni. Bug: angleproject:3943 Change-Id: I58293f98c917e785cdf3bb1beb706f02ee8a3801 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2405800 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
3486ec96 2020-09-10 17:55:28 Enable -Wweak-template-vtables. Needs one suppression due to Clang warning about multiple vtables in a cpp file. Bug: skia:7647 Change-Id: If7f318b7539d23f783b0ef6d6478ce24a0b72bc7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404746 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
90a9cf96 2020-09-11 02:40:34 Expand is_linux to is_linux || is_chromeos. Currently is_linux is set to true on Chrome OS build, but it is planned to set to false. This CL is the preparation to keep the current behavior. Bug: chromium:1110266 Test: Built locally. Tryjob. Change-Id: I4124dfb251d68a519fed3e08555d1aa5a694c77c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404500 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
736c43a1 2020-08-31 10:23:27 Rename ANGLE apk package to org.chromium.angle Bug: b/167223999 Change-Id: Iaa0b7c779bf744da17a0defba32c966225300a4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2385915 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
8d412db2 2020-08-29 22:25:18 Revert "Convert unordered_map to absl::flat_hash_map for select files" This reverts commit 1acaf4eced42a26f09b4d9180a9e5db0f37bc9a4. Reason for revert: Fails when is_component_build is not set: lld-link: error: <root>: undefined symbol: public: __cdecl absl::Condition::Condition<struct std::__1::atomic<bool> const>(bool (__cdecl *)(struct std::__1::atomic<bool> const *), struct std::__1::atomic<bool> const *) <snip> Original change's description: > Convert unordered_map to absl::flat_hash_map for select files > > This is the initial CL to start migrating to abseil in various places: > - formatutils.h > - FramebufferVk.h > - Program.h > - ProgramExecutableVk.h > - RewriteRowMajorMatrices.cpp > > This intentionally hits a couple different places in the code to make > sure the abseil dependencies are added to the required targets. > > Bug: angleproject:4873 > Change-Id: I68c7d067b6912b0cc0ecde231501dbed92f0b189 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321735 > Commit-Queue: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> TBR=timvp@google.com,jmadill@chromium.org,cclao@google.com Change-Id: I75041532fc5126b4c7cc5e0d4529883fb357e05b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:4873 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2383870 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
b4efc051 2020-08-28 14:45:18 Enable -Wdeprecated-copy. This is another warning turned on in Skia. It enforces an explicit copy assignment operator in some implicitly-generated cases. It caught one potential error in SubresourceUpdate. Bug: skia:7647 Change-Id: Ia501f619cf7f3d2e8647cdbbda2936f51f9721ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381953 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
5fde632c 2020-08-28 14:45:17 Force impicit fallthrough off in xxhash. This silences a warning present in Skia. The warning is disabled in ANGLE/Chrome by build's compiler.gni. Bug: skia:7647 Change-Id: Ie6308b7f4395786564aa79db8eb35401f3d98048 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2382414 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
1acaf4ec 2020-07-24 11:58:45 Convert unordered_map to absl::flat_hash_map for select files This is the initial CL to start migrating to abseil in various places: - formatutils.h - FramebufferVk.h - Program.h - ProgramExecutableVk.h - RewriteRowMajorMatrices.cpp This intentionally hits a couple different places in the code to make sure the abseil dependencies are added to the required targets. Bug: angleproject:4873 Change-Id: I68c7d067b6912b0cc0ecde231501dbed92f0b189 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321735 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
330c8673 2020-08-28 17:44:13 Enable MSVC warning 4312. This is caught in the Skia build. Bug: skia:7647 Change-Id: I9b164f6fcc55b7e13981659ee8a08766a99a2122 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381084 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
1ab8b75a 2020-08-28 14:45:15 Enable -Wreturn-std-move-in-c++11. Only one fix needed. Bug: skia:7647 Change-Id: I048d54ed67fbb09f4dce6c918db26ea63e7127a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376719 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
c7217aaa 2020-08-28 14:45:14 Enable -Wbad-function-cast. Fixes a small bug in xxhash. Bug: skia:7647 Change-Id: Ibd0bd8dc4febfe585e257786d9683ea09c94ec6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376718 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
5c56f228 2020-08-28 14:45:14 Enable two override suggestion warnings. -Wsuggest-destructor-override and -Wsuggest-override. Bug: skia:7647 Change-Id: Iaac1baa8f34fdf210baf2fdbe811a582b3ac2d14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376717 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
8970ad3f 2020-08-26 12:59:19 Fix Linux build with Skia. Bug: skia:7647 Change-Id: I6bb33a98d69400c9d95fb9d028d29a3e470067e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377291 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
35d3c416 2020-08-26 12:59:18 Generalize zlib utils dir for Skia build. Bug: skia:7647 Change-Id: I3664355d183c1aec87ffd35ab23f594cdd1766c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376716 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
a20f5b17 2020-08-18 11:26:50 Silence Control Flow Integrity (cfi) errors The cfi bot is throwing 3 different errors with ANGLE when using the Vulkan backend: - ChoosePhysicalDevice causes a "function with wrong dynamic type" error when using vkGetPhysicalDeviceProperties - In volk.c, using vkGetInstanceProcAddr and vkGetDeviceProcAddr also causes a "function with wrong dynamic type" error - In vk_mem_alloc.h, included from vk_mem_alloc_wrapper.cpp, GetAllocationCallbacks() causes a "unrelated cast" error This cl silences all 3 cfi errors. Bug: chromium:1116053 Change-Id: I864ec8d9e2acaec493f472e01b3987dcc641c58f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363209 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
5f2ba637 2020-08-15 23:50:59 Update commit ID when the git ref changes. Previously we were only regenerating the commit ID when the .git/HEAD file changed. When working on a branch the HEAD file doesn't change. It points to a ref like refs/heads/master that changes. So we can read back the contents of .git/HEAD using GN's read_file command and then mark the commit id as dirty when the ref changes. Should alleviate some of the shader cache problems. Bug: angleproject:4448 Change-Id: I1c39b12af3455e3620d80bec92a15f9921d9163b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358519 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
ee9c4fe4 2020-07-14 15:29:40 D3D: Make possible to build angle without D3D11 A few files inside the D3D11 tree are used by D3D9 and WGL backends. We add these files to the build system even when D3D11 is disabled. Also, we fix the use the of ANGLE_DEFAULT_D3D11 symbol. Bug: angleproject:4839 Change-Id: I981f4bfc60d973c02549caa737c5aed5ccf31282 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2298143 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
b291ad09 2020-07-03 23:53:10 Build specialized version of glslang Bug: angleproject:4763 Change-Id: Ibb98c872a1283b9d6acde958a7c5212cf79e72df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2281618 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
bae95f81 2020-07-02 17:19:14 Convert GN libs lists to frameworks GN recently added support for Apple frameworks to link, rather than overloading the libs lists. This pulls .frameworks out of the libs lists, so that GN can stop supporting .frameworks in libs in the future. Bug: chromium:1052560 Change-Id: I3aed298db01bdb5f6e7f37a74c1bbc06f99d760c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279931 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
dce37b7d 2020-06-21 22:27:06 Serialize framebuffers + compare contexts for CaptureReplayTests Adds to frame capture the ability to serialize a frame's pre-swap GL state and store it in the binary data file Adds to CaptureReplayTests the ability to compare its serialized GL state with the serialized state pulled from the binary data file Adds a serialization module that serializes framebuffers' GL states and the contents of their color attachments Adds checks to automation script so that it would skips tests that do not produce the expected trace files Adds exception handling to automation script so that it will not crash when a replay build crashes Bug: angleproject:4779 Change-Id: I40a02e018073749e79f0ddbfd3d4065745548f46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2258295 Commit-Queue: Manh Nguyen <nguyenmh@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
5dba723d 2020-06-16 09:29:16 Add newline-eof to warnings Bug: angleproject:4757 Change-Id: I8ff6cb1277bf31ed8d6af667aa59ab8029633fe0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2247488 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
13816d2d 2020-06-16 14:27:04 Move vulkan_headers/entry_points to common/vulkan This will allow us to move common headers, such as extension headers, to common/vulkan. Bug: b/159027603 Bug: b/154620295 Change-Id: I1ff73dc5b7ee8f7dfb3ac0c5f30bd4b3a8183aeb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2248205 Commit-Queue: Jamie Madill <jmadill@chromium.org> Commit-Queue: Antonio Maiorano <amaiorano@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
9e83c151 2020-06-04 19:53:36 Active the delegate worker pool for chromium (3/3) This CL is activating the delegate WorkerPool in Chromium. Must land after: https://chromium-review.googlesource.com/c/angle/angle/+/2231708 Related CLs: 1) https://chromium-review.googlesource.com/c/angle/angle/+/2231708 2) https://chromium-review.googlesource.com/c/chromium/src/+/2231864 3) [this CL] Bug: chromium:1091259 Change-Id: I62c7175fec2846fee014702d8561eeaf48ca93de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231710 Commit-Queue: Etienne Bergeron <etienneb@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
b55f0f78 2020-06-02 18:01:24 Compress Program binaries saved in blob cache The Android blob cache has a limit of 2MB, so ANGLE should compress the Program binaries that are saved into it to maximize its effectiveness. ANGLE will gzip the program binaries before being stored in the blob cache and then uncompress them when retrieved. Using gzip, the binaries are compressed to ~25% of their size when running the T-Rex benchmark. Some examples (in bytes): Uncompressed: 20193, Compressed: 4455 Uncompressed: 8767, Compressed: 2369 Uncompressed: 11144, Compressed: 2927 This doesn't appear to affect the T-Rex benchmark since all of the programs are loaded/decompressed as part of the benchmark initialization, and the programs are small enough to all fit in the blob cache without compression. Bug: b/155184635 Test: T-Rex, CQ Change-Id: Ie6a101c32ab5fd49baae1cb7aecdd26a934e15af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227529 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
56a4cc12 2020-05-21 13:17:21 Rename DisplayOzone to DisplayGbm. DisplayOzone doesn't really have anything related to Ozone. Instead, it's the gbm platform that is used there. Thus, rename it to DisplayGbm. Bug: chromium:1084458 Change-Id: I4d974f6afbf0daa28fc3e83943b35814dca203fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211763 Reviewed-by: Michael Spang <spang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
dd90f5a5 2020-04-07 12:59:23 Depend on vulkan headers in angle_gpu_info_util angle_gpu_info_util is capable of dynamically loading vulkan without a dependency but it still requires the dependency on the headers to compile on some systems. BUG= b:153394225 Change-Id: I698a825499364c09faea39384d25d454f83955b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2139414 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
7e453a25 2020-03-15 22:11:03 Capture/Replay: Use zlib to compress data files. Gives about a 2-3x reduced data file size. Should help reduce the time we spent transferring trace files on Android. This feature is implemented as a parameter to the capture/replay tool. This keeps backwards compatiblity if we ever need to integrate a cpp replay into an environment that doesn't have access to zlib for decompression. We'll need to update the traces to take advantage of the compression. Bug: angleproject:4484 Change-Id: Id7994efe3c0d529b85fa7e7f1b00444e630dd2cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2104555 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
90a8af38 2020-03-05 13:48:47 Add -rpath entries for non-component builds on Mac Mac was unable to find libvulkan.dylib because non-component builds do not contain these rpath entries. Bug: angleproject:4455 Change-Id: I7a3c452bd3b32c34b33c75b1456f9efa0d77a4ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2090331 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
20c69733 2020-03-06 11:02:31 Fix GN warning about unused variable when angle_enable_commit_id=false BUG=angleproject:2344 Change-Id: I3a0c8384d280755557fd425e80877addd756a9ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2091625 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
e8883562 2020-03-06 09:32:18 Add a GN argument to enable/disable commit_id. Some android builds are done when .git is not present. BUG=angleproject:2344 Change-Id: Ic5418fb3b8161855e9c62d877eee22dabee846ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2090684 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
dd19d554 2020-03-02 09:41:22 Change commit_id 'check' back to looking for .git files. commit_id.py was change to try running 'git status' to confirm that git was present. This caused it to succeed if there was a git checkout somewhere above ANGLE if ANGLE's .git didn't exist, incorrectly adding a non-existant .git/HEAD file to the gn rule's inputs. Always verify that ANGLE's .git/HEAD is present in commit_id.py. BUG=angleproject:2344 Change-Id: I7e170f39c8d5cef73086ecf6d68925a1d3512de1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2082993 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
8b8dc561 2020-02-26 19:09:31 Fix Android component build. Shared libraries have .cr.so extension in Android component builds. Tests were failing to load the ANGLE libraries with just .so extensions. Bug: angleproject:4396 Change-Id: I88555c830c49136623ea9da9896f86ea6204f3b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2076778 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
ba8ef68c 2020-02-24 14:13:40 Always use commit_id.py to generate commit.h commit_id_.py is capable of generating the default commit.h. This makes it so we always take a single path in gn. Remove the existing commit.h and generate it into the root generation folder (not the id subfolder) because Android blueprints can't handle generating into subfolders that don't exist. Make the <angle_dir> argument capable of taking a filename or directory name. This allows us to pass the .git/HEAD file which is a gn input. Android blueprints require all paths used as input or output to a script are listed as inputs or outputs in the genrule. BUG=angleproject:2344 Change-Id: I6600083fc400faf07808316c4a6244d6599df79a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2074924 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
4a9ec2ef 2020-02-25 16:33:21 Revert "Always use commit_id.py to generate commit.h" This reverts commit 4dc19c38c0c5e307350ecd8b9f80d59573161df9. Causes a git error during 'gn gen': fatal: this operation must be run in a work tree BUG=chromium:1055991,angleproject:2344 Change-Id: I74dd36d557dcaf1bd1b13264d806a1c6b09e1a56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2073200 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
4dc19c38 2020-02-24 14:13:40 Always use commit_id.py to generate commit.h commit_id_.py is capable of generating the default commit.h. This makes it so we always take a single path in gn. Remove the existing commit.h and generate it into the root generation folder (not the id subfolder) because Android blueprints can't handle generating into subfolders that don't exist. Make the <angle_dir> argument capable of taking a filename or directory name. This allows us to pass the .git/HEAD file which is a gn input. Android blueprints require all paths used as input or output to a script are listed as inputs or outputs in the genrule. BUG=angleproject:2344 Change-Id: Ifd9c8331f421586db6f2c6e17faf3242376e11d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070600 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
5641d193 2020-02-04 21:31:47 Move generic code from rx::DisplayAndroid/Ozone to rx::DisplayEGL This CL is intended to move and factorize code only. Move DisplayAndroid::generateConfigs to DisplayEGL::generateConfigs because the code is generic and not Android specific. It will be useful later to provide a default implementation of rx::DisplayEGL. Same for createWindowSurface and createPbufferSurface, they have been moved without changes from DisplayAndroid to DisplayEGL. Unimplemented functions in DisplayOzone and DisplayAndroid have been moved to DisplayEGL. Bug: angleproject:4328 Change-Id: Ibbd36f99ea457cbd69391beb4a83f23403bc40fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2038286 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
71e6afb1 2020-01-14 14:12:31 Vulkan: Set set/binding in SPIR-V This change introduces a SPIR-V transformer that modifies shader interface variable decorations directly in SPIR-V instead of manipulating the input GLSL. Currently, descriptor set and binding indices are set by the transformer. The shader translator outputs arbitrary set and binding indices. Once compiled by glslang, the SPIR-V transformer modifies these decorations. The ultimate goal is to be able to modify the SPIR-V again when program pipeline objects decide a different set/binding is necessary. Bug: angleproject:3394 Change-Id: If358265a72bf1fe9f5676562b39a632cb2e05dc4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2001477 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
b630bf9e 2020-01-24 17:27:01 Fuchsia: Implement SystemInfo on Fuchsia The Android vulkan code is reusable, so move that to a new file SystemInfo_vulkan.cpp and call it in the Android & Fuchsia implementations. This is necessary to skip tests based on GPU. Bug: angleproject:4349, angleproject:4352 Change-Id: I8330cfcdbd41f4d51391bd5ed7f0820c55e02801 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023909 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
af5e3822 2020-01-28 10:05:36 Fix overlay build. The overlay define was placed in the libANGLE target instead of in the config. This was causing a compile error in the capture-enabled build. Bug: None Change-Id: I9df02faaf57683119ca49a9b44e41ff049b05556 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023479 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
fcef6dcb 2020-01-24 22:41:35 For GGP builds, define __ggp__ manually. Unlike other platforms' definitions, the GGP SDK expects the project files to define this instead of having the compiler define it for us. Bug: angleproject:4237 Change-Id: I8f10311fdff785a74c5e49fc53a512f1c050bff3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2021010 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
683dd1d6 2020-01-13 17:21:52 GN: Move util build code into util/BUILD.gn. Prepratory clean up for WinUWP support. Bug: angleproject:4182 Change-Id: I97cc6cb42a50c6b57ca7d375d1e0a6b3da7aa9d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1998673 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
5cfab195 2019-10-28 09:12:53 Vulkan: Add test that logs supported texture formats Add a whitebox test to log all supported GLES formats for the active Vulkan ICD. The test object is dependent on libANGLE's gl_enum_util.* files as we need it to print out human readable values in the PrintAllFormatSupport test. Test: angle_white_box_tests --gtest_filter=*PrintAllSupportedFormats* Bug: angleproject:4093 Change-Id: I99d74935b705b2984f6320ed80a0e977c8fcd4be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1930607 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
9190f49c 2019-12-16 16:03:57 GN: Make new angle_test_utils target. This source set target lets other targets import the test utils without needing to export them. They get built into angle_util. They also get compiled into the various tests and samples. The change also fixes export issues. Moves some of the GN logic into the util/ subfolder. Bug: angleproject:3162 Bug: chromium:1030192 Change-Id: If99d201092ad8541c0de60b3bd893ac9b5875270 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1968259 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
7718c952 2019-12-13 16:39:15 [Fuchsia] Update FIDL library target names in ANGLE The SDK has renamed some targets, so update to the new names. Bug: chromium:1033597 Change-Id: Id346f5fb0094e4b71f8ec3b8c302eaa362529c06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1967958 Commit-Queue: Michael Spang <spang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
554b453c 2019-12-12 13:09:30 gn: Add 'test_only' label to util targets. Clarifies that angle_util is only used in tests and samples. Bug: angleproject:3162 Change-Id: I9a578cf7a9a09b2c3fd4683155824ed2e72f68cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1964934 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
732c9d02 2019-11-29 13:59:03 Add /APPCONTAINER linker flag to shared libraries in UWP builds. Bug: angleproject:4181 Change-Id: I6940d5605e85bcf923b201be0f0f2b1f61c30ed5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1944463 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
e3c25715 2019-12-03 14:08:36 gn: Minor improvements. Renaming "all" targets to reduce duplication. Also add libGLESv1_CM to "angle". And remove "shader_translator" since we already had "angle_shader_translator". An attempt to work around "invalid COFF sections" error that is popping up on the MSVC try bots. Bug: None Change-Id: I105aa5e59f67173643a3a2071b2aff345b5a6135 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947457 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
5afd5ec6 2019-10-25 10:53:40 Vulkan support for MacOS (using SwiftShader) Created a new WindowSurface/Display for MacOS/Vulkan, along with some GN changes to get it working. Bug: 1015454 Change-Id: I3f7a12f173795efe598856c702ce53b1e50831eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880163 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
2ed71c81 2019-11-27 11:42:08 Vulkan: Isolate DisplayVk.h from Display.cpp. With this change we no longer can access Vulkan (or Volk) headers in the ANGLE front-end. The only header that needs to be visible is the new "DisplayVk_api.h". This will simplify a bit of Volk integration. Also reworks how the entry points and headers are exposed to the tests. Bug: angleproject:3740 Change-Id: Ic1434f304619427ed6ad6370bc090ceb7858df94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1936707 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com>
e9b68f33 2019-11-19 19:34:24 Clean unused NewCreateImagePipeCmd This call is to be deprecated. Bug: angleproject:3905 Change-Id: Iffca3a3bee4d0ff930598635a27592e068696bbf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925032 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Michael Spang <spang@chromium.org>
d83dc175 2019-11-20 01:50:36 GN: Only link to delayimp when d3d9 is enabled Bug: angleproject:4142 Change-Id: If7afac61386f205271997bcae53cd726a1786114 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925253 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
d22b8be4 2019-11-15 12:26:39 GN: Make X11 optional, based on a user-defined variable. Not all Linux platforms will have X11 available (Wayland, GGP), so we have to declare a variable that checks use_x11 separately. Bug: angleproject:4116 Change-Id: I7e33956da6344b8db4d4e32dbbd1b42f58f7019c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919632 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
6e687af2 2019-10-17 14:36:41 Support standalone Android builds in ANGLE. By disabling apk generation, we can build all of our targets in a standalone ANGLE checkout on Linux. This allows tools like gn desc to give us useful information about Android builds. BUG=angleproject:4026,angleproject:2344 Change-Id: Ic46348fd06c5174ce5e5a4d89ceb391246c6ac6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866080 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
e9603921 2019-10-31 14:33:26 Capture/Replay: Correct a few GLenum replay issues. This change refactors the GLenum utils into a non-autogenerated and an autogenerated portion. That makes it easier to modify the non-auto- generated bits to properly output GLenums even when the gl.xml data isn't totally correct. For instance, the "GetPName" group was missing a bunch of queries. Instead of trying to fix the GL we can simply fall back to querying the "Default" group when we return invalid enum. Also corrects a missing "0x" on hex output. Also allows the capture/replay sample to specify the correct binary data directory when testing a replay. Bug: angleproject:3611 Change-Id: I8e4c690b2850bb157a8cde8b057b20603e4b177d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1891008 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
2f71802b 2019-10-28 11:48:46 GN: Don't expose glslang when unused. The ninja generation step could get confused if we try to build the glslang wrapper project on platforms that don't support glslang. Turn it off if the Metal / Vulkan back-ends are not enabled. Bug: angleproject:4053 Change-Id: If4dd2856681f18f4f45e952bf88e33371b9a1e3c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1884010 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
e55374f7 2019-10-24 12:55:12 GN: Explicitly add several Windows libs. These were not implicitly added in the Skia build. Bug: angleproject:4046 Change-Id: I0acdb4056e4598ea372b650dbd8044fe680187b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877483 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
8ab0bf1f 2019-10-24 12:55:12 Fix warnings in xxhash. Again these were showing up in Skia. Bug: angleproject:4046 Change-Id: Ia295ac02b1e1d7bd4186243fc2bf38dffce43c2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877482 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
155947fc 2019-10-24 12:55:11 Enable "-Wconditional-uninitialized". This is a final warning used by Skia. Bug: angleproject:4046 Change-Id: I3970e30e4bd2aef07cddadd7322ef120ac857493 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877481 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
16370a65 2019-10-24 12:55:11 Enable "-Winconsistent-missing-destructor-override". This is purely a code style and consistency warning. Enabled to support building in Skia. Bug: angleproject:4046 Change-Id: Ibdcd06ded0195123e52c693851c43d0864e54ad1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877480 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
c017cee9 2019-10-24 12:55:10 Enable "-Wundefined-reinterpret-cast". A couple cases popped up where we were using an undefined cast. Fix them by rearranging assignment macros to use decltype. Another warning that is enabled in Skia. Bug: angleproject:4046 Change-Id: Ibdbae0b2a96909b101a259ff805b8b2d43a5174b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877479 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
68945f1c 2019-10-24 12:55:09 Enable "-Wredundant-parens". This one is also required by Skia. It's purely for consistency and code readability. Bug: angleproject:4046 Change-Id: I9ed418a0bf6c7661f0970fef6da7088ca6ae6204 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877478 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
a6206854 2019-10-24 12:55:09 Enable "-Wmissing-field-initializers". This is another warning required by Skia. This one didn't find anything that surprising. Enabling the warning does help enforce code consistency and avoids a bit of possible undefined behaviour. Bug: angleproject:4046 Change-Id: Ifec7f4afad49cd820bf3c0a79df3f46559473ee2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877477 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
859ca039 2019-10-24 12:55:08 Enable "-Wshadow-field". This warning verifies we don't give variables names that shadow fields. This is another good warning to enable that Skia requires. This CL also fixes a small number of points in code that used this bad pattern. We have to disable the warning for Glslang for now. Bug: angleproject:4046 Change-Id: I072a686e3023b60cfafa778525fe712ce1fb5a50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877476 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
fd58d22c 2019-10-24 12:55:07 Enable "-Wtautological-type-limit-compare". This is used by Skia. It seems like a good this to enable in any case. It verifies that we don't do pointless comparisons like "int < INTMAX". Fix the one instance by using the base checked numeric helpers. Bug: angleproject:4046 Change-Id: Ie14a9cb2754df52929591281062d92ef70df8f97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877474 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
299b1baf 2019-10-24 09:29:18 GN: Fix one missing check for 'angle_has_build'. This was blocking using our GN files in Skia. Bug: angleproject:4046 Change-Id: I12887a53c5f92b0e00206f8d391a8d03433b5e6e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877475 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
a9f11bf1 2019-10-21 08:39:14 GN: Separate out constructor/destructor warnings. This will allow for the capture/replay sample to disable the warnings. We'd like to keep them enabled for most of ANGLE code. Bug: angleproject:3611 Change-Id: I3cc7af26fa54c03cc5b79727e7b403a1b218a903 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869544 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
a48f95ab 2019-10-14 14:49:49 Move Vulkan GlslangWrapper code to a shared location. Metal backend will reuse Vulkan's GlslangWrapper code. The Metal backend will use this code to translate glsl to spirv then cross compile to Metal Shading Language using spirv-cross. So the source code of GlslangWrapper should be moved outside vulkan folder. Bug: angleproject:2634 Change-Id: I208062daf0d77756c9d32cfdab925b7dfdf83e05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1858042 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
93121f36 2019-10-17 08:18:16 Make invalid extension directive a CHROMEOS warning This change allows extension directive after ESSL1.0 non-preprocessor tokens on CHROMEOS. CHROMEOS kiosks have a video player that violates this spec requirement so just flagging as a warning to prevent failed video playback. Added ANGLE_PLATFORM_CHROMEOS define to build config in order to only make this a warning on CHROMEOS. Split the ESSL1 & ESSL3 cases back out as ESSL3 had always been an error on all platforms in the past and so want to keep it that way. Bug: 1003005 Bug: angleproject:4023 Change-Id: Ia931b3a8dad82dbda4c9c9e49a9c1090116397b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866464 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
48aa52f7 2019-10-17 07:56:53 Fix broken GN "all_dependent_configs". This regressed with http://crrev.com/c/1864726 . Only fails in configs that specify 'use_fuzzing_engine'. Bug: angleproject:4021 Change-Id: I7cd4ab1d91525074c44a6ea2a9d8c41d9b9e437e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866074 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
ed6e230e 2019-10-16 18:19:05 Vulkan: Re-enable release ASSERTs. This change will broadcast the release asserts config to all ANGLE targets. Instead of the ones that inherited from angle_common. Bug: angleproject:4021 Change-Id: I574b01d47e85004f69fb59856cac7b10f0d8d170 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864726 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
d200a77a 2019-10-10 00:44:01 Metal backend skeleton implementation. Bug: angleproject:2634 Change-Id: I34be82f4a80a6851fecb53a51e069b134d82613a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849079 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
1ba72546 2019-10-04 15:17:49 GN: Allow building without /build/ folder. This will allow for ANGLE to be used in the Skia build. Bug: angleproject:3943 Change-Id: Idd1840f4445c63e696a7cdcd8b873623b8408306 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1835346 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
1f08ab28 2019-10-03 16:22:52 Re-land "GN: Componentize vulkan back-end build." Re-land fixes angle_end2end_tests disabling Vulkan. This moves the build configuration into the Vulkan back-end dir. This should be a little easier to maintain as all Vulkan-related config is in one place. Note that this should not interfere with Skia's build as they do not import the Vulkan back-end sources. One additional possiblity that this enables is testing other compile-time permutations of the Vulkan back-end more easily. For example we could make a simple change to enable compile testing of the Vulkan back-end with custom command buffers disabled. Also fixes a few errors affecting less tested configs. Bug: angleproject:3943 Change-Id: I0161668abcc58fcf529dde120998d4b99445fdd5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1838454 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
2328d65a 2019-10-03 02:27:07 Revert "GN: Componentize vulkan back-end build." This reverts commit d46e2fb1e341a7ba7da56072658d3b4b1a540077. Reason for revert: Broke Vulkan angle_end2end_tests. Bug: angleproject:3954 Original change's description: > GN: Componentize vulkan back-end build. > > This moves the build configuration into the Vulkan back-end dir. > This should be a little easier to maintain as all Vulkan-related > config is in one place. > > Note that this should not interfere with Skia's build as they do > not import the Vulkan back-end sources. > > One additional possiblity that this enables is testing other > compile-time permutations of the Vulkan back-end more easily. For > example we could make a simple change to enable compile testing > of the Vulkan back-end with custom command buffers disabled. > > Also fixes a few errors affecting less tested configs. > > Bug: angleproject:3943 > Change-Id: Iaf819936896e4f5d3e6415ed16ab0c940e46cdb6 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1829662 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Tobin Ehlis <tobine@google.com> TBR=tobine@google.com,jonahr@google.com,jmadill@chromium.org Change-Id: I7cf3db4f6b7d8b779625ea2491172bb429b498a9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3943 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1837233 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
d46e2fb1 2019-09-27 16:22:35 GN: Componentize vulkan back-end build. This moves the build configuration into the Vulkan back-end dir. This should be a little easier to maintain as all Vulkan-related config is in one place. Note that this should not interfere with Skia's build as they do not import the Vulkan back-end sources. One additional possiblity that this enables is testing other compile-time permutations of the Vulkan back-end more easily. For example we could make a simple change to enable compile testing of the Vulkan back-end with custom command buffers disabled. Also fixes a few errors affecting less tested configs. Bug: angleproject:3943 Change-Id: Iaf819936896e4f5d3e6415ed16ab0c940e46cdb6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1829662 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com>
f22f16d3 2019-07-18 15:10:49 Reland "Vulkan: Use VK repos' internal BUILD.gn files" This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6 There was a missing build dependence causing a build no-op issue which has now been fixed in the upstream Vulkan Validation Layer repo. Primary workaround that need to be re-visted and fixed are: 1. Disabled validation layers on 32-bit Windows 2. Disabled validation layers on 32-bit Android 3. Disabled DebugUtils on Android, using DebugReport instead 4. Using custom VK Loader branch to avoid WDK dependence 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: angleproject:3924 > Bug: angleproject:3925 > Bug: angleproject:3946 > 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: I373ada091a1329db5e304874079428d01ba21d52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778302 Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
7f506bde 2019-09-26 23:13:42 Revert "Disable swiftshader on Fuchsia" This reverts commit b67102b1940ec4ce1da7eacdb4a171b7f3c44ba7. Reason for revert: breaks ANGLE roll into Chromium https://chromium-review.googlesource.com/c/chromium/src/+/1827833 https://ci.chromium.org/p/chromium/builders/try/fuchsia_arm64/391223 https://ci.chromium.org/p/chromium/builders/try/fuchsia_x64/390587 Original change's description: > Disable swiftshader on Fuchsia > > SwiftShader is not needed on Fuchsia because the platform is expected to > provide Vulkan on all devices. > > Bug: fuchsia:37278 > Change-Id: I96d49f51dbe473bd032ec966137f35d2df9b6884 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1822863 > Reviewed-by: Michael Spang <spang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=spang@chromium.org,jmadill@chromium.org,sergeyu@chromium.org Change-Id: I39dabd1cc8de3bbef2c9fe233270a21de3782900 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: fuchsia:37278 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1828317 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
b67102b1 2019-09-24 13:32:51 Disable swiftshader on Fuchsia SwiftShader is not needed on Fuchsia because the platform is expected to provide Vulkan on all devices. Bug: fuchsia:37278 Change-Id: I96d49f51dbe473bd032ec966137f35d2df9b6884 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1822863 Reviewed-by: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
49fd27d9 2019-09-23 12:41:44 Fix SwiftShader to use data_deps. Using deps instead of data_deps was causing some tests to try and load vk_swiftshader every test execution. Even if the test was not using Vulkan in ANGLE. Fixes the TSAN gpu_unittests in Chromium. Bug: angleproject:3876 Change-Id: I2acbf02ab9aa39632bc252c12e19da28ad90175d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1815910 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
8be7a4c7 2019-09-19 12:48:31 Re-land "Vulkan: SwiftShader integration." Re-land fixes Win7 configs and placement of the SwiftShader module for ASAN/TSAN configs. Adds a new EGL extension for picking SwiftShader when using the Vulkan back-end. Also cleans up ICD enabling code RendererVk. Also includes a change to a buffer size necessary to support SwiftShader's minimum limits. Bug: angleproject:3876 Bug: b/140251624 Change-Id: I5e16057ac4de07bbdbbd248542b1b9103133294f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1810065 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
2249fef2 2019-09-16 11:19:23 Capture/Replay: Move stub implementation to new file. This lets the MSVC parser work better with FrameCapture.cpp. Bug: angleproject:3611 Change-Id: I249106dce81a7965684caf1a835f0472b34e8963 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804878 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
11dc1635 2019-09-18 14:46:23 Add support for generating UWP (Windows Store) projects again Until late 2017, ANGLE supported Windows Store apps on Windows 8.1, Windows Phone 8.1, and Windows 10 (via the Universal Windows Platform, aka UWP). Unfortunately ANGLE deprecated support for Windows Store when it switched from GYP to GN in 2017. Since then, users have been able to use Microsoft\angle for their UWP apps but this isn't ideal since it's based on a 2017 copy of Google\angle. This PR bring back support for UWPs, so that UWP users can use Google\angle again. Specifically it: - Adds support for generating UWP projects via GN - Adds helper/util functions specific to UWP (they're mostly similar to the desktop Windows helpers) - Fixes some existing Windows Store code that's rotted since 2017 - Disables async shader compilation for UWPs, since its implementation calls wait on the UI thread (which is forbidden in UWPs) - Renames 'ANGLE_ENABLE_WINDOWS_STORE' to 'ANGLE_ENABLE_WINDOWS_UWP', since ANGLE only support UWPs now - Fixes misc other related issues (such as dependencies on D3D9 headers in API-agnostic code) Note that this doesn't bring back support for Windows/Phone 8.1. BUG=angleproject:3922 Change-Id: Ia79ae05a5e0e0a0625eb633bf1928722dfd3e85f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811871 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
db7a36f4 2019-09-17 00:22:32 Revert "Vulkan: SwiftShader integration." This reverts commit 1224802c214d8f3d5b1f31a35d4461ada39b94c1. Reason for revert: https://bugs.chromium.org/p/angleproject/issues/detail?id=3912 Original change's description: > Vulkan: SwiftShader integration. > > Adds a new EGL extension for picking SwiftShader when using the Vulkan > back-end. Also cleans up ICD enabling code RendererVk. Also includes a > change to a buffer size necessary to support SwiftShader's minimum > limits. > > 32-bit is currently left disabled to work around an issue on AMD Win7. > > Bug: angleproject:3876 > Bug: b/140251624 > Change-Id: I33c55d994801d6154caca0cad0a608c1e808d517 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776231 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org Change-Id: Id7464250f6941b0228a6b2a9bd0349823727275b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3876, b/140251624 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808101 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org>
1224802c 2019-09-16 15:17:33 Vulkan: SwiftShader integration. Adds a new EGL extension for picking SwiftShader when using the Vulkan back-end. Also cleans up ICD enabling code RendererVk. Also includes a change to a buffer size necessary to support SwiftShader's minimum limits. 32-bit is currently left disabled to work around an issue on AMD Win7. Bug: angleproject:3876 Bug: b/140251624 Change-Id: I33c55d994801d6154caca0cad0a608c1e808d517 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776231 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
1552d4d6 2019-09-12 20:21:07 Move to NewCreateImagePipe2Cmd Bug: angleproject:3905 Change-Id: Id237c049848077acee8eaf491f7aada636764290 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802535 Reviewed-by: Michael Spang <spang@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
a1bf6996 2019-09-03 13:39:03 Fuchsia: Migrate to new libasync-loop API Bug: None Change-Id: Ieadbe830847068c8e9dc96773dbb9b65c8b9ccd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1783418 Reviewed-by: Michael Spang <spang@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
050b124d 2019-06-30 03:26:18 Reland "Vulkan: Debug overlay" This is a reland of e54d0f90d1a165404236fd7abd1b05ddd041a686 This was reverted due to a build failure as a result of a missing virtual destructor in the widget base class. Original change's description: > Vulkan: Debug overlay > > A debug overlay system for the Vulkan backend designed with efficiency > and runtime configurability in mind. Overlay widgets are of two > fundamental types: > > - Text widgets: A single line of text with small, medium or large font. > - Graph widgets: A bar graph of data. > > Built on these, various overlay widget types are defined that gather > statistics. Five such types are defined with one widget per type as > example: > > - Count: A widget that counts something. VulkanValidationMessageCount > is an overlay widget of this type that shows the number of validation > messages received from the validation layers. > - Text: A generic text. VulkanLastValidationMessage is an overlay > widget of this type that shows the last validation message. > - PerSecond: A value that gets reset every second automatically. FPS is > an overlay widget of this type that simply gets incremented on every > swap(). > - RunningGraph: A graph of last N values. VulkanCommandGraphSize is an > overlay of this type. On every vkQueueSubmit, the number of nodes in > the command graph is accumulated. On every present(), the value is > taken as the number of nodes for the whole duration of the frame. > - RunningHistogram: A histogram of last N values. Input values are in > the [0, 1] range and they are ranked to N buckets for histogram > calculation. VulkanSecondaryCommandBufferPoolWaste is an overlay > widget of this type. On vkQueueSubmit, the memory waste from command > buffer pool allocations is recorded in the histogram. > > Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py > processes to create an array of bits, which is processed at runtime to > create the actual font image (an image with 3 layers). > > The overlay widget layout is defined in overlay_widgets.json which > gen_overlay_widgets.py processes to generate an array of widgetss, each > of its respective type, and sets their properties, such as color and > bounding box. The json file allows widgets to align against other > widgets as well as against the framebuffer edges. > > Two compute shaders are implemented to efficiently render the UI: > > - OverlayCull: This shader creates a bitset of Text and Graph widgets > whose bounding boxes intersect a corresponding subgroup processed by > OverlayDraw. This is done only when the enabled overlay widgets are > changed (a feature that is not yet implemented) or the surface is > resized. > - OverlayDraw: Using the bitsets generated by OverlayCull, values that > are uniform for each workgroup (set to be equal to hardware subgroup > size), this shader loops over enabled widgets that can possibly > intersect the pixel being processed and renders and blends in texts > and graphs. This is done once per frame on present(). > > Currently, to enable overlay widgets an environment variable is used. > For example: > > $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste > $ ./hello_triangle --use-angle=vulkan > > Possible future work: > > - On Android, add settings in developer options and enable widgets based > on those. > - Spawn a small server in ANGLE and write an application that sends > enable/disable commands remotely. > - Implement overlay for other backends. > > Bug: angleproject:3757 > Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:3757 Change-Id: I47915d88b37b6f882c686c2de13fca309a10b572 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1780897 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
44a0e734 2019-09-02 13:55:59 Re-enable -Wextra-semi-stmt. Now that the DEPS roller is fixed this should not be able to break the CQ. Bug: angleproject:3128 Change-Id: I0f51b5d8a7b71859cced335ca9bd6ad155637ec5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781619 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>