bugfix: [#32073] Displace node different result between Low and high quality

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48883 954f8c5b-7b00-dc11-b283-0030488c597c
new function barycentric_weights_v2_quad(), like barycentric_weights_v2 but for quads.

takes vecs and a point and assigns 4 weights, needed for nice quad interpolation for mask feathering.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48885 954f8c5b-7b00-dc11-b283-0030488c597c
masking - add feather faces as quads and interpolate as quads to avoid ugly diagonal lines.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48886 954f8c5b-7b00-dc11-b283-0030488c597c
temp disable quad interpolation


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48887 954f8c5b-7b00-dc11-b283-0030488c597c
speedup - because we know triangles will always have the same z value.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48888 954f8c5b-7b00-dc11-b283-0030488c597c
Removed parameter from executePixel and initializeTileData.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48890 954f8c5b-7b00-dc11-b283-0030488c597c
Inner loop optimization of blur node


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48891 954f8c5b-7b00-dc11-b283-0030488c597c
fix for crash with new rasterizer


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48892 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #32087: Crash while changing values in comp editor (bt and blender included)

Issue was caused by threading conflict between compositor output node which
is freeing buffers used by render result image and image draw code which
could use buffers at the same time as compositor frees this buffers.

Solved by adding adding  lock around viewer image invalidation and image
drawing.

Use renamed LOCK_PREVIEW mutex for this, which si not called LOCK_DRAW_IMAGE.
With new compositor locking for preview is not needed so it could be removed.

Added the same lock around viewer operation which also frees buffers used
by viewer image. It's actually quite difficult to check whether this is
indeed needed. This code seems to be using acquire/release technique, but
somehow acquiring ImBuf before invalidating it in compositor operation
doesn't resolve the issue, so probably it's not actually locking acquire
and things should be checked deeper.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48893 954f8c5b-7b00-dc11-b283-0030488c597c
Fix [#32013] Crash loading a 2.49b model

Problems were in the old multires loading system.

Actually, the sigsev itself was the easy part of the job (simply had to convert from tesselated data to polys/loops), but after that I was getting a horrible bunch of wild stray faces...

It finally turned out it was a mismatch in two different subsurf structs used while computing a mdisps layer from the multires DM, leading to getting complete random normals (null ones, NAN ones...), leading to complete dummy tangent space matrix, leading to absurds mdisps values...

Note: I also moved the copy of first layer's vertex and face data from old me->mr to mesh's v/fdata earlier in multire_load_old(), to be able to use general face_to_poly conversion function (later on we would have to do it by hand, the general function would erase our newly computed mdisps layer...).

Took me the whole week (something like 20h) to track this down: multires + subsurf = C nightmare!

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48897 954f8c5b-7b00-dc11-b283-0030488c597c
add is_quad_convex_v2(), SET_UINT_IN_POINTER, GET_UINT_FROM_POINTER macros & some minor edits.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48902 954f8c5b-7b00-dc11-b283-0030488c597c
new mask rasterizer - replace kdopbvh with with own bucket lookups.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48903 954f8c5b-7b00-dc11-b283-0030488c597c