diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/render_pass_vk.cc b/engine/src/flutter/impeller/renderer/backend/vulkan/render_pass_vk.cc index f942d99ea6..28a7013127 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/render_pass_vk.cc +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/render_pass_vk.cc @@ -217,7 +217,7 @@ RenderPassVK::RenderPassVK(const std::shared_ptr& context, command_buffer_vk_.beginRenderPass(pass_info, vk::SubpassContents::eInline); - // Set the initial viewport and scissors. + // Set the initial viewport. const auto vp = Viewport{.rect = Rect::MakeSize(target_size)}; vk::Viewport viewport = vk::Viewport() .setWidth(vp.rect.GetWidth()) @@ -227,7 +227,7 @@ RenderPassVK::RenderPassVK(const std::shared_ptr& context, .setMaxDepth(1.0f); command_buffer_vk_.setViewport(0, 1, &viewport); - // Set the initial scissor rect. + // Set the initial scissor. const auto sc = IRect::MakeSize(target_size); vk::Rect2D scissor = vk::Rect2D() @@ -235,6 +235,10 @@ RenderPassVK::RenderPassVK(const std::shared_ptr& context, .setExtent(vk::Extent2D(sc.GetWidth(), sc.GetHeight())); command_buffer_vk_.setScissor(0, 1, &scissor); + // Set the initial stencil reference. + command_buffer_vk_.setStencilReference( + vk::StencilFaceFlagBits::eVkStencilFrontAndBack, 0u); + is_valid_ = true; }