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

1878 Коммитов

Автор SHA1 Сообщение Дата
Cody Northrop 8668cac1a9 Tests: Add My Friend Pedro trace
Test: angle_trace_tests --gtest_filter="*my_friend_pedro*"
Bug: angleproject:7898
Change-Id: Iae0427ac714704214dec292199cd1c5d2097b17f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114830
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-12-19 22:24:08 +00:00
Cody Northrop d53ba51fea Tests: Add Disney Mirrorverse trace
Test: angle_trace_tests --gtest_filter="*disney_mirrorverse*"
Bug: angleproject:7897
Change-Id: I1b49c253e606f08c5af80f8f9b60b8948a0d5121
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114829
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-12-19 21:18:49 +00:00
Amirali Abdolrashidi cd5400952a Vulkan: Add memory log at allocation error
* Added logging memory allocation information in handleError() in the
  event of an error from ANGLE_VK_TRY.
  * Used for the handleError() in ContextVk.

* Updated the name and message of the function to log allocations.
  * checkForCurrentMemoryAllocations()

* Added logging memory heap stats, including budget and usage.
  * logMemoryHeapStats()
  * In the renderer, added the feature flag indicating whether the
    platform supports the memory budget extension.
    * Uses VK_EXT_memory_budget.
  * Added the enum class MemoryLogSeverity, which is used to select
    the severity level of the memory log.

* Added logging pending memory allocation information.
  * logPendingMemoryAllocation()
  * If the last unsuccessful memory allocation was unsuccessful, its
    information will be added to the log.

Bug: b/262029018
Change-Id: I97343c1553936aed23d763f3e0c00d495f9ee810
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089531
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Kaiyi Li <kaiyili@google.com>
2022-12-19 19:59:41 +00:00
Shahbaz Youssefi ea36cf1c9a Vulkan: Feature for VK_EXT_rasterization_order_attachment_access
This change just adds the feature.  A follow up change will actually
start using the extension.

Bug: angleproject:7899
Bug: b/192477489
Change-Id: I19c078ebe57a7819b3aa3e95d4436cefa34ba85b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113912
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
2022-12-19 19:09:44 +00:00
Charlie Lao 376d309c40 Vulkan: Remove unnecessary usesBuffer() check
There are places that we call setQueueSerial after usesBuffer() check.
This was useful when we had the ResourceList where it is more expensive
to set serial. But now setQueueSerial is cheap (actually is cheaper than
usesBuffer check), so there is no need to do this check any more. This
CL removes the check to further reduce the CPU overhead. Because of
this, mUsedBufferCount will not be accurate, so this CL also removes the
tracking of mUsedBufferCount (was only for informational purpose
anyway).

This CL also removes commandBufferQueueSerial.valid() check in
Resource::usedByCommandBuffer() and turns it into assertion. Some places
in contextVk will ensure we only call it on started renderpass so that
other places that calls usedByCommandBuffer will not need to eat the if
check.

Bug: b/262047600
Change-Id: I6b8004b6aa5b567fa94c0eb56801054f818838b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4112145
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-19 18:18:41 +00:00
Gregg Tavares be9e8e7b03 Add EGL_ANGLE_wait_until_work_scheduled extension
We're changing eglReleaseTexImage so it calls
flushCommandBuffer(mtl::NoWait) instead of
flushCommandBuffer(mtl::WaitUntilScheduled)
and then adding an extension to allow us to
WaitUntilScheduled.

This is because Chrome calls eglReleaseTexImage for
every canvas and having it WaitUntilScheduled per call
is very slow. So instead we'll call eglWaitUntilWorkScheduledANGLE
once which will effectively wait just once.

Bug: angleproject:7890
Change-Id: I87bc9f9a1a7f4a0f99d93736cc3083799e76afeb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4109311
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
2022-12-17 02:33:59 +00:00
Cody Northrop eea7a5537e Tests: Add Sonic Forces trace
Test: angle_trace_tests --gtest_filter="*sonic_forces*"
Bug: angleproject:7892
Change-Id: I2a8dabf1be14dc4eb1f9393290941821700ac57e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113290
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2022-12-16 15:27:43 +00:00
Cody Northrop 4704eb495c Tests: Add 20 Minutes Till Dawn trace
Test: angle_trace_tests --gtest_filter="*20_minutes_till_dawn*"
Bug: angleproject:7891
Change-Id: Id626ca865ed8a0d55367de2e1753fbafdbfe6ee1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4112765
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2022-12-16 14:58:21 +00:00
Jamie Madill ef6f212741 Capture/Replay: Fix trace interpreter autogen inputs.
We were using the Khronos-specific XML file list, when we were
really using both the Khronos and ANGLE XML files. Also updates
auto-gen with the new data.

Bug: angleproject:7775
Change-Id: Ifbc74bceec24a767ef45d94dd2e8a5cf850396ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4111198
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2022-12-15 16:18:16 +00:00
Cody Northrop 001ba94e3d Tests: Add Plants vs. Zombies Heroes trace
Test: angle_trace_tests --gtest_filter="*plants_vs_zombies_heroes*"
Bug: angleproject:7848
Change-Id: Ieb8721401aa3d270b459d60944f12468ea2dbd28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4109319
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2022-12-15 15:42:42 +00:00
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
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
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
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
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
Chris Dalton eb1a13d8cf Improve PLS load and store op tokens
Define more new tokens that are more clearly named, as opposed to
recycling tokens that were meant for a different purpose.

Bug: angleproject:7279
Change-Id: I840e5ea168235c49eec2693b2231c2d329027b0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4082057
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2022-12-09 15:32:37 +00:00
angle-autoroll caccbdc1f7 Roll Chromium from eb46dc0d0fce to 3b96c02c7465 (547 revisions)
eb46dc0d0f..3b96c02c74

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: 0e5c336082..2c6fbff58d
* testing: c9e298613f..770e331176
* third_party/android_deps: e1923458e4..cf97dd948b
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..562809c7e4
* third_party/depot_tools: d259b31644..8e77bba1ae
* third_party/r8: 5Ckp25uPxCBEH3n_3JC6k2Jf1STCD2VMtCxHeUDjz6oC..rTXVKiqoOxR4GVJBXkVmN4qH8FbxwXX7Nu1H3X414-MC
* tools/clang: 72ab3202b5..6b1d726a99
* tools/mb: 0103aeaf9b..b8921723e9
* tools/perf: 9ed590cee3..49461e5506
No update to Clang.

Bug: None
Tbr: abdolrashidi@google.com
Change-Id: Iebaaa973b89e28e1e064f950c211d5e9a6420a3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4091422
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-09 08:05:35 +00:00
angle-autoroll 6784fe5d95 Roll vulkan-deps from 7935ee7ccbc0 to 5e89361766f7 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/7935ee7ccbc0..5e89361766f7

Changed dependencies:
* vulkan-headers: b75e5a02b6..bf3b3fb14e

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,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: abdolrashidi@google.com,syoussefi@google.com
Change-Id: I6f7ad7f52c12df8cd1b236133262a1a1e01afb3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4087617
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-08 17:38:49 +00:00
Yuly Novikov 81a3c71eec Enable tests on Win Intel Optiplex 7080 experimental bot
Suppress failing end2end tests and run single process
Suppress VUID-VkDescriptorImageInfo-imageView-06711

Bug: chromium:1349828, angleproject:7874
Bug: angleproject:7865, angleproject:7866, angleproject:7872
Change-Id: I18c9099af6635cf41f5368960dc1d35d9decc48c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4071925
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
2022-12-08 14:11:41 +00:00
Jamie Madill 82eba6cd59 infra: Remove UBSAN-specific configs.
Because the UBSAN flag is turned on in the ASAN builder, we
don't need a separate UBSAN builder.

Bug: angleproject:7871
Change-Id: I4f6c8d56bdd209efea381677b2972616b6a6df14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4086741
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2022-12-07 18:26:24 +00:00
Jamie Madill 2364578f8a infra: Enable UBSAN together with ASAN and LSAN.
These flags are compatible. This should save on testing resources.

Bug: angleproject:7871
Change-Id: I860e3724f54bdbf06e7530bd6bfe72ec0f53cc54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4086283
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-12-07 17:49:37 +00:00
angle-autoroll aba757d4e5 Roll vulkan-deps from ca8ca2aba961 to a497ee9d6755 (62 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/ca8ca2aba961..a497ee9d6755

Changed dependencies:
* glslang: 88fd417b0b..a7603c132d
* spirv-headers: c214f6f2d1..1d31a10040
* spirv-tools: 46ca66e699..40f5bf59c6
* vulkan-headers: b092b2fccc..891c40de1a
* vulkan-loader: 3a092fe869..82d4232f0f
* vulkan-tools: ec541c410e..ce45337c51
* vulkan-validation-layers: 7a9d51a51c..1f2848428c

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: I2feeac1a9e1fed54d9f57d4f29e926b48efa33e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4083107
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-06 11:12:27 +00:00
Shahbaz Youssefi 3fedd435d1 Overlay: Switch font to RobotoMono
Which has an Apache 2.0 license

Bug: b/260423572
Change-Id: Ibc4b664ddfe844be08ccbac57c27e81951940490
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4079268
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-05 17:44:52 +00:00
angle-autoroll d9c9eede31 Roll VK-GL-CTS from 9d22258ed442 to d90c76e77622 (14 revisions)
9d22258ed4..d90c76e776

2022-12-02 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main
2022-12-02 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkansc-cts-1.0.1 into vk-gl-cts/main
2022-12-02 rgarcia@igalia.com Remove custom instances from robustness index access tests
2022-12-01 lionel.g.landwerlin@intel.com Fix uninitialized blendConstants in ColorBlendState
2022-12-01 ziga@lunarg.com Add missing extension checks in extended dynamic state tests
2022-12-01 piotr.byszewski@mobica.com Ensure robustness for OOB index buffer accesses
2022-12-01 ziga@lunarg.com Test creating device with promoted feature structures
2022-12-01 rgarcia@igalia.com Avoid passing unsupported structs in mandatory features test
2022-12-01 cturner@igalia.com Adds coverage for gl_PrimitiveID implicit passthrough with GPL.
2022-12-01 rgarcia@igalia.com Avoid using custom instances in robustness tests
2022-12-01 mcanal@igalia.com Allow override of wayland-scanner executable
2022-12-01 rgarcia@igalia.com Add VK_NULL_HANDLE definition to vkDefs.hpp
2022-12-01 zzoon@igalia.com Add tests for buffer device address with buffers bound at offset
2022-12-01 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC 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: Ic01d46349b71964bd250515d6246a36cc75fee89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4080546
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-05 15:54:08 +00:00
Cody Northrop bdb127da76 Android: Remove smhasher license
Removed in:
https://chromium-review.googlesource.com/c/angle/angle/+/4066987

Causes the ANGLE to Android roller to fail:
https://android-review.git.corp.google.com/c/platform/external/angle/+/2323099

Error:
  external/angle/Android.bp:6474:1:
  module "external_angle_license": module source path
  "external/angle/src/common/third_party/smhasher/LICENSE"
  does not exist

Bug: b/260426695
Change-Id: I974d79f155b1077d8d42555245fed1eed69056f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4073983
Commit-Queue: Solti Ho <solti@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Solti Ho <solti@google.com>
2022-12-02 18:40:12 +00:00
Jamie Madill aaee3c23c1 Build and test ANGLE with Vulkan secondary CBs.
This will allow us to run tests with both permutations of
ANGLE (custom secondaries & Vulkan secondaries) in the same
build directory. It will also allow us to run these configs
as tests on our infra. This CL adds a few simple test to CI.

Bug: angleproject:6811
Change-Id: I053f8cc5bafc2a7ab7d0665da9301f0ba7f8417f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4067806
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-12-02 15:46:53 +00:00
Yuly Novikov e4054a3fae Add ANGLE experimental bots for Win Intel
Targeting Optiplex 7080.
Not running any tests for now.

Bug: chromium:1349828
Change-Id: I6e3973c684cbcbefd283f314b2a48bf33f8ce6da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4071104
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2022-12-01 17:46:28 +00:00
Jamie Madill 76ef42072c Remove trace tests from win-intel.
This test configuration is flaky due to non-deterministic
rendering. It's also running a very old configuration. We can
revisit turning this on when our test machines are updated.

Bug: angleproject:7708
Change-Id: I486607f673e49123b3b77e02b335049eb5ab34ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4070224
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-12-01 15:37:49 +00:00
Chris Dalton a4db947717 Implement pixel local storage with metal::read_write textures
Metal's programmable blending feature isn't available on non-Apple
Silicon, so on these devices we have to polyfill pixel local storage
using read_write textures, which can also be coherent if
raster_order_groups are supported.

This change leverages the existing PLS transformation to images, and
implements just enough shader image functionality in Metal to support
the pixel local storage usecase. Missing shader image features are
marked with UNIMPLEMENTED().

Bug: angleproject:7279
Bug: angleproject:7792
Bug: angleproject:7794
Bug: angleproject:7797
Bug: angleproject:7803
Change-Id: Ia96a714693d352d57351a1bae4f45437dde000e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3993363
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
2022-12-01 07:28:04 +00:00
Peng Huang 2805e164a6 Fix EGLImage related race condition crash
Bug: chromium:1383195
Change-Id: Ibd74126f19674dad9425d2c8f5b3a217cfd590e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4062912
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2022-11-29 21:46:19 +00:00
Yuxin Hu 1434697fad Add a vk feature flag to only enable precision match fixer on IMG
According to
https://gitlab.khronos.org/vulkan/vulkan/-/merge_requests/5273,
RelaxedPrecision does not need to match in the interface matching
rules. However, removing the precision match is causing triangle
clipping issues on IMG hardware. This change adds a feature
flag to only run the code path that applies precision match in
SpirV if the hardware is IMG.

This is a follow-up change to https://crrev.com/c/4049421.
Instead of adding back the code path that handles varying
precision mismatch for every hardware, only enabling the code
path if the vendor is IMG.

Test:
On Pixel6:
$ adb shell setprop debug.angle.feature_overrides_enabled
varyingsRequireMatchingPrecisionInSpirv
$ out/AndroidDebug/angle_end2end_tests
--gtest_filter="GLSLTest_ES3.MismatchPrecision*" --verbose

Bug: angleproject:7488
Change-Id: Ia0155f14d523195df2f47b852ed6642918270e2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4054100
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2022-11-29 19:14:21 +00:00
Cody Northrop 35247a4df4 Android: Remove java_api_finder from Android.bp
No longer used in Android.

Mirrors the following change:
https://android-review.git.corp.google.com/c/platform/external/angle/+/2316258

Test: None
Bug: b/260268418
Change-Id: Idb6c31b9d31a17108979f2ecca0d28cef60a11fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4053263
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2022-11-24 15:09:33 +00:00
angle-autoroll e9e0da6a94 Roll VK-GL-CTS from 2db7b0a1c310 to 9d22258ed442 (5 revisions)
2db7b0a1c3..9d22258ed4

2022-11-21 quic_mnetsch@quicinc.com Merge vk-gl-cts/dev/VK_EXT_mutable_descriptor_type into vk-gl-cts/main
2022-11-21 quic_mnetsch@quicinc.com Merge "Merge vk-gl-cts/dev/VK_EXT_descriptor_buffer into vk-gl-cts/main" into main
2022-11-18 quic_mnetsch@quicinc.com Update json files for postmortem features
2022-11-18 quic_mnetsch@quicinc.com Merge vk-gl-cts/dev/VK_EXT_device_address_binding_report into vk-gl-cts/main
2022-11-18 quic_mnetsch@quicinc.com Merge vk-gl-cts/dev/VK_EXT_device_fault into vk-gl-cts/main

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC ianelliott@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: ianelliott@google.com
Change-Id: I449b3a3e46c83084544712efe53fa608fd4c6857
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4052764
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-23 21:04:38 +00:00
Cody Northrop 71ead7b41c Tests: Add Diablo Immortal trace
Test: angle_trace_tests --gtest_filter="*diablo_immortal*"
Bug: angleproject:7402
Bug: angleproject:7837
Change-Id: I7c7ccc0099707714213564740f58f04f7965a275
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4041134
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2022-11-23 18:55:21 +00:00
Alexey Knyazev 27727e501a Fix ProvokingVertex typos
Aligned the parameter name with the upstream specs

Moved ValidateProvokingVertexANGLE to validationESEXT.cpp

Bug: angleproject:2829
Change-Id: I820a90c20ef0a1873640c933b1de52526cac7e70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4043701
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
2022-11-22 22:20:58 +00:00
Shahbaz Youssefi 68b47e58aa Vulkan: Initial support for VK_EXT_graphics_pipeline_library
When available, this change uses VK_EXT_graphics_pipeline_library to
create pipelines.  Currently, it is only used when
graphicsPipelineLibraryFastLinking is available.  This restricts the use
of this extension to devices where monolithic pipelines are not any more
performant than linked libraries.

A future change adds support for other implementations by providing
async pipeline creation.

Bug: angleproject:7369
Change-Id: I1e3b7ac4aa56e75c7d6f4d0d5ea91cb0b862e581
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4031489
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Steven Noonan <steven@valvesoftware.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-11-22 19:04:34 +00:00
angle-autoroll 12fa46f07d Roll Chromium from 26b47bd446e8 to 2e2c857c4980 (530 revisions)
26b47bd446..2e2c857c49

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 ianelliott@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: bd893617b2..81415f1f5f
* testing: d5ad5f5098..3329b47db7
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c996ebbd3d
* third_party/depot_tools: d06e475934..30e3ce8b1c
* third_party/fuchsia-sdk/sdk: version:10.20221120.3.1..version:10.20221121.3.1
* third_party/r8: vqsrb5_6fg9u-aSAqrcJiG7q2GOG66_39vdYTKgHmHgC..zJXokrYtEiaa-jjRGetxUuWf3Zkv_G7Fvl5oCXkhBAsC
* tools/clang: ed5ed0ecab..77843ad775
* tools/mb: 124c1e7294..ed1991b2c6
* tools/perf: 468419086d..1e02624893
Clang version changed llvmorg-16-init-10467-g1239d37b:llvmorg-16-init-10736-ged9638c4
Details: ed5ed0ecab..77843ad775/scripts/update.py

Bug: None
Tbr: ianelliott@google.com
Change-Id: Idb3489ac27cc8558d9bb9b1b5c9d92b9f579fdcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4044052
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-22 08:10:58 +00:00
angle-autoroll 356b2a590e Roll VK-GL-CTS from c4fe10a0c86d to 2db7b0a1c310 (7 revisions)
c4fe10a0c8..2db7b0a1c3

2022-11-18 tapani.palli@intel.com Fix for the string query tests on desktop GL
2022-11-18 aitor@lunarg.com Add tests for out-param aliasing against other variables
2022-11-18 cturner@igalia.com Fix a typo setupVertexInputStete -> setupVertexInputState
2022-11-18 rgarcia@igalia.com Improve failure error messages in format_feature_flags2 tests
2022-11-18 amber@igalia.com Add tests for linearly tiled images
2022-11-17 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
2022-11-16 ziga@lunarg.com Merge vk-gl-cts/dev/VK_EXT_pipeline_protected_access into vk-gl-cts/main

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC jonahr@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: jonahr@google.com
Change-Id: Ia91e36411440ba5fe572d0971b54ae6857bbeb9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4037817
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2022-11-21 18:57:17 +00:00
angle-autoroll cbc756332d Roll Chromium from 1f4a045ca0a4 to 26b47bd446e8 (645 revisions)
1f4a045ca0..26b47bd446

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 jonahr@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: dc2384c048..bd893617b2
* testing: a9bbf9d24e..d5ad5f5098
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..b898eb3e06
* third_party/depot_tools: 1f67d5573f..d06e475934
* third_party/fuchsia-sdk/sdk: version:10.20221117.0.1..version:10.20221120.3.1
* third_party/r8: SRv8kr_t534yPmvzQnKEBqgw_lidewzTdKnAKoWYkz0C..vqsrb5_6fg9u-aSAqrcJiG7q2GOG66_39vdYTKgHmHgC
* tools/clang: d21aa5eb7e..ed5ed0ecab
* tools/mb: ff50c9b60c..124c1e7294
* tools/perf: d25dda6c4f..468419086d
No update to Clang.

Bug: None
Tbr: jonahr@google.com
Change-Id: Ia374a5814d6d9c2334dfb5fd8253fe7bd2fed86e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4041630
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-21 08:00:56 +00:00
angle-autoroll 37bbbb5143 Roll vulkan-deps from f1b1fd3fc034 to eb108f5f3b15 (13 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/f1b1fd3fc034..eb108f5f3b15

Changed dependencies:
* spirv-tools: 8ea3ae6be2..1a7f71afb4
* vulkan-headers: 29c0457cc1..974db1cede
* vulkan-loader: 27d86008d8..6c7b2db415
* vulkan-tools: c4839afe75..ec541c410e
* vulkan-validation-layers: 00d345294d..38f7ab2634

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 jonahr@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: jonahr@google.com
Change-Id: I687badecb7210005c5ef2e9b02020b8c43f91ed0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4035855
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-18 10:47:34 +00:00
angle-autoroll 658a4b6be8 Roll Chromium from 2c9d51705f3b to 54894332d13c (577 revisions)
2c9d51705f..54894332d1

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 jonahr@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: a6b135f6dc..316bdbb4f8
* testing: 1f8966e6e2..fd493f4659
* third_party/android_sdk: 3f159e715e..c5a3f52f05
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..79ba9244e5
* third_party/depot_tools: fadcbfdb27..1f67d5573f
* third_party/fuchsia-sdk/sdk: version:10.20221116.3.1..version:10.20221117.0.1
* tools/clang: eea11ec5d2..d21aa5eb7e
* tools/mb: 9d3a5eb0dd..4fc30da878
* tools/perf: d900152808..35428c527a
No update to Clang.

Bug: None
Tbr: jonahr@google.com
Change-Id: I5a46ba74c1edcd0946de7255d16cb5107692de3b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4035041
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-18 08:00:30 +00:00
Shahbaz Youssefi 70cf232224 Vulkan: Move async pipeline cache sync feature to backend
Bug: b/246683126
Change-Id: I194e488e04580cee7055c0674091f1228984edf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4031486
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Solti Ho <solti@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
2022-11-18 06:01:34 +00:00
angle-autoroll 37ed6104c0 Roll Chromium from c578240a0fa6 to 734d0d44bb67 (606 revisions)
c578240a0f..734d0d44bb

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 jonahr@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: 5bd2e64d76..91eb84e37e
* buildtools: 02b18cf1ec..bbb2301eef
* buildtools/third_party/libc++/trunk: 3fc0bf23fe..81925935fd
* buildtools/third_party/libunwind/trunk: 86213b7902..5870472fdd
* testing: 9d6b67f5f6..5ea4565c81
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c8506af0cf
* third_party/depot_tools: 8de7b2d51b..63fea808b0
* third_party/fuchsia-sdk/sdk: version:10.20221114.3.1..version:10.20221115.1.1
* third_party/r8: Sbfuk7zCRoVjO5aIbd3nmDH8TcDZPNFY2k7srra6NIcC..-NUQfUfOV_01dV0d71XGUoe7FpVrH5M31W17eU8pLd0C
* third_party/zlib: 8bbd6c3129..d866d41e16
* tools/mb: a8c009dd04..f8875b1859
* tools/perf: 7b50a78720..e9f9dffdef
No update to Clang.

Bug: None
Tbr: jonahr@google.com
Change-Id: Ie59e27695b68c23704d8e0952876066329ab8513
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4029900
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-16 08:09:45 +00:00
Cody Northrop 124ba087cc Tests: Add Minetest trace
Test: angle_trace_tests --gtest_filter="*minetest*"
Bug: angleproject:7831
Change-Id: If182136cd14207d7243a2fcd56737dd0ea28b2de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4022260
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
2022-11-15 18:09:20 +00:00
angle-autoroll 14c69aba6e Roll Chromium from 622e44fd31d8 to c578240a0fa6 (591 revisions)
622e44fd31..c578240a0f

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 jonahr@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: 23a5cc541c..5bd2e64d76
* testing: 0e0c2e009c..9d6b67f5f6
* third_party/android_build_tools/bundletool: nrReBqFfE2B7DUv3RveTRIE4K9O3MJft7pP-iRhoRQ4C..eYz83zbG33sGLyNdc-a64qo1K6LRcS9GwW7GmSvyWisC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..670186d696
* third_party/depot_tools: 7aaca94286..8de7b2d51b
* third_party/fuchsia-sdk/sdk: version:10.20221113.3.1..version:10.20221114.3.1
* third_party/r8: isj_SlllAO2yCbNZuv4OBa3d8hPKY5hulrBg7_xwY_MC..Sbfuk7zCRoVjO5aIbd3nmDH8TcDZPNFY2k7srra6NIcC
* third_party/turbine: HqLybI_r3dCgRJywsqJ3xkp2D6vQAI4-8D7zdqNiyxcC..4Cvss-AYlYPcW_PIdcX45Ew7ZQwsaeurs7mUjS3LFyQC
* tools/mb: 944ffba8ce..a8c009dd04
* tools/perf: 3ab0f76217..7b50a78720
No update to Clang.

Bug: None
Tbr: jonahr@google.com
Change-Id: Icc4a22388afe168e6ae52d78598380d465c5a37d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4027132
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-15 08:00:05 +00:00
Alexey Knyazev 44d8fef850 Add ANGLE_provoking_vertex spec
Renamed provoking vertex enums to use _ANGLE suffix.
The newly defined enums alias those from the
desktop OpenGL extensions.

Updated tests to use the new enum names.

Bug: angleproject:2829
Change-Id: I72b686773536d3d54a653114cee5292007510a55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4013700
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2022-11-14 21:51:47 +00:00
angle-autoroll 8149baafec Roll Chromium from 9bed484ffc44 to 622e44fd31d8 (709 revisions)
9bed484ffc..622e44fd31

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 ynovikov@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: 088aeb2cc3..23a5cc541c
* buildtools: c3244c4dbc..02b18cf1ec
* buildtools/third_party/libc++/trunk: b343ccbfac..3fc0bf23fe
* testing: ca038c44f2..0e0c2e009c
* third_party/abseil-cpp: f091e9c497..ffbead8e41
* third_party/android_sdk/public: IPzAG-uU5zVMxohpg9-7-N0tQC1TCSW1VbrBFw7Ld04C..oWlET2yQhaPKQ66tYNuSPaueU78Z9VlxpyxOoUjwRuIC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..161a56fa1d
* third_party/depot_tools: 87f204ff53..7aaca94286
* third_party/fuchsia-sdk/sdk: version:10.20221110.0.1..version:10.20221113.3.1
* third_party/protobuf: ad71a3730f..0c241c298d
* third_party/r8: 2rVb5rDMAwVnV9ra0CSpHAjMqBI4eDQNz_EQ9XFf_60C..isj_SlllAO2yCbNZuv4OBa3d8hPKY5hulrBg7_xwY_MC
* tools/clang: d3df9cc536..2991b63fa2
* tools/mb: 580ef7c9b1..944ffba8ce
* tools/perf: cfb50e506c..3ab0f76217
Clang version changed llvmorg-16-init-8697-g60809cd2:llvmorg-16-init-10289-g094c0ecc
Details: d3df9cc536..2991b63fa2/scripts/update.py

Bug: angleproject:7397
Tbr: ynovikov@google.com
Change-Id: I810f08a45da7b5beeac8fd032203e94df4bb8cf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4024796
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-14 08:09:02 +00:00
angle-autoroll 0ca9cc5434 Roll VK-GL-CTS from acb25bf242c3 to c4fe10a0c86d (15 revisions)
acb25bf242..c4fe10a0c8

2022-11-11 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main
2022-11-11 aitor@lunarg.com Add missing GLSL struct comparison tests
2022-11-11 gleese@broadcom.com Code simplification in image load/store tests
2022-11-11 ziga@lunarg.com Add missing switch case in wsi util isDIsplaySurface
2022-11-11 mateusz.bahyrycz@mobica.com Test bufferImageHeight with 1D/2D/array images
2022-11-11 gleese@broadcom.com Add image load/store tests for 10X6 formats
2022-11-11 rgarcia@igalia.com Fix mandatory features test for mesh shaders
2022-11-11 ewerness@nvidia.com VK_EXT_opacity_micromap
2022-11-11 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
2022-11-11 quic_mnetsch@quicinc.com Notice of withdrawal of Vulkan CTS 1.2.8.x and 1.3.0.x
2022-11-11 zzoon@igalia.com Add tests with garbage color attachments.
2022-11-11 zzoon@igalia.com Add tests with multiple color attachments without export
2022-11-11 rgarcia@igalia.com Test custom border colors with the stencil aspect
2022-11-11 rgarcia@igalia.com Chain VkShaderModuleCreateInfo when creating non-graphics pipelines
2022-11-03 rgarcia@igalia.com Merge VK_EXT_mesh_shader branch to main (2)

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 ynovikov@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: ynovikov@google.com
Change-Id: Id8a1e9b2bce7793d28f647a1fc21833075e2002f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4023700
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-11 23:55:39 +00:00
angle-autoroll 92a0efdfb2 Roll vulkan-deps from 41d238c218e5 to c29c532c92db (19 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/41d238c218e5..c29c532c92db

Changed dependencies:
* spirv-tools: 525bc38062..68e8327f29
* vulkan-headers: 6898219141..29c0457cc1
* vulkan-loader: 5b054b4333..0df63661a5
* vulkan-tools: 6e5bd86b76..3a729c0a9d
* vulkan-validation-layers: 8a253a6c5b..f276f028ee

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 ynovikov@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: ynovikov@google.com
Change-Id: Id5545e98d6c7afbfe9e456a3cd85a7a1d4512b59
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4021125
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-10 20:49:44 +00:00
Alexey Knyazev 3bbc533597 Adjust copied dylibs in update_chrome_angle.py
Bug: angleproject:1944
Change-Id: Idaf4d559262cc87eab2bb251e6ef41fabffcc466
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4013701
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
2022-11-10 18:36:56 +00:00
angle-autoroll bb95fce01a Roll vulkan-deps from 2758721a15a3 to 41d238c218e5 (27 revisions)
Ignore spirv/unified1/spirv.hpp11 in export_targets.py

https://chromium.googlesource.com/vulkan-deps.git/+log/2758721a15a3..41d238c218e5

Changed dependencies:
* glslang: 5e08deae05..2b2523fb95
* spirv-cross: abc31207bf..edd66a2fc9
* spirv-tools: c8e1588cfa..525bc38062
* vulkan-headers: 52b7c620a5..6898219141
* vulkan-loader: 256a5e3b6d..5b054b4333
* vulkan-validation-layers: 226b595aee..8a253a6c5b

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 ynovikov@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: ynovikov@google.com
Change-Id: I7bb358f8457189656d41a309d30cfbefcd65521a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4015371
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2022-11-09 22:21:34 +00:00
angle-autoroll e50e4535e8 Roll Chromium from dbedf281d165 to 37ccb4df2296 (492 revisions)
dbedf281d1..37ccb4df22

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 ynovikov@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: dff033c8c1..57e795cf32
* buildtools: 737c5727e5..85968248e1
* buildtools/third_party/libc++/trunk: 023270786d..6e93fd3d6e
* testing: 53253f33bd..07fb4cc957
* third_party/android_build_tools/lint: QchUp_CPEekuo_inqr_aTnbotGejxQt4FGgFbQT0qBMC..PwX3e0EPv-j0ip-tcNNfhy3YcFHle4vxKVo-IbTCtZYC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..36d603a00b
* third_party/depot_tools: e6f3d66bae..ae1a708917
* third_party/fuchsia-sdk/sdk: version:10.20221107.3.1..version:10.20221108.1.1
* third_party/r8: szXK3tCGU7smsNs4r2mGqxme7d9KWLaOk0_ghbCJxUQC..4u_h3wavvDpQ89UVxr4y-TqKXpJQyYX8ih-DH5Dutm4C
* tools/mb: 1aa169abda..1e3d07407d
* tools/perf: 822843c07b..2487dcf252
No update to Clang.

Bug: None
Tbr: ynovikov@google.com
Change-Id: Ib004f8d6f5d009137f44f8f1def76955deada27e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4015368
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-09 08:11:42 +00:00
Cody Northrop fbf2d2f364 Tests: Add Hungry Shark Evolution trace
Test: angle_trace_tests --gtest_filter=TraceTest.hungry_shark_evolution
Bug: angleproject:7820
Change-Id: I6e83efbb566d512c8e60bd27f00144c8c28593e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4007226
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2022-11-08 22:27:26 +00:00
Shahbaz Youssefi 9c019cb367 Vulkan: Features for graphics pipeline library
Bug: angleproject:7369
Change-Id: I561cc095dcf2d4c71d24de8a6ca08d45567ad937
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4014519
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
2022-11-08 21:47:17 +00:00
Cody Northrop 5459baf981 Tests: Add 1945 Air Force trace
Test: angle_trace_tests --gtest_filter=TraceTest.1945_air_force
Bug: angleproject:7819
Change-Id: I90ed9e74e206bd6e2d2b1ca0071d8526f582b353
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4007225
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2022-11-08 19:56:09 +00:00
angle-autoroll 6402fe7033 Roll vulkan-deps from a7a3fb39310c to 2758721a15a3 (25 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/a7a3fb39310c..2758721a15a3

Changed dependencies:
* glslang: 1a8869e4d1..5e08deae05
* spirv-cross: 744279ec78..abc31207bf
* spirv-headers: 85a1ed200d..47f2465ee3
* spirv-tools: a52de681dd..c8e1588cfa
* vulkan-headers: e12a8f8cde..52b7c620a5
* vulkan-loader: 3f29209dd6..256a5e3b6d
* vulkan-tools: 292e6ed021..6e5bd86b76
* vulkan-validation-layers: 18a0e59294..226b595aee

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 ynovikov@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: ynovikov@google.com,syoussefi@google.com
Change-Id: Ibc3c263d09ff2d602ed55cb9b61c501d15696774
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4011232
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-08 15:49:05 +00:00
Alexey Knyazev 7fefd2308f GL: Adjust APPLE_clip_distance exposure
Partial revert of
I458cad29c10b9d9193c5233e24bac53361ba104e

APPLE_clip_distance cannot be implemented on top of
EXT_clip_cull_distance because the former is defined both
for ES 2.0 and ES 3.0 while the latter is defined only for ES 3.0.

Although some ES 3.0+ drivers allow gl_ClipDistance built-in in
ESSL 1.00 shaders, this behavior is not specified so ANGLE should
not allow it.

Added independent ESSL 3.00 gl_ClipDistance and gl_MaxClipDistances
definitions.

Adjusted translator unit tests.

Bug: angleproject:4452
Change-Id: Ib582ce0ac7ccb65f0200ef1d17eaab0c83b228cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963745
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2022-11-08 14:58:56 +00:00
Shahbaz Youssefi 78e28cb8f7 Vulkan: Remove glslang fallback
ANGLE's SPIR-V generator is battle tested by now.

Bug: angleproject:6210
Change-Id: I2ed88642e3ede435e3f906fbd701133be6873fb7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4002868
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2022-11-08 14:42:58 +00:00
Shahbaz Youssefi 5b2181969a Metal: Remove compilation through SPIR-V
Direct metal generation is stable.

Bug: angleproject:6081
Change-Id: If9e76f61ad38f2fc9963f0181dfd03c99ffa3e2b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4003675
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2022-11-07 21:53:21 +00:00
Chris Dalton 9bda9a79b4 Add Store Ops to pixel local storage
Browsers will need the ability to pre-empt pixel local storage, which
means every plane will need a backing store to dump to. Store Ops allow
the app to still avoid memory transactions at the end of PLS even if
their plane has a backing texture.

Bug: angleproject:7279
Change-Id: I3a3efa21773f87c03cd346a996e3c638028c68ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3974652
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2022-11-04 23:13:35 +00:00
Chris Dalton 3605b399e0 Move PLS clear values back into context state
The API that required packing raw data into a buffer was un-ergonomic
for developers and difficult to implement for WebGL vendors.

Bug: angleproject:7279
Change-Id: If7c98908c285462c5775e8e2d8811883be139f64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3972376
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-11-04 00:55:08 +00:00
angle-autoroll e449439e00 Roll Chromium from 35e93669b8f2 to 1d02faaf3aaa (59 revisions)
35e93669b8..1d02faaf3a

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 syoussefi@google.com,ynovikov@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
* buildtools: 33b52eafd5..404e2d0fd7
* buildtools/third_party/libc++/trunk: fc6bbc5eb0..08ea445fb5
* testing: aedf4723b9..3af95eaf05
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..67ccd32ad3
* third_party/fuchsia-sdk/sdk: version:10.20221103.0.1..version:10.20221103.1.1
* tools/perf: 458fbce5e4..3ab161438c
No update to Clang.

Bug: None
Tbr: syoussefi@google.com,ynovikov@google.com
Change-Id: Ic465ac476f41e0288fb394560ee779430a2e1b70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4004438
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-03 20:56:31 +00:00
angle-autoroll 378dc05d8c Roll Chromium from 5da1d1188b33 to 35e93669b8f2 (226 revisions)
5da1d1188b..35e93669b8

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 syoussefi@google.com,ynovikov@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: 28d5cfef0c..18e9d3c3ad
* testing: bb14009be1..aedf4723b9
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..3ffa6b2228
* third_party/fuchsia-sdk/sdk: version:10.20221102.0.1..version:10.20221103.0.1
* tools/perf: a6e8570835..458fbce5e4
No update to Clang.

Bug: None
Tbr: syoussefi@google.com,ynovikov@google.com
Change-Id: I856029108fe5a0353d52132b5777ecc6ae9b7ce3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4004437
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-03 19:12:52 +00:00
Charlie Lao 71d28a9bbe Vulkan: Remove unused ShaderAndSerial
The serial in the ShaderAndSerial is unused. This CL removed
ShaderAndSerial and replaced with ShaderModule directly.

Bug: b/257116399
Change-Id: I50d42af7818a12888309a80423531d75135e0bfd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3998747
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-11-03 18:46:16 +00:00
Chris Dalton 5e95a4d9b7 Add an EXT_shader_pixel_local_storage impl of PLS
Translates ANGLE_shader_pixel_local_storage shaders directly to
EXT_shader_pixel_local_storage.

Polyfills load/store operations using internal fullscreen draws.

Since the ANGLE extension needs the ability to preserve all active PLS
planes to textures, we can only support this extension when the backend
context also has access to ES 3.1 shader images.

Bug: angleproject:7279
Bug: angleproject:7771
Change-Id: Id348bde412efcc081ff29ee05ec59ad652f77569
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3966075
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-11-03 14:41:47 +00:00
angle-autoroll a48a2c7a27 Roll Chromium from c8d10c0b09ab to 2c98c5af6539 (5653 revisions)
Manually copying third_party/flatbuffers from Chromium,
with one small modification:
  libs = [ "log" ]
in "flatbuffers_unittests" BUILD.gn

Also, forcing MSVC builds to use C++17 instead of C++20.

c8d10c0b09..2c98c5af65

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 syoussefi@google.com,ynovikov@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: ef3d15e613..f75f7c9503
* buildtools: 5c1eeb8715..33b52eafd5
* buildtools/linux64: git_revision:57c352b2b03461c24b19c678c61d7aeacc6981f4..git_revision:a4d67be044b42963de801001e7146f9657c7fad4
* buildtools/mac: git_revision:57c352b2b03461c24b19c678c61d7aeacc6981f4..git_revision:a4d67be044b42963de801001e7146f9657c7fad4
* buildtools/third_party/libc++/trunk: 888eff8ec2..fc6bbc5eb0
* buildtools/third_party/libc++abi/trunk: 685c4ad257..8dd405113a
* buildtools/third_party/libunwind/trunk: 1f633d41a0..aabcd87536
* buildtools/win: git_revision:57c352b2b03461c24b19c678c61d7aeacc6981f4..git_revision:a4d67be044b42963de801001e7146f9657c7fad4
* testing: 50f814ce03..1a1a839b38
* third_party/Python-Markdown: 872ba9e68a..4838827d12
* third_party/abseil-cpp: 3027824279..8fb5a04597
* third_party/android_build_tools: 4f07dd5cca..216373bd26
* third_party/android_build_tools/bundletool: sSBNyeRs5Px7nKXDLyQpz24T_OV9_rUkzqgXRNEaH0kC..JUxLsQLBkNG0ylmbHz6FGBtYyK1PNDZ04pMCii90Bd4C
* third_party/android_build_tools/lint: PgXTfxO_ExRhHwuAVaMUh48zDVj5bqVPSjecGWZ8TQIC..oJIo5mCU1gyxTf-EnMPZXg_GG2-3YOE_xUWXtmwO96IC
* third_party/android_build_tools/manifest_merger: lgqr-qkYSNJxPdYaRg1beYU6to-4LBuHBw3WVO7_ancC..xd-wXGBtd-G1FJXc_owo3j_wxWs4YxgOfQ-tKWHwN5AC
* third_party/android_deps: 94f1169192..e8b385d860
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..3ffa6b2228
* third_party/depot_tools: 64b6175557..1adbbff2c0
* third_party/fuchsia-sdk/sdk: version:10.20221018.0.1..version:10.20221102.0.1
* third_party/jinja2: ee69aa00ee..4633bf4311
* third_party/markupsafe: 1b882ef637..13f4e8c9e2
* third_party/nasm: 5fd9246276..fc8e0bd892
* third_party/r8/d8: 9PJITrOEIl2U8mvr44d5e9XjOdvzRPuF774VA3jWOsYC..qGtBu6TtxyR5XNy4cmsslb7c946YtkZF5_QCjVP-wc8C
* third_party/turbine: rrpgWQ-uylo8c5IPgUVP464LwcVOmt29MqwsR59O_zkC..HqLybI_r3dCgRJywsqJ3xkp2D6vQAI4-8D7zdqNiyxcC
* third_party/zlib: d689fca54d..cff720848d
* tools/clang: 2619cde247..b147cbb71c
* tools/luci-go: git_revision:0b4ca85948120a9e07c81e06386c031a693724c4..git_revision:765f51c332c38e9b8d7981f23640b9df59371cd5
* tools/luci-go: git_revision:0b4ca85948120a9e07c81e06386c031a693724c4..git_revision:765f51c332c38e9b8d7981f23640b9df59371cd5
* tools/mb: cac69ccc90..88b5767779
* tools/md_browser: 7ff27244f2..de79b55b74
* tools/memory: 98140a6948..8581381d92
* tools/perf: 7ab82e1fdc..fe7aa52821
* tools/skia_goldctl/linux: t3TPrZYHYFYj-Uycz4891UuvI29G25cnOuAXx4YKTJEC..96rKSNFMICaC-zy3dzFRxE3xkMm8mIPbR6pxbfHXZysC
* tools/skia_goldctl/mac_amd64: pkodJRDmOHJK-oKhKr3YyRBH-aZDOifqq2f39tyYYkwC..BTXwaBdnwpgPkzCAT5gTk0xV0_vzeR2q_icN_le7NBIC
* tools/skia_goldctl/mac_arm64: MGH9P0-cwU4UFOV-4rkxKLBFEVtXIE8vtynMsKM4O4UC..r0TJJDCO6SDuVGZoUBvAzDe7hACLXwX3fWH6tvNkYAAC
* tools/skia_goldctl/win: -y4QQFDzRbkTKhmiP7CqEhagCHKtWFdfxwAK6anUvfAC..IffTHOl24SBx-1fnxVM5kaNaOA8mS_3urxANjmbsZWUC
Clang version changed llvmorg-16-init-7184-gdeb82d4a:llvmorg-16-init-9369-g87a20868
Details: 2619cde247..b147cbb71c/scripts/update.py

Bug: angleproject:4242,angleproject:4417,angleproject:4846,angleproject:5505,angleproject:6430
Bug: angleproject:7788, chromium:1380553
Tbr: syoussefi@google.com,ynovikov@google.com
Change-Id: Ia1f563f1dc5227b2cbb42ac05f5f7f40e47a4168
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4000540
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2022-11-02 20:06:40 +00:00
Shahbaz Youssefi 1b88c41f28 Vulkan: Remove the disableFifoPresentMode feature
Workaround was added for old Intel bots, no longer applicable.

Bug: angleproject:3153
Change-Id: Ib248927fbb1be33d8bd89a0c8185761f7f1ed6fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3993361
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2022-11-02 15:12:56 +00:00
Chris Dalton 86d9d8768f Finish renaming GL_PIXEL_LOCAL_STORAGE_ACTIVE_PLANES_ANGLE
Fix a couple spots that missed the rename.

Bug: angleproject:7797
Change-Id: Iee44b525f70e00e631e07ec2e984c7a41c3b616a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3996109
Reviewed-by: Steven Noonan <steven@valvesoftware.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-11-02 13:46:30 +00:00
Sean Risser f3e047b5d7 Add new retrace command get_min_reqs
`retrace_restricted_traces.py get_min_reqs` finds the minimum
required GLES version and extensions and record them to a trace's
json file. TracePerfTest has also been modified to use the new
"RequiredExtensions" json field to determine if it should run a
test or not. This allows several lines to be removed from
TracePerfTest's constructor.

get_min_reqs uses a divide-and-conquer strategy to find the extensions.
This approach should be faster for traces where the number of required
extensions is less than 20.

This adds a new command to retrace_restricted_traces.py called
get_min_reqs. This runs an existing trace multiple times to find what
the minimum required GLES version is, then records that version to the
trace's json file.

Bug: angleproject:7639
Change-Id: I42530e438054efec1ad79ababebe06d221d5c695
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3884175
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Sean Risser <srisser@google.com>
2022-11-01 19:13:43 +00:00
Chris Dalton 9f693aa383 Implement an allow list for PLS
In order to guarantee no data is lost while using the
EXT_shader_pixel_local_storage extension, we need to restrict
applications to a small subset of commands while pixel local storage is
active. This CL implements the allow list for GL entrypoints using
wildcard matching inside the code generator, and adds custom validation
for the more specific restrictions that go into effect when PLS is
active.

Bug: angleproject:7279
Change-Id: I5dd48bd93c10e8775f32be32a4fcf17855eb2f0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3932552
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
2022-11-01 16:32:11 +00:00
angle-autoroll 1acf75726c Roll vulkan-deps from af6c033bca19 to 66e533688e2a (81 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/af6c033bca19..66e533688e2a

Changed dependencies:
* glslang: 5755de46b0..1a8869e4d1
* spirv-cross: f09ba27777..677299cc56
* spirv-tools: b53d3a6be3..a52de681dd
* vulkan-headers: 98f440ce68..e12a8f8cde
* vulkan-loader: 61187c4084..a17d7fc737
* vulkan-tools: e52fa1cf2d..292e6ed021
* vulkan-validation-layers: 273665ad0d..918d534ffd

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 syoussefi@google.com on the revert to ensure that a human
is aware of the problem.

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

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

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

Bug: None
Tbr: syoussefi@google.com
Change-Id: Iece8a131dc487c5c610217b2bdc20cc45b451cd6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3996464
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-01 11:16:45 +00:00
Jamie Madill 41184c21df Add support for building Mesa + Zink.
Uses a conditional gclient variable "angle_mesa". You must set
this to True in your .gclient to download and configure Mesa.

After that you must also set angle_build_mesa=true in your GN
args. We call through to meson in order to setup and build.

Mesa sources and targets are written into an auto-generated GNI
file. We must update this file on the same cadence as Mesa rolls.

Because the version of libdrm we use in our sysroot is older than
Mesa requires, this CL also includes a custom libdrm build. Also
in order to run bison and flex on the old sysroot that Chrome
infra runs with, this CL includes a new version of flex and bison
that run without newer versions of GLIBC.

Bug: angleproject:7689
Change-Id: I1aeeda1e6f3cf1d5f878aeab5209afa7e1fb5324
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3933062
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-10-27 16:19:10 +00:00
Greg Schlomoff 81a244de0a Adding a class to perform ASTC texture decompression on the CPU
This significantly improves performance by caching and re-using the ASTC
decoder context, and using multi-threaded decompression.

This code was originally written for gfxstream.

Bug: b/250688943
Change-Id: I1727447907f2e25cf9b854ffcc9ccfc04db2fb91
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3929008
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-10-25 18:33:46 +00:00
Geoff Lang 0c71163906 Add flatbuffers to the tracked chromium deps.
Bug: angleproject:7788
Change-Id: Ic126178722a8d58247819af0e4ee83f8be7faca2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3977250
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2022-10-25 17:12:25 +00:00
Geoff Lang 6c53a56274 Add missing cstring include in gl_enum_utils.
Bug: angleproject:7752
Change-Id: I44ac0996673065b9633b35e4b07c5150a1ae3dcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3970767
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2022-10-24 17:27:54 +00:00
Roman Lavrov 81fcf70efc Reduce angle_preftests samples from 10 (new default) to 6.
Taking too long on Windows, this should bring it close to
other test suites.

Bug: angleproject:7782
Change-Id: Ie1e76fffda790c3b5c2e73a22dee92763fa56abb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3970765
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Trevor Black <vantablack@google.com>
2022-10-24 14:25:27 +00:00
Jamie Madill dc62b3eef6 Capture/Replay: Add trace interpreter.
Also adds a self-test using the retrace script.

Bug: angleproject:7752
Change-Id: I1985b47250bef99726d2ca2d90bef859208e357e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3965128
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-10-21 23:12:02 +00:00
Jamie Madill b4319e493f Enable flaky retries on SwS ASAN/TSAN.
This should compensate for ASAN/TSAN being generally flaky.

Bug: angleproject:7772
Change-Id: Ied857321179c06fd9fc9bcf3d58e919b4f2009f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3968319
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-10-21 21:06:44 +00:00
Jamie Madill a41c61730e Simplify trace test names.
Originally we had a lot of conditionally enabled test configs
in angle_perftests, that we enabled behind a flag because the
total runtime would be too large if we left everything enabled.
This CL switches to using a single test set, one for each
trace, and using a the same command-line API we use in dEQP
and the ANGLE samples to pick a single configuration. This
makes it easier to pick exactly what configurations you want
from the command line.

Because we only run one configuration each time, we don't need
to specialize the test name to include the configuration info.

We can also simplify TracePerfTest -> TraceTest since these
tests are run for both perf and correctness.

Old name: TracePerfTest.Run/vulkan_trex_200
New name: TraceTest.trex_200

Example for tests that don't use default arguments:

Old args: --enable-all-trace-tests
Old name: TracePerfTest.Run/native_offscreen_trex_200
New args: --use-gl=native --offscreen
New name: TraceTest.trex_200

Bug: angleproject:7755
Change-Id: Id93cf5725eff2e2c6b3b14804bc2902f38306e7e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3966535
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
2022-10-21 15:15:36 +00:00
Jamie Madill bba4758882 Update ANGLE API loaders to avoid C++ syntax.
This replaces "using" with "typedef" in the various loaders.
This will allow C traces to use the loaders, which in turn will
allow us to implement a C interpreter.

Bug: angleproject:7731
Change-Id: I37838bcafc290502fca0038d1b50554b6a301e65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3966533
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2022-10-21 12:50:10 +00:00
Jamie Madill 35549c3a37 Add a help preamble for trigger.py.
Bug: angleproject:1944
Change-Id: I03929c38512c32204773859479be4b20a35facc0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3905801
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
2022-10-21 12:15:09 +00:00
Jamie Madill 6193274a52 Capture/Replay: Redesign in-memory call capture replay.
This will allow the replay to use the call captures returned
by the interpreter's parser.

Bug: angleproject:7752
Change-Id: If1b281d9ce7ccfbdc23bea615e1e2258c8a029f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963367
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-10-21 00:17:51 +00:00
Jamie Madill cd10b6d25a Enum Utils: Add method to return enum value from string.
We'll use this in the trace interpreter to parse enum values.

Bug: angleproject:7752
Change-Id: I232a00baac2f74c9618029929bbb3e5822654046
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963366
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-10-20 22:50:24 +00:00
Jamie Madill fd45cec30b Entry Points: Move enum helper to registry_xml.
This will make it accessible to other generators.

Bug: angleproject:7752
Change-Id: I91bc9a4d6c919266ea329f66d271bf881d99d17a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963364
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-10-20 22:27:40 +00:00
Jamie Madill 4bfb749ff2 Capture/Replay: Move shared trace code into src/common.
This will let them be accessible to the test harnesses. The
trace tests interpreter will need direct access to the classes
that we move in this CL.

This CL also moves the GLenum utils into the common folder,
where they were already used by some other tests.

Bug: angleproject:7752
Change-Id: I97ad607938ef29bc316f6d40098478e002ea8128
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963362
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2022-10-20 14:18:58 +00:00
Jamie Madill 8403e4c512 EGL: Resource IDs for Surface, Context and EGL Image.
This will make these classes play nicely with resource maps. As these
objects are used in a lot of places, and simplified C can't handle
unordered_map, it's necessary to index the maps by simple packed IDs
in capture/replay code. This indirection will also have increased
safety as we validate EGL resource ID handle values before accessing
the memory directly.

Also hides some of the other EGL capture methods behind helper methods
to simplify the C code and hide assignments and other complex maps.

Bug: angleproject:7758
Change-Id: Ibc7bb56430d3068bd38877c9dfb011979d4ea234
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3957164
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-10-20 14:11:18 +00:00
Shahbaz Youssefi 025504b91c Pass worker pools to image load functions
In preparation for the ASTC decoder using threaded decoding.

Bug: b/250688943
Change-Id: I70d669bcb57b900dbb633304182e174aec362203
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3961339
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Greg Schlomoff <gregschlom@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-10-19 18:59:08 +00:00
Jamie Madill e495e7fdd0 Redo perf and trace test parameters.
- Moves common argument parsing code into test_util.
- Changes the perf test arg parsing to use the common functions.
- Adds new --use-angle and --use-gl parameters to the trace tests.
- Also adds new --offscreen and --vsync parameters to the traces.
- Removes the now unneeded --enable-all-trace-tests argument.
- Both --arg=value and --arg value work in test suites now.

Now, instead of using --enable-all-trace-tests you can specify the
backend with --use-angle=swiftshader, --offscreen, or combinations
of those parameters. The test names are the same as they were
before, but only the configured tests will run in a session. We
could opt to simplify the test names in later CLs if we want to
simplify the test running. Ideally we'd keep the perf reporting
the same because then we'd keep the time series the same on the
test infra.

This also allows us to split up the trace tests into separate
targets on the bots, which will better allow us to control the
workloads and sampling of the tests. For example:

- angle_perftests becomes
  - angle_perftests (microbenchmarks)
  - angle_trace_perf_vulkan_tests (traces with vulkan back-end)
  - angle_trace_perf_native_tests (traces with system GL)

Bug: angleproject:7755
Change-Id: I537168f3a6de96425dfda05ed98220eff9b19b76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956937
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2022-10-19 16:50:01 +00:00
Alexey Knyazev fec93f40d3 GL: Support clip and cull distance extensions
Use EXT_clip_cull_distance on OpenGL ES to expose
APPLE_clip_distance; use ARB_cull_distance on OpenGL
to expose EXT_clip_cull_distance.

Added disableClipCullDistance OpenGL workaround.

Bug: angleproject:4452
Change-Id: I458cad29c10b9d9193c5233e24bac53361ba104e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956075
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-10-19 01:08:04 +00:00
Gregg Tavares 968041b547 Metal: Optimized BufferSubData per device
Adds a staging buffer path which means there are 4 paths
for bufferSubData.

1. direct copy

   * get a pointer to the buffer
   * copy the new data to the buffer
   * if the buffer is managed, tell metal which part was updated

2. use a shadow copy

   * copy the data to a shadow copy
   * copy the entire shadow to a new buffer
   * start using the new buffer

3. use a new buffer

   * get a new buffer (or unused)
   * put the new data in the new buffer
   * blit any unchanged data from the old buffer to the new buffer
   * start using the new buffer

4. use a staging buffer

   * get a staging buffer
   * put the new data in the staging buffer
   * blit from the staging buffer to the existing buffer.

Further, there are 3 types of memory storage modes.
Managed, Staged, Private.

Based on the GPU type different storage modes and different
paths in different sitatutions are more performant.

So, add feature flags to select paths by GPU.

Bug: angleproject:7544
Change-Id: I741dd1874201043416374194bd2001ded8dbd9b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3842641
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
2022-10-18 00:09:11 +00:00
Jamie Madill 0e0ea0265b Split trace tests out into angle_trace_tests.
This makes angle_perftests strictly for microbenchmarks.
The trace tests are a better separated target because they
are for both gold correctness tests and performance.

You can now use the GN arg "build_angle_trace_tests" to control
building the trace tests. "build_angle_trace_perf_tests" is
still supported for compatibility.

Updates the infra scripts to use this new trace tests target.
Also updates the build so by default we'll build the trace
tests if you check them out, without needing a custom arg.

Also updates docs.

Bug: angleproject:7755
Change-Id: I2b1ae67799234cc1aefe7cda5f3af945c3f867fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953340
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2022-10-17 22:41:58 +00:00
Jamie Madill 2265e37bf9 Capture/Replay: Auto-generate EGL capture code.
Replaces the custom code in the EGL stubs. Skips a few "Get"
entry points because this CL doesn't implement pointer capture
like we do for all the GL entry points.

Includes a new state in the AttributeMap that indicates which
type of attribute values we used when initializing the map.

Bug: angleproject:4035
Change-Id: I272eac5e4068602ce710ef66c9a1dce5387943a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949911
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2022-10-14 22:25:49 +00:00
Jamie Madill 7c4dc25328 Capture/Replay: Clean up EGL capture.
This switches the EGL capture types to ANGLE-casted pointers since
that's what we receive in the capture layer. Note that even if the
capture layer were used as a pure layer, not an EGL implementation,
we'd still have these types for state tracking.

This also prefixes each EGL class in the entry points with the egl
namespace for consistency and for simplifying the ParamType code.

Required changing to non-const gl::Context * in a few places. Also
changes the gSurfaceMap to be indexed by the raw pointer value,
which cleans up the code somewhat.

Bug: angleproject:4035
Change-Id: Id800c1ba25e5819ac7ea1df8aab806bc393fe192
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949910
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-10-14 20:43:53 +00:00
Charlie Lao e8f9355c33 Vulkan: Add forceWaitForSubmissionToCompleteForQueryResult flag
Add forceWaitForSubmissionToCompleteForQueryResult feature flag and
enable it for ARM.

Also force host wait if async submission is enabled.

Bug: b/253522366
Change-Id: Ie2d7373930f1a2b3fc761d2f8d2df8fa84983c54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3954044
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2022-10-14 19:52:18 +00:00
Jamie Madill 7d76160b73 Remove GLES 1.0 conformance tests on Win/Intel.
Now this test suite is causing timeouts. e.g.:
https://ci.chromium.org/ui/p/angle/builders/ci/win-test/2637/overview

Bug: angleproject:7750
Change-Id: I62c0ca237d7a0f618823fbe5ff15070c21a9cdd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956495
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-10-14 13:51:50 +00:00
Yuly Novikov 96bbc80b87 Restore default angle_gles1_conformance_tests Win Intel batch size
Low batch size suspect for causing blue screen on this platform.

Bug: angleproject:7750
Change-Id: I331f3aef22e313e318aeabb84b1277f4bf1678c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953493
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-10-13 17:17:43 +00:00
angle-autoroll a0fc6e4309 Roll vulkan-deps from 0386d7db7e59 to 3ff9f454761a (13 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/0386d7db7e59..3ff9f454761a

Changed dependencies:
* glslang: 89db4e1caa..ef6c9714a8
* spirv-tools: a3350c0ff0..b53d3a6be3
* vulkan-headers: 0df9899602..98f440ce68
* vulkan-loader: ae08f71147..a88144de30
* vulkan-validation-layers: d05c85054b..c1afb7e157

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 jmadill@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: jmadill@google.com
Change-Id: I5b0c4e027ae3fb3ca4c78691b6650c94a93b19e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949839
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-10-13 14:13:40 +00:00
angle-autoroll c75adc3cf1 Roll Chromium from 2a6c105f6b8f to 0bc5f81b0765 (627 revisions)
2a6c105f6b..0bc5f81b07

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 jmadill@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: aa1e02dfa7..a07961eeea
* buildtools: f4e35bb2e9..24fa2da896
* buildtools/third_party/libc++/trunk: ebf2d34001..64d36e572d
* buildtools/third_party/libc++abi/trunk: 849e53c238..9572e56a12
* buildtools/third_party/libunwind/trunk: 118a58005a..1111799723
* testing: 27f289c474..88f6dc3118
* third_party/abseil-cpp: 2eecb3e113..58c69ecc36
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..4793433248
* third_party/depot_tools: 17cf81d90a..2c0a8c736a
* third_party/r8/d8: z23wTHakTR_i93g5BoaHQuO_yWgLT-AAt0fjTqQm_YgC..tQcmB4wHWxamdPd8ix5IwMv8eBEbMBeN4vEtGjikDeQC
* tools/luci-go: git_revision:a0624fca6d6e6fc1da6462ce0ee7678d4cc739d8..git_revision:9f65ffe719f73af390727d369b342c22fa37ea54
* tools/luci-go: git_revision:a0624fca6d6e6fc1da6462ce0ee7678d4cc739d8..git_revision:9f65ffe719f73af390727d369b342c22fa37ea54
* tools/mb: 20dd97665a..003fad096b
* tools/perf: 28e985ae84..1d02fed28c
* tools/skia_goldctl/linux: vMuEaxuoKcSgIEyacUY5YqByCP4RveJIid7OXrLUZnwC..N6uCjU9yuRs_YqzOLUOdwHsH-AYHQKQp4gidLlDHDesC
* tools/skia_goldctl/mac_amd64: OKl2kxI6rF8oLCJQma7QhqQHTC_J3hMRKoAqyW4tqq0C..spR3Wh59oLDHcwMl_Aw4KX_h3c0G4xcOxQSi7KM8uNgC
* tools/skia_goldctl/mac_arm64: pZmD81q5BF6lQcwTgrtJre8iXtofPubDLM8624rQKNsC..GBW03jFiyCg47tt4xFsQ4Qql_kYZm-A-ADSEmuqRCRIC
* tools/skia_goldctl/win: 3IrV971Fn9UEAXu0UwL8cBBY3L8il5zi4Qjhvfa43TQC..UQplRaUw9FHcOfJNcDs_v_q1RgFiRQOm1YPonxadxu0C
No update to Clang.

Bug: None
Tbr: jmadill@google.com
Change-Id: I4df3292490706e24cfd6af757095c724dcad9a3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949586
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-10-13 08:18:36 +00:00
angle-autoroll 0f74cd0b55 Roll Chromium from 475715430cb8 to 2a6c105f6b8f (1733 revisions)
475715430c..2a6c105f6b

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 jmadill@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: 6b83819915..aa1e02dfa7
* buildtools: b47f3d62c4..f4e35bb2e9
* buildtools/third_party/libc++/trunk: eddc4cee09..ebf2d34001
* buildtools/third_party/libc++abi/trunk: db2a783a7d..849e53c238
* buildtools/third_party/libunwind/trunk: 08ebcbe7b6..118a58005a
* testing: cdb43fc0b8..27f289c474
* third_party/android_deps: 11566d5c44..94f1169192
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..0dc9361cea
* third_party/depot_tools: 51a6576d1b..17cf81d90a
* third_party/fuchsia-sdk/sdk: version:9.20221006.4.1..version:9.20221006.5.1
* third_party/r8/d8: IgKfK01VX-GA1mjxpHqq-7kL9VDb5qlXZnSW0Jtl6cAC..z23wTHakTR_i93g5BoaHQuO_yWgLT-AAt0fjTqQm_YgC
* third_party/turbine: RXO2k7-PyXvbDjiK9EjbsheQfxXme2n0ABNX-MxR0JcC..rrpgWQ-uylo8c5IPgUVP464LwcVOmt29MqwsR59O_zkC
* tools/clang: 14ceacc495..d672069387
* tools/luci-go: git_revision:c893d7a542f324fe7c1a63c83e57ccea23631ffe..git_revision:a0624fca6d6e6fc1da6462ce0ee7678d4cc739d8
* tools/luci-go: git_revision:c893d7a542f324fe7c1a63c83e57ccea23631ffe..git_revision:a0624fca6d6e6fc1da6462ce0ee7678d4cc739d8
* tools/mb: 88a9d4ea84..20dd97665a
* tools/perf: 0cbb10ffdf..28e985ae84
* tools/skia_goldctl/linux: pnprsw4_qiLaFOB3waX424Uaz5zX3MSh6Iz5A3OwpR8C..vMuEaxuoKcSgIEyacUY5YqByCP4RveJIid7OXrLUZnwC
* tools/skia_goldctl/mac_amd64: qMTthZODlW9LCvkQX3upPhaL6t3VwQcYrs9cDYwP75oC..OKl2kxI6rF8oLCJQma7QhqQHTC_J3hMRKoAqyW4tqq0C
* tools/skia_goldctl/mac_arm64: 3NLkdA7AHyUKOEdv0Dc16lTUNJN9FjFkDIzVXthPsDkC..pZmD81q5BF6lQcwTgrtJre8iXtofPubDLM8624rQKNsC
* tools/skia_goldctl/win: wEIMZs5miJMkTVDLFMkQjh4dJWrLB4k8VQDU4aUPSwYC..3IrV971Fn9UEAXu0UwL8cBBY3L8il5zi4Qjhvfa43TQC
No update to Clang.

Bug: None
Tbr: jmadill@google.com
Change-Id: I2d4ef8f9e2f99b6f5e7286208492239e6e9c352a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3947945
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-10-12 09:19:04 +00:00
Shahbaz Youssefi 9b5fff82b5 Vulkan: Emulate shader stencil export for MSRTT
The MSRTT emulation code had one corner case issue that could lead to
performance and memory inefficiencies.  That is when stencil needs to be
unresolved and VK_EXT_shader_stencil_export is not supported.

This change adds a path to emulate VK_EXT_shader_stencil_export and
removes this inefficiency.

This should help Chromium on older Android devices that lack both this
and the recent VK_EXT_multisampled_render_to_single_sampled extensions.
Chromium frequently breaks the render pass (crbug.com/1336981), which
easily leads to this situation.

Bug: angleproject:4836
Change-Id: Ifceec43f7f3807b7e32f4b379edcd4351ae76414
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3935892
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2022-10-12 02:01:56 +00:00