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

20135 Коммитов

Автор SHA1 Сообщение Дата
angle-autoroll 2c60b86e35 Roll Chromium from 72727941e886 to 276f2cb5e838 (618 revisions)
72727941e8..276f2cb5e8

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 romanl@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: 967a60a2f7..c91a4dbdb6
* buildtools: 6c567bfa24..dcbf73cdcb
* buildtools/third_party/libc++/trunk: 19ffb9c006..2fc3d70467
* buildtools/third_party/libunwind/trunk: 09a1f53060..5e22a7fe23
* testing: 70fb2d591b..ccd26eebd4
* third_party/abseil-cpp: 266ad209dc..e9f6c8927d
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..0d416fe68a
* third_party/depot_tools: e1c8efebe0..41a2d0f1a0
* third_party/r8: lillZvBtdIMEXU6ZjAiEGDqyEqLe0DiozKLwy2X0QKkC..pv_BIbpK8sxEFp63muv1gKsbyWJoyv4PDw342wc9H6AC
* tools/clang: 60f2ca4e90..7356f69af6
* tools/perf: 6460c2fc71..6db9ff4559
No update to Clang.

Bug: None
Tbr: romanl@google.com
Change-Id: Iae34b0d5d1fe42de1b97c05664a3af7dc0b7b890
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4109321
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-15 09:07:43 +00:00
Cody Northrop 7fe3399672 Capture/Replay: Regen/Restore shaders and programs
Add missing functionality that can recreate shaders and programs
that are deleted during the run.

Test: Plants vs. Zombies Heroes MEC
Bug: angleproject:5968
Bug: angleproject:7848
Change-Id: I2d41ebe9df1e2ad1beef831acd72fd3f06f4eb1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4060241
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2022-12-15 04:13:14 +00:00
angle-autoroll 20f4aced00 Roll vulkan-deps from a7b8bd76ed0c to a87c64cdfe8d (7 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/a7b8bd76ed0c..a87c64cdfe8d

Changed dependencies:
* vulkan-tools: ffa89a4447..dda9ae0f91
* vulkan-validation-layers: 56e3ebda22..21839cd4be

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 romanl@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: romanl@google.com,syoussefi@google.com
Change-Id: Ia4cdd9810b8a6b9f9b9e44a4c3031f9a6b263ca3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4109317
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-15 03:17:46 +00:00
Charlie Lao a703eea4f1 Vulkan: Remove Serial::valid() check
QueueSerial right now checks if serial is valid or not in various
comparison. This CL removes valid() method from class Serial and rely on
the fact that default constructor always constructs kZeroSerial and
kZeroSerial is always smaller than any serial, i.e, always appears as
flushed, submitted and completed. This removes one branch from critical
code path where we try to detect if a buffer/image is used by a
renderpass or not etc.

Bug: b/262047600
Change-Id: Ic76fe1409d9911dc7eb86107c9a930d8bb5eaa05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089848
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-15 00:11:56 +00:00
Shahbaz Youssefi 412dd36859 Vulkan: Use vkCmdClearAttachments for unmasked scissored clears
Building on work by Tim Van Patten <timvp@google.com>

In https://chromium-review.googlesource.com/c/angle/angle/+/3388635, not
only were unmasked scissored clears made to use vkCmdClearAttachments,
but also scissored clears could use loadOp=Clear.  While this is
potentially faster, it comes with a number of complications.

This change only does the former.  Unfortunately, due to a Qualcomm
driver bug that forces ANGLE to avoid vkCmdClearAttachments, code
simplification in the draw path cannot be made.

Bug: angleproject:5194
Change-Id: Iec4184a09ca7fd09e3e8148c53db503512e6b8f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3935893
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-14 20:26:44 +00:00
Elliott Hughes 0f3aaebf74 [PATCH] Add riscv64 support
Bug: b/262585507
Change-Id: I7e081c5a1dacbcf1221d7580f33ce504442ebbbc
Signed-off-by: Zhang Ye <haocheng.zy@linux.alibaba.com>
Signed-off-by: Mao Han <han_mao@linux.alibaba.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4104471
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
2022-12-14 19:43:14 +00:00
Shahbaz Youssefi c3209b13b7 Vulkan: Remove GlslangWrapperVk
This class was just forwarding functions, and had over time become too
thin.

Bug: angleproject:7220
Change-Id: I7ae84ba017478d5c36b1e6d5f98a52d6b1cffb66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4103744
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-12-14 19:29:19 +00:00
Shahbaz Youssefi 40c17b58a0 Vulkan: Move SPIR-V transform to vulkan/
No longer used by metal/.

Bug: angleproject:7220
Change-Id: Idb3a6369fefbcf87e7993daa652c8702ec53c20f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4104002
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
2022-12-14 18:34:42 +00:00
Peng Huang e108858e6a Reland "Workaround GetModulePath() returns incorrect path for exe in Chrome"
Original change's description:
> Revert "Workaround GetModulePath() returns incorrect path for exe in Chrome"
>
> This reverts commit 4e54e434bd.
>
> Reason for revert: Causes ANGLE to crash on Android when loading from an APK
>
> Original change's description:
> > Workaround GetModulePath() returns incorrect path for exe in Chrome
> >
> > Chrome changes process title that causes dladdr returns wrong module
> > path for executable binary. Workaround the problem by using
> > GetExecutablePath() which gets path from /proc/self/exe.
> >
> > Bug: chromium:1399828
> > Change-Id: I7dd89387160103af51e267a1dc8464715311f771
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089450
> > Auto-Submit: Peng Huang <penghuang@chromium.org>
> > Commit-Queue: Peng Huang <penghuang@chromium.org>
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
>
> Test: Load ANGLE from APK on Android
> Bug: angleproject:7888
> Change-Id: I27f3e8fa7e5bbb0911669ece6afce61f4e9a2713
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4105340
> Auto-Submit: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Cody Northrop <cnorthrop@google.com>

Bug: angleproject:7888
Change-Id: I2702c02dddea22713a8bbd79a4ed96e7475a4252
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4106348
Commit-Queue: Peng Huang <penghuang@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-14 16:59:32 +00:00
Shahbaz Youssefi 77c95de4b3 Vulkan: Threaded monolithic pipeline creation
With this change, once a pipeline is created out of libraries, a task is
scheduled (if necessary) to asynchronously create a corresponding
monolithic pipeline.  Once the task is complete, the linked pipeline
handle is replaced by the monolithic one, gaining back any performance
that might have been lost due to the use of libraries.

Bug: angleproject:7369
Change-Id: I525fb1e09f8bedc61b9dbef19f9cce7026ff9c53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4031151
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-12-14 15:43:47 +00:00
Shahbaz Youssefi 2072aea999 Metal: Remove references to GLSLANG
Bug: angleproject:7220
Change-Id: Ifae4dc427e34cdd3ec17b8f897c7dec59c779633
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4104001
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-14 14:49:46 +00:00
Shahbaz Youssefi 69d9f077de Metal: Remove references to ShaderInterfaceVariableInfoMap
Bug: angleproject:7220
Change-Id: Ib78daa77779258aa450067d891c6af4ee4877446
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4104000
Reviewed-by: Gregg Tavares <gman@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-14 14:28:15 +00:00
angle-autoroll 03abe6cd77 Roll vulkan-deps from 66d1f426b724 to a7b8bd76ed0c (8 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/66d1f426b724..a7b8bd76ed0c

Changed dependencies:
* glslang: c6b3f279a7..f9b760e6c7
* spirv-cross: c77b09b57c..a89dea3c49
* vulkan-validation-layers: e7a0c9bc0d..56e3ebda22

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 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: I3690f26e05a616f7ec50460297a67e4dfb873948
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4104746
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-14 11:36:49 +00:00
angle-autoroll 1b5dfec1d3 Roll Chromium from 438de6cec0a1 to 72727941e886 (660 revisions)
438de6cec0..72727941e8

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 romanl@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: 4a983da20b..967a60a2f7
* buildtools: 910aaedf13..6c567bfa24
* buildtools/third_party/libc++/trunk: c994418314..19ffb9c006
* testing: 564b746622..70fb2d591b
* third_party/abseil-cpp: ab365d399e..266ad209dc
* third_party/android_build_tools: 1e254c17ed..3ec81a68ed
* third_party/android_deps: cf97dd948b..62a97b8cd6
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..e28e9f182e
* third_party/fuchsia-sdk/sdk: version:11.20221209.0.1..version:11.20221213.1.1
* third_party/r8: 3Vuxtp3m63h2bcmamz2iBC04rNQOUmQ3O6eDyLoVY3EC..lillZvBtdIMEXU6ZjAiEGDqyEqLe0DiozKLwy2X0QKkC
* tools/clang: 3344dd8997..60f2ca4e90
* tools/mb: 395e41c4fb..94ca0e8b0a
* tools/perf: b445cdb1c0..6460c2fc71
Clang version changed llvmorg-16-init-13328-g110fe4f4:llvmorg-16-init-12251-g87d0ff91
Details: 3344dd8997..60f2ca4e90/scripts/update.py

Bug: None
Tbr: romanl@google.com
Change-Id: Ia7e3ae193bdf7078791507ff3fe5dee98e935934
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4104431
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-14 10:50:36 +00:00
Cody Northrop 4a4ae726c4 Revert "Workaround GetModulePath() returns incorrect path for exe in Chrome"
This reverts commit 4e54e434bd.

Reason for revert: Causes ANGLE to crash on Android when loading from an APK

Original change's description:
> Workaround GetModulePath() returns incorrect path for exe in Chrome
>
> Chrome changes process title that causes dladdr returns wrong module
> path for executable binary. Workaround the problem by using
> GetExecutablePath() which gets path from /proc/self/exe.
>
> Bug: chromium:1399828
> Change-Id: I7dd89387160103af51e267a1dc8464715311f771
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089450
> Auto-Submit: Peng Huang <penghuang@chromium.org>
> Commit-Queue: Peng Huang <penghuang@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

Test: Load ANGLE from APK on Android
Bug: angleproject:7888
Change-Id: I27f3e8fa7e5bbb0911669ece6afce61f4e9a2713
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4105340
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2022-12-14 05:10:01 +00:00
Charlie Lao 214742be91 D3D: Remove ResourceSerial
The only difference between ResourceSerial and UniqueueSerial (formerly
Serial) appears to be ResourceSerial is wrapper of object pointer. This
CL removes ResourceSerial class and switched it to UniqueSerial class
instead. (We may need to see why it needs to use pointer to initialize
the serial, that sounds like the exact thing serial try to avoid.)

Bug: b/262047600
Change-Id: Ic8e1b26d7da9304ff02fd9a7e1b584bb70efcb77
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4102107
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-14 02:07:07 +00:00
Charlie Lao b19d17b80e Vulkan: Split Serial class into UniqueSerial and Serial
This CL splits Serial class into two classes: UniqueSerial and Serial.
UniqueSerial supports the object unique serial usage where there is ==
and != operator but no > or < comparison. UniqueSerial can have invalid
value, but Serial will not have invalid value (in next CL). The main
reason is for next CL we can further optimize out the invalid value
check in the QueueSerial comparison.

Bug: b/262047600
Change-Id: Ieaed2a0d5546b012a6d63aa18b6006595e4aee1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4093557
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
2022-12-14 02:01:29 +00:00
Shahbaz Youssefi 22d731145a Vulkan: Remove unnecessary pipeline library retain
Vertex input and fragment output partial pipelines are kept alive until
context destruction, so there's no need to retain them.

Bug: angleproject:7369
Change-Id: I8cbe5b9f70845bb5d9348f11889f64a6a94a6b87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4100407
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-13 21:23:58 +00:00
Ivan Murashov 816505f9d2 GCC: Make some operators of QueueSerial non constexpr
Fix build breakage for GCC because of calling non constexpr function
from a constexpr function.
The error example:
third_party/angle/src/libANGLE/renderer/serial_utils.h:214:40:
error: call to non-'constexpr' function 'rx::Serial
rx::AtomicQueueSerialFixedArray::operator[](rx::SerialIndex) const'

Bug: chromium:819294
Change-Id: Ic09be54ce9418ab3f7d947eaa27c97b55c3c2bab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4098527
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-13 19:22:42 +00:00
angle-autoroll aa921a6383 Roll SwiftShader from 36e043fa6d46 to 22d5e1e91e82 (7 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/36e043fa6d46..22d5e1e91e82

2022-12-13 sugoi@google.com Revert "Float only writeColor"
2022-12-13 swiftshader.regress@gmail.com Regres: Update test lists @ 29dc5eb3
2022-12-12 syoussefi@google.com Implement VK_KHR_surface/swapchain_maintenance1
2022-12-12 sugoi@google.com Float only writeColor
2022-12-12 syoussefi@google.com Update Vulkan headers to version 1.3.225
2022-12-12 sugoi@google.com Merge changes I6664b301,Iccccf7fd,I44bfc249,Ibd600b7e
2022-12-12 sugoi@google.com Fix Kokoro presubmit checks

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 romanl@google.com,syoussefi@google.com 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: angleproject:7878
Tbr: romanl@google.com,syoussefi@google.com
Change-Id: Idd7055de0a56e304923a701d5c6214fcee447c87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4100742
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-13 17:18:17 +00:00
Chris Dalton 004c5c9452 Prefix all PLS enums with "GL_"
Bug: angleproject:7279
Change-Id: Ifb4062e502305f4e59546f067d195d1a05fbabe4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4095380
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Steven Noonan <steven@valvesoftware.com>
2022-12-13 16:32:24 +00:00
Roman Lavrov 65e3ec8e8c Revert "Re-enable dEQP-EGL.functional.resize.surface_size on Linux."
This reverts commit e4b55b85bc.

Reason for revert: Still flaky https://ci.chromium.org/ui/p/angle/builders/try/linux-test/10487/overview

Original change's description:
> Re-enable dEQP-EGL.functional.resize.surface_size on Linux.
>
> These were flaky, let's see if recent X11 related changes fixed this.
>
> Bug: angleproject:5753
> Change-Id: I9f112f8d01cb838bc588b818a0a7d0a4ec5fd087
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4097404
> Auto-Submit: Roman Lavrov <romanl@google.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>

Bug: angleproject:5753
Change-Id: Ia3042f65754f1436eca6d8ce014cc73245c4c7e4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4100406
Commit-Queue: Roman Lavrov <romanl@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-12-13 14:02:45 +00:00
angle-autoroll f8720bdb9e Roll vulkan-deps from 8b5ea902f8d4 to 66d1f426b724 (5 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/8b5ea902f8d4..66d1f426b724

Changed dependencies:
* glslang: 6d8b00b1c6..c6b3f279a7
* spirv-tools: 9c6a925c87..43c99b5ee0
* vulkan-loader: b43758588b..96488e2b2e
* vulkan-validation-layers: 46f343d060..e7a0c9bc0d

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 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: Iae931aa7a36e69667e85611e45062c1f7a25cb44
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4099696
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-13 11:36:32 +00:00
angle-autoroll 5dc73efc93 Roll Chromium from 1c9a08119fdd to 438de6cec0a1 (605 revisions)
1c9a08119f..438de6cec0

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 romanl@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: 3d4b0c1e77..4a983da20b
* buildtools: 202b660eb5..910aaedf13
* buildtools/linux64: git_revision:70d6c60823c0233a0f35eccc25b2b640d2980bdc..git_revision:5e19d2fb166fbd4f6f32147fbb2f497091a54ad8
* buildtools/mac: git_revision:70d6c60823c0233a0f35eccc25b2b640d2980bdc..git_revision:5e19d2fb166fbd4f6f32147fbb2f497091a54ad8
* buildtools/third_party/libc++/trunk: 52399655fd..c994418314
* buildtools/third_party/libc++abi/trunk: 25a3d07096..123239cdb6
* buildtools/win: git_revision:70d6c60823c0233a0f35eccc25b2b640d2980bdc..git_revision:5e19d2fb166fbd4f6f32147fbb2f497091a54ad8
* testing: 815aab8052..564b746622
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..20cf5c69af
* third_party/depot_tools: a964ca1296..e1c8efebe0
* third_party/r8: fFQ1Rqv_uAJXc7HegDNUyiPFP55MX8M60L6HLFijCwgC..3Vuxtp3m63h2bcmamz2iBC04rNQOUmQ3O6eDyLoVY3EC
* tools/mb: 88fc00c3f4..395e41c4fb
* tools/perf: eb45a81dce..b445cdb1c0
No update to Clang.

Bug: None
Tbr: romanl@google.com
Change-Id: I04ad8bdd12972eb4501d13e13dbf4e183ca1fbc5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4099694
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-13 08:48:59 +00:00
angle-autoroll 91bfd02e70 Roll VK-GL-CTS from d90c76e77622 to 9f4465eccb37 (6 revisions)
d90c76e776..9f4465eccb

2022-12-12 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main
2022-12-12 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main
2022-12-08 amber@igalia.com Add tests for 0 pWaitDstStageMask in VkSubmitInfo and events.
2022-12-08 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
2022-12-08 ziga@lunarg.com Add tests with primitive restart generating no primitives
2022-12-07 rgarcia@igalia.com Add tests for VK_EXT_extended_dynamic_state3

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 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: I7d1e458a5a2fede6c0c6cea693527bca81e746d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4098375
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-13 02:08:41 +00:00
Charlie Lao 89cd858319 Vulkan: Clean up Resource class
Resource::retainCommands() API name no longer make sense. This CL
removes retainCommands and retainReadOnly and retainReadWrite APIs and
replaced with setQueueSerial and setWriteQueueSerial call directly.

This CL also merges some of single inline functions to minimize the
file, sine the class is small anyway.

Bug: b/262048658
Change-Id: I9d16b82c79b27f3285311393601705a4ee7f6d8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4098005
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
2022-12-13 00:46:12 +00:00
Shahbaz Youssefi a1be7188c6 Vulkan: Keep referenced pipeline libraries alive
As required by the spec, it's not enough to keep the linked pipeline
alive.  With this change, the serials of the invidual libraries are
updated every time the serial of a linked pipeline is updated.

Bug: angleproject:7369
Change-Id: Iedc98a427d988d00b4e8745964d9827fdf51ea7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4098744
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-12 22:51:13 +00:00
Charlie Lao f3ebb2ca41 Vulkan: Better mUse tracking for DynamicallyGrowingPool<Pool>
This is used only from DynamicallyGrowingPool<Pool>::onEntryFreed to set
the its tracking QueueSerial. There is better way to do this now with
per context serial. We can simply merge the QueryHelper's mUse into the
pool instead of setting pool's use to the current queueSerial. The
benefit of doing that is to possibly allow pool gets reuse/freed earlier
(i.e., more accurate tracking). This CL switches it to more accurate
tracking and removes mCurrentSerial from Context.

This CL also removes unused DynamicSemaphorePool class.

Bug: b/262054987
Change-Id: Iac3e2495cc0e3623ba63e9da7f32ad6e9c223467
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089847
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-12 21:26:37 +00:00
Amirali Abdolrashidi 052277fc1a Fix the input arg after the trace_tests change
* Added angle_trace_tests as an acceptable input for
  run_angle_android_test.py after the change to split
  trace tests from perf tests.

Bug: angleproject:7755
Change-Id: Ia95d20c1ba8479c14055aa1515c1c4b6dc264a86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4068354
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2022-12-12 19:04:18 +00:00
Amirali Abdolrashidi 684ff60bd7 Vulkan: Add shared ring buffer cmd alloc feature
* Added RingBufferAllocator.cpp with implementation.
  * Main classes:
    * RingBufferAllocator (fast allocation with bulk deallocation)
    * SharedRingBufferAllocator (wrapper to help with shared use and
    multiple threads)

* Implemented "angle_enable_vulkan_shared_ring_buffer_cmd_alloc"
feature. (Disabled by default)
  * Details (from the original CL)
    * The angle::PoolAllocator replaced with
    angle::RingBufferAllocator.

    * Before, there was separate angle::PoolAllocator per each
    CommandBufferHelper. Now, a single angle::RingBufferAllocator
    is shared between multiple CommandBufferHelper objects.

    * Commands data from multiple CommandBufferHelpers is
    tightly packed without fragmentation.

  * Significantly less memory overhead, observed with enabled
    async queue.

* Moved the parts of the code related to the allocators into the
  classes in the new AllocatorHelperPool and AllocatorHelperRing files
  for better management. The allocator can be switched by changing the
  following BUILD flag:
  `angle_enable_vulkan_shared_ring_buffer_cmd_alloc`

    * It is connected to the following macro:
      ANGLE_ENABLE_VULKAN_SHARED_RING_BUFFER_CMD_ALLOC

  * The two main allocator classes in each file are aliased as:
    * SecondaryCommandBlockAllocator (in CommandBufferHelper objects)
    * SecondaryCommandBlockPool (in SecondaryCommandBuffer)

  * Also added placeholder functions for VulkanSecondaryCommandBuffer.

* Added descriptions regarding the two allocators.
  * renderer/vulkan/doc/Allocators.md

Credit: Original CL authored by Igor Nazarov <i.nazarov@samsung.com>

Bug: angleproject:6401
Bug: b/256666069
Change-Id: I0f24793eef6334bf4ff8e327b9665338807dad37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3715968
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
2022-12-12 18:37:40 +00:00
Roman Lavrov e4b55b85bc Re-enable dEQP-EGL.functional.resize.surface_size on Linux.
These were flaky, let's see if recent X11 related changes fixed this.

Bug: angleproject:5753
Change-Id: I9f112f8d01cb838bc588b818a0a7d0a4ec5fd087
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4097404
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-12-12 16:18:40 +00:00
Yuly Novikov f08fd32d00 Skip DrawElementsIndexOutOfRangeWithDynamicDraw on Win Intel
Bug: angleproject:7866
Change-Id: I0eb403e8217da5a9bd1602e3297b581ed34be28e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4096988
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2022-12-12 16:10:22 +00:00
Yuly Novikov f98d3f6c02 More PixelLocalStorage skips on iOS
Bug: angleproject:7756
Change-Id: I90865aec0bb5b685396962c1a4376adca99c6537
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4096987
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-12-12 15:52:44 +00:00
angle-autoroll 64e1904bb5 Roll vulkan-deps from 89b9b4762b94 to 8b5ea902f8d4 (14 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/89b9b4762b94..8b5ea902f8d4

Changed dependencies:
* glslang: ed257e2bdf..6d8b00b1c6
* spirv-headers: 1d31a10040..70ff9d939c
* vulkan-headers: bf3b3fb14e..9b48e83ef8
* vulkan-tools: f846ef57a0..ffa89a4447
* vulkan-validation-layers: 934d2bddab..46f343d060

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 abdolrashidi@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: abdolrashidi@google.com
Change-Id: Id03925e7a568f7295770341feaa2b646791f41e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4096008
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-12 11:52:12 +00:00
angle-autoroll 66ee308c4c Roll SwiftShader from 6ebc3347af9d to 36e043fa6d46 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6ebc3347af9d..36e043fa6d46

2022-12-10 capn@google.com Add a macro for indicating unoptimized code paths

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 abdolrashidi@google.com 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: abdolrashidi@google.com
Change-Id: I163782840b5dfa28b6d0f070b4102c6a6caec6c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4095296
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-12 11:07:32 +00:00
angle-autoroll b1b4640104 Roll Chromium from 3b96c02c7465 to 1c9a08119fdd (378 revisions)
3b96c02c74..1c9a08119f

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 abdolrashidi@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: 2c6fbff58d..3d4b0c1e77
* buildtools: 4fb9b31a5c..202b660eb5
* buildtools/third_party/libc++/trunk: e4e39cee1f..52399655fd
* testing: 770e331176..815aab8052
* third_party/abseil-cpp: cf8a24d091..ab365d399e
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2f1cf6121c
* third_party/depot_tools: 8e77bba1ae..a964ca1296
* third_party/fuchsia-sdk/sdk: version:10.20221207.3.1..version:11.20221209.0.1
* third_party/r8: rTXVKiqoOxR4GVJBXkVmN4qH8FbxwXX7Nu1H3X414-MC..fFQ1Rqv_uAJXc7HegDNUyiPFP55MX8M60L6HLFijCwgC
* tools/clang: 6b1d726a99..3344dd8997
* tools/mb: b8921723e9..88fc00c3f4
* tools/perf: 49461e5506..eb45a81dce
Clang version changed llvmorg-16-init-12251-g87d0ff91:llvmorg-16-init-13328-g110fe4f4
Details: 6b1d726a99..3344dd8997/scripts/update.py

Bug: None
Tbr: abdolrashidi@google.com
Change-Id: Ic77e2594aa00305171105c0b1f46e4f94f1a1edc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4093504
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-12 09:39:01 +00:00
Charlie Lao f8980c98b2 Vulkan: Make ReadWriteResource subclass from Resource
To simplify the code slightly. The main reason for this is that the two
class variables of ReadWriteResource totally does not make sense:
mReadOnlyUse actually manes any usage, read or write.  mReadWriteUse
actually means write usage.

Since Resource class's mUse means any access, subclass ReadWriteResource
from Resource class makes more sense since mUse means exact same thing
in both classes.

This CL also changes ReadQriteResource::mReadWriteUse to mWriteUse.

Bug: b/262048658
Change-Id: I0e3172a70b8cb6a6481045c46690b69fbfe9523c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089983
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-10 02:51:33 +00:00
Charlie Lao 6830b7d3d6 Vulkan: Use finishQueueSerial for queueSubmitOneOff
Right now for oneoff submission we are creating a fence and pass in the
fence and then wait for fence outside the normal wait code path. This
creates a problem that the command buffer and garbage clean up code does
not gets run and may end up hitting assertion. This might be necessary
before because complication with ResourceList. With recent work that
removes ResourceList, this can be much simpler now. This CL removes the
fence creation and wait in the oneoff submission code path (except the
external fence) and switch to finishQueueSerial call.

Bug: b/255414841
Change-Id: I2b16c187becbda9c2397685c7212abac994e8dc2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4053261
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-10 01:22:20 +00:00
Charlie Lao 1219f55ad6 Vulkan: Remove Resource::isCurrentlyInUse
Due to header file include order, this function can not directly
made inline. This CL removes the function and replace it with
renderer->getUnfinishedUse() to reduce one extra function call of one
line function.

Bug: b/262048658
Change-Id: Ied33b63d0ec88336a5ce42cf7726f16b2b883b86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089623
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-10 00:41:27 +00:00
Charlie Lao 798b97b87d Vulkan: mapRangeImpl should call flushImpl if unflushed write
BufferVk::mapRangeImpl() want to ensure any GPU write command has been
flushed and finished. Right now it calls flushImpl if there is any
unflushed access. It should only need to flush if there is any unflushed
*write* command. This CL changes check of any access to any write
access.

This CL also inlines isCurrentlyInUseForWrite/finishGPUWriteCommands and
removed these two single line function calls.

Bug: b/261772793
Change-Id: I1628ec31eaceb87f82e654cb1f317570ff2f6c12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4086972
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-09 23:42:48 +00:00
Charlie Lao 702018d267 Vulkan: Make PipelineHelper go through normal collectGarbage
Right now there are two different type of garbages. Objects like buffer
or VkImage that can be used by different contexts and are GPU tracked as
they are been used. These objects goes to RendererVk::mSharedGarbage.
The one time use objects or objects are not been tracked as they are
been accessed, they add to the context's garbage list and their mUse
gets updated when commands gets submitted. With new per active context
queue serial, the update of mUse can be immediate and low cost ( write
to an entry in the array), so there really isn't a good need to keep
two garbage list. This CL only deals with PipelineHelper object that
makes it goes through general collectGarbage code path instead of
ContextVk::mCurrentGarabge, since the PipelineHelper object is already
mUse tracked properly.

Bug: angleproject:7862
Change-Id: Ie77229683828590546f06938add057cf5610835b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089984
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-12-09 22:38:28 +00:00
Shahbaz Youssefi 556708953f Vulkan: Move desc set updates cache to share group
This ensures that if one context batches updates to a descriptor set,
that other contexts in other threads are able to flush them if
necessary.  This is necessary as descriptor sets are themselves shared
between contexts.

Bug: b/261552549
Bug: angleproject:7881
Change-Id: Id1a895b05fe31d118e8fb3fa64e5ccd67cff7923
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4088904
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
2022-12-09 22:33:35 +00:00
Shahbaz Youssefi fd75686e83 Vulkan: Fix EGL image queue change vs threads
ANGLE records commands (a queue transfer and layout transition) when an
external image is bound to a texture or a renderbuffer.  If another
thread starts using these resources, the recorded commands should have
been flushed.  The application is not required to synchronize between
the threads in this case (or at least, there are applications that
don't).

Bug: b/261552549
Change-Id: I9f345316269baf5f10576dbef73b86924efd5c6f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4088903
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
2022-12-09 21:16:52 +00:00
Yuly Novikov cc6a853674 Skip couple non-deterministic angle_restricted_trace_gold_tests
on Win Intel Vulkan.

black_desert_mobile
the_gardens_between

produce slightly different images each run.

Bug: angleproject:7879
Change-Id: I3a7c218b8e67b4800b4620ab7d1dc6ee15a5a089
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4092915
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2022-12-09 18:55:18 +00:00
Alexey Knyazev 0103213eca GL: Support clip and cull distance redeclarations
* Fixed gl_PerVertex qualifier string.
* Updated ValidateClipCullDistanceTraverser to output
redeclared array sizes and maximum constant indices.
* Made DeclarePerVertexBlocks available for non-Vulkan
outputs.
* Updated DeclarePerVertexBlocks to remove gl_ClipDistance
and gl_CullDistance redeclarations.
* Enabled DeclarePerVertexBlocks for ESSL output when
gl_ClipDistance or gl_CullDistance are redeclared.
* Updated ESSL output to use 3.10 shading language version,
when the context has GL_EXT_clip_cull_distance enabled.
* Updated ESSL output to enable GL_EXT_shader_io_blocks
when gl_ClipDistance or gl_CullDistance are redeclared.
* Updated extension exposure conditions.
* Fixed typos in ParseContext.

Bug: angleproject:7763
Change-Id: Ib87368a1953ad546a407d634d8b00f71cf92c40c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4083705
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-09 18:27:41 +00:00
Charlie Lao f4e64938de Vulkan: Remove CommandQueue::mQueueSerialMutex
This mutex lock is no longer used and needed, thus removed in this CL.
Also removed unused BufferAccess enum class.

Bug: b/261737134
Change-Id: I7391e84c5b2abcd87de6ce9e66ba85f81ff7dce3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4086934
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-09 18:13:30 +00:00
Shahbaz Youssefi db9ffea3e8 Vulkan: Remove the unused shadowBuffer feature
Bug: angleproject:4339
Change-Id: I4f4524ba597af25bd6da3792bd7a85ae1b52962e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089448
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-09 18:08:58 +00:00
Charlie Lao 02cc4cd580 Vulkan: Remove ImageHelper::mImageAndViewGarbage
This was introduced in crrev.com/c/3449450. At that time this is
necessary, because we can not copy mUse for immediate view garbage
collection. Now with recent work, mUse is copyable, we no longer need to
accumulate the view garbage. They can be released immediately with a
copy of image's mUse.

Bug: b/261737134
Change-Id: Ic4393f8c4ee7c0e3be4669a0a557507c909a77ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4087323
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-09 18:02:15 +00:00
Yuly Novikov 104faff5dd Enable angle_restricted_trace_gold_tests retries on Win Intel UHD630
Flaky 4x8 pixel artifacts like with older GPU/driver.

Also expand flaky Texture2DTestES3.NonZeroBaseEmulatedClear skip.

Bug: angleproject:5415, angleproject:7866
Change-Id: Iea11f7dcb75e71f89dcf83f0cdde7ff74d6385f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4092005
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
2022-12-09 16:36:46 +00:00
Peng Huang 4e54e434bd Workaround GetModulePath() returns incorrect path for exe in Chrome
Chrome changes process title that causes dladdr returns wrong module
path for executable binary. Workaround the problem by using
GetExecutablePath() which gets path from /proc/self/exe.

Bug: chromium:1399828
Change-Id: I7dd89387160103af51e267a1dc8464715311f771
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089450
Auto-Submit: Peng Huang <penghuang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-09 15:39:15 +00:00