diff options
| author | Stenzek <stenzek@gmail.com> | 2017-09-09 14:04:26 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2018-01-11 15:21:34 +1000 |
| commit | 173a33886c72304aea923382ec114679dcad6ba4 (patch) | |
| tree | d17b58fbfc9f796d8c9794e743de7e97e6fc26ee /Source/Core/VideoBackends/Vulkan/VKTexture.cpp | |
| parent | 0e50b2c9f23c71f25866a1d4d14ea1b1b8a36e7d (diff) | |
Vulkan: Move render pass management to ObjectCache
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/VKTexture.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/VKTexture.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/VKTexture.cpp b/Source/Core/VideoBackends/Vulkan/VKTexture.cpp index 59be6a0eba..16aa9fecdb 100644 --- a/Source/Core/VideoBackends/Vulkan/VKTexture.cpp +++ b/Source/Core/VideoBackends/Vulkan/VKTexture.cpp @@ -56,11 +56,13 @@ std::unique_ptr<VKTexture> VKTexture::Create(const TextureConfig& tex_config) if (tex_config.rendertarget) { VkImageView framebuffer_attachments[] = {texture->GetView()}; + VkRenderPass render_pass = g_object_cache->GetRenderPass( + texture->GetFormat(), VK_FORMAT_UNDEFINED, 1, VK_ATTACHMENT_LOAD_OP_DONT_CARE); VkFramebufferCreateInfo framebuffer_info = { VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO, nullptr, 0, - TextureCache::GetInstance()->GetTextureCopyRenderPass(), + render_pass, static_cast<u32>(ArraySize(framebuffer_attachments)), framebuffer_attachments, texture->GetWidth(), @@ -175,9 +177,10 @@ void VKTexture::ScaleRectangleFromTexture(const AbstractTexture* source, m_texture->TransitionToLayout(g_command_buffer_mgr->GetCurrentCommandBuffer(), VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL); + VkRenderPass render_pass = g_object_cache->GetRenderPass( + m_texture->GetFormat(), VK_FORMAT_UNDEFINED, 1, VK_ATTACHMENT_LOAD_OP_DONT_CARE); UtilityShaderDraw draw(g_command_buffer_mgr->GetCurrentCommandBuffer(), - g_object_cache->GetPipelineLayout(PIPELINE_LAYOUT_STANDARD), - TextureCache::GetInstance()->GetTextureCopyRenderPass(), + g_object_cache->GetPipelineLayout(PIPELINE_LAYOUT_STANDARD), render_pass, g_shader_cache->GetPassthroughVertexShader(), g_shader_cache->GetPassthroughGeometryShader(), TextureCache::GetInstance()->GetCopyShader()); |
