summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2019-02-14 12:52:46 -0300
committerGravatar ReinUsesLisp2019-02-14 18:36:15 -0300
commit33a4cebc225454dfd8dc9a7263fe1f4bfb8a9748 (patch)
tree8fdddb7c7ac19f29a878b078a6de63a002bd0a3a /src/video_core/renderer_vulkan
parentMerge pull request #2113 from ReinUsesLisp/vulkan-base (diff)
downloadyuzu-33a4cebc225454dfd8dc9a7263fe1f4bfb8a9748.tar.gz
yuzu-33a4cebc225454dfd8dc9a7263fe1f4bfb8a9748.tar.xz
yuzu-33a4cebc225454dfd8dc9a7263fe1f4bfb8a9748.zip
vk_resource_manager: Add VKResource interface
VKResource is an interface that gets signaled by a fence when it is free to be reused.
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_resource_manager.cpp14
-rw-r--r--src/video_core/renderer_vulkan/vk_resource_manager.h26
2 files changed, 40 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_resource_manager.cpp b/src/video_core/renderer_vulkan/vk_resource_manager.cpp
new file mode 100644
index 000000000..46563748e
--- /dev/null
+++ b/src/video_core/renderer_vulkan/vk_resource_manager.cpp
@@ -0,0 +1,14 @@
1// Copyright 2018 yuzu Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include "video_core/renderer_vulkan/declarations.h"
6#include "video_core/renderer_vulkan/vk_resource_manager.h"
7
8namespace Vulkan {
9
10VKResource::VKResource() = default;
11
12VKResource::~VKResource() = default;
13
14} // namespace Vulkan
diff --git a/src/video_core/renderer_vulkan/vk_resource_manager.h b/src/video_core/renderer_vulkan/vk_resource_manager.h
new file mode 100644
index 000000000..21a53abcd
--- /dev/null
+++ b/src/video_core/renderer_vulkan/vk_resource_manager.h
@@ -0,0 +1,26 @@
1// Copyright 2018 yuzu Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include "video_core/renderer_vulkan/declarations.h"
8
9namespace Vulkan {
10
11class VKFence;
12
13/// Interface for a Vulkan resource
14class VKResource {
15public:
16 explicit VKResource();
17 virtual ~VKResource();
18
19 /**
20 * Signals the object that an owning fence has been signaled.
21 * @param signaling_fence Fence that signals its usage end.
22 */
23 virtual void OnFenceRemoval(VKFence* signaling_fence) = 0;
24};
25
26} // namespace Vulkan