(shader_vulkan) Get rid of Pass:set_pass_info

This commit is contained in:
libretroadmin 2022-05-21 14:49:31 +02:00
parent 302169b49a
commit 46603db2fa

View File

@ -187,12 +187,6 @@ class Pass
Pass(Pass&&) = delete; Pass(Pass&&) = delete;
void operator=(Pass&&) = delete; void operator=(Pass&&) = delete;
Size2D set_pass_info(
const Size2D &max_original,
const Size2D &max_source,
const vulkan_filter_chain_swapchain_info &swapchain,
const vulkan_filter_chain_pass_info &info);
void set_shader(VkShaderStageFlags stage, void set_shader(VkShaderStageFlags stage,
const uint32_t *spirv, const uint32_t *spirv,
size_t spirv_words); size_t spirv_words);
@ -1030,16 +1024,26 @@ bool vulkan_filter_chain::init()
if (passes[i]->pipeline_layout != VK_NULL_HANDLE) if (passes[i]->pipeline_layout != VK_NULL_HANDLE)
vkDestroyPipelineLayout(device, passes[i]->pipeline_layout, nullptr); vkDestroyPipelineLayout(device, passes[i]->pipeline_layout, nullptr);
passes[i]->pool = VK_NULL_HANDLE; passes[i]->pool = VK_NULL_HANDLE;
passes[i]->pipeline = VK_NULL_HANDLE; passes[i]->pipeline = VK_NULL_HANDLE;
passes[i]->set_layout = VK_NULL_HANDLE; passes[i]->set_layout = VK_NULL_HANDLE;
source = passes[i]->set_pass_info(max_input_size,
source, swapchain_info, pass_info[i]); passes[i]->current_viewport = swapchain_info.viewport;
passes[i]->pass_info = pass_info[i];
passes[i]->num_sync_indices = swapchain_info.num_indices;
passes[i]->sync_index = 0;
passes[i]->current_framebuffer_size = passes[i]->get_output_size(
max_input_size, source);
passes[i]->swapchain_render_pass = swapchain_info.render_pass;
source = passes[i]->current_framebuffer_size;
if (!passes[i]->build()) if (!passes[i]->build())
return false; return false;
} }
require_clear = false; require_clear = false;
/* Initialize UBO (Uniform Buffer Object) */ /* Initialize UBO (Uniform Buffer Object) */
common.ubo.reset(); common.ubo.reset();
@ -1337,24 +1341,6 @@ Size2D Pass::get_output_size(const Size2D &original,
return { unsigned(roundf(width)), unsigned(roundf(height)) }; return { unsigned(roundf(width)), unsigned(roundf(height)) };
} }
Size2D Pass::set_pass_info(
const Size2D &max_original,
const Size2D &max_source,
const vulkan_filter_chain_swapchain_info &swapchain,
const vulkan_filter_chain_pass_info &info)
{
current_viewport = swapchain.viewport;
pass_info = info;
num_sync_indices = swapchain.num_indices;
sync_index = 0;
current_framebuffer_size = get_output_size(max_original, max_source);
swapchain_render_pass = swapchain.render_pass;
return current_framebuffer_size;
}
CommonResources::CommonResources(VkDevice device, CommonResources::CommonResources(VkDevice device,
const VkPhysicalDeviceMemoryProperties &memory_properties) const VkPhysicalDeviceMemoryProperties &memory_properties)
: device(device) : device(device)