diff --git a/source/blender/draw/engines/eevee_next/eevee_cryptomatte.cc b/source/blender/draw/engines/eevee_next/eevee_cryptomatte.cc index 9e5c9267981..81d1f9ddb0e 100644 --- a/source/blender/draw/engines/eevee_next/eevee_cryptomatte.cc +++ b/source/blender/draw/engines/eevee_next/eevee_cryptomatte.cc @@ -26,7 +26,8 @@ void Cryptomatte::begin_sync() session_.reset(BKE_cryptomatte_init_from_view_layer(inst_.view_layer)); for (const std::string &layer_name : - bke::cryptomatte::BKE_cryptomatte_layer_names_get(*session_)) { + bke::cryptomatte::BKE_cryptomatte_layer_names_get(*session_)) + { StringRef layer_name_ref = layer_name; bke::cryptomatte::CryptomatteLayer *layer = bke::cryptomatte::BKE_cryptomatte_layer_get( *session_, layer_name); @@ -45,6 +46,7 @@ void Cryptomatte::begin_sync() if (!(enabled_passes & (EEVEE_RENDER_PASS_CRYPTOMATTE_OBJECT | EEVEE_RENDER_PASS_CRYPTOMATTE_ASSET))) { + /* Ensure dummy buffer for API validation. */ cryptomatte_object_buf.resize(16); } } diff --git a/source/blender/draw/engines/eevee_next/eevee_pipeline.cc b/source/blender/draw/engines/eevee_next/eevee_pipeline.cc index ace12108aa1..2b80070b5ef 100644 --- a/source/blender/draw/engines/eevee_next/eevee_pipeline.cc +++ b/source/blender/draw/engines/eevee_next/eevee_pipeline.cc @@ -45,6 +45,8 @@ void WorldPipeline::sync(GPUMaterial *gpumat) world_ps_.bind_image("rp_specular_color_img", &rbufs.specular_color_tx); world_ps_.bind_image("rp_emission_img", &rbufs.emission_tx); world_ps_.bind_image("rp_cryptomatte_img", &rbufs.cryptomatte_tx); + /* Required by validation layers. */ + inst_.cryptomatte.bind_resources(&world_ps_); world_ps_.bind_ubo(CAMERA_BUF_SLOT, inst_.camera.ubo_get());