blender.git
2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Fri, 23 Mar 2018 14:25:27 +0000 (15:25 +0100)]
Merge branch 'master' into blender2.8

2 years agoLibmv: Fix compilation error on Windows
Sergey Sharybin [Fri, 23 Mar 2018 14:05:08 +0000 (15:05 +0100)]
Libmv: Fix compilation error on Windows

2 years agoGlog/gflags: Reduce amount of local modifications
Sergey Sharybin [Fri, 23 Mar 2018 13:32:18 +0000 (14:32 +0100)]
Glog/gflags: Reduce amount of local modifications

With better directory layout and more proper include
statements we can avoid several local modifications,
such as changing config.h for Windows Glog and the
ones related on pass-through statements in logging
headers in Glog.

This commit also makes unused functions not-a-warning
for external code.

2 years agoUI: 4-column layout for the editor-type selector menu
Julian Eisel [Fri, 23 Mar 2018 13:13:13 +0000 (14:13 +0100)]
UI: 4-column layout for the editor-type selector menu

The list of editor-types is rather long by now, so better to arrange them into
sections.

Original patch by @jeske with updates by @Blendify and myself.
Design Task: T36028
Patch: D3112

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 23 Mar 2018 11:05:55 +0000 (12:05 +0100)]
Merge branch 'master' into blender2.8

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 23 Mar 2018 10:56:14 +0000 (11:56 +0100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: stray tabs
Campbell Barton [Fri, 23 Mar 2018 10:51:19 +0000 (11:51 +0100)]
Cleanup: stray tabs

Tabs in middle of code (mostly for no reason / by accident).

2 years agoCleanup: doxy header, line length
Campbell Barton [Fri, 23 Mar 2018 10:28:25 +0000 (11:28 +0100)]
Cleanup: doxy header, line length

2 years agoCleanup: move image undo into own file
Campbell Barton [Fri, 23 Mar 2018 06:51:56 +0000 (07:51 +0100)]
Cleanup: move image undo into own file

2 years agoFix issues with confirmation prompt on Windows
Julian Eisel [Fri, 23 Mar 2018 01:00:14 +0000 (02:00 +0100)]
Fix issues with confirmation prompt on Windows

* Pressing "OK" wouldn't close Blender anymore
* Using File -> Quit would use popup version, not OS native window

Cleaned up code a bit to avoid duplicated logic.

2 years agoFix own mistake from 4cb4556fa5ba78ff
Julian Eisel [Thu, 22 Mar 2018 22:52:38 +0000 (23:52 +0100)]
Fix own mistake from 4cb4556fa5ba78ff

Trying to close Blender from a second window wouldn't work, the first window
would have to be hovered first. Ouch!

2 years agoFix memory leaks when doing "Save & Quit"
Julian Eisel [Thu, 22 Mar 2018 22:29:48 +0000 (23:29 +0100)]
Fix memory leaks when doing "Save & Quit"

Steps to reproduce were:
* Open Blender (no need for factory settings, "Promt Quit" needs to be enabled)
* Edit the file (e.g. translate some object)
* Quit Blender but don't skip quit promt
* Press "Save & Quit"
* Save the file

Not sure if Windows supports the "Save & Quit" behavior, so this may not have
applied to Windows.

2 years agoFix T48027: Memory leaks when exiting Blender from menu
Julian Eisel [Thu, 22 Mar 2018 22:09:19 +0000 (23:09 +0100)]
Fix T48027: Memory leaks when exiting Blender from menu

You only had to close Blender through File -> Quit.

Leaks happened because WM_exit() was called from within operator, UI wasn't able
to free some of it's heap data then. This data was the handler added in
uiTemplateRunningJobs() and the IDProperty group added in uiItemFullO_ptr_ex().
There was obviously a general design issue which only became visible in this
specific case.

We now delay the WM_exit call by wrapping it into a handler that gets registered
as usual. I didn't see a better way to do this, all tricks done in
ui_apply_but_funcs_after() to prevent leaks didn't work here. In fact they may
be redundant now, but am not brave enough to try ;)

2 years agoGPUCompositing: Remove last reference to gpu_shader_fullscreen_vert.glsl
Clément Foucault [Thu, 22 Mar 2018 21:39:07 +0000 (22:39 +0100)]
GPUCompositing: Remove last reference to gpu_shader_fullscreen_vert.glsl

It was breaking compilation with MSVC apparently.

2 years agoPyDocs: Fix link syntax
Aaron Carlisle [Thu, 22 Mar 2018 20:28:28 +0000 (16:28 -0400)]
PyDocs: Fix link syntax

2 years agoMerge branch 'master' into blender2.8
Antonio Vazquez [Thu, 22 Mar 2018 18:21:36 +0000 (19:21 +0100)]
Merge branch 'master' into blender2.8

2 years agoGlog: Restore some custom config for MSVC2015
Sergey Sharybin [Thu, 22 Mar 2018 16:48:36 +0000 (17:48 +0100)]
Glog: Restore some custom config for MSVC2015

2 years agoGLog: Tweak settings according to our config
Sergey Sharybin [Thu, 22 Mar 2018 16:32:51 +0000 (17:32 +0100)]
GLog: Tweak settings according to our config

We do have gflags.

2 years agoGlog: Workaround mess around windows and non-windows headers
Sergey Sharybin [Thu, 22 Mar 2018 16:26:02 +0000 (17:26 +0100)]
Glog: Workaround mess around windows and non-windows headers

Seems we can not use include directories order trick, since
files are included form inside ".." string, which forces current
directory to be checked first.

2 years agoGFlags: Fix usage of unused attribute
Sergey Sharybin [Thu, 22 Mar 2018 16:19:56 +0000 (17:19 +0100)]
GFlags: Fix usage of unused attribute

2 years agoGlog: Attempt to fix compilation error on Windows
Sergey Sharybin [Thu, 22 Mar 2018 16:01:42 +0000 (17:01 +0100)]
Glog: Attempt to fix compilation error on Windows

Ideally it should be possible without hacking into sources files
of Glog itself.

2 years agoGlog: Restore haiko OS
Sergey Sharybin [Thu, 22 Mar 2018 15:58:09 +0000 (16:58 +0100)]
Glog: Restore haiko OS

2 years agoFix T54172: Avoid jumping panel length during playback
Aaron Carlisle [Thu, 22 Mar 2018 15:41:14 +0000 (11:41 -0400)]
Fix T54172: Avoid jumping panel length during playback

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Thu, 22 Mar 2018 15:41:37 +0000 (16:41 +0100)]
Merge branch 'master' into blender2.8

2 years agoDepsgraph: Report new depsgraph evaluation time
Sergey Sharybin [Thu, 22 Mar 2018 15:40:32 +0000 (16:40 +0100)]
Depsgraph: Report new depsgraph evaluation time

Timing is printed to the console when running with --debug-depsgraph-time.

2 years agoUI: skip confirmation menu on quit prompt to save
Campbell Barton [Thu, 22 Mar 2018 15:23:29 +0000 (16:23 +0100)]
UI: skip confirmation menu on quit prompt to save

2 years agoGPUCompositing: Remove entire module.
Clément Foucault [Thu, 22 Mar 2018 15:10:54 +0000 (16:10 +0100)]
GPUCompositing: Remove entire module.

This module has no use now with the new DrawManager and DrawEngines and it
is using deprecated paths.

Moving gpu_shader_fullscreen_vert.glsl
to draw/modes/shaders/common_fullscreen_vert.glsl

2 years agoUpdate Google libraries
Sergey Sharybin [Wed, 21 Mar 2018 16:17:34 +0000 (17:17 +0100)]
Update Google libraries

This commit updates:

- gflags 2.2.0 -> 2.2.1
- glog 0.3.4 -> 0.3.4
- gmock 1.7.0 -> 1.8.0
- gtest 1.7.0 -> 1.8.0

2 years agoFix T54360: FFMPEG bitrate not editable for all codecs
Sybren A. Stüvel [Thu, 22 Mar 2018 13:46:57 +0000 (14:46 +0100)]
Fix T54360: FFMPEG bitrate not editable for all codecs

The bitrate selection was hidden when a CRF mode was chosen and then
switched to a codec that doesn't support CRF.

2 years agoCleanup: Use more python way of checking boolean
Sergey Sharybin [Thu, 22 Mar 2018 08:31:33 +0000 (09:31 +0100)]
Cleanup: Use more python way of checking boolean

2 years agoFix T54348: Bone dissolve gives invalid hierarchy
Campbell Barton [Thu, 22 Mar 2018 06:50:58 +0000 (07:50 +0100)]
Fix T54348: Bone dissolve gives invalid hierarchy

Disconnected bones weren't handled correctly.

2 years agoFix bone dissolve using wrong envelope radius
Campbell Barton [Thu, 22 Mar 2018 06:42:17 +0000 (07:42 +0100)]
Fix bone dissolve using wrong envelope radius

Also correctly copy bone tip selection when dissolving.

2 years agoFix T54203: crash changing engine w/ project-paint
Campbell Barton [Wed, 21 Mar 2018 15:49:37 +0000 (16:49 +0100)]
Fix T54203: crash changing engine w/ project-paint

2 years agoEevee: Fix missing camera animation with CoW
Sergey Sharybin [Wed, 21 Mar 2018 15:38:01 +0000 (16:38 +0100)]
Eevee: Fix missing camera animation with CoW

2 years agoDraw manager: Fix missing active camera triangle with CoW
Sergey Sharybin [Wed, 21 Mar 2018 15:29:35 +0000 (16:29 +0100)]
Draw manager: Fix missing active camera triangle with CoW

2 years agoGHOST CONTEXTWGL: Remove unused member
Germano [Wed, 21 Mar 2018 15:30:36 +0000 (12:30 -0300)]
GHOST CONTEXTWGL: Remove unused member

No longer used from this commit: https://developer.blender.org/rB0940e89e604d85d717f792b73e30e5e96a42e7c6#change-kg3gZvqkYPB6

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 21 Mar 2018 15:27:48 +0000 (16:27 +0100)]
Merge branch 'master' into blender2.8

2 years agoDepsgraph: Remove redundant operation nodes
Sergey Sharybin [Wed, 21 Mar 2018 15:11:56 +0000 (16:11 +0100)]
Depsgraph: Remove redundant operation nodes

Rather a mistake since previous merge.

2 years agoUI: Optional prompt to quit for non win32 systems
Campbell Barton [Wed, 21 Mar 2018 15:00:18 +0000 (16:00 +0100)]
UI: Optional prompt to quit for non win32 systems

D566 by @januz

Use Blender native dialog when OS dialog's aren't supported.

2 years agoFix: GWN Indexbuf creation was replacing the index buff bound to the last VAO
Germano [Wed, 21 Mar 2018 14:55:38 +0000 (11:55 -0300)]
Fix: GWN Indexbuf creation was replacing the index buff bound to the last VAO

This led to problems such as the drawing of the navigate manipulator.
More details in the code comments.

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Wed, 21 Mar 2018 11:47:13 +0000 (12:47 +0100)]
Merge branch 'master' into blender2.8

2 years agoTracking: Make object created form tracks active and selected
Sergey Sharybin [Wed, 21 Mar 2018 11:33:04 +0000 (12:33 +0100)]
Tracking: Make object created form tracks active and selected

2 years agoTracking: Warn when no tracks are selected when creating mesh
Sergey Sharybin [Wed, 21 Mar 2018 11:30:50 +0000 (12:30 +0100)]
Tracking: Warn when no tracks are selected when creating mesh

Makes it more clear why mesh was not created this way.

Fixes T54368: 3D markers to mesh In MovieClipEditor Not working.

2 years agoFix T54378: Drivers fail with property from empty
Sergey Sharybin [Wed, 21 Mar 2018 11:17:51 +0000 (12:17 +0100)]
Fix T54378: Drivers fail with property from empty

Empties were missing Parameters component.

2 years agoFix T54366: Custom manipulator acts on linked data
Campbell Barton [Wed, 21 Mar 2018 06:26:58 +0000 (07:26 +0100)]
Fix T54366: Custom manipulator acts on linked data

2 years agoFix crash when changing workspaces
Julian Eisel [Tue, 20 Mar 2018 22:31:44 +0000 (23:31 +0100)]
Fix crash when changing workspaces

Steps to reproduce were:
* Append a workspace (via '+' icon) - make sure its from the default workspaces.blend
* Activate it
* Should crash

Was accessing data from view-layer which wasn't updated yet (and thus could be
NULL). Crash occured after rB8153f89518b4a.

@campbellbarton, you may want to check if all object-mode stuff still works as
expected, not sure what's the state of it.

2 years agoLink and expand overrides for collections
Dalai Felinto [Tue, 20 Mar 2018 13:39:51 +0000 (10:39 -0300)]
Link and expand overrides for collections

This code was neglected. Yet it is needed for when we support datablock
overrides so that the ID pointers are properly linked and expanded.

2 years agoCleanup: remove useless static override reference pointer from ID struct.
Bastien Montagne [Tue, 20 Mar 2018 17:12:14 +0000 (18:12 +0100)]
Cleanup: remove useless static override reference pointer from ID struct.

2 years agoAdd basic read-only RNA access to static override data.
Bastien Montagne [Tue, 20 Mar 2018 17:09:45 +0000 (18:09 +0100)]
Add basic read-only RNA access to static override data.

Will make investigating issues much, much easier!

2 years agoFix broken tatic verride detection in RNA collections.
Bastien Montagne [Tue, 20 Mar 2018 17:08:42 +0000 (18:08 +0100)]
Fix broken tatic verride detection in RNA collections.

We have to check all items of a collection when we want to create
overrides as needed...

2 years agoFix build error on Windows 32 bit.
Brecht Van Lommel [Tue, 20 Mar 2018 16:11:14 +0000 (17:11 +0100)]
Fix build error on Windows 32 bit.

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Tue, 20 Mar 2018 15:55:16 +0000 (16:55 +0100)]
Merge branch 'master' into blender2.8

2 years agoRemove debug only code from previous commit
Sergey Sharybin [Tue, 20 Mar 2018 15:54:50 +0000 (16:54 +0100)]
Remove debug only code from previous commit

2 years agoMemory allocator: Clarify consistency check function
Sergey Sharybin [Tue, 20 Mar 2018 15:51:33 +0000 (16:51 +0100)]
Memory allocator: Clarify consistency check function

Also make it to return truth when everything is good and
false otherwise.

2 years agoDepsgraph: Fix memory leak when datablock is not reused
Sergey Sharybin [Tue, 20 Mar 2018 15:06:21 +0000 (16:06 +0100)]
Depsgraph: Fix memory leak when datablock is not reused

It is possible that datablock will not be re-used for the new
dependency graph building. Freeing function was freeing all
the nested pointers of databnlock, but not datablock memory
itself.

2 years agoDepsgraph: Prevent non-expandable datablocks from being freed
Sergey Sharybin [Tue, 20 Mar 2018 14:13:54 +0000 (15:13 +0100)]
Depsgraph: Prevent non-expandable datablocks from being freed

This avoids original image datablock destruction when using
copy on write.

2 years agoMSVC: Fix lite build.
Ray Molenkamp [Tue, 20 Mar 2018 14:26:11 +0000 (08:26 -0600)]
MSVC: Fix lite build.

MSVC still defines __cplusplus as 199711L until it's in full conformance with the newer c++ standards, however the things we need from the standard are fully supported, hence a check for the msvc version was needed.

2 years agoDRW: Fix bound_ubo_slots allocation size.
Clément Foucault [Tue, 20 Mar 2018 14:16:10 +0000 (15:16 +0100)]
DRW: Fix bound_ubo_slots allocation size.

2 years agoDRW: Fix ubo binding code.
Clément Foucault [Tue, 20 Mar 2018 14:07:38 +0000 (15:07 +0100)]
DRW: Fix ubo binding code.

2 years agoFixed: cache clearing when using multiple Alembic files.
Sybren A. Stüvel [Tue, 20 Mar 2018 11:54:48 +0000 (12:54 +0100)]
Fixed: cache clearing when using multiple Alembic files.

2 years agoFix BLI_assert for MSVC
Campbell Barton [Tue, 20 Mar 2018 10:49:33 +0000 (11:49 +0100)]
Fix BLI_assert for MSVC

Also use `_BLI_ASSERT` prefix for internal defines.

2 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Tue, 20 Mar 2018 10:33:59 +0000 (11:33 +0100)]
Merge branch 'master' into blender2.8

Conflicts:
source/blender/blenkernel/intern/library_query.c

2 years agoFix missing ID pointer handling in materials in ID remapping code.
Bastien Montagne [Tue, 20 Mar 2018 10:28:02 +0000 (11:28 +0100)]
Fix missing ID pointer handling in materials in ID remapping code.

2 years agoFix missing array duplication when copying material
Sergey Sharybin [Tue, 20 Mar 2018 10:22:47 +0000 (11:22 +0100)]
Fix missing array duplication when copying material

Texture paint slots were copied as a pointer, causing double-free.

2 years agoCleanup: unused variables
Campbell Barton [Tue, 20 Mar 2018 07:03:10 +0000 (08:03 +0100)]
Cleanup: unused variables

Missed in own recent changes.

2 years agoMerge branch 'master' into blender2.8
Joshua Leung [Tue, 20 Mar 2018 03:13:37 +0000 (16:13 +1300)]
Merge branch 'master' into blender2.8

2 years agoFix compile error with MSVC2013 - Can't use __func__ (from BLI_assert) in inlined...
Joshua Leung [Tue, 20 Mar 2018 03:03:43 +0000 (16:03 +1300)]
Fix compile error with MSVC2013 - Can't use __func__ (from BLI_assert) in inlined functions

ERROR: blenlib/intern/math_base_inline.c:371 - '__func__' : undeclared identifier (C:\blenderdev\master2\blender\source\blender\editors\lattice\editlattice_tools.c)  [C2065]

2 years agoFix T54019: copying and linking bugs with custom ID pointer properties.
Bogdan Nagirniak [Mon, 19 Mar 2018 21:12:55 +0000 (22:12 +0100)]
Fix T54019: copying and linking bugs with custom ID pointer properties.

2 years agoGPU Bufferes: Small optimization when updating buffers
Germano [Mon, 19 Mar 2018 21:09:00 +0000 (18:09 -0300)]
GPU Bufferes: Small optimization when updating buffers

With the API recently added to gawain, it is now possible to update the vbos linked to the batch.
So the batch does not have to be destroyed.
The optimization is more sensitive when sculpt is made on low poly meshs

2 years agoFix T54240: automatic node link moving should take into account type.
Matthias Ellerbeck [Mon, 19 Mar 2018 20:30:33 +0000 (21:30 +0100)]
Fix T54240: automatic node link moving should take into account type.

Without this a "Clearcoat" link could be moved to "Clearcoat Normal"
for example, which doesn't make much sense.

Differential Revision: https://developer.blender.org/D3105

2 years agoFix T54317: overlapping volume render bug after recent changes.
Brecht Van Lommel [Mon, 19 Mar 2018 19:20:01 +0000 (20:20 +0100)]
Fix T54317: overlapping volume render bug after recent changes.

Increasing the samplig dimensions like this is not optimal, I'm looking
into some deeper changes to reuse the random number and change the RR
probabilities, but this should fix the bug for now.

2 years agoFix T54356: volume rendering bug using just color attribute.
Brecht Van Lommel [Mon, 19 Mar 2018 19:18:24 +0000 (20:18 +0100)]
Fix T54356: volume rendering bug using just color attribute.

2 years agoCleanup: avoid passing bContext to particle API
Campbell Barton [Mon, 19 Mar 2018 18:03:18 +0000 (19:03 +0100)]
Cleanup: avoid passing bContext to particle API

Also add EvaluationContext to PEData

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 19 Mar 2018 17:18:49 +0000 (18:18 +0100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: use utility header for particle looping
Campbell Barton [Mon, 19 Mar 2018 17:16:27 +0000 (18:16 +0100)]
Cleanup: use utility header for particle looping

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 19 Mar 2018 17:06:27 +0000 (18:06 +0100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: move particle undo into own file
Campbell Barton [Mon, 19 Mar 2018 16:46:49 +0000 (17:46 +0100)]
Cleanup: move particle undo into own file

Also avoid extern declarations which can get out of sync.

2 years agoCleanup: move armature undo into own file
Campbell Barton [Mon, 19 Mar 2018 16:10:07 +0000 (17:10 +0100)]
Cleanup: move armature undo into own file

2 years agoCleanup: move metaball undo into own file
Campbell Barton [Mon, 19 Mar 2018 15:46:48 +0000 (16:46 +0100)]
Cleanup: move metaball undo into own file

2 years agoCleanup: move curve undo into own file
Campbell Barton [Mon, 19 Mar 2018 15:30:53 +0000 (16:30 +0100)]
Cleanup: move curve undo into own file

2 years agoGWN: Vertex Buffer: Remove the use of glMapBufferRange
Clément Foucault [Mon, 19 Mar 2018 15:13:00 +0000 (16:13 +0100)]
GWN: Vertex Buffer: Remove the use of glMapBufferRange

We revert to the malloc/realloc and manually manage the upload.
There seems to be a performance penalty from using glMapBuffer on some
hardware, prefering way is glBufferData(NULL) with glBufferSubData.

2 years agoCleanup: split lattice into own library
Campbell Barton [Mon, 19 Mar 2018 13:49:59 +0000 (14:49 +0100)]
Cleanup: split lattice into own library

Was mixed with object functionality.

2 years agoGWN: Perf: Use unsync glMapBufferRange to prevent sync time.
Clément Foucault [Mon, 19 Mar 2018 13:13:50 +0000 (14:13 +0100)]
GWN: Perf: Use unsync glMapBufferRange to prevent sync time.

2 years agoGWN: Context: Use <unordered_set> instead of <forward_list>
Clément Foucault [Mon, 19 Mar 2018 09:47:01 +0000 (10:47 +0100)]
GWN: Context: Use <unordered_set> instead of <forward_list>

We cannot have duplicates so unordered_set is better suited for this case.

Removing batches is now constant time on average instead of linear.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 19 Mar 2018 10:17:52 +0000 (11:17 +0100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: type conversion warning
Campbell Barton [Mon, 19 Mar 2018 07:48:12 +0000 (08:48 +0100)]
Cleanup: type conversion warning

2 years agoFixed typo Python API
Jeroen Bakker [Mon, 19 Mar 2018 07:19:48 +0000 (08:19 +0100)]
Fixed typo Python API

`mathutils.geometry.barycentric_transform` used `tri_a[1-3]` for the
target triangle, but in fact they are `tri_b[1-3]`

2 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Sun, 18 Mar 2018 15:05:02 +0000 (16:05 +0100)]
Merge branch 'master' into blender2.8

2 years agoFix ugly recursive pattern in RNA PointCache data layout.
Bastien Montagne [Sun, 18 Mar 2018 14:37:23 +0000 (15:37 +0100)]
Fix ugly recursive pattern in RNA PointCache data layout.

PointCache was having a collection of items of PointCache type, having a
collection of items of PointCache type, having...

Nuff said.

For now, chose the 'ugly' way to fix it, that is, the one that changes
nothing to API and scripts using it: we define another 'PointCacheItem'
RNA type for items of our point cache collection, which has exact same
interface as PointCache except for the collection.

This is doomed to be rewritten at some point anyway, not worth spending
time trying to define a really correct data layout for now.

2 years agoCMake: disable boost for lite builds
Campbell Barton [Sun, 18 Mar 2018 04:10:02 +0000 (05:10 +0100)]
CMake: disable boost for lite builds

2 years agoCleanup: kdopbvh, only set parent nodes once
Campbell Barton [Sun, 18 Mar 2018 04:07:14 +0000 (05:07 +0100)]
Cleanup: kdopbvh, only set parent nodes once

2 years agoCleanup: use MEM_SAFE_FREE
Campbell Barton [Sun, 18 Mar 2018 04:03:42 +0000 (05:03 +0100)]
Cleanup: use MEM_SAFE_FREE

2 years agomathutils: replace interp w/ blend when standalone
Campbell Barton [Sun, 18 Mar 2018 04:01:30 +0000 (05:01 +0100)]
mathutils: replace interp w/ blend when standalone

2 years agobuild_environment: remove msvc compiler warning from boost.
Ray Molenkamp [Sat, 17 Mar 2018 18:47:17 +0000 (12:47 -0600)]
build_environment: remove msvc compiler warning from boost.

Even the boost people have given up trying to keep up with the rapid release
of new msvc versions, and have removed the warn for now see: https://github.com/boostorg/config/commit/5ad0730630188b55e2ee554dec53b5498fc0a030#diff-eac863c1d46c77471e54e8818aab7534

2 years agoMSVC: ignore warning c4828 The file contains a character that is illegal.
Ray Molenkamp [Sat, 17 Mar 2018 18:45:27 +0000 (12:45 -0600)]
MSVC: ignore warning c4828 The file contains a character that is illegal.

The only place this warning is coming from is from comments in headers of 3rd party libs. we can safely repress this warning for now.

2 years agoEevee: Volumetrics: Fix crash when using smoke volumes.
Clément Foucault [Sat, 17 Mar 2018 18:08:14 +0000 (19:08 +0100)]
Eevee: Volumetrics: Fix crash when using smoke volumes.

2 years agoDRW: Fix error in texture binding / unbinding.
Clément Foucault [Sat, 17 Mar 2018 17:48:14 +0000 (18:48 +0100)]
DRW: Fix error in texture binding / unbinding.

2 years agoGWN: Element Buffer: Refactor / Optimisation.
Clément Foucault [Sat, 17 Mar 2018 17:23:04 +0000 (18:23 +0100)]
GWN: Element Buffer: Refactor / Optimisation.

 - Upload the data to the GPU directly when creating the element buffer in
   GWN_indexbuf_build_in_place().

 - Convert data in place when squeezing the indices and removing the need
   for another allocation.

 - GWN_indexbuf_build_in_place() can be used with already used element
   buffers and reupload their data without changing vbo id (keeping vaos
   up to date).

2 years agoGWN: Vertex Buffer refactor.
Clément Foucault [Sat, 17 Mar 2018 15:58:43 +0000 (16:58 +0100)]
GWN: Vertex Buffer refactor.

We now alloc a vbo id on creation and let OpenGL manage its memory directly.
We use glMapBuffer to get this memory location.

This enables us to reuse and modify any vertex buffer directly without
destroying it with its associated Batches.

This commit does not really improve performance but will let us implement
more optimizations in the future.

We can also resize the buffer even if this can be slow if we need to keep
the existing data.

The addition of the usage hint makes dynamic buffers not a special case
anymore, simplifying things a bit.

2 years agoDRW: Move cache time to GPUViewport for profiling
Clément Foucault [Sat, 17 Mar 2018 03:47:26 +0000 (04:47 +0100)]
DRW: Move cache time to GPUViewport for profiling

This enables us to average this timer over time like the others.