diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-04-20 18:45:36 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-04-20 18:45:36 +0300 |
commit | f2626f14209e574eb23f115bf84a3452bfb9a89c (patch) | |
tree | 683eccdd2c3bb2815b2bf61a4ec83f7e3006038e /source/blender/draw | |
parent | f1b61f5e7ddbb2415b0fbf202815daafef2d3885 (diff) | |
parent | 3735986e875981e5525ec8cec379023abcc692bf (diff) |
Merge branch 'blender-v2.93-release'
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_effects.c | 3 | ||||
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_materials.c | 10 |
2 files changed, 12 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_effects.c b/source/blender/draw/engines/eevee/eevee_effects.c index f4f7acb8862..3a38edecec6 100644 --- a/source/blender/draw/engines/eevee/eevee_effects.c +++ b/source/blender/draw/engines/eevee/eevee_effects.c @@ -171,7 +171,8 @@ void EEVEE_effects_init(EEVEE_ViewLayerData *sldata, }); } else { - txl->filtered_radiance = NULL; + DRW_TEXTURE_FREE_SAFE(txl->filtered_radiance); + GPU_FRAMEBUFFER_FREE_SAFE(fbl->radiance_filtered_fb); } /** diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c index 042fa621117..f05aa562e6b 100644 --- a/source/blender/draw/engines/eevee/eevee_materials.c +++ b/source/blender/draw/engines/eevee/eevee_materials.c @@ -1081,12 +1081,22 @@ void EEVEE_material_output_accumulate(EEVEE_ViewLayerData *sldata, EEVEE_Data *v } } if (pd->render_passes & EEVEE_RENDER_PASS_SPECULAR_COLOR) { + bool prev_ssr = sldata->common_data.ssr_toggle; + if (prev_ssr) { + /* We need to disable ssr here so output radiance is not directed to the ssr buffer. */ + sldata->common_data.ssr_toggle = false; + GPU_uniformbuf_update(sldata->common_ubo, &sldata->common_data); + } material_renderpass_accumulate(fbl, material_accum_ps, NULL, pd, txl->spec_color_accum, sldata->renderpass_ubo.spec_color); + if (prev_ssr) { + sldata->common_data.ssr_toggle = prev_ssr; + GPU_uniformbuf_update(sldata->common_ubo, &sldata->common_data); + } } if (pd->render_passes & EEVEE_RENDER_PASS_SPECULAR_LIGHT) { material_renderpass_accumulate(fbl, |