|
|
@ -222,7 +222,9 @@ void RasterizerOpenGL::PrepareDraw(bool is_indexed, Func&& draw_func) { |
|
|
gpu.TickWork(); |
|
|
gpu.TickWork(); |
|
|
|
|
|
|
|
|
std::scoped_lock lock{buffer_cache.mutex, texture_cache.mutex}; |
|
|
std::scoped_lock lock{buffer_cache.mutex, texture_cache.mutex}; |
|
|
|
|
|
if (pipeline->UsesLocalMemory()) { |
|
|
program_manager.LocalMemoryWarmup(); |
|
|
program_manager.LocalMemoryWarmup(); |
|
|
|
|
|
} |
|
|
pipeline->SetEngine(maxwell3d, gpu_memory); |
|
|
pipeline->SetEngine(maxwell3d, gpu_memory); |
|
|
pipeline->Configure(is_indexed); |
|
|
pipeline->Configure(is_indexed); |
|
|
|
|
|
|
|
|
@ -372,7 +374,9 @@ void RasterizerOpenGL::DispatchCompute() { |
|
|
if (!pipeline) { |
|
|
if (!pipeline) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
if (pipeline->UsesLocalMemory()) { |
|
|
program_manager.LocalMemoryWarmup(); |
|
|
program_manager.LocalMemoryWarmup(); |
|
|
|
|
|
} |
|
|
pipeline->SetEngine(kepler_compute, gpu_memory); |
|
|
pipeline->SetEngine(kepler_compute, gpu_memory); |
|
|
pipeline->Configure(); |
|
|
pipeline->Configure(); |
|
|
const auto& qmd{kepler_compute->launch_description}; |
|
|
const auto& qmd{kepler_compute->launch_description}; |
|
|
|