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

17200 Коммитов

Автор SHA1 Сообщение Дата
Shahbaz Youssefi f3d5dac3ba Vulkan: SPIR-V Gen: Drop dependency to glslang
The SPIR-V gen path is now made default.  Compilation through glslang is
still supported for debugging, and is enabled on the GLSL* end2end tests
for smoke testing.  On release builds, glslang is not supported.

To test with glslang, add the following gn arg (only necessary if dcheck
is disabled):

    angle_enable_spirv_gen_through_glslang = true

Then enable the generateSPIRVThroughGlslang feature.  This can be done
by setting an environment variable:

    ANGLE_FEATURE_OVERRIDES_ENABLED=generateSPIRVThroughGlslang ./angle_deqp_gles2_tests

Binary size saving:

- 1.3MB on Linux (SPIR-V gen itself: 240KB)
- 730KB on Android (SPIR-V gen itself: 140KB)

Perf tests:

- LinkProgramBenchmark.Run/vulkan_compile_single_thread
  * Through glslang:
      truncated mean: 1287033.36
  * Direct SPIR-V Gen:
      truncated mean: 244495.91  (~80% reduction)

- LinkProgramBenchmark.Run/vulkan_compile_multi_thread
  * Through glslang:
      truncated mean: 4565894.83
  * Direct SPIR-V Gen:
      truncated mean: 1158164.10  (~75% reduction)

Bug: angleproject:4889
Bug: angleproject:6210
Change-Id: I486342702977c8114e90073b97183aba115a8b2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115140
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-10-14 04:43:32 +00:00
Aditya Kushwah d8471b290c Fix ASAN bug caused by passing empty label string.
This CL will fix the ASAN bug that was caused by passing empty label
string to getMultisampledRenderTarget, function of TextureStorage11.
Instead, pass mTextureLabel so we can get WebGL labels now. Also to
avoid this in future, convert ref mTextureLabel to now store copy.

The change in the test reflects the steps to first set the label
string and later the label being used to initialize mTextureLabel via
texture storage creation.

Bug: chromium:1254746
Change-Id: I007bdf1c7a421a2b4b9288aa71fa4368c14cf333
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3201030
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
2021-10-14 00:39:51 +00:00
YuxinHu bf74475217 README.md maintenance
-Mark the document OpenGL Insights chapter on ANGLE as historical
reference.
-Modify the visual studio build instruction in ANGLE'S orientation link.
-Point the Start Projects link to the angle starter bug lists.
-Remove doc/Starter-Projects.md.
 (most bugs listed in Starter-Projects.md are closed.
  mark bugs 2734, 2556, 2506 as starter bugs.
  remove link to WebGL conformance on Windows as they are outdated)
-Remove IRC channel join info.
-Add more instructions on how to join Angle Slack channel.
-Add warning indicating the iframe tags are not displayed properly in
doc/dEQP-Charts.md.

Bug: angleproject:6509
Change-Id: Idd4364fe48b506b44d3a2b40fa0e6ebd9e810a1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204132
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2021-10-13 23:21:56 +00:00
YuxinHu d4c7b5946a Add fixes on the doc based on Jamie's Suggestions
This is a follow up change based on comments Jamie
provided in a previous change list:
https://chromium-review.googlesource.com/c/angle/angle/+/3204430.

Fixes include:
1. Wrap each line into 80 characters.
2. Add links to project files.
3. Add one more future work.
4. Modify the two simple wordings.

Bug: angleproject:6508
Change-Id: I84a5694682d8871ebb46c4dfe245399021e0cff7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3219715
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-13 22:54:56 +00:00
Charlie Lao ea5804842b Vulkan: Add feature flag to prefer CPU copy instead of staged update
For ARM GPU, use GPU to do buffer to buffer copy has performance penalty
due to potential bubble in the vertex pipeline. This CL adds a feature
flag preferCPUForBufferDataSubData so that we can enable this behavior
for ARM GPUs.

This CL also tracks if GPU has referenced this BufferVk's storage since
it got new storage. Due to sub-allocation, we may get a new sub-range of
the same BufferHelper object when allocating new storage. But we
currently do not have a way to track GPU progress of the sub-range of a
buffer. So we will end up using BufferHelper's queueSerial to decide if
it is still GPU busy or not. This CL adds mHasBeenReferencedByGPU
boolean variable that will set to false when we got a new allocation and
set to true as soon as buffer is been referenced by any GPU command. We
use this to avoid checking queueSerial if it never been referenced by
GPU. This is a temporary workaround for the bug, the full fix is tracked
by https://issuetracker.google.com/201826021

Bug: b/200067929
Change-Id: I231fb0a678b0165a2ce1775d0aa4dbe7512fb4a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3183398
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-10-13 19:43:36 +00:00
Charlie Lao 9a48ad4ed0 Vulkan: Add test for acquireAndUpdate
Add two new tests to IndexBufferOffsetTestES3 tests that will call
bufferSubData with more than 1/2 buffer size, which will force vulkan
backend go into a different code path.

Bug: b/200067929
Change-Id: Id831982bbb044a529e9711be62d82f3e8c05e1a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213415
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-10-13 18:38:57 +00:00
Jonah Ryan-Davis 7d1b12eb59 Clean up PlatformMethods enum allocation
EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX was allocated to 0x3482
without reserving an enum in the ANGLE drive. This value was later
used for EGL_POWER_PREFERENCE_ANGLE, causing a collision. This CL
re-allocates the enum.

Bug: angleproject:6105
Change-Id: I0da95dbd307954e2f7f5107d0179d580ec536f2b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3219591
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2021-10-13 18:23:37 +00:00
Jamie Madill 100ebfd7f9 Revert "Re-enable PoolAllocatorAlignmentTest.Alignment"
This reverts commit 7eada73ac4.

Reason for revert: Breaking Lollipop tester likely b/c of 32-bit issues.

Bug: chromium:1259544

Original change's description:
> Re-enable PoolAllocatorAlignmentTest.Alignment
>
> The PoolAllocatorAlignmentTest.Alignment/64 variant of the test fails on
> windows/debug, so this change re-enables this test everywhere except for
> that variant (and speculatively /128) on windows.
>
> Bug: angleproject:6536
> Change-Id: Ibc4fcbe04e7579f3ad7eb68f4f460078ee27ac88
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212329
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

Bug: angleproject:6536
Change-Id: I74ebf1c78c8b15c14c9d1496948adafd13e0d2ba
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3220971
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-10-13 12:07:48 +00:00
Shahbaz Youssefi 558eda6e20 Vulkan: Remove provoking-vertex structs from "custom" list
This extension has been released.

Bug: angleproject:4063
Change-Id: I007c20a895819aa11382837a3ad654839e127365
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3217938
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-10-13 11:40:05 +00:00
Gert Wollny bb5dbd4956 Capture/Replay: Handle TvoidPointer in specialization
Bug: angleproject:6521
Change-Id: I863ad5307498e6394f5fbe3e650ce29c821083b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204960
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2021-10-13 11:38:38 +00:00
angle-autoroll f25d1b2105 Roll vulkan-deps from 0d9dbc23381d to bd01823faf6f (3 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/0d9dbc23381d..bd01823faf6f

Changed dependencies:
* vulkan-validation-layers: 1230a564c7..4ddd7fa6ed

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: I755e89ae0a5937cb9805cee31057c70290a7b27b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3220244
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-13 11:08:55 +00:00
angle-autoroll 697301645f Roll SwiftShader from b0f8eb113c65 to ca2ada82f494 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b0f8eb113c65..ca2ada82f494

2021-10-13 sugoi@google.com Fix border update when rendering to cube face
2021-10-12 capn@google.com Revert "Kokoro: Disable gcp_ubuntu builds failing to update CMake"
2021-10-12 sugoi@google.com Regres: Roll dEQP to master revision e2aeccd

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 jonahr@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: jonahr@google.com
Change-Id: Id506f3aa88c51afc3b00bcacacc376ee2dd60e5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3220126
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-13 11:04:26 +00:00
angle-autoroll f8b1306f9e Roll Chromium from 98d6c07f2252 to a3c5add36792 (519 revisions)
98d6c07f22..a3c5add367

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: ed0a6d903d..edba8be55a
* testing: 69da32119f..8eb878544b
* third_party/android_deps: 49fa1a3684..26700faf76
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2ef79f5f33
* third_party/depot_tools: 4a06fb5432..756e98f5aa
* third_party/ijar: cb29a121b4..0c48c93118
* third_party/zlib: edc0e0684f..6da1d53b97
* tools/clang: 203feb7891..c00aa10009
* tools/mb: c3e712a10a..256755a787
* tools/perf: 7ba7d556a2..a8ec5ddc8a
Clang version changed llvmorg-14-init-5759-g02895eed:llvmorg-14-init-6355-gb2217b36
Details: 203feb7891..c00aa10009/scripts/update.py

Bug: angleproject:6527
Tbr: jonahr@google.com
Change-Id: I2d04180c7bbd93afb078a3a11e559e134839e8f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3220235
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-13 08:48:26 +00:00
Charlie Lao 43be4d9cd8 Vulkan: Fix unnecessary performance warnings for two tests
Fix two existing tests so that it wont generate performance
warnings that is not related to the test and not intended anyway.

Bug: b/200067929
Change-Id: I64a9272be077c536627644ae44104d98cecee7cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3218270
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2021-10-12 19:21:32 +00:00
Shahbaz Youssefi 7eada73ac4 Re-enable PoolAllocatorAlignmentTest.Alignment
The PoolAllocatorAlignmentTest.Alignment/64 variant of the test fails on
windows/debug, so this change re-enables this test everywhere except for
that variant (and speculatively /128) on windows.

Bug: angleproject:6536
Change-Id: Ibc4fcbe04e7579f3ad7eb68f4f460078ee27ac88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212329
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2021-10-12 19:04:32 +00:00
Charlie Lao 6793d50e4f Vulkan: Remove ImageHelper::setFirstAllocatedLevel and Add assertion
ImageHelper::mFirstAllocatedLevel is set via ImageHelper::initExternal.
There isn't a good use to set the mFirstAllocatedLevel when mImage is
invalid, and semantically it is wrong to try to get mFirstAllocatedLevel
or format while its storage is invalid (i.e., not allocated). This CL
removes ImageHelper::setFirstAllocatedLevel() API all together and added
assertion that image is valid when ImageHelper::getFirstAllocatedLevel
and getActualFormat and various other get APIs whose value are set
during initExternal call.

Bug: angleproject:6532
Change-Id: I9c97f488b3e959443fec632540e7f0906a49dc13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209838
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-12 19:04:12 +00:00
Charlie Lao 185e48a735 Vulkan: Make TextureVk::mRedefinedLevels bitmask of gl::LevelIndex
We have gl::LevelIndex and vk::LevelIndex. gl::LevelIndex means level
index at OpenGL concept and is used in TextureVk code. vk::LevelIndex
means already adjusted with baseLevel and is used by ImageHelper object.
This mRedefinedLevel is gl::TexLevelMask type, but it actually is a bit
mask of vk::LevelIndex right now. This is inconsistent and confusing.
This CL changes it to bit mask of gl::LevelIndex to be consistent with
the namespace of "gl".

Bug: angleproject:6532
Change-Id: Ic88e373f70d3bd3e3fea676765c82fd0941e245c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210726
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
2021-10-12 19:01:02 +00:00
Steven Noonan 01341f9483 D3D11: implement EXT_clip_control
This implements EXT_clip_control for the D3D11 renderer, so that I can
use a reversed-Z depth buffer with ANGLE.

Tested with
    angle_deqp_gles2_tests.exe --deqp-egl-display-type=angle-d3d11 --deqp-case=dEQP-GLES2.functional.clip_control.*
and
    angle_end2end_tests.exe --gtest_filter=*D3D11*

Bug: angleproject:6554
Change-Id: I1d11cd04a6654c28530b11104470f0cad0009abe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3218659
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-10-12 18:57:15 +00:00
Jamie Madill 4b056a17b5 infra: Remove android-angle-try from CQ.
The dEQP GLES / EGL tests on the Nexus 5x are not a configuration we
intend to ship. The 5x is over 5 years old and has been discontinued
without updates. Because it costs us resources and developer time to
maintain these configs, and we still have WebGL testing of this
device, remove the native dEQP tests from this config.

Also includes a fix to the lucicfg presubmit on Windows.

Bug: angleproject:6527
Change-Id: I70bbd3ebdafc63bfd7572b79abcedb711acb4441
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212892
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2021-10-12 18:50:20 +00:00
Mark Lobodzinski fde87f5d38 Fix negative fixed-point->float conversions
The fixed-to-float conversion routine in mathutils only operated
correctly on positive numbers.  This caused failures in some GLES1
apps when negative fixed-point values were converted, as for
glTranslatex().

Bug: b/199919700
Test: Manual -- Zillow app should show data on map
Change-Id: I2ac4794478d3ad4c50057527134c9c17c8680338
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209826
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mark Lobodzinski <mark@lunarg.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2021-10-12 18:16:40 +00:00
Shahbaz Youssefi bcc8970347 Translator: Remove disableValidateFunctionCall from transformation
This validation is disabled in three transformations and re-enabled
afterwards.  Two of these benefit from the simplicity it brings, and
this change removes it from the other transformation.

Bug: angleproject:6506
Change-Id: I946b547ed0e2ed39062914a7771e9635ff5e406d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212289
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-10-12 16:39:10 +00:00
Gert Wollny 8712495dab Capture/Replay: Don't handle void pointers as const
TL;DR: glReadPixels needs a non-const pointer if a pack buffer
is bound, so change the code generation to keep TvoidPointer
non-const and regenerate the entry points.

Long version:

When no pack buffer is bound, then in WriteCppReplayForCall
param.readBufferSizeBytes is non-zero and the cast of the read
buffer pointer is using the type passed by the parameter
(TvoidPionter) to write the typecast by calling ParamTypeToString
directly, which returns "void *".

If. OTOH, a pack buffer is bound, then param.readBufferSizeBytes
is zero, and the default WriteParamCaptureReplay is called. This
autogenerated function forwards the call to WriteParamValueReplay
by using an explicit type specification, and the autogeneration
code was translating TvoidPointer to call
   WriteParamValueReplay<ParamType::TvoidConstPointer>
which would then translate to "const void *" in the parameter type
cast, and this would lead to a compilation failure, because the
parameter must be a non-const pointer.

Change the autogeneration code so that TvoidPointer is not forced
to be a const pointer and regenerate the entry points.

Bug: angleproject:6521
Change-Id: I673c77f803a284fb7dfc08a2e0918aebdf698194
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204959
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
2021-10-12 16:30:20 +00:00
Jamie Madill f13731ae0e Enable dEQP EGL + GLES 2/3 tests on Pixel 4.
This is in preparation for removing these tests from the N5X.

Bug: angleproject:6527
Change-Id: Ib44f876db47845935efd68a1727964834a675cbb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208746
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2021-10-12 15:58:40 +00:00
Shahbaz Youssefi 2ab7a17810 Vulkan: Remove suppressions for SPIR-V validation
A bug in VVL produced validation errors regarding texel gather offset,
but it seems to be fixed now.

Bug: angleproject:6491
Bug: angleproject:6492
Change-Id: Ia20816ea0be65aa185a8ee89cf58edd33e452875
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209086
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-12 14:40:40 +00:00
Bruce Dawson fbf8d1ea1b Remove windows.h from common/platform.h
Windows.h is expensive and causes lots of namespace pollution with the
macros that it defines. This change removes windows.h from platform.h
and debug.h and adds the necessary typedes and new include of windows.h
to let Chromium build.

This reduces the number of Angle translation units that include
windows.h by about a third, from 624 to 440. Significant further
reductions will be difficult because of translation units that genuinely
need windows.h.

Earlier versions of this change made it clear that the DeleteFile and
GetCurrentTime macros were renaming Angle functions. These angle
functions were renamed which makes this change much simpler.

Bug: angleproject:6283
Change-Id: Icddc8f98b19485e563b2cf616bba2ad4ea49228e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212639
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-10-12 13:54:10 +00:00
Jamie Madill 44bef8ae5f Remove traces of Feature Level 9_3 support from tests.
Bug: angleproject:1284
Bug: angleproject:3042
Change-Id: Ic2f77d315e98c3b15c5fc8b0359168bce00867d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213294
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-10-12 13:12:41 +00:00
angle-autoroll 1713a1ddee Roll vulkan-deps from 5d47d7c31f5d to 0d9dbc23381d (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/5d47d7c31f5d..0d9dbc23381d

Changed dependencies:
* vulkan-validation-layers: 9112cf8f05..1230a564c7

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: I001b10da07243378df6c25e9742dbd4524cf8d2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3218940
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-12 12:48:00 +00:00
angle-autoroll ea419e7c44 Roll SwiftShader from eacf0cd26b0a to b0f8eb113c65 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/eacf0cd26b0a..b0f8eb113c65

2021-10-12 capn@google.com Restore zero-initialization of device memory allocations for GN 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 jonahr@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: jonahr@google.com
Change-Id: I445c6d759db7c3c4c26625252d6325dc91263918
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3217961
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-12 10:45:21 +00:00
angle-autoroll 5a83f3e400 Roll Chromium from 27780e77056e to 98d6c07f2252 (388 revisions)
27780e7705..98d6c07f22

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: 500434accf..ed0a6d903d
* buildtools/clang_format/script: 99803d74e3..99876cacf7
* testing: e0214688a4..69da32119f
* third_party/android_deps: f460b9a636..49fa1a3684
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..876bab7910
* third_party/depot_tools: 97b5b5f83d..4a06fb5432
* third_party/r8: ntKr-aGawyw4goIV50HidiUHTHey-mwhwgLiD3Th8jUC..EU82Aqeu2B1PZzAmebHXfyOgeL2UZifcIJ1LPyoThw0C
* third_party/turbine: EbT5V0csSPtrqE7MUYHXHhKwiBh8znOrUP46FVGfb9gC..6QYCyqU5yXkAT7T-_K3sCPvfISI8ACXF_cW4OM5v9BgC
* tools/mb: f0d113a0da..c3e712a10a
* tools/perf: ca89069ed0..7ba7d556a2
No update to Clang.

Bug: None
Tbr: jonahr@google.com
Change-Id: If0b43260027aa49c1a70f436a55c6e0f530c4df3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3218821
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-12 08:11:30 +00:00
Tim Van Patten 4349703b4c Compiler: Remove unnecessary TODO
Remove the TODO related to removing the global pool allocator, since
that work won't be chased any further.

For more details in this area, see:
  http://anglebug.com/1286

Bug: angleproject:6497
Change-Id: Ie9952e1c0e481c8d553cfdcf4a1d8ded8b64a95b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208510
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-10-11 23:00:10 +00:00
Lingfeng Yang 9ba5dcf604 Vulkan: Fix inconsistency in half render area width/height
The half render area rotation matrix should be removed.
DrawableArea is constant over rotations.

The frag coord rotation matrix is still needed because
the frag coord generated by GPU is still rotated.

Test:
    DISPLAY=:0 out/Debug/angle_deqp_gles3_rotate90_tests
    Using test config with:
    linux
    nvidia
    debug
    vulkan
    prerotation
    prerotation270

Test: Cuttlefish SwANGLE
    ./cts-tradefed run cts -m CtsDeqpTestCases -t
    dEQP-GLES3.functional.shaders.builtin_variable.fragcoord_xyz

Bug: angleproject:6504
Change-Id: I37a6308fdb7586200b19a6138affc78c2c329a96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212427
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-10-11 19:02:20 +00:00
Charlie Lao 6cb599f9d2 Vulkan: Change dest to dst for consistency
Cleanup only, no functional change. dst aligns better with src.

Bug: angleproject:6502
Change-Id: I69821b1aae50a7ce647c7cc876468b6de309eec8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208514
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2021-10-11 17:35:55 +00:00
angle-autoroll 59eebb1732 Roll vulkan-deps from 651804d6bf55 to 5d47d7c31f5d (5 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/651804d6bf55..5d47d7c31f5d

Changed dependencies:
* vulkan-tools: 6ca43559e0..e8b24f02d1
* vulkan-validation-layers: 51279399ea..9112cf8f05

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: I047dc36aa495a2390bc1dbfbc26994227f0eecee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3216172
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-11 11:35:14 +00:00
angle-autoroll 07363e5111 Roll SwiftShader from a1594b97ef0c to eacf0cd26b0a (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a1594b97ef0c..eacf0cd26b0a

2021-10-09 capn@google.com Don't initialize device memory allocations in MSan builds
2021-10-08 capn@google.com Don't initialize host memory allocations in MSan builds
2021-10-08 thakis@chromium.org Disable C4244 when building LLVM for swiftshader

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 ynovikov@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: ynovikov@google.com
Change-Id: I09054503f38be9089f804d37e329547fb8306a26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3216414
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-11 10:50:14 +00:00
angle-autoroll 83d94f456f Roll Chromium from 5a257b4ccbc1 to 27780e77056e (441 revisions)
5a257b4ccb..27780e7705

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: 64ad2a11a0..500434accf
* buildtools/linux64: git_revision:0153d369bbccc908f4da4993b1ba82728055926a..git_revision:693f9fb87e4febdd4299db9f73d8d2c958e63148
* buildtools/mac: git_revision:0153d369bbccc908f4da4993b1ba82728055926a..git_revision:693f9fb87e4febdd4299db9f73d8d2c958e63148
* buildtools/win: git_revision:0153d369bbccc908f4da4993b1ba82728055926a..git_revision:693f9fb87e4febdd4299db9f73d8d2c958e63148
* testing: 61b2ffca5e..e0214688a4
* third_party/abseil-cpp: b00d460653..099aba70f7
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..89d8a1b2c5
* third_party/depot_tools: 7cdf1424b9..97b5b5f83d
* third_party/zlib: bffc82b236..edc0e0684f
* tools/luci-go: git_revision:413d434bd4eee1130614494dfb19f1eba03d71af..git_revision:d1c03082ecda0148d8096f1fd8bf5491eafc7323
* tools/luci-go: git_revision:413d434bd4eee1130614494dfb19f1eba03d71af..git_revision:d1c03082ecda0148d8096f1fd8bf5491eafc7323
* tools/luci-go: git_revision:413d434bd4eee1130614494dfb19f1eba03d71af..git_revision:d1c03082ecda0148d8096f1fd8bf5491eafc7323
* tools/mb: 36fcc39dd5..f0d113a0da
* tools/perf: 08f5dc22c1..ca89069ed0
* tools/skia_goldctl/linux: 8BEdZmdEb_Trpttj9e1dPv8UkzzT2TcgaA7HDWbfw_oC..gBAjq66wEoX-xg7SYwdl9IwTb41P6_uogFXZWqmg42cC
* tools/skia_goldctl/mac: rUm7H5eJ9geBU3-v0VR5qj_uAZoU9K1pEIiSVnxbDmIC..s5FQ4at83HB6cms6U4yFCQ-DS8LAIk6BsYD0SYwtiyMC
* tools/skia_goldctl/win: 6xtIsouHQ17XqTFF6ZHf3XyJvVUPt1OTvgPG2Opk56AC..waM0kUtv5T9ysntYENPWn_NyN14lIcqEDgfIaITeL0gC
No update to Clang.

Bug: None
Tbr: ynovikov@google.com
Change-Id: I788cddb5e95e206f42ac470136ef2b59642a946d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3216171
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-11 08:16:25 +00:00
Shahbaz Youssefi e2d9121725 Vulkan: Lift helper_invocation suppressions
Bug: angleproject:4110
Change-Id: Ibfeeb835804b2d8349bd8e3911e4caa83e9cc6b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213299
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-10 05:45:14 +00:00
Shahbaz Youssefi 5812f66e45 OpenGL: Lift image buffer windows/intel suppresions
Bug: angleproject:3536
Change-Id: Ib342caca706347ba4ff0cf82f0ea580907e5bb33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213304
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-10 05:26:33 +00:00
Shahbaz Youssefi af691fa7b4 Vulkan: Lift shader_image_load_store swiftshader suppression
Bug: angleproject:4414
Change-Id: I9965ccaeefd526fb01a490ee1b282dd4012aaa14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213303
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-10 05:21:43 +00:00
Shahbaz Youssefi 86a67b31fd Vulkan: Lift shader_image_load_store suppression
Bug: angleproject:4315
Change-Id: I649402f4c5032727cbd1a4a528ebf11716e9de9d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213300
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-10 05:19:14 +00:00
Shahbaz Youssefi 53388e5421 Vulkan: Remove VVL suppresions for VK_EXT_provoking_vertex
Suppressions were added as ANGLE was using an unreleased extension.
This extension is released and supported by VVL now.

Bug: angleproject:4063
Change-Id: Ief23ac1ac3a3e6ecbd7b04a6b583302bbdf48398
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213298
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-10 04:56:03 +00:00
Shahbaz Youssefi 4ad55d073f Vulkan: Turn 1-view multiview FBOs into no-multiview
When only 1 view is enabled, ANGLE continued to append a
VkRenderPassMultiviewCreateInfo struct to the render pass.  VVL produced
an error when transform feedback was used in this case, quoting that
multiview and transform feedback cannot mix.

This change makes sure that 1-view framebuffers are threated as if they
were not multiview.

Bug: angleproject:6478
Change-Id: If079c9a052f822342a49a9cc880be2577a356b64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206269
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-10 04:17:16 +00:00
Yuly Novikov c0ab6a77ef Skip crashing pokemon_unite trace on Linux Intel
Already skipped on Windows

Bug: b/201900915
Bug: angleproject:6494
Change-Id: I4c586d88bb91ff13700157ee5ca585370e7c7887
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213755
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2021-10-09 04:57:17 +00:00
Yuly Novikov a364ea5910 Revert "Update old NVIDIA bug suppression."
This reverts commit 0b779ac42a.

Reason for revert: fails on Win7 NVIDIA
http://ci.chromium.org/ui/p/chromium/builders/ci/Win7%20FYI%20x64%20Release%20(NVIDIA)/13643

Original change's description:
> Update old NVIDIA bug suppression.
>
> Only fails now on Linux. Move to expectations file.
>
> Bug: angleproject:2755
> Change-Id: I28acc569764d94f1095c8eb96e15a1eb19e4695a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212571
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>

Bug: angleproject:2755
Change-Id: If6d03c4ee840126cf1347feffdd672999d9bedf8
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213752
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-10-09 01:55:55 +00:00
YuxinHu 1fa59e56ab Add Overlay Debug Document
Import the documentation go/vangle-debug-overlay as markdown

Bug: angleproject:6508
Change-Id: I1ecf9e6d4fd2c1b47c6e8f367390fcb72d7ecfe7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204430
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-10-09 01:01:20 +00:00
angle-autoroll 4c23b817e0 Roll vulkan-deps from d78bd80b30f6 to 651804d6bf55 (11 revisions)
Suppressing SYNC-HAZARD-WRITE_AFTER_WRITE messages after
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/3403

https://chromium.googlesource.com/vulkan-deps.git/+log/d78bd80b30f6..651804d6bf55

Changed dependencies:
* glslang: c8cdbac705..b9ba4c5743
* vulkan-loader: 8c0ee92eb6..aeffbbd6b9
* vulkan-validation-layers: 7a6a52723b..51279399ea

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: angleproject:6550, angleproject:6551
Tbr: ynovikov@google.com
Change-Id: I8b85fd82fc1042a5632027b8d6fada123533f276
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3214695
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2021-10-08 22:22:14 +00:00
Shahbaz Youssefi 5794073ab4 Vulkan: Lift copy_tex_image_conversion test suppressions
Issue was fixed in anglebug.com/5502

Bug: angleproject:3817
Change-Id: I1bdebac1e9cca71992818e0cb95ccc023149973f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213295
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-08 20:54:18 +00:00
Cody Northrop da8045307f Capture/Replay: Skip pokemon_unite on Intel+Windows
Test is getting inconsistent results around foliage edges.

Test: angle_perftests --gtest_filter="*pokemon_unite*"
Bug: b/201900915
Bug: angleproject:6494
Bug: angleproject:6548
Change-Id: I06a72bcd2e471613caf1787ee8e5fd6e7f22817d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3214691
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2021-10-08 20:22:42 +00:00
Shahbaz Youssefi d134581bc8 Vulkan: Remove SyncHelper::mEvent
Now that inserting a sync object incurs a flush, we can use the serial
to perform synchronization.

Bug: angleproject:6464
Bug: angleproject:6481
Change-Id: I8c82a12855b6497861ce34854d165af82956b384
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212573
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-10-08 19:30:48 +00:00
Jamie Madill 9aa9f7c2f1 Remove vertex attribute test suppressions.
Bug: angleproject:2797
Change-Id: I64b17d674e2d4a490c321357474e3260eb46f43c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212897
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-10-08 18:37:12 +00:00
Charlie Lao 74b2886f58 Vulkan: Try to use CPU to copy when preserving old buffer data
When glBufferSubData is called, we may acquire a new buffer if buffer is
still GPU busy. When this happened, we have to preserve buffer content
if old buffer has valid data in it. Instead of always use GPU to do
copy, this CL will check if GPU is not writing to the buffer, we will
just use CPU to do the copy form old buffer to new buffer from the
ranges outside subData, controlled by the feature flag
preferCPUWhenPreservingBufferData.

Bug: b/200067929
Change-Id: I42053104b2be8da5f399cca92e934254988f2fd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3177322
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2021-10-08 18:26:28 +00:00