Commit Graph

2127 Commits

Author SHA1 Message Date
angle-autoroll
e8a29d6cd7 Roll Chromium from bfc7c889fd6c to 7df45c601f1c (609 revisions)
bfc7c889fd..7df45c601f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,syoussefi@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: a838ac9f43..1889753ce5
* buildtools/linux64: git_revision:1cd35c1b722472e714c30d12031af81443bb20ae..git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d
* buildtools/mac: git_revision:1cd35c1b722472e714c30d12031af81443bb20ae..git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d
* buildtools/win: git_revision:1cd35c1b722472e714c30d12031af81443bb20ae..git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d
* testing: ed771cb046..da030c5a1c
* third_party/abseil-cpp: 85f7b5752b..834450f113
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..89fad9023d
* third_party/depot_tools: 2b19afb820..dedeb88991
* third_party/fuchsia-sdk/sdk: version:13.20230613.4.1..version:13.20230614.3.1
* third_party/r8: AostPkk2hQv2Pz7k7JMtoD346t5IWWll26jAdkVHk2wC..vw5kLlW3-suSlCKSO9OQpFWpR8oDnvQ8k1RgKNUapQYC
* tools/clang: 21289a1a1b..573d371dff
* tools/luci-go: git_revision:e99800d3fd42249c9cdda3f58ba31c674b4876f6..git_revision:39f255d5875293d3e1d978888b819ac124a8b0cc
* tools/luci-go: git_revision:e99800d3fd42249c9cdda3f58ba31c674b4876f6..git_revision:39f255d5875293d3e1d978888b819ac124a8b0cc
* tools/mb: b69b0ca417..bf6c9c4977
* tools/perf: 1b905778b8..3a42bc4aaa
* tools/skia_goldctl/linux: TCcuUOFbPU3igS_xlEVBu_d1nZ71zngQ3oL-Bdm0GOoC..tVDltUu_xw7_tk4k-rnp7Ua8pKhf3EEHmTwX5c6BS4AC
* tools/skia_goldctl/mac_amd64: Btg2SHJpGjd1aivMSCt0RT5G6j33TDTYYfLANClZApYC..ov_DuOSHCneWQSTW6AZ9gWHEeoJxXEYDX9dl_0rA_d0C
* tools/skia_goldctl/mac_arm64: SW3HcHhCf69xzWwap7_fHNSualUgKeG_3N6xTMmVuVoC..3wDkZAVD4vV1dNhXfRNMOUBvODbzJ23AVmmsFbTsbkQC
* tools/skia_goldctl/win: yDoSOjnzDYE9APn8a3d-FcPJ6wwwq2FXWUTOJpf2__8C..yW7os_HVMoE-wq04olb6B7GNgEmaYZYPN0ecTzPPBdkC
No update to Clang.

Bug: None
Tbr: syoussefi@google.com
Change-Id: I9b6216bdb66bdc0c30c64226a785ec25e2da3b2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4617669
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-06-15 08:26:25 +00:00
Igor Nazarov
36c3e0f546 Implement "Shared Context Mutex" functionality.
Existing implementation uses single `GlobalMutex` for
- EGL calls
- GL calls for Contexts with concurrent access.

This CL introduces abstract `egl::ContextMutex` with two
implementations:
- SingleContextMutex;
- SharedContextMutex<Mutex>;

Note:
`std::mutex` is used in this commit. It is very easy to change mutex
type either at compile-time or at run-time (single type per Display).

When Context:
- is not Shared;
- does not use `EGLImage`s;
- does not use EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE
- does not use EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE
then it will be using `SingleContextMutex` with minimal overhead.

Before such Context is used as `shareContext` or uses `EGLImage`
its mutex replaced by `SharedContextMutex<Mutex>`.

The `GlobalMutex` is only used for EGL calls, while `egl::ContextMutex`
implementations for GL calls. Because some EGL calls use Context,
explicit `egl::ContextMutex` lock is required. This is implemented by
generating "egl_context_mutex_autogen.h" header, and insertion of
`ANGLE_EGL_SCOPED_CONTEXT_LOCK()` macro before `ANGLE_EGL_VALIDATE()`
in each EGL entry point. Implementation in "egl_context_lock_impl.h"
returns lock for required APIs. Special cases of `egl::ContextMutex`
lock handled separately. `std::unique_lock<>` is not used for
performance reasons.

`egl::ContextMutex` explicitly locked when capturing EGL calls.

Fixes EGLImage problem:
    e18240d136
    Mark contexts as shared when importing EGL images.

Details:
- EGLImage inherits Context's mutex when created.
  Mutex is used when the EGLImage accessed or destroyed.
- When EGLImage is used in Context with other `egl::ContextMutex`,
  two mutexes are merged into one.
- After the mutex merge, Context Groups will remain separate,
  but will not be able to run in parallel.

Fixes race when checking `context->isShared()` in the
`SCOPED_SHARE_CONTEXT_LOCK()` macro. One Context may start executing GL
call while not "Shared", but become "Shared" inside the call. New
(second) "Shared" Context may immediately start using GL and potentially
corrupt some "Shared" state.

Possible performance benefit: allows parallel execution in some cases,
when single `GlobalMutex` would block.

Important note:
    Process of replacing the `SingleContextMutex` by
    `SharedContextMutex<Mutex>` is not 100% safe. This mean that
    original Context may still be using `SingleContextMutex` after
    activating `SharedContextMutex<Mutex>`. However, this was always
    the case before introduction of this CL. Old `Context::mShared`
    member update was not synchronized in any way at all. In other
    words, this solution does not 100% fix the original problem.
    For 100% safe solution `SingleContextMutex` should not be used
    (always pass `SharedContextMutex<Mutex>` to the `gl::Context`
    constructor). See `lockAndActivateSharedContextMutex()` for more
    details.

CL adds new build option:
    angle_enable_shared_context_mutex = true

Behavior with other build options:
- When:
    `angle_enable_shared_context_mutex`    is disabled or
    `angle_enable_share_context_lock`      is disabled or
    `angle_force_context_check_every_call` is enabled,
  Contexts will always have `SingleContextMutex`, however it will be
  only used in special cases. `SCOPED_SHARE_CONTEXT_LOCK()` will use
  `GlobalMutex` when applicable.
- Otherwise, `SCOPED_SHARE_CONTEXT_LOCK()` will use `egl::ContextMutex`.

Some GFXBench "1080p Driver Overhead 2 Offscreen" performance numbers.
Tested on S906B (Samsung Galaxy S22+) on old ANGLE base:
    807c94ea85
    Capture/Replay: Adjust tests do adhere to capture limits

Each test result is an average frame number from 6 runs.

    SingleContextMutex                            6579 ( +0.13%)
    (old) GetContextLock() (mShared is false)     6570

Forced `mShared = true` or NOT using `SingleContextMutex`.

    SharedContextMutex<std::mutex> FORCE          5061 (-22.97%)
    (old) GetContextLock() FORCE                  4766 (-27.46%)

Bug: angleproject:6957
Bug: chromium:1336126
Change-Id: Idcd919f9d4bf482b9ae489bd8b4415ec96048e32
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4374545
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-06-14 16:59:15 +00:00
angle-autoroll
341dabf8e5 Roll vulkan-deps from 701c5daafb72 to cebf5626ca50 (30 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/701c5daafb72..cebf5626ca50

Changed dependencies:
* glslang: a6662c53ce..72713baf74
* spirv-cross: 030d0be28c..2d3a152081
* spirv-tools: 93c13345e1..40dde04ca2
* vulkan-headers: 605dc6d3e7..cb71b646f1
* vulkan-loader: c97930ba36..88d70047fb
* vulkan-validation-layers: ee8fe8140a..5cde5d21a3

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,syoussefi@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: syoussefi@google.com
Change-Id: Id2fb37c26ef6d6ca61d4b72a1c18dc5180e18654
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4614205
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-06-14 10:56:48 +00:00
angle-autoroll
1e06b31e38 Roll VK-GL-CTS from 7dc49a77dd0f to f7646f53ba61 (6 revisions)
7dc49a77dd..f7646f53ba

2023-06-12 marcin.zajac@mobica.com Vulkan video capabilities tests for
1.3.253
2023-06-12 alexander.galazin@imgtec.com Merge vk-gl-cts-public/main into
vk-gl-cts/main
2023-06-12 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3
into vk-gl-cts/main
2023-06-12 piotr.byszewski@mobica.com Merge
vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main
2023-06-12 marcin.zajac@mobica.com Enabling storage image write support
2023-06-12 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.6
into vk-gl-cts/main

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,syoussefi@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: syoussefi@google.com
Change-Id: Idf35864a0c0a40546477e0352fd35cd59613500b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606371
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-06-13 07:47:04 +00:00
Roman Lavrov
1572f609c1 Disable hashes for ANGLE features generator
Features autogen files are small, fast to regenerate.
Run the generator in --verify-only mode and check content every time,
instead of using hashes.

Bug: angleproject:8193
Change-Id: I3988ab50a6c33171b7b7252c03f34a74f09fcf18
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4604579
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-06-12 22:14:32 +00:00
Roman Lavrov
21f16cb163 Disable clang-format on ANGLE features autogen outputs
Updates the script to produce reasonably formatted code without
clang-format.

Autogen files moved to autogen/ sub-directories because clang-format
does not support per-file settings ;(

This allows to run this codegen very quickly
(~50ms on my machine)

Bug: angleproject:8193
Change-Id: Ie84282090d574ebb4debe3edcfd82f983f27a5ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4604578
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-06-12 17:52:18 +00:00
Steven Noonan
a01a566c48 extension xmls: fix incorrect use of <ptype> tags
I was having trouble using some GL/EGL loader generators because of some
errors in the XML definitions for ANGLE.

The first major problem is the content of the <ptype> tags. Let's refer
to the Khronos registry XML schema (which is annoyingly a PDF rather
than an xsd that we can test against, though I don't know if an xsd
would catch this anyway):

    https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/readme.pdf

In section 12.4.2, "Contents of <param> tags" it states:

    The <ptype> tag is optional, and contains text which is a valid type
    name found in <type> tag, and indicates that this type must be
    previously defined for the definition of the command to succeed.
    Builtin C types, and any derived types which are expected to be
    found in other header files, should not be wrapped in <ptype> tags

Note that the above is repeated for the contents of <proto> tags as
well.

The extension XML files currently have a bunch of <ptype> tags which
don't meet the expectations described above. The correct transformation
for them would be, for example:

    <ptype>GLfloat *</ptype>      ->   <ptype>GLfloat</ptype> *
    <ptype>void *</ptype>         ->   void *
    <ptype>const char *</ptype>   ->   const char *
    <ptype>EGLAttrib *</ptype>    ->   <ptype>EGLAttrib</ptype> *

The next issue is that some tags have some typos, such as "<pytpe>"
instead of "<ptype>". (Now *that* is something an .xsd would catch...)

The last issue is the use of the typename "GLvoid" which is not as
serious a problem. It is still defined in Khronos' gl.xml <types> block,
but Khronos no longer uses it in their XML registries. The comment for
the "GLvoid" type in their <types> block states:

    <type comment="Not an actual GL type, though used in headers in the past">typedef void <name>GLvoid</name>;</type>

So we might as well replace those with just plain "void".

Anyway, long story short: to apply these transformations, I used Perl
regular expressions, and applied these expressions in order:

- Fix the tag misspellings:

    s#<(/?)pytpe>#<\1ptype>#g

- Move the const qualifiers (if present) and pointer asterisk(s) (if
  any) outside the <ptype> tag itself:

    s#<ptype>(const )?([A-Za-z0-9]+)[ ]?(\*\*?)</ptype> #\1<ptype>\2</ptype> \3#g

- Replace "GLvoid", "char", and "void" inside ptype tags to normal
  C types outside tags:

    s#<ptype>(GLvoid|void|char)</ptype>#\1#g

Bug: angleproject:8190
Change-Id: Ib0bea79fecb7e714910b6e92124bb9f52994d0fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603709
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-06-09 21:15:16 +00:00
Geoff Lang
d55c91c361 Don't roll third_party/android_toolchain into AOSP.
Bug: None
Change-Id: I43a34f4e17b81482d8a0f994f9b729b7abd94b3d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603670
Reviewed-by: Solti Ho <solti@google.com>
2023-06-09 19:18:07 +00:00
Mark Lobodzinski
72df42832e Tests: Add Lotsa Slots trace
Test: angle_trace_tests --gtest_filter=TraceTest.lotsa_slots
Bug: b/286514838
Change-Id: I8756a21596f2a09abff8262b3a9489b638d3522d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603714
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
2023-06-09 18:24:26 +00:00
Steven Noonan
beeb465b6c xml: fix enum EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE
The name in the extension/require block did not match the name in the
enum specification block. This caused some EGL loader generators to fail
to run properly.

Bug: angleproject:8190
Change-Id: I6ce6e226121e7ea9aa611c7d331a8fd1bc83e55b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603708
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
2023-06-09 17:56:22 +00:00
Roman Lavrov
3e4f4caebc Tests: reduce load on perf bots by collecting less data
Collecting this data takes a significant amount of resources but we do
not actively use it at the moment.

Disable --split-shard-samples (will avoid separate calibration on each
shard)
Reduce samples to 6 (from default 10)

Bug: angleproject:7671
Change-Id: I87d45f21badb30ed44de9b9854c94fe7f67ecdc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4605335
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2023-06-09 17:21:46 +00:00
Roman Lavrov
5215293366 Add trace_interface: functions and callbacks for traces
Defines the interface between the test suite
(or an other TraceLibrary class user) and trace libraries.

TraceFunctions defines entry points for calls suite->trace, such as
SetupReplay() or SetBinaryDataDir().

TraceCallbacks defines entry points for calls trace->suite, for example
for loading .angledata.gz files.

These are set up via the exported SetupEntryPoints() call. Functions
like SetupReplay etc no longer need to be exported from the trace
library.

TraceInfo (parsed representation of the trace json) is moved to
trace_interface as is. This is convenient for further changes to the
fixture that will allow to easily move some of the captured parameters
to json.

This also moves Decompress functionality (and memory ownership) to test
suite entirely, which avoids Decompress/Delete callbacks - the trace
just calls LoadBinaryData via TraceCallbacks and TraceLibrary releases
the memory either on FinishReplay or in its destructor.
This should also take care of the memory leak described in
https://crrev.com/c/3858185

Bug: b/286072760
Change-Id: Ibc6f6f64156ad805b1917c8fc41a3b0d2c0d6375
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4594445
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2023-06-08 20:06:15 +00:00
Prashanth Swaminathan
c49674d156 Remove stale Android NDK and references [2/2]
Now that chromium/base has rolled and switched the android_ndk_root to
the new android_toolchain directory, remove the stale Android NDK. Fix
roller scripts to no longer roll Android NDK and Android blueprint
generation can remove references to the removed sources.

Bug: chromium:1448383
Test: Verified build of ANGLE.
Change-Id: Iba8bfd8be9fd6bfb4f75f5d3a273411bd11f6b5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4585389
Auto-Submit: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-06-08 18:08:44 +00:00
Yuly Novikov
b5d261ac5c Roll chromium_revision be1b60e248..510a3dff2b (1154868:1154869)
Change fuchsia_sdk_cipd_prefix from fuchsia/sdk/gn to fuchsia/sdk/core
per https://chromium-review.googlesource.com/c/chromium/src/+/4544541

Change log: be1b60e248..510a3dff2b
Full diff: be1b60e248..510a3dff2b

Changed dependencies
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2d01747514
* third_party/fuchsia-sdk/sdk: version:12.20230601.2.1..version:12.20230607.1.1
* third_party/r8: e9kuk0ZE8fKLVJ33ULiDJQ43Sg-S8wbRD0pG7hEcP9AC..4nvRHMrsaaAwaTGCTVhj-rVB4rr7rtMUb01KL83_TA8C
* third_party/zlib: 9c8e4fdccb..6fe0f7956f
* tools/android: a16d54239e..b9d0126966
* tools/clang: 66d5da40df..cc47a7ca0f
* tools/luci-go: git_revision:2eaf659a45c8945c3e15f202c4e8a734243f8270..git_revision:0ecab437ae2532a879b1203efc48f54bc6cadb77
* tools/luci-go: git_revision:2eaf659a45c8945c3e15f202c4e8a734243f8270..git_revision:0ecab437ae2532a879b1203efc48f54bc6cadb77
* tools/mb: 6b669febe1..ccf90ad0a2
* tools/memory: cc6bc21649..57b3b9e7c0
* tools/perf: 7aca1a25c2..8ba510e8e2
DEPS diff: be1b60e248..510a3dff2b/DEPS

No update to Clang.

Bug: None
Change-Id: Ib0dd750864863bdec2229c5b0fc50a36930870f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4598293
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2023-06-08 15:00:45 +00:00
angle-autoroll
ae9953cefb Roll vulkan-deps from a6525fe76b4c to c5a1402a455f (35 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/a6525fe76b4c..c5a1402a455f

Changed dependencies:
* spirv-cross: 12542fc6fc..030d0be28c
* spirv-tools: ec244c8598..59b4febd81
* vulkan-headers: 3df77fb3e4..605dc6d3e7
* vulkan-loader: 1f20a308fc..c97930ba36
* vulkan-tools: 9a252664d7..2c83dd6cb2
* vulkan-validation-layers: 2e88dc0a67..ee8fe8140a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,geofflang@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: geofflang@google.com
Change-Id: Ia832a37a1f46eb2a740c1101f0db0b22508813c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4599934
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-06-08 10:37:33 +00:00
Prashanth Swaminathan
bc66167d30 Disable the roll of 'android_ndk'
Chromium is being updated to 'android_toolchain', which means the
'android_ndk' DEPS is no longer present. Remove it from the roller until
the transition is complete, then it can be removed from this script
entirely.

Bug: chromium:1448383
Change-Id: I0b515611a94f9aae5951655639a57ec5a9e7ffde
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4600111
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Prashanth Swaminathan <prashanthsw@google.com>
2023-06-08 02:04:46 +00:00
Prashanth Swaminathan
15a29438b0 Migrate Android NDK to CIPD [1/2]
The Android NDK dependency is moving to a CIPD bucket to reduce the
checkout cost and to eventually move to NDK v25. This introduces the
NDK into an 'android_toolchain' directory. Following the roll of
chromium/base in this repository, a second change will delete the old
'android_ndk' checkout. As a result, the checkout size of this
repository will temporarily increase.

Bug: chromium:1448383
Test: Verified local builds of ANGLE.
Change-Id: Id2b7593270ae8d98e7353011dbc1b564da107786
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4585388
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-06-07 17:38:24 +00:00
angle-autoroll
176989ad00 Roll Chromium from 9e0b5e8b8a85 to fe5f79e217c4 (537 revisions)
9e0b5e8b8a..fe5f79e217

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,geofflang@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: c884d70f0c..7921c7ccf1
* testing: 098d0a11e4..c1df87f08b
* third_party/android_build_tools/lint: FObSM0x4tmlkstBzjEhG3sHenn993tmoNjl5naaW28AC..3AJFzcPQ9EDTP7XlHY6bgKZvGn7D812ptquuXFcUWzEC
* third_party/android_build_tools/manifest_merger: u2r6t6i4MR-JZBn40RJTHzLBwT4y59mjHv6kkrAlLSQC..nGzWwB6kx8dBDTH7L1jUxm8y3INDX3qVm9co3ntGk7EC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..1c6d2fbaf7
* third_party/depot_tools: 0d627781be..e445df0bfb
* third_party/r8: iTbMDX2gRMW4nmoA8J7oToRDDsMcjm6hJNVH-RpYKIoC..e9kuk0ZE8fKLVJ33ULiDJQ43Sg-S8wbRD0pG7hEcP9AC
* tools/android: 81976120c2..a16d54239e
* tools/mb: 38995191a8..6b669febe1
* tools/memory: 1084fb884e..cc6bc21649
* tools/perf: 7813c31dc3..7aca1a25c2
No update to Clang.

Bug: None
Tbr: geofflang@google.com
Change-Id: Ic0801cd566edf88973d7bfef7a83374268dda2ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4593673
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-06-07 08:45:20 +00:00
angle-autoroll
31aa3fa5da Roll Chromium from d6f22a2a164b to 9e0b5e8b8a85 (1063 revisions)
Manually update third_party/flatbuffers from Chromium

d6f22a2a16..9e0b5e8b8a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,geofflang@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: defeac7e7d..c884d70f0c
* buildtools/third_party/libunwind/trunk: cd144ced35..b5a43ecdac
* testing: 21f1443014..098d0a11e4
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..dc627ec37b
* third_party/depot_tools: 9e0ff22bfb..0d627781be
* third_party/flatbuffers/src: a56f9ec50e..13fc75cb6b
* third_party/r8: 0LMjUUpzAmxHrlftkzbDAaeuTDNXrOEgTgyJm8qIyvMC..iTbMDX2gRMW4nmoA8J7oToRDDsMcjm6hJNVH-RpYKIoC
* third_party/turbine: Foa7uRpVoKr4YoayCKc9EERkjpmGOE3DAUTWFLL7gKEC..G8Cku1fztaDd9to_8gk3PNWM2iRacAxD9zcUAgUPUEAC
* third_party/zlib: 982b036a25..9c8e4fdccb
* tools/android: 07b548d993..81976120c2
* tools/clang: 499a012d25..66d5da40df
* tools/mb: 10c4d4779d..38995191a8
* tools/perf: f08244f24a..7813c31dc3
* tools/skia_goldctl/linux: UMqOqE8nlXwo9xj56g4W9ySvvqo2Tsw3B6tWZLo19L8C..7Xu0Ohf2xgwAgLoFgq7LiZmi_Uk3x5gIX5Dta-tZg40C
* tools/skia_goldctl/mac_amd64: vjY1ew6KN-bIFZEk7IbwPCAb6xZxib9uqLXMwbi8JLQC..KYHtCI8pS_1-ZVhMhj0d7h-3H8ZdNtaGLYsYnDqRbnMC
* tools/skia_goldctl/mac_arm64: twOZsJTmRSqlOwstPpWMhT_fXhiOaijMu24-UJLGK20C..h-5CLVE7g4EEE3-uXZ610OaDlIMoYEx3RLgGWHXRA9AC
* tools/skia_goldctl/win: wveYksSfL51dPfdRZ5474IFmCMkL8gg6ygZxxPdBezAC..VWg6iFKkt4rAdHxGoJNLVlgsRlbT-Woz_41P6cFybmYC
No update to Clang.

Bug: angleproject:8178
Tbr: geofflang@google.com
Change-Id: Id46eb10ca81c88f396e42c17b55ead4f77af08c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4593140
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2023-06-06 14:52:52 +00:00
Roman Lavrov
e7a9275be2 Make run_code_generation faster using python3 for auto_script
Only changes the way we get auto_script inputs/outputs.
Before this CL, some of the scripts (depending on the shebang)
are run via vpython3 - which can take a few seconds. But the
inputs/outputs code generally doesn't require any unusual imports, so we
can just add little hacks to suppress those imports where needed when
an argument is given to the script.

Bug: angleproject:8184
Change-Id: Ib09a35b839318253fe7e913e24a756d2cb46dad1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4585820
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-06-05 13:50:57 +00:00
angle-autoroll
e64794b2ab Manual roll VK-GL-CTS from 356e6d2f8796 to 0c2e936905ea (9 revisions)
Manual roll requested by solti@google.com

356e6d2f87..0c2e936905

2023-06-02 rgarcia@igalia.com Test in-bounds attribute in out-of-bounds
stride
2023-06-02 marcin.zajac@mobica.com vk-build-programs executors limiter
2023-06-02 ziga@lunarg.com Add xfb query copy tests with availablity
2023-06-02 rgarcia@igalia.com Test negative vertex offset indices with
indexed draws
2023-06-02 gleese@broadcom.com Change normalize precision to reduce
needless inaccuracy
2023-06-02 vantablack@google.com Add VkFormat to AHB Format cases to
dEQP
2023-06-02 gleese@broadcom.com Fix reference values for double precision
degrees and radians
2023-06-02 piotr.byszewski@mobica.com Auto-generate
knownConformanceVersions
2023-06-02 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.6
into vk-gl-cts/main

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,solti@google.com on the revert to ensure
that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: solti@google.com
Change-Id: Ia8229869be6fc13fac4e9d58b5780ac74bdd7746
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4582660
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-06-02 16:30:59 +00:00
Roman Lavrov
4d2059902c Add all of tools/android to DEPS
Additional dependencies are being added to //build that reside outside
of it, and that also resolves the problem where lookup_dep.py was
manually checked in into ANGLE: https://anglebug.com/8178#c15

Bug: angleproject:8178
Change-Id: I332cd955ad6857f87e5611284ed43da6a69d4c30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4582331
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-06-02 15:38:57 +00:00
angle-autoroll
5726566af0 Roll vulkan-deps from 354eac3ca8c8 to a6525fe76b4c (50 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/354eac3ca8c8..a6525fe76b4c

Changed dependencies:
* glslang: 9fbc561947..a6662c53ce
* spirv-headers: 69155b22b3..8e2ad27488
* spirv-tools: f29e11dcb6..ec244c8598
* vulkan-headers: 9e61870ecb..3df77fb3e4
* vulkan-loader: b95d065ec5..1f20a308fc
* vulkan-tools: 9aafa3cf1a..9a252664d7
* vulkan-validation-layers: 27c61c8dd6..2e88dc0a67

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,solti@google.com on the revert to ensure
that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: solti@google.com
Change-Id: I1cc7ff765daf355cab281712b6a3fb9cedd8a4ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4577893
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-06-01 10:54:03 +00:00
Shahbaz Youssefi
b0e9bbd79f Vulkan: Split features for dynamic state
When a driver bug with dynamic state is encountered, it is hard to debug
which dynamic state exactly is causing an issue, due to the current
granularity of disabling all entire state from an extension.  With this
change, every dynamic state gets its own ANGLE feature, and can be
toggled as necessary.

Disabling the supportsExtendedDynamicState* features implicitly
disables all dependent features.

Bug: b/285124778
Bug: b/275210062
Bug: fuchsia:107106
Bug: angleproject:5906
Change-Id: Ic291279872df2d0eb58618ff364ab118bdcc4a9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4577553
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2023-06-01 00:37:50 +00:00
Mark Lobodzinski
29ad234a5b Tests: Add Off The Road trace
Test: angle_trace_tests --gtest_filter=TraceTest.off_the_road
Bug: b/285110104
Change-Id: I63e86ea9a18f9f60680ac758e284cc1b5e90c0ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4576882
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2023-05-31 16:31:47 +00:00
Yuxin Hu
dfb2bab0bb Apply Aliased Decorators To Image DataTypes
Bug: b/274478912
Bug: b/266235549
Change-Id: I2cd272a1e7481a8803be63efe0be11c61560b23e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4568287
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-05-31 16:25:55 +00:00
angle-autoroll
0bc1395837 Roll Chromium from 57b220f0ca60 to a4089b2e7987 (733 revisions)
Manually add third_party/cpu_features DEPS per
https://chromium-review.googlesource.com/c/chromium/src/+/4545271

57b220f0ca..a4089b2e79

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,solti@google.com on the revert to ensure
that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: 6cb0fb63f3..1ee2c02fc6
* testing: 5102dd5718..dddefcbae6
* third_party/abseil-cpp: 48cb81215e..2445bb17e1
* third_party/android_build_tools/lint: pSX8QZklEn1odNNyvBBDnanIA4IBlNNFgsAYPXnk-SYC..FObSM0x4tmlkstBzjEhG3sHenn993tmoNjl5naaW28AC
* third_party/android_build_tools/manifest_merger: guwWgYx931yQa5Mj6M08VMupp2R1bo_2F6zOS-azX9UC..u2r6t6i4MR-JZBn40RJTHzLBwT4y59mjHv6kkrAlLSQC
* third_party/android_ndk: https://chromium.googlesource.com/android_ndk.git/+log/8388a2be54..310956bd12
* third_party/android_platform: f312145c41..9f29aca7dd
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..9f3ef9c2ea
* third_party/depot_tools: 530d86d40b..05ab73be51
* third_party/fuchsia-sdk/sdk: version:12.20230529.1.1..version:12.20230530.1.1
* third_party/r8: 9dmrdF_0VI2W4VoKglVJJXLHpn8Aw00PAHSpkQL63hcC..4Oq32DG2vuDh7Frxj6tH5xyi77sVgBWpvvl4hwvZRR4C
* third_party/zlib: 337322d10f..0cf42a2592
* tools/mb: fa0546ccb6..b86e044e91
* tools/perf: 2ff63e72c7..6f1c5c73da
No update to Clang.

Bug: chromium:1446042
No-try: true
Change-Id: Id621741615cdfd54657f8f6cb9f88ec303dcb0a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4575480
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2023-05-31 15:13:35 +00:00
Roman Lavrov
8447e2792a code_generation_hashes json files end with newline
Bug: None
Change-Id: Iddd2c1777a1d5486a4d390c6e3d56ffb09f47f02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4574569
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-05-30 18:08:28 +00:00
angle-autoroll
89228c43bb Roll Chromium from c0f2c5cab1b4 to 57b220f0ca60 (1475 revisions)
c0f2c5cab1..57b220f0ca

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,solti@google.com on the revert to ensure
that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: 40ec269a47..6cb0fb63f3
* buildtools/linux64: git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7..git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8
* buildtools/mac: git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7..git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8
* buildtools/third_party/libc++abi/trunk: 982e218cb8..5c8dbff7a4
* buildtools/third_party/libunwind/trunk: 55ceecab99..cd144ced35
* buildtools/win: git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7..git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8
* testing: 06f1c1ef67..5102dd5718
* third_party/android_build_tools/aapt2: aidBg3POIv_jPt-kZ7O9aQ6-UdFSuLd8uBgGg4REBjsC..STY0BXlZxsEhudnlXQFed-B5UpwehcoM0sYqor6qRqsC
* third_party/android_build_tools/lint: AS57ntD4VO2MAIu0pkI0b3c3cFkdGt0cAkmSkiRimZkC..pSX8QZklEn1odNNyvBBDnanIA4IBlNNFgsAYPXnk-SYC
* third_party/android_build_tools/manifest_merger: HW7DJwNOXl50MEneaQnyD1Yg1sy_0Eej5E1nKepXq40C..guwWgYx931yQa5Mj6M08VMupp2R1bo_2F6zOS-azX9UC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..44beba1e6d
* third_party/depot_tools: 456d085e75..530d86d40b
* third_party/fuchsia-sdk/sdk: version:12.20230520.1.1..version:12.20230529.1.1
* third_party/r8: dJL8gwEiDUoK5pirX6la4l7ofdBufwcc1HUaCv4CZ8cC..9dmrdF_0VI2W4VoKglVJJXLHpn8Aw00PAHSpkQL63hcC
* third_party/zlib: 14dd4c4455..337322d10f
* tools/clang: 88e8637696..6cf0c7b139
* tools/perf: b7e3f403e3..2ff63e72c7
No update to Clang.

Bug: angleproject:8178
Tbr: solti@google.com
Change-Id: Ic974cb92ecf2a6c87f80a740bd7110effccfb392
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4572632
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-30 08:02:32 +00:00
Roman Lavrov
16b9a16ae4 Add supports_legacy_dithering feature
VK_EXT_legacy_dithering =>
VkPhysicalDeviceLegacyDitheringFeaturesEXT.legacyDithering =>
supportsLegacyDithering

Now getting enabled=true on Android master.

Bug: b/284462263
Change-Id: Ibf43184c78d9847044b10413d2050b653e452c9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4567572
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-05-26 21:08:32 +00:00
angle-autoroll
4dcfd08c07 Roll VK-GL-CTS from f7a3350256a6 to 356e6d2f8796 (9 revisions)
f7a3350256..356e6d2f87

2023-05-26 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3
into vk-gl-cts/main
2023-05-25 gleese@broadcom.com Fix problems when buffer_storage not
supported
2023-05-25 gleese@broadcom.com Remove deFloatCmp functions
2023-05-25 rgarcia@igalia.com Test clearing images with 64-bit formats
2023-05-25 matt.coster@imgtec.com Add pre-VK_KHR_maintenance1 implied
features to compressed formats
2023-05-25 lionel.g.landwerlin@intel.com Enable descriptor buffer tests
on implementation without compute only queues
2023-05-25 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.6
into vk-gl-cts/main
2023-05-22 piotr.byszewski@mobica.com Split pipeline.txt mustpass into
multiple files
2023-05-20 alexander.galazin@imgtec.com Add option to skip build post
checks

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,romanl@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: romanl@google.com
Change-Id: I09d94c9696c30eb81f374608ac778fb80b2fe4e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4571063
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-26 16:28:26 +00:00
Joanna Wang
388a184dd7 Fix clang_format -> clang-format path in DEPS.
Bug: chromium:1447924
Change-Id: I42a99b9d5015fd5d957ad3a7fe74e90f5442bc83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4566834
Auto-Submit: Joanna Wang <jojwang@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
2023-05-25 23:19:56 +00:00
Mark Lobodzinski
c52826611c Tests: Add Infinity Ops Trace
Test: angle_trace_tests --gtest_filter=TraceTest.infinity_ops
Bug: b/284273677
Change-Id: I19daa0a0e96a619ff3ec18074012cda213854947
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4566950
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2023-05-25 20:26:11 +00:00
Kenneth Russell
aea8856277 Reland "Metal: Optimized BufferSubData per device"
This reverts commit ee64836f70 ,
relanding the patch stack described there.

Between patchsets 1 and 5:

- The shadow buffer allocation has been replaced with a multimap of
  precisely-sized buffers, rather than rounding up buffer sizes.

- Garbage collection of shadow buffers is triggered in three situations:

  - A certain number of context switches have occurred; this number
    was hand-tuned to avoid GC every frame.

  - A certain number of command buffer submissions has occurred; this
    number was hand-tuned to GC no more often than every few seconds
    on representative workloads.

  - The total size of the allocated shadow buffers is more than 1 MB,
    and either more than twice the size at the last garbage
    collection, or 64 MB more than at the last garbage collection. In
    this case, aggressive GC is performed in order to reclaim shadow
    buffers more quickly.

Performance before and after these changes appears identical on
microbenchmarks. On one Figma test case, comparing GPU memory
allocated inside the BufferManager, peak consumption is decreased by
over 75%, and steady-state consumption decreases by over 88%.

Patchset 6 adds a needed workaround for a bug in the
AMDMTLBronzeDriver affecting uploads of client-side data, and
therefore some dEQP tests. It also streamlines the aggressive GC.

Bug: angleproject:7544
Change-Id: I81b061f0b33c27fa403527fa12d626f4e9c88ebe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4497413
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-05-25 18:43:45 +00:00
Joanna Wang
c121b0137b Change clang_format path in angle.
Bug: chromium:1447924
Change-Id: I148f8861d1fdc47c25aaad659aa2effe1f1e0af4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4567824
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Joanna Wang <jojwang@chromium.org>
2023-05-25 16:13:50 +00:00
Mike Schuchardt
c18972fdef Tests: Add Gangstar Vegas trace
Test: angle_trace_tests --gtest_filter=TraceTest.gangstar_vegas

Bug: b/280785771
Change-Id: Ia1d5de22d45979b44b0711fc510d2dfb7600b910
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4507340
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2023-05-24 23:27:52 +00:00
Mark Lobodzinski
ad386845bc Tests: Add Empires and Puzzles trace
Test: angle_trace_tests --gtest_filter=TraceTest.empires_and_puzzles
Bug: b/283500712
Change-Id: I3b4ed61ebe8948319ca74e79cb74053b554b0009
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4551449
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2023-05-24 19:05:25 +00:00
Cody Northrop
24504dd1d6 Tests: Add Kentucky Route Zero trace
Test: angle_trace_tests --gtest_filter="*kentucky_route_zero*"
Bug: b/284061674
Change-Id: Iab42008bfa3604e306628e90abc04b7ceb6fd4bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4559458
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2023-05-24 15:33:06 +00:00
Alexey Knyazev
33e3886213 Vulkan: Limit clampFragDepth workaround to affected drivers
Bug: angleproject:3970
Change-Id: I708591d86b8f2cb10d0cbdc7c14518fda45ac626
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4562134
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
2023-05-24 14:36:44 +00:00
Mark Lobodzinski
9e47cbd300 Capture/Replay: Rework trace EGLDisplay handling
Refactor the trace-replay EGLDisplay handling to allow
initializing the global EGLDisplay handle in the
InitializeReplay4() body. This included adding
support for eglGetCurrentDisplay() to the EGL-on-
WGL shim.

Test: angle_trace_tests --gtest_filter=infinity_ops
Bug: b/282725258
Change-Id: I2319fd9a35f8fb9c0a7f10547ca39f49ce402b8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4546267
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
2023-05-23 23:58:34 +00:00
Geoff Lang
6d3e587004 Metal: Disable Metal support on NVIDIA GPUs
NVIDIA GPUs are in a very small number of Macs and we don't have have
adequate test coverage to properly support them.

Add the disable_metal_on_nvidia feature to control support for NVIDIA
at runtime. Also factor the support of GPU family 1 into a feature.

Bug: angleproject:8170
Change-Id: I160036d710cc9e278eb77e351a483b9f5b69e8ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4544659
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2023-05-23 21:19:55 +00:00
Alexey Knyazev
7abc5248d8 Vulkan: Enable VK_EXT_depth_clamp_zero_one
Replaced the 'depth_clamping' workaround
with the dedicated extension or explicit
fragment depth clamping.

Fixed: angleproject:3970
Bug: angleproject:8077
Change-Id: Ia7666fcb3e0e949922c13a3fd11b818cbc5a8e26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545084
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-05-23 17:43:28 +00:00
angle-autoroll
a4b1d12cd5 Roll Chromium from be870e411d55 to 853c619b8b56 (679 revisions)
be870e411d..853c619b8b

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,yuxinhu@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: 8aefde05e4..7f93a1e7ae
* buildtools/linux64: git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046..git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7
* buildtools/mac: git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046..git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7
* buildtools/third_party/libc++abi/trunk: a4c3a6dc75..982e218cb8
* buildtools/win: git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046..git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7
* testing: 60112c1352..2ab5e92e5f
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c6222c27ba
* third_party/depot_tools: b0e8e7adbc..3a5cc40813
* third_party/fuchsia-sdk/sdk: version:12.20230518.3.1..version:12.20230520.1.1
* tools/clang: c419c81c92..4ee099ac1c
* tools/mb: 182e9e0811..242e5a37e4
* tools/perf: adeff0564b..4d8da41eb0
No update to Clang.

Bug: None
Tbr: yuxinhu@google.com
Change-Id: I4924e9d31cc5c85413826ab87722e3bc77bc2b5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4551447
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-22 07:57:29 +00:00
Cody Northrop
c04ad8e025 Tests: Add Honkai: Star Rail trace
Test: angle_trace_tests --gtest_filter="*honkai_star_rail*"
Bug: b/283129009
Change-Id: I4c41345b83b7ea2429bccb8a814994bcb13a7486
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545308
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2023-05-19 23:26:25 +00:00
Yuly Novikov
9208efb60c Stop ANGLE Mac Intel 13.3 experiment
Bug: chromium:1429033
Change-Id: I2a4cf72d68855c54b87fc33bc6b0c150ad5246ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4549123
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
2023-05-19 17:44:36 +00:00
angle-autoroll
18ff45553e Roll VK-GL-CTS from 876d164bd88a to a46ca6e9c7bb (7 revisions)
876d164bd8..a46ca6e9c7

2023-05-19 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3
into vk-gl-cts/main
2023-05-19 ziga@lunarg.com Add depth bias constant and slope tests
2023-05-19 zzoon@igalia.com Add more tests for FSR with depth/stencil
attachments on various cases.
2023-05-19 rgarcia@igalia.com Test multiple queries in PGQ tests
2023-05-19 rgarcia@igalia.com Avoid waiting for fences in primitives
generated query tests
2023-05-19 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.6
into vk-gl-cts/main
2023-05-16 rgarcia@igalia.com For merge of
bb2e68d9b5220e6eb4195002e56d61c79d2c8261 to main

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,yuxinhu@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: yuxinhu@google.com
Change-Id: I41a5d029e9db6941cfb3c42c2a11c10c8fab3540
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4549597
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-19 17:42:04 +00:00
angle-autoroll
c9029ddff7 Roll Chromium from bc320a94824d to be870e411d55 (839 revisions)
bc320a9482..be870e411d

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,yuxinhu@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: 36246d88fa..8aefde05e4
* buildtools/third_party/libc++abi/trunk: 7454e17b0d..a4c3a6dc75
* testing: 7e91557f2b..60112c1352
* third_party/android_deps: 1ab95012c7..7a6ed2c936
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ac9d6ede9a
* third_party/depot_tools: cdefe67b38..b0e8e7adbc
* third_party/fuchsia-sdk/sdk: version:12.20230517.1.1..version:12.20230518.3.1
* tools/clang: 096dcd2735..c419c81c92
* tools/mb: f4fa549a2b..182e9e0811
* tools/perf: c278749207..adeff0564b
No update to Clang.

Bug: None
Tbr: yuxinhu@google.com
Change-Id: I02b5540faaaf176bb5765af2467be5c25a5bc247
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4548152
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-19 08:03:47 +00:00
Chris Dalton
7d4c6d1d07 Allow glDelete* while PLS is active
Banning glDelete* is extremely dangerous. It will almost definitely
cause memory leaks in client code, and it makes JS garbage collection
needlessly complex.

Instead, specify that PLS is implicity deactivated if the client deletes
anything that is attached to the current draw framebuffer during a PLS
rendering pass.

Bug: chromium:1421437
Change-Id: I3a18ee6b5d5567431e6fa3eccea58cb049845502
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4521436
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
2023-05-19 05:26:28 +00:00
Shahbaz Youssefi
b76166d027 Vulkan: Separate image and sampler 2D view of 3D features
The sampler feature is used to determine if EGL_KHR_gl_texture_3D_image
can be exposed.  The image feature is used to support base GLES 3.1
storage images.

Bug: b/274478146
Change-Id: Ifb283633078ace7ee65f8aafe756d0a02b727bd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545005
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-05-19 01:32:44 +00:00
angle-autoroll
d238e8b97d Manual roll Chromium from 79f85a216141 to bc320a94824d (1646 revisions)
Manual roll requested by ynovikov@google.com

79f85a2161..bc320a9482

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,ynovikov@google.com,yuxinhu@google.com
on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: 44a4b24b05..36246d88fa
* buildtools/linux64: git_revision:26aa46c283e40199b6f847ecca088dcea7099ded..git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046
* buildtools/mac: git_revision:26aa46c283e40199b6f847ecca088dcea7099ded..git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046
* buildtools/third_party/libc++abi/trunk: f2cb09f94e..7454e17b0d
* buildtools/third_party/libunwind/trunk: 129773dde5..55ceecab99
* buildtools/win: git_revision:26aa46c283e40199b6f847ecca088dcea7099ded..git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046
* testing: 9d1f44540f..7e91557f2b
* third_party/abseil-cpp: 534624edd1..72efcb2452
* third_party/android_build_tools/aapt2: fFfHyo80O9opPFsbOisSHF4d3tV4GGxLgxXWzGRuY2IC..aidBg3POIv_jPt-kZ7O9aQ6-UdFSuLd8uBgGg4REBjsC
* third_party/android_build_tools/lint: MTFSl9JaPMnHhDPun-Ry9w5lM4HeEVlSFebjgzoraCQC..AS57ntD4VO2MAIu0pkI0b3c3cFkdGt0cAkmSkiRimZkC
* third_party/android_build_tools/manifest_merger: VcQAPv15h63jZcRobvLMBWCiuDXUdmwB8OH1x6W1aJMC..HW7DJwNOXl50MEneaQnyD1Yg1sy_0Eej5E1nKepXq40C
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f1f7a299cb
* third_party/depot_tools: a1e578320b..cdefe67b38
* third_party/fuchsia-sdk/sdk: version:12.20230512.2.1..version:12.20230517.1.1
* third_party/turbine: j0GanRK31QhKNs04PYT0D3ls32n6IrjrAL8bR4dv9jMC..sTawWbD0GN8RYp6JHHFxxGNi2nNPvuNSuBjIpS4GaD0C
* tools/clang: 062d938956..096dcd2735
* tools/mb: d0e45e54c3..f4fa549a2b
* tools/perf: 25bb7e161f..c278749207
No update to Clang.

Bug: angleproject:8081
Tbr: yuxinhu@google.com,ynovikov@google.com
Change-Id: I6d78dc2cd54eac092554bb3792a32561a39f00ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545305
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-18 18:00:11 +00:00