summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-03-26 22:55:07 +0100
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:24 +0200
commitec005be99d4f231f6d4d812841c84ab4af4204a6 (patch)
tree2e5737fd0155138615ab9e6596d7bcf59b822b36 /src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
parentshader: Implement TXQ and fix FragDepth (diff)
downloadyuzu-ec005be99d4f231f6d4d812841c84ab4af4204a6.tar
yuzu-ec005be99d4f231f6d4d812841c84ab4af4204a6.tar.gz
yuzu-ec005be99d4f231f6d4d812841c84ab4af4204a6.tar.bz2
yuzu-ec005be99d4f231f6d4d812841c84ab4af4204a6.tar.lz
yuzu-ec005be99d4f231f6d4d812841c84ab4af4204a6.tar.xz
yuzu-ec005be99d4f231f6d4d812841c84ab4af4204a6.tar.zst
yuzu-ec005be99d4f231f6d4d812841c84ab4af4204a6.zip
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp')
-rw-r--r--src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
index a87ed1976..82536b9d6 100644
--- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
+++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
@@ -139,7 +139,6 @@ void GraphicsPipeline::Configure(bool is_indexed) {
static_vector<VkSampler, max_images_elements> samplers;
texture_cache->SynchronizeGraphicsDescriptors();
- texture_cache->UpdateRenderTargets(false);
const auto& regs{maxwell3d->regs};
const bool via_header_index{regs.sampler_index == Maxwell::SamplerIndex::ViaHeaderIndex};
@@ -181,13 +180,17 @@ void GraphicsPipeline::Configure(bool is_indexed) {
PushImageDescriptors(stage_infos[stage], samplers.data(), image_view_ids.data(),
*texture_cache, *update_descriptor_queue, index);
}
+ texture_cache->UpdateRenderTargets(false);
+ scheduler->RequestRenderpass(texture_cache->GetFramebuffer());
+
+ scheduler->BindGraphicsPipeline(*pipeline);
+
if (!descriptor_set_layout) {
return;
}
const VkDescriptorSet descriptor_set{descriptor_allocator.Commit()};
update_descriptor_queue->Send(*descriptor_update_template, descriptor_set);
- scheduler->BindGraphicsPipeline(*pipeline);
scheduler->Record([descriptor_set, layout = *pipeline_layout](vk::CommandBuffer cmdbuf) {
cmdbuf.BindDescriptorSets(VK_PIPELINE_BIND_POINT_GRAPHICS, layout, 0, descriptor_set,
nullptr);