Fix #119427: UI: The Metadata is gone for the rendered image
This is a regression since d579ac2b3f
Ensure that the image buffers used by render passes have metadata at the
end of render, similarly to how stamping happens. This solves the reported
issue, and makes the metadata behave consistently, independent on how the
image buffer is accessed.
Thanks Philipp Oeser for investigation and pin-pointing the bad commit!
Pull Request: https://projects.blender.org/blender/blender/pulls/119503
This commit is contained in:
committed by
Sergey Sharybin
parent
218c02abc4
commit
e2d7bd199e
@@ -1328,6 +1328,23 @@ static void do_render_compositor(Render *re)
|
||||
}
|
||||
}
|
||||
|
||||
static void renderresult_set_passes_metadata(Render *re)
|
||||
{
|
||||
RenderResult *render_result = re->result;
|
||||
|
||||
BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE);
|
||||
|
||||
LISTBASE_FOREACH (RenderLayer *, render_layer, &render_result->layers) {
|
||||
LISTBASE_FOREACH_BACKWARD (RenderPass *, render_pass, &render_layer->passes) {
|
||||
if (render_pass->ibuf) {
|
||||
BKE_imbuf_stamp_info(render_result, render_pass->ibuf);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BLI_rw_mutex_unlock(&re->resultmutex);
|
||||
}
|
||||
|
||||
static void renderresult_stampinfo(Render *re)
|
||||
{
|
||||
RenderResult rres;
|
||||
@@ -1525,6 +1542,8 @@ static void do_render_full_pipeline(Render *re)
|
||||
BKE_render_result_stamp_info(re->scene, ob_camera_eval, re->result, false);
|
||||
}
|
||||
|
||||
renderresult_set_passes_metadata(re);
|
||||
|
||||
/* stamp image info here */
|
||||
if ((re->r.stamp & R_STAMP_ALL) && (re->r.stamp & R_STAMP_DRAW)) {
|
||||
renderresult_stampinfo(re);
|
||||
|
||||
Reference in New Issue
Block a user