renderer_vulkan: Fix dynamic state being lost
This commit is contained in:
@@ -286,6 +286,7 @@ bool PipelineCache::BindPipeline(const PipelineInfo& info, bool wait_built) {
|
||||
|
||||
current_info = info;
|
||||
current_pipeline = pipeline;
|
||||
scheduler.MarkStateNonDirty(StateFlags::Pipeline);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@@ -501,8 +501,11 @@ bool RasterizerVulkan::Draw(bool accelerate, bool is_indexed) {
|
||||
SyncAndUploadLUTsLF();
|
||||
UploadUniforms(accelerate);
|
||||
|
||||
// Configure viewport and scissor
|
||||
// Begin rendering
|
||||
const auto draw_rect = fb_helper.DrawRect();
|
||||
renderpass_cache.BeginRendering(framebuffer, draw_rect);
|
||||
|
||||
// Configure viewport and scissor
|
||||
const auto viewport = fb_helper.Viewport();
|
||||
scheduler.Record([viewport, draw_rect](vk::CommandBuffer cmdbuf) {
|
||||
const vk::Viewport vk_viewport = {
|
||||
@@ -529,9 +532,6 @@ bool RasterizerVulkan::Draw(bool accelerate, bool is_indexed) {
|
||||
cmdbuf.setScissor(0, scissor);
|
||||
});
|
||||
|
||||
// Begin rendering
|
||||
renderpass_cache.BeginRendering(framebuffer, draw_rect);
|
||||
|
||||
// Draw the vertex batch
|
||||
bool succeeded = true;
|
||||
if (accelerate) {
|
||||
|
Reference in New Issue
Block a user