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>2018-10-31 14:32:09 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-10-31 14:32:18 +0300
commit117bc96ce88474d3c6b28e669e6ee339441051fb (patch)
tree92e2e8e07752b50aa18995f5e6bbd4ea2c550ce1 /source/blender/draw/engines/eevee/eevee_occlusion.c
parenta248c2001a0a037b921355a6caaa161c270c762f (diff)
Eevee: Fix dot corruption on intel HD5xx/6xx series
It is caused by some sync issue apparently. Adding glFlush in these two places fixes it. Caveat: it might have a small perf impact (did not measure it). The fix is limited to the affected driver/operating systems.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_occlusion.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_occlusion.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_occlusion.c b/source/blender/draw/engines/eevee/eevee_occlusion.c
index 8ede22cda5a..03aee102136 100644
--- a/source/blender/draw/engines/eevee/eevee_occlusion.c
+++ b/source/blender/draw/engines/eevee/eevee_occlusion.c
@@ -37,6 +37,9 @@
#include "eevee_private.h"
+#include "GPU_extensions.h"
+#include "GPU_state.h"
+
static struct {
/* Ground Truth Ambient Occlusion */
struct GPUShader *gtao_sh;
@@ -250,6 +253,13 @@ void EEVEE_occlusion_compute(
DRW_draw_pass(psl->ao_horizon_search);
}
+ if (GPU_mip_render_workaround()) {
+ /* Fix dot corruption on intel HD5XX/HD6XX series.
+ * It seems affected drivers are the same that needs
+ * GPU_mip_render_workaround. */
+ GPU_flush();
+ }
+
/* Restore */
GPU_framebuffer_bind(fbl->main_fb);