Blender Git Commits

Blender Git "compositor-2016" branch commits.

Page: 4 / 19

June 8, 2016, 19:45 (GMT)
Cleanup: avoid temp string edit
June 8, 2016, 19:45 (GMT)
Optimize mempool iteration

Around ~10% improvement in own tests.
June 8, 2016, 19:45 (GMT)
fix: Import of meshes with holes is now reported as WARNING (unsupported)
June 8, 2016, 19:45 (GMT)
Fix Cycles warning in release builds.
June 8, 2016, 19:45 (GMT)
GP Sculpt: Make the cursor more visible on light backgrounds

On light coloured backgrounds (especially on white), it was impossible to see
where the cursor was. This commit adds a second ring (black) to the cursor so
that on light backgrounds, even if the light ring isn't visible the black one
will be.
June 8, 2016, 19:45 (GMT)
Fix T48553: Cycles GLSL Box projection produces strong artifacts
June 8, 2016, 19:45 (GMT)
BLI_array_store: store max size in BArrayInfo
June 8, 2016, 19:45 (GMT)
Cycles GLSL: Make it work with software opengl mode
June 8, 2016, 19:45 (GMT)
Fix T48589: Compositor Backdrop crashes Blender
June 8, 2016, 19:45 (GMT)
Fix T48582: Rigidbody simulation issue with new depsgraph

Being granular means we need to re-build depsgraph a bit more often..

The issue was caused by rigidbody requiring some special nodes to
handle physics which were not created with just tagging object for
update.
June 8, 2016, 19:45 (GMT)
Cycles: Add XML parsing of MappingNodes to Cycles Standalone

Reviewers: dingto, sergey

Differential Revision: https://developer.blender.org/D2009
June 8, 2016, 19:45 (GMT)
Depsgraph: Simplify some loops using foreach()
June 8, 2016, 19:45 (GMT)
Cycles: Add support for bindless textures.

This adds support for CUDA Texture objects (also known as Bindless textures) for Kepler GPUs (Geforce 6xx and above).
This is used for all 2D/3D textures, data still uses arrays as before.

User benefits:
* No more limits of image textures on Kepler.
We had 5 float4 and 145 byte4 slots there before, now we have 1024 float4 and 1024 byte4.
This can be extended further if we need to (just change the define).

* Single channel textures slots (byte and float) are now supported on Kepler as well (1024 slots for each type).

ToDo / Issues:
* 3D textures don't work yet, at least don't show up during render. I have no idea whats wrong yet.
* Dynamically allocate bindless_mapping array?

I hope Fermi still works fine, but that should be tested on a Fermi card before pushing to master.

Part of my GSoC 2016.

Reviewers: sergey, #cycles, brecht

Subscribers: swerner, jtheninja, brecht, sergey

Differential Revision: https://developer.blender.org/D1999
June 8, 2016, 19:45 (GMT)
Buildbot: Give 2015 builds different name
June 8, 2016, 19:45 (GMT)
BGE: Fix KX_LightObject python API documentation.

Replace "..attribute::" by ".. attribute::".
June 8, 2016, 19:45 (GMT)
BLI_array_store: move helper functions into their own API
June 8, 2016, 19:45 (GMT)
GPU: fix/workaround basic shader font-color

All text was displaying black.

BLF uses alpha-only textures which aren't supported by the basic-shader,
Workaround this by using texture swizzle so the RGB components of the texture are set to 1.
June 8, 2016, 19:45 (GMT)
Correct asserts
June 8, 2016, 19:45 (GMT)
Fix T48529: NLA : viewport not updated after Track muted/unmuted.

Not sure why, but ANIM_animdata_update() totally ignored NLAStrip type of bAnimListElem.

For now only added support for ANIM_UPDATE_DEPS type of update, don't know whether
others are needed in this case or not... time will say.
June 8, 2016, 19:45 (GMT)
Fix T47637: Multiple multires objects in Sculpt mode make blender crash.

That was a nice and funny hunt, albeit rather time consumming!

To summarize, so far code was using a static global gpu_buffer for pbvh vbo drawing
of 'grid' types (multires mostly?).

There were two issues here:
1) Global gpu buffer was assigned to GPU_PBVH_Buffers->index_buf, but then nearly no
check was done when freeing that buffer, to ensure we were not freeing the global one
(not totally sure this one was actually causing any issue, but was bad and unsafe anyway).
Was solved by adding a flag to GPU_PBVH_Buffers to indicate when we are using some
'common' buffer here, which freeing is handled separately.

2) Main issue: if several multires objects in sculpt mode with different grid size
were present simultaneously, the global gpu buffer had to be resized for each object draw
(i.e., freed and re-allocated), but then the pbvh nodes from other objects storing freed reference
to that global buffer had no way to know that it had been freed, which was causing the segfault & crash.
Was solved by getting rid of that global buffer, and instead allocating one 'grid_commmon_gpu_buffer' per pbvh.

Told ya baby, globals are *PURE EVIL*!
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021