From ab48b08cde5e45ea4d2570e47c664d16ddc63d8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Mon, 13 May 2024 14:10:13 +0200 Subject: [PATCH] Fix: EEVEE-Next: Avoid syncing issues on AMD with cryptomatte There was a missing barrier, which created blocky, non-deterministic artifacts in the cryptomatte render tests. --- source/blender/draw/engines/eevee_next/eevee_film.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/draw/engines/eevee_next/eevee_film.cc b/source/blender/draw/engines/eevee_next/eevee_film.cc index 13bbc04fec4..7bdafb30e73 100644 --- a/source/blender/draw/engines/eevee_next/eevee_film.cc +++ b/source/blender/draw/engines/eevee_next/eevee_film.cc @@ -506,6 +506,7 @@ void Film::sync() cryptomatte_post_ps_.push_constant("cryptomatte_samples_per_layer", inst_.view_layer->cryptomatte_levels); int2 dispatch_size = math::divide_ceil(int2(cryptomatte_tx_.size()), int2(FILM_GROUP_SIZE)); + cryptomatte_post_ps_.barrier(GPU_BARRIER_SHADER_IMAGE_ACCESS); cryptomatte_post_ps_.dispatch(int3(UNPACK2(dispatch_size), 1)); } }