Граф коммитов

97 Коммитов

Автор SHA1 Сообщение Дата
Peter Kasting 45c344c19b Roll third_party/glmark2/src/ 9e01aef1a..ca8de51fe (52 commits)
Bug: chromium:1066980
Change-Id: Id364f9039fb563eafc80b2e05e3d0709aae1647f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024962
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-07-14 15:28:11 +00:00
Kyle Piddington d33a22228e 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>
2021-07-12 14:54:45 +00:00
Shahbaz Youssefi 7df7fc7ff8 Tests: Add support for --renderdoc
This change adds support for a new flag namely `--renderdoc` to end2end
and deqp tests.  With this flag, each test automatically starts and ends
a frame capture in renderdoc, working around an issue where renderdoc
refuses to capture a test frame that doesn't start or end with a swap.

With end2end tests, the capture starts before test set up, and ends
after test tear down.  With deqp tests, it starts before init, ends and
restarts after each test iteration and ends after deinit.

Bug: angleproject:6072
Change-Id: Ib41b816aff121bf922d9147044cc363c33a62181
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2971835
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-06-22 06:42:17 +00:00
Yuly Novikov 166dd0c75c Roll chromium_revision 6c5859c895..399855f4bb (890175:891326)
Manual changes:
1. Fix generate_test_spec_json.py to correctly handle ADDITIONAL_MIXINS
   Needed after angle_skia_gold_test mixin removed from Chromium in
   crrev.com/890333
2. Copy third_party/logdog from Chromium
   Needed after crrev.com/890539 in order to create isolates on Android
   and for tools/perf/process_perf_results.py

Change log: 6c5859c895..399855f4bb
Full diff: 6c5859c895..399855f4bb

Changed dependencies
* build: 8870cb4120..2192a63c23
* buildtools: c793cca886..9d8449e380
* buildtools/linux64: git_revision:39a87c0b36310bdf06b692c098f199a0d97fc810..git_revision:393dab000d704a4364d085fa4c01ec7af176c8fa
* buildtools/mac: git_revision:39a87c0b36310bdf06b692c098f199a0d97fc810..git_revision:393dab000d704a4364d085fa4c01ec7af176c8fa
* buildtools/third_party/libc++abi/trunk: 7e3b76855b..2c53623d59
* buildtools/win: git_revision:39a87c0b36310bdf06b692c098f199a0d97fc810..git_revision:393dab000d704a4364d085fa4c01ec7af176c8fa
* testing: a62f8260df..ab567bcc84
* third_party/abseil-cpp: 7949d87093..bd17c406ba
* third_party/android_deps: 887e8d9009..fa47598982
* third_party/android_sdk: 1cfc90728e..816daa2545
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..17cf72ca75
* third_party/depot_tools: b508ecd932..6d099d543d
* third_party/nasm: 19f3fad68d..e9be5fd6d7
* third_party/protobuf: 82f8803671..f4241bd0f2
* third_party/turbine: _iPtB_ThhxlMOt2TsYqVppwriEEn0mp-NUNRwDwYLUAC..Om6yIEXgJxuqghErK29h9RcMH6VaymMbxwScwXmcN6EC
* tools/clang: 09481f56be..fd14318cc9
* tools/luci-go: git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418..git_revision:725192cc79f07ea946e10a64baac06625c206968
* tools/luci-go: git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418..git_revision:725192cc79f07ea946e10a64baac06625c206968
* tools/luci-go: git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418..git_revision:725192cc79f07ea946e10a64baac06625c206968
* tools/mb: 94630dfc19..12c8fa872b
* tools/perf: 5c84710692..2e6477d751
DEPS diff: 6c5859c895..399855f4bb/DEPS

Clang version changed llvmorg-13-init-11999-g50c0aaed:llvmorg-13-init-12491-g055770d5
Details: 09481f56be..fd14318cc9/scripts/update.py

Bug: angleproject:4483, angleproject:6037
Change-Id: I9035126bce55642d4dfce54eeace85093bdd1782
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954241
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2021-06-10 23:52:34 +00:00
Rupert Shuttleworth 85acc55aae Remove .find_ignore files
Remove .find_ignore files so that the Soong Finder searches the whole
tree again (needed for Bazel support)

Test: TH
Bug: b/188491905
Change-Id: I6df2cecebf3f82120bb90353aeb08f6b40cf30be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2906252
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2021-05-20 18:35:26 +00:00
John Plate dfe208f188 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>
2021-05-06 13:06:09 +00:00
Jamie Madill 6297ccf3de Replace ijar sources with Chromium subtree mirror.
This will ensure a smoother update process.

Bug: angleproject:2344
Change-Id: I81bf496ea013825588b1baa573855ce809a8decf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2842355
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-21 22:03:11 +00:00
Jamie Madill 2f808349bd Add standalone Android build.
Includes necessary DEPS and GN build changes.
Some folders are copied directly from Chromium because they don't
exist as source mirrors or aren't available for other reasons.

Bug: angleproject:2344
Change-Id: Ibb7f8a3e2288048b7aed2b0e277ca63b5a932c57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826480
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2021-04-20 15:24:42 +00:00
Geoff Lang 69a26def84 Remove 3pp files in third_party/jdk.
These files should not be duplicated from Chrome, they are used
as part of Chrome's rolling process for these deps.

Bug: angleproject:5839
Change-Id: If95b11585e5aa7d8f834412d41dca377c495b1fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2829330
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-16 17:03:47 +00:00
Geoff Lang fe790824af Add the jdk dep when building standalone for Android.
Chrome started requiring this dep to 'gn gen' on Android so
ANGLE needs it too.

Bug: angleproject:5839
Change-Id: Ia8df8520975ed426667f2c59f0fd7761652b92ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818141
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2021-04-13 15:41:09 +00:00
Jamie Madill 653f6196ce Import Vulkan DEPS from the new vulkan-deps repo.
This will allow the entire set of Vulkan DEPS to be rolled as one.

Bug: angleproject:5390
Change-Id: I10ca4f966f986baf3aab7250935802a3ed1065f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587671
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2020-12-18 18:09:50 +00:00
Jamie Madill 068bb086e1 RapidJSON: Enable std::string handling.
This will be useful for histogram output to JSON.

Bug: angleproject:5161
Change-Id: Ifed3dfcd10e0cee94b7c13b9c92fdc351329d5c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2513084
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-11-01 16:18:53 +00:00
Adrian Taylor fbab23e186 Add CPEPrefix for rapidjson.
This will allow automated notification of any vulnerabilities
reported against rapidjson. Prior commit history suggests that
this is only used for outputting test results and is therefore
unlikely to be security-critical, but we're gradually aiming to
get 100% coverage of all our dependencies and this should be an
easy one.

See
https://chromium.googlesource.com/chromium/src.git/+/master/docs/adding_to_third_party.md#add-a-readme_chromium

Bug: chromium:895969
Change-Id: Ie3f0db3fed525e81e4fa6e84fe96fe6c72575046
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419035
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-09-18 19:53:55 +00:00
Hidehiko Abe 90a9cf9619 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>
2020-09-10 20:29:01 +00:00
Jiajie Hu 58afe4cb7a Remove angle_libjpeg_turbo_dir fallback after Chromium side fix
This is a follow up of crrev.com/c/2282277. To avoid ANGLE roll failure,
crrev.com/c/2285839 should be landed first.

Bug: None
Change-Id: I41ece21af4b689150d82b0b1bc7eaae21ce23fed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2286811
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajie Hu <jiajie.hu@intel.com>
2020-07-09 02:59:55 +00:00
Jiajie Hu 9b8ee0ff96 Remove a few hardcoded path to libjpeg_turbo
Use the predefined GN override instead.

Also sort the predefined override alphabetically.

Bug: None
Change-Id: I92d0dda5ab416389398d0e88f8b3b9636752486d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2282277
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-07-07 16:42:25 +00:00
Geoff Lang 74cc3a0558 Make Soong ignore build files in third_party
Some of ANGLE's dependencies have Android build files that are not
compatible with the current Android build system.

BUG=angleproject:2344

Change-Id: Ie414828a234d4c37f12d4c812751421b4f14b24a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068125
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2020-02-24 23:05:30 +00:00
Michael Spang 468dfed31d Reformat GN files
Otherwise this blocks the CQ at presubmit.

Bug: angleproject:3492
Change-Id: I3cf77c72daa358f5e1eabecf1dcb8808a1dc9e07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068538
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-02-21 23:37:44 +00:00
Nico Weber 98e8be8841 Remove an unused .gn file.
The almost identical one in third_party/vulkan-loader/src/BUILD.gn
is used instead, and this one is unused.

Bug: None
Change-Id: I9d1acfdec019fb4bc74ed4869014edbf9fd64ca5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947449
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-12-03 16:33:56 +00:00
Xiaoxuan Liu 6ebed5428e Add arm64 to libpng build configuration.
In libpng build option, neon files were missing for arm64,
add "arm64" option to libpng build configuration.

BUG=angleproject:4026

Change-Id: I38280c8089be93de224959583091f3a151f94ab0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940017
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-11-28 12:46:59 +00:00
Jamie Madill 34e5a96edc Fix header typo in rapidjson.
Was found when using the custom test harness.

Bug: angleproject:3162
Change-Id: I9db11eddb51508ff1eaebe02c106cd4a95c369b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1932342
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-11-25 17:01:27 +00:00
Le Quyen a5a04ac0f9 Metal backend pt3: shader translator
Implementation of GLSL to MSL translator

Bug: angleproject:2634
Change-Id: I66e2374b461548fac46163ea79790a488515e6b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1887251
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-11-07 14:30:25 +00:00
Courtney Goeltzenleuchter febdcf511c Roll dEQP to VK-GL-CTS
Switch from Android dEQP to Khronos GL CTS.
We now mirror from the public Khronos Github
github.com/KhronosGroup/VK-GL-CTS
This includes a number of text fixes for GLES 2.0 conformance.

Bug: angleproject:3914
Bug: angleproject:1656
Change-Id: I4cccd33e47752742cb989127c5883c0afd075b9e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879579
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
2019-10-29 17:26:16 +00:00
Geoff Lang 01cfefef41 Fix building libpng on arm CPUs.
Some arm-specific files were not part of the build.

BUG=angleproject:4026

Change-Id: Ie3534c66ebce53348a00f74b95b7f6e3859ee30f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866079
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2019-10-17 19:36:55 +00:00
Jamie Madill 9a334fdadf Delete README.angle from googletest.
This file is a bit odd. It doesn't belong in this folder.

Bug: angleproject:3986
Change-Id: Idf783e469a679a73f900bb20093e7e339fab9301
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864312
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-10-16 17:36:01 +00:00
Jamie Madill 1f08ab2830 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>
2019-10-03 22:22:05 +00:00
Jamie Madill 2328d65ab3 Revert "GN: Componentize vulkan back-end build."
This reverts commit d46e2fb1e3.

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>
2019-10-03 02:27:17 +00:00
Jamie Madill d46e2fb1e3 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>
2019-10-02 18:37:39 +00:00
Tobin Ehlis f22f16d3c0 Reland "Vulkan: Use VK repos' internal BUILD.gn files"
This is a reland of 552f5fcb0d
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>
2019-10-01 21:51:34 +00:00
Jamie Madill 2b7e2acb4d Vulkan: Move loader defines into BUILD.gn.
We shouldn't need the extra loader defines config variable. The defines
we need should probably be able to be located in ANGLE entirely.

Bug: angleproject:3320
Bug: angleproject:3876
Change-Id: I78f449f44c1709b6d683930f9b9ea3d80016272e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775462
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-30 19:20:03 +00:00
Tobin Ehlis aae21ef6ad Revert "Reland "Vulkan: Use VK repos' internal BUILD.gn files""
This reverts commit 0ad1559f3a.

Reason for revert: linux-rel no-op build issue showing up in Chromium integration. Tracking in chromium:997016

Original change's description:
> Reland "Vulkan: Use VK repos' internal BUILD.gn files"
> 
> This is a reland of 552f5fcb0d
> 
> Original change's description:
> > Vulkan: Use VK repos' internal BUILD.gn files
> >
> > This retires custom BUILD.gn files for the Vulkan Headers, Tools,
> > Validation-Layers, and Loader repos. They now have integrated BUILD.gn
> > files so switched ANGLE to use those by default.
> > Also Validation Layer, Loader, and Tools repos no longer uses codegen
> > so this speeds up the build overall.
> > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
> > to VK_LAYER_KHRONOS_validation unified layer.
> >
> > This changes includes a temporary workaround to the Vulkan-Loader repo
> > to remove its Window's build dependence on WDK. There are plans to
> > remove that depenedence in Loader master, but until then we can use
> > our custom branch workaround.
> > It also includes a custom branch for validation layers that includes
> > some build fixes for ANGLE.
> > Finally, the layers were crashing on Android when attempting to use
> > DebugUtils extension so forcing DebugReport on Android for now.
> >
> > Bug: angleproject:2449
> > Bug: angleproject:3320
> > Bug: angleproject:3852
> > Bug: chromium:997009
> > Bug: chromium:997016
> > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Tobin Ehlis <tobine@google.com>
> 
> Bug: angleproject:2449, angleproject:3320, angleproject:3852
> Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036
> Commit-Queue: Tobin Ehlis <tobine@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org

Change-Id: I88afdaff07e9f414f9de02f6d3651eaba9a5045f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2449, angleproject:3320, angleproject:3852
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776920
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
2019-08-29 21:56:14 +00:00
Tobin Ehlis 0ad1559f3a Reland "Vulkan: Use VK repos' internal BUILD.gn files"
This is a reland of 552f5fcb0d

Original change's description:
> Vulkan: Use VK repos' internal BUILD.gn files
>
> This retires custom BUILD.gn files for the Vulkan Headers, Tools,
> Validation-Layers, and Loader repos. They now have integrated BUILD.gn
> files so switched ANGLE to use those by default.
> Also Validation Layer, Loader, and Tools repos no longer uses codegen
> so this speeds up the build overall.
> Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
> to VK_LAYER_KHRONOS_validation unified layer.
>
> This changes includes a temporary workaround to the Vulkan-Loader repo
> to remove its Window's build dependence on WDK. There are plans to
> remove that depenedence in Loader master, but until then we can use
> our custom branch workaround.
> It also includes a custom branch for validation layers that includes
> some build fixes for ANGLE.
> Finally, the layers were crashing on Android when attempting to use
> DebugUtils extension so forcing DebugReport on Android for now.
>
> Bug: angleproject:2449
> Bug: angleproject:3320
> Bug: angleproject:3852
> Bug: chromium:997009
> Bug: chromium:997016
> Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tobin Ehlis <tobine@google.com>

Bug: angleproject:2449, angleproject:3320, angleproject:3852
Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-08-29 20:44:50 +00:00
Jamie Madill 5f3c98de9d Revert "Vulkan: Use VK repos' internal BUILD.gn files"
This reverts commit 552f5fcb0d.

Reason for revert: Causing flakiness in "confirm no-op" CQ step.
See issue for more details.

Bug: chromium:997016

Original change's description:
> Vulkan: Use VK repos' internal BUILD.gn files
> 
> This retires custom BUILD.gn files for the Vulkan Headers, Tools,
> Validation-Layers, and Loader repos. They now have integrated BUILD.gn
> files so switched ANGLE to use those by default.
> Also Validation Layer, Loader, and Tools repos no longer uses codegen
> so this speeds up the build overall.
> Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
> to VK_LAYER_KHRONOS_validation unified layer.
> 
> This changes includes a temporary workaround to the Vulkan-Loader repo
> to remove its Window's build dependence on WDK. There are plans to
> remove that depenedence in Loader master, but until then we can use
> our custom branch workaround.
> It also includes a custom branch for validation layers that includes
> some build fixes for ANGLE.
> Finally, the layers were crashing on Android when attempting to use
> DebugUtils extension so forcing DebugReport on Android for now.
> 
> Bug: angleproject:2449
> Bug: angleproject:3320
> Bug: angleproject:3852
> Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tobin Ehlis <tobine@google.com>

TBR=ynovikov@chromium.org,tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org

Change-Id: Iec97ba8cb5c38fa56bfd4c0afb0f7af8d68513ff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2449, angleproject:3320, angleproject:3852
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767363
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-23 01:05:50 +00:00
Tobin Ehlis 552f5fcb0d Vulkan: Use VK repos' internal BUILD.gn files
This retires custom BUILD.gn files for the Vulkan Headers, Tools,
Validation-Layers, and Loader repos. They now have integrated BUILD.gn
files so switched ANGLE to use those by default.
Also Validation Layer, Loader, and Tools repos no longer uses codegen
so this speeds up the build overall.
Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
to VK_LAYER_KHRONOS_validation unified layer.

This changes includes a temporary workaround to the Vulkan-Loader repo
to remove its Window's build dependence on WDK. There are plans to
remove that depenedence in Loader master, but until then we can use
our custom branch workaround.
It also includes a custom branch for validation layers that includes
some build fixes for ANGLE.
Finally, the layers were crashing on Android when attempting to use
DebugUtils extension so forcing DebugReport on Android for now.

Bug: angleproject:2449
Bug: angleproject:3320
Bug: angleproject:3852
Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
2019-08-22 18:20:47 +00:00
Stuart Morgan 9d737966ac Standardize copyright notices to project style
For all "ANGLE Project" copyrights, standardize to the format specified
by the style guide. Changes:
- "Copyright (c)" and "Copyright(c)" changed to just "Copyright".
- Removed the second half of date ranges ("Y1Y1-Y2Y2"->"Y1Y1").
- Fixed a small number of files that had no copyright date using the
  initial commit year from the version control history.
- Fixed one instance of copyright being "The ANGLE Project" rather than
  "The ANGLE Project Authors"

These changes are applied both to the copyright of source file, and
where applicable to copyright statements that are generated by
templates.

BUG=angleproject:3811

Change-Id: I973dd65e4ef9deeba232d5be74c768256a0eb2e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754397
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-08-14 23:05:33 +00:00
Jamie Madill 2971fd34dc Roll glmark2.
Includes build for Android, test fixes, and swapInterval 0 for WGL.

Bug: angleproject:3806
Change-Id: Ied8f221fc3002cff2ccdc83dc6d45bc8640a4a4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752017
Reviewed-by: James Dong <dongja@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-14 14:53:57 +00:00
Li, Hao e9cffa62c9 Rename data_dir to angle_data_dir in GN files
Dawn reuses the Vulkan validation layers of ANGLE to avoid building
twice in chromium, and references build_overrides/vulkan_common.gni,
but angle_data_dir is undefined, which is defined as data_dir in
angle.gni. There is a reminder to rename this name in
https://chromium-review.googlesource.com/c/chromium/src/+/1610488

Bug: angleproject:3710
Change-Id: I4b7c4d24c37770ff58b70c988851a6ed32a04296
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703175
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2019-07-17 16:58:00 +00:00
Shahbaz Youssefi 02a579e98a Vulkan: roll Vulkan repos to v1.1.102
Bug: angleproject:3320
Change-Id: Ia24f9bc2499f36c6aab810db00bb6408920222fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541719
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-03-28 04:47:51 +00:00
Rafael Cintron da37e7f675 Add trailing slash to glmark2 data dep
glmark2 is being included as part of angle_perftests, which is built as
an isolate.

Isolates do not work correctly unless there is a trailing slash for
folders in the data section.

Bug: angleproject:3311
Change-Id: I55e5a655ae15683d5cb070589970ba5d9eba4da0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538676
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-03-26 00:21:33 +00:00
Yuly Novikov 6ce1be5a5a Vulkan: move platform defines to Vulkan Headers build file.
From angle_vulkan build target,
so that everyone including Vulkan Headers
would get them for the right platform.

Also remove obsolete defines.

Bug: angleproject:3279
Change-Id: I4bbbeb72acfbf0dd22a1d6a13bd9df7ddaec84dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530029
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2019-03-19 21:57:45 +00:00
Tom Tan 094c40dce6 Don't build glmark2_wgl on Windows ARM64 due to missing opengl32.lib
Opengl32.lib/opengl32.dll are not available on Windows ARM64. Disable building
glmard2_wgl which depends them.

Bug: chromium:941621

Change-Id: Iddae231764c6135ef1a74c294da1393f0fe51eeb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1522353
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-03-14 13:34:12 +00:00
Shahbaz Youssefi f576a708a3 Add glmark2 to angle_perftests
Bug: angleproject:3125
Change-Id: I9242743c6b5c6e18d0a23ff853ef6b9b370865a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1452956
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2019-03-12 20:38:55 +00:00
Jamie Madill 55959b0bb1 Add glmark2 to build.
glmark2 is a an OpenGL ES 2.0 benchmark licensed under GPL v3.
See https://github.com/glmark2/glmark2

ANGLE can use glmark2 as a metric and guide for optimization. It will
add a number of useful performance tests. This CL adds the initial
build integration.

A follow-up CL will integrate glmark2 into our performance tests. Note
that glmark2 will not be shipped with Chrome or Android. It will only
be used on our test infrastructure.

Note that the data path solution is temporary. When integrated into
ANGLE we will make sure we CWD into the glmark2 directory before
running the benchmark.

Bug: angleproject:3139
Change-Id: I5c4f605221c255ab19abd10b321b5867ab459105
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1449984
Commit-Queue: Jamie Madill <jmadill@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-03-05 18:33:39 +00:00
Shahbaz Youssefi 6f1a852fce Reland "Roll Vulkan repos"
This reverts commit 3805122b02.

Reason for revert: The OOM issue that coincidentally happened at the time this CL landed, and for which this CL was reverted, turned out to be irrelevant to this change.

Original change's description:
> Revert "Roll Vulkan repos"
>
> This reverts commit 55ea947c3b.
>
> Reason for revert: Seems to be causing a memory corruption on Windows/Intel bots.
>
> Original change's description:
> > Roll Vulkan repos
> >
> > Bug: angleproject:3095
> > Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c
> > Reviewed-on: https://chromium-review.googlesource.com/c/1405714
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
>
> TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
>
> Change-Id: I61879770c9bb16ac2231b081bda08e6211ba6831
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: angleproject:3095
> Reviewed-on: https://chromium-review.googlesource.com/c/1470605
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

TBR=ynovikov@chromium.org,jmadill@google.com,syoussefi@chromium.org

Bug: angleproject:3095
Change-Id: Iabe8ea215b44c65c4c22b9b158c5dad3ffffdbb0
Reviewed-on: https://chromium-review.googlesource.com/c/1489153
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
2019-03-01 21:16:29 +00:00
Jamie Madill 46d32e0fcd Use Chromium mirror for rapidjson.
ANGLE can use this library to output the test results format used by
the Chromium infrastructure. We have a rapidjson mirror located on
chromium.googlesource.com.

Also updates rapidjson to the latest version and adds GN integration.
Currently this library was unused in ANGLE.

Bug: angleproject:3162
Change-Id: Ie349026f68028e3acc46055655e321c2d710b828
Reviewed-on: https://chromium-review.googlesource.com/c/1487633
Commit-Queue: Jamie Madill <jmadill@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-02-26 17:59:05 +00:00
Shahbaz Youssefi 3805122b02 Revert "Roll Vulkan repos"
This reverts commit 55ea947c3b.

Reason for revert: Seems to be causing a memory corruption on Windows/Intel bots.

Original change's description:
> Roll Vulkan repos
> 
> Bug: angleproject:3095
> Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c
> Reviewed-on: https://chromium-review.googlesource.com/c/1405714
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org

Change-Id: I61879770c9bb16ac2231b081bda08e6211ba6831
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3095
Reviewed-on: https://chromium-review.googlesource.com/c/1470605
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2019-02-13 21:21:25 +00:00
Shahbaz Youssefi 55ea947c3b Roll Vulkan repos
Bug: angleproject:3095
Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c
Reviewed-on: https://chromium-review.googlesource.com/c/1405714
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2019-02-13 03:24:31 +00:00
Michael Spang 229fc83d68 Vulkan: Port renderer to Fuchsia (reland)
Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
renderer, as well as an implementation of OSWindow that renders
fullscreen for the test suite.

Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
of the loader and has not sent those changes upstream yet.

Add a small wayland-inspired library libfuchsia-egl to provide a type
"struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
combines a zx_handle_t to an image pipe channel and a surface size.

Image pipes can only be used once to create a VkSurfaceKHR. This means we
have to recreate the pipe in tests that call eglCreateWindowSurface more
than once with a single OSWindow, or the second call will fail. Add a
resetNativeWindow() method to accomplish this.

Reland disabling -Wextra-semi.

BUG=angleproject:2475
TEST=angle_end2end_tests on Fuchsia

Change-Id: Ie91715bcd760c6c04d4b8a02a91daa71e32ee30c
Reviewed-on: https://chromium-review.googlesource.com/c/1467603
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-02-13 00:37:39 +00:00
Jamie Madill 3f0ff409c7 Revert "Vulkan: Port renderer to Fuchsia"
This reverts commit 991d1cfb5e.

Reason for revert: Failing compile on the fuchsia bots on the ANGLE
auto-roller.

https://ci.chromium.org/p/chromium/builders/luci.chromium.try/fuchsia_x64/209198

In file included from ../../third_party/angle/util/fuchsia/ScenicWindow.cpp:10:
In file included from ../../third_party/angle/util/fuchsia/ScenicWindow.h:13:
In file included from gen/third_party/fuchsia-sdk/sdk/fidl/fuchsia/ui/policy/cpp/fidl.h:5:
In file included from ../../third_party/fuchsia-sdk/sdk/pkg/fidl_cpp/include/lib/fidl/cpp/internal/header.h:12:
../../third_party/fuchsia-sdk/sdk/pkg/fit/include/lib/fit/function.h:135:6: error: extra ';' after member function definition [-Werror,-Wextra-semi]
    };
     ^
1 error generated.

Original change's description:
> Vulkan: Port renderer to Fuchsia
> 
> Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
> renderer, as well as an implementation of OSWindow that renders
> fullscreen for the test suite.
> 
> Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
> of the loader and has not sent those changes upstream yet.
> 
> Add a small wayland-inspired library libfuchsia-egl to provide a type
> "struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
> combines a zx_handle_t to an image pipe channel and a surface size.
> 
> Image pipes can only be used once to create a VkSurfaceKHR. This means we
> have to recreate the pipe in tests that call eglCreateWindowSurface more
> than once with a single OSWindow, or the second call will fail. Add a
> resetNativeWindow() method to accomplish this.
> 
> BUG=angleproject:2475
> TEST=angle_end2end_tests on Fuchsia
> 
> Change-Id: I71a613a362dd1c8aada49a3c02ae461e064457bf
> Reviewed-on: https://chromium-review.googlesource.com/c/1446496
> Commit-Queue: Michael Spang <spang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>

TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org,syoussefi@chromium.org

Change-Id: I2d9abefa9db5363ba63a17c1773d0e147040d055
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2475
Reviewed-on: https://chromium-review.googlesource.com/c/1465761
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-02-12 03:09:10 +00:00
Michael Spang 991d1cfb5e Vulkan: Port renderer to Fuchsia
Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
renderer, as well as an implementation of OSWindow that renders
fullscreen for the test suite.

Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
of the loader and has not sent those changes upstream yet.

Add a small wayland-inspired library libfuchsia-egl to provide a type
"struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
combines a zx_handle_t to an image pipe channel and a surface size.

Image pipes can only be used once to create a VkSurfaceKHR. This means we
have to recreate the pipe in tests that call eglCreateWindowSurface more
than once with a single OSWindow, or the second call will fail. Add a
resetNativeWindow() method to accomplish this.

BUG=angleproject:2475
TEST=angle_end2end_tests on Fuchsia

Change-Id: I71a613a362dd1c8aada49a3c02ae461e064457bf
Reviewed-on: https://chromium-review.googlesource.com/c/1446496
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-02-11 22:51:25 +00:00