Flutter Engine
Loading...
Searching...
No Matches
vulkan_backbuffer.h
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef FLUTTER_VULKAN_VULKAN_BACKBUFFER_H_
6
#define FLUTTER_VULKAN_VULKAN_BACKBUFFER_H_
7
8
#include <array>
9
10
#include "
flutter/fml/macros.h
"
11
#include "
flutter/vulkan/procs/vulkan_handle.h
"
12
#include "third_party/skia/include/core/SkSize.h"
13
#include "third_party/skia/include/core/SkSurface.h"
14
#include "
vulkan_command_buffer.h
"
15
16
namespace
vulkan
{
17
18
class
VulkanBackbuffer
{
19
public
:
20
VulkanBackbuffer
(
const
VulkanProcTable
& vk,
21
const
VulkanHandle<VkDevice>
&
device
,
22
const
VulkanHandle<VkCommandPool>
& pool);
23
24
~VulkanBackbuffer
();
25
26
bool
IsValid
()
const
;
27
28
[[nodiscard]]
bool
WaitFences
();
29
30
[[nodiscard]]
bool
ResetFences
();
31
32
const
VulkanHandle<VkFence>
&
GetUsageFence
()
const
;
33
34
const
VulkanHandle<VkFence>
&
GetRenderFence
()
const
;
35
36
const
VulkanHandle<VkSemaphore>
&
GetUsageSemaphore
()
const
;
37
38
const
VulkanHandle<VkSemaphore>
&
GetRenderSemaphore
()
const
;
39
40
VulkanCommandBuffer
&
GetUsageCommandBuffer
();
41
42
VulkanCommandBuffer
&
GetRenderCommandBuffer
();
43
44
private
:
45
const
VulkanProcTable
& vk_;
46
const
VulkanHandle<VkDevice>
& device_;
47
std::array<VulkanHandle<VkSemaphore>, 2> semaphores_;
48
std::array<VulkanHandle<VkFence>, 2> use_fences_;
49
VulkanCommandBuffer
usage_command_buffer_;
50
VulkanCommandBuffer
render_command_buffer_;
51
bool
valid_;
52
53
bool
CreateSemaphores();
54
55
bool
CreateFences();
56
57
FML_DISALLOW_COPY_AND_ASSIGN
(
VulkanBackbuffer
);
58
};
59
60
}
// namespace vulkan
61
62
#endif
// FLUTTER_VULKAN_VULKAN_BACKBUFFER_H_
vulkan::VulkanBackbuffer
Definition
vulkan_backbuffer.h:18
vulkan::VulkanBackbuffer::~VulkanBackbuffer
~VulkanBackbuffer()
Definition
vulkan_backbuffer.cc:41
vulkan::VulkanBackbuffer::GetUsageCommandBuffer
VulkanCommandBuffer & GetUsageCommandBuffer()
Definition
vulkan_backbuffer.cc:139
vulkan::VulkanBackbuffer::ResetFences
bool ResetFences()
Definition
vulkan_backbuffer.cc:111
vulkan::VulkanBackbuffer::GetUsageSemaphore
const VulkanHandle< VkSemaphore > & GetUsageSemaphore() const
Definition
vulkan_backbuffer.cc:131
vulkan::VulkanBackbuffer::GetUsageFence
const VulkanHandle< VkFence > & GetUsageFence() const
Definition
vulkan_backbuffer.cc:123
vulkan::VulkanBackbuffer::GetRenderSemaphore
const VulkanHandle< VkSemaphore > & GetRenderSemaphore() const
Definition
vulkan_backbuffer.cc:135
vulkan::VulkanBackbuffer::WaitFences
bool WaitFences()
Definition
vulkan_backbuffer.cc:99
vulkan::VulkanBackbuffer::GetRenderCommandBuffer
VulkanCommandBuffer & GetRenderCommandBuffer()
Definition
vulkan_backbuffer.cc:143
vulkan::VulkanBackbuffer::GetRenderFence
const VulkanHandle< VkFence > & GetRenderFence() const
Definition
vulkan_backbuffer.cc:127
vulkan::VulkanBackbuffer::IsValid
bool IsValid() const
Definition
vulkan_backbuffer.cc:45
vulkan::VulkanCommandBuffer
Definition
vulkan_command_buffer.h:15
vulkan::VulkanHandle
Definition
vulkan_handle.h:17
vulkan::VulkanProcTable
Definition
vulkan_proc_table.h:17
device
VkDevice device
Definition
main.cc:69
macros.h
FML_DISALLOW_COPY_AND_ASSIGN
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition
macros.h:27
vulkan
Definition
vulkan_handle.cc:7
vulkan_command_buffer.h
vulkan_handle.h
vulkan
vulkan_backbuffer.h
Generated on Thu Nov 6 2025 16:11:30 for Flutter Engine by
1.9.8