summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_image.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-03-27 05:33:21 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-04-11 03:49:02 +0200
commit2905142f47163d0f409c31910cdc234e8797286c (patch)
tree7d5bf00d6b68f58b868e64a0683afd8c09e7f971 /src/video_core/renderer_vulkan/vk_image.h
parentMerge pull request #3594 from ReinUsesLisp/vk-instance (diff)
downloadyuzu-2905142f47163d0f409c31910cdc234e8797286c.tar
yuzu-2905142f47163d0f409c31910cdc234e8797286c.tar.gz
yuzu-2905142f47163d0f409c31910cdc234e8797286c.tar.bz2
yuzu-2905142f47163d0f409c31910cdc234e8797286c.tar.lz
yuzu-2905142f47163d0f409c31910cdc234e8797286c.tar.xz
yuzu-2905142f47163d0f409c31910cdc234e8797286c.tar.zst
yuzu-2905142f47163d0f409c31910cdc234e8797286c.zip
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_image.h')
-rw-r--r--src/video_core/renderer_vulkan/vk_image.h40
1 files changed, 20 insertions, 20 deletions
diff --git a/src/video_core/renderer_vulkan/vk_image.h b/src/video_core/renderer_vulkan/vk_image.h
index b78242512..b4d7229e5 100644
--- a/src/video_core/renderer_vulkan/vk_image.h
+++ b/src/video_core/renderer_vulkan/vk_image.h
@@ -8,7 +8,7 @@
#include <vector>
#include "common/common_types.h"
-#include "video_core/renderer_vulkan/declarations.h"
+#include "video_core/renderer_vulkan/wrapper.h"
namespace Vulkan {
@@ -18,16 +18,16 @@ class VKScheduler;
class VKImage {
public:
explicit VKImage(const VKDevice& device, VKScheduler& scheduler,
- const vk::ImageCreateInfo& image_ci, vk::ImageAspectFlags aspect_mask);
+ const VkImageCreateInfo& image_ci, VkImageAspectFlags aspect_mask);
~VKImage();
/// Records in the passed command buffer an image transition and updates the state of the image.
void Transition(u32 base_layer, u32 num_layers, u32 base_level, u32 num_levels,
- vk::PipelineStageFlags new_stage_mask, vk::AccessFlags new_access,
- vk::ImageLayout new_layout);
+ VkPipelineStageFlags new_stage_mask, VkAccessFlags new_access,
+ VkImageLayout new_layout);
/// Returns a view compatible with presentation, the image has to be 2D.
- vk::ImageView GetPresentView() {
+ VkImageView GetPresentView() {
if (!present_view) {
CreatePresentView();
}
@@ -35,28 +35,28 @@ public:
}
/// Returns the Vulkan image handler.
- vk::Image GetHandle() const {
- return *image;
+ const vk::Image& GetHandle() const {
+ return image;
}
/// Returns the Vulkan format for this image.
- vk::Format GetFormat() const {
+ VkFormat GetFormat() const {
return format;
}
/// Returns the Vulkan aspect mask.
- vk::ImageAspectFlags GetAspectMask() const {
+ VkImageAspectFlags GetAspectMask() const {
return aspect_mask;
}
private:
struct SubrangeState final {
- vk::AccessFlags access{}; ///< Current access bits.
- vk::ImageLayout layout = vk::ImageLayout::eUndefined; ///< Current image layout.
+ VkAccessFlags access = 0; ///< Current access bits.
+ VkImageLayout layout = VK_IMAGE_LAYOUT_UNDEFINED; ///< Current image layout.
};
bool HasChanged(u32 base_layer, u32 num_layers, u32 base_level, u32 num_levels,
- vk::AccessFlags new_access, vk::ImageLayout new_layout) noexcept;
+ VkAccessFlags new_access, VkImageLayout new_layout) noexcept;
/// Creates a presentation view.
void CreatePresentView();
@@ -67,16 +67,16 @@ private:
const VKDevice& device; ///< Device handler.
VKScheduler& scheduler; ///< Device scheduler.
- const vk::Format format; ///< Vulkan format.
- const vk::ImageAspectFlags aspect_mask; ///< Vulkan aspect mask.
- const u32 image_num_layers; ///< Number of layers.
- const u32 image_num_levels; ///< Number of mipmap levels.
+ const VkFormat format; ///< Vulkan format.
+ const VkImageAspectFlags aspect_mask; ///< Vulkan aspect mask.
+ const u32 image_num_layers; ///< Number of layers.
+ const u32 image_num_levels; ///< Number of mipmap levels.
- UniqueImage image; ///< Image handle.
- UniqueImageView present_view; ///< Image view compatible with presentation.
+ vk::Image image; ///< Image handle.
+ vk::ImageView present_view; ///< Image view compatible with presentation.
- std::vector<vk::ImageMemoryBarrier> barriers; ///< Pool of barriers.
- std::vector<SubrangeState> subrange_states; ///< Current subrange state.
+ std::vector<VkImageMemoryBarrier> barriers; ///< Pool of barriers.
+ std::vector<SubrangeState> subrange_states; ///< Current subrange state.
bool state_diverged = false; ///< True when subresources mismatch in layout.
};