Commit Graph

58755 Commits

Author SHA1 Message Date
Campbell Barton
ae6cc4a21d GPU_batch_presets: move static vars into struct
Also use GWN raw stepping API to fill in data.
2018-01-15 16:55:40 +11:00
Campbell Barton
b1ac7571a8 Cleanup: split GPU_batch_presets into own file
Mixing other batch code in this file easily shadowed existing variables.
Keep presets separate (we may have more, 2D & 3D presets)
2018-01-15 16:24:02 +11:00
Campbell Barton
7c1286b2b7 Manipulator: add free callback 2018-01-15 16:06:56 +11:00
Campbell Barton
129196dc32 Merge branch 'master' into blender2.8 2018-01-15 15:59:59 +11:00
Campbell Barton
ec52e64a5d RNA: Add RNA_property_string_set_bytes
This is needed to set values that contain zero bytes
(where the length isn't fixed).
2018-01-15 15:59:10 +11:00
Campbell Barton
82a94d0f84 Cleanup: correct names 2018-01-14 17:54:27 +11:00
Campbell Barton
58be6d282d Merge branch 'master' into blender2.8 2018-01-14 17:29:38 +11:00
Campbell Barton
02a01b3505 Cleanup: BLI_ghash
Improve hashsizes comment too.
2018-01-14 17:28:15 +11:00
Germano
e7bf77df3a Merge branch 'blender2.8' of git.blender.org:blender into blender2.8 2018-01-13 01:13:37 -02:00
Brecht Van Lommel
cdc31c3e6e Merge branch 'master' into blender2.8 2018-01-13 02:05:49 +01:00
Brecht Van Lommel
40dbf2fc00 Fix T53771: missing view pixels when rendering multiview + FSAA.
This never worked, it's not due to recent refactoring.
2018-01-12 23:57:45 +01:00
Germano
5a293de925 Draw Manager: Edit Mode Shader: Remove #ifdef GPU_INTEL
The problem with memory alignment on Intel GPUs does not happen anymore after the last shader changes.
2018-01-12 15:09:13 -02:00
Clément Foucault
49d51a1e62 Eevee: Fix motion blur alpha being > 1.0 2018-01-12 15:57:41 +01:00
Clément Foucault
2bbc287af1 Eevee: Fix Motion blur not working in OGL render.
Thanks to @sergey for the patch.

Also include some sexy line breaks.
2018-01-12 15:57:41 +01:00
Sergey Sharybin
9c76ec615a Fix T53759: Cycles / 2.8: Light position doesnt update in viewport render 2018-01-12 15:00:58 +01:00
Dalai Felinto
d931f6f785 Outliner: Harmless cleanup
There is even a chance the compilers handles this itself, but we should try to
use the internal storage as much as possible (and save 0.000001s in the process)
2018-01-12 09:07:16 -02:00
Campbell Barton
a33a5880f7 Fix bmesh.utils.face_join arg parsing 2018-01-12 14:51:15 +11:00
Campbell Barton
93d30d62e6 User Prefs: app-template option to hide the cursor 2018-01-12 12:45:56 +11:00
Campbell Barton
ff4c9d69ee User Prefs: add new flag for app-template options
For experimental options, outside the scope of typical preferences.

While templates are developed we might want to make changes
to behavior which aren't fully compatible with typical work-flows.

Instead of mixing these options in with current preferences
expose separately (we could even force disable them when templates
aren't int use)
2018-01-12 12:45:56 +11:00
Dalai Felinto
de176b75b2 Fix T53764: vertical line glitch for collections with objects and collections
The code for vertical line was assuming that we necessarily neeeded vertical
lines for all the elements. Which is not true since we are not drawing
vertical and horizontal lines for collections.

Patch made in contribution with Philippe Schmid (@Quetzal).
2018-01-11 19:58:50 -02:00
Germano
79b0bce890 Edit Mode Overlay Shaders: remove loose comment left by last commit 2018-01-11 18:28:11 -02:00
Germano
6a37f49211 Fix error weird sliding vertices appearing in edit mode with some Intel GPUs
Appear when zooming
2018-01-11 18:07:41 -02:00
Bastien Montagne
8bff6f319a Merge branch 'master' into blender2.8
Conflicts:
	source/blender/blenkernel/intern/multires.c
2018-01-11 20:19:18 +01:00
Bastien Montagne
6104596587 Cleanup commented out OMP command. 2018-01-11 20:17:29 +01:00
Bastien Montagne
6695e390c6 Nuke OMP from multires.c: forgot that one in previous commit.
Gives same kind of speedup too, 8.7ms with old OMP code, 2.7ms with new
one, with same level-4 multires monkey head.
2018-01-11 20:14:16 +01:00
Bastien Montagne
90cd856ac3 Nuke OMP usage in multires.c.
New code is over three times quicker than old one here (e.g. Suzanne
subdiv level 4, 250k tris, threaded part is now 1.4ms instead of 4.5ms
with OMP).
2018-01-11 19:39:24 +01:00
Clément Foucault
da97b6930b DRW: Fix T53583 Armature instances not drawing.
Was due to the fact that the instances don't have a "static" obmat that can be referenced to use as a uniform.
Solution : precompute the full matrix for each bone and pass it as instance data. (theses are copied into a buffer and can be discarded right away)

Note: this could be optimized further and make only one drawcall (shgroup) to draw all bone instance of one type (vs. one call per armature).
2018-01-11 19:35:56 +01:00
Dalai Felinto
31782609f4 Fix T53340: Outliner collections collapsing when UNDO
This is not the original reported issue, but it is a second issye mentioned
that, the only one reminding.
2018-01-11 16:03:08 -02:00
Germano
6c4bc79134 Fix T51576: Blender crash when change to edit mode with some Intel GPUs
Differential Revision: D2995
2018-01-11 15:58:20 -02:00
Bastien Montagne
713852affb Preparation step for nuking OMP from multires code.
Remove the critical OMP sections used to protect mem allocation.

First one can be done in a separate loop before main, parallelized one.

Second one only affect 'private' data, so we only need to ensure
guardedalloc thread safety is enabled.

This is committed as separated step to ease troubleshooting in case
bisecting becomes necesary.
2018-01-11 17:56:18 +01:00
Bastien Montagne
c253fe5e87 Cleanup typo in comment. 2018-01-11 17:55:58 +01:00
Clément Foucault
5ef2be5f59 Eevee: DoF: Fix most color artifacts in render.
Use full 32bit floats buffers. This increase render time but also color fidelity.
2018-01-11 16:50:55 +01:00
Clément Foucault
494e4c0977 Eevee: Fix Depth of Field.
It was using a wrong blending function.
2018-01-11 16:50:55 +01:00
Clément Foucault
0142264508 Eevee: Lamps: Optimize lamps CPU/Memory usage.
Tests on my system with ~1200 objects with 128 shadow casting lamps (current max) show a significant perf improvment (cache timing : 22ms -> 9ms)
With a baseline with no shadow casting light at 6ms this give a reduction of the overhead from 16ms to 3ms.

This remove pretty much all allocations during the cache phase. Leading to a big improvement for scene with a large number of lights & shadowcasters.
The lamps storage has been replace by a union to remove the need to free/allocate everyframe (also reducing memory fragmentation).

We replaced the linked list system used to track shadow casters by a huge bitflag.
We gather the lights shadows bounds as well as the shadow casters AABB during the cache populate phase and put them in big arrays cache friendly.

Then in the cache finish phase, it's easier to iterate over the lamps shadow SphereBounds and test for intersection.

We use a double buffer system for the shadow casters arrays to detect deleted shadow casters.
Unfortunatly, it seems that deleting an object trigger an update for all other objects (thus tagging most shadow casting lamps to update), defeating the purpose of this tracking.
This needs further investigation.
2018-01-11 16:50:54 +01:00
Dalai Felinto
a08f687b91 Fix poll and name of collection link/unlink operators
Reported via IRC by Pablo Vazquez (venomgfx).
2018-01-11 12:45:00 -02:00
Sergey Sharybin
656b9a46b3 Merge branch 'master' into blender2.8 2018-01-11 15:14:30 +01:00
Sergey Sharybin
38d480fb54 Subsurf: Allow partial threading over geometry arrays
This helps avoiding threading overhead when having lots of system threads..
2018-01-11 15:06:56 +01:00
Sergey Sharybin
374c4f168d Mesh evaluate: Tweak threadability criteria
Gives measurable speedup on layout scenes from Spring.

Actual value for chunk size is a subject for more scientific research.
2018-01-11 15:04:13 +01:00
Sergey Sharybin
cdcdae663a Mesh deform: Tweak threadability criteria
Allow threading using subset of all available threads. Makes it faster to
evaluate lower resolution mesh but with complex deform groups and such.
2018-01-11 14:51:30 +01:00
Sergey Sharybin
c276fef413 Subsurf: Make copyFinalLoopArray() threaded
Gives about 40% speedup of object which has simple-ish deformation applied
on top of subdivided mesh.

This might easily happen with single character animation.
2018-01-11 14:49:32 +01:00
Sergey Sharybin
1255f572c7 Depsgraph: Make eval initialization more friendly for threading
Helps in cases of not very complex scenes and lots of system threads available.

A bit hard to measure change on it's own, it works best with the upcoming
changes and gives measurable improvements.
2018-01-11 14:48:49 +01:00
Sergey Sharybin
498ffef7b0 Subsurf: Use regular mutex instead of RW one
Mutex is now local to particular CCGDM, and guarding edge hash which is only
used by a single function only. There is no need to acquire read lock after
edge hash was created.
2018-01-11 14:38:58 +01:00
Bastien Montagne
c36f4a7f7f Merge branch 'master' into blender2.8
Conflicts:
	source/blender/blenkernel/intern/blender.c
	source/blender/makesdna/DNA_ID.h
2018-01-11 14:35:36 +01:00
Bastien Montagne
b415ed55a7 Fix critical issue with our DNA ID tags (two totally different tags having same value).
Nice typo from rBc4046e9082f6, tssk. ;)
2018-01-11 14:26:44 +01:00
Bastien Montagne
cc63c8511c Fix static override (very stupid mistakes in code!) 2018-01-11 12:29:09 +01:00
Bastien Montagne
de91f2389d Further fixes to new RNA props diff code.
Unfortunately, we cannot perform set/unset checks on 'resolved'
properties (i.e. from actual IDProperties pointers, and not virtual RNA
placeholders)... IDProps in RNA are rather challenging topic. :|

This should fully fix T53715: 2.8: Removing keymap items no longer works
2018-01-11 09:41:44 +01:00
Campbell Barton
0edda8e4ce Fix T53311: transform edge/normal orientation
When the edge is aligned with it's own normals,
transform orientation wasn't aligned with the edge.
2018-01-11 19:25:27 +11:00
Campbell Barton
717090f40e UI: option not to show screen splitting widgets
Request for simplified Blender template,
this may be extended to limit access to other UI changes
that could be pressed by accident.
2018-01-11 16:10:46 +11:00
Campbell Barton
9c91c75ea6 Merge branch 'master' into blender2.8 2018-01-11 13:24:41 +11:00
Campbell Barton
9d62e6e782 UI: don't draw outline when it's not calculated
Outline drawing was running even when there were no verts to draw.
Causes an assert in 2.8.
2018-01-11 13:23:55 +11:00