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:
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
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue