82889 Commits

Author SHA1 Message Date
Lukas Stockner
7fa6f72084 Cycles: Add sample-based runtime profiler that measures time spent in various parts of the CPU kernel
This commit adds a sample-based profiler that runs during CPU rendering and collects statistics on time spent in different parts of the kernel (ray intersection, shader evaluation etc.) as well as time spent per material and object.

The results are currently not exposed in the user interface or per Python yet, to see the stats on the console pass the "--cycles-print-stats" argument to Cycles (e.g. "./blender -- --cycles-print-stats").

Unfortunately, there is no clear way to extend this functionality to CUDA or OpenCL, so it is CPU-only for now.

Reviewers: brecht, sergey, swerner

Reviewed By: brecht, swerner

Differential Revision: https://developer.blender.org/D3892
2018-11-29 02:45:24 +01:00
Campbell Barton
27cccaeccd UI: expand set origin in specials menu
Also remove menu, expand operator instead.
2018-11-29 12:24:20 +11:00
Campbell Barton
8850875866 Fix transform axis orientation cycling
This ignored operator defined orientation.
2018-11-29 09:41:44 +11:00
Campbell Barton
f1edccdbe1 Cleanup: remove unused files 2018-11-29 09:05:49 +11:00
Campbell Barton
b02696f855 CMake: add missing files 2018-11-29 09:01:03 +11:00
Campbell Barton
1e10206590 Merge branch 'master' into blender2.8 2018-11-29 08:55:34 +11:00
Campbell Barton
fb057153b0 CMake: update checker
Support skipping cmake files
2018-11-29 08:55:05 +11:00
Campbell Barton
67d77f47f0 Fix leak in CPU brand check 2018-11-29 08:22:15 +11:00
Campbell Barton
ce84d64546 UI: rename Center Points -> Origins
See: T56648
2018-11-29 08:19:57 +11:00
Antonioya
7ced3da6ac GP: Cleanup duplicated code moving to function 2018-11-28 20:15:02 +01:00
Brecht Van Lommel
0f4cc474c9 Fix broken subdivision surface edit mode cage display. 2018-11-28 20:13:28 +01:00
Brecht Van Lommel
bad0ace6a0 Fix COLLADA build warning.
This properties does not appear to be used anymore.
2018-11-28 20:06:25 +01:00
William Reynish
ec8e8562f0 Fix instancing tooltips still using old dupli name. 2018-11-28 20:06:25 +01:00
Brecht Van Lommel
94a069a795 Startup.blend: rename Lamp to Light. 2018-11-28 20:06:25 +01:00
Antonioya
5c48b97e8c GP: Deselect points if click outside selection area
To make consistent with Left click select, now if click outside any point, all points are deselected.

Reduced the circle of selection to get more precission. The radius used before was too wide.

Note: There is a minimum distance to consider outside selection area.
2018-11-28 19:44:41 +01:00
Antonioya
303b49ea37 Add Onion Skin support to Annotations
The old onion skinning used in 2.7x has been ported and converted to 2.8. Only basic features have been included. For more advanced onion skin features, use grease pencil objects.

Onion Skin is supported in View 3D and Sequencer.
2018-11-28 19:19:53 +01:00
Sergey Sharybin
565de7750b Use term Instancing in the interface
Currently only see this in object's properties, but might
be missing something.

Part of T56648.
2018-11-28 18:22:51 +01:00
Sergey Sharybin
7c7f3776dd Use collection and instance terminology in Python API
This follows naming convention agreed on in T56648.
2018-11-28 18:22:51 +01:00
Bastien Montagne
98ecab1af0 Fix T56906: Mesh from Curve not working on curves beveled by curves.
Not exactly sure why we did not have cached displist for bevel object
here... But anyway, that conversion operation should really happen
outside of depsgraph evaluation area, so makes sense to do it as when
generating geometry for rendering, imho. Also solves issues like loosing
hidden parts of the curve/surface, etc. Still using viewport resolution
for curves, though.
2018-11-28 18:16:48 +01:00
Gaia Clary
6d2da3950e cleanup: Collada replaced outdated usage of CD_MTFACE Layers by CD_MLOOPUV 2018-11-28 18:14:12 +01:00
Sergey Sharybin
91795e756c Merge branch 'master' into blender2.8 2018-11-28 18:05:59 +01:00
Sergey Sharybin
2b371b65bc More fixes for NUMA on macOS 2018-11-28 18:05:35 +01:00
Sergey Sharybin
11ff47a134 Merge branch 'master' into blender2.8 2018-11-28 17:57:37 +01:00
Sergey Sharybin
8a6aa15903 Fix compilation error on macOS 2018-11-28 17:57:04 +01:00
Sergey Sharybin
bef9f42ef0 Merge branch 'master' into blender2.8 2018-11-28 17:55:27 +01:00
Sergey Sharybin
547bc2a620 Fix compilation error on 32bit Windows 2018-11-28 17:54:58 +01:00
Bastien Montagne
278d9c8322 Merge branch 'master' into blender2.8
Conflicts:
	source/blenderplayer/CMakeLists.txt
	tests/gtests/blenlib/CMakeLists.txt
2018-11-28 16:52:47 +01:00
Bastien Montagne
c16321cb9d Fix building gtests and bplayer after recent NumaAPI addition.
Seriously... like, seriously...
2018-11-28 16:50:02 +01:00
Bastien Montagne
6fd5f95ca1 Fix (unreported) Cycles not rendering correctly modified curves/surfaces/texts.
Meshes from evaluated objects may already have modifiers applied, but
that's not the case for curves, we need to do that when converting them
to meshes.
2018-11-28 16:25:15 +01:00
Pablo Vazquez
e392e03354 UI: Layout tweaks to Studio Lights panel in Preferences.
Move Studio Lights panel first, and use single-column layout.
2018-11-28 16:24:55 +01:00
Clément Foucault
2d720f51cd Workbench: Change Studio lighting
This is in order to have more flexible ligthing presets in the future.
The diffuse lighting from hdris was nice but lacked the corresponding
specular information. This is an attempt to make it possible to customize
the lighting and have a cheap/easy/nice-looking pseudo-PBR workflow.

* Add cheap PBR to Workbench with fresnel and better roughness support.
  This improves the look of the metallic surfaces and is easier to control.
* Add ambient light to studio lights settings: just a constant color added
  to the shading.
* Add Smooth option to studio lights settings: This option fakes the
  effect of making the light bigger making the lighting smoother for this
  light. Smoother lights gets reflected like a background hdri.
* Change default light settings to include the smooth params.
* Remove specular highlights from flat shading. (could be added back but
  how do we make it good looking?)
* If specular lighting is disabled, use base color without using metallic.
* Include a lot of code simplification/cleanup/confusion fix.
2018-11-28 15:59:56 +01:00
Clément Foucault
52458ab49d GPU: Add AMD Radeon RX series to macos blitting workaround list
Fixes T55987
2018-11-28 15:59:56 +01:00
Gaia Clary
dd102a4757 fix:T58093 Collada Exporter does not create bind_vertex_input and texcoord attribute
The Collada exporter used MTFACE layers (deprecated) instead of
CD_MLOOPUV layers. In 2.8 the exporter could no longer find the UVMaps
reliably.
2018-11-28 15:36:09 +01:00
Sergey Sharybin
3ed0d5b4d4 Merge branch 'master' into blender2.8 2018-11-28 14:42:38 +01:00
Sergey Sharybin
ce927e15e0 Tweaks for threading schedule for Threadripper2 and EPYC
The idea is to make main thread and job threads to be scheduled
on CPU dies which has direct access to memory (those are NUMA
nodes 0 and 2).

We also do this for new EPYC CPUs since their NUMA nodes 1 and 3
do have access but only to a higher range DDR slots. By preferring
nodes 0 and 2 on EPYC we make it so users with partially filled
DDR slots has fast memory access.

One thing which is not really solved yet is localization of
memory allocation: we do not guarantee that memory is allocated
on the closest to the NUMA node DDR slot and hope that memory
manager of OS is acting in favor of us.
2018-11-28 14:41:22 +01:00
Sergey Sharybin
b3e2c69416 Add utility function to query CPU brand string 2018-11-28 14:35:26 +01:00
Sergey Sharybin
683662e630 Add cross-platform NUMA library
Makes it simple to use NUMA libraries on various platforms.
2018-11-28 14:35:26 +01:00
Brecht Van Lommel
2bd62b076f Outliner/visibility: revert changes for now until we find better solutions.
See T57857 for discussion. This reverts:

"Outliner: Do not gray out empty collections"
4521d3e7074d2e08ca813e1f4a2297f5000f335b.

"Remove eye column from the outliner"
fd16b359977c8932ada8db4ff0e43d0402fdc280.

Fix/workaround issues in pose and edit mode"
6d2e2e30d50c40f302b62d3601b5742d7c7056c6.

"Per view-layer collection visibility"
4de6a210c69fe254518ca8d6c860782c54f03749.
2018-11-28 14:34:13 +01:00
Sergey Sharybin
cb9c4b4552 Fix defined but unused static variable warning 2018-11-28 14:13:42 +01:00
Brecht Van Lommel
dac747bd09 UI: rename settings back to preferences.
This distinguishes it better for the many other types of settings.

Ref T54115.
2018-11-28 13:58:35 +01:00
Campbell Barton
1a8d998868 Tool System: support for dynamic tooltips
Tools can define a function that generates the tooltip using a function,
this takes the tools keymap as an argument which can be used
to extract keys to include in the tip.
2018-11-28 23:53:27 +11:00
Campbell Barton
43248164a4 PyAPI: add KeyMapItem.to_string() method
Useful for generating dynamic tooltips that include shortcuts.
2018-11-28 23:26:32 +11:00
Brecht Van Lommel
edbf15d3c0 Defaults: left click select is now the default.
A few reasons motivating this change:
* It works well for all devices: mouse, trackpad, and tablet pens.
* For beginners or users coming from other software, it's easier to get
  started and avoids an initial stumbling block.
* Many users in 2.7 (about half?) were already using left click select, so
  combined with the above advantages it makes for a practical default.

Note that we continue to support right click select, as many experienced
Blender users (and developers) see efficiency advantages in this approach.

The option to switch is in the first time setup splash screen, and in the
user preferences.
2018-11-28 11:36:13 +01:00
Bastien Montagne
9c8d31520d Fix curve stats when using modifiers.
Curve/surface/text final data may be an evaluated mesh instead of a
displist, when some modifiers (constructive ones in particular) are
applied to it.

Note that this is just getting feet wet, whole draw code suffers from
the same issue! :P
2018-11-28 11:21:56 +01:00
Sergey Sharybin
6d2e2e30d5 Fix/workaround issues in pose and edit mode
Edit mode was unable to select, pose mode was unable to move bones.
2018-11-28 10:36:07 +01:00
Campbell Barton
ff0a29df14 Fix crash entering editmode 2018-11-28 20:26:40 +11:00
Campbell Barton
78a6c2e12c Transform: use scene-orientation for MMB axis constraint
Follows the change made for axis keys.
2018-11-28 19:48:19 +11:00
Campbell Barton
7ecdcfe173 Cleanup: quiet keymap float compare warning 2018-11-28 17:50:44 +11:00
Campbell Barton
c527c78174 Cleanup: remove missing operator from UI 2018-11-28 17:48:26 +11:00
Campbell Barton
b1d67e6aab Tool System: add node links cut tool 2018-11-28 17:37:40 +11:00