Commit Graph

70886 Commits

Author SHA1 Message Date
Sergey Sharybin
94ec80d21c CCG: Remove number of layers from key
The issue there was that number of layers did not include normals,
while element size counts bytes used by normals. This sounds very
fragile and dangerous to work further. Also, one value can easily
be delivered from another, so it is redundancy going on here.

Possible difference now is that multires subdivision will copy
normals to a higher levels. Shouldn't be big of a problem, since
leaving old normals and updating coordinates is not correct either.
2018-09-05 15:56:50 +02:00
Campbell Barton
44d4a61ed0 Cleanup: replace doxy @ with backslash
The rest of Blender uses backslashes.
2018-09-05 14:56:29 +10:00
Campbell Barton
1be265afc0 Cleanup: style 2018-09-05 14:46:54 +10:00
Ray Molenkamp
c13b2a2504 Fix T54152: --env-system-scripts fails on win32 2018-09-05 14:32:19 +10:00
Campbell Barton
bb6a94fa7b Fix VSE cut both-sides option
Was ignoring the option, using the mouse in all cases.

D3671 by @ISS w/ edits.
2018-09-05 12:13:12 +10:00
Ray Molenkamp
19c7e499e1 cycles: Fix x86 build error.
WITH_CYCLES_CUDA_BINARIES was set as a regular variable causing it to be overwritten by the release.cmake settings.
2018-09-04 16:58:41 -06:00
Campbell Barton
8cd6e22ec0 Cleanup: use const arg for BLI_rect inside check 2018-09-04 17:33:12 +10:00
Campbell Barton
52f4531eeb UI: cleanup tooltip bounds clamping
Wasn't properly clamping on the window minimum.
2018-09-04 15:26:50 +10:00
Bastien Montagne
265ec400ab ClosthCollision: fully avoid computing BVHTree when we have no collision objects to test against.
Followup to rBc6bbe6c5aac29, much more elegant solution to the problem. ;)
2018-09-03 17:32:46 +02:00
Brecht Van Lommel
4da2acae3a Spelling fixes in comments and descriptions, patch by luzpaz.
Differential Revision: https://developer.blender.org/D3668
2018-09-03 16:55:01 +02:00
Bastien Montagne
c6bbe6c5aa Fix (unreported) potentially giant memory leak in Cloth collision solver.
Not freeing its BVHTree in case there were no collision objects,
could quickly lead to hundreds of MB of memleak!
2018-09-03 15:30:33 +02:00
Alex Fuller
107f1c0a2b Fix Cycles half float pragma for strict OpenCL compilers (like ROCm).
Differential Revision: https://developer.blender.org/D3669
2018-09-03 12:03:56 +02:00
Campbell Barton
7ff1750218 PyAPI: add optional imports to expression eval API
Avoids having to use `__import__` to access modules.
2018-09-03 12:43:43 +10:00
Campbell Barton
4bb8dba340 Cleanup: move keymap helpers into own file 2018-09-02 19:37:09 +10:00
Campbell Barton
0ddf3e110e Cleanup: comment blocks 2018-09-02 18:51:31 +10:00
Sergey Sharybin
8a3b548cb2 Buildbot: Usable PIE
Makes it impossible to run from GUI on certain platforms, see T56628.
2018-08-31 17:07:30 +02:00
Monique Dewanchand
d9b9a46aa3 Python: Enable MASS unit in FloatProperty
MASS unit was already implemented for the C api. Only making sure it is
accessible in the python api. Also added 'CAMERA' to the documentation as a valid option.
2018-08-31 15:00:38 +02:00
Sergey Sharybin
df62deb0a7 Remove CCGDM from PBVH
The statement that PBVH needs to keep track of CCGDM is wrong, PBVH itself
does not care about CCGDM at all, and it's weird for it to carry on this
beast so others can access.

Even more, nobody will actually caring about CCGDM itself, all the usages
were checking whether there is CCGDM or not. This is as good as simply
checking PBVH type.

Tested with an original report T53551 and everything is still stable.
2018-08-31 14:06:26 +02:00
Brecht Van Lommel
671c54f692 Fix T56618: crash in release builds when GHOST asserts.
WITH_ASSERT_ABORT was not disabled for release builds. In most cases asserts
are disabled in release builds, but not always.

This also changes the buildbot to use blender_release.cmake instead of
blender_full.cmake, the only effective difference should be WITH_ASSERT_ABORT.
2018-08-31 12:43:39 +02:00
Brecht Van Lommel
9492522db5 Fix T56618: crash when typing certain characters on Linux. 2018-08-31 12:43:39 +02:00
Sergey Sharybin
e51f51d55d Cycles: Cleanup, use explicit comparison with NULL 2018-08-31 12:28:12 +02:00
Sergey Sharybin
8ee76535da Fix T56626: Cycles ambient occlusion only local : crash
Was caused by missing NULL pointer check in BVH8.
2018-08-31 12:14:36 +02:00
Campbell Barton
976f14fbcf PyAPI: replace checks for invalid input w/ assert
Was returning -1 as a bool argument,
in this case the caller needs to ensure non-null args.
2018-08-31 14:51:59 +10:00
Campbell Barton
98800aa4e0 C/Python API: Add PyC_RunString_AsIntPtr
Utility to get an int or pointer from a Python expression.
2018-08-31 14:21:32 +10:00
Campbell Barton
18d135d05c Cleanup: rename WM_keymap_find -> WM_keymap_ensure 2018-08-31 13:36:46 +10:00
Sergey Sharybin
94ea566b5a Cycles: Cleanup, whitespace after keyword 2018-08-30 17:34:11 +02:00
Sergey Sharybin
caa12b17e2 Buildbot: Correction to previous commit 2018-08-30 14:09:14 +02:00
Sergey Sharybin
9dbef08621 Buildbot: Attempt to fix glibc-2.19 compilation
It is likely to be retired, but for until then lets ensure it works.
2018-08-30 14:07:48 +02:00
Sergey Sharybin
8c3d2e549c Cycles: Fix detection of CPU brand string on 32 bit platforms
The assembler template was backing up and restoring ebx, which is
fair enough. However, this did not prevent compiler for putting
result variables to ebx. This was causing data corruption.

In order to prevent this easiest solution is to list ebx in clobbers
for the assembly.
2018-08-30 12:52:27 +02:00
Brecht Van Lommel
49041e5611 Fix T56612: crash in Cycles viewport render update, after recent changes.
BVH8 refitting code had a bug.
2018-08-30 12:46:46 +02:00
Brecht Van Lommel
22dc248f14 Fix T56610: crash saving images with python API. 2018-08-30 12:19:27 +02:00
Brecht Van Lommel
a1b38a635e Cleanup: license header formatting. 2018-08-30 12:09:47 +02:00
Sergey Sharybin
4939769cd6 Build environment: Tweak to harvasting script
The idea is to make find_package() to succeed without any
extra tips given. For this, we need header files to be
harvasted.
2018-08-30 11:03:25 +02:00
Sergey Sharybin
5c0fb95d04 Buildbot: Get rid of OpenJPEG 2 hack
Also clarified some options and decisions.
2018-08-30 10:00:23 +02:00
Sergey Sharybin
1fdde7892d CMake: Automatically detect OpenJPEG 2 libraries
There is chance that on a system with both versions installed this
*might* cause some issues. Such system will be pain to support out
of the box anyway.

This change allows to use precompiled libraries without extra
modifications in the config.
2018-08-30 09:55:40 +02:00
Sergey Sharybin
75b781fe8d Correction to previous commit
Should not include ABI.
2018-08-29 18:37:49 +02:00
Sergey Sharybin
fd352cf8f6 Buildbot: Tweak configuration to actually ve successful in chroot 2018-08-29 18:32:27 +02:00
Sergey Sharybin
7a6911a10c Buildbot: Make configuration to pass config state
- Foe some reason CMake's platform and processor are not intialized there.

- Need to set variables in cache, otherwise they are not visible in the
  actual CMake files.
2018-08-29 17:57:30 +02:00
Campbell Barton
39eb051616 Cleanup: indentation 2018-08-30 01:31:20 +10:00
Campbell Barton
76a9752be2 Cleanup: trailing space 2018-08-30 01:05:13 +10:00
Brecht Van Lommel
ddf8c49736 Fix Cycles CUDA build after recent changes. 2018-08-29 16:35:21 +02:00
Brecht Van Lommel
8864dde5bb Cleanup: remove unused build environment patches. 2018-08-29 16:32:07 +02:00
Brecht Van Lommel
a7f5418caa Cleanup: consistent includes. 2018-08-29 16:32:07 +02:00
Sergey Sharybin
c3a6b18537 Buildbot: Some inital work to support newer chroot environment 2018-08-29 16:29:25 +02:00
Sergey Sharybin
2385fda448 CMake: Allow specifying custom LIBDIR on Unix
Works similar to how maxOS deals with this.
2018-08-29 16:15:54 +02:00
Sergey Sharybin
b2c707747d CMake: Comply with include path reported by FindOpenGL.cmake
The script clearly states:

  This makes the presumption that you are include al.h like
  #include "al.h"
  and not
  #include <AL/al.h>
  The reason for this is that the latter is not entirely portable.
  Windows/Creative Labs does not by default put their headers in AL/ and
  OS X uses the convention <OpenAL/al.h>.

This commit makes default precompiled OpenAL to be properly detected
and also removes hack on MacOS which was finding the OpenAL package but
then was overwriting include directory.

Note, that new audaspace in 2.8 is using expected #include <al.h>.
2018-08-29 15:08:28 +02:00
Sergey Sharybin
987b3abeb4 CMake: Make sure zlib folder comes first for precompiled Linux libraries
Without this find_package(ZLIB) will find ZLib from OpenCollada folder,
which has older ABI and is not what was used to link PNG against.
2018-08-29 15:05:03 +02:00
Sergey Sharybin
73f2056052 Cycles: Add BVH8 and packeted triangle intersection
This is an initial implementation of BVH8 optimization structure
and packated triangle intersection. The aim is to get faster ray
to scene intersection checks.

    Scene                BVH4      BVH8
barbershop_interior    10:24.94   10:10.74
bmw27                  02:41.25   02:38.83
classroom              08:16.49   07:56.15
fishy_cat              04:24.56   04:17.29
koro                   06:03.06   06:01.45
pavillon_barcelona     09:21.26   09:02.98
victor                 23:39.65   22:53.71

As memory goes, peak usage raises by about 4.7% in a complex
scenes.

Note that BVH8 is disabled when using OSL, this is because OSL
kernel does not get per-microarchitecture optimizations and
hence always considers BVH3 is used.

Original BVH8 patch from Anton Gavrikov.
Batched triangles intersection from Victoria Zhislina.
Extra work and tests and fixes from Maxym Dmytrychenko.
2018-08-29 15:03:09 +02:00
Sergey Sharybin
66f8a4c07e Build environment: Fix compilation of boost on Linux 32bit 2018-08-29 14:11:32 +02:00
Sergey Sharybin
9fd0060c0f Build environment: Ensure Python is using static ffi
Surely, need to compile ffi first :)

Good news are: Python seems static enough now!
2018-08-28 18:55:00 +02:00