mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-20 10:56:58 +02:00
Support layered PS5 image alias transitions
This commit is contained in:
@@ -110,8 +110,15 @@ struct VideoOutVulkanImage: public VulkanImage {
|
||||
};
|
||||
|
||||
struct DepthStencilVulkanImage: public VulkanImage {
|
||||
struct AttachmentView {
|
||||
uint32_t base_layer = 0;
|
||||
uint32_t layer_count = 1;
|
||||
VkImageView view = nullptr;
|
||||
};
|
||||
DepthStencilVulkanImage(): VulkanImage(VulkanImageType::DepthStencil) {}
|
||||
bool compressed = false;
|
||||
bool compressed = false;
|
||||
std::mutex attachment_view_mutex;
|
||||
std::vector<AttachmentView> attachment_views;
|
||||
};
|
||||
|
||||
struct GpuTextureVulkanImage: public VulkanImage {
|
||||
@@ -138,22 +145,30 @@ struct StorageTextureVulkanImage: public GpuTextureVulkanImage {
|
||||
|
||||
struct RenderTextureVulkanImage: public VulkanImage {
|
||||
struct AttachmentView {
|
||||
VkFormat format = VK_FORMAT_UNDEFINED;
|
||||
uint32_t level = 0;
|
||||
VkImageView view = nullptr;
|
||||
VkFormat format = VK_FORMAT_UNDEFINED;
|
||||
uint32_t level = 0;
|
||||
uint32_t base_layer = 0;
|
||||
uint32_t layer_count = 1;
|
||||
VkImageView view = nullptr;
|
||||
};
|
||||
struct SampledView {
|
||||
VkFormat format = VK_FORMAT_UNDEFINED;
|
||||
uint32_t base_level = 0;
|
||||
uint32_t level_count = 0;
|
||||
int variant = VIEW_DEFAULT;
|
||||
VkImageView view = nullptr;
|
||||
VkFormat format = VK_FORMAT_UNDEFINED;
|
||||
VkImageViewType type = VK_IMAGE_VIEW_TYPE_2D;
|
||||
uint32_t base_level = 0;
|
||||
uint32_t level_count = 0;
|
||||
uint32_t base_layer = 0;
|
||||
uint32_t layer_count = 1;
|
||||
int variant = VIEW_DEFAULT;
|
||||
VkImageView view = nullptr;
|
||||
};
|
||||
struct StorageView {
|
||||
VkFormat format = VK_FORMAT_UNDEFINED;
|
||||
uint32_t base_level = 0;
|
||||
uint32_t level_count = 0;
|
||||
VkImageView view = nullptr;
|
||||
VkFormat format = VK_FORMAT_UNDEFINED;
|
||||
VkImageViewType type = VK_IMAGE_VIEW_TYPE_2D;
|
||||
uint32_t base_level = 0;
|
||||
uint32_t level_count = 0;
|
||||
uint32_t base_layer = 0;
|
||||
uint32_t layer_count = 1;
|
||||
VkImageView view = nullptr;
|
||||
};
|
||||
RenderTextureVulkanImage(): VulkanImage(VulkanImageType::RenderTexture) {}
|
||||
VkImageView render_view[16] = {};
|
||||
|
||||
Reference in New Issue
Block a user