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

151 Коммитов

Автор SHA1 Сообщение Дата
Kenneth Russell c90a6dcacc Deduplicate autoroller docs.
Leave them centralized in ANGLEWrangling.md, link to them from
BranchingAndRolling.md, and add the Chromium-into-ANGLE autoroller.

Bug: angleproject:6323
Change-Id: I913954b92dbe3545320e662de122daf26140d425
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3124341
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
2021-08-27 20:34:29 +00:00
Kenneth Russell 936fd6cfb9 Add documentation for autorollers.
Document the location and purpose of the ANGLE-into-Chromium and
Chromium-into-ANGLE autorollers, to make them easier to find for
people who don't often use them.

Also fix several broken links due to misplaced newlines pointed out by
syoussefi@.

Bug: angleproject:6323
Change-Id: Id3d2f0e5627729acd2447b4954d2920375c37db2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3120408
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2021-08-26 21:30:38 +00:00
Shahbaz Youssefi 7c6da49358 Translator: Make sure built-in variables are consistent
Some transformations left the tree in an inconsistent state, for example
if it used gl_SampleMask from ES3.1+OES_sample_variables and the
transformation added a usage of gl_SampleMask from ES3.2.  The offending
transformations are fixed and AST validation is improved to catch such
errors.

Bug: angleproject:4889
Change-Id: I9d9ea5bb43a9408dd4c6dc3e89ec20d60dfeff73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3054613
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-07-28 06:19:04 +00:00
Nicolas Capens f8d277e452 Document the need for is_component_build = false
Setting `is_component_build = false` in the GN args is highly
recommended for standalone builds on Windows, to support the common
practice of moving libEGL.dll and libGLESv2.dll to an application's
directory. It makes them self-contained instead of depending on other
DLLs (like e.g. ext-ms-win-kernel32-sidebyside-l1-1-0.dll).

One notable exception is that the non-component build still depends on
d3dcompiler_47.dll, if the Direct3D backend is being used.

Bug: angleproject:6202
Change-Id: Id13e902d3169b37ec00a8065d9063ec7d683134b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3042543
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@google.com>
2021-07-21 22:33:54 +00:00
Jamie Madill 2b86e2d60f 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>
2021-07-19 19:05:44 +00:00
Ian Elliott 312e91c881 Two fixes to DevSetup.md
Change master->main and eliminate a redundant/premature Linux
instruction.

Bug: angleproject:0
Change-Id: Ic7171f860de8acc22050a4d4858cfd318f36b9e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035863
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-16 23:12:33 +00:00
Matthias Lederhofer 824e56f268 Fix markdown link
Bug: None
Change-Id: Id6ebeb0c768d494f19d6619d68cdaf5ee18e981d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2997303
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2021-06-30 16:32:46 +00:00
Geoff Lang dc334829d8 Disable ANGLE's VK backend on official Chrome Android builds.
ANGLE's VK backend induces a memory and binary size regression due to
global initializers in glslang/spirvtools. Disable it on Android Chrome
official builds.

Bug: chromium:1172451
Change-Id: I08d77cf11e20b393c0faf7c85d08c92061e5a09b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2969385
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2021-06-17 16:51:07 +00:00
Cody Northrop 69d593b5d6 Docs: Update RenderDoc for Android launch command
Bug: angleproject:1944
Change-Id: I72535c45ea2a67f2fe6953d4b9fa5e60deaa050b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2875164
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-05-06 02:48:50 +00:00
Charlie Lao 257b29efa9 Add instruction on how to debug angle on android
This explains how I am using lldbclient.py to debug angle on android.

Bug: None
Change-Id: I9c0a55ab3e2272fbd74905a7ac390d987c78d550
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2860396
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
2021-04-30 01:39:03 +00:00
Stephen White d6a91dab36 D3D11: update docs (remove SSBO limitation).
Bug: angleproject:5734
Change-Id: Ia1af247b45ad51072296f8d197dd4b49526417ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2851177
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2021-04-26 22:28:12 +00:00
Jamie Madill d630240851 Update standalone Android docs.
Bug: angleproject:2344
Change-Id: Idea2f65fc92f2c59c5d4cd6ae01cae0b4af41905
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2845049
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2021-04-22 14:50:56 +00:00
Peter Kotwicz bf0c6ae1ee Improve Angle Android gtest support
This CL makes angle_test() use an angle-specific gtest launcher -
AngleUnitTestActivity.java. This enables building standalone Android
angle without //base

Chromium-Bug: 1149922
Bug: None
Change-Id: Id84f3e2bd84c5017ed1988ca07534f424ebfa596
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2745535
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-04-07 16:50:52 +00:00
Tim Van Patten bbed881323 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>
2021-03-12 21:52:02 +00:00
John Plate 8650381e7e Avoid implication that adding the issue number is optional
Bug: angleproject:1944
Change-Id: I89867c20c724c8db4d8edeb15fa4e32769f2a578
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2749596
Commit-Queue: John Plate <jplate@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-03-11 18:14:07 +00:00
Alexey Knyazev 9d091b6697 Add Chrome Canary ANGLE injection steps
Bug: angleproject:1944
Change-Id: I89ade8230271378cd8b2a5a7cb58ad6c0e4f1fde
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2724271
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-03-02 19:46:43 +00:00
Peng Huang 6b6da203cc Include a Makefile which contains some useful command lines
Bug: angleproject:5697
Change-Id: I48c487d218183aa10823127beb40384f4debd6db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2727921
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2021-03-02 01:41:22 +00:00
Ian Elliott b3fb450c72 Vulkan: Add GPU memory report and analysis documentation
This information should be generally searchable and available.

Bug: b/173636655
Change-Id: I5f8cad0f34f96c085ceea369d320863f20373c99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2714232
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2021-02-25 21:43:59 +00:00
Ian Elliott cffe90b44a Vulkan: Update documentation for enabling debug markers
After changes to the GN arg "angle_enable_trace" were done, other GN
args are now needed.

Bug: b/170249632
Change-Id: Ib5e703434cb580aa838ef8632b271f5f20554f42
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2684933
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2021-02-11 03:33:54 +00:00
Shahbaz Youssefi a685db2e97 Update README.md for Fuchsia
Bug: angleproject:1944
Change-Id: I823ffba6b67e65dbf4b24e8863a117fcdff76657
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2648638
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
2021-01-28 20:21:38 +00:00
Tim Van Patten e16ff968e8 Android: Update adb install to include -r -d --force-queryable
The adb install command is being updated to include the following
options:

  -r: replace existing application
  -d: allow version code downgrade (debuggable packages only)
  --force-queryable: mark the ANGLE APK as visible to all other packages

This will allow AngleLibraries.apk to install without errors and be
loadable for apps targeting SDK >= 30.

Bug: b/175800879
Change-Id: I61bb7218b407e54057adbfb5aa3098a96b903f5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2602241
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2020-12-23 21:38:50 +00:00
Cody Northrop 9912971cf9 Docs: Add limitation for Android usage on all apps
ANGLE cannot be enabled for all apps on Android unless the
device has root access.

Test: Inspect the resulting markdown doc
Bug: angleproject:4347
Bug: b/175324620
Change-Id: Idc37d6062a12240cf038ef13f7d53d769fa824a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585074
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-12-10 20:25:18 +00:00
Stephen White 63b548b935 Wrap a paragraph in DevSetup docs to 100 chars.
Bug: angleproject:5343
Change-Id: I27735c814ab5e4cafe1f1a9e9577e27a2d5ad6a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537237
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-11-13 18:54:36 +00:00
Stephen White 4dc91509bc Fix some apostrophes, because I'm possessive like that.
Bug: angleproject:5343
Change-Id: Ib3dcdf640a4d7f097c5e094bb18acb96f0a5510b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537233
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-11-13 18:31:32 +00:00
Stephen White b441ffede9 Fix EGL_ANGLE_platform_extension* filenames in DevSetup docs.
Bug: angleproject:5343
Change-Id: I8d24e27df052ea6f811ea5ed15c7ee5256d516ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537232
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2020-11-13 16:26:09 +00:00
Jamie Madill a9415a8560 Update DevSetup.
We no longer require a specific version of the Windows SDK.
Also include updated instructions on how to setup Goma.

Bug: angleproject:1944
Change-Id: I5f9e714ebd69ba04eddc1b1fc2f95d1fde67a47f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522419
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-11-06 17:35:54 +00:00
Ian Elliott f418c10909 Vulkan: Document how to turn on debug markers
Bug: b/170249632
Change-Id: Ie71a2e9699c3da88dd7e285177bb0ce1520f5bbc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506420
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2020-10-29 00:31:05 +00:00
Qin Jiajia c69ef8bf34 Add the ES31 status on d3d11 document.
Bug: angleproject:1944
Change-Id: Id1ca994c1dcebb851c68cec7d623ac96172aa56b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2469605
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-10-19 06:35:21 +00:00
Ian Elliott a24919117c Document how to revert/reland a CL
Bug: angleproject:5141
Change-Id: I9a0a2ae18dc298250f8fc6fba2eb0042a31dc369
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2458846
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2020-10-08 18:37:19 +00:00
Tobin Ehlis 736c43a1bb Rename ANGLE apk package to org.chromium.angle
Bug: b/167223999
Change-Id: Iaa0b7c779bf744da17a0defba32c966225300a4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2385915
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
2020-09-01 14:09:21 +00:00
Cody Northrop a7cbb3f06f Capture/Replay: Allow starting capture at an unknown frame
This CL adds a new way to set the start frame of a capture.
It adds a new environment variable called ANGLE_CAPTURE_TRIGGER
that, when set, will be used instead of frame start and end.

By setting ANGLE_CAPTURE_TRIGGER to a non-zero value, ANGLE will
capture that many frames when the value changes. For example,
on Android, we can set it with:

  adb shell setprop debug.angle.capture.trigger 20

When we reach the target content, set the value back to zero:

  adb shell setprop debug.angle.capture.trigger 0

and ANGLE will start capturing 20 frames.

Currently only hooked up for Android, but should be possible to
support on other platforms.

Test: Capture application frames using trigger
Bug: angleproject:4949
Change-Id: I469ef5c48feb78c85b8cda2fefd5df59e495bbe2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2347858
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
2020-08-11 22:24:58 +00:00
Manh Nguyen 559d54d080 Update readme with how to run regression testing script
Updates CaptureAndReplay.md with how to run capture_replay_tests.py.
Explains certain important flags and their effects on the behavior
of the script.

Bug: angleproject:4817
Change-Id: I628edf57cde51d2a6f667fbfd7dc937964badbac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336188
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-10 18:34:57 +00:00
Manh Nguyen 3b0c99180d Update CaptureAndReplay.md and Python script with links
Links to the Python script in CaptureAndReplay.md
Links to CaptureAndReplay.md's testing section in the Python script

Bug: angleproject:4817
Change-Id: I584f8508661950e4907dae1adb8f0fe300387198
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309226
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-07-27 15:17:02 +00:00
Wander Lairson Costa ee9c4fe4e6 D3D: Make possible to build angle without D3D11
A few files inside the D3D11 tree are used by D3D9 and WGL backends. We
add these files to the build system even when D3D11 is disabled.

Also, we fix the use the of ANGLE_DEFAULT_D3D11 symbol.

Bug: angleproject:4839
Change-Id: I981f4bfc60d973c02549caa737c5aed5ccf31282
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2298143
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2020-07-22 15:01:05 +00:00
Manh Nguyen 10e9e9a118 Apply multiprocessing to capture_replay_tests.py
Multiple tests are run in paralell to squeeze the most out of CPUs.
Tests are stored in a work queue. Whenever a CPU becomes available,
the next unrun test is grabbed and run on a spawn process on that CPU.

Each cpu gets their own environment and build folders and trace folders
so that tests don't overwrite each other.

Bug: angleproject:4817
Change-Id: Ifd35c9c75522e480b0257d090d5af70f2a3428ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2296040
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-07-21 14:24:21 +00:00
Kenneth Russell 5927706bfa Revise documentation on adding EGL extensions.
Provided more links and steps per earlier advice from geofflang@.

Bug: angleproject:4842
No-Try: true
Change-Id: I9c9361b4b71a63fd36f79a87d45e0f4b04c4140c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2297528
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-07-15 20:54:25 +00:00
Manh Nguyen dce37b7da8 Serialize framebuffers + compare contexts for CaptureReplayTests
Adds to frame capture the ability to serialize a frame's pre-swap
GL state and store it in the binary data file
Adds to CaptureReplayTests the ability to compare its serialized GL
state with the serialized state pulled from the binary data file
Adds a serialization module that serializes framebuffers' GL states
and the contents of their color attachments
Adds checks to automation script so that it would skips tests that
do not produce the expected trace files
Adds exception handling to automation script so that it will not crash
when a replay build crashes

Bug: angleproject:4779
Change-Id: I40a02e018073749e79f0ddbfd3d4065745548f46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2258295
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-07-02 21:37:40 +00:00
Charlie Lao 6d781655d0 Update style guide for reference on container object
ANGLE should follow google's c++ style guide here instead of having its
own exception.

Bug: None
Change-Id: Ie3909335a99e40dd555db3d98aa2bb1886884423
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2261420
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2020-06-25 18:14:43 +00:00
Kenneth Russell af72779224 Improve EGL_ANGLE_power_preference on dual-GPU MacBook Pros.
Add the ability to release and reacquire the high-power GPU, and to
respond to changes in the active GPU. In Chromium, the GPU process can
not access the WindowServer. An external process must inform ANGLE
that the active GPU has changed, and that ANGLE should switch its
internal context to the new GPU.

Incorporates a couple of functions from WebKit, used with permission,
to effect this GPU switch.

A follow-on change in Chromium which uses these new APIs will make the
existing dual-GPU tests pass with ANGLE and the passthrough command
decoder.

Carry forward Chromium's workaround of disabling GPU switching on
older MacBook Pros to ensure stability.

Document the process of adding new EGL extensions to ANGLE.

Bug: chromium:1091824
Change-Id: I499739156e851b493555d4d6e4aef87d8b97fa31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2240638
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-06-12 23:38:22 +00:00
Yuly Novikov b10f4b94aa doc: Chromium branch autorollers
Bug: angleproject:1944
Change-Id: I8359bcc99389fd416d2c8cedc880bc2c00291bee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230793
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2020-06-04 21:42:02 +00:00
Jamie Madill 6169aca6f5 Update dirty bits flow example.
Had an incorrect label for the gl::Context and was missing a
few edges for new connections.

Bug: None
Change-Id: I037551f8f0a6559b9c522ae192b1cd93edf9bcf0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2223815
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-06-01 18:18:58 +00:00
Cody Northrop 4bbef99633 docs: Update ANGLE for Android documentation
Following up on feedback to minimize GN arg lists. The initial block
generates a Debug build with minimum variance from default args. The
additional blocks are for different scenarios, like getting maximum
performance, and verifying ANGLE runs cleanly with Vulkan in Release.

Bug: b/150368485
Bug: angleproject:4347
Change-Id: I4db6c389b9bdaf8124795a3aeeb79590245d1e70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216813
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2020-05-27 23:02:18 +00:00
Jamie Madill 0bba110096 Update OWNERS information.
Also includes some documentation maintenance.

Bug: angleproject:4511
Change-Id: I7ecce494909f06387875ff85a10004d0c446bbaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2124597
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-03-27 19:58:54 +00:00
Jamie Madill 7e453a2537 Capture/Replay: Use zlib to compress data files.
Gives about a 2-3x reduced data file size. Should help reduce the time
we spent transferring trace files on Android.

This feature is implemented as a parameter to the capture/replay tool.
This keeps backwards compatiblity if we ever need to integrate a cpp
replay into an environment that doesn't have access to zlib for
decompression.

We'll need to update the traces to take advantage of the compression.

Bug: angleproject:4484
Change-Id: Id7994efe3c0d529b85fa7e7f1b00444e630dd2cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2104555
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-03-18 17:05:28 +00:00
Jamie Madill 457588ef8f Add more documentation on testing infrastructure.
Adds more info on the amount of testing ANGLE runs and our various
configs. Adds a few other notes and cross-links.

Bug: angleproject:1944
Change-Id: I76e46783bd6a3f84d3e170bd30ea2e6d57911143
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2105715
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-03-16 20:27:18 +00:00
Cody Northrop 1cd52d2cfe docs: Document how to use ANGLE on Android
This CL creates a new page that is dedicated to building and using
ANGLE for Android.

With Android 10 released, now anyone can try out ANGLE as their GLES
driver for debuggable apps. It can also be loaded for any app if the
user has root access.

Also migrated existing Android build instructions with updates from
the team.

Bug: angleproject:4347
Change-Id: Iead6a456780aba033a1227605f197a456ad30eb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063569
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2020-03-09 16:38:36 +00:00
Eric Binet f64ddcfdbf Add missing steps in DevSetup
Bug: angleproject:4268
Change-Id: Ib7f58ba241c24acb35d8705d994c57422d9b73e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1987908
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-06 19:22:38 +00:00
Tobin Ehlis 5fd73782c5 Vulkan: Use volk to load vk* func ptrs
Thanks to Jamie Madill for some fixes to get all CI test passing w/ volk.

This change updates all ANGLE targets that use Vulkan to dyanmically
link all of the VK entrypoints using the volk OSS library from
https://github.com/zeux/volk.

It's only two source files so baking them directly into ANGLE repo.
Also it's used in both the tests and libANGLE trees so added to
src/common/third_party/volk dir.

Updated volk and the renderer to track latest instance and device
that were loaded and renderer will refresh vk* function pointers if
the current and previous device and/or instance don't match. This
prevents errors in the test framework as we transition between
backends, especially between VK HW & SwiftShader ICDs.

This change rolls the Vulkan Loader forward to use the latest loader
version which no longer allows static linking but requires dynamic
linking.

Bug: angleproject:3740
Bug: angleproject:4092
Bug: angleproject:4162
Bug: angleproject:4210
Bug: angleproject:4225
Change-Id: I8a0b7d24c9545bbfdfaa4b9357a9bfe6793e0140
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965640
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-12-16 20:08:39 +00:00
Cody Northrop 1d77542f56 Add flag to label captures
Add an optional parameter (ANGLE_CAPTURE_LABEL) to
ANGLE frame capture that tags files and functions
uniquely, allowing multiple frame captures to be
replayed by a test harness.

Example:

  ANGLE_CAPTURE_LABEL=foo

Results in filenames like this:

  foo_capture_context1.cpp
  foo_capture_context1.h
  foo_capture_context1_files.txt
  foo_capture_context1_frame000.angledata
  foo_capture_context1_frame000.cpp
  foo_capture_context1_frame001.angledata
  foo_capture_context1_frame001.cpp
  ...

Functions wrapped in namespaces like this:

  namespace foo
  {
      void ReplayContext1Frame0();
      void ReplayContext1Frame1();
  }

For use like this:

  foo::SetupContext1Replay();
  for (...)
  {
      foo::ReplayContext1Frame(i);
  }

Bug: angleproject:3630
Change-Id: Ibe27dc4d40a36606ee40678a9e4d43b5a4baf976
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1949603
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-12-13 00:09:47 +00:00
Jonah Ryan-Davis 6e4004dd2e Add metal display type to angle_deqp_tests
Adds --deqp-egl-display-type=angle-metal for running the deqp tests
on Mac. Note: does not add any test suppressions for metal.

Bug: angleproject:2634
Change-Id: I8f8d3a83cf93a5b930b05af9f0075a9ce435823a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954612
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2019-12-09 17:12:53 +00:00