Blender Git Loki

Git Commits -> Revision 7271f8e

Revision 7271f8e by Sergey Sharybin (master)
July 20, 2012, 14:16 (GMT)
Color management: threading fixes and partial buffer update refactor

There used to be an issue in colormanage_cache_get which lead to
wrong reference number counter in cases when exposure / gamma
does not match values stored in cache. In this case cache handle
should be set to NULL, no callee function could always call
buffer release function (as it was intended to).

Made display buffer acquire / release functions thread safe.
This applies to "external" API only, internal helpers are
non-thread safe for performance issues, so if one uses them
he need to be careful.

Converted partial display buffer update into a single function
which still updates all display buffer ever created for given
image buffer. This means that it's not needed to create any
kind of context first and if there're display buffers created
in-between of partial updates they would also be updated with
next calls of partial updates.

This allowed to make render result nicely color managed during
rendering, meaning that render progress is visualisable with
color management for image editor set up.

Commit Details:

Full Hash: 7271f8e38f2ae89be0a0e68af6d724aae0424788
SVN Revision: 49084
Parent Commit: 10f14fb
Lines Changed: +139, -197

7 Modified Paths:

/source/blender/blenlib/BLI_threads.h (+1, -0) (Diff)
/source/blender/blenlib/intern/threads.c (+5, -0) (Diff)
/source/blender/compositor/operations/COM_ViewerBaseOperation.cpp (+12, -16) (Diff)
/source/blender/compositor/operations/COM_ViewerBaseOperation.h (+1, -1) (Diff)
/source/blender/editors/render/render_internal.c (+4, -0) (Diff)
/source/blender/imbuf/IMB_colormanagement.h (+3, -3) (Diff)
/source/blender/imbuf/intern/colormanagement.c (+113, -177) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021