diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-10-15 12:22:28 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-10-15 12:24:10 +0300 |
commit | 30bed8761dfb0c6ddb5ecd4b7c31c2e721a57535 (patch) | |
tree | 29443871a315e410f4ad8373b9dec881ccf1151d /source/blender/draw | |
parent | 3022e190a2374fd62e30145e9d3091951e0f21a0 (diff) |
Fix T92226 EEVEE: AO misaligned on first sample
Caused by tricky state tracking. `GPU_framebuffer_bind()` is updating
the framebuffer on first time and will reset the viewport state of it.
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_occlusion.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_occlusion.c b/source/blender/draw/engines/eevee/eevee_occlusion.c index 955cfd990ef..1acd9950012 100644 --- a/source/blender/draw/engines/eevee/eevee_occlusion.c +++ b/source/blender/draw/engines/eevee/eevee_occlusion.c @@ -199,6 +199,8 @@ void EEVEE_occlusion_compute(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) if ((effects->enabled_effects & EFFECT_GTAO) != 0) { DRW_stats_group_start("GTAO Horizon Scan"); + GPU_framebuffer_bind(fbl->gtao_fb); + /** NOTE(fclem): Kind of fragile. We need this to make sure everything lines up * nicely during planar reflection. */ if (common_data->ray_type != EEVEE_RAY_GLOSSY) { @@ -206,8 +208,6 @@ void EEVEE_occlusion_compute(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) GPU_framebuffer_viewport_set(fbl->gtao_fb, 0, 0, UNPACK2(viewport_size)); } - GPU_framebuffer_bind(fbl->gtao_fb); - DRW_draw_pass(psl->ao_horizon_search); if (common_data->ray_type != EEVEE_RAY_GLOSSY) { |