5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_PASS_BINDINGS_CACHE_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_PASS_BINDINGS_CACHE_H_
15 class PassBindingsCache {
18 vk::PipelineBindPoint pipeline_bind_point,
19 vk::Pipeline pipeline);
22 vk::StencilFaceFlags face_mask,
25 void SetScissor(vk::CommandBuffer command_buffer,
26 uint32_t first_scissor,
27 uint32_t scissor_count,
28 const vk::Rect2D* scissors);
31 uint32_t first_viewport,
32 uint32_t viewport_count,
33 const vk::Viewport* viewports);
37 std::optional<vk::Pipeline> graphics_pipeline_;
38 std::optional<vk::Pipeline> compute_pipeline_;
40 std::optional<vk::StencilFaceFlags> stencil_face_flags_;
41 uint32_t stencil_reference_ = 0;
43 std::optional<vk::Rect2D> scissors_;
45 std::optional<vk::Viewport> viewport_;
50 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_PASS_BINDINGS_CACHE_H_