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>
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>
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>
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>
SwANGLE should be available on all ozone platforms.
This will also compile the vulkan backend.
Bug: chromium:1227864
Change-Id: I4971e52f45e70fed91567c3d2f369dafe160ff4f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043626
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
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>
To switch ozone testing to SwANGLE we need ANGLE to be able to run
vulkan/swiftshader on the ozone headless platform.
Bug: chromium:1227864
Change-Id: Icb8dc8fc4b3a5bc2402be2e41334350815fdd4dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027045
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
This is the initial CL to enable capture/replay of multi-context
applications.
This CL refactors FrameCapture and FrameCaptureShared to move much of
the functionality into FrameCaptureShared, since most everything is
shared by Contexts in the share group. For example, the setup of the
majority of the GL objects is done in the new SetupReplayContextShared()
function in the new $LABEL_capture_context_shared_frame001.cpp file. The
setup is performed by (for example):
void SetupReplay()
{
$LABEL::InitReplay();
$LABEL::SetupReplayContextShared();
SetupReplayContext2();
}
This performs the shared setup first, followed by the context-specific
setup, which may reference shared objects careated by
LABEL::SetupReplayContextShared().
No re-capturing is required with this change, since the external APIs
(i.e., SetupReplay()) are still the same.
Bug: angleproject:5878
Test: Manual MEC and replay of Magic Tiles 3, Candy Crush Soda Saga, Temple Run 2
Change-Id: Iab7bfe651437e9be1dee83514cd97acc20c61d1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2965780
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
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>
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>
Removed defintions of fuchsia-specific vulkan types from
vulkan_fuchsia_ext.h . Instead, the types provided by vulkan_fuchsia.h
are used now.
Also re-enabled vulkan validation on Fuchsia.
Bug: chromium:1215736
Change-Id: I795347b7fb61d90033749533cefd42cf180730fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2934718
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
This reverts commit cbbaf76b75.
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>
Moves the test expectations from dEQP into the test runner.
Also updates angle_end2end_tests to take an expectations file.
Includes some very simple angle_end2end_tests expectations.
Note that the expectations in the file are less expressive than the
skips we use in the cpp.
Bug: angleproject:5951
Change-Id: Ib92235575bc3ea5f3a977ce416b0e78fe806e39b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892274
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
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>
Currently, no ANGLE platform flag is enabled for Lacros Chrome.
GL is selected as default by this change for ChromeOS in general.
Based on change by Eriko Kurimoto <elkurin@chromium.org>
Bug: chromium:1203176
Change-Id: I539a459b6d3db60da191570e933afd8d06d3c3eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877010
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
For applications and tests, we need the runtime deps for component
builds. It still like this omission was causing test failures on
Intel in standalone.
Bug: angleproject:5114
Change-Id: Ifd9e90b28f985e4d2d1392a97ecb75907290f5ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2878093
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Vulkan is being updated on Fuchsia. Disable validation to unblock it.
Bug: fuchsia:73208
Change-Id: I8a6eecc16ef021d379cfcca8795896a6e6dae11c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2876070
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Currently, no ANGLE platform flag is enabled for Lacros Chrome.
GL is selected as default by this change.
Bug: chromium:1203176
Change-Id: I7f810c496dc1806c030e7292a319624d45c33fa1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2851829
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
CompositorNativeWindow11's IsValidNativeWindow can only return true or
crash. If a user passes in an invalid window handle, ANGLE's D3D11
backend will always crash.
Ideally this window type would be exposed through an extension and
the user passes in an enum telling ANGLE that the window is an
ISpriteVisual instead of ANGLE trying to detect it from a void pointer.
Bug: chromium:1176118
Change-Id: Ia7568adcd929dcd9200c7da2d0a991da55e1e89a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846800
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
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>
This cl makes 2 changes allowing Chromecast tests to use
SwANGLE:
1) It sets angle_use_vulkan_display to true when using
Chromecast, effectively allowing SwANGLE to be used
2) It sets angle_vulkan_display_mode to "headless", allowing
it to use DisplayVkHeadless instead of DisplayVkSimple,
which ends up using "VK_EXT_headless_surface" instead of
"VK_KHR_display", so that it's supported by SwiftShader
Vulkan on Chromecast.
Bug: chromium:1060139
Change-Id: Ia521ebddac14f5e34666bb9b64603bec598c41ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826196
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
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>
For Lacros, xvfb is only used in Linux-Lacros, but not on-device
config, so this CL fixes the problem.
Bug: chromium:1195415
Test: built Chromium and Angle from source
Change-Id: Ia9adf706716c424b14a395189755932e445b7050
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802854
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
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>
This is a reland of 68ac4e43aa
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>
shared libraries are hidden inside ios_framework_bundle,
so technically we are not allowed to include headers from them.
Ignore this check since everything works fine besides "gn gen --check".
All ANGLE headers are considered public, so we don't need this check.
Bug: angleproject:5417
Change-Id: I6b621132dfe85e0fb1bea4ae2b93097945a8801a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2643859
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
After https://chromium-review.googlesource.com/c/angle/angle/+/2580918
angle_unittests will not run on OSX when it is non component build
and metal_shader_cache_file_hooking is a shared library:
dyld: Library not loaded: ./libmetal_shader_cache_file_hooking.dylib
Bug: angleproject:5565
Change-Id: I1ac43d928cfaff692aa233c2ba3504a73573ee3e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2640173
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This reverts commit 68ac4e43aa.
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>
This is a reland of 11c31e0a4a
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>
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>
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>
This reverts commit 11c31e0a4a.
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>
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>
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>
This will allow them to be seamlessly overrideen in other repos.
Bug: angleproject:5390
Change-Id: I973cae48b5683e39ea3b07898b95956511260319
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2591107
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Internal shader cache caused timeout in some dEQP tests.
Work-around: ignore the cache by hooking fopen function and return null
when the cache related files are accessed.
Bug: angleproject:5354
Change-Id: I12ca228540925e67454bf24ce1ba83d703882c87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580918
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Need to declare use_xcode_clang when building outside chromium.
Bug: angleproject:5440
Change-Id: I4d622c1b6085d89b69c828b2c965d22c1f806f45
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579750
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
libGLESv2 builds with these changes on iOS, iOS Simulator, and
Mac Catalyst, using CGL or EAGL as appropriate. Tests will
require more work. Fixed several errors in the EAGL code which
hadn't been detected because the code wasn't built.
Bug: angleproject:4256
Bug: angleproject:5417
Change-Id: I29072d82607ef2500732c5cc00318fdab4a46b31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2570211
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
In order to be able to land SwANGLE in Chromium, this cl adds
suppressions for memory leaks detected by LSAN. Some of these should
be fixed and some are intentional leaks of global variables.
This cl should allow the linux_chromium_asan_rel_ng bot to pass while
using SwANGLE and shouldn't break the win-libfuzzer-asan-rel bot.
Bug: chromium:972686
Bug: angleproject:5377
Change-Id: I7e2336aba43fcfeb95716d6c0aa05caf855134aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2575200
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
This switches the Linux crash handler to use addr2line when it
is available. Addr2line is much better at converting addresses
into readable information. The downside is that we must use a
system call to a binary since it's not easy to integrate with
addr2line source.
Bug: angleproject:5239
Change-Id: I13cbaa4ba30166718fb12d924c76ba4f2675453c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2515265
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
This enables logging API commands to Android logcat. It is enabled
via the following GN arg:
angle_enable_android_api_logcat = true
On desktop, API commands can continue to be logged to the
"angle_debug.txt" file via a different mechanism, with the GN arg:
angle_enable_trace = true
Bug: b/170249632
Change-Id: Id52e75f966a97692ec6d69eb3d254ba295a151c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519094
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
This uses the protobuf histogram functionality to build up a histogram
set. The test suites then output the histograms to JSON. This is only
implemented for angle_perftests.
Bug: angleproject:5161
Change-Id: Ia5a7868e8d8dcf4f13d83115ae622828c63ef0d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482295
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This is a reland of a7bb6a9b15
Original change's description:
> Add support for Linux vulkan backend with VK_KHR_display
>
> Implement Linux simple display mode with vulkan backend
> through VK_KHR_display.
>
> Added value 'EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE' for
> attribute EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE to identify
> the new simple display mode. Also reserved
> EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE for headless mode.
>
> How to enable:
> Add
>
> ```
> use_x11=false
> angle_vulkan_display_mode="simple" # default value
> ```
>
> into args.gn, then compile with linux vulkan args.
>
> Bug: angleproject:5214
> Change-Id: I1247585b9de8b55df106aba99322281f1c183203
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494320
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:5214
Change-Id: I3921f6cb292c86658f39e739a878baad1ef64dba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2515327
Commit-Queue: Xiaoxuan Liu <xiaoxuan.liu@arm.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Implement Linux simple display mode with vulkan backend
through VK_KHR_display.
Added value 'EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE' for
attribute EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE to identify
the new simple display mode. Also reserved
EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE for headless mode.
How to enable:
Add
```
use_x11=false
angle_vulkan_display_mode="simple" # default value
```
into args.gn, then compile with linux vulkan args.
Bug: angleproject:5214
Change-Id: I1247585b9de8b55df106aba99322281f1c183203
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494320
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Add descriptor set allocation counters for the following:
- ContextVk
- Driver uniform allocations for graphics and compute pipelines.
- ProgramExecutableVk
- ANGLE driver uniforms
- Uniforms
- Textures
- Other shader resources
- UtilsVk
- All of the UtilsVk::Function types increment the same counter
Each object's counters live within the object itself and the cumulative
total is output as part of that object's destruction. On Present, all of
the descriptor set counts are collected into a single total which is
used to update the overlay each frame.
In order to see the cumulative total output for each object, the
following GN args must be enabled:
is_debug = true
angle_enable_perf_counter_output = true
To see the descriptor set allocation overlay:
ANGLE_OVERLAY=VulkanDescriptorSetAllocations
Bug: angleproject:5067
Test: Manual verification with angle_perftests
Change-Id: Ie45fda56ade3e68bfba7bf6da9554eb05a02c6b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2429487
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Also cleans up some compiler warnings that crept in because of how
we structured the test sources in GN. We also no longer need special
handling for the test "main" files.
Must land after http://crrev.com/c/2495003 rolls into ANGLE.
Bug: angleproject:5124
Change-Id: I43ff91b5c8f00214886cd8ac2403702e5026a840
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495281
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This switches 'angle_*_tests' to be identical to
'standalone_angle_*_tests'. Once rolled into Chromium we can
then switch back to using 'angle_*_tests' and finally remove
'standalone_angle_*_tests' entirely.
Must land after https://crrev.com/c/2490987
Bug: angleproject:5124
Change-Id: I1f4794d429733a43113dcba6aaaba0c047607e50
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491932
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Otherwise, it causes build breakages to other projects that depend on
it, such as Skia project.
Bug: angleproject:5146
Change-Id: I09d8e175fa76fb098a0836c2542986609fae7757
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462721
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Re-land fixes the GL APIs accidentally leaking into the test.
We can use this in the trace gold tests to identify system properties.
The test uses Vulkan info collection when available and dumps out the
known GPU info as JSON.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I1481fee14ed8c573f10164d74ec27701e1ad80ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433090
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This reverts commit 52ee81cfdc.
Reason for revert: Causes build failure on Android (https://ci.chromium.org/b/8868097753228061152), and is blocking ANGLE roll (crrev.com/c/2433419)
Original change's description:
> Add a small unit test that dumps system info.
>
> We can use this in the trace gold tests to identify system properties.
> The test uses Vulkan info collection when available and dumps out the
> known GPU info as JSON.
>
> Bug: angleproject:4090
> Bug: b/168049670
> Change-Id: Ib8d2244d82b650b94818da30adab180b471af556
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427872
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
TBR=cnorthrop@google.com,jmadill@chromium.org
Change-Id: I2b87c323c896be67aa9fbee2cad980927d551d7f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4090
Bug: b/168049670
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433089
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
We can use this in the trace gold tests to identify system properties.
The test uses Vulkan info collection when available and dumps out the
known GPU info as JSON.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: Ib8d2244d82b650b94818da30adab180b471af556
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427872
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
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>
The GN test() template now generates bin/run_ wrappers for
targets; this CL ensures that they'll properly declare when
the wrappers need to use Xvfb on Linux.
Bug: chromium:816629
Change-Id: I4f227eab3306f737f77bbe3341039d710184db96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2370337
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Currently the Chromium build defines some wrapper test
targets for ANGLE (//chrome/test:angle_perftests
and //chrome/test:standalone_angle_unittests) that seem to
exist only to specify some extra data dependencies. By moving
those data dependencies into angle, this removes a couple of
targets in Chromium that are otherwise problematic for
my planned changes for crbug.com/816629.
Bug: chromium:816629
Change-Id: Ic0d50132f102f39749c92b062eec38a529db2c1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280255
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@google.com>
The use of worker thread is chromium is triggering CFI error.
This CL disables the use of chromium worker pool to avoid
blocking the roll-deps:
https://chromium.googlesource.com/angle/
angle.git/+log/1be395fe1250..a935c65a0488
The intend is to avoid the effects of the fix from that CL:
https://chromium-review.googlesource.com/c/angle/angle/+/2262573
Instead of reverting the CL (with is an obvious mistake) we disable
the feature.
Bug: chromium:1091259
Change-Id: I4e473ec42be2a82e47e2e4c882f75ba33bcd9476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275730
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Etienne Bergeron <etienneb@chromium.org>
This file is needed by the bots to run as an isolated script.
Bug: angleproject:3162
Change-Id: I1bb87b3622613334b379896a3c124a6007676346
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275729
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
A certain config was hiding ANativeActivity_onCreate from the loader
which in turn was preventing the tests from running on Android.
Bug: angleproject:3162
Change-Id: Ia9f7b1042764b4ae5d347f603b7fec962ffce89a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246305
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Was from a subsequent CL. For some reason this was only picked up
on the ANGLE roll into Chrome.
Bug: angleproject:3162
Change-Id: I6c9d4ab3843bd5a58a6695b79648b57343689c4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2236759
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This will let us pick the standalone test version when trying out
the new test runner.
GN-only change.
Bug: angleproject:3162
Change-Id: I08c75c7a38aaf63c5a25cc8623eb05615cc29abb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2229068
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Disable angle_shared_libvulkan on Mac since we are the only client.
Re-add codepaths to support this.
Bug: angleproject:4477
Change-Id: Ie128c83adaae741636541bbfd6105d160d874a8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2102954
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Added GN bool arg "angle_extract_native_libs."
When "false," which is the default, the native libs are zipped in the ANGLE
apk. When true, the libs will be extracted which is useful when capturing
flame graphs in order to see the ANGLE function names in your flamegraph.
Bug: angleproject:4304
Change-Id: I86c91e5028688142b1137b859c800f2243c124d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2028524
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
Currently Windows on ARM doesn't support OpenGL but it is enabled in ANGLE by default.
Vulkan is only supported via Swiftshader so we should not test native Vulkan.
Therefore it causes crashes and fails on Windows on ARM when running angle_end2end_tests.
Bug: angleproject:4318
Change-Id: I70349ed53a2248df2dc8e7a0c0b3a6a5537a1110
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2007414
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Re-land #2 changes:
* export labels are fixed for the CFI build
* crash test disabled because of flakiness and issues with asan
Re-land changes:
* Unit test is suppressed in ASAN
* --deqp-case is fixed
* Debug layer errors should correctly work with failure expectations
Original message:
The ANGLE test harness is a harness around GoogleTest that provides
functionality similar to the Chromium test harness. It supports:
* splitting a test set into shards
* catching and reporting crashes and timeouts
* outputting to the Chromium JSON test results format
* multi-process execution
Unit tests are added in test_utils_unittest.cpp.
Bug: angleproject:3162
Bug: chromium:1030192
Change-Id: I71d66a407ea0e53d73cbe75b5b4bfb9e73791534
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965091
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
This source set target lets other targets import the test utils without
needing to export them. They get built into angle_util. They also get
compiled into the various tests and samples. The change also fixes
export issues.
Moves some of the GN logic into the util/ subfolder.
Bug: angleproject:3162
Bug: chromium:1030192
Change-Id: If99d201092ad8541c0de60b3bd893ac9b5875270
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1968259
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
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>
This reverts commit e20560faf1.
Reason for revert: Now fails on Linux CFI and also is a bit flaky.
Original change's description:
> Re-land "Add new test runner harness."
>
> Re-land changes:
>
> * Unit test is suppressed in ASAN
> * --deqp-case is fixed
> * Debug layer errors should correctly work with failure expectations
>
> Original message:
>
> The ANGLE test harness is a harness around GoogleTest that provides
> functionality similar to the Chromium test harness. It supports:
>
> * splitting a test set into shards
> * catching and reporting crashes and timeouts
> * outputting to the Chromium JSON test results format
> * multi-process execution
>
> Unit tests are added in test_utils_unittest.cpp.
>
> Bug: angleproject:3162
> Change-Id: I841f2b5dfe51f7f44dac68324bdf6afd418b8bfb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1948240
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=ynovikov@chromium.org,ianelliott@google.com,jonahr@google.com,jmadill@chromium.org
Change-Id: Ibfd65b8b18ead3a232abb6cb75fd6489b0ff5f38
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3162
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954570
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Re-land changes:
* Unit test is suppressed in ASAN
* --deqp-case is fixed
* Debug layer errors should correctly work with failure expectations
Original message:
The ANGLE test harness is a harness around GoogleTest that provides
functionality similar to the Chromium test harness. It supports:
* splitting a test set into shards
* catching and reporting crashes and timeouts
* outputting to the Chromium JSON test results format
* multi-process execution
Unit tests are added in test_utils_unittest.cpp.
Bug: angleproject:3162
Change-Id: I841f2b5dfe51f7f44dac68324bdf6afd418b8bfb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1948240
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This reverts commit fb40d231c3.
Reason for revert: Has a bug with the ASan build and also has a few
bugs with ANGLE standalone test expectations an filter.
Bug: chromium:1030192
Bug: angleproject:4193
Original change's description:
> Add new test runner harness.
>
> The ANGLE test harness is a harness around GoogleTest that provides
> functionality similar to the Chromium test harness. It supports:
>
> * splitting a test set into shards
> * catching and reporting crashes and timeouts
> * outputting to the Chromium JSON test results format
> * multi-process execution
>
> Unit tests are added in test_utils_unittest.cpp.
>
> Bug: angleproject:3162
> Change-Id: Idb15f113de8eb32db12bc93542de93b08d7c1447
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1478016
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
TBR=ynovikov@chromium.org,jonahr@google.com,jmadill@chromium.org
Change-Id: I647e747571784b1ca7c1d0687193c70a63eb08d1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3162
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947456
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
The ANGLE test harness is a harness around GoogleTest that provides
functionality similar to the Chromium test harness. It supports:
* splitting a test set into shards
* catching and reporting crashes and timeouts
* outputting to the Chromium JSON test results format
* multi-process execution
Unit tests are added in test_utils_unittest.cpp.
Bug: angleproject:3162
Change-Id: Idb15f113de8eb32db12bc93542de93b08d7c1447
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1478016
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Created a new WindowSurface/Display for MacOS/Vulkan, along with some
GN changes to get it working.
Bug: 1015454
Change-Id: I3f7a12f173795efe598856c702ce53b1e50831eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880163
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
The //build/config/gcc:symbol_visibility_hidden config was removed in an
attempt to improve stack traces on Linux. However, this resulted in the
in-class-inline-functions in glslang to be weak symbols. The KHR dEQP
tests link against glslang as well as libGLESv2.so, resulting in
angle_deqp_khr_gles*_tests to link those weak symbols. Due to glslang's
usage of a global variable in InitializeDll.cpp, a bug is created where
ANGLE sometimes calls into its own copy of glslang and sometimes the KHR
dEQP's version, with the two copies of the global variable being
inconsistent.
Bug: angleproject:4123
Change-Id: I0cfe3236117b1219db4fea4495e1583334c04fbe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1926887
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Not all Linux platforms will have X11 available (Wayland, GGP), so we have to
declare a variable that checks use_x11 separately.
Bug: angleproject:4116
Change-Id: I7e33956da6344b8db4d4e32dbbd1b42f58f7019c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919632
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
By disabling apk generation, we can build all of our targets in a
standalone ANGLE checkout on Linux.
This allows tools like gn desc to give us useful information about
Android builds.
BUG=angleproject:4026,angleproject:2344
Change-Id: Ic46348fd06c5174ce5e5a4d89ceb391246c6ac6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866080
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>