|
|
|
@ -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); |
|
|
|
|