vk: don't set scissoring in final OIT subpass

If scissoring is enabled, previous framebuffer background isn't drawn
outside of scissor region.
Fixes blinking in Soul Calibur battle loading screen.
Issue #1668
This commit is contained in:
Flyinghead 2024-10-08 11:49:34 +02:00
parent e427c4d5c4
commit f37e43b26f
1 changed files with 1 additions and 1 deletions

View File

@ -431,7 +431,6 @@ bool OITDrawer::Draw(const Texture *fogTexture, const Texture *paletteTexture)
cmdBuffer.clearAttachments(vk::ClearAttachment(vk::ImageAspectFlagBits::eColor, 0, clear_colors[0]),
vk::ClearRect(viewport, 0, 1));
}
SetScissor(cmdBuffer, baseScissor);
// Tr modifier volumes
if (GetContext()->GetVendorID() != VulkanContext::VENDOR_QUALCOMM) // Adreno bug
@ -442,6 +441,7 @@ bool OITDrawer::Draw(const Texture *fogTexture, const Texture *paletteTexture)
DrawModifierVolumes<true>(cmdBuffer, previous_pass.mvo_tr_count, current_pass.mvo_tr_count - previous_pass.mvo_tr_count, pvrrc.global_param_mvo_tr.data());
}
SetScissor(cmdBuffer, viewport);
vk::Pipeline pipeline = pipelineManager->GetFinalPipeline(dithering && finalPass);
cmdBuffer.bindPipeline(vk::PipelineBindPoint::eGraphics, pipeline);
quadBuffer->Bind(cmdBuffer);