Commit Graph

66005 Commits

Author SHA1 Message Date
Sergey Sharybin
8791eaa5b0 Movie cache: made it thread safe to operate with memory limitor
Movie cache is using global memory limitor, which isn't thread safe
in some of operations, so it required to add mutex around limitor
operations in movie cache.

It's probably could be solved in a way with less locks involved by
using different limitor for different areas (like use own limitor
for clips, own limitor for sequencer and so), but that wouldn't be
so easy to control overall memory usage.

--
svn merge -r50125:50126 ^/branches/soc-2011-tomato
2012-09-14 14:55:59 +00:00
Sergey Sharybin
883b23d332 Synchronize changes with trunk 2012-09-14 14:49:40 +00:00
Sergey Sharybin
be5a35d916 Color Management: get rid of image buffer's profile flag
Currently float buffers are always linear, space of byte buffer is defined by
rect_colorspace property.

Replaced logic of IMB_rect_from_float and IMB_float_from_rect to use this
assumptions (before it was special function used in some areas only, now it's
default behavior).

Almost all functions from ImBuf module which are actually used are got rid from
profile flag. Only remained issue is IMB_float_profile_ensure which only used by
CIneon/DPX exporter which is broken for a while already. Need to be fixed
separately.

This also fixed clone brush when cloning byte image on top of float, before
this result would be gamma-corrected twice.
2012-09-14 14:37:19 +00:00
Sergey Sharybin
8e1138d7f6 Color Management: re-implement OCIO-less build configuration
Use OCIO stub file with hardcoded displays, views and color spaces.

Intended to behave in the same way as old implementation, just it's
now more clear code with much fewer ifdef checks.

Also should make it possible to get rid of ibuf's profile flag.

Thanks Brecht van Lommel for this patch!
2012-09-14 14:37:00 +00:00
Sergey Sharybin
a97ddb0328 Color Management: remove unused functions 2012-09-14 14:36:53 +00:00
Sergey Sharybin
d7f55cff20 Color Management: image buffer loading reworked
Before this color space settings in image/movie clip data blocks
defined space in which loaded image buffer is, based on whether
this buffer contains float or byte buffer. This didn't work well
for formats like 16bit PNG, which are in fact non-linear formats
but were represented in Blender as float buffers.

Now image buffer loader is responsible to set up input default
color space for image/movie clip data blocks, which could be
based on format itself only or on particular file properties.

This means image/movie clip data blocks' input colorspace will
be initialized at time first image buffer is loaded.

This also resolves old confusing thing with image buffer's profile
flag, which in could have been non-linear for image buffer which
contained float buffer only -- this happened in mentioned case of
16 bit PNG format, i.e. Now float buffer would always be linear
which should make it easier to get rid of image buffer's profile.
2012-09-14 14:36:47 +00:00
Sergey Sharybin
cd4ffe496a Sequencer: clear cache and animation buffers for strips outside of cursor when rendering
This avoids having bunch of cached images when doing animation rendering,
keeping all the memory available for rendered itself.

This keeps memory usage low when rendering huge edits with mixed
scenes and movie strips.

This should not affect on sped of video encoding, which was confirmed by
some own tests.

--
svn merge -r50051:50052 ^/branches/soc-2011-tomato
2012-09-14 14:28:24 +00:00
Sergey Sharybin
58da4a1760 Merging r50576 through r50587 from trunk into soc-2011-tomato 2012-09-14 14:05:05 +00:00
Thomas Dinges
51077ea97a Cycles / Test:
* Enable progressive flag, tiles are not working properly (Image gets brighter with more samples and no visible updates until all tiles are finished).
2012-09-14 13:11:48 +00:00
Brecht Van Lommel
c849928d1c Code cleanup: removed unused Cocoa image load/save code. 2012-09-14 11:42:05 +00:00
Campbell Barton
e762797af5 fix for sharp edge selection being inverted, change default angle from 1 to 30deg. 2012-09-14 11:10:03 +00:00
Campbell Barton
7a71f58af3 fixes for NULL checks, remove some redundant checks and add some in that have been removed by accident as code has been updated. 2012-09-14 06:17:14 +00:00
Campbell Barton
3957efdd38 fix for out-of-bounds checks for fcurve modifier and poselib, also check for NULL members of avi structure (since they are checked for NULL later.) 2012-09-14 06:15:46 +00:00
Campbell Barton
f6c7a69565 code cleanup: correct misleading use of LABEL button type. 2012-09-14 05:44:47 +00:00
Campbell Barton
b31a88ccf0 add checking target check_smatch 2012-09-14 05:08:48 +00:00
Campbell Barton
e74701fbfc node transform was using PET mode (drawing a circle - but it did nothing), disable PET for nodes. 2012-09-14 01:28:26 +00:00
Campbell Barton
883117077b fix for 2 crashes freeing masks
- freeing a mask from RNA BKE_libblock_free() twice on the mask.
- loading a new blend file would only free the mask and not unlink it from nodes - it would access freed memory.
2012-09-14 01:15:08 +00:00
Dalai Felinto
622ac250f9 bge cleanup caught by accident while going over the code, it seems someone forgot to use rect_height everywhere (no functional change) 2012-09-13 23:39:09 +00:00
Sergey Sharybin
5badefa8cf Color Management: fix crash when strip failed to render
In this case sequencer would allocate empty image buffer which used to not to
have assigned color spaces but it was marked as non-linear float.

Assuming black would always be black in sequencer's color space no additional
transformation for display is needed.

Solved by removing NOLINEAR_FLOAT flag from image buffers and using check
image buffer's float_colorspace for NULL when needed to check whether float
buffer is linear or not.
2012-09-13 14:52:25 +00:00
Sergey Sharybin
ad15c19ab9 Merging r50573 through r50575 from trunk soc-2011-tomato 2012-09-13 13:53:58 +00:00
Brecht Van Lommel
888c4fd253 Fix #32547: unwrap on default cube got broken in recent commit. 2012-09-13 13:29:10 +00:00
Sergey Sharybin
f631ae9f46 Color Management: fix segfault when configuration file is missing
Also don't try to load configuration file from environment variable if
it contains empty string.
2012-09-13 13:08:31 +00:00
Sergey Sharybin
de7a57a242 Merging r50522 through r50572 from trunk into soc-2011-tomato 2012-09-13 11:13:13 +00:00
Sergey Sharybin
c3b808721b Sequencer: add missed cache invalidation
Invalidation was missed for:

- Strip (Un)Muting
- Changing speed effect
- Strip translating
2012-09-13 10:51:18 +00:00
Sergey Sharybin
81d22a0e6b Sequencer: fix invalid update when translating strip which is behind semi-transparent strip 2012-09-13 10:51:13 +00:00
Jens Verwiebe
4f9ee399c0 Fix typo in blenfont sconscript, broke compile 2012-09-13 08:09:12 +00:00
Campbell Barton
05755d307a fix [#31946] Masking doesn't respect pixel ratio 2012-09-13 05:29:38 +00:00
Campbell Barton
c5310521f8 fix for drawing non 1:1 aspect masks, transform and selection still need support. 2012-09-13 02:28:48 +00:00
Campbell Barton
ab48f2108b - cmake macro list_insert_after/list_insert_before now error when the item passed is not found in the list.
- BKE_pose_copy_data() check for target pointer is no longer valid and infact comparing against un-initialized memory in some cases.
2012-09-13 01:52:58 +00:00
Campbell Barton
4cb6d5d214 code cleanup: reduce calls to CTX_ functions inline, add some docs to mask rasterizer. 2012-09-13 01:50:21 +00:00
Mitchell Stokes
3e4b353cfa BGE: LibLoaded sensors that made use of physics controllers (touch, collision) could cause various physics problems (like infinite loops in Bullet, etc). This happened because their KX_TouchEventManagers were merged prior to having their physics controllers merged, which has now been fixed. Thanks to Kupoman for hunting down the fix! 2012-09-13 00:46:50 +00:00
Campbell Barton
12da3d999b modifications needed to get a URL from an RNA id from the testing script 2012-09-13 00:26:01 +00:00
Campbell Barton
2596a0bd24 test script to check rna/wiki lookup completeness 2012-09-13 00:17:38 +00:00
Campbell Barton
f66d11cf77 fix for missing NULL check in own recent commit, thanks Gaia for pointing this out. 2012-09-12 23:19:08 +00:00
Gaia Clary
0a0074f9c6 Collada: do not call polylist export for objects with no polygons (avoid a missleading warning message) 2012-09-12 18:26:01 +00:00
Brecht Van Lommel
272700728f Fix #32338: particle instance modifier did not work well when the mesh had only
vertices. Previously it would hide particles by creating invalid faces, but this
didn't make the vertices actually disappear.

Also found that it could generated corrupt geometry for cases with faces, which
gave wrong subsurf and could crash in edit mode.
2012-09-12 16:42:24 +00:00
Gaia Clary
ab77d11bdb #31682: corrected some minor typos in the comment 2012-09-12 15:48:22 +00:00
Gaia Clary
26260ffc74 #31682: partial fix (the export): Avoid to copy exported image into itself 2012-09-12 15:41:58 +00:00
Brecht Van Lommel
7ed5d19c24 Fix #32543: screw modifier with smooth shading disabled still had one segment
smooth shaded.
2012-09-12 13:06:31 +00:00
Brecht Van Lommel
585cfff87a Fix #32031: particle distribution on degenerate faces could give NaN values,
which in this case caused NaN values in render lighting.
2012-09-12 13:06:28 +00:00
Brecht Van Lommel
3d38ad1b17 Attempted fix for #32415: tighten up cycles opencl initialization checks to try to
avoid crashes. Don't think these should be needed but maybe it helps.
2012-09-12 11:25:47 +00:00
Campbell Barton
db1191d451 fix [#31019] [Minor] Freshly added nodes aren't getting undo push
also noticed ED_undo_push was checking USER_GLOBALUNDO unnecessarily
2012-09-12 11:09:27 +00:00
Thomas Dinges
d86f1f67fd Cycles UI:
* Non-Progressive UI couldn't be displayed if the device was set to GPU, but User Preferences Device was NULL. (for example when opening .blend file on another computer without GPU capabilities)

* Fix missing update in the Properties editor, when changing compute_device.

This fixes [#32115] OSX and cycles no non-progessive sample input settings appearing in interface.
2012-09-12 10:54:25 +00:00
Campbell Barton
08cbfff67c add note that clip start is for perspective view only. 2012-09-12 10:18:35 +00:00
Campbell Barton
f637a52272 fix [#30324] VSE: Right-Click does not select directory 2012-09-12 10:04:09 +00:00
Campbell Barton
7b15620da0 fix [#32350] F11 play animation crash when UI language is not "Default"
this is a bug in boost 1.46, can remove this env var override when this version of boost is no longer supported.
2012-09-12 08:06:06 +00:00
Campbell Barton
9a07bd78fc add clarification, without this the tool reads as if it makes the radius of each selected vertex equal. 2012-09-12 06:31:26 +00:00
Campbell Barton
77e351300b code cleanup: replace BM_DISK_EDGE_LINK_GET define with inline function, that checks for the vertex not matching either of the edges verts. 2012-09-12 05:11:38 +00:00
Campbell Barton
bd5fdf63cb fix [#31456] Extreme lag editing meshes
running BM_CHECK_ELEMENT was taking over 75% of the time to subdivide a mesh, since this only reports errors, and is so slow - only run this on non-release builds.
2012-09-12 04:53:49 +00:00
Campbell Barton
0ee9075e48 fix memory leak when baking feedback loop detected. 2012-09-12 03:11:29 +00:00