vk: Clean up image_view interfaces

This commit is contained in:
kd-11 2026-02-22 21:14:15 +03:00 committed by kd-11
parent e29cd4cc93
commit 794abe2025
4 changed files with 7 additions and 15 deletions

View file

@ -911,15 +911,15 @@ namespace vk
m_cyclic_ref_tracker.reset();
}
image_view* render_target::get_view(VkFormat format, const rsx::texture_channel_remap_t& remap, VkImageAspectFlags mask)
image_view* render_target::get_view(const rsx::texture_channel_remap_t& remap, VkImageAspectFlags mask)
{
if (remap.encoded == VK_REMAP_VIEW_MULTISAMPLED)
{
// Special remap flag, intercept here
return vk::viewable_image::get_view(format, remap.with_encoding(VK_REMAP_IDENTITY), mask);
return vk::viewable_image::get_view(remap.with_encoding(VK_REMAP_IDENTITY), mask);
}
return vk::viewable_image::get_view(format, remap, mask);
return vk::viewable_image::get_view(remap, mask);
}
void render_target::memory_barrier(vk::command_buffer& cmd, rsx::surface_access access)

View file

@ -110,7 +110,7 @@ namespace vk
bool matches_dimensions(u16 _width, u16 _height) const;
void reset_surface_counters();
image_view* get_view(VkFormat format, const rsx::texture_channel_remap_t& remap,
image_view* get_view(const rsx::texture_channel_remap_t& remap,
VkImageAspectFlags mask = VK_IMAGE_ASPECT_COLOR_BIT | VK_IMAGE_ASPECT_DEPTH_BIT) override;
// Memory management

View file

@ -463,7 +463,7 @@ namespace vk
return result;
}
image_view* viewable_image::get_view(VkFormat format, const rsx::texture_channel_remap_t& remap, VkImageAspectFlags mask)
image_view* viewable_image::get_view(const rsx::texture_channel_remap_t& remap, VkImageAspectFlags mask)
{
u32 remap_encoding = remap.encoded;
if (remap_encoding == VK_REMAP_IDENTITY)
@ -482,7 +482,7 @@ namespace vk
if (found != views.end())
{
ensure(found->second->info.subresourceRange.aspectMask & mask);
return found->second->as(format);
return found->second.get();
}
VkComponentMapping real_mapping;
@ -506,7 +506,7 @@ namespace vk
const VkImageSubresourceRange range = { aspect() & mask, 0, info.mipLevels, 0, info.arrayLayers };
ensure(range.aspectMask);
auto view = std::make_unique<vk::image_view>(*g_render_device, this, format, VK_IMAGE_VIEW_TYPE_MAX_ENUM, real_mapping, range);
auto view = std::make_unique<vk::image_view>(*g_render_device, this, format(), VK_IMAGE_VIEW_TYPE_MAX_ENUM, real_mapping, range);
auto result = view.get();
views.emplace(storage_key, std::move(view));
return result;

View file

@ -150,17 +150,9 @@ namespace vk
using image::image;
virtual image_view* get_view(
VkFormat format,
const rsx::texture_channel_remap_t& remap,
VkImageAspectFlags mask = VK_IMAGE_ASPECT_COLOR_BIT | VK_IMAGE_ASPECT_DEPTH_BIT);
image_view* get_view(
const rsx::texture_channel_remap_t& remap,
VkImageAspectFlags mask = VK_IMAGE_ASPECT_COLOR_BIT | VK_IMAGE_ASPECT_DEPTH_BIT)
{
return get_view(info.format, remap, mask);
}
void set_native_component_layout(VkComponentMapping new_layout);
};
}