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

17225 Коммитов

Автор SHA1 Сообщение Дата
Craig Stout 24136212d6 Allow GN specification of shared library extension name
For use as system libraries in virtualized Linux environments,
allow use of custom sonames.

Bug: angleproject:6672
Change-Id: If297e3eaa090bfd08cb9df68a4c727da72228bcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3268941
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-09 20:22:44 +00:00
Jeff Vigil 5eb86d4ab7 EGL: EGL_KHR_lock_surface3 frontend
Add queries to get locked buffer attributes
Add validation for LockSurface, QuerySurface

Bug: angleproject:6062
Change-Id: I4919bef2a17d3505cccad08f7c4f8a3ca5d7e4e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3174322
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-09 19:10:54 +00:00
Jeff Vigil d3e6771671 EGL: EGL_KHR_lock_surface3
Add new extension KHR__lock_surface3
Add new interfaces for locking and unlocking a surface.

Test: angle_end2end_test --gtest_filter=EGLLockSurface3Test

Bug: angleproject:6062
Change-Id: Ic40708db4db552107025635540a0c62f956d741e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3161447
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-09 17:29:34 +00:00
Sylvain Defresne 5ae7342b76 [ios] Remove support for building with Xcode clang
Chromium //build will soon remove the `use_xcode_clang` variable.
Remove it from Angle to avoid breakage when the variable is gone.

This is a followup to https://crrev.com/c/angle/angle/+/3259713
where one use of `use_xcode_clang` was not left by mistake.

Bug: chromium:1266466
Change-Id: Idbd8b3daeacac1ba88fc818f3939bdcd15e449c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3269890
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-09 17:26:54 +00:00
Shahbaz Youssefi 91d3647325 Fix invalidation of GL_FRAMEBUFFER invalidating READ FBO
Per spec, GL_FRAMEBUFFER means GL_DRAW_FRAMEBUFFER for
glInvalidateFramebuffer.

Bug: chromium:1267424
Change-Id: I8c9ab61ecdbd4ccee4262dc8559b2feb02b4837c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266176
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-09 16:46:54 +00:00
Shahbaz Youssefi 517ff22004 Add test for texture state change bug
Bug: chromium:1267624
Change-Id: I270e54921d40a2d139afdc78c90ab05164cbfabf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3268492
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-09 15:57:44 +00:00
Shahbaz Youssefi ef93b32c10 Vulkan: Fix deferred clears vs invalidate
In this scenario:

- Clear color
- Invalidate depth
- Clear color

The invalidate step flushed the deferred color clear, but the following
clear did not expect an open render pass without any draw calls in it.

This change fixes this issue, while simultaneously optimizing invalidate
by making sure the clears accumulated during syncState() are redeferred
instead of flushed.

This issue was discovered in
https://chromium-review.googlesource.com/c/angle/angle/+/3266176 where,
as part of an unrelated fix, an accidental render pass closure is
removed.

Bug: chromium:1267424
Change-Id: Icfc0a53dbf84e6339ee23960ed847444830054e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266178
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-09 15:51:04 +00:00
Jamie Madill 67a8cf07a7 Revert "Metal: Reintroduce GPU power preference selection code."
This reverts commit 017161701b.

Reason for revert: Blocking roller, please re-land with the fix.

Original change's description:
> Metal: Reintroduce GPU power preference selection code.
>
> This CL re-introduces the GPU power preference code to
> the metal backend. It also reworks EGLDisplay caching
> in the frontend to cache based on the native display
> as well as the power preference attribute.
> A new extension, EGL_ANGLE_display_power_preference is
> added based on EGL_ANGLE_power_preference. This extension
> is a client extension that allows selection of GPU on
> display creation, similar to how GPUs are selected on
> context creation in EGL_ANGLE_power_preference.
> This CL adds EGLDisplayPowerPreferenceTest and enables it on
> the metal backend.
>
> Bug: angleproject:6143
> Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Gregg Tavares <gman@chromium.org>
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

TBR=kbr@chromium.org,gman@chromium.org,jonahr@google.com,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I4f775bf7139253a87b033a30e0da2100b3c1bb02
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:6143
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270749
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-11-09 15:11:03 +00:00
angle-autoroll c9595b37ae Roll SwiftShader from 4c6da56da96c to 7e9b8b317f16 (6 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/4c6da56da96c..7e9b8b317f16

2021-11-08 srisser@google.com Regres updates SHA and testlists after daily run
2021-11-08 sugoi@google.com Update SPIR-V shader instructions after SPIRV-Tools update
2021-11-08 swiftshader.regress@gmail.com Regres: Update test lists @ 4c6da56d
2021-11-08 sugoi@google.com Update SPIR-V Tools to 339d4475c
2021-11-08 sugoi@google.com Update SPIR-V Headers to 29817199b
2021-11-08 sugoi@google.com No format verification in SPIR-V headers and tools update scripts

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

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

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

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

Bug: None
Tbr: jmadill@google.com
Change-Id: I82eb8b1e12f16214ce6e96a3c39fbdb888678643
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3268659
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-09 12:53:37 +00:00
Gert Wollny 5f7c3ba64b Capture/Replay: Don't force initialization of FS inout vars
Since these variables are to be considered inputs as well as outputs
initializing them would overwrite the valid input values, hence skip
initialization.

Bug: angleproject:6608
Change-Id: Id8baf856a23ac84d18c61dd54cd6095128190075
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253377
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
2021-11-09 10:42:31 +00:00
angle-autoroll 40ea507ec7 Roll Chromium from f1944afd4c24 to 76a46804f683 (1053 revisions)
f1944afd4c..76a46804f6

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: 53c802ccf2..b9210ac77f
* buildtools/third_party/libc++abi/trunk: 4c6e0991b1..bc060a25be
* buildtools/third_party/libunwind/trunk: 99015718c3..51ffc5ed5c
* testing: d4fd825c14..792217f643
* third_party/android_sdk: fc91ebbf8a..67d9735161
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c9cf63a9b5
* third_party/depot_tools: b85aef9b5c..266129cba3
* tools/clang: af96b7b56f..92efe5e964
* tools/luci-go: git_revision:de048fb36dbb1cb5b78774cc4a758e783865062f..git_revision:d17c642c8c3c6d9e37bd9c25535c4c5b66b99781
* tools/luci-go: git_revision:de048fb36dbb1cb5b78774cc4a758e783865062f..git_revision:d17c642c8c3c6d9e37bd9c25535c4c5b66b99781
* tools/mb: 22f5180e91..125bb2ea5f
* tools/perf: 418f322961..a95854871a
* tools/skia_goldctl/linux: odChSNaPr6zCeStFFbBuHC29-LH02C49Bm_9htJrpagC..CseaUnLJ7HPr--xryu13CF7Iir6n0b8qmCJXm6gyZ4oC
* tools/skia_goldctl/mac: Ee-Y58INmdIA4z_rfmJjvZ-ljrcn-L2tk9nMJVDkidkC..VY8wueKQ3PgFlxfrtkyEqIEUBvFjmyowZ9aUNYRyEhcC
* tools/skia_goldctl/win: wgZW1xuI0RPDHDd63jpbn9w5KS6PRzkQrSqOp-Em3gQC..W_IYtpGZzolSY2j4xqryufwbZeApZYaqqcn4-CTtpL0C
No update to Clang.

Bug: angleproject:6430
Tbr: jmadill@google.com
Change-Id: I104948a0dd4e53804e75e5f299e37b4e348ead0d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3269375
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-09 10:03:35 +00:00
Gert Wollny 2dd6ea51db Capture/Replay: Limit the sleep time based on unfinished jobs
When running only a few tests the script has the tendency to sleep
a long time after the tests were finished. So limit the sleep time
by the number of remaining jobs.

Bug: None
Change-Id: I52ad39bf047abf93cd900f687bd3aae3962e9e20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3263999
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
2021-11-09 09:53:45 +00:00
Maksim Sisov fa2e374974 Reland "rename use_x11 to ozone_platform_x11"
This is a reland of 86f2854579

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

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

Bug: chromium:1096425
Change-Id: I6f8dbacb756ce57ca7379bbd991ca1ff470c244d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3263987
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
2021-11-09 06:35:56 +00:00
Tim Van Patten 5c16f77b94 Vulkan: Add flushCommandsAndEndRenderPassWithoutQueueSubmit()
Add flushCommandsAndEndRenderPassWithoutQueueSubmit() to allow
ContextVk::flushAndGetSerial() to only issue a single vkQueueSubmit().

Bug: angleproject:6546
Change-Id: Ia3fc2bb93e88583ebd80ee153749dc8ca42245dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3200673
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-11-09 02:34:35 +00:00
Tim Van Patten 53371cc0a7 Vulkan: Use optimalBufferCopyOffsetAlignment
optimalBufferCopyOffsetAlignment is the optimal buffer offset alignment
in bytes for vkCmdCopyBufferToImage2KHR, vkCmdCopyBufferToImage,
vkCmdCopyImageToBuffer2KHR, and vkCmdCopyImageToBuffer. The per texel
alignment requirements are enforced, but applications should use the
optimal alignment for optimal performance and power use.

To improve efficiency, this CL updates ContextVk::mStagingBuffer's
alignment to the max of:
- minMemoryMapAlignment
- nonCoherentAtomSize
- optimalBufferCopyOffsetAlignment

On ARM, this is not expected to have any affect, since all three values
are 0x40, but other platforms may see a benefit.

Bug: angleproject:4297
Change-Id: I9185da111e09c5d782eb1dedb10369727cb9bf51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3256007
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2021-11-09 01:51:35 +00:00
Shahbaz Youssefi 0e20c68092 Sync framebuffer bindings in glInvalidateFramebuffer
If a framebuffer binding change is followed by glInvalidateFramebuffer,
ANGLE was not syncing the framebuffer binding.

- This means that invalidation was being done on the previous
  framebuffer.
- Paired with deferred clears, this was causing ContextVk to start a
  render pass on the previous, potentially deleted, framebuffer.

Bug: chromium:1267027
Change-Id: I092a0c8dd764db9e49258b694c970babb19cf24b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266175
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-11-08 22:50:45 +00:00
Jamie Madill a9f24fa529 infra: Switch ASAN to 64-bit on Windows.
ASAN is not supported in 32-bits on Windows.

Bug: angleproject:5795
Change-Id: Icabf31b8c9ad4d371217c9f4a288f909888eae61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265532
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2021-11-08 22:32:41 +00:00
Shahbaz Youssefi 651ae514bd Capture/Replay: Skip test of new failing tests
Bug: angleproject:6663
Change-Id: Ic253a4695eb4c27df2e77641df9f03b2ad8a33e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266172
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-08 19:43:21 +00:00
Jonah Ryan-Davis 017161701b Metal: Reintroduce GPU power preference selection code.
This CL re-introduces the GPU power preference code to
the metal backend. It also reworks EGLDisplay caching
in the frontend to cache based on the native display
as well as the power preference attribute.
A new extension, EGL_ANGLE_display_power_preference is
added based on EGL_ANGLE_power_preference. This extension
is a client extension that allows selection of GPU on
display creation, similar to how GPUs are selected on
context creation in EGL_ANGLE_power_preference.
This CL adds EGLDisplayPowerPreferenceTest and enables it on
the metal backend.

Bug: angleproject:6143
Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2021-11-08 16:11:51 +00:00
Shahbaz Youssefi 79a5dc0af7 Vulkan: Fix spammy best practices message
A GPU WRITE->HOST barrier frequently issued when the GPU outputs to a
host-visible buffer used the ALL_COMMANDS stage mask causing a best
practices message.  This message is suppressed in ANGLE, but shows up in
RenderDoc and clutters the output.

Bug: angleproject:5070
Change-Id: I59aa7f8c7b3bf2788a3f7ae0ab6abdb4d3cd175e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265606
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-08 15:58:21 +00:00
Jamie Madill f16d7b9cee DEPS: Remove isolated client.
This is not used anymore.
Upstream: https://crrev.com/a5547854f1e8cb6bd3

Bug: angleproject:6666
Change-Id: I3c6089e0ff6b27d88ca2adaeea40f324e808de8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265530
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-11-08 15:06:01 +00:00
angle-autoroll 27a7002511 Roll SwiftShader from 70f3a0ff7233 to 4c6da56da96c (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/70f3a0ff7233..4c6da56da96c

2021-11-07 sugoi@google.com VK_EXT_pipeline_creation_feedback support
2021-11-07 swiftshader.regress@gmail.com Regres: Update test lists @ 70f3a0ff
2021-11-06 capn@google.com Fix min/max blend operations

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

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

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

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

Bug: None
Tbr: cnorthrop@google.com
Change-Id: If0ca4444fc5dc0a750550673475fb253f5ceb1f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3267553
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-08 10:37:21 +00:00
Maksim Sisov 1f42f6bd1e Add GL_RGB10_EXT format into list of supported formats.
When running with Wayland, EGL returns rgb10 buffer format in
egl config, which makes assertion to explode in formatutils as
this format is not in list of supported formats.

GL_RGB10_EXT is under the ES1 extension GL_OES_required_internalformat.
Thus, add it to the format table.

Bug: chromium:1231934
Change-Id: Ib47af538b16d6c7a652a44e0674757d292ac1394
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253376
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
2021-11-08 06:48:28 +00:00
angle-autoroll ee8e8a68c5 Roll VK-GL-CTS from 06492d671a2d to 234f8a066b4d (9 revisions)
06492d671a..234f8a066b

2021-11-06 tapani.palli@intel.com Fix fma precision tests for Open GL 4.5
2021-11-06 tapani.palli@intel.com Fix sRGB cases in framebuffer_fetch tests for OpenGL 4.5
2021-11-06 tapani.palli@intel.com Fix tessellation cases using precise qualifier for OpenGL 4.5
2021-11-06 laurie.hedge@imgtec.com Fix error logs in ssbo/image load store tests
2021-11-06 antto.makinen@siru.fi Add coverage for sampling compressed cubemaps that has been written to by a compute shader
2021-11-06 venni.ihanakangas@siru.fi Improve coverage of MSAA copies
2021-11-06 michal.jakubek@mobica.com Extract findLSB() and findMSB() to a separate helper file.
2021-11-06 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
2021-11-05 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

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 cnorthrop@google.com,angle-bots+autoroll-info@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: cnorthrop@google.com,angle-bots+autoroll-info@google.com
Change-Id: I8934d3c106af89353ec26c70effb426719782cd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266791
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-06 22:56:22 +00:00
Tim Van Patten 5d8a89e44f Vulkan: Always override surface format GL_RGB8 to GL_RGBA8
If an app requests to create a surface with GL_RGB8, override it to be
GL_RGBA8 for Android.

This is to workaround an issue with the Android Vulkan loader which
limits which formats can be used with swapchains.

This CL also adds GL_RGB8 back to DisplayVkAndroid::generateConfigs(),
effectively reverting the following CL:
https://chromium-review.googlesource.com/c/angle/angle/+/3235466
This is being done with this CL (rather than reverting) since these
changes are required to handle surfaces created with GL_RGB8.

Bug: angleproject:6277
Bug: angleproject:6651
Change-Id: Iad78ea0d7bdf12e1e309ed6a7181f08fac38b9de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258143
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-11-06 02:33:20 +00:00
Shahbaz Youssefi 3861c90365 Capture/Replay: Unsupress failures due to I/O block zero-init
Bug: angleproject:6609
Bug: angleproject:6610
Change-Id: I771db9d26122ce1e5955ee092c6ca05af65fde95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265605
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-06 01:35:31 +00:00
Shahbaz Youssefi adf878f39e Vulkan: Synchronization tests for read-to-read transitions
Bug: angleproject:6663
Change-Id: I89aafa6c197233b75562c0faa1d5331969eeedf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265604
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-06 01:34:41 +00:00
Shahbaz Youssefi 52d6e36373 Translator: Fix zero-init of nameless I/O blocks
Bug: angleproject:6609
Change-Id: I680fec85d53709f9abd3680a9dc5794ecfae6588
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260326
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-05 20:31:39 +00:00
Jamie Madill 4fd4eb5001 Vulkan: Minor cleanups.
Makes some VkFlags into VkAccessFlags to aid with code search. Also
corrects a few typos.

Bug: angleproject:6566
Change-Id: Ia4d14d38bb6d4e8c4c71fed6038c12edae112be9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3264224
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-05 20:25:09 +00:00
Shahbaz Youssefi e10768f07b Translator: Fix zero-init of I/O block arrays
Bug: angleproject:6609
Change-Id: I8245e868fe6bc4798e74088916e1d8cdd0727b6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260325
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-05 19:56:09 +00:00
Peng Huang d7090f5d71 Add more attributes for EGL_ANGLE_device_vulkan
Bug: chromium:1264439
Change-Id: Ibc9676cef16411b17c833abe9559721811016eef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3264164
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2021-11-05 19:17:29 +00:00
Jamie Madill f7bcd91007 Vulkan: Skip VVL barrier warning on SwiftShader.
This gets tripped up from our barrier handling code.

Bug: angleproject:6656
Change-Id: Iefb1c898ca6506e81a19a0928beaf221dcdf8f4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3264225
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-05 18:53:09 +00:00
Jamie Madill 019ddad593 Reset cache in ProgramExecutable::updateActiveSamplers.
This missing reset was causing incorrect state validation to
persist in a few instances.

Bug: chromium:1266437
Change-Id: I7ab47c81bf9f855e3ad75048f9d1aaefbc2291df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262477
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-11-05 15:19:00 +00:00
angle-autoroll fab56bdb6f Roll vulkan-deps from a46607dbd322 to 22e40c170f29 (6 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/a46607dbd322..22e40c170f29

Changed dependencies:
* vulkan-loader: 7e3866fa3a..d5bb7a9216
* vulkan-validation-layers: 2ab8c47ee5..208c06c883

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 cnorthrop@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: cnorthrop@google.com
Change-Id: I2c61ce00179cd28f8dbd6cef77dd2c9329211f3b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3263571
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-05 11:53:20 +00:00
angle-autoroll ad47e8605d Roll SwiftShader from e733a26e2ba0 to 70f3a0ff7233 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/e733a26e2ba0..70f3a0ff7233

2021-11-05 sugoi@google.com VK_EXT_blend_operation_advanced minimal implementation
2021-11-05 sugoi@google.com Support VK_EXT_pipeline_creation_cache_control
2021-11-05 capn@google.com Poison device memory allocations for GN MSan builds

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

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

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

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

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I2ab824e934ad1a08e9e743511f7374cada086486
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3264005
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-05 11:52:29 +00:00
angle-autoroll 690e11ced0 Roll Chromium from ff76252a7394 to f1944afd4c24 (513 revisions)
ff76252a73..f1944afd4c

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 cnorthrop@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: be7dd8702f..53c802ccf2
* testing: 0be155b448..d4fd825c14
* third_party/abseil-cpp: 4f10fce35c..6fdb0784b9
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..e50155de2c
* third_party/depot_tools: 8a0d05dea6..b85aef9b5c
* third_party/protobuf: 6e73e226c4..fd8a7c7c2b
* tools/clang: b2ffe54673..af96b7b56f
* tools/luci-go: git_revision:68355732afb00a422ae0c70eed95c6a45f9868b1..git_revision:de048fb36dbb1cb5b78774cc4a758e783865062f
* tools/luci-go: git_revision:68355732afb00a422ae0c70eed95c6a45f9868b1..git_revision:de048fb36dbb1cb5b78774cc4a758e783865062f
* tools/luci-go: git_revision:68355732afb00a422ae0c70eed95c6a45f9868b1..git_revision:de048fb36dbb1cb5b78774cc4a758e783865062f
* tools/mb: 8c543dbf70..22f5180e91
* tools/perf: de187bb48c..418f322961
Clang version changed llvmorg-14-init-8033-gabb2a91b:llvmorg-14-init-8564-g34b903d8
Details: b2ffe54673..af96b7b56f/scripts/update.py

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I21785bf3199f4a7dc7269a6002907a4bee4919b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3263290
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-05 08:10:59 +00:00
Sylvain Defresne 30afc25e1f [ios] Remove support for building with Xcode clang
Chromium //build will soon remove the `use_xcode_clang` variable.
Remove it from Angle to avoid breakage when the variable is gone.

Bug: chromium:1266466
Change-Id: I3f95ffe611cc38c9de76e9744186efff3332d539
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3259713
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-04 19:57:28 +00:00
Tim Van Patten 8c9b8f03e0 Capture/Replay: Don't finish() destroyed Contexts
If an app destroys a context, but keeps it current on a thread, ANGLE
will reset the context, but can't delete it. This can lead to a segfault
if ANGLE attempts to call Context::finish() on a destroyed context.

To solve this, check if the context has been destroyed in
ShareGroup::finishAllContexts().

Bug: angleproject:6653
Change-Id: Ib30e352ad6395e01f8fab0095cd6231dfb10d8ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260726
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-11-04 16:49:08 +00:00
Cody Northrop 45ffabd0b5 Skip world_cricket_championship_2 Intel Linux
Timing out.

Bug: angleproject:6657
Change-Id: Ia4b6456adbffd41764ae2bccac6d1cf79f3b4fb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262032
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2021-11-04 16:10:47 +00:00
Cody Northrop 73da16481a Tests: Skip zillow trace on desktop Vulkan
Bug: angleproject:6658
Change-Id: I0d0152c83930b6a789bd9660ad2f16e9a8e9f80a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262031
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2021-11-04 15:49:07 +00:00
angle-autoroll 270a2c0ef4 Roll SwiftShader from 7a571328541a to e733a26e2ba0 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/7a571328541a..e733a26e2ba0

2021-11-03 sugoi@google.com Add assert on illegal signed/unsigned blit

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

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

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

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

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I6e5ccc05abf5e57b8abbb15de7db0ebf3ea5362c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260749
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-04 11:34:07 +00:00
angle-autoroll 6791f0f1dd Roll vulkan-deps from d388b3abde67 to a46607dbd322 (20 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/d388b3abde67..a46607dbd322

Changed dependencies:
* glslang: d1608ab1ef..eb92526d5e
* spirv-cross: 66adba17a8..04293e03fd
* spirv-headers: 1380cbbec1..29817199b7
* spirv-tools: 97d4495600..6b073f8992
* vulkan-headers: d594f70127..51a326d756
* vulkan-loader: 830a0724aa..7e3866fa3a
* vulkan-tools: 7001f2eb37..aa16057108
* vulkan-validation-layers: 6fca9899aa..2ab8c47ee5

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 cnorthrop@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: cnorthrop@google.com
Change-Id: I6514851e18a1f6857f4dd79519c8835c9f600f67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3261593
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-04 11:10:58 +00:00
angle-autoroll a5e039b7c6 Roll Chromium from b8a060d71358 to ff76252a7394 (1883 revisions)
b8a060d713..ff76252a73

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 cnorthrop@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: 40d725c711..be7dd8702f
* buildtools/linux64: git_revision:79c6c1b1a24c46df5a773cc61604bb5051ca6cf4..git_revision:90294ccdcf9334ed25a76ac9b67689468e506342
* buildtools/mac: git_revision:79c6c1b1a24c46df5a773cc61604bb5051ca6cf4..git_revision:90294ccdcf9334ed25a76ac9b67689468e506342
* buildtools/third_party/libc++abi/trunk: 1876d99930..4c6e0991b1
* buildtools/win: git_revision:79c6c1b1a24c46df5a773cc61604bb5051ca6cf4..git_revision:90294ccdcf9334ed25a76ac9b67689468e506342
* testing: 0f63f0d38b..0be155b448
* third_party/abseil-cpp: aaec1f1057..4f10fce35c
* third_party/android_build_tools/bundletool: OZ4is33usuZy-deP3FpWCtbKXaIY0qBLsElWte7556YC..2ZcLVDxyRwp8FzpeYLtLT0TfSRweZxvwh1-Kx1jZ_FoC
* third_party/android_deps: d1c5c4d011..0f5030b08c
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6f6dc831c9
* third_party/depot_tools: b3a1a797ba..8a0d05dea6
* third_party/ijar: 0c48c93118..1c4422cef7
* third_party/r8: EU82Aqeu2B1PZzAmebHXfyOgeL2UZifcIJ1LPyoThw0C..nqWomZTwNDoogX26WeCSoFGg6aQN1FrwzoU4hCS0duEC
* third_party/turbine: 6QYCyqU5yXkAT7T-_K3sCPvfISI8ACXF_cW4OM5v9BgC..KbLQUR_KFiUEzVt1lMTORY96bz_PbMwC3GwIb1oGJmAC
* tools/clang: f827083d00..b2ffe54673
* tools/luci-go: git_revision:d1c03082ecda0148d8096f1fd8bf5491eafc7323..git_revision:68355732afb00a422ae0c70eed95c6a45f9868b1
* tools/luci-go: git_revision:d1c03082ecda0148d8096f1fd8bf5491eafc7323..git_revision:68355732afb00a422ae0c70eed95c6a45f9868b1
* tools/luci-go: git_revision:d1c03082ecda0148d8096f1fd8bf5491eafc7323..git_revision:68355732afb00a422ae0c70eed95c6a45f9868b1
* tools/mb: c063514f93..8c543dbf70
* tools/memory: 20319341da..bfbdc93fb6
* tools/perf: 930ae734b0..de187bb48c
Clang version changed llvmorg-14-init-7378-gaee49255:llvmorg-14-init-8033-gabb2a91b
Details: f827083d00..b2ffe54673/scripts/update.py

Bug: angleproject:6037
Tbr: cnorthrop@google.com
Change-Id: I9de8c27ecafc1a9c0457af98b36074920e37bf2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3261685
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-04 09:00:07 +00:00
Shahbaz Youssefi 30b01d8fd1 Fix multiview framebuffer completeness check
In the process of dropping ANGLE_multiview in favor of OVR_multiview,
the framebuffer completeness checks have become stale.  In particular:

- There is no requirement that the base layer of the attachments match
- There _is_ a requirement that base+count layers are within the texture
  boundaries.

Bug: chromium:1264988
Change-Id: I86837b587ad5befaa6a545c5a24507e8dff0b568
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3259272
Reviewed-by: Alexis Hetu <sugoi@google.com>
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-11-04 01:56:17 +00:00
Cody Northrop 2091451e52 GLES1: Create multiple shaders based on state
This CL introduces the concept of having optimized shaders for given
state combinations.  In this first pass, all uniform bools have been
moved to hard coded values in the GLES1 ubershader.

Frame times on Android ARM with locked GPU clocks:

Trace               Before      After
dr_driving:         27.8145 ->  4.2986
sonic_the_hedgehog: 17.9779 ->  2.8223
summoners_war:      93.2040 -> 15.9810
wordscapes:         53.9227 ->  7.6167
zillow:             15.0323 ->  2.9368

Bug: angleproject:6644
Bug: angleproject:6652
Change-Id: I548bc5c6aa24bad5fbd740b9552c4a703ae41354
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251688
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2021-11-03 23:35:06 +00:00
Tim Van Patten 7e70818a62 Capture/Replay: Skip failing UniformTest tests
The following tests are failing on win-trace:

    UniformTest.UnusedStructInlineUniform
    UniformTest.UnusedStructInlineUniformWithSampler

They were added by this CL:
https://chromium-review.googlesource.com/c/angle/angle/+/3256235

Bug: angleproject:6654
Bug: angleproject:6641
Change-Id: Ibce2a9ef1795ffeb50bce5546d558ce12166cd17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260733
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-11-03 23:19:06 +00:00
Kyle Piddington 77eb8a491b Metal: Reduce memory usage of attribute re-writing
Rework vertex buffer caching to allow us to reuse parts
of converted buffers.

Reusing conversions dramatically drops the memory usage
when drawing index ranges by offset with
unaligned attributes.

Bug: angleproject:6638
Change-Id: I79797da202629b1632e1397ce1227ee3d7a1c9d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251467
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2021-11-03 21:46:27 +00:00
Amirali Abdolrashidi 0777af7050 Env var for EXT_framebuffer_fetch_non_coherent
* Added an environment variable/Android property to remove the
restriction on exposing GL_EXT_shader_framebuffer_fetch_non_coherent
on ARM and Qualcomm.
  * Environment variable: ANGLE_ENABLE_EXT_SHADER_FRAMEBUFFER
_FETCH_NON_COHERENT_OVERRIDE
  * Android property: debug.angle.enable.ext_shader_framebuffer
_fetch_non_coherent_override

Bug: angleproject:6519
Change-Id: I62e80f348c2ffda7d1d63496e3a2aedad9d69229
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258363
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2021-11-03 18:20:16 +00:00
Yuxin Hu 8aec7f358e Add World Cricket Championship 2 Trace
Test: angle_perftests --gtest_filter="*world_cricket_championship_2*"

Bug: b/194508692
Change-Id: I0f36eba247b4726bc13b327634c429339ad1297c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258343
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
2021-11-03 16:54:56 +00:00
Tim Van Patten afaa1287c7 Vulkan: Don't submit XFB queries when XFB is inactive
Consider the following GL commands:

  glBeginQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN)
  glBeginTransformFeedback()
  glDrawArrays()
  glPauseTransformFeedback()
  glDrawArrays()
  glResumeTransformFeedback()
  glDrawArrays()
  glEndTransformFeedback()
  glEndQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN)

The renderpass is broken for each of the draw calls, leading to
pauseRenderPassQueriesIfActive() and resumeRenderPassQueriesIfActive()
being called when the RP is stopped/started. This leads ANGLE to
generate 3 TransformFeedbackPrimitivesWritten queries when looping
through the "active" queries, since no consideration is made for XFB
actually being active/unpaused.

ARM doesn't support the TransformFeedbackPrimitivesWritten query when
XFB is disabled. Instead, the query is never completed and the results
are never available. It could probably be argued that this is an ARM
bug, and they should just output '0' if XFB isn't active during the
query.

Regardless, ANGLE shouldn't be issuing the queries when XFB is no
active, since it's wasteful.

Bug: angleproject:6622
Test: dEQP.GLES3/functional_transform_feedback*
Test: TransformFeedbackTest.TransformFeedbackQueryPausedDrawThenResume
Change-Id: I380fb60405d7f538b802bb0df72bf609f0bc58e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246532
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-11-03 16:15:24 +00:00