Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2019-03-27 21:15:23 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-03-27 21:15:32 +0300
commit96d200775a69a86fb491841ef171d2131841442f (patch)
treeea467ee9ac4eb0595565c84673c1d940d1c0c71e /source/blender/draw
parent6d1921dd81664c74318b62ae1b2d5e609abce1b4 (diff)
Fix T62997 Eevee: visual artifacts during irradiance volume baking
Seems to be a problem with Nvidia drivers. glFlush does not work but glFinish does ensure correct multithreading.
Diffstat (limited to 'source/blender/draw')
-rw-r--r--source/blender/draw/intern/draw_manager.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index f8438742ed8..9f956717fb2 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -2008,6 +2008,12 @@ void DRW_custom_pipeline(
GPU_viewport_free(DST.viewport);
GPU_framebuffer_restore();
+ /* The use of custom pipeline in other thread using the same
+ * resources as the main thread (viewport) may lead to data
+ * races and undefined behavior on certain drivers. Using
+ * GPU_finish to sync seems to fix the issue. (see T62997) */
+ GPU_finish();
+
#ifdef DEBUG
/* Avoid accidental reuse. */
drw_state_ensure_not_reused(&DST);