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.
This commit is contained in:
Clément Foucault 2018-10-31 12:32:09 +01:00
parent a248c2001a
commit 117bc96ce8
Notes: blender-bot 2023-02-14 05:21:10 +01:00
Referenced by issue #58266, Bottom half of the default cube and other meshes are transparent with eevee
Referenced by issue #56668, Intel HD530 + Windows 10 Bugs
2 changed files with 18 additions and 0 deletions

View File

@ -34,6 +34,7 @@
#include "eevee_private.h"
#include "GPU_texture.h"
#include "GPU_extensions.h"
#include "GPU_state.h"
static struct {
/* Downsample Depth */
@ -470,6 +471,13 @@ void EEVEE_create_minmax_buffer(EEVEE_Data *vedata, GPUTexture *depth_src, int l
/* Restore */
GPU_framebuffer_bind(fbl->main_fb);
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();
}
}
/**

View File

@ -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);