Status Update
Comments
to...@gmail.com <to...@gmail.com> #2
Here's a renderdoc capture of the issue taken on a Pixel2XL with a very recent Android build.
ap...@google.com <ap...@google.com> #3
Branch: master
commit a3b16c6b50a64df299cfde89dcbe3068777a4adb
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date: Fri Aug 28 16:14:30 2020
Vulkan: Workaround vkCmdClearAttachment bug on Pixel
Adds a workaround to use draw calls to clear color instead of
vkCmdClearAttachment when the clear happens in the middle of render
pass. On Pixel phones, vkCmdClearAttachment races with the previous
draw calls in the render pass.
Bug:
Change-Id: I8c96b87793da191757635658ad4ee2c3a7875aca
Reviewed-on:
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
M include/platform/FeaturesVk.h
M src/libANGLE/renderer/vulkan/FramebufferVk.cpp
M src/libANGLE/renderer/vulkan/RendererVk.cpp
ma...@google.com <ma...@google.com>
tm...@gmail.com <tm...@gmail.com> #4
The issue is not limited to color clears. The following test added in
ClearTestES3.ClearMaxAttachmentsAfterDraw/ES3_Vulkan
na...@google.com <na...@google.com> #5
The following CL is enabling using vkCmdClearAttachements
for scissored clears, rather than drawing:
3388635: Vulkan: Use vkCmdClearAttachments for scissored clears |
With that CL, the following tests expose another issue with Pixel 4 Qualcomm drivers:
FramebufferMultiviewLayeredClearTest.ScissoredClear/ES3_Vulkan__vertex_shader_multiview2
FramebufferMultiviewLayeredClearTest.ScissoredClear/ES3_Vulkan__vertex_shader_multiview
QC is not interpretting the VkClearRect.layerCount
value incorrectly and is clearing too many layers. Looking at FramebufferMultiviewLayeredClearTest.ScissoredClear/ES3_Vulkan__vertex_shader_multiview
specifically, the vkCmdClearAttachements
command is being issued with VkClearRect.layerCount = 2
, but is actually clearing layers 1, 2, and 3. Layer 0 is correctly being skipped.
To work around this, preferDrawClearOverVkCmdClearAttachments
will be enabled for QC in general, rather than just specific Pixel devices.
Description
Component used: Glance app widget Version used: 1.0 snapshot(8834867)
Compilation fails with:
ERROR:/builds/Android/symfonik/.gradle/caches/transforms-3/f84351c9988afd6ca9c2ebdb47a36500/transformed/glance-appwidget-1.0.0-SNAPSHOT/proguard.txt:22:7: R8: Expected [!]interface|@interface|class|enum
Line 22 ofhttps://github.com/androidx/androidx/blob/androidx-main/glance/glance-appwidget/proguard-rules.pro is invalid.