Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2017-11-28Cleanup, naming of engine type variableSergey Sharybin
2017-11-28Depsgraph: Wrap context used for editors update callback into a structureSergey Sharybin
This way we can extend it much easier.
2017-11-28Depsgraph: Remove workaround for Blender Internal in viewportSergey Sharybin
This commit effectively reverts fix T45702 done in 067fe2719a99. Reasoning: - Blender Internal is being replaced with Eevee, and will be removed entirely rather soon. - All render engines are planned to have own depsgraph, so such threading conflicts should no longer be an issue. - We don't want to spend time on porting workarounds for EOL things to a new design. Less code -- faster the work :) - If such notifications will end up needed for some other cases, we would need to re-implement this a more proper depsgraph tagging/flushing and make it to work with all copy-on-write datablocks and everything.
2017-11-28Depsgraph: Don't call DEG ID update functions directlySergey Sharybin
There might be much more logic involved there, also we might not know proper evaluated CoW pointer there yet. So we leave this to dependency graph to decide what exactly to do here.
2017-11-28Merge branch 'master' into blender2.8Campbell Barton
2017-11-28makesdna/makesrna: silence output by defaultCampbell Barton
No need to print status for basic & reliable operations, build systems can output operations they run if needed, or debug output changed in the source if developers are debugging. Nice for ninja, so any printed text hints at a problem to fix.
2017-11-27Fix T53291: Deleting objects do not delete them from the blend fileDalai Felinto
User count was wrong for newly created files. We increase/decrease user count when we link/delete objects from a SceneCollection. So we don't want to leave user count of 1 after calling BKE_libblock_alloc in BKE_object_add_only_object().
2017-11-27Fix T53145: bevel tool does not start with amount at zero.Brecht Van Lommel
2017-11-27Depsgraph: Parameters component does exist in objectsSergey Sharybin
2017-11-27Merge branch 'master' into blender2.8Sergey Sharybin
2017-11-27Cleanup: indentationSergey Sharybin
2017-11-27Remove workaround for loopcut and DM stabilitySergey Sharybin
Neither me nor Campbell could redo the issue, lets get rid of this workaround and fix it properly if still needed.
2017-11-27Depsgraph: Sanitize placement of component types in switch statementSergey Sharybin
Makes it more clear why and what is being ignored.
2017-11-27Merge branch 'master' into blender2.8Sergey Sharybin
2017-11-27Depsgraph: Make sure unexpected configuration does not happenSergey Sharybin
2017-11-27Merge branch 'master' into blender2.8Sergey Sharybin
2017-11-27Sequencer: Fix missing FX compositor when starting rendering from frame with ↵Sergey Sharybin
DoF disabled
2017-11-27Merge branch 'master' into blender2.8Sergey Sharybin
2017-11-27Sequencer: Add option to render OpenGL preview with DoFSergey Sharybin
The title says it all actually, controlled with DoF check box next to textured solid check box. Thanks Campbell for review!
2017-11-27Refactor view3d offscreen drawing to avoid having multiple boolean argumentsSergey Sharybin
This is fully unreadable to have lots of boolean arguments scattered across the whole argument list. What does `false, true, true` mean in terms of behavior? Replace those with bitfield which has advantage of having more human readable meaning.
2017-11-27Tracking: Cleanup. make code friendly for multi-column editingSergey Sharybin
2017-11-27WM: don't change selection on workspace appendCampbell Barton
2017-11-27Tool System: show manipulators at startupCampbell Barton
Support duplicating, switching workspaces too.
2017-11-27Fix crash duplicating workspaceCampbell Barton
2017-11-27Manipulator: ignore depth-buffer for scale cageCampbell Barton
2017-11-27Cleanup: incorrect commentCampbell Barton
2017-11-27WM: handle widgets before tool keymapsCampbell Barton
Allows adjusting on-screen widgets even when a tool is selected.
2017-11-26Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/editors/mask/mask_draw.c
2017-11-26Cleanup: ImageEditor's mask drawing code was re-implementing ↵Bastien Montagne
`BKE_maskrasterize_buffer`! So this deduplicates and simplifies code, yeah. Also, as an odd bonus, new code seems slighly quicker than previous one (about 5 to 10% quicker).
2017-11-26Removing OMP: BKE's mask_rasterize.cBastien Montagne
Once again nothing much to say here, except that whole mask rendering process from VSE is about 25% quicker now. ;)
2017-11-26Removing OMP: autotrack BKE code.Bastien Montagne
Pretty straightforward this time, we already have a single struct pointer containing all needed data (or nearly). And we gain about 10-15% speed on tracking! :)
2017-11-26Removing OMP: bmesh_operators.cBastien Montagne
Two more 'not really useful' cases (OMP only shows some noticeable speedup with above 1M elements, and since this is quick operation anyway compared to even ather basic operators, gain is in the 1% area of total processing time in best case). So not worth parallelizing here, we'll gain much more on tackling heavy operations. ;) And BMesh is free from OMP now!
2017-11-26Removing OMP: bmesh_interp.cBastien Montagne
Performances tests on this one are quite surprising actually... Parallelized loop itself is at least 10 times quicker with new BLI_task code than it was with OMP. And subdividing e.g. a heavy mesh with 3 levels of multires (whole process) takes 8 seconds with new code, while 10 seconds with OMP one. And cherry on top, BLI_task code only uses about 50% of CPU load, while OMP one was at nearly 100%! In fact, I suspect OMP code was not properly declaring outside vars, generating a lot of uneeded locks. Also, raised the minimum level of subdiv to enable parallelization, tests here showed that we only start to get significant gain with subdiv levels of 4, below single threaded one is quicker.
2017-11-26Removing OMP: nuke last usages in bmesh_mesh.cBastien Montagne
Those three ones were actually giving no significant benefits, in fact even slowing things down in one case compared to no parallelization at all (in `BM_mesh_elem_table_ensure()`). Point being, once more, parallelizing *very* small tasks (like index or flag setting, etc.) is nearly never worth it. Also note that we could not easlily use per-item parallel looping in those three cases, since they are heavily relying on valid loop-generated index (or are doing non-threadable things like allocation from a mempool)...
2017-11-26Cleanup: rename edge -> edgesCampbell Barton
2017-11-26Minor improvement to last commitCampbell Barton
Don't operate on multiple boundaries at once, instead keep collapsing from the first selected boundary.
2017-11-26BMesh: improve edge rotate when edges share facesCampbell Barton
Previously outcome depended on order of edges, now the longest boundary edges are rotated first, then the faces connected edges. This gives more predictable results, allowing regions containing a vertex fan to be rotated onto the next vertex.
2017-11-26Cleanup: move edge-rotate into own fileCampbell Barton
2017-11-26Fix T53393: Change from 'd' key to 'draw' panel button causes pencil to be ↵Joshua Leung
activated immediately instead of upon LMB
2017-11-26Fix for Fix (c): broken atomic lock in own bmesh code.Bastien Montagne
That was a nasty one, Debug build would never have any issue (even tried with 64 threads!), but Release build would deadlock nearly immediately, even with only 2 threads! What happened here (I think) is that gcc optimizer would generate a specific path endlessly looping when initial value of virtual_lock was FLT_MAX, by-passing re-assignment from v_no[0] and the atomic cas completely. Which would have been correct, should v_no[0] not have been shared (and modified) by multiple threads. ;) Idea of that (broken) for loop was to avoid completely calling the atomic cas as long as v_no[0] was locked by some other thread, but... Guess the avoided/missing memory barrier was the root of the issue here. Lesson of the evening: Remember kids, do not trust your compiler to understand all possible threading-related side effects, and be explicit rather than elegant when using atomic ops! Side-effect lesson: do check both release and debug builds when messing with said atomic ops...
2017-11-25Fix broken atomic_cas lock in own recent commit in bmesh.Bastien Montagne
Using atomic cas correctly is really hairy... ;) In this case, the returned value from cas needs to validate *two* conditions, it must not be FLT_MAX (which is our 'locked' value and would mean another thread has already locked it), but it also must be equal to previously stored value... This means we need two steps per loop here, hence using a 'for' loop instead of a 'while' one now. Note that collisions are (as expected) very rare, less than 1 for 10k typically, so did not catch the issue initially (also because I was mostly working with release build to check on performances...).
2017-11-25Eevee: Fix Defered AO definesClément Foucault
2017-11-25Eevee: Fix SSS mixing with transparent bsdfClément Foucault
2017-11-25Eevee: Add SSS support in probesClément Foucault
Previously the lighting of SSS material was not present in reflection probe or irradiance grid. This does not compute the SSS correctly but at least output the corresponding irradiance power to the correct output.
2017-11-25Get workspace mode from the workspace view-layerJulian Eisel
While this probably isn't the final solution we'll go with, it's nicer as current one, which was basically broken. So consider this as temporary solution. It also allows testing how changing workspace changes mode & active object, but only by having the workspaces use different view-layers. Decided to remove WorkSpace.mode for now. If we need to bring it back, we'll have to version patch it anyway.
2017-11-25Eevee: SSS: Add separated Albedo option.Clément Foucault
This option prevent from automatically blurring the albedo color applied to the SSS. While this is great for preserving details it can bleed more light onto the nearby objects since the blurring will be done on pure "white" irradiance. This issue is to be tackled in a separate commit.
2017-11-25GPUFramebuffer: Bump the framebuffer attachement limit to 5 color texturesClément Foucault
2017-11-24Depsgraph: Tag background scene for base flags updateSergey Sharybin
When setting background object, it might pull new objects in and those objects will not have proper flags unless on_visible_update() was called afterwards.
2017-11-24Revert "Depsgraph: Remove legacy re-scheduling code"Sergey Sharybin
This reverts commit 90ff88646d4312823df0610168391ab5ad80675a. Can not do this yet, if object is not part of graph yet it will not have entry taq. Need some more generic solution here.
2017-11-24Depsgraph: Allow tagging whole scene for base flags flushSergey Sharybin