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

17200 Коммитов

Автор SHA1 Сообщение Дата
Jamie Madill 4a2446c6b4 Vulkan: Implement robust shader outputs.
In this CL we change ANGLE to pass the mask of missing shader
outputs down to pipeline creation. We then use the color mask
bits to block SwiftShader writing to unused outputs.
This fixes the undefined behaviour present in Genshin Impact.

Note that the other GLES implementations we tested don't seem
to modify outputs even if they're unused.

It was easier to mask out the color attachments in initialize
rather than set up the pipeline desc to mask out the attachments.
This was because we manipulate the color mask in a fairly complex
way before we initialize the pipeline desc.

Bug: angleproject:6566
Change-Id: Ie659fcd511cd286fa573fd25e3e6a0b9e123ebd6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232435
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-10-29 20:40:07 +00:00
Tim Van Patten 800c6885e9 Vulkan: Only add samplable formats to outCompressedTextureFormats
Only samplable texture formats should be added to
outCompressedTextureFormats in FormatTable::initialize(), so move that
to after the check of mActualSampleOnlyImageFormatID.

Bug: angleproject:6277
Change-Id: Id91908a04d7e94f2d6dd1f0fa499ebea6a1f107e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3243068
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-10-29 20:29:48 +00:00
Gregg Tavares 20ddb8027d Fix Blitting in Metal backend.
The Metal backend was clipping in integer space.
If the src and dst are not the same size,
say src is 3 wide and dst is 4 wide, and src
starts at -1, then src will be clipped by one
making the src 2 wide. It got 1/3 smaller so the
dst get 1/3 smaller making it 2.666 pixels wide.
The dst then needs to be expanded to pixels so 3 wide.
But, that means the src also needs to be expanded
0.3333 * 3(originalSrcWidth) / 4(originalDstWidth)
so its new left edge is -0.245 which is not an integer.

Bug: angleproject:6598
Change-Id: I2faa966b18b457f474a3e7f6844ef64bfa66dbe8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251683
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Commit-Queue: Gregg Tavares <gman@chromium.org>
2021-10-29 19:11:24 +00:00
Jamie Madill c31855eaf5 translator: Always report gl_FragData array size.
Previously we would report it as size 1 always if the extension
was missing. This was breaking a dEQP. The test may have a bug, but
we need to work around the issue until the upstream test is fixed.

See https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3259

Bug: angleproject:6566
Change-Id: I5ac654f472f0e227d63804896ecc388081bec5e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251586
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-10-29 16:42:18 +00:00
Lubosz Sarnecki 7bda9d735e DisplayVkAndroid: Always expose EGL_RECORDABLE_ANDROID.
Expose EGL_RECORDABLE_ANDROID in the config for all Vulkan drivers
on Android to provide app compatiblity with "My Talking Tom 2" and
"My Talking Tom Friends".

Don't require config to be unavailable in EGLRecordableTest and request
a config with EGL_RECORDABLE_ANDROID enabled, but do not check for
results.

Bug: angleproject:6612
Change-Id: I25113b7c7f9a4a3b13dc625f01d96ba91cb3c6d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237001
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2021-10-29 14:53:07 +00:00
Shahbaz Youssefi fb77afd3c7 Vulkan: Don't expose MSRTT on SwiftShader
Emulating this extension on SwiftShader is neither useful nor efficient
(on the contrary, it hurts performance (which is true for all non-tiling
architectures)).  This extension was exposed purely to increase testing
coverage, but is being disabled now as OOMs resulting from allocating
the implict multisampled image is confusing Chrome.  Note that
SwiftShader exposes only a limited amount of memory.

Bug: chromium:1263046
Change-Id: Ia69b7fc63804169431885352a8f637a95ab08bd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251581
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-29 14:36:17 +00:00
Peng Huang 81d964a1ae vulkan: implement EGLDevice for vulkan backend
It allows ANGLE clients to get and use VkDevice and VkQueue
used by vulkan backend.

Bug: chromium:1264439
Change-Id: I338ac08152cfec50bb34c5025730e5e6368efba9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250964
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2021-10-29 14:34:12 +00:00
Shahbaz Youssefi 32b3c96317 Vulkan: Remove MSRTT assertion in the presence of OOM
When the MSRTT transient multisampled image is created, the emulated
clear staged update is removed (as it's also staged for the single
sampled image).  This was done after allocating memory for the image,
which can fail, leaving the update staged and leading to an ASSERT
failure when the texture is used.

Technically, the texture should not be used, and that's a Chrome bug
where the OOM result from ANGLE is being ignored.  This change makes
sure the staged update is removed before allocating memory so the
multisampled image is in a more consistent state.

Bug: chromium:1263046
Change-Id: Ida8923ccbc517f740d76b4c2880086a039fa8a1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251580
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-29 14:29:17 +00:00
Lubosz Sarnecki 694c50124e capture_gles_3_2: Skip capturing debug calls
This is analogous to capture_gles_ext.

Bug: angleproject:6613
Change-Id: I8917a4cfa060f71ad616ece56038d02bfa12a952
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237002
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-10-29 14:11:37 +00:00
angle-autoroll 9f0db4a451 Roll Chromium from 367ea8143d4d to b8a060d71358 (521 revisions)
367ea8143d..b8a060d713

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 timvp@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: b726d24b66..40d725c711
* buildtools: 850fe71738..80e4f838fa
* buildtools/third_party/libunwind/trunk: 05a4a0312e..99015718c3
* testing: 0c771463fb..0f63f0d38b
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..819f08fc14
* third_party/depot_tools: 8daf2442e2..b3a1a797ba
* tools/clang: 279e9ceb48..f827083d00
* tools/mb: c61ca72b5d..c063514f93
* tools/perf: 2cb82b1a6d..930ae734b0
No update to Clang.

Bug: None
Tbr: timvp@google.com
Change-Id: I185edca8b556d5f9b4b30f6395bde35063d47d40
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3252787
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-29 08:21:58 +00:00
Charlie Lao bae19e0626 Vulkan: Avoid unnecessary wait if mapBufferRange indicates read only
When we call BufferVk::mapRangeImpl(), both from internal code paths for
data reads or due to glMapBufferRange call, we are not passing the
access bit to the call. This CL passes the proper access bits to the
call and only wait for GPU writes to finish if access is for read only.

This CL also adds access bitfield to the BufferVk::mapImpl() API and
have various callers pass in the proper access bits as well.

Bug: b/203582620
Change-Id: Ica8493c902dbd7b15996266c81ce0fd4dbfc2520
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3245487
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
2021-10-28 20:13:48 +00:00
Shahbaz Youssefi 5c914b57b5 Vulkan: SPIR-V Gen: Fix float+matrix
Found by a fuzzer, float+matrix was not handled correctly by the SPIR-V
output.

Bug: chromium:1264212
Change-Id: I09b13c3e48374621228f5fab4de68c33973ddfd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251585
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-28 20:06:09 +00:00
Tim Van Patten dacfa91778 Disable flaky multithreaded tests
The following multithreaded tests are flaky in CQ and are being
suppressed:

    VulkanMultithreadingTest.MultiContextDrawSmallDescriptorPools/ES3_Vulkan
    MultithreadingTestES3.MultithreadFenceDraw/ES3_Vulkan_SwiftShader

Bug: angleproject:5418
Bug: angleproject:6633
Change-Id: I170085064597165972b7206d98130917bb46fcaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251684
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-10-28 19:34:29 +00:00
Jamie Madill 191c236a6b Vulkan: Remove "current queue serial".
Queries, semaphores, and pipelines instead use the normal
vk::Resource design to track their lifetimes. Removes the current
serial APIs from all classes. Current serials are still tracked
internally in the command queue classes.

Bug: b/169788986
Change-Id: Idcd2c2a93bc8225c6f3f7c247eb8fcfb76be1030
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3223644
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-10-28 17:15:58 +00:00
Brandon Schade 5da062baf1 Translator: Fixed textureGatherOffsets validation
The parser only considered the case where the input to the
textureGatherOffsets() function is an aggregate constructor
node, but not if it is a pre-initialized constant variable.
Added code to handle the constant variable case.

Tests:KHR-GLES32.core.gpu_shader5.texture_gather_offsets_color
      KHR-GLES32.core.gpu_shader5.texture_gather_offsets_depth
Bug: angleproject:5362
Change-Id: Ib1dd3450071341082ea6f0f2a243c3bb3ef6b95a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3217852
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
2021-10-28 17:06:19 +00:00
Jamie Madill 3a9f18f135 Refactor program pipeline handling.
In preparation for moving more code from gl::Program to
gl::ProgramExecutable so it can be shared with ProgramPipeline.

Bug: angleproject:6566
Change-Id: Icb7ecccb37ae8e0d7d5fef8968f0dd7ef6fe6150
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226305
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-10-28 16:26:49 +00:00
Jamie Madill 577cfeff92 GN: Remove unneeded version header visibility rule.
These Chrome targets are now migrated to use the encapsulated API.

Bug: angleproject:2551
Change-Id: I6970f7ad85af089fd41c79476a2bdd4e605949c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248143
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-10-28 14:56:58 +00:00
Hans Wennborg 6ce6788639 Drop -Wweak-template-vtables
Clang is dropping suport for this flag, see bug.

Bug: chromium:1264351
Change-Id: I09b3d42889eecb8e786c52c205f28507fc797c5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250885
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-28 14:23:48 +00:00
angle-autoroll 8019c4e5e2 Roll vulkan-deps from e706a029a256 to a03d00bd2a78 (5 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/e706a029a256..a03d00bd2a78

Changed dependencies:
* glslang: 44b57597d8..d1608ab1ef
* vulkan-loader: 5a4c691700..830a0724aa
* vulkan-validation-layers: e200d91dc3..b9168891cb

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 timvp@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: timvp@google.com
Change-Id: Iaf613182ff8cb36b241706c281cb8ea1f5ad6913
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250031
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-28 12:48:58 +00:00
angle-autoroll 404fbc6a36 Roll SwiftShader from d143249a93bc to 9d8950e082d8 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/d143249a93bc..9d8950e082d8

2021-10-27 srisser@google.com Update git-hooks to HEAD revision
2021-10-27 srisser@google.com Revert "Make git-hooks track with origin/main"
2021-10-27 sugoi@google.com Refactor Queue::Submit to use internal structure

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 timvp@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: timvp@google.com
Change-Id: I9cc40aff97fe50280cfc74ac97741296323eea3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250554
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-28 11:39:08 +00:00
angle-autoroll 540118b10f Roll Chromium from 6e4379b531a3 to 367ea8143d4d (450 revisions)
6e4379b531..367ea8143d

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 timvp@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: 4703a8520d..b726d24b66
* buildtools/third_party/libc++abi/trunk: 26b101897f..1876d99930
* buildtools/third_party/libunwind/trunk: bbd954d05f..05a4a0312e
* testing: 847533d764..0c771463fb
* third_party/abseil-cpp: 14a17ad53a..aaec1f1057
* third_party/android_build_tools/aapt2: oJ_fhfmT6sLorimH6Eo6hwWS2R2gU0c4ZUQfXvzae1UC..GlCdqxHxlg-8YkDGgj5cie-6COsEAZga9jyq-LAYxY4C
* third_party/android_deps: f59fdc4257..d1c5c4d011
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..60bc3270d5
* third_party/depot_tools: 480c91d40b..8daf2442e2
* tools/clang: 819fa9604c..279e9ceb48
* tools/mb: b3ad7f71e0..c61ca72b5d
* tools/memory: 4dc64cab42..20319341da
* tools/perf: 2ff429a7b7..2cb82b1a6d
Clang version changed llvmorg-14-init-6722-g0fbd3aad:llvmorg-14-init-7378-gaee49255
Details: 819fa9604c..279e9ceb48/scripts/update.py

Bug: None
Tbr: timvp@google.com
Change-Id: Icf82072a10099ebe93baeb0dc9a57105028a6780
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3249871
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-28 09:52:20 +00:00
Tim Van Patten e514e1595c win-trace: Skip failing tests
The following test is failing on win-trace:

    ProgramBinaryES3Test.SaveAndLoadDetachedShaders/ES3_Vulkan_SwiftShader
    MultithreadingTest.MultiContextCreateAndDeleteResources/ES3_Vulkan_SwiftShader
    MultithreadingTestES3.MultithreadFenceDraw/ES3_Vulkan_SwiftShader
    MultithreadingTestES3.MultithreadFenceTexImage/ES3_Vulkan_SwiftShader
    MultithreadingTest.MultiContextDrawWithSwapBuffers/ES3_Vulkan_SwiftShader

This CL adds them to capture_replay_expectations.txt.

Bug: angleproject:6631
Change-Id: Ibb74afc6ff4b799e15bb8ead4d7fae0ce81620bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248572
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-10-28 05:53:48 +00:00
Kyle Piddington db83279a7f Metal: Use 'fast' normalize to match DEQP expectations
Normalize' has a fast math option that more conformantly
deals with INF in normalize functions.

Use metal::fast::normalize instead of metal::normalize
This also matches SPIRV-Cross behavior for normalization

Bug: angleproject:6629
Change-Id: I61392ecd6f61b612d21f2832e07a135e26b53ad6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248145
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
2021-10-27 23:10:19 +00:00
Kyle Piddington c1b42740b6 Metal: Use ES3 validation for GL_R/RG8_EXT formats
Fix 6 fboCompleteness tests by setting the Metal conformance version
to ES3, rather than ES2. This causes ANGLE to select the backwards
compatible ES3 validation rather than the ES2 validation.

The FBO completeness test may have a bug related to extensions
in it, as limiting the Vulkan backend to ES2 conformance
causes it to fail in the same manner of Metal.

Bug: angleproject:6618
Change-Id: I64d87ea7b9e1957baab05b6380fe09e8271393a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244023
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2021-10-27 21:43:08 +00:00
Peng Huang 36eac05f9d VANGLE: change the default vulkan device choose logic
To match the vulkan device choose logic in chrome, ANGLE will choose
the default device based on the order of (discret GPU > integrated GPU
> other GPU)

TODO: for long term, ANGLE should provide a way to let chrome specify
the physical device.

Bug: chromium:1260869
Change-Id: Id023138485eb65fcc1d2758103d59a4e6cb2a51d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3242963
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2021-10-27 18:22:48 +00:00
angle-autoroll f6878e8814 Roll VK-GL-CTS from e2aeccde416b to 49afd2823061 (34 revisions)
e2aeccde41..49afd28230

2021-10-26 rgarcia@igalia.com Split multiple interpolation tests using the sample decoration
2021-10-22 ari.suonpaa@siru.fi Allow EGL tests to use ES3 with EGL_KHR_create_context
2021-10-22 michal.jakubek@mobica.com Cover vkGetBufferMemoryRequirements*() routines tests
2021-10-22 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
2021-10-22 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
2021-10-22 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master
2021-10-16 rgarcia@igalia.com Add tcu::Nothing to improve tcu::Maybe usability
2021-10-16 rgarcia@igalia.com Add basic signaled fence tests
2021-10-16 piotr.byszewski@mobica.com Attachment rate tests
2021-10-15 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
2021-10-12 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests
2021-10-12 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests
2021-10-11 vidar.lillebo@arm.com VK_EXT_rgba10x6_formats
2021-10-11 venni.ihanakangas@siru.fi Improve coverage of MSAA copies with different layouts
2021-10-11 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests
2021-10-11 anna.lesniewska@intel.com Change cache type to NO_CACHE in duplicate_batch_pipelines_no_cache test
2021-10-08 piotr.byszewski@mobica.com maintenance4: Add LocalSizeId tests
2021-10-08 gleese@broadcom.com Wire up support for maintenance4 validation
2021-10-08 piotr.byszewski@mobica.com maintenance4: Add push-constant test
2021-10-08 piotr.byszewski@mobica.com maintenance4: Add pipeline layout tests
2021-10-08 lduc@nvidia.com Add image query tests for VK_KHR_maintenance4
2021-10-08 piotr.byszewski@mobica.com maintenance4: Add requirements matching tests
2021-10-08 piotr.byszewski@mobica.com maintenance4: Add maxBufferSize limit tests
2021-10-08 piotr.byszewski@mobica.com Extend decoration mismatch tests
2021-10-08 piotr.byszewski@mobica.com Add tests for relaxed vector matching
2021-10-08 piotr.byszewski@mobica.com Add tests for vector matching
2021-10-08 piotr.byszewski@mobica.com Add decoration mismatch tests
2021-10-08 pdaniell@nvidia.com Updated framework for VK_KHR_maintenance4
2021-10-08 pdaniell@nvidia.com Framework for VK_KHR_maintenance4
2021-10-08 gleese@broadcom.com Change RobustnessExt tests to use format_features2
2021-10-08 michal.jakubek@mobica.com Tests for VK_KHR_format_feature_flags2 extension
2021-10-08 ari.suonpaa@siru.fi Add tests for VK_EXT_primitive_topology_list_restart
2021-10-08 venni.ihanakangas@siru.fi Move anisotropic filtering support check to a function
2021-10-08 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.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 timvp@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: timvp@google.com,angle-bots+autoroll-info@google.com
Change-Id: Ib2d4105f70a65b54c50dfebeaabe48b6693b1d25
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248161
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-27 16:49:38 +00:00
Jamie Madill ca5e6f685c Vulkan: Fix accessing stale FB cached variable.
This would happen when we start a query after deleting a
Framebuffer.

Bug: chromium:1262091
Change-Id: I595360bf55fe1757779669f168c95be802b70da5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248142
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-27 16:36:08 +00:00
Shahbaz Youssefi bbeba56a12 Switch to python3 in DEPS
Bug: angleproject:6626
Change-Id: I1ee7649f445804d637acc2a593df06277d26f0fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244778
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
2021-10-27 15:34:57 +00:00
angle-autoroll bc09d11947 Roll SwiftShader from 21810915c4f1 to d143249a93bc (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/21810915c4f1..d143249a93bc

2021-10-26 srisser@google.com Make git-hooks track with origin/main

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 timvp@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: timvp@google.com
Change-Id: Id685fa7d80662122e0de5b4ad895ea3dfeb0b347
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246406
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-27 10:54:00 +00:00
angle-autoroll ed1d809d2a Roll vulkan-deps from 06cd4429bf9e to e706a029a256 (10 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/06cd4429bf9e..e706a029a256

Changed dependencies:
* glslang: 3afa350331..44b57597d8
* spirv-headers: 92f21c9b21..1380cbbec1
* spirv-tools: 17a5bacfa7..d997c83b10
* vulkan-validation-layers: 87b2e6b02e..e200d91dc3

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 timvp@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: timvp@google.com
Change-Id: I2887a2bf3ce1423a454b3adbf69c0da84df4fc21
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246539
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-27 10:49:29 +00:00
Nico Weber 10dee5b4e3 Run clang update script under python3 in angle
Bug: chromium:1261812
Change-Id: I01b0f6048ffa2273f6941ad3e6ca750cd61852f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246592
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-27 08:54:49 +00:00
Alex Gough 1d2752d84f disable cfguards for all deqp tests
Previous attempt[0] to fix this was too precise, this now disables
cfguards for angle tests at the angle_deqp (source_set,
shared_library, test) level.

See crbug.com/1260874 - This works around a codegen bug for Windows
x86 that is blocking us landing CFG.

Following now all pass:

    PASS: .\out\swangle\angle_deqp_gles2_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.GLES2/functional_multisample_common_edge_big_quad --bot-mode
    PASS: .\out\swangle\angle_deqp_egl_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.EGL/functional_color_clears_multi_thread_gles1_other --bot-mode
    PASS: .\out\swangle\angle_deqp_gles31_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.GLES31/functional_state_query_texture_texture_2d_multisample_texture_swizzle_g_pure_int --bot-mode

[0] https://chromium-review.googlesource.com/c/angle/angle/+/3241703

Test: CQ plus above
Bug: angleproject:6617
Change-Id: I6d2647340592d3b9b5f2430d4fd077835528ef0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244256
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-27 08:35:47 +00:00
angle-autoroll 6e832bfe26 Roll Chromium from b7a27dd8face to 6e4379b531a3 (441 revisions)
b7a27dd8fa..6e4379b531

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 timvp@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: 0afcdef8ce..4703a8520d
* buildtools/linux64: git_revision:693f9fb87e4febdd4299db9f73d8d2c958e63148..git_revision:79c6c1b1a24c46df5a773cc61604bb5051ca6cf4
* buildtools/mac: git_revision:693f9fb87e4febdd4299db9f73d8d2c958e63148..git_revision:79c6c1b1a24c46df5a773cc61604bb5051ca6cf4
* buildtools/third_party/libc++abi/trunk: 9b8228b4a9..26b101897f
* buildtools/third_party/libunwind/trunk: 21acd3f622..bbd954d05f
* buildtools/win: git_revision:693f9fb87e4febdd4299db9f73d8d2c958e63148..git_revision:79c6c1b1a24c46df5a773cc61604bb5051ca6cf4
* testing: cf2207e083..847533d764
* third_party/android_deps: 3b235c7e7c..f59fdc4257
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..b10243766b
* third_party/depot_tools: 378395bfb5..480c91d40b
* tools/clang: e193c0af0a..819fa9604c
* tools/mb: 3b242d6f87..b3ad7f71e0
* tools/perf: 3ac732d74b..2ff429a7b7
No update to Clang.

Bug: angleproject:2551
Tbr: timvp@google.com
Change-Id: I4a8cd6a0f37374313ef2fe559f8e1fb8f23a9673
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246537
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-27 08:22:58 +00:00
Charlie Lao 421dbf200d Revert "Vulkan: Use different strategy for buffer memory allocation"
This reverts commit 0dbe308d91.

Reason for revert: crbug.com/1253325

Original change's description:
> Vulkan: Use different strategy for buffer memory allocation
>
> This CL uses different memory allocation strategy based on the requested
> size. If the requested size exceeds 1M, we use dedicated memory
> allocation to avoid memory waste associated with the sub-allocator.
> Otherwise we uses VMA's sub-allocator pool.  This CL creates two sets of
> customized pool so that we uses different allocation strategy for each
> set of pool: the small pool uses buddy algorithm which favors speed over
> memory and large pool uses default algorithm that favors memory saving
> over speed. This CL also replaces vmaFindMemoryTypeIndexForBufferInfo
> with vmaFindMemoryTypeIndex to avoid create and destroy VkBuffer object
> just try to find memoryTypeIndex.
>
> Bug: b/195588159
> Change-Id: I2bddbfffd77ba2ce6b9389d83a31051c4b748c4d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939490
> 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>

Bug: b/195588159
Change-Id: I2c8fe8cb2930d16f5212570d32be68e7c6a6e5f3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244258
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-10-26 19:07:08 +00:00
Charlie Lao 6b315a7845 Revert "Vulkan: Let BufferVk call into VMA for allocation when possible"
This reverts commit 894ce75fb2.

Reason for revert: crbug.com/1253325

Original change's description:
> Vulkan: Let BufferVk call into VMA for allocation when possible
>
> Previously BufferVk class maintains a DynamicBuffer pool per BufferVk
> object. This CL makes BufferVk skip DynamicBuffer pool in most cases and
> do its own BufferHelper allocation directly. DynamicBuffer pool is only
> used when desired, which is controled by a flag. With this CL, only
> UBO/SSBO/AtomicBuffer will still use DynamicBuffer pool if the buffer
> has to be allocated more than once.
>
> Bug: b/195588159
> Change-Id: I3aa08cef10ee9ee9f01f16403c6fbb99b37f4a8a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2901241
> Commit-Queue: Charlie Lao <cclao@google.com>
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>

Bug: b/195588159
Change-Id: Iecda3baa6bc887fa0caa86ab076994cae7c10f93
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244257
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-10-26 19:05:08 +00:00
Shahbaz Youssefi 55bd8d8f9c Translator: Fix precision bug in HLSL generation
Bug: chromium:1263487
Change-Id: I60bc3dc93867e4269756b6f54eb39cf29ad77d5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244887
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-26 18:13:36 +00:00
Tim Van Patten 9ac2409e93 Reland "Vulkan: Flush descriptor set updates during flush*Commands()"
This reverts commit 420e77a64e.

Reason for revert: The crash is in ProgramExecutableVk::getOrAllocateShaderResourcesDescriptorSet(), which is unrelated to this change. Creating a CL to reland this (the reland button is failing), to try and investigate further.

Original change's description:
> Revert "Vulkan: Flush descriptor set updates during flush*Commands()"
>
> This reverts commit 02b73c2fd7.
>
> Reason for revert: Causes test to crash on Linux/Intel: anglebug.com/6591
>
> Original change's description:
> > Vulkan: Flush descriptor set updates during flush*Commands()
> >
> > The intent of this CL is to reduce the number of descriptor set updates
> > by delaying the work until all of the GLES commands that could trigger a
> > re-update have been performed and the command stream is being flushed.
> > To achieve this, flushDescriptorSetUpdates() is being moved from
> > setupDraw()/setupDispatch() to
> > flushRenderPassCommands()/flushOutsideRPCommands().
> >
> > This change also exposed an issue where the BufferView handles were not
> > being preserved until flushDescriptorSetUpdates() was called. To resolve
> > this, flushDescriptorSetUpdates() is also being called during
> > BufferViewHelper::release() before the BufferView memory is released.
> >
> > Bug: angleproject:5706
> > Change-Id: I61e19af9c0fac891aa2115d72391459b80d22f19
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939385
> > Reviewed-by: Charlie Lao <cclao@google.com>
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Tim Van Patten <timvp@google.com>
>
> Bug: angleproject:5706
> Bug: angleproject:6591
> Change-Id: I9d1ee3fcb3d1aebc86e60896e0065cab847a92b4
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233901
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

Bug: angleproject:5706
Bug: angleproject:6591
Change-Id: Ibc7e934b82e6cd90e766f43135583f7c45acfe39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244024
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2021-10-26 17:58:47 +00:00
angle-autoroll 6950c63783 Roll vulkan-deps from 19d99befaa5f to 06cd4429bf9e (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/19d99befaa5f..06cd4429bf9e

Changed dependencies:
* spirv-cross: 43eecb2360..29632959d2
* spirv-tools: 7326b494d0..17a5bacfa7
* vulkan-validation-layers: 3e8a2188b5..87b2e6b02e

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 timvp@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: timvp@google.com
Change-Id: I23b8018d7dbf277496e3c992eddcd60a24df8e99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3245138
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-26 12:52:57 +00:00
angle-autoroll 411e94f565 Roll SwiftShader from c5e237273696 to 21810915c4f1 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c5e237273696..21810915c4f1

2021-10-25 capn@google.com Delay extension support check until instance/device creation

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 timvp@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: timvp@google.com
Change-Id: Iab4ba1bde3fcdd8a3b9ffbbd380e91b87f8028ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244220
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-26 12:30:27 +00:00
angle-autoroll d636ca1ad5 Roll Chromium from 9d26607df45d to b7a27dd8face (437 revisions)
9d26607df4..b7a27dd8fa

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 timvp@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: acad0f2115..0afcdef8ce
* buildtools: f5750f5bba..850fe71738
* testing: e7d33e11b8..cf2207e083
* third_party/android_deps: e533cac788..3b235c7e7c
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c45ff7f0bb
* third_party/depot_tools: 372190eb3d..378395bfb5
* tools/perf: f4555781e5..3ac732d74b
* tools/skia_goldctl/mac: rhRaADork6USXDGEk0fWwnbWVaKKc0YLzENNVBVsHkAC..Ee-Y58INmdIA4z_rfmJjvZ-ljrcn-L2tk9nMJVDkidkC
No update to Clang.

Bug: None
Tbr: timvp@google.com
Change-Id: I18a7db9d21bae5ce96514f87698bc4bbd18d7c05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3245137
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-26 10:34:08 +00:00
Charlie Lao 894ce75fb2 Vulkan: Let BufferVk call into VMA for allocation when possible
Previously BufferVk class maintains a DynamicBuffer pool per BufferVk
object. This CL makes BufferVk skip DynamicBuffer pool in most cases and
do its own BufferHelper allocation directly. DynamicBuffer pool is only
used when desired, which is controled by a flag. With this CL, only
UBO/SSBO/AtomicBuffer will still use DynamicBuffer pool if the buffer
has to be allocated more than once.

Bug: b/195588159
Change-Id: I3aa08cef10ee9ee9f01f16403c6fbb99b37f4a8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2901241
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-10-26 04:18:38 +00:00
Charlie Lao 0dbe308d91 Vulkan: Use different strategy for buffer memory allocation
This CL uses different memory allocation strategy based on the requested
size. If the requested size exceeds 1M, we use dedicated memory
allocation to avoid memory waste associated with the sub-allocator.
Otherwise we uses VMA's sub-allocator pool.  This CL creates two sets of
customized pool so that we uses different allocation strategy for each
set of pool: the small pool uses buddy algorithm which favors speed over
memory and large pool uses default algorithm that favors memory saving
over speed. This CL also replaces vmaFindMemoryTypeIndexForBufferInfo
with vmaFindMemoryTypeIndex to avoid create and destroy VkBuffer object
just try to find memoryTypeIndex.

Bug: b/195588159
Change-Id: I2bddbfffd77ba2ce6b9389d83a31051c4b748c4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939490
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-26 03:29:07 +00:00
Alex Gough 2ca3552266 Disable cfguard for tcu/depq test files
These seem to be generated with bad unwinding and cause crashes when
exceptions are unwound.

Specifically

tcu::TestStatus RandomOrderExecutor::executeInner(TestCase *testCase,
                         const std::string &casePath)

can be built with __declspec(guard(nocf).

Test: CQ
    .\out\swangle\angle_deqp_gles2_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.GLES2/functional_multisample_common_edge_big_quad --bot-mode
Bug: angleproject:6617
Change-Id: Iae75dc0f911a3430276909f4a14944d0f805fdf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3241703
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-26 02:12:56 +00:00
Kyle Piddington a02eb809aa Metal: Allow zero-sized scissors
Fixes the following ES2 tests:
dEQP-GLES2.functional.fragment_ops.scissor.outside_render_*
A zero sized scissor is a valid scissor rectangle.
Instead of ignoring this call, allow it.

Bug: angleproject:6592
Change-Id: Ifc5c145b43deae4a031025b63691eb2b54c598fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233935
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Gregg Tavares <gman@chromium.org>
2021-10-25 22:46:12 +00:00
Geoff Lang a800024023 Don't release EGLImage refs until backends are respecified
orphanImages is called before impl methods to respecify textures
and renderbuffers. This can cause the backend objects to reference
deleted images. TextureVk::handleImmutableSamplerTransition is one
such function that is called using "previousImage".

Fix this by having orphanImages return a RAII object that deletes
the image when the caller chooses. In this case, after the impl
methods have been called to respecify the backend data.

Bug: b/194432407
Change-Id: Ifb265b4409ba43478731a1701e2409f089976b1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206430
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-10-25 17:39:45 +00:00
Geoff Lang d2c01d2ce5 GL: Allow selecting virtualization groups at context creation
Rewrite EGL_ANGLE_platform_angle_context_virtualization to
EGL_ANGLE_context_virtualization, changing the context virtualization
parameter to an identifier for what virtualization group the frontend
context should be added to.

This allows ANGLE's GL backend to be used by multiple threads if the
user creates contexts with different virtualization groups.

Bug: angleproject:6406
Change-Id: I7414d4705ce10bdf63a9b824043d5dd040dad875
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169193
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2021-10-25 17:20:56 +00:00
Shahbaz Youssefi 48b605d845 Vulkan: Fix UBSAN error in CommandBatch
CommandBatch doesn't initialize all fields, causing UBSAN errors in the
move constructor.

Bug: chromium:1261861
Change-Id: I46b963a415ccc08d3d9db40de98d1968eea311e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3241544
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-25 14:58:15 +00:00
angle-autoroll 7a8ad7cb90 Roll vulkan-deps from 4b6798af71b9 to 19d99befaa5f (6 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/4b6798af71b9..19d99befaa5f

Changed dependencies:
* glslang: 38fd9221db..3afa350331
* spirv-cross: 94dea2507e..43eecb2360
* vulkan-loader: a9bc611dad..5a4c691700
* vulkan-validation-layers: 11813abcad..3e8a2188b5

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 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: Ibcb316a7549ba1a15512b4aefcb763ea06b2bf89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3241242
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-25 11:22:36 +00:00
angle-autoroll fc1fd31a5d Roll Chromium from 75578cc5e47d to 9d26607df45d (282 revisions)
75578cc5e4..9d26607df4

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: 4d4596dc66..acad0f2115
* buildtools/third_party/libc++abi/trunk: be63497336..9b8228b4a9
* buildtools/third_party/libunwind/trunk: 6f77fbf9fa..21acd3f622
* testing: 93811b76ab..e7d33e11b8
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..e9a87dc9e5
* third_party/depot_tools: 7a6ff9824d..372190eb3d
No update to Clang.

Bug: None
Tbr: ianelliott@google.com
Change-Id: I9f0448d33ec2423aab41380da4b8ff6621a7688b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3240482
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-25 08:51:45 +00:00
Steven Noonan b638d29d40 TransformFeedbackTest: fix buffer read overrun
There were 5 floats there, but not 5 vertices (3x5 floats!). This
tripped the AddressSanitizer.

Bug: angleproject:6600
Change-Id: Ie3f96437b087b6ab897fdf451a90e9aac62c2403
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235905
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-10-22 19:58:58 +00:00