Blender Git Commit Log
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)
/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)