[vulkan, rasterizer] Executing UpdateDynamicStates() before BindPipeline function

This commit is contained in:
CamilleLaVey 2026-01-26 23:20:07 -04:00
parent b3d4dbca60
commit c0d1438862
1 changed files with 4 additions and 3 deletions

View File

@ -200,7 +200,7 @@ RasterizerVulkan::RasterizerVulkan(Core::Frontend::EmuWindow& emu_window_, Tegra
// Log multi-draw support
if (device.IsExtMultiDrawSupported()) {
LOG_INFO(Render_Vulkan, "VK_EXT_multi_draw is enabled for optimized draw calls");
LOG_INFO(Render_Vulkan, "VK_EXT_multi_draw is enabled for draw calls");
}
}
@ -222,11 +222,12 @@ void RasterizerVulkan::PrepareDraw(bool is_indexed, Func&& draw_func) {
std::scoped_lock lock{buffer_cache.mutex, texture_cache.mutex};
// update engine as channel may be different.
pipeline->SetEngine(maxwell3d, gpu_memory);
if (!pipeline->Configure(is_indexed))
return;
UpdateDynamicStates();
if (!pipeline->Configure(is_indexed))
return;
HandleTransformFeedback();
query_cache.CounterEnable(VideoCommon::QueryType::ZPassPixelCount64,
maxwell3d->regs.zpass_pixel_count_enable);