Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Impeller] Switch from transient stencil-only to depth+stencil buffer. #47987

Merged
merged 4 commits into from
Jan 17, 2024

Conversation

bdero
Copy link
Member

@bdero bdero commented Nov 13, 2023

Part of flutter/flutter#138460.

In preparation for draw order optimization and StC.

Use a transient depth+stencil texture instead of a stencil-only texture. Doing this in isolation to detect/weed out any HAL bugs with handling the attachment.

@bdero bdero self-assigned this Nov 13, 2023
@bdero bdero marked this pull request as ready for review November 13, 2023 23:42
Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you tested this with all of the backends? I'm almost certain this won't work with GLES on Android today. And I'd be a bit shocked if it works on Vulkan.

@bdero
Copy link
Member Author

bdero commented Nov 13, 2023

GLES playgrounds are fine too. Trying out the Android embedder and then maybe we can land this to see how it affects the benchmarks.

@jonahwilliams
Copy link
Member

At a minuimum, I would change https://github.com/flutter/engine/blob/main/impeller/renderer/backend/gles/texture_gles.cc#L26 to check depth and/or stencil format.

@jonahwilliams
Copy link
Member

but you'll need to make sure that you're using an app/playground with 1) MSAA enabled and 2) some offscreen rendering. You could try the backdrop filter demo in the macrobenchmarks app.

@bdero
Copy link
Member Author

bdero commented Nov 14, 2023

Been testing this against Wondrous and there are problems that need to be worked through for this

@jonahwilliams jonahwilliams added the Work in progress (WIP) Not ready (yet) for review! label Nov 30, 2023
@bdero bdero marked this pull request as draft January 16, 2024 11:00
@bdero bdero force-pushed the bdero/impeller-depth-buffer branch from 4f1b19f to f95db8c Compare January 16, 2024 11:32
@bdero bdero marked this pull request as ready for review January 17, 2024 01:08
@bdero
Copy link
Member Author

bdero commented Jan 17, 2024

Alrighty, this seems to be working on all three backends now.

@bdero bdero force-pushed the bdero/impeller-depth-buffer branch from f0f6c9b to bfd761b Compare January 17, 2024 02:41
@jonahwilliams jonahwilliams removed the Work in progress (WIP) Not ready (yet) for review! label Jan 17, 2024
Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@bdero
Copy link
Member Author

bdero commented Jan 17, 2024

Looking into the segfault showing up for release only

@bdero
Copy link
Member Author

bdero commented Jan 17, 2024

Reproduced it by running the golden exec

@bdero
Copy link
Member Author

bdero commented Jan 17, 2024

Wait I reproduced the failure without this patch. The issue is obvious and I'm not sure how the heck the golden exec is even working at HEAD. o_O

@bdero
Copy link
Member Author

bdero commented Jan 17, 2024

nvm, it was an issue with the backend capabilities mock in the specific test.

@bdero bdero added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 17, 2024
@auto-submit auto-submit bot merged commit 8897901 into flutter:main Jan 17, 2024
28 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 17, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jan 17, 2024
…141673)

flutter/engine@73a2de5...c7e3285

2024-01-17 skia-flutter-autoroll@skia.org Roll Skia from 02e94b3b4d29 to d8da1ee69767 (1 revision) (flutter/engine#49824)
2024-01-17 bdero@google.com Flutter GPU: Add GpuContext.createHostBuffer (flutter/engine#49822)
2024-01-17 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Klxww53tA4-TG5pA9... to GuU0e5WxJCi92Scz8... (flutter/engine#49823)
2024-01-17 bdero@google.com [Impeller] Switch from transient stencil-only to depth+stencil buffer. (flutter/engine#47987)
2024-01-17 skia-flutter-autoroll@skia.org Roll Skia from 31309ff09537 to 02e94b3b4d29 (43 revisions) (flutter/engine#49819)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from Klxww53tA4-T to GuU0e5WxJCi9

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

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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
@jonahwilliams jonahwilliams added the revert Label used to revert changes in a closed and merged pull request. label Jan 17, 2024
@jonahwilliams
Copy link
Member

This is breaking the vulkan validation test in the framework:

[2024-01-16 23:56:05.914479] [STDOUT] adb logcat: 01-16 23:56:06.764 17099 17152 I flutter : The Dart VM service is listening on http://127.0.0.1:41777/HrG__gn9Qrg=/
[2024-01-16 23:56:06.145196] [STDOUT] adb logcat: 01-16 23:56:06.994 17099 17099 E flutter : [ERROR:flutter/shell/platform/android/android_context_vulkan_impeller.cc(49)] Using the Impeller rendering backend (Vulkan with Validation Layers).
[2024-01-16 23:56:06.599910] [STDOUT] adb logcat: 01-16 23:56:07.449 17099 17134 E flutter : [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure: 
[2024-01-16 23:56:06.599987] [STDOUT] adb logcat: 01-16 23:56:07.449 17099 17134 E flutter : --- Vulkan Debug Report  ----------------------------------------
[2024-01-16 23:56:06.600006] [STDOUT] adb logcat: 01-16 23:56:07.449 17099 17134 E flutter : |                Severity: Error
[2024-01-16 23:56:06.600023] [STDOUT] adb logcat: 01-16 23:56:07.449 17099 17134 E flutter : |                    Type: { Validation }
[2024-01-16 23:56:06.600040] [STDOUT] adb logcat: 01-16 23:56:07.449 17099 17134 E flutter : |                 ID Name: VUID-vkCmdDraw-renderPass-02684
[2024-01-16 23:56:06.600057] [STDOUT] adb logcat: 01-16 23:56:07.449 17099 17134 E flutter : |               ID Number: 1349015333
[2024-01-16 23:56:06.600073] [STDOUT] adb logcat: 01-16 23:56:07.449 17099 17134 E flutter : |       Queue Breadcrumbs: [NONE]
[2024-01-16 23:56:06.600090] [STDOUT] adb logcat: 01-16 23:56:07.449 17099 17134 E flutter : |  CMD Buffer Breadcrumbs: [NONE]
[2024-01-16 23:56:06.600108] [STDOUT] adb logcat: 01-16 23:56:07.449 17099 17134 E flutter : |         Related Objects: RenderPass [361739325538633] [EntityPass Render Pass: Depth=0 Count=0], RenderPass [311161790660891] [Compat Render Pass: GlyphAtlas Pipeline]
[2024-01-16 23:56:06.600132] [STDOUT] adb logcat: 01-16 23:56:07.449 17099 17134 E flutter : |                 Trigger: Validation Error: [ VUID-vkCmdDraw-renderPass-02684 ] Object 0: handle = 0x1490000000149, name = EntityPass Render Pass: Depth=0 Count=0, type = VK_OBJECT_TYPE_RENDER_PASS; Object 1: handle = 0x11b000000011b, name = Compat Render Pass: GlyphAtlas Pipeline, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x50685725 | vkCmdDraw: RenderPasses incompatible between active render pass w/ VkRenderPass 0x1490000000149[EntityPass Render Pass: Depth=0 Count=0] and pipeline state object w/ VkRenderPass 0x11b000000011b[Compat Render Pass: GlyphAtlas Pipeline] Attachment 3 is not compatible with 1: They have different formats.. The Vulkan spec states: The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDraw-renderPass-02684)
[2024-01-16 23:56:06.600175] [STDOUT] adb logcat: 01-16 23:56:07.449 17099 17134 E flutter : -----------------------------------------------------------------
[2024-01-16 23:56:06.601384] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure: 
[2024-01-16 23:56:06.601448] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : --- Vulkan Debug Report  ----------------------------------------
[2024-01-16 23:56:06.601477] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |                Severity: Error
[2024-01-16 23:56:06.601504] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |                    Type: { Validation }
[2024-01-16 23:56:06.601619] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |                 ID Name: UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout
[2024-01-16 23:56:06.601651] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |               ID Number: 1303270965
[2024-01-16 23:56:06.601678] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |       Queue Breadcrumbs: [NONE]
[2024-01-16 23:56:06.601705] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |  CMD Buffer Breadcrumbs: TextFrame, EntityPass Render Pass: Depth=0 Count=0, QueueSubmit
[2024-01-16 23:56:06.601734] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |         Related Objects: CommandBuffer [12970367415776001872] [EntityPass Command Buffer: Depth=0 Count=0]
[2024-01-16 23:56:06.601770] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |                 Trigger: Validation Error: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0xb4000071d7a13f50, name = EntityPass Command Buffer: Depth=0 Count=0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkQueueSubmit(): pSubmits[0].pCommandBuffers[0] command buffer VkCommandBuffer 0xb4000071d7a13f50[EntityPass Command Buffer: Depth=0 Count=0] expects VkImage 0x13e000000013e[ImpellerOnscreen Depth+Stencil Texture] (subresource: aspectMask 0x2 array layer 0, mip level 0) to be in layout VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL--instead, current layout is VK_IMAGE_LAYOUT_UNDEFINED.
[2024-01-16 23:56:06.601807] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : -----------------------------------------------------------------
[2024-01-16 23:56:06.601837] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure: 
[2024-01-16 23:56:06.601867] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : --- Vulkan Debug Report  ----------------------------------------
[2024-01-16 23:56:06.601896] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |                Severity: Error
[2024-01-16 23:56:06.601924] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |                    Type: { Validation }
[2024-01-16 23:56:06.601953] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |                 ID Name: UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout
[2024-01-16 23:56:06.601981] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |               ID Number: 1303270965
[2024-01-16 23:56:06.602009] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |       Queue Breadcrumbs: [NONE]
[2024-01-16 23:56:06.602038] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |  CMD Buffer Breadcrumbs: TextFrame, EntityPass Render Pass: Depth=0 Count=0, QueueSubmit
[2024-01-16 23:56:06.602068] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |         Related Objects: CommandBuffer [12970367415776001872] [EntityPass Command Buffer: Depth=0 Count=0]
[2024-01-16 23:56:06.602197] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : |                 Trigger: Validation Error: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0xb4000071d7a13f50, name = EntityPass Command Buffer: Depth=0 Count=0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkQueueSubmit(): pSubmits[0].pCommandBuffers[0] command buffer VkCommandBuffer 0xb4000071d7a13f50[EntityPass Command Buffer: Depth=0 Count=0] expects VkImage 0x13e000000013e[ImpellerOnscreen Depth+Stencil Texture] (subresource: aspectMask 0x4 array layer 0, mip level 0) to be in layout VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL--instead, current layout is VK_IMAGE_LAYOUT_UNDEFINED.
[2024-01-16 23:56:06.602239] [STDOUT] adb logcat: 01-16 23:56:07.450 17099 17134 E flutter : -----------------------------------------------------------------
[2024-01-16 23:56:06.620078] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure: 
[2024-01-16 23:56:06.620142] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : --- Vulkan Debug Report  ----------------------------------------
[2024-01-16 23:56:06.620159] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |                Severity: Error
[2024-01-16 23:56:06.620174] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |                    Type: { Validation }
[2024-01-16 23:56:06.620190] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |                 ID Name: VUID-VkImageMemoryBarrier-oldLayout-01197
[2024-01-16 23:56:06.620205] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |               ID Number: 307231540
[2024-01-16 23:56:06.620220] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |       Queue Breadcrumbs: [NONE]
[2024-01-16 23:56:06.620235] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |  CMD Buffer Breadcrumbs: EntityPass Render Pass: Depth=0 Count=0
[2024-01-16 23:56:06.620251] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |         Related Objects: CommandBuffer [12970367415776345072] [EntityPass Command Buffer: Depth=0 Count=0]
[2024-01-16 23:56:06.620330] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |                 Trigger: Validation Error: [ VUID-VkImageMemoryBarrier-oldLayout-01197 ] Object 0: handle = 0xb4000071d7a67bf0, name = EntityPass Command Buffer: Depth=0 Count=0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x124ffb34 | vkCmdPipelineBarrier(): .pImageMemoryBarriers[0] VkImage 0x13e000000013e[ImpellerOnscreen Depth+Stencil Texture] cannot transition the layout of aspect=2 level=0 layer=0 from VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL when the previous known layout is VK_IMAGE_LAYOUT_GENERAL. The Vulkan spec states: If srcQueueFamilyIndex and dstQueueFamilyIndex define a queue family ownership transfer or oldLayout and newLayout define an image layout transition, oldLayout must be VK_IMAGE_LAYOUT_UNDEFINED or the current layout of the image subresources affected by the barrier (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-oldLayout-01197)
[2024-01-16 23:56:06.620355] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : -----------------------------------------------------------------
[2024-01-16 23:56:06.620371] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure: 
[2024-01-16 23:56:06.620387] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : --- Vulkan Debug Report  ----------------------------------------
[2024-01-16 23:56:06.620548] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |                Severity: Error
[2024-01-16 23:56:06.620582] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |                    Type: { Validation }
[2024-01-16 23:56:06.620598] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |                 ID Name: VUID-VkImageMemoryBarrier-oldLayout-01197
[2024-01-16 23:56:06.620613] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |               ID Number: 307231540
[2024-01-16 23:56:06.620629] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |       Queue Breadcrumbs: [NONE]
[2024-01-16 23:56:06.620644] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |  CMD Buffer Breadcrumbs: EntityPass Render Pass: Depth=0 Count=0
[2024-01-16 23:56:06.620660] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |         Related Objects: CommandBuffer [12970367415776345072] [EntityPass Command Buffer: Depth=0 Count=0]
[2024-01-16 23:56:06.620681] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : |                 Trigger: Validation Error: [ VUID-VkImageMemoryBarrier-oldLayout-01197 ] Object 0: handle = 0xb4000071d7a67bf0, name = EntityPass Command Buffer: Depth=0 Count=0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x124ffb34 | vkCmdPipelineBarrier(): .pImageMemoryBarriers[0] VkImage 0x13e000000013e[ImpellerOnscreen Depth+Stencil Texture] cannot transition the layout of aspect=2 level=0 layer=0 from VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL when the previous known layout is VK_IMAGE_LAYOUT_GENERAL. The Vulkan spec states: If srcQueueFamilyIndex and dstQueueFamilyIndex define a queue family ownership transfer or oldLayout and newLayout define an image layout transition, oldLayout must be VK_IMAGE_LAYOUT_UNDEFINED or the current layout of the image subresources affected by the barrier (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-oldLayout-01197)
[2024-01-16 23:56:06.620702] [STDOUT] adb logcat: 01-16 23:56:07.462 17099 17134 E flutter : -----------------------------------------------------------------
[2024-01-16 23:56:06.620717] [STDOUT] adb logcat: 01-16 23:56:07.463 17099 17134 E flutter : [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure: 
[2024-01-16 23:56:06.620733] [STDOUT] adb logcat: 01-16 23:56:07.463 17099 17134 E flutter : --- Vulkan Debug Report  ----------------------------------------
[2024-01-16 23:56:06.620748] [STDOUT] adb logcat: 01-16 23:56:07.463 17099 17134 E flutter : |                Severity: Error
[2024-01-16 23:56:06.620763] [STDOUT] adb logcat: 01-16 23:56:07.463 17099 17134 E flutter : |                    Type: { Validation }
[2024-01-16 23:56:06.620778] [STDOUT] adb logcat: 01-16 23:56:07.463 17099 17134 E flutter : |                 ID Name: VUID-vkCmdDraw-renderPass-02684
[2024-01-16 23:56:06.620794] [STDOUT] adb logcat: 01-16 23:56:07.463 17099 17134 E flutter : |               ID Number: 1349015333
[2024-01-16 23:56:06.620809] [STDOUT] adb logcat: 01-16 23:56:07.463 17099 17134 E flutter : |       Queue Breadcrumbs: [NONE]
[2024-01-16 23:56:06.620823] [STDOUT] adb logcat: 01-16 23:56:07.463 17099 17134 E flutter : |  CMD Buffer Breadcrumbs: [NONE]
[2024-01-16 23:56:06.620839] [STDOUT] adb logcat: 01-16 23:56:07.463 17099 17134 E flutter : |         Related Objects: RenderPass [371634930188626] [EntityPass Render Pass: Depth=0 Count=0], RenderPass [311161790660891] [Compat Render Pass: GlyphAtlas Pipeline]
[2024-01-16 23:56:06.620860] [STDOUT] adb logcat: 01-16 23:56:07.463 17099 17134 E flutter : |                 Trigger: Validation Error: [ VUID-vkCmdDraw-renderPass-02684 ] Object 0: handle = 0x1520000000152, name = EntityPass Render Pass: Depth=0 Count=0, type = VK_OBJECT_TYPE_RENDER_PASS; Object 1: handle = 0x11b000000011b, name = Compat Render Pass: GlyphAtlas Pipeline, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x50685725 | vkCmdDraw: RenderPasses incompatible between active render pass w/ VkRenderPass 0x1520000000152[EntityPass Render Pass: Depth=0 Count=0] and pipeline state object w/ VkRenderPass 0x11b000000011b[Compat Render Pass: GlyphAtlas Pipeline] Attachment 3 is not compatible with 1: They have different formats.. The Vulkan spec states: The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDraw-renderPass-02684)
[2024-01-16 23:56:06.620886] [STDOUT] adb logcat: 01-16 23:56:07.463 17099 17134 E flutter : -----------------------------------------------------------------
[2024-01-16 23:56:36.152189] [STDOUT] adb logcat aborted

auto-submit bot pushed a commit that referenced this pull request Jan 17, 2024
@auto-submit auto-submit bot removed the revert Label used to revert changes in a closed and merged pull request. label Jan 17, 2024
auto-submit bot added a commit that referenced this pull request Jan 17, 2024
…il buffer." (#49832)

Reverts #47987
Initiated by: jonahwilliams
This change reverts the following previous change:
Original Description:
Part of flutter/flutter#138460.

In preparation for [draw order optimization](flutter/flutter#114402) and [StC](flutter/flutter#123671).

Use a transient depth+stencil texture instead of a stencil-only texture. Doing this in isolation to detect/weed out any HAL bugs with handling the attachment.
@bdero
Copy link
Member Author

bdero commented Jan 17, 2024

Looks like I was missing --enable-vulkan-validation-layers enabled when trying this out, but it was still rendering. The pipelines aren't getting set up right, as I discovered when wiring up the descriptor options in #49828.

engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 17, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 17, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 18, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 18, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 18, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 18, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jan 18, 2024
…141744)

flutter/engine@73a2de5...98c16b4

2024-01-18 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Manual roll Dart SDK from d6c08fa9bb54 to 6ff69d6b7f59 (15 revisions)" (flutter/engine#49852)
2024-01-18 skia-flutter-autoroll@skia.org Roll Skia from 5abf9717ea92 to 31f275e8fcc7 (8 revisions) (flutter/engine#49850)
2024-01-18 30870216+gaaclarke@users.noreply.github.com Reland: [Impeller] Turned on new blur. (#48472) (flutter/engine#49642)
2024-01-17 737941+loic-sharma@users.noreply.github.com [Windows] Reduce Visual Studio build errors caused by keyboard unit tests (flutter/engine#49814)
2024-01-17 30870216+gaaclarke@users.noreply.github.com [Impeller] disabled misleading vulkan golden image tests (flutter/engine#49836)
2024-01-17 737941+loic-sharma@users.noreply.github.com [Windows] Remove unnecessary statics in keyboard (flutter/engine#49834)
2024-01-17 skia-flutter-autoroll@skia.org Roll Skia from 5c9e3474cf13 to 5abf9717ea92 (1 revision) (flutter/engine#49831)
2024-01-17 godofredoc@google.com Move mac cache builder to bringup. (flutter/engine#49843)
2024-01-17 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] Switch from transient stencil-only to depth+stencil buffer." (flutter/engine#49832)
2024-01-17 skia-flutter-autoroll@skia.org Roll Skia from d8da1ee69767 to 5c9e3474cf13 (2 revisions) (flutter/engine#49827)
2024-01-17 skia-flutter-autoroll@skia.org Manual roll Dart SDK from d6c08fa9bb54 to 6ff69d6b7f59 (15 revisions) (flutter/engine#49825)
2024-01-17 skia-flutter-autoroll@skia.org Roll Skia from 02e94b3b4d29 to d8da1ee69767 (1 revision) (flutter/engine#49824)
2024-01-17 bdero@google.com Flutter GPU: Add GpuContext.createHostBuffer (flutter/engine#49822)
2024-01-17 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Klxww53tA4-TG5pA9... to GuU0e5WxJCi92Scz8... (flutter/engine#49823)
2024-01-17 bdero@google.com [Impeller] Switch from transient stencil-only to depth+stencil buffer. (flutter/engine#47987)
2024-01-17 skia-flutter-autoroll@skia.org Roll Skia from 31309ff09537 to 02e94b3b4d29 (43 revisions) (flutter/engine#49819)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from Klxww53tA4-T to GuU0e5WxJCi9

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

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App e: impeller
Projects
No open projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

2 participants