EEVEE: Restrict GPU_finish workaround to Nvidia OpenGL backend

GPU_finish was initially added by
3f0873fa1e to work-around a Nvidia driver
issue but it introduces important GPU execution gaps during rendering on
other GPUs.

Pull Request: https://projects.blender.org/blender/blender/pulls/109382
This commit is contained in:
Xavier Hallade
2023-06-26 17:40:39 +02:00
parent 47a52bd286
commit 1d847b2ee3

View File

@@ -651,8 +651,10 @@ void EEVEE_render_draw(EEVEE_Data *vedata, RenderEngine *engine, RenderLayer *rl
/* Post Process */
EEVEE_draw_effects(sldata, vedata);
/* XXX Seems to fix TDR issue with NVidia drivers on linux. */
GPU_finish();
/* NOTE(@fclem): Seems to fix TDR issue with NVidia drivers. */
if (GPU_type_matches_ex(GPU_DEVICE_NVIDIA, GPU_OS_ANY, GPU_DRIVER_ANY, GPU_BACKEND_OPENGL)) {
GPU_finish();
}
/* Perform render step between samples to allow
* flushing of freed GPUBackend resources. */