VideoCommon: Support hot reloading of VS expand

This commit is contained in:
TellowKrinkle 2022-10-22 20:11:52 -05:00
parent 3912fa7a2e
commit 1e9b6f88e4
4 changed files with 10 additions and 5 deletions

View File

@ -202,7 +202,6 @@ void AdvancedWidget::OnBackendChanged()
{
m_backend_multithreading->setEnabled(g_Config.backend_info.bSupportsMultithreading);
m_prefer_vs_for_point_line_expansion->setEnabled(
Core::GetState() == Core::State::Uninitialized &&
g_Config.backend_info.bSupportsGeometryShaders &&
g_Config.backend_info.bSupportsVSLinePointExpand);
AddDescriptions();
@ -211,10 +210,6 @@ void AdvancedWidget::OnBackendChanged()
void AdvancedWidget::OnEmulationStateChanged(bool running)
{
m_enable_prog_scan->setEnabled(!running);
m_prefer_vs_for_point_line_expansion->setEnabled(
!running &&
g_Config.backend_info.bSupportsGeometryShaders &&
g_Config.backend_info.bSupportsVSLinePointExpand);
}
void AdvancedWidget::AddDescriptions()

View File

@ -488,6 +488,7 @@ void Renderer::CheckForConfigChanges()
UpdateActiveConfig();
FreeLook::UpdateActiveConfig();
g_vertex_manager->OnConfigChange();
g_freelook_camera.SetControlType(FreeLook::GetActiveConfig().camera_config.control_type);

View File

@ -826,6 +826,12 @@ void VertexManagerBase::UpdatePipelineObject()
}
}
void VertexManagerBase::OnConfigChange()
{
// Reload index generator function tables in case VS expand config changed
m_index_generator.Init();
}
void VertexManagerBase::OnDraw()
{
m_draw_counter++;

View File

@ -140,6 +140,9 @@ public:
u32* out_offset, const void* palette_data, u32 palette_size,
TexelBufferFormat palette_format, u32* out_palette_offset);
// Call if active config changes
void OnConfigChange();
// CPU access tracking - call after a draw call is made.
void OnDraw();