snes9x/common/video/vulkan/vulkan_common.hpp

28 lines
1.3 KiB
C++

#pragma once
#include "vulkan_hpp_wrapper.hpp"
namespace Vulkan {
vk::AccessFlags get_access_flags(vk::ImageLayout layout);
vk::PipelineStageFlags get_pipeline_stage_flags(vk::ImageLayout layout);
void image_layout_transition(vk::CommandBuffer command_buffer,
vk::Image image,
vk::PipelineStageFlags src_stage_mask,
vk::PipelineStageFlags dst_stage_mask,
vk::AccessFlags src_access_mask,
vk::AccessFlags dst_access_mask,
vk::ImageLayout old_layout,
vk::ImageLayout new_layout,
vk::ImageSubresourceRange const &subresource_range);
void image_layout_transition(vk::CommandBuffer command_buffer,
vk::Image image,
vk::ImageLayout old_layout,
vk::ImageLayout new_layout,
vk::ImageSubresourceRange const &subresource_range);
void image_layout_transition(vk::CommandBuffer command_buffer,
vk::Image image,
vk::ImageLayout old_layout,
vk::ImageLayout new_layout);
} // namespace Vulkan