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

227 Коммитов

Автор SHA1 Сообщение Дата
Roman Lavrov 2de8bb42a9 Converge run wrappers into angle_test_util.RunTestSuite
Bug: angleproject:7299
Change-Id: Ifa882028a6f49579b4a9c6893053cb3bee8d83fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808302
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2022-08-08 14:48:23 +00:00
Eddie Hatfield c54ed79053 Get desktop GL conformance tests to build
The target for these tests is angle_deqp_gl_tests.

Bug: angleproject:7533
Change-Id: I290822671d99da020f9a6a1f02bee43987644bf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3766435
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2022-08-03 22:17:47 +00:00
Peng Huang 3dd6f5f74f Reland "Disable share context lock for Chromium"
This is a reland of commit e1741f4ba7

Original change's description:
> Disable share context lock for Chromium
>
> Bug: chromium:1336126
> Change-Id: I93b4e738a8816e6b318e5d5823bc9130f17deb37
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3781368
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Peng Huang <penghuang@chromium.org>

Bug: chromium:1336126,angleproject:7537
Change-Id: I15811bc2fef0ba22f6ac13d51c72ed96b2a12507
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3792046
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2022-07-28 21:22:31 +00:00
mark a. foltz a78c01b27d [Cast Convergence] Remove is_chromecast in ANGLE.
is_chromecast is going to be removed from Chromium.  This is_chromecast
with is_castos, which will be set for builds that target Nest Linux
devices.

Upstream bug: https://crbug.com/1337084
Umbrella bug: https://crbug.com/1219802
Design doc (internal only): https://go/unified-cast-web-runtime

Bug: angleproject:7521
Change-Id: Id1a0df72e37868eabd1f851123eec615f6657570
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3782573
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2022-07-26 19:53:35 +00:00
Lubosz Sarnecki 45e5cf0147 Vulkan: Implement ASTC emulation.
Implement ASTC emulation using the astc-encoder library.
Add copy_image tests to deqp_gles31_test_expectations for desktop cards.
Add emulatedAstc limitation.
Don't expose emulated ASTC from WebGL contexts.
Introduce ANGLE_HAS_ASTCENC define to check for build availability.
Only build on angle_standalone configurations.

DEPS: Add astc-encoder.
image_util: Decode ASTC to RGBA.
TracePerfTest: Skip car_chase and genshin_impact on NVIDIA.

Bug: angleproject:7415
Change-Id: Ib2f3fd3f710164a2ecd5d5edf780227031bbfb84
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697999
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2022-07-19 12:24:48 +00:00
Shahbaz Youssefi c775dd498a Allow list of restricted traces to be overriden in gn args
When focused on profiling a single or a few traces, this speeds up build
and upload to Android.

Bug: angleproject:7404
Change-Id: I5234a6fa7e8167f86b5b33b8db526662a7d65bd9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3438425
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-06-28 03:05:46 +00:00
Brian Ho 1adf46a60a Enable X11 defines on ChromeOS
While the typical deployment of ChromeOS on physical hardware does
not use X11, the linux-chromeos-rel and linux-lacros-rel builders on
the Chromium CQ do. These builders compile a special version of
Chrome with all of the ChromeOS features (e.g. the system UI) that
runs on top of a generic Linux bot as a windowed application.

As a result, this special build of CrOS needs to interface with the
windowing system of the host Linux machine, which is X on the CQ
bots. These builds still have target_os=chromeos, so we need to
include is_chromeos to angle_use_x11 to get the right defines.

Unfortunately, this CL breaks the linux-chromeos bots as the X11
define makes ANGLE use VulkanXcbDisplay which in turn fails init as
SwANGLE does not support VK_KHR_xcb_surface. There's a Chromium CL
that fixes this by explicitly requesting the headless display. Thus,
we need to wait for that to land or else the Chromium CQ will break
on roll.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/3686625

Bug: b/233238923
Change-Id: Ifec50f68826aef2c3d732ae9dedabcd6d61f45a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3689809
Commit-Queue: Brian Ho <hob@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2022-06-14 14:29:54 +00:00
Jamie Madill 7df1f58164 GN: Add angle_build_tests.
This lets ANGLE builders disable targets they don't need or can't
build.

This will fix the roll into Skia broken by http://crrev.com/c/3645441.
Dawn will also need to update its .gn file to set angle_build_tests
to false.

Bug: angleproject:4964
Change-Id: Ie40bdd33d7b59e93813a35df20c4f09c32961f51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3664296
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
2022-05-24 15:55:37 +00:00
Jamie Madill 3da24b5cd3 Move trace loader code to a common location.
With that Capture/Replay will be able to make use of the same
code.

CL authored by gert.wollny@collabora.com.

Bug: angleproject:4964
Change-Id: Ie1ba663169a34929f5a169ab74c7042e9fd5deb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645441
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-05-20 15:59:54 +00:00
Antonio Caggiano 2fb58a95b0 Re-land: "Vulkan: GBM platform"
Add support for GBM platform by implementing a Display with no WSI
extension.

Re-land fixes build script, including GBM Vulkan backend whenever ozone
platform GBM is enabled.

Bug: angleproject:7217
Change-Id: Icbf2d034b700e22ab4c351e479f472d65d832ebe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3637562
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2022-05-10 15:46:47 +00:00
Yuly Novikov 0db4c39b5b Revert "Vulkan: GBM platform"
This reverts commit 825d5b2c59.

Reason for revert: Fails link rolling into Chrome crrev.com/c/3635013
https://ci.chromium.org/ui/p/chromium/builders/try/chromeos-amd64-generic-rel/1149608/overview
https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-compile-dbg/1013047/overview
https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-rel/1189185/overview

Original change's description:
> Vulkan: GBM platform
>
> Add support for GBM platform by implementing a Display with no WSI
> extension.
>
> Bug: angleproject:7217
> Change-Id: Ia9089131c5984dfdd926d2f85f1c218df1e84d9a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3596042
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

Bug: angleproject:7217
Change-Id: Ia8a4ca753a8f18d6a2c607010b5afabf6a78fe9a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3636059
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-05-09 20:04:14 +00:00
Antonio Caggiano 825d5b2c59 Vulkan: GBM platform
Add support for GBM platform by implementing a Display with no WSI
extension.

Bug: angleproject:7217
Change-Id: Ia9089131c5984dfdd926d2f85f1c218df1e84d9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3596042
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-05-09 18:08:24 +00:00
Antonio Maiorano b72cff8c0a Fix build flags not in declare_args when angle_has_build is true
Required so that these can be overridden in .gn files. Will allow us to
fix roll of ANGLE into Dawn.

Bug: angleproject:6902
Change-Id: I8636778969ae489fdc7420414957d43fcfb634a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3627120
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2022-05-04 15:07:18 +00:00
Brian Osman 9200ba5371 Reland "Make SPIRV optional for Metal backend"
Updated default conditions to match old behavior.

This is a reland of commit 29287e1fc7

Original change's description:
> Make SPIRV optional for Metal backend
>
> This allows clients (ie Skia) to build ANGLE without needing
> all of the additional Vulkan dependencies. Developer builds
> will continue to include both the direct and SPIRV paths, for
> debugging purposes.
>
> Bug: angleproject:7155
> Change-Id: I1c38ee19e747df8b25fd2f8e8efa3b420a4d7766
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3605764
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Auto-Submit: Brian Osman <brianosman@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

Bug: angleproject:7155
Change-Id: I439160f2e1f05a3dbe22df82336246a73a0a7d0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3615012
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2022-05-03 02:48:26 +00:00
Cody Northrop 437053a163 Revert "Make SPIRV optional for Metal backend"
This reverts commit 29287e1fc7.

Reason for revert:
Possible root cause of Mac failures http://crbug.com/1320588

Original change's description:
> Make SPIRV optional for Metal backend
>
> This allows clients (ie Skia) to build ANGLE without needing
> all of the additional Vulkan dependencies. Developer builds
> will continue to include both the direct and SPIRV paths, for
> debugging purposes.
>
> Bug: angleproject:7155
> Change-Id: I1c38ee19e747df8b25fd2f8e8efa3b420a4d7766
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3605764
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Auto-Submit: Brian Osman <brianosman@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

Bug: chromium:1320588
Change-Id: Id160118146dad1b8f1af40c60ddefd717516cd1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3614527
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2022-04-28 16:38:31 +00:00
Brian Osman 29287e1fc7 Make SPIRV optional for Metal backend
This allows clients (ie Skia) to build ANGLE without needing
all of the additional Vulkan dependencies. Developer builds
will continue to include both the direct and SPIRV paths, for
debugging purposes.

Bug: angleproject:7155
Change-Id: I1c38ee19e747df8b25fd2f8e8efa3b420a4d7766
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3605764
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-04-27 21:03:37 +00:00
Yuxin Hu 80d50b9928 Add build arg to automatically attach renderdoc
Macro ANGLE_TEST_ENABLE_RENDERDOC_CAPTURE was defined
only for files under src/libANGLE, however, we need to
use this Macro in filed under src/tests/. Move the Macro
config from BUILD.gn to src/tests/BUILD.gn.
Also add a new gn arg angle_enable_renderdoc
to control enable/disable the Macro.

Bug: angleproject:6072
Change-Id: I3879015e9bdfe2530012ea39729a31c47129ce4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3609024
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-04-27 18:14:27 +00:00
Roman Lavrov ebfb9b9f00 Configure logging in perf and gold tests to include time.
Currently no timestamp is logged:
[I2022-04-25T18:45:14.761163Z 548 0 cmd_stream.go:336] {cmd}
INFO:root:adb --version ...

Before switching to android_helper relative timestamps in seconds
were printed, set up by catapult. Timestamps proposed in this CL are
more consistent with outer logging but keep prefix short. Example:

[I2022-04-25T18:45:14.761163Z 548 0 cmd_stream.go:336] {cmd}
I18:45:14.999999Z adb --version ...

Bug: angleproject:6854
Change-Id: I8ef7c9ae44eb5dba564a41456ce9417e3fe0f06c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3606913
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
2022-04-26 16:33:45 +00:00
Roman Lavrov b5d34da088 Add src/tests/py_utils/ for utils, angle_path_util for imports.
Detect if angle or chromium checkout when adding deps paths,
so that random paths from above angle_root don't get added to
sys.path when imported from an angle checkout.

Bug: angleproject:6854
Change-Id: I4cd3334a2313d921f8651de7056f4f3798b8e072
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3582978
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-04-14 09:59:30 +00:00
Kimmo Kinnunen ba04fcfd10 Support ANGLE_PREFERRED_DEVICE on CGL
Add the possibility to test both integrated and discrete GPU
with ANGLE tests. Previously it was using only discrete.

The binaries need the NSSupportsAutomaticGraphicsSwitching bundle
property.

This is needed to test ANGLE_power_preference.

Changes the behavior of test apps:

Previously,
  ./angle_end2end_tests
would use discrete GPU.

After,
  ./angle_end2end_tests
or
  ANGLE_PREFERRED_DEVICE=intel ./angle_end2end_tests
will use integrated GPU.
  ANGLE_PREFERRED_DEVICE=amd ./angle_end2end_tests
will use discrete GPU.

Bug: angleproject:7093
Change-Id: Ia64f6024e3215e69c2a1bde3ba4f67c3ca595476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3516114
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2022-04-07 05:08:44 +00:00
Cody Northrop e3c4491963 Debug: Add angle_enable_trace_events
Include the following GN arg to print all GLES and EGL commands:

    angle_enable_trace_events = true

Bug: angleproject:7126
Change-Id: I78eb061c10ed519d6a0b0357eea11567d1cfb518
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3551656
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2022-03-26 23:28:50 +00:00
马爱国 8a2a4fa70f Add loongarch support
Bug: angleproject:7104
Change-Id: I9b9c57b76463f16d0c3c7ccc8b81c1bb657a3cc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3522459
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-03-18 03:01:54 +00:00
Brandon Schade 1760ce373e Add usage of Spirv through glslang build flag
Add new build flag angle_use_spirv_gen_through_glslang.
If set, angle_enable_spirv_gen_through_glslang is enabled
and the generateSPIRVThroughGlslang feature is also enabled.

Bug: angleproject:6210
Change-Id: I8f4f71c2d01314a36b15fae795caa01a1ffa7fbc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3502529
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
2022-03-15 00:24:49 +00:00
Erik Rose a70d728c7f Correct a typo that was keeping Skia from compiling.
For example:
https://logs.chromium.org/logs/skia/5948b4721f002c11/+/steps/gn_gen/0/stdout.
More specifically:
https://logs.chromium.org/logs/skia/5948b4721f002c11/+/steps/gn_gen/0/stdout.

Bug crept in on
https://chromium-review.googlesource.com/c/angle/angle/+/3487449.

Bug: angleproject:7061
Change-Id: I6bae23375505aa714733033f5b84c1b3c8c421f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3488558
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-02-25 21:04:02 +00:00
Antonio Caggiano e2d5eb7295 Vulkan: Wayland dependency
Add wayland as a third-party dependency and add it to the include
directories of vulkan-dependent targets.

Bug: angleproject:6902
Change-Id: I1c6305ac3e214ecda532988e28acaa6b8e997fd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3487449
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-02-24 14:03:21 +00:00
Shahbaz Youssefi 1e29ba6269 Vulkan: Enable overlay by default with debug layers
Bug: angleproject:6976
Change-Id: I8fdd7546358fc1079525862cba0a4a6ff8357f78
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3457346
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-02-14 18:07:05 +00:00
sugoi1 8a1f8af4d2 Turn on the Vulkan backend on ChromeOS
ChromeOS needs to switch from testing on legacy SwiftShader GL to
testing on SwANGLE instead. This CL allows ANGLE's Vulkan backend
to exist on ChromeOS.

Bug: chromium:1225003
Change-Id: I7bf702ce18857707226461152b560a570797fce0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424658
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
2022-01-28 20:44:10 +00:00
Yuly Novikov 9d042d686f Cleanup after iOS build fixes
Bug: angleproject:6871
Change-Id: Ia5cd33c4532e10e61c1ca2c35d5190df97e36f5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3370867
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2022-01-07 21:35:20 +00:00
Yuly Novikov 535a903474 Suppress headers includes privacy checks for iOS executables
Other targets were taken care of in crrev.com/c/2643859

Bug: angleproject:5417, angleproject:6871
Change-Id: I302f68a8067efff7a5b3597a1cc1e7185043a14c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3370265
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2022-01-06 20:26:33 +00:00
Jamie Madill 58aeec65c9 Capture/Replay: GN cleanups.
This adds a GN "angle_trace_library" template that will be used
with capture replay tests and restricted trace tests to share code.
It could also be theoretically used to fix the capture replay
sample.

Also changes the capture replay tests GN to make the test exe
always build even without the defines. This is possible because of
the switch to JSON from code autogen, and makes it easier to catch
and fix compile errors in this test harness.

Bug: angleproject:5133
Change-Id: Ia87b6bbb0ea6e1abb557f962ca16d074207325ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3360783
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-12-30 20:53:16 +00:00
Jamie Madill 4d893a9359 Re-land: "Trace Tests: Remove auto-generated code."
No significant changes in the re-land.

Bug: angleproject:5133
Change-Id: Ib5bb8fba3e9e2f1f648d5af251b7b2319c9f37dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352432
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2021-12-23 19:22:52 +00:00
Jamie Madill ab288fea5d Upgrade restricted traces. (Re-land)
Includes removing capture to temporary ResourceMaps,
and including all source files in the JSON.

Bug: angleproject:5133
Change-Id: I0508dd46a9f613a96ca3635f82b6904c0f2523a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3345222
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-12-21 19:28:20 +00:00
Cody Northrop 709d872780 Revert "Trace Tests: Remove auto-generated code."
This reverts commit 1c0bb44862.

Reason for revert: Causing failures on Intel Linux with native driver.

Original change's description:
> Trace Tests: Remove auto-generated code.
>
> Bug: angleproject:5133
> Change-Id: I71a82071b1c667475f7fefcd6c8766a9de71141d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144215
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>

Bug: angleproject:6816
Change-Id: Ic35145c8c3bb23ccf196b86def42f4a82f07aad5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340332
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-12-15 00:50:10 +00:00
Jamie Madill 1c0bb44862 Trace Tests: Remove auto-generated code.
Bug: angleproject:5133
Change-Id: I71a82071b1c667475f7fefcd6c8766a9de71141d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144215
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-12-14 22:11:16 +00:00
Maksim Sisov 2be4f04a47 linux: enable angle gl for wayland only builds.
Chromium is unable to use angle gl implementation if it's a wayland
only build as angle_use_x11 is false then.

This CL fixes that and allows Chromium Wayland only build use
angle GL.

Bug: chromium:1231934
Change-Id: Ic4363b986abd6453865f63111032ac810fafc8de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3295616
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2021-11-23 23:21:41 +00:00
Jamie Madill d27552f21f Re-land: "Vulkan: Allow SystemInfo to pick ICD."
Re-land fixes build on iOS and Android with ANGLE/Vulkan.

This will be used in conjunction with SwiftShader.

Bug: angleproject:6496
Change-Id: Id38403da1e377bba293dc8368d1c1aac29bf56a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3282426
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-16 03:56:34 +00:00
Jamie Madill 96bce6bde2 infra: Fix UBSAN build.
The compilation of the trace tests would fail in UBSAN with
optimization disabled. Fix this by allowing optimization of the
large traces when running under UBSAN.

Bug: angleproject:5795
Change-Id: Ib11514a00495ed1af4faeecca81283f4c98da135
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3283164
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-11-15 21:40:24 +00:00
Maksim Sisov fa2e374974 Reland "rename use_x11 to ozone_platform_x11"
This is a reland of 86f2854579

X11 shouldn't be enable for is_chromecast cases as
the original use_x11 gn arg is only enabled on linux && !chromecast.

Original change's description:
> rename use_x11 to ozone_platform_x11
>
> Ozone is default now in Chromium and non-Ozone/X11 (aka use_x11) is
> deprecated. During the transition period use_x11 == ozone_platform_x11.
>
> Bug: chromium:1096425
> Change-Id: Ia691ce249bc49040956bed033891799127a57bbc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151755
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>

Bug: chromium:1096425
Change-Id: I6f8dbacb756ce57ca7379bbd991ca1ff470c244d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3263987
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
2021-11-09 06:35:56 +00:00
Sylvain Defresne 30afc25e1f [ios] Remove support for building with Xcode clang
Chromium //build will soon remove the `use_xcode_clang` variable.
Remove it from Angle to avoid breakage when the variable is gone.

Bug: chromium:1266466
Change-Id: I3f95ffe611cc38c9de76e9744186efff3332d539
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3259713
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-04 19:57:28 +00:00
Sergey Ulanov 290d21eb96 Enable SwiftShader on Fuchsia
SwiftShader is currently used on Fuchsia test bots. Enable SwiftShader
in Angle on Fuchsia.

Bug: chromium:1225002
Change-Id: I42beac94692d16987ce3bdf80abd629540a1b31f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233273
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-21 19:07:12 +00:00
Jamie Madill 58b47b1908 GN: Disable SwiftShader by default with MSVC.
This was broken as fallout from http://crrev.com/c/3189512 and is
currently breaking the Chromium -> ANGLE roll. Instead of trying
to fix the warnings, disable compiling SwiftShader with MSVC.

Bug: angleproject:6572
Change-Id: I041a4366b348b77f8213802495dd88c4050a714c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226720
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2021-10-15 15:36:14 +00:00
Shahbaz Youssefi f3d5dac3ba Vulkan: SPIR-V Gen: Drop dependency to glslang
The SPIR-V gen path is now made default.  Compilation through glslang is
still supported for debugging, and is enabled on the GLSL* end2end tests
for smoke testing.  On release builds, glslang is not supported.

To test with glslang, add the following gn arg (only necessary if dcheck
is disabled):

    angle_enable_spirv_gen_through_glslang = true

Then enable the generateSPIRVThroughGlslang feature.  This can be done
by setting an environment variable:

    ANGLE_FEATURE_OVERRIDES_ENABLED=generateSPIRVThroughGlslang ./angle_deqp_gles2_tests

Binary size saving:

- 1.3MB on Linux (SPIR-V gen itself: 240KB)
- 730KB on Android (SPIR-V gen itself: 140KB)

Perf tests:

- LinkProgramBenchmark.Run/vulkan_compile_single_thread
  * Through glslang:
      truncated mean: 1287033.36
  * Direct SPIR-V Gen:
      truncated mean: 244495.91  (~80% reduction)

- LinkProgramBenchmark.Run/vulkan_compile_multi_thread
  * Through glslang:
      truncated mean: 4565894.83
  * Direct SPIR-V Gen:
      truncated mean: 1158164.10  (~75% reduction)

Bug: angleproject:4889
Bug: angleproject:6210
Change-Id: I486342702977c8114e90073b97183aba115a8b2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115140
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-10-14 04:43:32 +00:00
Jamie Madill b930b9d32e Capture/Replay: Remove redundant "capture" from label
old: trex_200_capture_context1_frame001.cpp
new: trex_200_context1_frame001.cpp

The 'capture' word wasn't really adding any useful information.
Take it out so the filenames are a bit shorter.

Bug: angleproject:5133
Change-Id: Ibd7d47df2aa1f24a641c5d5b2a6dd14d6ce240e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149370
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2021-09-30 14:27:14 +00:00
Jamie Madill afe0dd9edf Revert "rename use_x11 to ozone_platform_x11"
This reverts commit 86f2854579.

Reason for revert: Suspected for breaking the ANGLE roll:
https://crrev.com/c/3171455

Original change's description:
> rename use_x11 to ozone_platform_x11
>
> Ozone is default now in Chromium and non-Ozone/X11 (aka use_x11) is
> deprecated. During the transition period use_x11 == ozone_platform_x11.
>
> Bug: chromium:1096425
> Change-Id: Ia691ce249bc49040956bed033891799127a57bbc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151755
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>

Bug: chromium:1096425
Change-Id: Ifa0a2f5f1323704d7e9d308210efb26c9987b5cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3181561
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-09-24 13:15:30 +00:00
Maksim Sisov 86f2854579 rename use_x11 to ozone_platform_x11
Ozone is default now in Chromium and non-Ozone/X11 (aka use_x11) is
deprecated. During the transition period use_x11 == ozone_platform_x11.

Bug: chromium:1096425
Change-Id: Ia691ce249bc49040956bed033891799127a57bbc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151755
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2021-09-20 17:44:38 +00:00
Jamie Madill 1a3b17dacd Capture/Replay: Fix GN build when JSON not available.
This change makes it so we no longer build frame capture when JSON
is not available. In Skia's build this is the case. Also updates
the GN scripts to use a new variable 'angle_has_frame_capture'.

Bug: angleproject:5133
Bug: angleproject:6374
Change-Id: I30290a160f6ebe6419f371e36d304a61bf0a85ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152557
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-09-10 00:19:23 +00:00
Jamie Madill 2f3e4db838 Capture/Replay: Serialize trace metadata to a JSON file.
This will allow us to remove more code auto-generation for the trace
tests. The trace info now can be loaded directly from JSON instead of
from the autogenerated information.

Bug: angleproject:5133
Change-Id: I04e22b9279b19282df274bc8defcd363d0449111
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140218
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2021-09-08 17:13:59 +00:00
Alexey Knyazev 5519d3184d Vulkan: Enable VVL on macOS
Bug: angleproject:4082
Change-Id: I4c8c28b4d885e7716967f43518ee611ab47c104a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140172
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-09-08 14:35:21 +00:00
Shahbaz Youssefi 58930a73ce Translator: Facilitate integration in FireFox; Part 2
Support for desktop GLSL builtins is now controlled by a gn arg, instead
of being tied to is_android.

Bug: angleproject:6188
Change-Id: Ia152d31bd49ca6de2b29873ee4998c1598904382
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076285
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-08-27 04:27:01 +00:00
Shahbaz Youssefi b8d6f8aa93 Translator: Facilitate integration in FireFox
Instead of relying on is_apple to build workarounds applied on apple
hardware, a new build argument is added for this purpose.  This allows
FireFox to more easily include these files in their build system (which
builds every workaround on every platform).

The workarounds are reorganized too and moved from tree_ops/gl/mac to
tree_ops/apple.  RewriteRowMajorMatrices is moved there too as it's now
used by both gl and metal.  This workaround is large, and removing it
from non-apple builds improves binary size (~40KB on Linux).

Bug: angleproject:6188
Change-Id: I8e1dab44d0235bb6b8341d53721bdd0d157d46c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3047385
Reviewed-by: Jeff Gilbert <jgilbert@mozilla.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-27 03:05:45 +00:00