BUILD.gn


Log

Author Commit Date CI Message
Brandon Schade 1760ce37 2022-03-03T17:29:12 Add usage of Spirv through glslang build flag Add new build flag angle_use_spirv_gen_through_glslang. If set, angle_enable_spirv_gen_through_glslang is enabled and the generateSPIRVThroughGlslang feature is also enabled. Bug: angleproject:6210 Change-Id: I8f4f71c2d01314a36b15fae795caa01a1ffa7fbc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3502529 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Kyle Piddington c4a9d416 2022-01-05T15:28:11 Metal: Refactor to build without SPIR-V Refactor ShaderInterfaceInfoMap and constant names to thier own files, allowing Webkit to build without needing to compile SPIRV code via mtl_glslang_utils.cpp. Bug: angleproject:6782 Change-Id: I7a9c7e387145c95807f780e24bd2764e0efb5709 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3364970 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Tim Van Patten e28083ad 2021-11-09T18:00:17 Enable RenderDoc capture for debug builds Enable RenderDoc capture in builds where Vulkan Validation Layers are enabled. This essentially enables the '--renderdoc' flag for debug builds when running end2end/deqp tests to make it easier to debug tests. This CL also add the '--no-renderdoc' flag to force disabling RenderDoc capture. Bug: angleproject:6072 Change-Id: Iae7aae30aae9bdc58a7546118d156aef2047c210 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270600 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 6a70398c 2021-11-19T09:41:58 GN: Ensure using_sanitizer is declared even without //build. Bug: angleproject:5795 Change-Id: If37375a9925d8449a15a63e98caf60d7dc75a751 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3289936 Owners-Override: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 89e3de97 2021-11-11T10:18:36 GN: Add symbolizer data for sanitizer builds. This is necessary to produce correct stack traces. Bug: angleproject:5795 Bug: chromium:1268935 Change-Id: I011d0948779718ed38305624c87a193a6ad0f8bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276512 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill d27552f2 2021-11-11T11:43:30 Re-land: "Vulkan: Allow SystemInfo to pick ICD." Re-land fixes build on iOS and Android with ANGLE/Vulkan. This will be used in conjunction with SwiftShader. Bug: angleproject:6496 Change-Id: Id38403da1e377bba293dc8368d1c1aac29bf56a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3282426 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill a9f2e87e 2021-11-12T15:02:50 Revert "Vulkan: Allow SystemInfo to pick ICD." This reverts commit b5adbe272e4829d77105e49607bf8ddafd385f17. Reason for revert: Fails GN check on Android/iOS in Chrome: https://chromium-review.googlesource.com/c/chromium/src/+/3276779/ Original change's description: > Vulkan: Allow SystemInfo to pick ICD. > > This will be used in conjunction with SwiftShader. > > Bug: angleproject:6496 > Change-Id: I894aa4cf3b9473738b549de9941eb82e09234121 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276515 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=syoussefi@chromium.org,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com Change-Id: I198802d6bc93993d3544ed4627e131cb7b93f381 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:6496 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276045 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill b5adbe27 2021-11-11T11:43:30 Vulkan: Allow SystemInfo to pick ICD. This will be used in conjunction with SwiftShader. Bug: angleproject:6496 Change-Id: I894aa4cf3b9473738b549de9941eb82e09234121 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276515 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Craig Stout 24136212 2021-11-08T14:01:34 Allow GN specification of shared library extension name For use as system libraries in virtualized Linux environments, allow use of custom sonames. Bug: angleproject:6672 Change-Id: If297e3eaa090bfd08cb9df68a4c727da72228bcc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3268941 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Sylvain Defresne 5ae7342b 2021-11-09T16:26:10 [ios] Remove support for building with Xcode clang Chromium //build will soon remove the `use_xcode_clang` variable. Remove it from Angle to avoid breakage when the variable is gone. This is a followup to https://crrev.com/c/angle/angle/+/3259713 where one use of `use_xcode_clang` was not left by mistake. Bug: chromium:1266466 Change-Id: Idbd8b3daeacac1ba88fc818f3939bdcd15e449c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3269890 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Maksim Sisov fa2e3749 2021-09-09T15:34:23 Reland "rename use_x11 to ozone_platform_x11" This is a reland of 86f2854579ae7aaa4e425b8846693e44c3aede36 X11 shouldn't be enable for is_chromecast cases as the original use_x11 gn arg is only enabled on linux && !chromecast. Original change's description: > rename use_x11 to ozone_platform_x11 > > Ozone is default now in Chromium and non-Ozone/X11 (aka use_x11) is > deprecated. During the transition period use_x11 == ozone_platform_x11. > > Bug: chromium:1096425 > Change-Id: Ia691ce249bc49040956bed033891799127a57bbc > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151755 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> Bug: chromium:1096425 Change-Id: I6f8dbacb756ce57ca7379bbd991ca1ff470c244d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3263987 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Maksim Sisov <msisov@igalia.com>
Sylvain Defresne 30afc25e 2021-11-03T17:59:19 [ios] Remove support for building with Xcode clang Chromium //build will soon remove the `use_xcode_clang` variable. Remove it from Angle to avoid breakage when the variable is gone. Bug: chromium:1266466 Change-Id: I3f95ffe611cc38c9de76e9744186efff3332d539 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3259713 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 577cfeff 2021-10-27T12:08:25 GN: Remove unneeded version header visibility rule. These Chrome targets are now migrated to use the encapsulated API. Bug: angleproject:2551 Change-Id: I6970f7ad85af089fd41c79476a2bdd4e605949c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248143 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Hans Wennborg 6ce67886 2021-10-28T13:45:18 Drop -Wweak-template-vtables Clang is dropping suport for this flag, see bug. Bug: chromium:1264351 Change-Id: I09b3d42889eecb8e786c52c205f28507fc797c5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250885 Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill d8c18ac6 2021-10-08T13:00:19 Re-land: "Isolate commit_id.h from other code." Re-land limits the angle_version deps to Windows to fix an iOS visibility rule violation in GN. Instead of recompiling multiple source files, we can seal off the files that include commit_id to prevent recompilations when the commit changes and source files don't change. Bug: angleproject:2551 Change-Id: I033f00ec7afe4bfd01e29e0eea8848eea27747a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233899 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 7defdb60 2021-10-19T14:07:07 Revert "Isolate commit_id.h from other code." This reverts commit 6d7ebf656d06f1152967aa5f4457d3787a24732c. Reason for revert: Suspected reason for failing ANGLE roll into Chromium Original change's description: > Isolate commit_id.h from other code. > > Instead of recompiling multiple source files, we can seal off the > files that include commit_id to prevent recompilations when the > commit changes and source files don't change. > > Bug: angleproject:2551 > Change-Id: I98800c5a8e04ec7d4c3e57ea0eb3b636d3b224bb > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212895 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Bug: angleproject:2551 Bug: angleproject:6588 Change-Id: I19f41141f57d0683efb9a4ec043e078a9f7dc925 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226056 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Jamie Madill 6d7ebf65 2021-10-08T13:00:19 Isolate commit_id.h from other code. Instead of recompiling multiple source files, we can seal off the files that include commit_id to prevent recompilations when the commit changes and source files don't change. Bug: angleproject:2551 Change-Id: I98800c5a8e04ec7d4c3e57ea0eb3b636d3b224bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212895 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi f3d5dac3 2021-08-23T17:25:15 Vulkan: SPIR-V Gen: Drop dependency to glslang The SPIR-V gen path is now made default. Compilation through glslang is still supported for debugging, and is enabled on the GLSL* end2end tests for smoke testing. On release builds, glslang is not supported. To test with glslang, add the following gn arg (only necessary if dcheck is disabled): angle_enable_spirv_gen_through_glslang = true Then enable the generateSPIRVThroughGlslang feature. This can be done by setting an environment variable: ANGLE_FEATURE_OVERRIDES_ENABLED=generateSPIRVThroughGlslang ./angle_deqp_gles2_tests Binary size saving: - 1.3MB on Linux (SPIR-V gen itself: 240KB) - 730KB on Android (SPIR-V gen itself: 140KB) Perf tests: - LinkProgramBenchmark.Run/vulkan_compile_single_thread * Through glslang: truncated mean: 1287033.36 * Direct SPIR-V Gen: truncated mean: 244495.91 (~80% reduction) - LinkProgramBenchmark.Run/vulkan_compile_multi_thread * Through glslang: truncated mean: 4565894.83 * Direct SPIR-V Gen: truncated mean: 1158164.10 (~75% reduction) Bug: angleproject:4889 Bug: angleproject:6210 Change-Id: I486342702977c8114e90073b97183aba115a8b2d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115140 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
angle-autoroll 66c89b0f 2021-10-06T16:28:42 Fix and disable MSVC warnings Needed because some warnings are no longer disabled after http://crrev.com/c/3189512. Also includes https://github.com/KhronosGroup/OpenCL-Headers/pull/179, needed after clang upgrade to llvmorg-14-init-5410-gd0473681 Bug: chromium:1257173 Change-Id: I4f844aa972362c488cb6d37244439e2126f2c1c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210629 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 0004ecc2 2021-09-22T13:39:55 Write GL info to test artifact in end2end_tests. These will show up as glinfo.json in the "cas outputs" of the shard that runs these tests. We currently have information for Pixel 4, NVIDIA and Intel Win/Linux, and SwiftShader Windows. GLES 1.x extensions are treated separately. Some WebGL/Mac-only/D3D-only extensions show as unsupported anywhere. In order to capture artifacts on Android, we use a render test output parameter. Bug: angleproject:6379 Change-Id: I560b219b5a586cdbb68d272090f38eedc76aba20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3176780 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill afe0dd9e 2021-09-24T12:02:08 Revert "rename use_x11 to ozone_platform_x11" This reverts commit 86f2854579ae7aaa4e425b8846693e44c3aede36. Reason for revert: Suspected for breaking the ANGLE roll: https://crrev.com/c/3171455 Original change's description: > rename use_x11 to ozone_platform_x11 > > Ozone is default now in Chromium and non-Ozone/X11 (aka use_x11) is > deprecated. During the transition period use_x11 == ozone_platform_x11. > > Bug: chromium:1096425 > Change-Id: Ia691ce249bc49040956bed033891799127a57bbc > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151755 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> Bug: chromium:1096425 Change-Id: Ifa0a2f5f1323704d7e9d308210efb26c9987b5cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3181561 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Jamie Madill 786d38af 2021-09-10T17:58:39 Fix build in some configurations. Relevant configuration: - is_debug = true - angle_enable_annotator_run_time_checks = true Patch authored by Igor Nazarov <i.nazarov@samsung.com> Bug: angleproject:6401 Change-Id: I8c1ad38e71a90db8ef45d431bfefb1ff1153c1b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3165656 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Maksim Sisov 86f28545 2021-09-09T15:34:23 rename use_x11 to ozone_platform_x11 Ozone is default now in Chromium and non-Ozone/X11 (aka use_x11) is deprecated. During the transition period use_x11 == ozone_platform_x11. Bug: chromium:1096425 Change-Id: Ia691ce249bc49040956bed033891799127a57bbc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151755 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 1af5c46c 2021-09-14T14:40:49 Move JsonSerializer from libANGLE to common. This lets us use the serializer from outside of libANGLE. The plan is to use it to serialize a list of supported extensions from the tests. Bug: angleproject:6379 Change-Id: Ib7b64cca32e733e342b80f893d3752318089f0c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163361 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 23b16743 2021-09-14T10:29:14 Fix compilation when disabling D3D back-ends. Common code areas weren't compiling when disabling combinations of the D3D9 and D3D11 back-ends. With manual testing this fixes various combinations of angle_enable_d3d9/d3d11/gl. Bug: angleproject:5925 Change-Id: Ie14f2b4c6169cf96c662e7ae6999751007d9adb0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3162836 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 1a3b17da 2021-09-09T17:26:56 Capture/Replay: Fix GN build when JSON not available. This change makes it so we no longer build frame capture when JSON is not available. In Skia's build this is the case. Also updates the GN scripts to use a new variable 'angle_has_frame_capture'. Bug: angleproject:5133 Bug: angleproject:6374 Change-Id: I30290a160f6ebe6419f371e36d304a61bf0a85ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152557 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2f3e4db8 2021-09-02T10:31:13 Capture/Replay: Serialize trace metadata to a JSON file. This will allow us to remove more code auto-generation for the trace tests. The trace info now can be loaded directly from JSON instead of from the autogenerated information. Bug: angleproject:5133 Change-Id: I04e22b9279b19282df274bc8defcd363d0449111 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140218 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Geoff Lang 48da7e7e 2021-09-07T15:49:07 Add a gn arg to enable collecting Vulkan system info on Linux Some ANGLE users may wish to enable this path before the crashes are resolved. Bug: angleproject:5717 Change-Id: I7ed3a575e639cda9d88475cc38f32d7bbc37e84c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144372 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 58930a73 2021-08-07T22:05:27 Translator: Facilitate integration in FireFox; Part 2 Support for desktop GLSL builtins is now controlled by a gn arg, instead of being tied to is_android. Bug: angleproject:6188 Change-Id: Ia152d31bd49ca6de2b29873ee4998c1598904382 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076285 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 47279c72 2021-08-15T23:20:32 Adjust compressed texture validation; add test - Format check happens before target check to accommodate for unknown / disabled format enums. - PVRTC1 and ETC1 enums are not allowed for 2D Array and 3D targets. - PVRTC1 sRGB formats require enabling two extensions. - New noCompressedTexture3D limitation for older Metal versions. The test checks that only the appropriate entry points are affected after enabling compressed texture extensions. Bug: angleproject:5731, angleproject:6280 Change-Id: I4943cd3a82f60f9348215caa8639e0bc3e8b45db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3094018 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Peter Kasting d4d6c23c 2021-07-31T11:41:29 Fix a recently-introduced case of -Wunreachable-code-aggressive. Also enable this and -Wunused-but-set-variable to avoid regressing them. Bug: chromium:1066980 Change-Id: I1fd7a57c2bf14513d657b69b70e35ad727c75ffd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3065355 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8f77e0bc 2021-07-29T15:54:26 Define angle::HashSet potentially using abseil Split change from CL using it for simplicity. Bug: angleproject:4889 Change-Id: Ie3e621dee624020581e9fd7679639332718948f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3061439 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi b8d6f8aa 2021-07-22T22:31:29 Translator: Facilitate integration in FireFox Instead of relying on is_apple to build workarounds applied on apple hardware, a new build argument is added for this purpose. This allows FireFox to more easily include these files in their build system (which builds every workaround on every platform). The workarounds are reorganized too and moved from tree_ops/gl/mac to tree_ops/apple. RewriteRowMajorMatrices is moved there too as it's now used by both gl and metal. This workaround is large, and removing it from non-apple builds improves binary size (~40KB on Linux). Bug: angleproject:6188 Change-Id: I8e1dab44d0235bb6b8341d53721bdd0d157d46c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3047385 Reviewed-by: Jeff Gilbert <jgilbert@mozilla.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexis Hetu 729cbcf1 2021-07-23T11:18:18 Make Display and X11 available in the same build Chromium can use the 'use_ozone' and 'use_x11' build flags simultaneously, so we need the Vulkan display to still be selectable, even when the 'use_x11' flag is used. This is required to make SwANGLE work with Ozone/Wayland, which is going to use EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE when SwANGLE is requested. Bug: chromium:1231934 Change-Id: I2ac1d3d9bc231608d7f77e9a2540f4c538840076 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3049351 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Jeff Gilbert afda22b0 2021-07-19T16:46:50 Define ANGLE_IS_64_BIT_CPU in common/platform.h. This is more reliable and reduces reliance on build flags. Vendoring into Firefox, it's not trivial to replicate build flags, but C++-native checks always work. Bug: angleproject:6186 Change-Id: Idafd4ef1954efbfa79eae86cddfaa8f2e3992296 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036589 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2b86e2d6 2021-07-19T10:30:57 GN: Update dcheck/assert conditions. In preparation for a Chromium change that makes dchecks enabled by default in Release builds, we'll keep ASSERT disabled in Release by default. We add a new flag 'angle_assert_always_on' for controlling ANGLE ASSERT behaviour. Also slightly refactors the direct SPIR-V generation GN. Chromium CL: https://crrev.com/c/2893204 Bug: chromium:1225701 Change-Id: I01a6def28d7c21e771e9800889a6b9c274972de2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035447 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Dirk Pranke <dpranke@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 48da1c35 2021-07-16T13:24:34 Vulkan: Prefer the local vulkan loader over the system one. Load the Vulkan loader ourselves and give vkGetInstanceProcAddr to volk. This allows us to always prefer loading from the current module directory instead of using the platform-specific ordering. Refactor angle::Library loading to use ModuleDir instead of ApplicationDir. CL originally authored by Geoff Lang. Bug: chromium:1219969 Change-Id: I21d1926e90fd66e1c23cea7323991ae55f3d22d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035444 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Kyle Piddington d33a2222 2021-04-26T16:56:15 Upstream Apple's direct-to-Metal backend: compile libANGLE. This change is meant to merge the metal backend changes from Apple's direct-to-Metal backend. Taken from Kyle Piddington's CL: https://chromium-review.googlesource.com/c/angle/angle/+/2857366/ The goal of this CL is to merge the metal backend code in a state that compiles, but not to switch the Metal backend over to using the direct-to-metal backend yet. Bug: angleproject:5505 Bug: angleproject:6127 Change-Id: If6783e06e0086b3a1dd25c6f53caca5cfc96cb86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2950067 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Sergey Ulanov b73eee71 2021-07-07T18:51:35 Reland: [Vulkan] Add DisplayVkNull Currently all DisplayVk implementations depend on VK_KHR_swapchain and VK_KHR_surface extensions. When running Chromium on Fuchsia these extensions are never used (content is shown on the screen using ImagePipe API without dependency on swapchain). ANGLE still depended on these extensions for DisplayVkFuchsia. This CL adds DisplayVkNull, which allows to run ANGLE without dependency on swapchain. It's usable only offscreen and cannot present content on a surface. Bug: chromium:1203879 Change-Id: I5cadcdf46ed1cfb5ebb3cb69dbfef063e9e2b826 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3012368 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill cb87d78c 2021-07-08T08:28:04 Enable -Wshadow with Clang. Also fixes a few instances of variable shadowing in the code. Bug: angleproject:6148 Change-Id: Ic51d722a3f953f246f51af6d74abb302f832cf44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3014875 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 955b4620 2021-07-01T22:55:59 Fix angle_commit.h dependency when git packs refs If there are too many files in .git/refs/heads/, git packs them in .git/packed-refs. This breaks the build as gen/angle/angle_commit.h depends on .git/refs/heads/<branch-name>. With this change, when gn is run and the dependency to this file is set up, it's unpacked from .git/packed-refs if it's missing from .git/refs/heads/. One corner case not solved by this change is if a commit is amended with no changes and git packs the refs (and so the .git/refs/heads/<branch-name> file goes away), ninja doesn't rerun gn as it doesn't believe there to be any changes, yet fails the build as the dependency is now missing. Running `gn gen` manually fixes the issue. The issue is automatically fixed when switching branches. Bug: angleproject:6131 Change-Id: Ie2404e874a5cb3374a652b93faa143acb68eaa19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001906 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Peter Kasting 1bffabe8 2021-06-29T18:13:39 Fix -Wunreachable-code-aggressive. Bug: chromium:1066980 Change-Id: I1fa08a40dbf223d60a10681af33ca8a29b12bf8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2991094 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 1b104dd9 2021-05-26T14:29:01 Finish switch to angle_version.h. Bug: b/168736059 Change-Id: I1232c8284f37aadb374840aca8f40e4569382c7b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2920490 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 7753c837 2021-06-18T14:25:40 Fix roll_aosp.sh 'gn gen' failure The 'gn gen' step in roll_aosp.sh is failing due to trying to access third_party/rapidjson/BUILD.gn, which isn't in AOSP. The rapidJSON library is required to build the ANGLE libraries with frame capture enabled, which isn't necessary for AOSP builds. This CL adds the GN arg 'angle_has_rapidjson' which roll_aosp.sh will set to 'false' to prevent 'gn gen' from attempting to access third_party/rapidjson/BUILD.gn. Bug: b/187342779 Change-Id: I6fcc0e94b6325be7523e35f966b8e4dbc708e3b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2973338 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Kyle Piddington d7aa0130 2021-04-26T16:56:15 Upstream Apple's direct-to-Metal backend: compile translator. This change is meant to merge the translator changes from Apple's direct-to-Metal backend. Taken from Kyle Piddington's CL: https://chromium-review.googlesource.com/c/angle/angle/+/2857366/ The goal of this CL is to merge the translator code in a state that compiles, but not to switch the Metal backend over to use this translator backend yet. Bug: angleproject:5505 Change-Id: I68a6354604498cd5fd1eb96c13fc56f3b38f2bd0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897536 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jonah Ryan-Davis e2fc818a 2021-05-05T11:51:00 Reland Change to module directory when loading swiftshader ICD. This is a reland of commit 3b10dda6a479612a07673b5c87d3560e0941d41b. Extra changes: Be explicit about calling GetModuleHandleA Do not use the general GetModuleHandle, which may use wide strings Refactored ConcatenatePath and add tests GetModuleDirectory should return the full path, not relative. ANGLE wasn't able to locate the vulkan ICD file because it was searching down an invalid relative path. This can be fixed by ensuring the module directory is always the full path. on some platforms. Original change's description: > When loading vulkan, we can be running from any directory. We need > to change to the module directory to ensure the swiftshader ICD is > loaded properly. For example, in some Chrome releases, libGLESv2.dll > and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe > > Bug: chromium:1198567 > Change-Id: I9e68927e512b239728fb2903d1a04702508a4948 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452 > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: chromium:1198567 Bug: angleproject:5949 Change-Id: I63fbe93f8492b7f23566f8193b1b8fe784a34f71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2904586 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi 9bc837f6 2021-04-07T15:24:12 Vulkan: Generate SPIR-V directly from the translator; Part 1 This is the first change in a series to generate SPIR-V directly from the translator's AST, instead of the generating text GLSL and feeding it to glslang. This change implements the majority of the work needed to map AST types to SPIR-V types, and declare types and interface variables in SPIR-V. Additionally, it lays the infrastructure to conditionally enabling this path in end2end tests. No tests are currently enabled as the change doesn't actually generate code for function bodies yet. Bug: angleproject:4889 Change-Id: Iacb28b6907fd48c50e4cc5a0e7ad72f6eed241d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2889603 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 88156d26 2021-05-18T23:55:32 Revert "[Vulkan] Add DisplayVkNull" This reverts commit cbbaf76b758fb6a37175795b1f424549d535fbdc. Reason for revert: Suspecting this breaks the fuchsia_x64 bot WebGL tests. Ex: https://chromium-review.googlesource.com/c/chromium/src/+/2904812 Original change's description: > [Vulkan] Add DisplayVkNull > > Currently all DisplayVk implementations depend on VK_KHR_swapchain and > VK_KHR_surface extensions. When running Chromium on Fuchsia these > extensions are never used (content is shown on the screen using > ImagePipe API without dependency on swapchain). ANGLE still depended > on these extensions for DisplayVkFuchsia. > This CL adds DisplayVkNull, which allows to run ANGLE without dependency > on swapchain. It's usable only offscreen and cannot present content on > a surface. > > Bug: chromium:1203879 > Change-Id: I4d1307060967ffa68877c4300ea4d5590eeb2152 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2861313 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: chromium:1203879 Change-Id: I6701ffff48fcb925f387e63b356d2d5cf360ea7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2904183 Reviewed-by: Geoff Lang <geofflang@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis ffb71dc2 2021-05-18T15:10:58 Revert "Reland Change to module directory when loading swiftshader ICD." This reverts commit c8c414b084fa3b6550b10dff48cf429719e04579. Reason for revert: Breaking fuchsia_x64 and ANGLE autoroller Original change's description: > Reland Change to module directory when loading swiftshader ICD. > > This is a reland of commit 3b10dda6a479612a07673b5c87d3560e0941d41b. > > Extra changes: > Be explicit about calling GetModuleHandleA > Do not use the general GetModuleHandle, which may use wide strings > > GetModuleDirectory should return the full path, not relative. > ANGLE wasn't able to locate the vulkan ICD file because it was > searching down an invalid relative path. This can be fixed by > ensuring the module directory is always the full path. > on some platforms. > > Original change's description: > > When loading vulkan, we can be running from any directory. We need > > to change to the module directory to ensure the swiftshader ICD is > > loaded properly. For example, in some Chrome releases, libGLESv2.dll > > and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe > > > > Bug: chromium:1198567 > > Change-Id: I9e68927e512b239728fb2903d1a04702508a4948 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452 > > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Bug: chromium:1198567 > Bug: angleproject:5949 > Change-Id: Ib34067002c788f00b5ae2fa11d1e465f57bd7be8 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2893503 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Bug: chromium:1198567 Bug: angleproject:5949 Change-Id: Ic0be8949cc27b231be4f982ea6e22beed590d24d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2903786 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis c8c414b0 2021-05-05T11:51:00 Reland Change to module directory when loading swiftshader ICD. This is a reland of commit 3b10dda6a479612a07673b5c87d3560e0941d41b. Extra changes: Be explicit about calling GetModuleHandleA Do not use the general GetModuleHandle, which may use wide strings GetModuleDirectory should return the full path, not relative. ANGLE wasn't able to locate the vulkan ICD file because it was searching down an invalid relative path. This can be fixed by ensuring the module directory is always the full path. on some platforms. Original change's description: > When loading vulkan, we can be running from any directory. We need > to change to the module directory to ensure the swiftshader ICD is > loaded properly. For example, in some Chrome releases, libGLESv2.dll > and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe > > Bug: chromium:1198567 > Change-Id: I9e68927e512b239728fb2903d1a04702508a4948 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452 > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: chromium:1198567 Bug: angleproject:5949 Change-Id: Ib34067002c788f00b5ae2fa11d1e465f57bd7be8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2893503 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Sergey Ulanov cbbaf76b 2021-04-29T16:09:09 [Vulkan] Add DisplayVkNull Currently all DisplayVk implementations depend on VK_KHR_swapchain and VK_KHR_surface extensions. When running Chromium on Fuchsia these extensions are never used (content is shown on the screen using ImagePipe API without dependency on swapchain). ANGLE still depended on these extensions for DisplayVkFuchsia. This CL adds DisplayVkNull, which allows to run ANGLE without dependency on swapchain. It's usable only offscreen and cannot present content on a surface. Bug: chromium:1203879 Change-Id: I4d1307060967ffa68877c4300ea4d5590eeb2152 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2861313 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny 25b53ceb 2021-05-12T10:09:58 Revert "Change to module directory when loading swiftshader ICD." This reverts commit 3b10dda6a479612a07673b5c87d3560e0941d41b. Bug: angleproject:5954 Change-Id: I6199dc099dbf42605bbfc549e39cb6477e67442c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891771 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jonah Ryan-Davis 3b10dda6 2021-05-05T11:51:00 Change to module directory when loading swiftshader ICD. When loading vulkan, we can be running from any directory. We need to change to the module directory to ensure the swiftshader ICD is loaded properly. For example, in some Chrome releases, libGLESv2.dll and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe Bug: chromium:1198567 Change-Id: I9e68927e512b239728fb2903d1a04702508a4948 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 81f03cc0 2021-04-07T15:23:32 Allow translator to use headers from common/spirv Bug: angleproject:4889 Change-Id: Ia297888a97c0ba9cec1283db7f94f2e5b362c27e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815179 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
John Plate dfe208f1 2021-04-28T18:26:00 Add loader for CL pass-through back end Bug: angleproject:5904 Change-Id: If4960f3150f6bbc85a30f0f6ac5c9e668e6ff756 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2864022 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi e2c87b4f 2021-05-04T11:46:36 Fix Vulkan-only build The translator_gl_d3d_only target cannot build if neither of the gl or d3d backends are built. This target is used by Chrome's validating command decoder only. Bug: angleproject:5922 Change-Id: Ibebae6d6aa78ad88498a727d3b0e1695bb110535 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2871969 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 57202fb0 2021-04-30T13:56:11 Fix Rolling ANGLE into AOSP Rolling ANGLE into AOSP currently generates several build errors. This CL fixes them. Bug: angleproject:5919 Bug: angleproject:5873 Change-Id: Ic24c3c27a2dd3a1db4d6d2e3642eb1b16148569a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2863883 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
John Plate 05fb2272 2021-04-27T19:31:31 Add support for OpenCL ICD Loader Bug: angleproject:5908 Change-Id: Idafc0d15b69f9a21f2ab5e48c4c34f0dc0e0ee96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2854598 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>
John Plate 16a919b1 2021-04-27T11:36:11 Add stubs for CL platform layer back ends Bug: angleproject:5904 Change-Id: If23c7f76013a17c3c67c13194566438035beb3d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2853582 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Hans Wennborg 9064bdf7 2021-04-23T15:19:42 [build] Turn off -Wdeprecated-copy warnings It fires with newer versions of Clang (see bug). Bug: chromium:1201858 Change-Id: Ie55b39a0422a5f45b4eb6bdfcc77114e1ef554bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846836 Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org>
John Plate e25f3b10 2021-04-21T21:43:46 Generate empty CL object classes Bug: angleproject:5886 Change-Id: I01566f40e85bd7f5531536fdc1df42965622a939 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2844969 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>
Jamie Madill f78927b0 2021-04-21T13:05:46 Remove libGLESv1_CM static. These entry points are already duplicated into libGLESv2. Including them in the static build causes a duplicate symbol error on Android. Bug: angleproject:2344 Change-Id: I56a2f2029e7da49215e64484c1d1316add6ff1c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2842354 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 002e5622 2021-04-21T12:12:26 Android: Enable APK build. Bug: angleproject:2344 Change-Id: Iaad7199d2bcbb961d64f14eb640d472c52d7abc6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2842564 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Xiaoxuan Liu ed4f7cb6 2021-03-03T17:56:07 Reland "Reland "Add support for Linux GPU info with Vulkan backend"" This is a reland of 9a8397327f9aac278f4bd1f5ab9094eec7e7798b Chrome Linux crash issue could be fixed in 0615bbde39ca42e27eb764b2b4986b21ab602ce9, let's reland this now. Original change's description: > Reland "Add support for Linux GPU info with Vulkan backend" > > This is a reland of 5c09c1f882f15e1a77577f1a62d861355aac90a4 > > Extra change: Add new ANGLE_HAS_VULKAN_SYSTEM_INFO compile > variable for GetSystemInfoVulkan() in linux platform. > > Original change's description: > > Add support for Linux GPU info with Vulkan backend > > > > 1. Add support for Linux GPU info with vulkan backend: for > > dev board without PCI support, try vulkan backend to get > > GPU info. > > 2. Fix getVulkanInstance() issue when loading non-exist lib: > > return NULL instance if open lib failed. > > > > Bug: angleproject:5717 > > Change-Id: I03c11da25a8787496d098f6c9d6b4c53701383e4 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2734375 > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Commit-Queue: Jamie Madill <jmadill@chromium.org> > > Bug: angleproject:5717 > Change-Id: Iaaab8f512b6ec1d524d7ebb3b4252fec3cfe7dc3 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739097 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:5717 Change-Id: Iad6736f9137b7e9640c97fa2b9eded3fd37ac88f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821410 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 085044d1 2021-04-08T18:49:05 Fix angle_expose_non_conformant_extensions_and_versions The GN arg angle_expose_non_conformant_extensions_and_versions was not being referenced correctly in the Vulkan backend, so it was not being properly enabled in RendererVk.cpp. This CL updates the BUILD.gn files to fix this issue. Bug: b/184767884 Change-Id: I7244aad9112c38bf76544f8c767563a7f0cf1b2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2816165 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 54dfb62c 2021-04-07T12:33:31 Make "force context check" an optional GN flag. Previously it was enabled by default in every build that includes D3D11. This would impact CPU overhead in Chrome and other targets that don't need this feature. Bug: angleproject:5828 Change-Id: Ic9d700847c72978540b66fdaf7a62f959779f2e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809855 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Doug Horn <doughorn@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 78dde332 2021-03-29T17:31:52 Move restricted traces to CIPD. All traces are now stored as DEPS entries in CIPD. The auto-generation script generates the DEPS entries. Note that we don't include DEPS in the list of generated outputs to simplify other rollers. Also we update auto-generation to include full sources list to allow 'gn analyze' to work successfully. Usees a trace fixture for common code. This will enable a more compact trace without as much repeated code. We must land a set of re-trace traces to avoid breakage. Also includes a python script for uploading new traces to CIPD. The script first checks if traces are already present in the cloud, and if so it skips the upload. It will take a while to complete as the number of traces grows larger as it takes a few seconds per trace. The traces in this patch are also re-traced to use the common fixture code instead of including duplicated code in each trace. They now form a simple common interface and the autogenerated cpp is now simply a list of properties. I've also updated the capture/replay tests to use the simpler common entry point integration. There is less auto-generated glue code now. We now use a new serialized string query extension instead of calling directly into ANGLE's internals. Also includes a docs update. The capture/replay sample is broken and we'll need to update it in a follow-up CL. Also includes a few necessary fixes to the retracing script. Bug: angleproject:5811 Change-Id: I977bc6dc56843c8966377fc445ae97e91e17319a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797833 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 67e4aff5 2021-04-02T13:17:00 Fix rapidjson build error in Skia. Instead of using defines in the header, use the same approach as we do with frame capture by defining a stub "mock" cpp file. Bug: angleproject:5805 Change-Id: Ief1cb6497ddafc9656bb0e7d6a921eff3610a7fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2801695 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny b3a8033d 2021-03-31T09:34:00 JsonSerializer: use stubs when building without rapidjson Bug: angleproject:5805 Change-Id: Ibf51b8b75c3feb6efdef969effb3f50e2474c6b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2795772 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 3ad3a9ac 2021-04-01T17:40:26 Fix and re-enable component build of angle_apks These were disabled in http://crrev.com/c/1387344, after breaking android-dbg (now android-archive-dbg) in crbug.com/916751. Re-enable them, so that CQ bots can be switched to component build, which is more stable due to http://anglebug.com/4396. The fix is to correct the library names, which have .cr.so suffix in component builds. Bug: angleproject:4483, angleproject:2981, chromium:916751 Change-Id: Ie9cb6e11513ecd2b5e4daa3f636296a4500ddfb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2800193 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis e981675a 2021-03-31T21:03:24 Revert "Reland "Add support for Linux GPU info with Vulkan backend"" This reverts commit 9a8397327f9aac278f4bd1f5ab9094eec7e7798b. Reason for revert: Crashes when libpci path fails on some desktop platforms and the fallback path to Vulkan is taken. Original change's description: > Reland "Add support for Linux GPU info with Vulkan backend" > > This is a reland of 5c09c1f882f15e1a77577f1a62d861355aac90a4 > > Extra change: Add new ANGLE_HAS_VULKAN_SYSTEM_INFO compile > variable for GetSystemInfoVulkan() in linux platform. > > Original change's description: > > Add support for Linux GPU info with Vulkan backend > > > > 1. Add support for Linux GPU info with vulkan backend: for > > dev board without PCI support, try vulkan backend to get > > GPU info. > > 2. Fix getVulkanInstance() issue when loading non-exist lib: > > return NULL instance if open lib failed. > > > > Bug: angleproject:5717 > > Change-Id: I03c11da25a8787496d098f6c9d6b4c53701383e4 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2734375 > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Commit-Queue: Jamie Madill <jmadill@chromium.org> > > Bug: angleproject:5717 > Change-Id: Iaaab8f512b6ec1d524d7ebb3b4252fec3cfe7dc3 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739097 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:5717 Bug: chromium:1192586 Change-Id: I04f13fd4bf1d57a3ed510cd3bdf743066de96523 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798394 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 0973dd68 2021-03-31T11:11:26 Add a gl-d3d-only target for the translator Chrome's validating command decoder links statically with the ANGLE translator. This change adds a target that builds the translator with only gl and d3d support for this purpose. This will prevent chrome from linking against glslang because of the Vulkan backend. As a bonus, it will reduce the binary size of Chrome by stipping the Vulkan and Metal translation and transformation codes. Bug: angleproject:5810 Change-Id: I5673bad53817ff2aa8486622ff2c64b44c77240f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797511 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 3e887665 2021-03-29T12:17:27 Don't link with SPIR-V repos if !vulkan && !metal Bug: angleproject:5803 Change-Id: Ic2c940a725886dcd7ca46f99975251f7fef38757 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2791922 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gert Wollny e0b9d4f7 2021-03-15T11:25:39 libAngle: Add Json context serializer library Bug: angleproject:5715 Change-Id: I42319fe30e42d49d7e817b14c211b5ba82a94a42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2760324 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 776c6015 2021-02-26T00:00:57 Vulkan: Call glslang at compile time With this change, the ANGLE translator immediately compiles the generated GLSL into SPIR-V with glslang and discards the source. This is in preparation for generating SPIR-V directly, by making the frontend and backend already able to digest it. This change also allows the expensive glslang calls to be parallelized, improving the following perf test by about 20%: LinkProgramBenchmark.Run/vulkan_compile_and_link_multi_thread Previously, the test was run as such in the Vulkan backend: Main Thread 1 Thread 2 Compile1 ---> Compile2 ---------------------> Translator Translator <--- <--------------------- Link glslang for shader1 glslang for shader2 Done With this change, it is run as such: Main Thread 1 Thread 2 Compile1 ---> Compile2 ---------------------> Translator Translator glslang glslang <--- <--------------------- Link Done glslang_wrapper_utils no longer interacts with glslang! A rename will follow. Bug: angleproject:4889 Change-Id: If4303e8ba0ba43b1a2f47f8c0a9133d0bee1a19a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2721195 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Xiaoxuan Liu 9a839732 2021-03-03T17:56:07 Reland "Add support for Linux GPU info with Vulkan backend" This is a reland of 5c09c1f882f15e1a77577f1a62d861355aac90a4 Extra change: Add new ANGLE_HAS_VULKAN_SYSTEM_INFO compile variable for GetSystemInfoVulkan() in linux platform. Original change's description: > Add support for Linux GPU info with Vulkan backend > > 1. Add support for Linux GPU info with vulkan backend: for > dev board without PCI support, try vulkan backend to get > GPU info. > 2. Fix getVulkanInstance() issue when loading non-exist lib: > return NULL instance if open lib failed. > > Bug: angleproject:5717 > Change-Id: I03c11da25a8787496d098f6c9d6b4c53701383e4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2734375 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:5717 Change-Id: Iaaab8f512b6ec1d524d7ebb3b4252fec3cfe7dc3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739097 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
James Clarke 06d194e2 2021-01-10T14:29:44 Reland "Add support for building in Flutter Windows UWP configuration" This is a reland of 68ac4e43aa67c4bac9df639d80079648ea86dbe9 Original change's description: > Add support for building in Flutter Windows UWP configuration > > Bug: angleproject:5527 > Change-Id: Idf5a4cbb6f84b24fa2448157cab1b6a3bce4d8be > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2620580 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:5527 Change-Id: I3d5c3a35d73e3946ae40c779e76e0343039bf660 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2693639 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org>
Tim Van Patten bbed8813 2021-03-05T17:40:27 Create GN arg to enable non-conformant features The GN arg angle_expose_non_conformant_extensions_and_versions is being added to control exposeNonConformantExtensionsAndVersions, which enables non-conformant features and extensions. In particular, this is being done to enable EXT_texture_buffer on devices that don't support all of the necessary formats since many Android games rely on this extension, such as "Special Forces Group 2", "Fortnite", and "PUBG". # Enables non-conformant extensions and features angle_expose_non_conformant_extensions_and_versions = false Users/vendors can now toggle the value with a GN arg, rather than a code change, to make it easier to test the conformant version of ANGLE with CTS, dEQP, etc. and/or app-compatibility. Bug: angleproject:5592 Change-Id: Icbf18b48a2751c03e277ae964e1ec278a43324cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2740643 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Gert Wollny 79f24110 2021-02-12T09:36:18 build: Add -Wdeprecated-copy to the C++ build flags Define is_gcc and enable the warning flag if it is true. Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Bug: angleproject:4486 Change-Id: Ie3271cad5cd7de7b45a48d520eeadfe85e742254 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690954 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi da4aa8b8 2021-02-25T16:26:53 Vulkan: Move SPIR-V validation function to common/ For future use by the translator. Bug: angleproject:4889 Change-Id: I051ad48e6edb58ce3055c5fd276c18a6e29a66ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2717020 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6623a70f 2021-02-19T17:28:10 Stubs for OpenCL entry points. Bug: angleproject:5653 Change-Id: I7ec9692a47be2556fef5bdd7630b422cc2d369b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2708343 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Adrian McCarthy 462fb1ee 2021-02-17T13:46:43 Replace obsolete clang option Clang has retired `-Wreturn-std-move-in-c++11`, which was a diagnostic to help ensure backward compatibility with old versions of Clang. Clang still has a similar-but-different `-Wreturn-std-move` that helps find copies-on-return that can be changed to moves-on-return. Bug: angleproject:5657 Change-Id: I4eaf9fb9eb8b4d7f9823025549e1267af2324f3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2702754 Commit-Queue: Nico Weber <thakis@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Peng Huang e99828e4 2021-02-16T19:13:44 Remove DllMain() from static angle library Bug: chromium:1179061 Change-Id: I89167eb9c6ed244072e00500b47c7df83ac2e80d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2699188 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Brian Salomon e7496f51 2021-01-26T16:13:04 Disable warnings when building in Skia Bug: skia:11223 Change-Id: Ia634bf0bf7a157c759ae192501ff763a1baa8d2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2650986 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott 7ec4d2d7 2021-02-09T11:48:32 Android: Create a new ANGLE APK package name for AGI Use "org.chromium.angle.agi" for the specially-built ANGLE APK for Android Graphics Inspector (AGI). This will allow AGI to work with a version of ANGLE that is built for it regardless of what other version(s) of ANGLE are or aren't installed on the device. Continue to use "org.chromium.angle" for developer builds. Bug: b/168745566 Change-Id: I4610d3b1eec6b0564d020dca7bd1f9e9d6532a64 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2684920 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill 6fc10389 2021-02-10T11:20:16 Move Frame Capture to capture/ folder. This will make it easier to trigger the trace tests when these files are modified. Bug: angleproject:5530 Change-Id: I5f0c450595b380cd91b20c1477dc1845bee35dd9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2686120 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 52afb6f1 2021-01-26T22:22:07 Fix angle_unittests build on iOS Link failed because libfeature_support symbols were private Bug: angleproject:5417 Change-Id: I04c4056e1a887a9ad7bde692c7c2780b5d1dd387 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2649122 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 6689a54d 2021-01-21T00:36:14 Vulkan: autogen for SPIR-V instruction build and parse Handwritten SPIR-V instruction parse and build code is replaced with autogenerated functions based on the SPIR-V grammar. Bug: angleproject:4889 Change-Id: I09d724fd944e79c03fe4eadca3ee3e3ef0b49872 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2644721 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Austin Eng 0739f07a 2021-01-19T23:54:20 Revert "Add support for building in Flutter Windows UWP configuration" This reverts commit 68ac4e43aa67c4bac9df639d80079648ea86dbe9. Reason for revert: Crashes Chrome GPU process startup on Windows x86 See crbug.com/1168272 Original change's description: > Add support for building in Flutter Windows UWP configuration > > Bug: angleproject:5527 > Change-Id: Idf5a4cbb6f84b24fa2448157cab1b6a3bce4d8be > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2620580 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=geofflang@chromium.org,stuart.morgan@gmail.com,jmadill@chromium.org,james@clarkezone.io # Not skipping CQ checks because original CL landed > 1 day ago. Tbr: jmadill@chromium.org Bug: angleproject:5527, chromium:1168272 Change-Id: Ifb37c8026253c6a7c334d5b6c83018c888a9f51c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2638572 Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org>
Trevor David Black 192a0147 2020-10-08T16:47:35 Multithreading in D3D11 minimum viable product Bug: b/168046573 Change-Id: I676a148333cbf5e9ca508768503e62cb14d8eeb0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2629618 Commit-Queue: Doug Horn <doughorn@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Trevor David Black <vantablack@google.com>
James Clarke 68ac4e43 2021-01-10T14:29:44 Add support for building in Flutter Windows UWP configuration Bug: angleproject:5527 Change-Id: Idf5a4cbb6f84b24fa2448157cab1b6a3bce4d8be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2620580 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 5b8dec52 2021-01-12T04:11:56 Reland "Use is_apple instead of is_mac and is_ios everywhere" This reverts commit 51603c63d1cb9e36afaf2069fc069e542ac2f3fb. Reason for revert: Fixed issue that broke Skia build Original change's description: > Revert "Use is_apple instead of is_mac and is_ios everywhere" > > This reverts commit 2762641a3a1edf9665a61f40da6c160338056cb0. > > Reason for revert: is_apple is not universally defined. Breaks ANGLE roll into Skia. > > Original change's description: > > Use is_apple instead of is_mac and is_ios everywhere > > > > Bug: chromium:1161513 > > Change-Id: Id7d582f127f4b79ea6fc5b8ad39fff768c45f477 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2611312 > > Reviewed-by: James Darpinian <jdarpinian@chromium.org> > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > TBR=jdarpinian@chromium.org,syoussefi@chromium.org > > Bug: chromium:1161513 > Change-Id: I831e60149f410044a79d9f66aa9ddd9902410fd7 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2618039 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> TBR=jdarpinian@chromium.org,syoussefi@chromium.org Bug: chromium:1161513 Change-Id: I3cf30aa047a1f208fa7d1acda1d6d4e5da7b6ad5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2622244 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 51603c63 2021-01-08T17:49:52 Revert "Use is_apple instead of is_mac and is_ios everywhere" This reverts commit 2762641a3a1edf9665a61f40da6c160338056cb0. Reason for revert: is_apple is not universally defined. Breaks ANGLE roll into Skia. Original change's description: > Use is_apple instead of is_mac and is_ios everywhere > > Bug: chromium:1161513 > Change-Id: Id7d582f127f4b79ea6fc5b8ad39fff768c45f477 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2611312 > Reviewed-by: James Darpinian <jdarpinian@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> TBR=jdarpinian@chromium.org,syoussefi@chromium.org Bug: chromium:1161513 Change-Id: I831e60149f410044a79d9f66aa9ddd9902410fd7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2618039 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Stephen White f4cd1747 2020-12-21T09:57:58 Reland "Changes to build inside a Dawn checkout." This is a reland of 11c31e0a4a73d7d62e765dc7ec400560fbb16b5e I've landed upstream Skia change https://skia-review.googlesource.com/c/skia/+/351496 which should make this safe to reland. Original change's description: > Changes to build inside a Dawn checkout. > > Add an "angle_standalone" flag that can be disabled by Dawn. > Put test definitions behind angle_standalone || build_with_chromium. > > Bug: angleproject:5462 > Change-Id: I58c9b18723384334156e2a3dd86ed3f89afcaade > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587451 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Stephen White <senorblanco@chromium.org> Bug: angleproject:5462 Change-Id: I4ff92d45b3692312a004f03b425234b78c5a6219 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2618040 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 2762641a 2021-01-05T23:00:14 Use is_apple instead of is_mac and is_ios everywhere Bug: chromium:1161513 Change-Id: Id7d582f127f4b79ea6fc5b8ad39fff768c45f477 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2611312 Reviewed-by: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 382bf288 2020-12-24T23:56:39 Organize AST transforms per backend Most of the AST transforms are written as a workaround to an issue that affects a single backend. This change identifies such transforms and organizes them by backend. They are then only built if the respective backend is. Additionally, about half of the GL transforms are due to mac workarounds, including the large RewriteRowMajorMatrices transform. Mac-specific workarounds are additionally only built on said platform. This change reduces the ANGLE binary size: - 106KB in a Vulkan-only build on Linux - 27KB in a GL-only build on Android (60KB on Linux) Bug: chromium:1084580 Bug: chromium:1161513 Change-Id: I64b334332c0d4f848756c6538af0d8d96864c7e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2601346 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
James Darpinian 0dbe7cdd 2020-12-08T12:24:35 iOS testing support angle_white_box_tests build and runs and passes on the iOS simulator with this change. angle_end2end_tests builds and runs but crashes. Bug: angleproject:4256 Bug: angleproject:5417 Change-Id: I8817e46415c4598cbfae49804727a2e9b21baff1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2600361 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill c500ee03 2020-12-23T16:46:14 Revert "Changes to build inside a Dawn checkout." This reverts commit 11c31e0a4a73d7d62e765dc7ec400560fbb16b5e. Reason for revert: Broke ANGLE -> Skia roll because of GN error. Bug: angleproject:5489 Original change's description: > Changes to build inside a Dawn checkout. > > Add an "angle_standalone" flag that can be disabled by Dawn. > Put test definitions behind angle_standalone || build_with_chromium. > > Bug: angleproject:5462 > Change-Id: I58c9b18723384334156e2a3dd86ed3f89afcaade > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587451 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Stephen White <senorblanco@chromium.org> TBR=senorblanco@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:5462 Change-Id: I4363d1d35b03e00d970e25ddd3d7eac51ad2da2d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2600078 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Stephen White 11c31e0a 2020-12-21T09:57:58 Changes to build inside a Dawn checkout. Add an "angle_standalone" flag that can be disabled by Dawn. Put test definitions behind angle_standalone || build_with_chromium. Bug: angleproject:5462 Change-Id: I58c9b18723384334156e2a3dd86ed3f89afcaade Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587451 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
Jamie Madill 328f72ae 2020-12-15T19:25:50 Update VVL directories in Android build. This should fix the duplicate target definition for the layers. Bug: angleproject:5390 Bug: angleproject:5468 Change-Id: Iaafe9e059fee823b2e4b9145ea38dc61b6d767db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593565 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>