Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update angle #3

Merged
merged 600 commits into from
Mar 24, 2023
Merged

Update angle #3

merged 600 commits into from
Mar 24, 2023

Conversation

GameParrot
Copy link

Update angle to latest
Not yet tested, should only fix bugs

cnorthrop and others added 30 commits February 17, 2023 17:00
These were missed during initial implementation because the target app
doesn't use them, and there are no tests for vendor extensions.

The implementation is basically a noop, but allows setting and
querying state, unblocking apps.

Also add a test that has basic usage.

Test: FramebufferFetchES31.BasicTokenUsage_ARM
Bug: b/269233744
Bug: angleproject:8025
Change-Id: Ic107150d4afd9c4c4984c58a1dafb1c18e608997
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4255965
Reviewed-by: Shahbaz Youssefi <[email protected]>
Reviewed-by: Geoff Lang <[email protected]>
Commit-Queue: Cody Northrop <[email protected]>
Update flatbuffers BUILD.gn per
https://chromium-review.googlesource.com/c/chromium/src/+/4258966

https://chromium.googlesource.com/chromium/src.git/+log/63251d7a0997..ab83a5e1b973

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 [email protected],[email protected] 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: https://chromium.googlesource.com/chromium/src/build.git/+log/606ec055d2..1103ef535c
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/1bb36c7a92..2ff42d2008
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/3e929b8e59..6f4617b9ef
* buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/b77ac02dd5..f7460fc60a
* buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/a154c73c85..c4ed9cba55
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/f4ef1e4cea..89ae2c4b1c
* third_party/android_build_tools/lint: HvuZ-UNmu4oxZAJFSD_BiPEdibZvFZBRqB_ShtWRYr8C..6R1spS-Itpxh7oLzwUptWcZyFwQeEH6aFwtkuTo8ROoC
* third_party/android_build_tools/manifest_merger: 2JpGK05syKIkt6K-gSTBDV90H50KLdXLP_vyVhXRWqcC..EnlN2b-khJhe8B9hSfh7UxvglJXEwWDKaMm4ixhLYTMC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..44b7bc5487
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/6b98cdcbc1..3879bd830c
* third_party/flatbuffers/src: https://chromium.googlesource.com/external/github.com/google/flatbuffers.git/+log/b47ba1d5ff..a56f9ec50e
* third_party/fuchsia-sdk/sdk: version:11.20230215.0.1..version:11.20230216.2.1
* third_party/r8: _epIZkuhmcrUw9c591kUQWELdMlpKy_Uq0KVXhpeBl8C..CNzcoXA0246FgCmus3Uk0w-NXoGjqjHku8jocP5AcuUC
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/b855484bb7..effd9257d4
* tools/luci-go: git_revision:d120042f61f626b913a89d314cf585d54495bddc..git_revision:c543f47ae455dbfe7e8fed5baa61a14d9068e98c
* tools/luci-go: git_revision:d120042f61f626b913a89d314cf585d54495bddc..git_revision:c543f47ae455dbfe7e8fed5baa61a14d9068e98c
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/132569747b..a16f83a4ff
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/f15b3214d5..104db43f88
* tools/skia_goldctl/linux: 0sWTRxVF-JnbihtHIuwUrWkXaZfHnlGbgbq_iuNBbbkC..qmQkeQixRLhNh8h9NFtyogaGsZT2_Hq8ecJfh_-S8KgC
* tools/skia_goldctl/mac_amd64: UORVay0POLHppb8dNBQEBrEfYacH2edRleKTs5BF8QMC..yaL4-zE_LjEmhx48AHqVNH39H5j_GsYsUjaF6VR0dG0C
* tools/skia_goldctl/mac_arm64: oCnjNSVWVT02JMCAWdBovX83D7IHEFNdxpkkYUKtmtQC..wl2cVS48xW9pWCxQ7Dgd7lBe94FSbX4L2Xz9s3rRxTIC
* tools/skia_goldctl/win: 4uAK564j5zJPfrjm3Ebtql0dFZWxzdr7mGbqxakRvb0C..ehooWmfDnjMX96wtA5yuHh4YuXsV7mq9bj61rFd_xogC
No update to Clang.

Bug: chromium:1417182, chromium:1401327
Change-Id: I775a49fbb98a6436f39cd5f90bc71a65b67bf2fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4263987
Reviewed-by: Solti Ho <[email protected]>
Commit-Queue: Yuly Novikov <[email protected]>
Manual roll requested by [email protected]

https://chromium.googlesource.com/chromium/src.git/+log/ab83a5e1b973..3919c700dd2c

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
[email protected],[email protected],[email protected] 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
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/89ae2c4b1c..166db27fd0
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..44b7bc5487
* third_party/fuchsia-sdk/sdk: version:11.20230216.2.1..version:11.20230217.0.1
* third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/45851774ad..57396ed0a2
* third_party/r8: CNzcoXA0246FgCmus3Uk0w-NXoGjqjHku8jocP5AcuUC..EzD88AUfNs2DWG8ytv86PmRrgkNmeLLaiQOrNNLUWwAC
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/a16f83a4ff..e10cbe0a12
No update to Clang.

Bug: angleproject:8026
Tbr: [email protected],[email protected]
Change-Id: I4680eb0d9b0f92836be7dec2892077983b47f6ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4264577
Bot-Commit: angle-autoroll <[email protected]>
Commit-Queue: angle-autoroll <[email protected]>
This is some debug logging code I have been using in the past. Want to
land it for convenience.

Bug: None
Change-Id: Ife044dd7dc733d3d38283949bdfc11b203cbe429
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4177488
Reviewed-by: Yuxin Hu <[email protected]>
Commit-Queue: Charlie Lao <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
Temporarily disable upportsSwapchainMaintenance1 feature on
Android devices to unblock the ANGLE-To-Android roller, while
the auto-roller failure investigation is taking place.

Bug: b/269606195
Change-Id: I8a122b04996c9f0f02cbaaedcba5c6fb0615e5e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4264812
Commit-Queue: Solti Ho <[email protected]>
Reviewed-by: Yuxin Hu <[email protected]>
Reviewed-by: Cody Northrop <[email protected]>
This CL is mechanical change only and limited to CommandProcessor class.
This CL renames submitCommands to enqueueSubmitCommands,
queueSubmitOneOff to enqueueSubmitOneOffCommand, queuePresent to
enqueuePresent, flushWaitSemaphores to enqueueFlushWaitSemaphores,
flushOutsideRPCommands to enqueueFlushOutsideRPCommands,
flushRenderPassCommands to enqueueFlushRenderPassCommands. This CL also
renames CommandProcessor::mLastSubmittedSerial to mLastEnqueuedSerials,
and getLastSubmittedSerial to getLastEnqueuedSerial, hasUnsubmittedUse
to hasResourceUseEnqueued (opposite meaning).

Bug: b/267348918
Change-Id: I611889815f5824837dc6e0f547e3cddc595d447b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4255809
Reviewed-by: Shahbaz Youssefi <[email protected]>
Commit-Queue: Charlie Lao <[email protected]>
Most usage of hasUnfinishedUse is for !hasUnfinishedUse, and there was
feedback that negative API is not preferred. This CL changes it to
positive API name. Similarly renamed hasUnsubmittedUse to
hasResourceUseSubmitted.

Bug: b/267348918
Change-Id: Idb10b0f998ec50116ffb6aada19a98a516e87824
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4257105
Commit-Queue: Charlie Lao <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
Right now queuePresent API returns VkResult in two places, via return
value and SwapchainStatus structure. This CL makes it only return via
SwapchainStatus::lastPresentResult so that two code path are the same.

Bug: b/269524271
Change-Id: I7ab3c2bee08961a10718a2e5daa1c7f03e97e85d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4257927
Commit-Queue: Charlie Lao <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
Reviewed-by: Ian Elliott <[email protected]>
Since we are waiting, there is no point to have work done in
CommandProcessor's worker thread. It can just wait and drain the task in
the calling thread. This is consistent with
waitForResourceUseToBeSubmitted. This allows us to remove mutex and
condition variable from SwapchainStatus.

Bug: b/269524271
Change-Id: I9d7e17c77c879b6957fc3b74aab02f7f5c9db052
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4257252
Commit-Queue: Charlie Lao <[email protected]>
Reviewed-by: Ian Elliott <[email protected]>
In the Vulkan backend, the render pass can occasionally (and
transiently) be in a state of "open but inactive".  This is when the
render pass is closed, but has the potential for future modifications
(for example to add a resolve attachment).  Under many circumstances, it
is expected that an open render pass cannot be in such a state.

This assumption can be broken in this scenario:

- Open render pass, draw, etc
- Change framebuffer binding
- Change framebuffer binding back to original
- Masked Clear

When ContextVk is synced before clear, it sees that the framebuffer
binding is changed (though it hasn't really), and it closes the render
passes and sets the render pass dirty bit.  If a draw were to follow, a
new render pass would have started (unnecessarily).  However, in the
case of a masked clear, UtilsVk notices that the render pass is started,
assumes it must be active, and continues recording to it.  While the
operation itself succeeds, the assumption that the render pass is active
is false (and fails assertion).

This change makes sure that framebuffer binding change is no-oped if the
framebuffer is the same one that has opened the current render pass.  If
any application does unnecessary binding changes and back, it will be
optimized by this change as well.

Bug: chromium:1411210
Change-Id: I37a3a9f2eaa1a81a1b3393840b9458ec71a87377
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4261215
Reviewed-by: Charlie Lao <[email protected]>
Commit-Queue: Shahbaz Youssefi <[email protected]>
https://chromium.googlesource.com/chromium/src.git/+log/3919c700dd2c..36ad54ddae32

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 [email protected],[email protected] 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: https://chromium.googlesource.com/chromium/src/build.git/+log/1103ef535c..6be968106c
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/2ff42d2008..86d8d59707
* buildtools/linux64: git_revision:edf6ef4b06b42c58292faea78498aff76bdf68ed..git_revision:b25a2f8c2d33f02082f0f258350f5e22c0973108
* buildtools/mac: git_revision:edf6ef4b06b42c58292faea78498aff76bdf68ed..git_revision:b25a2f8c2d33f02082f0f258350f5e22c0973108
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/6f4617b9ef..43c39fecf3
* buildtools/win: git_revision:edf6ef4b06b42c58292faea78498aff76bdf68ed..git_revision:b25a2f8c2d33f02082f0f258350f5e22c0973108
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/166db27fd0..9686404aed
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6234cc4e01
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/3879bd830c..62c7a8bad0
* third_party/fuchsia-sdk/sdk: version:11.20230217.0.1..version:11.20230220.0.1
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/effd9257d4..47bfa0da45
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/e10cbe0a12..062a1fd8bb
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/104db43f88..521d0fdf81
Clang version changed llvmorg-17-init-2082-g6d4a674a:llvmorg-17-init-2387-g68e81d7e
Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/effd9257d456f2d42e9e22fa4f37a24d8cf0b5b5..47bfa0da4545630f0c74198c2f1b7122d4963026/scripts/update.py

Bug: None
Tbr: [email protected]
Change-Id: I0dafb62521b82437b64951a884eb750cff7d8c9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4269335
Commit-Queue: angle-autoroll <[email protected]>
Bot-Commit: angle-autoroll <[email protected]>
https://chromium.googlesource.com/chromium/src.git/+log/36ad54ddae32..5d2ee2959f28

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 [email protected],[email protected] 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
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/9686404aed..9c53e24827
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..a22c2597b5
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/62c7a8bad0..30136f0cb7
* third_party/fuchsia-sdk/sdk: version:11.20230220.0.1..version:11.20230220.3.1
* third_party/r8: EzD88AUfNs2DWG8ytv86PmRrgkNmeLLaiQOrNNLUWwAC..zPOmDMk4QXwcUPUy6oi9KUfzwEIlk0aIB0fl0KQWCGAC
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/47bfa0da45..59d4a6deb0
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/521d0fdf81..9ca91af2d1
No update to Clang.

Bug: angleproject:8003
Tbr: [email protected]
Change-Id: I58592e140bfecd32e3aafa4c9e2a1ea06a96d60e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4273595
Commit-Queue: angle-autoroll <[email protected]>
Bot-Commit: angle-autoroll <[email protected]>
Old assert checked "mHasWaitSemaphoresPendingSubmission". However this
will be true even after "mWaitSemaphores" are flushed to the Renderer.
Correct assert is to check that everything is flushed, but may be
pending submission.

Bug: angleproject:8017
Change-Id: I831ece236fb0cecb8520315ebaa5207f90d3dfc6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4270931
Commit-Queue: Shahbaz Youssefi <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
Bug: angleproject:2733
Change-Id: Id555398cd6633ce38e1d4d900c7b739fd9990ad1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4274045
Auto-Submit: Shahbaz Youssefi <[email protected]>
Commit-Queue: Geoff Lang <[email protected]>
Reviewed-by: Geoff Lang <[email protected]>
Types with "wl_" indicate wayland types, use as is.

Bug: angleproject:8027
Change-Id: If3c5d062272038c3a8773796a233af2305f3ed98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4265015
Reviewed-by: Shahbaz Youssefi <[email protected]>
Commit-Queue: Shahbaz Youssefi <[email protected]>
Emulated opaque ETC compressed formats are decoded to
RGBA8 so the border color must have its alpha as one.

Generalized AdjustBorderColor to enforce opaque alpha
for opaque formats and to support both ways, in which
ANGLE could emulate LUMA formats.

Moved AdjustBorderColor to renderer_utils so it could
be used with other backends.

Bug: angleproject:5978
Change-Id: I9ec44444fd373b1ca6116ebc4447063a014025ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4265514
Commit-Queue: Alexey Knyazev <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
Implementation of EXT_blend_func_extended made all uses of gl_FragData,
with or without the extension, crash.

Function-local constexpr char arrays are temporaries.
Their address cannot be used to construct ImmutableStrings.

Use static arrays instead.

Fixed: angleproject:8031
Change-Id: I91d27f6204374613e19d45f6e04e425985d519f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4272832
Auto-Submit: Kimmo Kinnunen <[email protected]>
Reviewed-by: Kenneth Russell <[email protected]>
Commit-Queue: Kenneth Russell <[email protected]>
Bug: chromium:1417461
Bug: angleproject:6061
Change-Id: I6e2b74589021ee60c99448e43ee3eb7f06796ede
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4250278
Reviewed-by: Geoff Lang <[email protected]>
Commit-Queue: Shahbaz Youssefi <[email protected]>
Bug: angleproject:7968
Change-Id: I04b0c5d7b5148fbaca24d77a2c8688ea7a96cb64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4262073
Reviewed-by: Geoff Lang <[email protected]>
Commit-Queue: Alexey Knyazev <[email protected]>
Auto-Submit: Alexey Knyazev <[email protected]>
This PARTIALLY reverts commit:
    629da7f.
    Fix dEQP-EGL.functional.mutable_render_buffer#basic

From the reverted CL:
    This CL also addresses similar issue in some other
    rx::vk::ImageLayout items in kImageMemoryBarrierData.

These were unnecessary changes that may harm performance:
- adding BOTTOM_OF_PIPE for source stage when transition from
  LAYOUT_UNDEFINED may add unnecessary GPU bubble.
- Transition to LAYOUT_PRESENT_SRC_KHR does not require barrier.
  All writes will be automatically made visible for Presentation Engine.
  Execution dependency satisfied by VkSemaphore.
- Transition from LAYOUT_PRESENT_SRC_KHR is RAR/WAR. Execution
  dependency satisfied by VkSemaphore.
- Some layouts may not be a destination so BOTTOM_OF_PIPE is OK.

Bug: b/264420030
Change-Id: I8b57b1636e1f5cf5b647003adf1502bd3286c5a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4262067
Reviewed-by: Shahbaz Youssefi <[email protected]>
Commit-Queue: Igor Nazarov <[email protected]>
Reviewed-by: Charlie Lao <[email protected]>
Chrome DrDC uses EGLImage to share textures between contexts.
Sometimes, chrome will create texture with a GLES 3.x context,
and then create EGLImage from it, and then import EGLImage to
a GLES 2.0 (WebGL 1.0) context. In this case, ANGLE may report
errors if the original texture is created with formats which
are not supported with GLES 2.0, but actually the texture can
be sampled and rendered by ANGLE. Fix the problem by adding
mIsTexturable & mIsRenderable in Image, and calculating them
against the original context which owns the texture.

Bug: chromium:1417294
Change-Id: I4c304422f0d0fc01a48c942d05758f8c2ce438e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4265252
Commit-Queue: Peng Huang <[email protected]>
Reviewed-by: Geoff Lang <[email protected]>
This extension is no longer used by ANGLE

Bug: angleproject:7959
Change-Id: If6c0e89e63b8b06fd03f7b6a0b083a18bada34fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4244599
Commit-Queue: Shahbaz Youssefi <[email protected]>
Reviewed-by: Ian Elliott <[email protected]>
Auto-Submit: Shahbaz Youssefi <[email protected]>
In compliance with
VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT.

Bug: angleproject:7878
Big: b/269606195
Change-Id: I917c6888b325f768dbc6384828a6e462792d3c0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4267510
Reviewed-by: Ian Elliott <[email protected]>
Commit-Queue: Shahbaz Youssefi <[email protected]>
Reviewed-by: Chris Forbes <[email protected]>
https://chromium.googlesource.com/chromium/src.git/+log/5d2ee2959f28..d9b79c6b8b96

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 [email protected],[email protected] 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: https://chromium.googlesource.com/chromium/src/build.git/+log/6be968106c..74aa83b9dc
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/86d8d59707..d110f6238f
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/43c39fecf3..abad4bb576
* buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/f7460fc60a..5559ffe8ca
* buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/c4ed9cba55..aecf8d01b9
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/9c53e24827..e66313827f
* third_party/android_build_tools/aapt2: cbNG7g8Sinh-lsT8hWsU-RyXqLT_uh4jIb1fjCdhrzIC..36NqCian2RIwuM6SFfizdUgKoXyZhy3q6pFfsws0szYC
* third_party/android_build_tools/lint: 6R1spS-Itpxh7oLzwUptWcZyFwQeEH6aFwtkuTo8ROoC..MSpv-kFDDSPO0SY0dLdHegUJcJT1Yy8cL9r3vlAZ9vkC
* third_party/android_build_tools/manifest_merger: EnlN2b-khJhe8B9hSfh7UxvglJXEwWDKaMm4ixhLYTMC..EbRaK62t9grqlZqL-JTd_zwM4t1u9fm1x4c2rLE0cqQC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c6149c709a
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/30136f0cb7..4756d7c420
* third_party/fuchsia-sdk/sdk: version:11.20230220.3.1..version:11.20230221.3.1
* third_party/r8: zPOmDMk4QXwcUPUy6oi9KUfzwEIlk0aIB0fl0KQWCGAC..PwglNZFRNPkBBXdnY9NfrZFk2ULWDTRxhV9rl2kvkpUC
* third_party/r8/d8: qGtBu6TtxyR5XNy4cmsslb7c946YtkZF5_QCjVP-wc8C..PwglNZFRNPkBBXdnY9NfrZFk2ULWDTRxhV9rl2kvkpUC
* third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/2d44c51ada..ab0d470309
* tools/luci-go: git_revision:c543f47ae455dbfe7e8fed5baa61a14d9068e98c..git_revision:8a8b4f2ea65c7ff5fde8a0c522008aed78d42d9d
* tools/luci-go: git_revision:c543f47ae455dbfe7e8fed5baa61a14d9068e98c..git_revision:8a8b4f2ea65c7ff5fde8a0c522008aed78d42d9d
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/9ca91af2d1..9d69759784
* tools/skia_goldctl/linux: qmQkeQixRLhNh8h9NFtyogaGsZT2_Hq8ecJfh_-S8KgC.._XbDojEcOW4z32qvbefnU-HJNYysIuQCtw1mgYLOFe4C
* tools/skia_goldctl/mac_amd64: yaL4-zE_LjEmhx48AHqVNH39H5j_GsYsUjaF6VR0dG0C..mwr8fBwaGCr9Uo9A1MECZEw9XH-Yxt97Kb9Sv8XKiXoC
* tools/skia_goldctl/mac_arm64: wl2cVS48xW9pWCxQ7Dgd7lBe94FSbX4L2Xz9s3rRxTIC..QGT2sXxLCZJMcVCCabyLxy3RbSEoew6hpM2O5y-fohQC
* tools/skia_goldctl/win: ehooWmfDnjMX96wtA5yuHh4YuXsV7mq9bj61rFd_xogC..eheTWvIx3FaZhM5bpL-pDPzul7o93XKKK1bsDKgRfEwC
No update to Clang.

Bug: None
Tbr: [email protected]
Change-Id: I17c3096f1bf37cc54d73f679ff0534a0c7d0cb58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4279288
Commit-Queue: angle-autoroll <[email protected]>
Bot-Commit: angle-autoroll <[email protected]>
Update Metal format tables according to the Metal Format Tables.
Disables OES_texture_float_linear on current iOS hardware, since
R*32Float filtering is not available.

Fixed: angleproject:8028
Change-Id: I29603d308f1992feb62ee997b0f69f8e6d0d385e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4266915
Commit-Queue: Kimmo Kinnunen <[email protected]>
Reviewed-by: Kenneth Russell <[email protected]>
Auto-Submit: Kimmo Kinnunen <[email protected]>
https://chromium.googlesource.com/chromium/src.git/+log/d9b79c6b8b96..6aac6345f869

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 [email protected],[email protected] 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: https://chromium.googlesource.com/chromium/src/build.git/+log/74aa83b9dc..153b10edb9
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/d110f6238f..c9ed0b613f
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/abad4bb576..09f68a400f
* buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/5559ffe8ca..87d8fe050b
* buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/aecf8d01b9..56a849f05a
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/e66313827f..fcbe55967d
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/c1aaebb624..c2dbcdae89
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c824231b87
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/4756d7c420..d85c5bc6ff
* third_party/fuchsia-sdk/sdk: version:11.20230221.3.1..version:11.20230222.4.1
* third_party/r8: PwglNZFRNPkBBXdnY9NfrZFk2ULWDTRxhV9rl2kvkpUC..If-y2Dxou76tPxzbjAxhESv2MK1f7UTlgmP5Zg1JfUQC
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/062a1fd8bb..0ec9f12775
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/9d69759784..0398cbf63b
* tools/skia_goldctl/linux: _XbDojEcOW4z32qvbefnU-HJNYysIuQCtw1mgYLOFe4C..-G9gUusEGDPsbf_GULdyJo9DYyeNBuqD8gHfdxCvIbYC
* tools/skia_goldctl/mac_amd64: mwr8fBwaGCr9Uo9A1MECZEw9XH-Yxt97Kb9Sv8XKiXoC..0GVvuvDBNt6KJ7UzxBRUW5ShTWCliifyzaCkudNzmrkC
* tools/skia_goldctl/mac_arm64: QGT2sXxLCZJMcVCCabyLxy3RbSEoew6hpM2O5y-fohQC..8vKG1ZGA0f7asv5AHh_7yBxVD2h-I-yR2oY4TOjwo6kC
* tools/skia_goldctl/win: eheTWvIx3FaZhM5bpL-pDPzul7o93XKKK1bsDKgRfEwC..BZ0EL-KSkwCzJciJf9MbwmZAJPRhlKOp0LEYiTV6lWIC
No update to Clang.

Bug: None
Tbr: [email protected]
Change-Id: Id30d35fb47320659a907b54e73a75dfb157afe07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4285565
Commit-Queue: angle-autoroll <[email protected]>
Bot-Commit: angle-autoroll <[email protected]>
Previously d3dcompiler_47.dll was not copied because this DLL is an
inbox component on ARM64 Windows. However the inbox is not necessarily
updated frequently enough, so we should copy (and ship) this DLL
on ARM64 Windows as well as on other Windows architectures.

Bug: chromium:1416385, chromium:1406077
Change-Id: I463f215012c2b48f11c8f40e104c22622afa6b2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4285717
Reviewed-by: Shahbaz Youssefi <[email protected]>
Commit-Queue: Shahbaz Youssefi <[email protected]>
`src/third_party/compiler` was removed in crrev.com/c/2940902.

I don't know when `third_party/vulkan_memory_allocator` was removed,
but it also doesn't exist anymore.

Bug: None
Change-Id: Ib2216c2fd111de4545f600dc3ba82bbab24f169d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4275341
Reviewed-by: Shahbaz Youssefi <[email protected]>
Commit-Queue: Shahbaz Youssefi <[email protected]>
Changes EGL_PLATFORM_ANGLE_DISPLAY_KEY_ANGLE from 0x34DA to 0x34DC

Bug: chromium:1251724
Change-Id: I609d37abd622bf0c3bbab253d4d0dea31edd1774
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4287264
Commit-Queue: Jonah Ryan-Davis <[email protected]>
Reviewed-by: Geoff Lang <[email protected]>
Windows Intel testing switched from HD630 to UHD630 GPU.
Pixel 6 testing is no longer experimental.

Bug: angleproject:6819, chromium:1349828
Change-Id: I3b156d83eba687e4834ec59f5ff41ae21664cc0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4283257
Reviewed-by: Geoff Lang <[email protected]>
Commit-Queue: Geoff Lang <[email protected]>
Auto-Submit: Yuly Novikov <[email protected]>
lexaknyazev and others added 28 commits March 21, 2023 17:11
Fixed: angleproject:8090
Change-Id: I3137599e976bc469709347f423b7e8b71e6ed9f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4356667
Commit-Queue: Alexey Knyazev <[email protected]>
Reviewed-by: Geoff Lang <[email protected]>
Reviewed-by: Kyle Piddington <[email protected]>
* Skipped vertex shader depth correction when
  clip depth mode is set to GL_ZERO_TO_ONE.

* Adjusted front face mode and pre-fragment
  vertical flip driver uniform based on the
  clip origin state.

* Added more clip control end2end tests.

* D3D11: Fixed scissored draws
  with upper-left clip origin.

Fixed: angleproject:8065
Change-Id: Ife82fa2ad39fad463c23ec10b49bff409272ebf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4356661
Reviewed-by: Geoff Lang <[email protected]>
Commit-Queue: Alexey Knyazev <[email protected]>
Reviewed-by: Kyle Piddington <[email protected]>
On Android, the global surface lock must be released before calls
to vkAcquireNextImageKHR, though GetSurfaceIfValid must remain
inside the surface lock.

Bug: b/268091451
Test: Mini-game puzzles in 'Fishdom' app, available in play store
Change-Id: Ia9c96de52a367b4537a42cee83e2372322fbdfbc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4316610
Reviewed-by: Shahbaz Youssefi <[email protected]>
Commit-Queue: Mark Łobodziński <[email protected]>
Reviewed-by: Cody Northrop <[email protected]>
Reviewed-by: mohan maiya <[email protected]>
Adds two more simple commands to ANGLE_shader_pixel_local_storage that
allow WebGL and the command buffer to interrupt rendering passes without
having to either (1) make expensive queries, or (2) track lots of
complex state for validation that they are not currently equipped to
track.

Bug: chromium:1421437
Change-Id: I80eaef3ae6b0b4bbbecb9cd2268ac90b43675d1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355032
Reviewed-by: Kenneth Russell <[email protected]>
Commit-Queue: Kenneth Russell <[email protected]>
On newer Android versions where ANGLE can be the default driver,
selecting "native" as the driver will always seek out the system
driver instead of the default driver.

To allow the platform to select the GLES driver, add a "default"
mode that does not use any Android settings for driver selection.

To use, pass `--renderer default`

Test: restricted_trace_perf.py
Bug: b/269645211
Change-Id: Ie9bf64eaa823d9d54301472c1d4e48bf2f5482cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4358331
Reviewed-by: Amirali Abdolrashidi <[email protected]>
Auto-Submit: Cody Northrop <[email protected]>
Commit-Queue: Amirali Abdolrashidi <[email protected]>
Bug: b/236121838
Change-Id: I28e7977f7b5dc6e24cb5a2be10689c223851ba0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4348737
Reviewed-by: Shahbaz Youssefi <[email protected]>
Commit-Queue: Doug Horn <[email protected]>
Reviewed-by: Charlie Lao <[email protected]>
https://chromium.googlesource.com/chromium/src.git/+log/23433174ff7f..27821cf1b122

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 [email protected],[email protected] 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: https://chromium.googlesource.com/chromium/src/build.git/+log/af6080beca..0732a05e76
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/075950bcd5..fb59b3f632
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/9b076b8003..af83f5d2fa
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/ff512c1c36..982c27097c
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/5a920a24ca..b5b8912f72
* third_party/android_build_tools/lint: UwgKmRuzPgo_NJFKTlrK_7OSgm2s-sVVb7Uz4jER_soC..E86vFKi4re9HwIfUW9yq_Ig_hc7Vr0lcl-bO3BtPQLYC
* third_party/android_build_tools/manifest_merger: lC0-JZAP05FMcCXlQn9Oej4oD6ytlLkFQEnExeLuAWkC.._aoHU11YhUwqKZXVXsn5otnhI-ZVGFT7h1Z9eCcAZM0C
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/34499ffdd4..4189179faf
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c82a855930
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/7a8daa2f9f..479e1e9055
* third_party/fuchsia-sdk/sdk: version:12.20230320.2.1..version:12.20230321.3.1
* third_party/r8: n_0sb2RjfuLOaX_c1F8vkC5sV5vv8HmWspFtkMqZ3BoC..EGf7RQo3stt-vPTw69TaMGuNtnOx0Dbk1O-MBquwswYC
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/bdb6d43dc1..7a7207a7f2
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/e300797cbd..db6ffdf0ba
No update to Clang.

Bug: None
Tbr: [email protected]
Change-Id: I70df9f940bd6acd5e76bbb8b8bee189f4ea5d8df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4359021
Commit-Queue: angle-autoroll <[email protected]>
Bot-Commit: angle-autoroll <[email protected]>
https://swiftshader.googlesource.com/SwiftShader.git/+log/9c9608fa94a9..0cc04d07ab24

2023-03-21 [email protected] Add configs/common and configs/linux for LLVM
16

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC [email protected],[email protected] on the revert to ensure
that a human
is aware of the problem.

To file a bug in SwiftShader:
https://bugs.chromium.org/p/swiftshader/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

Bug: None
Tbr: [email protected]
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: Ic2504aded8e1af00115abec892aa7741cf77fbf0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4359492
Commit-Queue: angle-autoroll <[email protected]>
Bot-Commit: angle-autoroll <[email protected]>
Added translator frontend and GLSL backend
support for gl_FragDepth redeclaration and
layout qualifiers.

Added mappings to DepthGreater, DepthLess,
and DepthUnchanged SPIR-V execution modes.

Bug: angleproject:8046
Change-Id: I23f19ff54380741107970a44055ea269eef179f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355028
Commit-Queue: Alexey Knyazev <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
glBeginQuery(GL_TIME_ELAPSED/GL_TIMESTAMP) on Mali implementation
assumes a complete FrameBuffer. Without it glGetQueryObject will return
a meaningless value, causing some applications to misbehave.

This workaround caches and binds a default FBO in this case.

Bug: chromium:1356053,b/269068358
Change-Id: I756ded948c2c5aada744f9dd428ad77c37a009c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4359032
Reviewed-by: Geoff Lang <[email protected]>
Commit-Queue: Kramer Ge <[email protected]>
Bug: angleproject:7994, chromium:1421437
Change-Id: Ib6a8b316212510f73f56ef9e56c8d2da2fe07cfc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4359704
Commit-Queue: Rubber Stamper <[email protected]>
Auto-Submit: Yuly Novikov <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Commit-Queue: Yuly Novikov <[email protected]>
https://chromium.googlesource.com/chromium/src.git/+log/27821cf1b122..c83e966b4c7e

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 [email protected],[email protected] 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: https://chromium.googlesource.com/chromium/src/build.git/+log/0732a05e76..32e94e55de
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/fb59b3f632..0a6c69640f
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/af83f5d2fa..e44019bfac
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/982c27097c..f132d63e88
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..018d397758
* third_party/fuchsia-sdk/sdk: version:12.20230321.3.1..version:12.20230322.3.1
No update to Clang.

Bug: None
Tbr: [email protected]
Change-Id: I0f7ad779027607430c445470f74e1bfc05951814
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4364802
Commit-Queue: angle-autoroll <[email protected]>
Bot-Commit: angle-autoroll <[email protected]>
https://swiftshader.googlesource.com/SwiftShader.git/+log/0cc04d07ab24..f988757e44a3

2023-03-22 [email protected] Add CMakeLists.txt for LLVM16

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC [email protected],[email protected] on the revert to ensure
that a human
is aware of the problem.

To file a bug in SwiftShader:
https://bugs.chromium.org/p/swiftshader/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

Bug: None
Tbr: [email protected]
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: I006e6a454f7a32f130e1b4e0ed0e4080fded07aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4363729
Commit-Queue: angle-autoroll <[email protected]>
Bot-Commit: angle-autoroll <[email protected]>
Current logic returns `valid()` result whether `mAllocator` is
attached or not. However this is not correct, because it is allowed
to use some method even after allocator is detached.

Since this class does not require initialization - it is always valid.

Bug: angleproject:6401
Bug: b/256666069
Change-Id: I57f899ae7718762b7e2b68e9c3d1e04dccb2c351
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355391
Reviewed-by: Charlie Lao <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
Commit-Queue: Igor Nazarov <[email protected]>
https://chromium.googlesource.com/vulkan-deps.git/+log/379ee8599f0f..886b2b7b32a4

Changed dependencies:
* spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/763dbe14ab..09e60d74f6
* spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/1feaf4414e..a41cf67dfa
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/90f6a2875f..5f4e694e10
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/889e6b7223..23c3a6047f
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/f196c8d3ca..728c1535de
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8b4a4eb257..357f1476ee

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 [email protected],[email protected] 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: [email protected]
Change-Id: I47af7a1c45d9dae50143a881a2b6dd10eebdf6ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4365259
Commit-Queue: angle-autoroll <[email protected]>
Bot-Commit: angle-autoroll <[email protected]>
Suppress failing tests

Bug: chromium:1382149, angleproject:8091
Change-Id: I817d3db8badc35a12ecc9650750ca9190c617f6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4341695
Commit-Queue: Geoff Lang <[email protected]>
Auto-Submit: Yuly Novikov <[email protected]>
Reviewed-by: Geoff Lang <[email protected]>
Bug: angleproject:8046
Change-Id: I3b9f497da19bf005c7948e552f2e1c7415d4ac6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4363020
Commit-Queue: Alexey Knyazev <[email protected]>
Reviewed-by: Kyle Piddington <[email protected]>
Reviewed-by: Geoff Lang <[email protected]>
Drive-by:
* Hid the extension from ES 2.0 client contexts.

Bug: angleproject:8046
Change-Id: I8bca4161dde4bda7ee75541b9164777884900d89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4366784
Reviewed-by: Geoff Lang <[email protected]>
Commit-Queue: Alexey Knyazev <[email protected]>
It was observed that in some apps, mutable textures are uploaded in a
context, but that context's outside RP command buffer is not flushed
at all, resulting in invalid (noise) or incorrect textures.

* Added isEligibleForMutableTextureFlush() to be used to determine
  whether onMutableTextureUpload() should be called.

* Restricted the use of mutable texture upload to single-context
  share groups.

* When the number of contexts becomes greater than one, the original
  context's outside render pass command buffer is flushed.

* Added related tests.

  * Added a test to make sure that textures can be uploaded in one
    thread, and used for draw calls in another, with the help of a
    sync object.

  * Added a test to make sure that textures can be uploaded in the
    main thread, and used in a new thread.

  * Added a test in which a new context is created after mutable
    mipmap textures are defined.

Bug: b/264143971
Change-Id: I66c0d8b04d39bb7244e5752aac0e46a0192f012e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4349156
Reviewed-by: Charlie Lao <[email protected]>
Commit-Queue: Amirali Abdolrashidi <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
Bug: angleproject:1944
Change-Id: Ia84ccd2f38e1d3257a9ec5261acc43d9ba2ed1a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4367200
Auto-Submit: Alexey Knyazev <[email protected]>
Commit-Queue: Kenneth Russell <[email protected]>
Reviewed-by: Kenneth Russell <[email protected]>
Towards the end of the test "TexStorageWithPBO" from Texture2DTest, the
color of the pixel outside the red square is checked to confirm that it
is black. However, due to that part being uninitialized in the test,
its color could be left over from a prior test, causing a failure.

* Removed the pixel check for outside the square.
* Updated the color check for the square to cover its whole area.

Bug: angleproject:4126
Bug: angleproject:5081
Bug: angleproject:5097
Bug: angleproject:5651
Bug: angleproject:8093
Change-Id: I3ceb8cf30456f51a60630f9e258210a8ccae0d95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4367898
Reviewed-by: Yuxin Hu <[email protected]>
Commit-Queue: Shahbaz Youssefi <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
https://chromium.googlesource.com/vulkan-deps.git/+log/886b2b7b32a4..672a6d1840c9

Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/14e5a04e70..c43008e829
* spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/a41cf67dfa..90547c54e2
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/5f4e694e10..9fbe1738ba
* vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/fa204df59c..ee15ae402b
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/728c1535de..fb440ea67d
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/357f1476ee..b3baf74e40

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 [email protected],[email protected] 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: [email protected]
Change-Id: I2c9df6381945e1dc04b682718134ac3761a085a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368032
Commit-Queue: angle-autoroll <[email protected]>
Bot-Commit: angle-autoroll <[email protected]>
https://swiftshader.googlesource.com/SwiftShader.git/+log/f988757e44a3..c85d70d97009

2023-03-23 [email protected] Add Android.bp for LLVM16
2023-03-23 [email protected] Add configs/android for LLVM 16
2023-03-23 [email protected] Add riscv to the list of configs generated on
android.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC [email protected],[email protected] on the revert to ensure
that a human
is aware of the problem.

To file a bug in SwiftShader:
https://bugs.chromium.org/p/swiftshader/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

Bug: None
Tbr: [email protected]
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: I77f90ab562b4439d8dabd446c3b3828860573bba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368572
Commit-Queue: angle-autoroll <[email protected]>
Bot-Commit: angle-autoroll <[email protected]>
This change fixes following errors (asyncCommandQueue = true):

1. "vkEndCommandBuffer()" called from "asyncCommandQueue" thread.
Call stack:
    vkEndCommandBuffer()
    VulkanSecondaryCommandBuffer::end()
    OutsideRenderPassCommandBufferHelper::flushToPrimary()
    CommandQueue::flushOutsideRPCommands()
    CommandProcessor::processTask()
Fixed by calling "vkEndCommandBuffer()" from the Context thread
in the new "OutsideRenderPassCommandBufferHelper::detachCommandPool()"
method.

2. "vkAllocateCommandBuffers()/vkBeginCommandBuffer()" called from
   "asyncCommandQueue" thread.
Call stack:
    vkAllocateCommandBuffers()/vkBeginCommandBuffer()
    VulkanSecondaryCommandBuffer::initialize()
    <*>CommandBufferHelper::initializeCommandBuffer()
    <*>CommandBufferHelper::reset()
    <*>CommandBufferHelper::flushToPrimary()
    CommandQueue::flush<*>Commands()
    CommandProcessor::processTask()
Fixed by calling "vkAllocateCommandBuffers()/vkBeginCommandBuffer()"
from the Context thread in the new
"<*>CommandBufferHelper::attachCommandPool()" method.

3. "SecondaryCommandPool::collect()" called from "asyncCommandQueue"
   thread without synchronization.
Call stack:
    SecondaryCommandPool::collect()
    rx::vk::RecycleCommandBufferHelper()
    CommandBufferRecycler<>::recycleCommandBufferHelper)
    RendererVk::recycle<*>CommandBufferHelper()
    CommandProcessor::processTask()
No need for this call, because "SecondaryCommandPool" is already
detached.

Notes:
This CL not only fixes errors, but also optimizes CommandBufferHelper
recycling. Before, there was no recycling plus unnecessary
"VulkanSecondaryCommandBuffer" allocation/freeing.

Further optimization may add multiple "VkCommandPool"s to the
"SecondaryCommandPool" to allow resetting buffers in the async thread.

Bug: angleproject:6811
Bug: angleproject:6100
Change-Id: I7004c27a112e916c5c973b43b137193017d6aa3d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4342189
Reviewed-by: Charlie Lao <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
Commit-Queue: Igor Nazarov <[email protected]>
"VulkanSecondaryCommandBuffer"s may be still in "CommandQueue" when
"ContextVk" destroys the Command Pools (asyncCommandBufferReset = true).
Fixed by calling "retireFinishedCommandsLocked()" when appropriate.

Normally, it is only required to retire Vulkan Secondary Buffers.
However, some drivers may have bug and also require to reset
Primary Buffers, that have Secondaries recorded, before destroying the
Secondaries Pools.

Bug: angleproject:6811
Bug: angleproject:6100
Change-Id: I891547c95cfbdfab44398980f939596af56ab57b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4350269
Reviewed-by: Shahbaz Youssefi <[email protected]>
Commit-Queue: Igor Nazarov <[email protected]>
Reviewed-by: Charlie Lao <[email protected]>
Test: angle_trace_tests --gtest_filter="*geometry_dash*"
Bug: b/271876646
Change-Id: I18ab2f22230f0c63d3aaf7c825c9cc55d896d4d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368019
Commit-Queue: Cody Northrop <[email protected]>
Reviewed-by: Roman Lavrov <[email protected]>
Since, all known problems with Secondary Command Buffers and async
features are fixed, it should be safe to allow enabling these features
for testing.

Locally, this CL passes custom build dEQP tests (EGL/GLES2/3/3.1) with
asyncCommandQueue and Vulkan Secondary Command buffers enabled.
Tests were executed on S906B that uses ANGLE as the system GLES driver.

Bug: angleproject:6811
Bug: angleproject:6100
Change-Id: Id3ef6df56f0a3bd1986f2e6047f01e6eac165fc6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4350270
Reviewed-by: Charlie Lao <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
Commit-Queue: Igor Nazarov <[email protected]>
@ChristopherHX ChristopherHX merged commit f4ca15d into minecraft-linux:angle-renderdragon Mar 24, 2023
ChristopherHX pushed a commit that referenced this pull request Aug 9, 2023
Option is for Android Vulkan.

Fixes the recursion problem:
    #00 pc 000000000004d69c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) (BuildId: dda896312b8ac9c639f6aeb0175b8a0a)
    #1 pc 0000000000051e84  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144) (BuildId: dda896312b8ac9c639f6aeb0175b8a0a)
    #2 pc 00000000000b41b4  /apex/com.android.runtime/lib64/bionic/libc.so (NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)+236) (BuildId: dda896312b8ac9c639f6aeb0175b8a0a)
    #3 pc 00000000003d8274  /vendor/lib64/egl/libGLESv2_angle.so (std::__Cr::mutex::lock()+12) (BuildId: 203fee8f1cfe9c18)
    google#4 pc 0000000000336494  /vendor/lib64/egl/libGLESv2_angle.so (egl::SharedContextMutex<std::__Cr::mutex>::doLock()+132) (BuildId: 203fee8f1cfe9c18)
    google#5 pc 000000000033668c  /vendor/lib64/egl/libGLESv2_angle.so (egl::SharedContextMutex<std::__Cr::mutex>::lock()+124) (BuildId: 203fee8f1cfe9c18)
    google#6 pc 00000000001d6e08  /vendor/lib64/egl/libGLESv2_angle.so (EGL_ClientWaitSyncKHR+100) (BuildId: 203fee8f1cfe9c18)
    google#7 pc 00000000000674f0  /system/lib64/libEGL.so (android::eglClientWaitSyncKHRImpl(void*, void*, int, unsigned long)+112) (BuildId: c4698b8b366f6519dbd7bd3a5f6239f2)
    google#8 pc 0000000000086648  /system/lib64/libgui.so (android::BufferQueueProducer::dequeueBuffer(int*, android::sp<android::Fence>*, unsigned int, unsigned int, int, unsigned long, unsigned long*, android::FrameEventHistoryDelta*)+3240) (BuildId: ff35b91736084ee7c49efe908fb9f8f3)
    google#9 pc 00000000000e24fc  /system/lib64/libgui.so (android::Surface::dequeueBuffer(ANativeWindowBuffer**, int*)+392) (BuildId: ff35b91736084ee7c49efe908fb9f8f3)
    google#10 pc 0000000000755770  /system/lib64/libhwui.so (android::uirenderer::renderthread::ReliableSurface::hook_dequeueBuffer(ANativeWindow*, int (*)(ANativeWindow*, ANativeWindowBuffer**, int*), void*, ANativeWindowBuffer**, int*)+80) (BuildId: 0ab7d7584ac800860c4d180557441d1b)
    google#11 pc 00000000000e0b48  /system/lib64/libgui.so (android::Surface::hook_dequeueBuffer(ANativeWindow*, ANativeWindowBuffer**, int*)+92) (BuildId: ff35b91736084ee7c49efe908fb9f8f3)
    google#12 pc 000000000002cc8c  /system/lib64/libvulkan.so (vulkan::driver::AcquireNextImageKHR(VkDevice_T*, VkSwapchainKHR_T*, unsigned long, VkSemaphore_T*, VkFence_T*, unsigned int*)+280) (BuildId: 0c72f8685858f73fbb13fd68d401bba5)
    google#13 pc 0000000000266f08  /vendor/lib64/egl/libGLESv2_angle.so (rx::(anonymous namespace)::TryAcquireNextImageUnlocked(VkDevice_T*, VkSwapchainKHR_T*, rx::impl::ImageAcquireOperation*)+128) (BuildId: 203fee8f1cfe9c18)
    google#14 pc 000000000026495c  /vendor/lib64/egl/libGLESv2_angle.so (rx::WindowSurfaceVk::acquireNextSwapchainImage(rx::vk::Context*)+140) (BuildId: 203fee8f1cfe9c18)
    google#15 pc 0000000000265800  /vendor/lib64/egl/libGLESv2_angle.so (rx::WindowSurfaceVk::doDeferredAcquireNextImageWithUsableSwapchain(gl::Context const*)+148) (BuildId: 203fee8f1cfe9c18)
    google#16 pc 0000000000267bb4  /vendor/lib64/egl/libGLESv2_angle.so (rx::WindowSurfaceVk::getBufferAge(gl::Context const*, int*)+196) (BuildId: 203fee8f1cfe9c18)
    google#17 pc 000000000034143c  /vendor/lib64/egl/libGLESv2_angle.so (egl::Surface::getBufferAge(gl::Context const*, int*)+36) (BuildId: 203fee8f1cfe9c18)
    google#18 pc 000000000036c354  /vendor/lib64/egl/libGLESv2_angle.so (egl::QuerySurfaceAttrib(egl::Display const*, gl::Context const*, egl::Surface*, int, int*)+812) (BuildId: 203fee8f1cfe9c18)
    google#19 pc 00000000001d1674  /vendor/lib64/egl/libGLESv2_angle.so (egl::QuerySurface(egl::Thread*, egl::Display*, egl::SurfaceID, int, int*)+176) (BuildId: 203fee8f1cfe9c18)
    google#20 pc 00000000001d3658  /vendor/lib64/egl/libGLESv2_angle.so (EGL_QuerySurface+200) (BuildId: 203fee8f1cfe9c18)

Happens only on platforms that use "EGL_KHR_fence_sync" instead of
"EGL_ANDROID_native_fence_sync" for synchronization. Happens only on
specific Surface types, that using `EGLConsumer`/`GLConsumer`, such as
`SurfaceTexture`.

The Android's "testDrawingHardwareBitmapNotLeaking" test may be used for
testing the issue. Note: in order to reproduce, `SingleContextMutex`
must not be used by context. The "Fix ExternalImageTarget EGLImage race"
CL will achieve that.

To check what extension is used, call:
    adb shell "dumpsys SurfaceFlinger | grep 'Sync configuration'"
Possible results:
    Sync configuration: [using: EGL_KHR_fence_sync EGL_KHR_wait_sync]
    Sync configuration: [using: EGL_ANDROID_native_fence_sync EGL_KHR_wait_sync]

Bug: angleproject:4354
Change-Id: I915a2c026b59af0a2098ae6b3300f773b29cbfbb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4733831
Commit-Queue: Igor Nazarov <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.