|
4d362242
|
2024-02-28T22:00:05
|
|
Vulkan: Remove call to angle::GetSystemInfo()
This function is expensive, especially when it creates a temp VkInstance
to query device info.
It was only used to check if running on a Pixel device, but the
information retrieved was to make a workaround slightly more precise.
This change does away with that information and applies the workaround
more generally.
If the workaround precision is necessary, the necessary information
should be retrieved directly without making the expensive
angle::GetSystemInfo() call.
Bug: b/327509734
Change-Id: Id097b427c59efde16a5811d484823b207c1a8917
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5331602
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
cdf6220c
|
2024-02-25T05:12:21
|
|
Reland "Vulkan: Feature addition for QCOM foveated rendering extensions"
This is a reland of commit 72cf9915f561ca6ca72fa4b6c84c36bba815bf29
In the reland, cache the sample counts as VkSampleCountFlags type
and clamp framebufferColorSampleCounts with kSupportedSampleCounts
Also evaluate supportsImagelessFramebuffer feature before evaluating
supportsFoveatedRendering
Original change's description:
> Vulkan: Feature addition for QCOM foveated rendering extensions
>
> Add a new vulkan feature gating support for QCOM foveated rendering
> extensions and cache shading rates and sample counts of Vulkan ICD.
>
> Bug: angleproject:8484
> Change-Id: Id2925541098a605749f93ad5a54c885f4a4a2c66
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5322317
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:8484
Change-Id: Ie831d27ecc0e1429a3fe365d7728f264496e234c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5328188
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a627dd89
|
2024-02-27T19:00:07
|
|
Revert "Vulkan: Feature addition for QCOM foveated rendering extensions"
This reverts commit 72cf9915f561ca6ca72fa4b6c84c36bba815bf29.
Reason for revert: Causing crashes on Win/NVIDIA
crbug.com/327027614
Original change's description:
> Vulkan: Feature addition for QCOM foveated rendering extensions
>
> Add a new vulkan feature gating support for QCOM foveated rendering
> extensions and cache shading rates and sample counts of Vulkan ICD.
>
> Bug: angleproject:8484
> Change-Id: Id2925541098a605749f93ad5a54c885f4a4a2c66
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5322317
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:8484
Change-Id: I45764d8119388fa2edb3e08825957fbc811b31a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5328729
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
72cf9915
|
2024-02-25T05:12:21
|
|
Vulkan: Feature addition for QCOM foveated rendering extensions
Add a new vulkan feature gating support for QCOM foveated rendering
extensions and cache shading rates and sample counts of Vulkan ICD.
Bug: angleproject:8484
Change-Id: Id2925541098a605749f93ad5a54c885f4a4a2c66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5322317
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
acba61cb
|
2024-02-23T17:13:17
|
|
Fix Vulkan driver version for Win/Intel
* Updated the Vulkan renderer version for Windows/Intel to follow this
format: <DriverMajor>.<DriverMinor>
Bug: b/326669051
Change-Id: I41e868820ec351f454589cc33ed66a85669d3790
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5321166
Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8c503c1b
|
2024-02-21T09:37:06
|
|
Add skip for 07753 validation error in trace
Running Pokemon Masters Ex game on Android generates the
validation error VUID-vkCmdDraw-format-07753.
Update the SkippedMessages list to avoid trace failures.
Test: angle_trace_tests --gtest_filter=*pokemon_masters_ex
Bug: b/319228278
Change-Id: I8ffbb8c6f35ef3fead583be1b8f0b96d85c7ea12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5313836
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
f546983c
|
2024-01-30T13:39:27
|
|
Add test and skip for 07753 validation error
Running Pokemon Masters Ex game on Android generates the
validation error VUID-vkCmdDrawIndexed-format-07753. This CL
adds the TexImageFormatMismatch test to reproduce the error
and updates the SkippedMessages list to avoid test failures.
Test: angle_end2end_tests --gtest_filter=*TexImageFormatMismatch*
Bug: b/319228278
Change-Id: I6ee2cac0bc899e945ef0d4aff33d5e73299c6954
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5309857
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
6607a2b9
|
2024-01-17T15:58:20
|
|
Vulkan: Add support for VK_EXT_vertex_input_dynamic_state
Hook into VK_EXT_vertex_input_dynamic_state so pipeline states
that differ only in vertex input state can reuse existing
pipelines.
Bug: angleproject:7162
Tests: StateChangeTestES3.Vertex*
Change-Id: Icd3134dee93fc5fc2e9d284fcfa8c674b62faec8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5207462
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2cae27c2
|
2024-02-14T10:38:18
|
|
Vulkan: Enable the doubleDepthBiasConstantFactor feature on NV
Experimentally found to make behavior more consistent with other
platforms. Discovered through a Dawn issue [1].
[1]: https://bugs.chromium.org/p/dawn/issues/detail?id=2076
Bug: b/249380591
Change-Id: I27777397d717da0d400b9e15508b17b5329e1e8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5296380
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5d9abeca
|
2024-02-06T16:24:34
|
|
Revert "Suppress VUID-VkGraphicsPipelineCreateInfo-dynamicRendering-06576"
This reverts commit 39b9d94750328ec33aad244ddf28d16d9e748b2d.
Reason for revert: Fixed upstream:
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/7439
Original change's description:
> Suppress VUID-VkGraphicsPipelineCreateInfo-dynamicRendering-06576
>
> VVL is still working on a fix for
> https://bugs.chromium.org/p/angleproject/issues/detail?id=8516#c2.
>
> Suppress the VVL error to unblock the vulkan-deps
> auto roller
>
> Bug: angleproject:8516
> Change-Id: I58a2593fe0bdde5d53e07ee68e6b83847cd41d37
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5263501
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:8516
Change-Id: Iec2a523e56040b2173489f26a38fe6df6fe1b609
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5273485
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
475784f5
|
2024-02-07T21:24:36
|
|
suppress VUID-VkPipelineVertexInputStateCreateInfo-pNext-pNext
Bug: angleproject:8522
Bug: b/324243941
Change-Id: I825986e7c98f50522d7ba25c0c78839802c42c3d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5277631
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Solti Ho <solti@google.com>
|
|
ef78e570
|
2024-02-07T20:52:19
|
|
Revert "Vulkan: disable warmUpPipelineCacheAtLink for Venus"
This reverts commit 0be59b3d83dd7b72daf2aab9d03702cfa46d4751.
Needed by GPL. Meanwhile, the prior jank issue with Dota Underlords has
been worked around separately.
Bug: b/323708819, b/267577845
Test: parallel shader warmup works with ANGLE-on-Venus
Change-Id: I61c63581b8c4e4c776842e7906e52d268e024ed2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5277630
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
39b9d947
|
2024-02-02T13:32:30
|
|
Suppress VUID-VkGraphicsPipelineCreateInfo-dynamicRendering-06576
VVL is still working on a fix for
https://bugs.chromium.org/p/angleproject/issues/detail?id=8516#c2.
Suppress the VVL error to unblock the vulkan-deps
auto roller
Bug: angleproject:8516
Change-Id: I58a2593fe0bdde5d53e07ee68e6b83847cd41d37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5263501
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1abfdc37
|
2024-01-31T10:24:51
|
|
Remove suppression of VVL error
Remove the suppression of VVL error
VUID-VkFramebufferAttachmentImageInfo-viewFormatCount-09536.
This change in ANGLE
https://chromium-review.googlesource.com/c/angle/angle/+/5246088
properly fixed the VVL error.
Bug: angleproject:7553
Bug: angleproject:8513
Change-Id: Ic866bae689a649fdabfde8e80a882595e2e7947c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5249864
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
349e75cc
|
2024-01-29T16:41:42
|
|
Suppress VUID-VkFramebufferAttachmentImageInfo-viewFormatCount-09536
After this VVL change:
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+/40d989c436d43538be341cd614a595505ce907cc,
the newly added VVL error starts to be thrown
on multiple ANGLE bots.
Suppress this VVL error to unblock the vulkan-deps
roller first. Will investigate later how to fix
the VVL error in ANGLE.
Bug: angleproject:8513
Change-Id: I7d74ff762c3b78d70c3ba5139c1b6955d4cd49e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5247713
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
3fdf576a
|
2024-01-26T14:37:42
|
|
Vulkan: Workaround Nvidia driver bug with OpSelect
Bug: angleproject:8503
Change-Id: I4bd2580056df3d970a1316d0dbeaaad7590aa947
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5237873
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
e9bd169c
|
2024-01-24T12:26:46
|
|
Vulkan: Fix nullptr in Diagnostics
- VK Spec for VkDebugUtilsMessengerCallbackDataEXT says
pMessageIdName may be nullptr and pMessage must not be a nullptr
- This was enforced by the following change
Vulkan: Don't crash on diagnostics with null pMessageIdName
- But this was susequently broken by the following change
Vulkan: Enable sync validation
- This change adds a check to skip accessing
callbackData->pMessageIdName if it is null
Bug: angleproject:5290
Change-Id: I82dd225d875e233530158013efc280e979f82a5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238650
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
a76e2798
|
2024-01-24T09:50:32
|
|
Suppress VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912
Blocking VVL roll, new check recently added in:
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+/6180ce40299b1346ee2caf4aa8b1540590e197e8
Bug: angleproject:8497
Change-Id: I40d600409ad0e9900c17fac9700ab4397be6c876
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5231423
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
341906d5
|
2024-01-22T10:19:25
|
|
Vulkan: Never delay device and queue selection
Previously, when multiple queue families where eligible, ANGLE delayed
the decision on which queue family to use and delayed device creation
until a window surface was created.
This assumption was never correct. The application may start rendering
to pbuffers or using EGL_KHR_surfaceless_context long before it creates
a window surface. So a queue may need to be chosen regardless of its
surface present capabilities. Once done, ANGLE has no mechanism to
change that queue should a window surface require a different queue.
This change drops the pretense to support multiple queue families
properly and makes ANGLE always choose the first graphics queue family
it encounters. So far, only MoltenVk seems to expose multiple graphics
queue families, and choosing the first one ultimately correct for the
purposes of presenting to a MacOS surface.
Bug: angleproject:8478
Change-Id: I8efbfe0c8036be5f9cee01eb657f83f85a4864fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5225081
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
16a5e8f1
|
2024-01-22T14:22:53
|
|
Revert "Prefer linear filtering for YUV for Pixel6+"
This reverts commit 0da6522524247d6a1cb88ab1b48a1801ee609991.
Reason for revert: Breaks an Android test b/321251332
Original change's description:
> Prefer linear filtering for YUV for Pixel6+
>
> This is required to pass CtsMediaDecodeTestCases.
> Narrowed to just Pixel6+ due to another issue (b/321903468) which
> prevents preferring linear filtering on Pixel4.
>
> Bug: b/315387961
> Change-Id: I6fbbea10a3b4fd835afbcdbecf120264d0ca8605
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5207870
> Reviewed-by: Charlie Lao <cclao@google.com>
> Commit-Queue: Chris Forbes <chrisforbes@google.com>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Bug: b/315387961
Change-Id: I4b055a9ffef9ed49992ea5568f723aaff53c7f1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5224900
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
0da65225
|
2024-01-18T10:29:23
|
|
Prefer linear filtering for YUV for Pixel6+
This is required to pass CtsMediaDecodeTestCases.
Narrowed to just Pixel6+ due to another issue (b/321903468) which
prevents preferring linear filtering on Pixel4.
Bug: b/315387961
Change-Id: I6fbbea10a3b4fd835afbcdbecf120264d0ca8605
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5207870
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2e2d7247
|
2024-01-11T11:50:44
|
|
Roll vulkan-deps from eb5fcf15ff7f to 124ff11a5e15 (21 revisions)
Skip VUID-VkImportMemoryWin32HandleInfoKHR-handleType-00658 added in:
https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/939e7c3fcbb75f71f0dfa999064c74f27a014189
https://chromium.googlesource.com/vulkan-deps.git/+log/eb5fcf15ff7f..124ff11a5e15
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/db4d6f85af..1952e63d43
* spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/cffc08a542..37a58e4c95
* spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/1bfd27101e..bdd1b2ab1f
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/e2b7bb1207..4c20ea3156
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/02f1cb7d55..6f441477e7
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 angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:8482
Tbr: cnorthrop@google.com
Change-Id: Iaa696787ae66ba44db591c18833d2b7261474c08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5185141
Reviewed-by: Solti Ho <solti@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
f7296e95
|
2023-12-29T10:01:26
|
|
Roll vulkan-deps from 1fd0038f3bbb to 7f90849f10d0 (6 revisions)
Skip VUID-VkImportMemoryFdInfoKHR-handleType-00667 added in
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/7199/commits/cebf29d9587aad38acf52351d4b6225e7c1d032f
https://chromium.googlesource.com/vulkan-deps.git/+log/1fd0038f3bbb..7f90849f10d0
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/89824a83b7..88c5373ee4
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/741a9dfd8f..a3b11f1fcc
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e3d690bb54..98dea76972
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 angle-team@google.com,syoussefi@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:8470
Change-Id: Iba9e9dae398a753fd9675e5b68551abe2dfc0c46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5155494
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Solti Ho <solti@google.com>
|
|
d18f22ca
|
2023-12-14T11:50:19
|
|
ANGLE: Update syncval exceptions and add test for syncval errors
Trace testing found some new cases where the current sync val
error messages needed to be widened to cover more cases. A test
was added to reproduce the behavior seen in the Asphalt 9
ANGLE trace.
Test: FramebufferTest.InvalidateAttachmentStencilOnly
Bug: b/316337308
Change-Id: Icde7ad560e6949712bfd785d9969b9e179d11492
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5124314
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
e15a7de3
|
2023-12-21T10:01:41
|
|
Roll vulkan-deps from 9c3a33aed0ec to 34a8babeb440 (5 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/9c3a33aed0ec..34a8babeb440
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/c155f881ee..abb79089a8
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/40633a61aa..3798f68b73
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/b42addf414..e21dc3deb0
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/ea496a3de8..8095b050f9
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 angle-team@google.com,geofflang@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://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:8468
Change-Id: Icf23d4056b1f9a6caae2483125841bc6aefe3a8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5144390
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
13685465
|
2023-12-20T15:39:24
|
|
Vulkan: Don't request surface extensions without VK_KHR_surface
... on headless platforms.
Bug: angleproject:8467
Change-Id: Id0032ddd9f57540719d90f58b7d99cfb79f91a8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5142626
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e9c0241d
|
2023-12-19T10:23:13
|
|
Vulkan: Rely on Vulkan 1.1 entry points in tests
Some KHR entry points that were promoted to Vulkan 1.1 no longer seem to
be loadable with their KHR symbols.
Bug: angleproject:8464
Change-Id: Id5417e5b047e6bd34d144fead518f771c17658e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5135676
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6951508b
|
2023-12-19T19:30:05
|
|
Manual roll vulkan-deps from de368ee1bf18 to 06ba2decfb32 (1 revision)
Manual roll requested by ynovikov@google.com
Suppress SYNC-HAZARD validation errors in vkQueueSubmit(), enabled by
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/7129
https://chromium.googlesource.com/vulkan-deps.git/+log/de368ee1bf18..06ba2decfb32
Changed dependencies:
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/eebe1dfcef..0c6e58c7f0
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 angle-team@google.com,geofflang@google.com,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://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: b/316013423
Change-Id: Id63a3ddd4615f8a520b68588db4520d30a687598
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5137081
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
80db7c4b
|
2023-10-17T10:03:06
|
|
Vulkan: Remove fixed VU suppressions
Bug: angleproject:5309
Bug: b/175584609
Change-Id: I8f952a1feb235b6bd060b5fe0b89c01fde6f84be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4946592
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1e4c4c76
|
2023-12-18T19:35:13
|
|
Vulkan: avoid disabling explicitlyCastMediumpFloatTo16Bit for venus
We disabled it to work around below legacy skia cts:
CtsSkQPTestCases org.skia.skqp.SkQPRunner#gles_gradient_many_stops
The test no longer exists in newer skia cts. Meanwhile, we have to drop
the workaround for other precision issue on Mali-G52.
Bug: b/316474995
Test: dEQP-GLES2.functional.shaders.algorithm.rgb_to_hsl_vertex
Change-Id: I18394595632d05657e96f8b9c9675b4dd959d92b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5133372
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Yiwei Zhang <zzyiwei@chromium.org>
|
|
40f4de8f
|
2023-12-15T10:17:32
|
|
Vulkan: Ensure we use cached memory for readPixels stagingBuffer
Previous CL crrev.com/c/5112759 does not solve the performance issue for
ChromeOS. The reason is that on more recent intel GPU, there is no
hostVisibleCachedCoherent heap. When we allocate staging buffer, we
specify CachedCoherent as the preferredFlags instead of requiredFlags.
This means we still end up getting UncachedCoherent since VMA tries to
respect coherent bits as first priority. This CL Changes CachedCoherent
to CachedPreferCoherent, and made Cached as required bit, thus ensures
the memory allocated is cached. Since coherent bit may not be honored,
thus we have to call invalidate/flush (which underline implementation
will check the bit and early out if no need).
Somehow on ARM GPU using cachedNonCoherent staging buffer causing many
test failures, even though we do call invalidate() after allocation, and
tests pass on all other GPUs. It almost indicates ARM driver have a bug
with invalidate() that it is not doing expected. But before I can be
sure and fixed, I added feature bit to keep ARM the old behavior, which
uses UnCached memory for readPixels which should suffer the performance
as well.
Bug: b/315836169
Bug: b/310701311
Change-Id: I1eec6105ce74275faa893b0206be8470f0cde72f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5122318
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3439e421
|
2023-12-15T11:37:53
|
|
Vulkan: Remove AHB workaround for camera app
This is now fixed in camera app main branch. The workaround is removed
here.
Bug: b/239181279
Change-Id: I782baf7a42a8c9a897f1947d8b2f6feba606ce29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5126931
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
524bcb8e
|
2023-12-13T20:21:38
|
|
Vulkan: avoid forcing preferSubmitAtFBOBoundary with Venus
It turns out benefiting Venus atop ARM while hurting in a non-trivial
way on old Gen Intel due to execbuf overhead.
Bug: b/314847707
Test: 2%+ gain for trex on ANV on CML
Change-Id: I61eb18a05e94c97ee6a4d70f98ae30423155e632
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5118128
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c8604e97
|
2023-12-13T19:48:16
|
|
suppress VUID-VkVertexInputBindingDivisorDescriptionKHR-divisor-01870
Unblock the autoroller first
Bug: angleproject:8454, b/316176944
Change-Id: I7f692a81e7a8b0189f83ce6f00e0cec6e2d7e2b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5118126
Commit-Queue: Solti Ho <solti@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
de591cff
|
2023-12-11T13:15:30
|
|
Vulkan: Add CachedCoherent staging buffer
Right now if we allocate a coherent staging buffer, it always uncached.
I believe the reason it picked uncached is that most usage for staging
buffer is data flow from CPU to GPU. CPU only sequentially write into
staging buffer. Uncached may has better performance here due to write
combined. But this performs horrible if CPU ever read from it. This CL
adds a CachedCoherent staging buffer and let staging buffer use that for
coherent memory. UncachedCoherent is currently not used, but I still
kept here in case we find regression for certain type of usage.
Bug: b/315836169
Change-Id: Ica331914c1f4729baa9d2eab048dc3099a2887b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5112759
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
fb6b960c
|
2023-11-27T14:24:28
|
|
Remove GL_CHROMIUM_texture_filtering_hint
This was using an unregistered Vulkan extension to set the precision of
SwiftShader's internal filtering for the sake of Chrome. That's baked
in at build instead.
Bug: angleproject:8349
Bug: chromium:726075
Change-Id: I12849d2d29d99626f22a92ee9d74366f78658476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5063344
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
90767546
|
2023-12-01T12:27:15
|
|
Vulkan: Add test for __samplerExternal2DY2YEXT then swizzle
Added a correctness test
SourceYUVTextureTargetExternalRGBSampleYUVSampleWithSwizzle for applying
swizzle after sampler.
Also removed some bug workaround for VVL and drivers since they are
fixed now.
Bug: b/309480316
Change-Id: If82b2251745a96335b535c67b6e0c0847268b25b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5080497
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3680a5dc
|
2023-11-17T13:51:07
|
|
Vulkan: Let program warmup continue passed link
The warmup task does not actually affect the link results, so there is
no reason to wait for it when the application queries the link status.
This change allows the warm up task to continue in parallel until the
program is used at draw time. This allows the warm up to be more
efficient when the link itself is not parallelized.
For applications that create programs in the middle of every frame, it's
still likely best to disable warm up (as the following immediate draw
will already effectively do the warm up).
Note that currently the warm up code in the Vulkan backend is not
completely thread-safe, and so the program still blocks on that task
before the first draw can happen (or the program is modified in any
way).
Bug: angleproject:8417
Change-Id: I0877fef39a0585c3279e32699ce817d4643d7cd6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5037538
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d842f3db
|
2023-11-29T06:53:58
|
|
Vulkan: add a disableSeparateShaderObjects feature
Dota Underlords uses one PPO and keeps swapping the attached program.
Though we get cache hit, the hundreds pipeline creation calls still
amount to non-trivial CPU overhead via ANGLE. The use of SSO has been
disabled by the app in certain cases, and this feature is added to
support entirely disabling SSO in ANGLE on all Vulkan backend impls.
Bug: b/309028728
Test: Dota Underlords easily hits target FPS on ANV and RADV
Change-Id: I54532975237218563b8750f1878a83e386fe776d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5073414
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f7eb7efb
|
2023-11-28T11:20:57
|
|
Vulkan: Fix camera panorama hang
When EGL attributes does not speficy color space, right now we pick
VK_COLOR_SPACE_SRGB_NONLINEAR_KHR. This overwrites the color space
people set via ANativeWindow. This causes camera goes into CSC
conversion and errors out and stops media codec pipeline and causes
camera to hang. This CL enables mapUnspecifiedColorSpaceToPassThrough
feature flag for all platform that supports VK_EXT_swapchain_colorspace
so that it will pick VK_COLOR_SPACE_PASS_THROUGH_EXT and vulkan
swapchain code will try to keep whatever color space surface already
has. The feature flag is still kept here in case there is regression and
we need to experiment this feature flag again. We can remove it once
everything settles down.
This CL also adds updateColorSpace() and getActualFormatID() to
de-duplicate the logic of R8G8B8_UNORM overriding and use of
VK_COLOR_SPACE_PASS_THROUGH_EXT.
Bug: b/309480316
Bug: b/302196568
Change-Id: I0952fe78c2bfd59446391c553745b2b5cb152a9d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5066801
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
333e3a9c
|
2023-11-28T12:12:44
|
|
Re-add VUID-vkDestroySemaphore-semaphore-01137 temporarily
To unbreak ANGLE-> Chromium swangle..
https://crrev.com/c/5066784
Bug: angleproject:7729
Change-Id: Ic7aaa10540cb9c6581872c9709b2d329eae4b8f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5067854
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
233b6675
|
2023-11-28T12:48:17
|
|
Roll vulkan-deps from e892a337898c to 47125179fa7d (24 revisions)
VVL renamed
VUID-vkDestroySemaphore-semaphore-01137
->
VUID-vkDestroySemaphore-semaphore-05149
https://chromium.googlesource.com/vulkan-deps.git/+log/e892a337898c..47125179fa7d
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/153064f2c7..b820431a2c
* spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/42299f92ef..50e90dd74e
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2a238ed24d..7d2a618bf9
* vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/7d92fe7b68..9d27c893cd
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/0e7cf57a29..b00cb455c4
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/9ef6c05af3..98d168c168
* vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/228f7487dd..1fb77ad1d4
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/4d7cdcc223..e00625d685
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 angle-team@google.com,romanl@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:7729
Tbr: romanl@google.com
Change-Id: I8268b3532b78aa4362e632ae68f335b6808966e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5066853
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
170ba8c9
|
2023-11-16T19:45:35
|
|
Vulkan: Workaround depth bias constant factor on RADV
Both ANV and RADV need the same workaround. Improve IsRADV to support
Venus-over-RADV.
Also "git cl format" to make presubmit happy.
Bug: b/308835020
Test: dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units
Change-Id: Ibbad4d09f12df419e38aff1365d37d55ca326532
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5040097
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Chia-I Wu <olv@google.com>
|
|
cea3775c
|
2023-11-02T15:41:06
|
|
Vulkan: Suppress VU Undefined-Value-ShaderOutputNotConsumed
Bug: angleproject:8401
Change-Id: I3b561ec98090cf1c0050f113db96ea0c6c79d785
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5002728
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
12cc04d0
|
2023-11-07T10:26:18
|
|
Vulkan: Workaround camera AHB's layerCount being random value
We are seeing AHB used by google's camera app has random value in the
layerCount. In my reproduced case, it is 0, which translates to
layerCount in the VkImage. Sometimes I am also seeing a huge number in
the layerCount as well. This causes problem in ARM driver that end up
with assertion and other problems that end up with crash later. We need
to root cause the underlying bug which is tracked by b/239181279. But
before we have an actual fix in AHB creation code, this CL forces
com.google.android.GoogleCamera AHB's layerCount to be 1 as a temporary
app specific bug workaround so that we can move forward to get camera
app up running with ANGLE.
Bug: b/309480316
Bug: b/239181279
Change-Id: I219f6f89863a2cb8dee6c5efb0812389272373ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5010082
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
0584ffd8
|
2023-11-06T16:34:13
|
|
Unsuppress VUID-VkGraphicsPipelineCreateInfo-pStages-00739
Possibly was due to a VVL bug
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/6717
Bug: b/303219657
Change-Id: Ic9a6e7b45fb42572af04f94382906cd6f0f512df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5008042
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
e7ce481f
|
2023-11-01T22:44:22
|
|
Consolidate parallel compilation in front-end
This cleans up the multiple compilation task implementations in the
backends and consolidates them in the front-end. The front-end is then
able to do the compilation in an unlocked tail call instead if
desired (in a future change).
This change is in preparation for having the program link tasks directly
wait on the shader compilation tasks. As a result, the "shader resolve"
should not be needed to access the shader compilation results; it should
be enough to wait for the compilation job. This change therefore moves
post-processing of results to the compilation job itself as they did not
need to actually be done after compilation is done (merely after
translation is done). As a side effect, shader substition and other
debug features should now work for the GL backend as they are now done
before back-end compilation.
Bug: angleproject:8297
Change-Id: Ib9274b1149fadca7545956a864d6635b6cba5c3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4994655
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
146a01ea
|
2023-11-03T15:49:30
|
|
Vulkan: Do not pad pipelineCacheData with zeroes
Instead of padding, reduce buffer size to the one returned from
`pipelineCacheData`.
Padding `pipelineCacheData` with zeroes in cases when
`vkGetPipelineCacheData()` returns less data then requested, may
invalidate the entire buffer. Next time padded buffer is used in
`vkCreatePipelineCache()` call, it may be rejected as invalid.
I have checked the above by deliberately increasing `pipelineCacheSize`
by 42 before `vkGetPipelineCacheData()`. After zeroing these 42 bytes,
I passed padded buffer to the `vkCreatePipelineCache()`. Result was
successful, however resulting cache size was always 52 bytes instead
of the expected `pipelineCacheSize`.
Bug: angleproject:2516
Change-Id: Ia1668ca96fc54e9b818ba0c8441e27c9dc2aedc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5002451
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
0a8a7c2b
|
2023-11-02T13:52:03
|
|
Vulkan: Remove rx::WaitableCompressEvent class
The `WaitableCompressEvent` class is a left over from the old code and
currently serves no purpose.
Change that made class obsolete:
Vulkan: Sync pipeline cache only when truly changed
https://chromium-review.googlesource.com/c/angle/angle/+/3668835
Removal of `WaitableCompressEventImpl` fixes problem, that
`CompressAndStorePipelineCacheTask::mCacheData` was not destroyed until
next time we assign the `mCompressEvent`. So basically, most of the
time we had `mCacheData` allocation wasting memory.
After this change, `mCacheData` will be deallocated as soon as the task
finishes. Deallocation will happen in the async thread, saving some CPU
cycles on the main thread.
Bug: angleproject:4722
Change-Id: I9e8826e10535d7f6d844a0043704bd35838a0e02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5001430
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
221117ab
|
2023-11-02T08:48:51
|
|
Tests: Add The Sims Mobile trace
Test: angle_trace_tests --gtest_filter=TraceTest.the_sims_mobile
Bug: b/308927628
Change-Id: I5de44b7eedb904c318168fbc7e308af218dc5ab1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5002145
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
053aa915
|
2023-11-01T12:01:27
|
|
Vulkan: Disable VK_EXT_graphics_pipeline_library on RADV
Causes crashes in the driver.
Bug: chromium:1494778
Bug: chromium:1497512
Change-Id: I0a9a74d8d77c48744ce9a62d27f48120209d1476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4995274
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
c6dc00d2
|
2023-10-31T11:50:40
|
|
Manual roll vulkan-deps from 69081d0e32f7 to e55b4f78bcf3 (110 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/69081d0e32f7..e55b4f78bcf3
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/7fa0731a80..f8dd5adde4
* spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/2de1265fca..637cff3d05
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/73876defc8..4f014aff9c
* vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/f4bfcd8852..aff5071d4e
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/131a081e08..1ddcde3c55
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/f7017f2333..116b6b1513
* vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/dcfce25b43..5b3147a535
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/cc1e12c6fc..c27900222c
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 angle-team@google.com,syoussefi@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Change-Id: I0c94d5f8e6d5b4c42186c063052f824c5cb5a3df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4995264
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eca38a10
|
2023-10-26T11:02:38
|
|
Vulkan: Supress new DrawNone VVL errors
Errors:
VUID-vkCmdDraw-None-09000
VUID-vkCmdDrawIndexed-None-09002
Bug: angleproject:8394
Change-Id: If43390e837df088ba7a6d0c7eb5947927ad186d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4979786
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
6188c0a6
|
2023-10-23T16:47:10
|
|
Unsuppress VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912
VUID removed in
http://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/5941
Bug: chromium:1420265
Change-Id: I8e3b9462df5e250c97c6bff02635cd28fec2a4e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4967241
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
d2de7451
|
2023-10-19T14:10:44
|
|
Vulkan: Fix VK_android_external_format_resolve VVL error part 5
Fix assertion in RendererVk::getFormatFeatureBits(). When formatID is
external format, we can not use vkGetPhysicalDeviceFormatProperties to
get the formatFeature (since VkFormat is undefined). To fix this, we
keep the formatFetaure that returned from AHB in the
ExternalYuvFormatInfo and use that in getFormatFeatureBits() if it is
external format.
This also fixes the VVL error VUID-VkImageCreateInfo-pNext-02396: The
Vulkan spec states: If the pNext chain includes a
VkExternalFormatANDROID structure whose externalFormat member is not 0,
flags must not include VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT
Bug: b/223456677
Change-Id: I625c2bf4fe534fa206918b16772ac3ac7c6fa79a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4956117
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
fce367c9
|
2023-10-18T11:36:59
|
|
Vulkan: Fix VK_android_external_format_resolve VVL error part 2
VUID-VkFramebufferCreateInfo-flags-03201 The Vulkan spec states: If
flags includes VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, the usage member of
any element of the pAttachmentImageInfos member of a
VkFramebufferAttachmentsCreateInfo structure included in the pNext chain
that refers to an attachment used as a color attachment or resolve
attachment by renderPass must include
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT. The bug here is that when we create
VkImage for AHB for rendering, we specify mUsage as Sample. This CL adds
COLOR_ATTACHMENT if it supports resolve.
This CL also adds VkAndroidHardwareBufferFormatProperties2ANDROID format
query for debug logging.
VUID-VkImageViewCreateInfo-usage-08931 is temporary added to skip list
due to ARM driver bug. The bufferFormatProperties returned does include
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT. Will remove once driver is
fixed.
Bug: b/223456677
Change-Id: Ibccf5f19975654fd94b00ae10e15ac986f7866dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4952962
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
05c5cef0
|
2023-10-17T21:16:52
|
|
Manual roll vulkan-deps from 68a0a794aa0a to 92b29883afea (1 revision)
Manual roll requested by solti@google.com
https://chromium.googlesource.com/vulkan-deps.git/+log/68a0a794aa0a..92b29883afea
Changed dependencies:
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/7ef2b9a6bb..deb215c083
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 angle-team@google.com,solti@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://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: b/306178740
Tbr: solti@google.com
Change-Id: I1060b8e021e28e70ca11305dc60a8fa8462e1eff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4950550
Commit-Queue: Solti Ho <solti@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
cfc40d2b
|
2023-07-19T17:47:13
|
|
Vulkan: Adjust clear color precision for GL_RGB5_A1 FBO
When clear color has more precision than the framebuffer
format can hold, dithering is automatically applied on
some hardware.
This issue causes below dEQP tests to fail when the FBO
color attachment format is RGB5_A1:
KHR-GLES31.core.draw_buffers_indexed.color_masks
KHR-GLES32.core.draw_buffers_indexed.color_masks
Adjust the clear color precision for RGB5_A1 format to
workaround the issue.
We can remove this workaround once the vulkan driver
fixes the auto-dithering problem.
Bug: b/292282210
Change-Id: Ic3ffebd2d20c8782612619a60d1ec2cc6d613c22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4937472
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
cc61dded
|
2023-10-17T13:21:14
|
|
Vulkan: Remove fixed VU suppressions
Bug: angleproject:2866
Bug: angleproject:4928
Bug: angleproject:5027
Bug: angleproject:7843
Bug: angleproject:8076
Bug: b/175584609
Change-Id: I1a3ccdc92be73874e7599961bae2a0e8c7497b1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4947653
Commit-Queue: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
0be59b3d
|
2023-10-17T17:31:05
|
|
Vulkan: disable warmUpPipelineCacheAtLink for Venus
The same cache miss is seen on MESA ANV and MESA RADV drivers. Together
with already disabled ARM drivers, we'd disable for Venus as a whole for
monolithic pipelines. This won't affect later Venus GPL enablement on
supported host drivers like ANV and RADV.
Bug: b/299532942
Test: affected title is semi-playable
Change-Id: Iaec0d43b15b64b6b74dfa68021f8a5f2fe6cca8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4948694
Commit-Queue: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
58ffa778
|
2023-10-11T09:41:23
|
|
Vulkan: Implement YUV_TARGET use VK_ANDROID_external_format_resolve
This implements EXT_YUV_TARGET using VK_ANDROID_external_format_resolve
extension.
This CL is based on Chris Forbes's CL on android gerrit.
Bug: b/223456677
Change-Id: Ieb6970a0787b0c2a72a76b208695a678d2c79e80
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4857459
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
57fcee54
|
2023-10-11T14:48:53
|
|
Vulkan: Add feature flag for externalFormatResolve
This CL adds supportsExternalFormatResolve feature flag and enable the
vulkan extension if existed.
This CL is split from Chris Forbes's CL on android gerrit.
Bug: b/223456677
Change-Id: I731f35dc629c12c7290c6ed24ff54967e2e4eab7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4932592
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
|
|
90dd58a2
|
2023-10-04T11:54:22
|
|
Vulkan: Reduce mGarbageMutex lock contention
Right now mGarbageMutex is used to control access to mSharedGarbage,
mPendingSubmissionGarbage, mSuballocationGarbage,
mPendingSubmissionSuballocationGarbage and mOrphanedBufferBlocks. Some
times garbage clean up does take a bit longer time, especially on some
VM platforms. This some times causes lock contention between main render
thread and background garbage clean up thread, which defeats the benefit
of having garbage clean up in the background thread. This CL utilizes
angle::FixedQueue for garbage list so that enqueue and dequeue can be
concurrent, which avoids this lock contention.
Bug: b/302739073
Change-Id: I44b2b0e7f9f5ef438266fa277b24a2cb1606e689
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4899299
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Hailin Zhang <hailinzhang@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
2608c622
|
2023-10-06T13:32:49
|
|
Vulkan: Refactor SharedGarbageList into templated class
This CL mostly involves non-functional changes to prepare for next CL.
No behavior change is expected.
This CL wraps the garbage list into its own templated class which
maintains std::queue and tracks number bytes in the queue etc.
This CL also renames SharedBufferSuballocationGarbageList to
BufferSuballocationGarbageList to reduce verbosity a bit.
This CL deleted GarbageAndQueueSerial and GarbageQueue since they are no
longer being used.
This renames vk::GarbageList to vk::GarbageObjects to reduce name
confusion with SharedGarbageList.
Bug: b/302739073
Change-Id: I7370c147847ffe69ad8aa3b48251d8b5762f97f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4919816
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Hailin Zhang <hailinzhang@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
adb17c80
|
2023-10-06T10:39:17
|
|
Vulkan: Copy 3D<->2DArray images with vkCmdBlitImage anyway
Despite the validation error, do the copy with vkCmdBlitImage anyway.
Drivers seem to work correctly, and the validation restrictions seem
unintentional.
Bug: angleproject:7291
Change-Id: Ie7a0ecfe559be44738da3eada281ea97424b38ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4916359
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3d75b794
|
2023-10-04T11:10:34
|
|
Vulkan: enable preferSubmitAtFBOBoundary for Virtio-GPU Venus
Now we see perf gain for the concerning title Asphalt 9 with
ANGLE-on-Venus even for low end devices. So enable this by default for
Venus since it mitigates 3DMark Sling Shot Physics score regression.
Bug: b/302230555
Test: top app affected by the feature and 3DMark
Change-Id: I2e115e022eb085a3dc693378fe2f0a960890b7d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4911958
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
f8f98477
|
2023-10-04T12:54:06
|
|
Suppress VUID-VkRenderPassBeginInfo-renderPass-00904
Getting a lot of these, for example:
dEQP-GLES31.functional.blend_equation_advanced.basic.multiply
Bug: b/303441816
Change-Id: I78bf5c0e34bb65f349c71f324ea1c71ae8b416e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4911799
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
276e0c78
|
2023-10-04T12:42:23
|
|
Also suppress VUID-VkGraphicsPipelineCreateInfo-pStages-00739
dEQP-GLES31.functional.primitive_bounding_box.points.*
are hitting this one
Bug: b/303219657
Change-Id: I26ae20ce6feeb84019488689667fa66fb7ca2925
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4911798
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
43abae13
|
2023-10-04T10:49:44
|
|
Suppress VUID-VkGraphicsPipelineCreateInfo-pStages-00738
Bug: b/303219657
Change-Id: Ibc23ccc700b15c351b2d7ab644bd8fc28bc07dcf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4911795
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
ffb32380
|
2023-10-02T16:01:37
|
|
Vulkan: Fix device creation on multi-queue devices
When multiple eligible queue families are exposed by the device, ANGLE
defers devices creation until a surface is made current, at which point
it selects a queue family that supports presentation to that surface.
This path was largely untested and was broken:
- Some post-device-creation initialization was not deferred until the
device was actually created
- Some cap calculation depended on the chosen queue family index
- Query of device capabilities was done too late, such that ANGLE could
not correctly determine the level of support for ES versions.
Bug: angleproject:8300
Change-Id: I2a35396d1fd08ed26d217dff07d10e9a9c1ac55f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4907895
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
75409184
|
2023-10-03T18:57:42
|
|
Revert "Add VMA version to logcat"
This reverts commit 92218933df79a4427b9bd29d0b7af892108e410e.
Reason for revert: VMA 3.0 usage is confirmed. Log can be removed.
Original change's description:
> Add VMA version to logcat
>
> This is a temporary CL. It will be used to confirm that Android
> uses VMA 3.0 with ANGLE as the default driver.
>
> * Added the VMA version log when the renderer is being initialized.
>
> Bug: b/295208838
> Change-Id: I054a4e0e080aa5d06533bd7785eea608e14bba39
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4868086
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: b/295208838
Change-Id: If1b9883c02c78121ff72601b650ac04aef685527
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4909899
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
5ab344be
|
2023-09-28T17:26:29
|
|
Remove old VUIDs after renaming
Some of the VUIDs were renamed in a recent VVL roll. The new VUIDs
for those that were skipped were also added to the list in a prior
fix CL.
After the related VVL change and the fix also rolled into Chromium,
the old VUIDs can be safely removed from the skip list.
* Removed the following VUIDs from the skip list
* VUID-VkBufferViewCreateInfo-buffer-00934
* VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00428
Bug: angleproject:8358
Change-Id: I63474cb36408637be8a60def9add1f77c48e9c93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4903984
Reviewed-by: Roman Lavrov <romanl@google.com>
Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
621bee25
|
2023-09-27T22:07:24
|
|
Manual roll vulkan-deps from b8fa58ef74a9 to 89aea904c65f (61 revisions)
Manual roll requested by abdolrashidi@google.com
* Updated the skipped VVL messages in accordance with the following
vulkan-deps roll: Vulkan-ValidationLayers to 9fe2f727
https://chromium.googlesource.com/vulkan-deps.git/+log/b8fa58ef74a9..89aea904c65f
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/4c57db1595..2bfacdac91
* spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/5e963d62fa..6e1fb9b09e
* spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/fc7d246276..79743b899f
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/a40483d313..48c97c1311
* vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/4f51aac14f..df60f03168
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/9dc0e31574..f352069ad3
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/1ecbed6db3..576f3286e1
* vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/6774c9b24b..8486ee700e
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/c26ff51102..1b8b09b3ab
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@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:8358
Tbr: abdolrashidi@google.com
Change-Id: I7927abe872fbb1d25523b06cc205b13ef2a887f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4898000
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
7cacb537
|
2023-09-26T11:27:49
|
|
Limit the uncompressed data size when decompressing blobs.
If the data in the blob cache is invalid for any reason, ANGLE will
take the last 32 bits of it an interpret it as a size for
decompressing the blob. Add some reasonal upper bounds on the
decompressed data size so that if the data is invalid it will simply
fail decompression instead of allocating giant buffers.
Bug: chromium:1485277
Change-Id: Ifb807f5ea836b692f37734b20789f5daefcca5c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4887599
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
97a48912
|
2023-09-26T10:31:58
|
|
Turn is-link-thread-safe feature into a positive condition
Chrome's --disable-gpu-driver-bug-workarounds currently sets every
feature to false, which breaks the GL backend.
Bug: angleproject:8297
Change-Id: I284d0699e356d7c1a362eb992cdc0d052f9ea7c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4887598
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9fc3baf5
|
2023-07-26T10:29:13
|
|
Add the missing GraphicsPipelineDesc legacy dither bit update
When the app calls glEnable(GL_DITHER) or glDisable(GL_DITHER),
we need to update the legacy dither bit of the renderpass that
belongs to ContextVk::mGraphicsPipelineDesc. If not, there is a
change that the graphics pipeline will be created with a
renderpass that has outdated legacy dither bit. This results
the dither being applied to the render results incorrectly:
e.g. the app calls glDisable(GL_DITHER),
but the render results have dithering applied.
Bug: b/286921997
Bug: b/292282210
Bug: b/293349058
Bug: b/284462263
Change-Id: Ie24b95898526c9021be6e3cb7620e4050f9faaaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4722446
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
c8e16b07
|
2023-09-18T12:00:57
|
|
Vulkan: Ignore VVL errors from GOOGLE extension
We're seeing VUID-VkSamplerCreateInfo-pNext-pNext fire
when rolling vulkan-deps.
It is complaining about an unknown VkStructureType (1000264000)
The type is implemented by VK_GOOGLE_sampler_filtering_precision,
which is a private extension.
We can ignore this VVL error.
Bug: angleproject:8349
Change-Id: Ie424458873192b668371d8215dadf9788479f8dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4874597
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a1f52f1b
|
2023-09-07T14:44:24
|
|
Vulkan: Flush pending image garbage more often
* Added a counter to the context object to keep track of the size of
the pending image garbage: mEstimatedPendingImageGarbageSize.
* Modified hasExcessPendingGarbage() to use the sum of the size of
the image and and suballocation garbage.
* RendererVk::calculatePendingGarbageSizeLimit() provides the limit.
* Currently the limit is based on the available heap sizes. It will
use a fraction of the largest memory heap size.
* The portion is currently kGarbageSizeLimitCoefficient = 0.2f.
* Unskipped the test "TextureDataInLoopManyTimes", which was failing
on Android devices.
Bug: b/280304441
Change-Id: Ibcced1d118ea8a1f347028b62d29cfbd9e38e8c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851252
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
27896999
|
2023-08-16T16:44:22
|
|
Vulkan: Flush pending suballoc garbage more often
* Added a counter to the renderer object to keep track of the pending
suballocation garbage.
* mPendingSuballocationGarbageSizeInBytes
* Once it surpasses a limit (mPendingSuballocationGarbageSizeLimit), it
will flush the context so the pending garbages can be freed.
* Currently the limit is based on the available heap sizes. It will
use a fraction of the largest memory heap size.
* The portion is currently kGarbageSizeLimitCoefficient = 0.2f.
* At the end of the render pass, it is checked if the limit has been
reached. If so, context flush will occur.
Bug: b/280304441
Change-Id: I08e6028cfe20059ece2b2e4e971ece897544cd6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4787950
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
d62db89e
|
2023-09-18T13:30:54
|
|
Vulkan: Disable VK_EXT_host_image_copy on Fuchsia
An old version of VVL is used, causing incorrect failures.
Bug: angleproject:8341
Change-Id: I0fc605616671343a49fed6ff02ecd67eea672dca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4873440
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
b2e6a196
|
2023-09-11T15:27:20
|
|
Vulkan: Use VK_EXT_host_image_copy for texture uploads
Of all the scenarios where host image copy may be useful, this is likely
the most common case. There are numerous conditions for when the copy
may be done on the host:
- The image format must support it,
- It must be unused by the GPU,
- It must not have any pending updates (this can potentially be
mitigated if needed), and
- It must be in a host-copyable layout.
However, many texture uploads are done:
- To compressed formats, where support is highly likely,
- On init, where:
- the image is never previously used,
- the image has no previous uploads
- the image is in the UNDEFINED layout
which satisfies the conditions above.
As a result of this change, when the upload is done on the host,
creation of a temp buffer is avoided which greatly reduces memory
pressure (specially during app loading which is when most texture data
is uploaded) and may even improve performance (due to avoiding a double
copy).
Testing the first 3 frames of the following traces with a SwiftShader
implementation shows the amount of buffer allocated for staged uploads
changed as such:
- Black Desert: 185MB -> 65MB
- Genshin Impact: 125MB -> 12MB
- Asphalt 9: 138MB -> 0MB
Bug: angleproject:8341
Change-Id: Id71dcc4a7a0f8b67960d2d283fe9d19ce7429a03
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4856676
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
92218933
|
2023-09-15T10:33:49
|
|
Add VMA version to logcat
This is a temporary CL. It will be used to confirm that Android
uses VMA 3.0 with ANGLE as the default driver.
* Added the VMA version log when the renderer is being initialized.
Bug: b/295208838
Change-Id: I054a4e0e080aa5d06533bd7785eea608e14bba39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4868086
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
ffd6ec26
|
2023-09-07T15:39:19
|
|
Reland "Make egl surface uncurrent when being destroyed"
This relands commit 497440cdcb7d2ee59bca612dd07fc13cf09a6a57.
This is to workaround errors when app does below behaviors:
1) while there is a context still bound to the current
rendering thread and the surface, call eglDestroySurface()
2) create a new surface eglCreateWindowSurface()
3) call eglMakeCurrent() with the surface created in step 2)
4) does work on the new surface
The old surface won't be destroyed in step 1) because
it was still bound by the context of the current rendering
thread. When creating new surface on step 2), some hardware
will return error code EGL_BAD_ALLOC, because the old egl
surface is still associated with the native window.
To workaround, when destroying surface, if the surface
is still bound by the context of the current rendering
thread, release the context and surface by passing
EGL_NO_CONTEXT and EGL_NO_SURFACE to eglMakeCurrent().
The workaround is controlled by a frontend feature
uncurrentEglSurfaceUponSurfaceDestroy. This feature
is only enabled on vulkan backends.
Bug: b/292285899
Change-Id: Id4c47f1b20e0f90d1013a68893fd70e917c030e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4867066
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
b4852ef9
|
2023-02-08T14:18:06
|
|
Vulkan: Drop support for Vulkan 1.0
Bug: angleproject:7959
Change-Id: Ib673679ea1a503af22b37092dbff1ee1fd34fba6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4233092
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
8a7ad933
|
2023-09-13T15:11:46
|
|
Revert "Make egl surface uncurrent when being destroyed"
This reverts commit 497440cdcb7d2ee59bca612dd07fc13cf09a6a57.
Reason for revert: this caused chromium webview tests failures: https://chromium-review.googlesource.com/c/chromium/src/+/4860891.
Original change's description:
> Make egl surface uncurrent when being destroyed
>
> This is to workaround errors when app does below behaviors:
>
> 1) while there is a context still bound to the current
> rendering thread and the surface, call eglDestroySurface()
> 2) create a new surface eglCreateWindowSurface()
> 3) call eglMakeCurrent() with the surface created in step 2)
> 4) does work on the new surface
>
> The old surface won't be destroyed in step 1) because
> it was still bound by the context of the current rendering
> thread. When creating new surface on step 2), some hardware
> will return error code EGL_BAD_ALLOC, because the old egl
> surface is still associated with the native window.
>
> To workaround, when destroying surface, if the surface
> is still bound by the context of the current rendering
> thread, release the context and surface by passing
> EGL_NO_CONTEXT and EGL_NO_SURFACE to eglMakeCurrent().
>
> The workaround is controlled by a frontend feature
> uncurrentEglSurfaceUponSurfaceDestroy. This feature
> is only enabled on vulkan and gl backends.
>
> Bug: b/292285899
> Change-Id: I872d2e116ba6860f58d1176f011a5ef7c5a5af4e
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851255
> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Bug: b/292285899
Change-Id: I760054d856294e6691e79e165fd73ce9e560621f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4862958
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
497440cd
|
2023-09-07T15:39:19
|
|
Make egl surface uncurrent when being destroyed
This is to workaround errors when app does below behaviors:
1) while there is a context still bound to the current
rendering thread and the surface, call eglDestroySurface()
2) create a new surface eglCreateWindowSurface()
3) call eglMakeCurrent() with the surface created in step 2)
4) does work on the new surface
The old surface won't be destroyed in step 1) because
it was still bound by the context of the current rendering
thread. When creating new surface on step 2), some hardware
will return error code EGL_BAD_ALLOC, because the old egl
surface is still associated with the native window.
To workaround, when destroying surface, if the surface
is still bound by the context of the current rendering
thread, release the context and surface by passing
EGL_NO_CONTEXT and EGL_NO_SURFACE to eglMakeCurrent().
The workaround is controlled by a frontend feature
uncurrentEglSurfaceUponSurfaceDestroy. This feature
is only enabled on vulkan and gl backends.
Bug: b/292285899
Change-Id: I872d2e116ba6860f58d1176f011a5ef7c5a5af4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4851255
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
e7418836
|
2023-08-16T14:25:52
|
|
Vulkan: Add context flushing as OOM fallback
* As a new fallback for out-of-memory errors, if an allocation results
in device OOM, the context is flushed and the allocation is retried.
* Functions related to buffer/image allocations now return a VkResult
value instead of angle::Result, which will be bubbled up to a higher
level for safer handling.
* The OOM is no longer handled at the level where the allocation
happens, but is moved up to the context.
* Added two functions to ContextVk for allocating memory for images and
buffer suballocations, which also include the fallback options.
* initBufferAllocation(): Uses BufferHelper::initSuballocation()
* initImageAllocation(): Uses ImageHelper::initMemory()
* Moved initNonZeroMemory() out of the following functions:
* BufferHelper::initSuballocation()
* Moved to ContextVk::initBufferAllocation().
* ImageHelper::initMemory()
* Moved to ContextVk::initImageAllocation().
* Also moved to new function:
ImageHelper::initMemoryAndNonZeroFillIfNeeded().
This function replaced the rest of initMemory() usages outside
initImageAllocation().
* New macros for memory allocation
* VK_RESULT_TRY()
* If the output of the command inside it is not VK_SUCCESS, it will
return with the error result from the command.
* VK_RESULT_CHECK()
* If the output of the command inside it is not VK_SUCCESS, it will
return with the input error.
* Added a test in which allocation would fail due to too much pending
garbage without the fix on some platforms. The test ends once there
has been a submission.
* New suite: UniformBufferMemoryTest
* Added a similar test for flushing texture-related pending garbage.
* New suite: Texture2DMemoryTestES3
Bug: b/280304441
Change-Id: I60248ce39eae80b5a8ffe4723d8a1c5641087f23
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4787949
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b185c3ea
|
2023-09-11T12:28:43
|
|
Vulkan: Add host-image-copy usage to images when optimal
The change currently doesn't actually copy on host, but prepares the
image for it.
Bug: angleproject:8341
Change-Id: I4458712dca46ef9872020e158a3f902e94f5eb93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4856146
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e234c182
|
2023-09-08T16:19:29
|
|
Add features for VK_EXT_host_image_copy
Bug: angleproject:8341
Change-Id: Id076e6c9e040f3c19a1eb221f6099ac11d4d091a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4852280
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e691a4ed
|
2023-09-04T15:35:39
|
|
Delete obsolete VUID
VUID-VkGraphicsPipelineCreateInfo-topology-08890
was renamed to
VUID-VkGraphicsPipelineCreateInfo-topology-08773
Bug: angleproject:8237
Change-Id: Icb3f3f28664d0beac31f2541d90d5dbbada9a3b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4840195
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1192e5e8
|
2023-08-31T15:03:53
|
|
Manual roll vulkan-deps from a446c6320b6b to 988fe1c529b0 (28 revisions)
Suppress new VUIDs:
VUID-VkGraphicsPipelineCreateInfo-topology-08773
VUID-VkDescriptorImageInfo-imageView-07796
Manual roll requested by ynovikov@google.com
https://chromium.googlesource.com/vulkan-deps.git/+log/a446c6320b6b..988fe1c529b0
Changed dependencies:
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b6893ccdfb..9b923f7cc3
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/6087a58444..389110e460
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b2f5094203..70be16c58d
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 angle-team@google.com,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:8318, angleproject:8237, angleproject:8334
Change-Id: I4b868b67b0c8158179fee61018933104c4ed55d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4832731
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
571b4cdb
|
2023-08-14T16:55:28
|
|
Vulkan: Move pipeline/desc-set layout creation to link job
The pipeline and desc-set layout caches are consequently made
thread-safe. The reference counter on the layouts are also made atomic.
With this change, practically all of the link in the Vulkan backend is
moved to the link job.
Bug: angleproject:8297
Change-Id: Iba694ece5fc5510d34cce2c34441ae08ca5bb646
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4774787
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cb1c5ca4
|
2023-08-22T10:13:17
|
|
Manual roll vulkan-deps from aa121378c102 to 2cb515574109 (9 revisions)
Includes an adjustment to syncval message format.
https://chromium.googlesource.com/vulkan-deps.git/+log/aa121378c102..2cb515574109
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/c5117b328a..db8719ae07
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/bfc94f63a7..714966003d
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/300d9bf6b3..b441f434a0
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/d1ff40512a..ebab3bc86c
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 angle-team@google.com,syoussefi@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Change-Id: I94f05554452f1c8b97a1426fb4b61ac1a1fa4b1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4802525
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
f11c972b
|
2023-08-04T15:06:39
|
|
Update requiredFlags use for VMA image allocations
For the OOM fallbacks, we currently remove bits from the required
bits when device memory allocation is no longer possible. In doing so,
allocating on the device has become a strong preference rather than a
requirement. Therefore, we change this method a bit in this CL.
* Removed the device-local bit from the required flags when calling
allocateAndBindMemory().
* preferredFlags is now used in lieu of requiredFlags initially within
allocateAndBindMemory() to signal to the VMA to prioritize allocating
on the device. If it fails, we use requiredFlags for the fallback.
Bug: b/280304441
Change-Id: Id47a224cd74dacd3fb12d4fbfd815d8cefc016c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753758
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
ffe81dd3
|
2023-08-03T14:53:32
|
|
Vulkan: allow opt-in to MSRTT emulation via overrides
The existing enableMultisampledRenderToTexture feature combines
conditions for device feature support and the policy decision of whether
to allow MSRTT emulation.
This change splits it into two features, allowing application developers
to control the policy condition for the emulation path without impacting
the device capability checks.
Bug: angleproject:8291
Change-Id: Ic1525c878906b10df777c582e44b931028aae928
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749525
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
833f7f69
|
2023-08-09T10:49:51
|
|
Vulkan: improve XFB feature dependency checks
Some features need to account for the possible override of
supportsTransformFeedbackExtension == false.
Since we now frontload the overrides, we also can remove the explicit
overrides for the dependent features in TransformFeedbackTest.
Bug: angleproject:8291
Change-Id: I0ec54dc0fce440ef3e7bfe9987d0ea19fb9dafaa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4763096
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f395f34b
|
2023-08-03T13:58:43
|
|
features: frontload feature overrides
This allows us to have features that depend on the state of other
features more reliably.
For example, let's say you have two features:
ANGLE_FEATURE_CONDITION(&mFeatures, allowX, (benefitsFromX || isSpecificHardware) && !isBadHardware);
ANGLE_FEATURE_CONDITION(&mFeatures, supportsX, hardware.featureXSupported && mFeatures.allowX.enabled);
Before this change, if you overrode allowX, the override would be
applied too late for the supportsX test.
This also helps with disabling dependent features via overrides. For
example, if you disable "supportsRenderpass2", it will also disable
features depending on it, such as "supportsDepthStencilResolve" and
"supportsFragmentShadingRate".
By frontloading the feature overrides, we can have cross-dependencies
between "feature supported on this platform" and "allow this feature by
policy".
Bug: angleproject:8291
Change-Id: Id6da2c89428fa896d677fe8d5a41369277a21b31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749524
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fa3ecccb
|
2023-08-09T10:48:36
|
|
Vulkan: make fragment shading rate depend on renderpass2
The extension depends on renderpass2 and will raise a VVL failure if
it's not available and enabled.
Note that this doesn't yet work as intended if you only override
supportsRenderpass2=false. A subsequent commit will fix this.
Bug: angleproject:8291
Change-Id: I6843b342909fb9000ebdcea80e006670c865f858
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4763095
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Commit-Queue: Steven Noonan <steven@uplinklabs.net>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4963febf
|
2023-08-02T16:52:52
|
|
Vulkan: Remove type indices with host-visible bit
Currently, the memory type index for VMA image allocations are
selected and returned by the API. However, it could potentially
choose a type index with more flags than required or preferred,
and ignore the index with exactly the flags we want. For example,
it could pick a type index with the host-visible property flag,
even if is unnecessary and a type index with a device-local flag
would suffice.
Using memoryTypeBits during the allocation allows us to filter
the unwanted type indices out and use the other indices initially.
* Added a new function to RendererVk.cpp to try to remove the memory
type indices with the host-visible bit for VMA image allocations
if they should be device-local.
* GetMemoryTypeBitsExcludingHostVisible()
* It also removes the indices with the protected bit if it is not
required.
* If the allocation is unsuccessful, the fallback resets the field
for memoryTypeBits, allowing all available type indices to be used
for the allocation.
* Added memory type index to the pending allocation log during OOM.
Bug: b/294085818
Change-Id: Icc1b218df075170a6baa7ec57c837ed59cd4fa96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4743604
Reviewed-by: Kaiyi Li <kaiyili@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
0abd6f54
|
2023-07-27T10:48:38
|
|
Vulkan: Enable dynamic state on working Android drivers
Fixes are flowing out in different channels and versions, so add
a bit of Pixel specific logic.
Test: angle_trace_tests, deqp
Bug: b/287318431, b/285196249, b/286224923, b/285124778
Change-Id: Ifc73e2a42d1d060a83a2fb83bcf8bb999f0990b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4726502
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|