Fix T66811 Eevee: Flickering in weight paint mode

This was caused by TAA offset being computed as the 2nd sample even if the
sampling was reset afterwards.

The fix is to update the matrices after any potential reset.
This commit is contained in:
Clément Foucault
2019-07-18 12:55:11 +02:00
parent 7a82896fbc
commit 687f1df5db
2 changed files with 6 additions and 1 deletions

View File

@@ -161,6 +161,12 @@ void EEVEE_effects_init(EEVEE_ViewLayerData *sldata,
effects->enabled_effects |= EEVEE_occlusion_init(sldata, vedata);
effects->enabled_effects |= EEVEE_screen_raytrace_init(sldata, vedata);
if ((effects->enabled_effects & EFFECT_TAA) && effects->taa_current_sample > 1) {
/* Update matrices here because EEVEE_screen_raytrace_init can have reset the
* taa_current_sample. (See T66811) */
EEVEE_temporal_sampling_update_matrices(vedata);
}
EEVEE_volumes_init(sldata, vedata);
EEVEE_subsurface_init(sldata, vedata);

View File

@@ -253,7 +253,6 @@ int EEVEE_temporal_sampling_init(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data
if (!DRW_state_is_image_render()) {
effects->taa_current_sample += 1;
repro_flag = 0;
EEVEE_temporal_sampling_update_matrices(vedata);
}
}
else {