blender.git
4 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sat, 25 Mar 2017 02:39:47 +0000 (13:39 +1100)]
Merge branch 'master' into blender2.8

4 years agoFix various i18n ambiguous issues reported in T43295.
Bastien Montagne [Fri, 24 Mar 2017 19:01:32 +0000 (20:01 +0100)]
Fix various i18n ambiguous issues reported in T43295.

4 years agoFix UI message issue, and style cleanup (!)
Bastien Montagne [Fri, 24 Mar 2017 18:59:14 +0000 (19:59 +0100)]
Fix UI message issue, and style cleanup (!)

4 years agoCycles: Remove obsolete variable from the TileManager
Lukas Stockner [Fri, 24 Mar 2017 18:43:39 +0000 (19:43 +0100)]
Cycles: Remove obsolete variable from the TileManager

4 years agoАшч T50995: Wrong freestyle render with new depgraph
Sergey Sharybin [Fri, 24 Mar 2017 15:33:26 +0000 (16:33 +0100)]
Ашч T50995: Wrong freestyle render with new depgraph

The iossue was caused by 0371ef1/

4 years agoCycles: Correct isfinite check used in integrator
Sergey Sharybin [Fri, 24 Mar 2017 14:22:27 +0000 (15:22 +0100)]
Cycles: Correct isfinite check used in integrator

Use fast-math friendly version of this function.

We should probably avoid unsafe fast math, but this is to be done with
real care with all the benchmarks properly done.

For now comitting much safer fix.

4 years agoFix/workaround T51007: Material viewport mode crash on node with more than 64 outputs
Sergey Sharybin [Fri, 24 Mar 2017 13:36:00 +0000 (14:36 +0100)]
Fix/workaround T51007: Material viewport mode crash on node with more than 64 outputs

Ideally we need to find a way to remove such a static limit here, but it's not so
trivial to implement for texture nodes. Requires some bigger system redesign there.

Just raising limit for now, which is fine for modern systems.

4 years agoFix T50238: Cycles: difference in texture position between OpenGL and Cycles render
Sergey Sharybin [Fri, 24 Mar 2017 11:24:14 +0000 (12:24 +0100)]
Fix T50238: Cycles: difference in texture position between OpenGL and Cycles render

4 years agoBuildbot: Use proper NVCC path
Sergey Sharybin [Fri, 24 Mar 2017 09:27:41 +0000 (10:27 +0100)]
Buildbot: Use proper NVCC path

In fact, we could probably remove this option all together.

4 years agoCycles: Workaround incorrect SSS with CUDA toolkit 8.0.61
Sergey Sharybin [Fri, 24 Mar 2017 09:08:18 +0000 (10:08 +0100)]
Cycles: Workaround incorrect SSS with CUDA toolkit 8.0.61

4 years agoUpdate CLERW to the latest version
Sergey Sharybin [Fri, 24 Mar 2017 08:42:50 +0000 (09:42 +0100)]
Update CLERW to the latest version

4 years agoFix for last fix of fix: (unsigned)char is limited to 255
Germano Cavalcante [Fri, 24 Mar 2017 07:35:17 +0000 (04:35 -0300)]
Fix for last fix of fix: (unsigned)char is limited to 255

setting char as value outside its range will wrap

4 years agoFix of last commit. Clamp values that will be used!
Germano Cavalcante [Fri, 24 Mar 2017 07:13:16 +0000 (04:13 -0300)]
Fix of last commit. Clamp values that will be used!

4 years agoFix T51038: `layerInterp_mloopcol` was casting instead of rounding the interpolated...
Germano Cavalcante [Fri, 24 Mar 2017 07:06:30 +0000 (04:06 -0300)]
Fix T51038: `layerInterp_mloopcol` was casting instead of rounding the interpolated RGBA channels

Casting to int truncates a floating-point number, that is, it loose the fractional part.

4 years agoCleanup: minor edits to path test
Campbell Barton [Fri, 24 Mar 2017 06:48:22 +0000 (17:48 +1100)]
Cleanup: minor edits to path test

No need for redundant ID's and correct arg order

4 years agoBLI_path_util: Add BLI_path_join
Campbell Barton [Fri, 24 Mar 2017 06:29:48 +0000 (17:29 +1100)]
BLI_path_util: Add BLI_path_join

There weren't any convenient ways to join multiple paths in C
that accounted for corner cases.

4 years agoAdd: BKE_appdir_folder_id_ex
Campbell Barton [Thu, 23 Mar 2017 23:35:58 +0000 (10:35 +1100)]
Add: BKE_appdir_folder_id_ex

Allows getting the path without using a static string.

4 years agoCleanup: line-length
Campbell Barton [Thu, 23 Mar 2017 23:11:01 +0000 (10:11 +1100)]
Cleanup: line-length

4 years agoOpenGL: viewport background & depth buffer fixes
Mike Erwin [Thu, 23 Mar 2017 20:27:57 +0000 (16:27 -0400)]
OpenGL: viewport background & depth buffer fixes

Untangling some of the logic in view3d_draw.

4 years agobpy.path.display_name: strip spaces
Campbell Barton [Thu, 23 Mar 2017 19:48:24 +0000 (06:48 +1100)]
bpy.path.display_name: strip spaces

Useful for Python module paths that can't start with numbers.

4 years agoBLI_path_util: Add string versions of SEP, ALTSEP
Campbell Barton [Thu, 23 Mar 2017 18:23:03 +0000 (05:23 +1100)]
BLI_path_util: Add string versions of SEP, ALTSEP

This allows for adding separators in string literals.

4 years agoaddon_utils: add disable_all function
Campbell Barton [Thu, 23 Mar 2017 18:20:26 +0000 (05:20 +1100)]
addon_utils: add disable_all function

4 years agoOpenGL Immediate Mode: finalize `image_draw`
Germano Cavalcante [Thu, 23 Mar 2017 17:56:42 +0000 (14:56 -0300)]
OpenGL Immediate Mode: finalize `image_draw`

The directive `#if 0` was ignored.

Part of T49043

4 years agoCycles: Remove old non-optimized triangle intersection function
Sergey Sharybin [Thu, 23 Mar 2017 16:59:34 +0000 (17:59 +0100)]
Cycles: Remove old non-optimized triangle intersection function

It is unused now and if we want similar function we should use
Pluecker intersection which is same performance with SSE optimization
but which is more watertight.

4 years agoCycles: Remove unused macro
Sergey Sharybin [Thu, 23 Mar 2017 16:59:02 +0000 (17:59 +0100)]
Cycles: Remove unused macro

4 years agoCycles: Use SSE-optimized version of triangle intersection for motion triangles
Sergey Sharybin [Thu, 23 Mar 2017 15:16:05 +0000 (16:16 +0100)]
Cycles: Use SSE-optimized version of triangle intersection for motion triangles

The title says it all actually. Gives up to 10% speedup on test scenes here
on i7-6800K.

Render times on GPU are unreliable here, but there might be some slowdown
caused by watertight nature of intersections.

4 years agoCycles: Fix speed regression on GPU
Sergey Sharybin [Thu, 23 Mar 2017 16:15:54 +0000 (17:15 +0100)]
Cycles: Fix speed regression on GPU

Avoid construction of temporary array and make utility function force-inlined.
Additionally avoid calling float4_to_float3 twice.

This brings render times to the same values as before current patch series.

4 years agoCycles: Use utility function for SSS triangle intersection
Sergey Sharybin [Thu, 23 Mar 2017 14:17:26 +0000 (15:17 +0100)]
Cycles: Use utility function for SSS triangle intersection

This effectively de-duplicates triangle intersection logic implemented
for both regular triangle and SSS triangle.

4 years agoCycles: Move watertight triangle intersection to an utility file
Sergey Sharybin [Thu, 23 Mar 2017 12:30:18 +0000 (13:30 +0100)]
Cycles: Move watertight triangle intersection to an utility file

This way the code can be reused more easily.

4 years agoCycles: Move triangle intersection precalc to an util file
Sergey Sharybin [Thu, 23 Mar 2017 12:01:42 +0000 (13:01 +0100)]
Cycles: Move triangle intersection precalc to an util file

This is a preparation work for the followup commit which wil l move
remaining parts of Woop intersection logic to an utility file.

Doing it as a separate commit to keep changes more atomic and easier
to bisect when/if needed.

4 years agoCycles: Cleanup, move utility function to utility file
Sergey Sharybin [Thu, 23 Mar 2017 11:55:51 +0000 (12:55 +0100)]
Cycles: Cleanup, move utility function to utility file

Was an old TODO, this function is handy for some math utilities as well.

4 years agoCycles: Cleanup, code style and comments
Sergey Sharybin [Thu, 23 Mar 2017 11:53:45 +0000 (12:53 +0100)]
Cycles: Cleanup, code style and comments

4 years agoCycles: Move intersection math to own header file
Sergey Sharybin [Thu, 23 Mar 2017 11:47:27 +0000 (12:47 +0100)]
Cycles: Move intersection math to own header file

There are following benefits:

- Modifying intersection algorithm will not cause so much re-compilation.
- It works around header dependency hell and allows us to use vectorization
  types much easier in there.

4 years agoCycles: Cleanup, inline AVX register construction from kernel global data
Sergey Sharybin [Thu, 23 Mar 2017 11:41:33 +0000 (12:41 +0100)]
Cycles: Cleanup, inline AVX register construction from kernel global data

Currently should be no functional changes, preparing for some upcoming refactor.

4 years agoCycles: Cleanup, remove unused function
Sergey Sharybin [Thu, 23 Mar 2017 11:04:49 +0000 (12:04 +0100)]
Cycles: Cleanup, remove unused function

4 years agoFix player stubs (tm)
Jens Verwiebe [Thu, 23 Mar 2017 14:47:23 +0000 (15:47 +0100)]
Fix player stubs (tm)

4 years agoGLSL viewport: Fix shader compilation error.
Clément Foucault [Thu, 23 Mar 2017 14:07:33 +0000 (15:07 +0100)]
GLSL viewport: Fix shader compilation error.

Moved the global lib insertion to the draw manager instead

4 years agoRevert own previous commit, the bug is already fixed a fiew commits before. Sorry...
Alexander Romanov [Thu, 23 Mar 2017 13:36:28 +0000 (16:36 +0300)]
Revert own previous commit, the bug is already fixed a fiew commits before. Sorry for the noise.

4 years agoCollada - Export: now use bind_mat and rest_mat custom properties (when the use_bind_...
Gaia Clary [Thu, 23 Mar 2017 13:11:55 +0000 (14:11 +0100)]
Collada - Export: now use bind_mat and rest_mat custom properties (when the use_bind_info option is enabled and the properties exist)

4 years agoCollada - Import: now add bind_mat and rest_mat as custom properties (when the use_bi...
Gaia Clary [Thu, 23 Mar 2017 13:10:57 +0000 (14:10 +0100)]
Collada - Import: now add bind_mat and rest_mat as custom properties (when the use_bind_info option is enabled)

4 years agoCollada - remove no longer used functions (moved to collada_utils)
Gaia Clary [Thu, 23 Mar 2017 13:09:00 +0000 (14:09 +0100)]
Collada - remove no longer used functions (moved to collada_utils)

4 years agoCollada - Added support for custom bind matrix (using new bind_mat custom property)
Gaia Clary [Thu, 23 Mar 2017 11:53:56 +0000 (12:53 +0100)]
Collada - Added support for custom bind matrix (using new bind_mat custom property)

4 years agoCollada - removed TransformBase baseclass (not needed for anything)
Gaia Clary [Thu, 23 Mar 2017 11:45:40 +0000 (12:45 +0100)]
Collada - removed TransformBase baseclass (not needed for anything)

4 years agoCollada - Added some helper functions into collada_utils, for common usage in the...
Gaia Clary [Thu, 23 Mar 2017 11:38:41 +0000 (12:38 +0100)]
Collada - Added some helper functions into collada_utils, for common usage in the collada module

4 years agoAdded new option for storing bindpose matrix, see T50412
Gaia Clary [Wed, 22 Mar 2017 23:07:05 +0000 (00:07 +0100)]
Added new option for storing bindpose matrix, see T50412

4 years agocollada: Simplify reading Node Matrix
Gaia Clary [Tue, 21 Mar 2017 17:05:10 +0000 (18:05 +0100)]
collada: Simplify reading Node Matrix

4 years agocollada: Make sure that bone use_conncet is set to false when connect type is not...
Gaia Clary [Tue, 21 Mar 2017 16:49:21 +0000 (17:49 +0100)]
collada: Make sure that bone use_conncet is set to false when connect type is not defined in Import

4 years agocollada: add extern 'C' for c header includes
Gaia Clary [Tue, 21 Mar 2017 16:42:34 +0000 (17:42 +0100)]
collada: add extern 'C' for c header includes

4 years agofix: collada - Connected bones get their tails set to wrong location when fix leaf...
Gaia Clary [Tue, 21 Mar 2017 16:24:39 +0000 (17:24 +0100)]
fix: collada - Connected bones get their tails set to wrong location when fix leaf nodes option is enabled

4 years agocollada: use local variable to avoid repeated call of bone chain_length_calculator
Gaia Clary [Tue, 21 Mar 2017 16:13:31 +0000 (17:13 +0100)]
collada: use local variable to avoid repeated call of bone chain_length_calculator

4 years agocollada: use vector copy function instead of direct assigning
Gaia Clary [Tue, 21 Mar 2017 16:10:19 +0000 (17:10 +0100)]
collada: use vector copy function instead of direct assigning

4 years agoFix (unreported) assertion in immBegin. Zerro number of points (Ctrl+LMouse without...
Alexander Romanov [Thu, 23 Mar 2017 12:54:14 +0000 (15:54 +0300)]
Fix (unreported) assertion in immBegin. Zerro number of points (Ctrl+LMouse without moving in node space)

4 years agoUI: allow to extend camera as a menu
Campbell Barton [Thu, 23 Mar 2017 09:42:44 +0000 (20:42 +1100)]
UI: allow to extend camera as a menu

Needed for T46853

4 years agoCloth refactor: Remove goal springs and some other cleanup
Luca Rood [Thu, 23 Mar 2017 06:52:31 +0000 (03:52 -0300)]
Cloth refactor: Remove goal springs and some other cleanup

This removes the goal springs, in favor of simply calculating the goal forces on the vertices directly. The vertices already store all the necessary data for the goal forces, thus the springs were redundant, and just defined both ends as being the same vertex.

The main advantage of removing the goal springs, is an increase in flexibility, allowing us to much more nicely do some neat dynamic stuff with the goals/pins, such as animated vertex weights. But this also has the advantage of simpler code, and a slightly reduced memory footprint.

This also removes the `f`, `dfdx` and `dfdv` fields from the `ClothSpring` struct, as that data is only used by the solver, and is re-computed on each step, and thus does not need to be stored throughout the simulation.

Reviewers: sergey

Reviewed By: sergey

Tags: #physics

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

4 years agocleanup use of GPU matrix API
Mike Erwin [Thu, 23 Mar 2017 05:45:46 +0000 (01:45 -0400)]
cleanup use of GPU matrix API

Take advantage of 2D functions, rotation about the X Y or Z axis, uniform scale factors.

We no longer need to call gpuMatrixBegin_legacy() before using the new API locally in functions.

related to T49450

4 years agoOpenGL: `paint_cursor` port to immediate mode (Part 2)
Germano Cavalcante [Thu, 23 Mar 2017 04:33:34 +0000 (01:33 -0300)]
OpenGL: `paint_cursor` port to immediate mode (Part 2)

Part of T49043

4 years agoCycles: Fix building for some compilers
Mai Lavelle [Thu, 23 Mar 2017 04:11:29 +0000 (00:11 -0400)]
Cycles: Fix building for some compilers

4 years agoCleanup: remove redundant temp dir init
Campbell Barton [Thu, 23 Mar 2017 04:05:42 +0000 (15:05 +1100)]
Cleanup: remove redundant temp dir init

This is already called by wm_init_userdef, in old code
different initialization methods were used but now it's not needed.

Confusing since prefs are loaded in this function that don't initialize temp.

4 years agoOpenGL: remove GLU option from build system
Mike Erwin [Thu, 23 Mar 2017 01:33:19 +0000 (21:33 -0400)]
OpenGL: remove GLU option from build system

Also remove linking in glu libs.

T49042 is now done!

4 years agoremove mention of GLU from comments
Mike Erwin [Thu, 23 Mar 2017 00:59:40 +0000 (20:59 -0400)]
remove mention of GLU from comments

related to T49042

4 years agoconvert last remaining GLU calls in BGE
Mike Erwin [Thu, 23 Mar 2017 00:58:53 +0000 (20:58 -0400)]
convert last remaining GLU calls in BGE

Focus is on getting rid of GLU. We expect UPBGE to replace current BGE.

Part of T49042

4 years agoCleanup: minor wm_homefile_read simplification
Campbell Barton [Wed, 22 Mar 2017 23:32:16 +0000 (10:32 +1100)]
Cleanup: minor wm_homefile_read simplification

Logic in this function is a bit scattered,
minor changes to avoid confusion.

Also rename 'from_memory' to 'use_factory_settings'.

4 years agoOpenGL: `paint_cursor` port to immediate mode (Part 1)
Germano Cavalcante [Wed, 22 Mar 2017 22:43:06 +0000 (19:43 -0300)]
OpenGL: `paint_cursor` port to immediate mode (Part 1)

Part of T49043

4 years agoObject Mode Engine: New grid drawing.
Clément Foucault [Wed, 22 Mar 2017 20:28:59 +0000 (21:28 +0100)]
Object Mode Engine: New grid drawing.

Move the grid drawing to the Object mode engine and implement a new infinite grid.
Everything is done but it needs better parameters to be intuitive.

4 years agoDraw Module: Move the Global Ubo block definition to it's own file.
Clément Foucault [Wed, 22 Mar 2017 20:26:27 +0000 (21:26 +0100)]
Draw Module: Move the Global Ubo block definition to it's own file.

4 years agofix redundant assignment
Mike Erwin [Wed, 22 Mar 2017 20:26:53 +0000 (16:26 -0400)]
fix redundant assignment

Thanks clang for the warning.

4 years agoOpenGL: use new API for persp & ortho projection
Mike Erwin [Wed, 22 Mar 2017 19:52:48 +0000 (15:52 -0400)]
OpenGL: use new API for persp & ortho projection

Still using legacy GL within the GPU library itself, but we'll be able to switch soon.

Part of T49450

4 years agoCleanup: remove BLI_getlastdir
Campbell Barton [Wed, 22 Mar 2017 19:32:16 +0000 (06:32 +1100)]
Cleanup: remove BLI_getlastdir

Replace with BLI_path_name_at_index

4 years agoPydoc: Change Wikipedia links and grammar in mathutils matrix code
Aaron Carlisle [Wed, 22 Mar 2017 18:49:12 +0000 (14:49 -0400)]
Pydoc: Change Wikipedia links and grammar in mathutils matrix code

4 years agoOpenGL: load projection matrix with new API
Mike Erwin [Wed, 22 Mar 2017 18:48:47 +0000 (14:48 -0400)]
OpenGL: load projection matrix with new API

New API does not share legacy OpenGL's concept of matrix modes.

Part of T49450

4 years agoOpenGL: fix new projection matrix API
Mike Erwin [Wed, 22 Mar 2017 18:45:35 +0000 (14:45 -0400)]
OpenGL: fix new projection matrix API

Now using the correct GL enum.
Part of T49450

4 years agoCleanup/optimization: Simplify some usages of uiItemFullO/_ptr, avoid multiple search...
Bastien Montagne [Wed, 22 Mar 2017 18:41:03 +0000 (19:41 +0100)]
Cleanup/optimization: Simplify some usages of uiItemFullO/_ptr, avoid multiple search of same op.

4 years agoCleanup: ignore open-blend as startup/prefs basis
Campbell Barton [Wed, 22 Mar 2017 18:20:52 +0000 (05:20 +1100)]
Cleanup: ignore open-blend as startup/prefs basis

No reason startup/prefs would ever be blend-file relative.

4 years agoLayer Unittesting: pep8 2/2
Dalai Felinto [Wed, 22 Mar 2017 14:22:58 +0000 (15:22 +0100)]
Layer Unittesting: pep8 2/2

Mass replacing the common code of all tests

```
echo "Fixing $1"

ed "$1" <<'EOF'
1,/Testing/d
i

from render_layer_common import *
import unittest
import os
import sys

sys.path.append(os.path.dirname(__file__))

.
w
q
EOF
```

Using line-width of 120

4 years agoLayer Unittesting: pep8 1/2
Dalai Felinto [Wed, 22 Mar 2017 14:15:54 +0000 (15:15 +0100)]
Layer Unittesting: pep8 1/2

Manual corrections, using line-width of 120

4 years agoDepsgraph: Fix missing relations update tag when typing #frame
Sergey Sharybin [Wed, 22 Mar 2017 13:44:12 +0000 (14:44 +0100)]
Depsgraph: Fix missing relations update tag when typing #frame

New depsgraph requires relations to be updated after drivers changes.

4 years agoCycles: fixed warnings
Stefan Werner [Wed, 22 Mar 2017 11:27:12 +0000 (12:27 +0100)]
Cycles: fixed warnings

4 years agoFix T51024: Switch install_deps to set OSL_ROOT_DIR instead of CYCLES_OSL.
Bastien Montagne [Wed, 22 Mar 2017 11:05:43 +0000 (12:05 +0100)]
Fix T51024: Switch install_deps to set OSL_ROOT_DIR instead of CYCLES_OSL.

Path by @alekulyn, thanks.

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

4 years agoFix/workaround T50533: Transparency shader doesn't cast shadows with curve segments
Sergey Sharybin [Wed, 22 Mar 2017 10:37:23 +0000 (11:37 +0100)]
Fix/workaround T50533: Transparency shader doesn't cast shadows with curve segments

There seems to be a compiler bug of MSVC2013. The issue does not happen on Linux and
does not happen on Windows when building with MSVC2015.

Since it's reallly a pain to debug release builds with MSVC2013 the AVX2 optimization
is disabled for curve sergemnts for this compiler.

4 years agoCreate correct node after image file drag&drop for Blender Render
Alexander Romanov [Wed, 22 Mar 2017 09:00:33 +0000 (12:00 +0300)]
Create correct node after image file drag&drop for Blender Render

4 years agoBLI_path_util: add BLI_path_name_at_index
Campbell Barton [Wed, 22 Mar 2017 08:31:34 +0000 (19:31 +1100)]
BLI_path_util: add BLI_path_name_at_index

Utility to get a file/dir in the path by index,
supporting negative indices to start from the end of the path.

Without this it wasn't straightforward to get
the a files parent directory name from a filepath.

4 years agoFix for splash not opening centered
Campbell Barton [Wed, 22 Mar 2017 02:47:27 +0000 (13:47 +1100)]
Fix for splash not opening centered

When the new window didn't end up using the size stored in the preferences
the splash would not be centered (even outside the screen in some cases).

Now centered popups listen for window resizing.

4 years agoObject Mode Outline: Changed algorithm a bit.
Clément Foucault [Wed, 22 Mar 2017 01:14:23 +0000 (02:14 +0100)]
Object Mode Outline: Changed algorithm a bit.

First pass find outline pixel.
Second pass expand it by 1px in each direction.
Subsequent passes fade the occluded outlines inward.

4 years agoOpenGL: convert one more matrix call
Mike Erwin [Tue, 21 Mar 2017 23:38:00 +0000 (19:38 -0400)]
OpenGL: convert one more matrix call

Missed this earlier.
Part of T49450

4 years agofix blenderplayer build
Mike Erwin [Tue, 21 Mar 2017 23:36:29 +0000 (19:36 -0400)]
fix blenderplayer build

GPU lib should not depend on editor (glutil) code.

4 years agoOpenGL: add gpuLoadProjectionMatrix3D function
Mike Erwin [Tue, 21 Mar 2017 22:10:20 +0000 (18:10 -0400)]
OpenGL: add gpuLoadProjectionMatrix3D function

Make an existing 4x4 matrix the current projection.
Found a need for this while converting code to new API.
Part of T49450

4 years agoOpenGL: convert to new matrix API (part 5)
Mike Erwin [Tue, 21 Mar 2017 21:49:21 +0000 (17:49 -0400)]
OpenGL: convert to new matrix API (part 5)

Pretty sure source/blender is now finished, with all legacy matrix calls confined to gpu_matrix.c.

This was the easy part, but doing it first makes the next part much easier. TODO and XXX notes describe what is left.

glMatrixMode is still in place, since the new API does not share this concept of modes. Similar for glOrtho and glFrustum which I'll tackle very soon.

Part of T49450

4 years agoOpenGL: generic inputs for new matrix API
Mike Erwin [Tue, 21 Mar 2017 21:27:17 +0000 (17:27 -0400)]
OpenGL: generic inputs for new matrix API

For functions that expect a 4x4 matrix, you can pass in that, or array[16], or float*, or... Casting at each call site can get annoying, and obscures the logic.

The C11 section still needs work, but the non-C11 macros help on the system I tested on (Mac/clang).

Part of T49450

4 years agoOpenGL: remove fdrawline & other helper functions
Mike Erwin [Tue, 21 Mar 2017 20:11:17 +0000 (16:11 -0400)]
OpenGL: remove fdrawline & other helper functions

Finally, fdrawline is no more!

Part of T49043 & T49450

4 years agoOpenGL: convert to new matrix API (part 4)
Mike Erwin [Tue, 21 Mar 2017 20:08:14 +0000 (16:08 -0400)]
OpenGL: convert to new matrix API (part 4)

Part of T49450, fixes a Push/Pop mismatch from part yesterday's 3.

4 years agoObject Outline: trying something new
Clément Foucault [Tue, 21 Mar 2017 18:29:58 +0000 (19:29 +0100)]
Object Outline: trying something new

4 years agoObject Mode Engine: Support for active color.
Clément Foucault [Tue, 21 Mar 2017 16:47:22 +0000 (17:47 +0100)]
Object Mode Engine: Support for active color.

4 years agoCycles: Use more friendly GPU device name for AMD cards
Sergey Sharybin [Mon, 20 Mar 2017 18:05:04 +0000 (19:05 +0100)]
Cycles: Use more friendly GPU device name for AMD cards

For example, for RX480 you'll no longer see "Ellesmere" but will see
"AMD Radeon RX 480 Graphics" which makes more sense and allows to easily
distinguish which exact card it is when having multiple different cards
of Ellesmere codenames (i.e. RX480 and WX7100) in the same machine.

4 years agoCycles: Simplify some extra OpenCL query code
Sergey Sharybin [Mon, 20 Mar 2017 17:59:46 +0000 (18:59 +0100)]
Cycles: Simplify some extra OpenCL query code

4 years agoUpdate CLEW to latest version
Sergey Sharybin [Mon, 20 Mar 2017 16:59:25 +0000 (17:59 +0100)]
Update CLEW to latest version

Needed to get access to some AMD extensions.

4 years agoCycles: Cleanup, add some utility functions to shorten access to low level API
Sergey Sharybin [Mon, 20 Mar 2017 16:57:37 +0000 (17:57 +0100)]
Cycles: Cleanup, add some utility functions to shorten access to low level API

Should be no functional changes.

4 years agoOpenGL: convert to new matrix API (part 3)
Mike Erwin [Tue, 21 Mar 2017 06:51:02 +0000 (02:51 -0400)]
OpenGL: convert to new matrix API (part 3)

Part of T49450

4 years agoOpenGL: remove 'circ' helper function
Mike Erwin [Tue, 21 Mar 2017 06:27:58 +0000 (02:27 -0400)]
OpenGL: remove 'circ' helper function

This was no longer being used.
Part of T49043

4 years agofix use-before-init error + local cleanup
Mike Erwin [Tue, 21 Mar 2017 05:41:48 +0000 (01:41 -0400)]
fix use-before-init error + local cleanup

"path" was being used uninitialized. Thanks for the warning, clang!

4 years agoremove gpuMatrixUpdate_legacy function
Mike Erwin [Tue, 21 Mar 2017 05:36:51 +0000 (01:36 -0400)]
remove gpuMatrixUpdate_legacy function

No longer needed since 231b5d96bbfd77253941dd37cc4929e4e119d706 tracks dirty state of legacy matrix stacks.

Part of T49450