diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-11-14 22:49:13 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-11-14 22:49:33 +0300 |
commit | bc648af4e1bb9635d6d4fa6ef5d196607a47d2fb (patch) | |
tree | 4d8636677f6611fa5281351395b29944c61f01a9 /source/blender/draw/engines | |
parent | f23a595228bd56da87385e80922aefb5c72e9877 (diff) |
Fix Opengl Error with glBlitFramebuffer
This was caused by 93936b8643b9c4f77fe13d35b41ecaa246843dd8
From GL spec :
GL_INVALID_OPERATION is generated if mask contains GL_DEPTH_BUFFER_BIT or GL_STENCIL_BUFFER_BIT and the source and destination depth and stencil formats do not match.
So blitting framebuffer with depth or stencil require the SAME FORMAT.
Diffstat (limited to 'source/blender/draw/engines')
-rw-r--r-- | source/blender/draw/engines/basic/basic_engine.c | 2 | ||||
-rw-r--r-- | source/blender/draw/engines/clay/clay_engine.c | 2 | ||||
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_temporal_sampling.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/draw/engines/basic/basic_engine.c b/source/blender/draw/engines/basic/basic_engine.c index a4ee3d22444..92ffa8a1794 100644 --- a/source/blender/draw/engines/basic/basic_engine.c +++ b/source/blender/draw/engines/basic/basic_engine.c @@ -136,7 +136,7 @@ static void BASIC_engine_init(void *vedata) #ifdef USE_DEPTH if (DRW_state_is_fbo()) { const float *viewport_size = DRW_viewport_size_get(); - DRWFboTexture tex = {&txl->depth_dup, DRW_TEX_DEPTH_24, 0}; + DRWFboTexture tex = {&txl->depth_dup, DRW_TEX_DEPTH_24_STENCIL_8, 0}; DRW_framebuffer_init(&fbl->dupli_depth, &draw_engine_basic_type, (int)viewport_size[0], (int)viewport_size[1], &tex, 1); diff --git a/source/blender/draw/engines/clay/clay_engine.c b/source/blender/draw/engines/clay/clay_engine.c index c3ec878b94b..c4d4ff1a56d 100644 --- a/source/blender/draw/engines/clay/clay_engine.c +++ b/source/blender/draw/engines/clay/clay_engine.c @@ -414,7 +414,7 @@ static void CLAY_engine_init(void *vedata) if (DRW_state_is_fbo()) { const float *viewport_size = DRW_viewport_size_get(); - DRWFboTexture tex = {&e_data.depth_dup, DRW_TEX_DEPTH_24, DRW_TEX_TEMP}; + DRWFboTexture tex = {&e_data.depth_dup, DRW_TEX_DEPTH_24_STENCIL_8, DRW_TEX_TEMP}; DRW_framebuffer_init(&fbl->dupli_depth, &draw_engine_clay_type, (int)viewport_size[0], (int)viewport_size[1], &tex, 1); diff --git a/source/blender/draw/engines/eevee/eevee_temporal_sampling.c b/source/blender/draw/engines/eevee/eevee_temporal_sampling.c index 434c76643f2..6e70ba45edf 100644 --- a/source/blender/draw/engines/eevee/eevee_temporal_sampling.c +++ b/source/blender/draw/engines/eevee/eevee_temporal_sampling.c @@ -119,7 +119,7 @@ int EEVEE_temporal_sampling_init(EEVEE_SceneLayerData *UNUSED(sldata), EEVEE_Dat effects->taa_current_sample = 1; } - DRWFboTexture tex_double_buffer = {&txl->depth_double_buffer, DRW_TEX_DEPTH_24}; + DRWFboTexture tex_double_buffer = {&txl->depth_double_buffer, DRW_TEX_DEPTH_24_STENCIL_8, 0}; DRW_framebuffer_init(&fbl->depth_double_buffer_fb, &draw_engine_eevee_type, (int)viewport_size[0], (int)viewport_size[1], |