Blender Git Commit Log

All Blender Git commits.

Page: 4008 / 8462

Revision 0f56f7a by Mai Lavelle (master)
March 8, 2017, 05:52 (GMT)
Cycles: Allow device_memory to be used directly

This is useful for when theres no host side memory attched to the buffer
March 8, 2017, 03:14 (GMT)
OpenGL: convert editarmarture_sketch to new imm mode

Part of T49043, T49042

Reviewers: fclem, merwin

Tags: #bf_blender_2.8

Differential Revision: https://developer.blender.org/D2548
March 7, 2017, 20:34 (GMT)
fixes for constraint behavior in dynamic_external mode
March 7, 2017, 20:10 (GMT)
minor tweaks
March 7, 2017, 19:34 (GMT)
Make screen-layouts of duplicated windows much less broken :)

There are probably still some issues/glitches after duplicating a window
here and there, but most of it should work fine by now.
March 7, 2017, 19:21 (GMT)
Avoid initial buffer read, fill with 1.0
March 7, 2017, 19:14 (GMT)
Merge remote-tracking branch 'origin/master' into soc-2016-uv_tools
March 7, 2017, 19:03 (GMT)
Fix mistake in glReadPixels
March 7, 2017, 19:03 (GMT)
Don't copy workspace when copying window

This kinda works, however screens are still completly broken after that
:) But: getting there!
March 7, 2017, 17:50 (GMT)
Fix incorrect extern, also remove redundant rect
March 7, 2017, 17:09 (GMT)
OpenGL: Converted bit more of drawobject.c.
March 7, 2017, 16:53 (GMT)
Merge branch 'master' into temp-select-pick
March 7, 2017, 16:51 (GMT)
Rename select_method -> algorithm
March 7, 2017, 16:44 (GMT)
Various fixes
March 7, 2017, 16:32 (GMT)
Task scheduler: Add concept of suspended pools

Suspended pools allows to push huge amount of initial tasks
without any threading synchronization and hence overhead.

This gives ~50% speedup of cached rigid body with file from
T50027 and seems to have no negative affect in other scenes
here.
March 7, 2017, 16:32 (GMT)
Depsgraph: Remove workarounds from depsgraph for keeping threads alive

This is something what should be done in the task scheduler instead
with local thread queues so we handle this in a single place.
March 7, 2017, 16:32 (GMT)
Task scheduler: Initial implementation of local tasks queues

The idea is to allow some amount of tasks to be pushed from working
thread to it's local queue, so we can acquire some work without doing
whole mutex lock.

This should allow us to remove some hacks from depsgraph which was
added there to keep threads alive.
March 7, 2017, 16:32 (GMT)
Task scheduler: Use real pthread's TLS to access active thread's data

This allows us to avoid TLS stored in pool which gives us advantage of
using pre-allocated tasks pool for the pools created from non-main thread.

Even on systems with slow pthread TLS it should not be a problem because
we access it once at a pool construction time. If we want to use this more
often (for example, to get rid of push_from_thread) we'll have to do much
more accurate benchmark.
March 7, 2017, 16:32 (GMT)
Task scheduler: Refactor the way we store thread-spedific data

Basically move all thread-specific data (currently it's only task
memory pool) from a dedicated array of taskScheduler to TaskThread.
This way we can add more thread-specific data in the future with
less of a hassle.
March 7, 2017, 16:32 (GMT)
Task scheduler: Remove per-pool threads limit

This feature was adding extra complexity to task scheduling
which required yet extra variables to be worried about to be
modified in atomic manner, which resulted in following issues:

- More complex code to maintain, which increases risks of
something going wrong when we modify the code.

- Extra barriers and/or locks during task scheduling, which
causes extra threading overhead.

- Unable to use some other implementation (such as TBB) even for
the comparison tests.

Notes about other changes.

There are two places where we really had to use that limit.

One of them is the single threaded dependency graph. This will
now construct a single-threaded scheduler at evaluation time.
This shouldn't be a problem because it only happens when using
debugging command line arguments and the code simply don't
run in regular Blender operation.

The code seems a bit duplicated here across old and new
depsgraph, but think it's OK since the old depsgraph is already
gone in 2.8 branch and i don't see where else we might want
to use such a single-threaded scheduler.

When/if we'll want to do so, we can move it to a centralized
single-threaded scheduler in threads.c.

OpenGL render was a bit more tricky to port, but basically we
are using conditional variables to wait background thread to
do all the job.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021