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 |
Revision 30acadd by Martin Felke (fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) 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. |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021