blender.git
2 years agoDepsgraph: Avoid creating ID nodes for objects which are coming from collections...
Sergey Sharybin [Mon, 24 Jul 2017 13:39:31 +0000 (15:39 +0200)]
Depsgraph: Avoid creating ID nodes for objects which are coming from collections and not layers

If object is only listed in collection but not added to any of layers we shouldn't create
placeholder for it, because otherwise we'll leave lots of placeholder ID nodes.

Question: can we make this exception to be more reliable?

2 years agoDepsgraph: Be consistent about id type variable name
Sergey Sharybin [Mon, 24 Jul 2017 13:33:35 +0000 (15:33 +0200)]
Depsgraph: Be consistent about id type variable name

2 years agoDepsgraph: Cleanup, use utility function to clear lists
Sergey Sharybin [Mon, 24 Jul 2017 13:28:27 +0000 (15:28 +0200)]
Depsgraph: Cleanup, use utility function to clear lists

2 years agoDepsgraph: Ignore palettes from copy-on-write routines
Sergey Sharybin [Mon, 24 Jul 2017 13:12:36 +0000 (15:12 +0200)]
Depsgraph: Ignore palettes from copy-on-write routines

They are not covered by dependency graph.

2 years agoEevee: Fix crash when saving file with motion blur.
Clément Foucault [Mon, 24 Jul 2017 14:21:43 +0000 (16:21 +0200)]
Eevee: Fix crash when saving file with motion blur.

2 years agoEevee: Fix double buffer issue.
Clément Foucault [Mon, 24 Jul 2017 13:55:21 +0000 (15:55 +0200)]
Eevee: Fix double buffer issue.

2 years agoEevee: SSR: Refactor multiple rays. Plus other changes...
Clément Foucault [Mon, 24 Jul 2017 09:18:11 +0000 (11:18 +0200)]
Eevee: SSR: Refactor multiple rays. Plus other changes...

-Allow a maximum of 4 rays per trace pixel.
-Removes parameter Normalize: use normalization all the time now.
-Add firefly clamp slider.

2 years agoEevee: Make MinmaxZ compatible with textureArray
Clément Foucault [Sun, 23 Jul 2017 18:33:29 +0000 (20:33 +0200)]
Eevee: Make MinmaxZ compatible with textureArray

2 years agoEevee: Planar Reflection: Remove distance approximation.
Clément Foucault [Sun, 23 Jul 2017 12:03:27 +0000 (14:03 +0200)]
Eevee: Planar Reflection: Remove distance approximation.

This commit separate the depth texture into another texture array.
This remove the need to output radial depth into alpha.
Unfortunatly it's difficult to recover position from the non linear depth buffer when applying reflection without adding a bunch of stuff.
This is in preparation of SSR planar reflections.

2 years agoEevee: SSR: Add two hit option.
Clément Foucault [Sat, 22 Jul 2017 22:03:45 +0000 (00:03 +0200)]
Eevee: SSR: Add two hit option.

This option add another raytrace per pixel, clearing some noise.
But multiplying the raytrace cost.

2 years agoEevee: SSR: Fix Opengl Render.
Clément Foucault [Sat, 22 Jul 2017 18:36:34 +0000 (20:36 +0200)]
Eevee: SSR: Fix Opengl Render.

Add a constant number of 4 drawing loop to accumulate 4 "bounce" of light in SSRs.

2 years agoEevee: SSR: Fixed problem with un-initialized texture.
Clément Foucault [Sat, 22 Jul 2017 14:22:01 +0000 (16:22 +0200)]
Eevee: SSR: Fixed problem with un-initialized texture.

Also add another debug buffer and cleanup in effect_ssr_frag.glsl

2 years agoEevee: SSR: Small fixes
Clément Foucault [Mon, 24 Jul 2017 13:36:22 +0000 (15:36 +0200)]
Eevee: SSR: Small fixes

- Encode normals for other opaque bsdf so they are not rejected by the normal facing test.
- Early out non reflective surfaces.
- Add small offset to raytrace to avoid self intersection.
- Fix fallback probes not appearing.

2 years agoEevee: SSR: Add Weight Normalization option.
Clément Foucault [Sat, 22 Jul 2017 12:41:34 +0000 (14:41 +0200)]
Eevee: SSR: Add Weight Normalization option.

2 years agoEevee: SSR: Add View Facing fadeout.
Clément Foucault [Sat, 22 Jul 2017 12:39:35 +0000 (14:39 +0200)]
Eevee: SSR: Add View Facing fadeout.

Also make hit boolean depends on hit coord not on pdf.

2 years agoEevee: SSR: Add fullscreen raytrace option and Screen border factor.
Clément Foucault [Fri, 21 Jul 2017 23:13:33 +0000 (01:13 +0200)]
Eevee: SSR: Add fullscreen raytrace option and Screen border factor.

2 years agoEevee: SSR: Use noise to dither the stride banding.
Clément Foucault [Fri, 21 Jul 2017 22:22:39 +0000 (00:22 +0200)]
Eevee: SSR: Use noise to dither the stride banding.

2 years agoEevee: SSR: Add stride and thickness parameters.
Clément Foucault [Fri, 21 Jul 2017 21:48:48 +0000 (23:48 +0200)]
Eevee: SSR: Add stride and thickness parameters.

Also polished the raytracing algorithm.

2 years agoEevee: SSR: Add fullscreen raytrace.
Clément Foucault [Fri, 21 Jul 2017 13:06:29 +0000 (15:06 +0200)]
Eevee: SSR: Add fullscreen raytrace.

2 years agoEevee: HiZ buffer: Split into two 24bit depth buffer
Clément Foucault [Fri, 21 Jul 2017 12:27:16 +0000 (14:27 +0200)]
Eevee: HiZ buffer: Split into two 24bit depth buffer

This way we don't have float precision issue we had before and we save some bandwidth.

2 years agoEevee: SSR: Add firefly filter and refine noise reduction.
Clément Foucault [Thu, 20 Jul 2017 22:24:16 +0000 (00:24 +0200)]
Eevee: SSR: Add firefly filter and refine noise reduction.

Push to 9 resolve sample.
Add an normalization as an option since it gives harsh limits.

2 years agoEevee: Codestyle.
Clément Foucault [Thu, 20 Jul 2017 22:20:05 +0000 (00:20 +0200)]
Eevee: Codestyle.

2 years agoEevee: SSR: Do the SSR pass only for probes if there is no valid double buffer.
Clément Foucault [Thu, 20 Jul 2017 22:19:23 +0000 (00:19 +0200)]
Eevee: SSR: Do the SSR pass only for probes if there is no valid double buffer.

This prevent black reflection when initializing SSR.

2 years agoEevee: SSR: Add mipmap filtering and bias to reduce noise.
Clément Foucault [Thu, 20 Jul 2017 16:40:23 +0000 (18:40 +0200)]
Eevee: SSR: Add mipmap filtering and bias to reduce noise.

Also fix the roughness factors.

2 years agoEevee: Fix glossy node roughness.
Clément Foucault [Thu, 20 Jul 2017 14:54:57 +0000 (16:54 +0200)]
Eevee: Fix glossy node roughness.

2 years agoEevee: SSR: Don't block the ray if tracing behind object.
Clément Foucault [Wed, 19 Jul 2017 21:40:14 +0000 (23:40 +0200)]
Eevee: SSR: Don't block the ray if tracing behind object.

This requires to check for backface after a hit.

2 years agoEevee: SSR: Add per pixel resolve of multiple rays.
Clément Foucault [Wed, 19 Jul 2017 17:21:16 +0000 (19:21 +0200)]
Eevee: SSR: Add per pixel resolve of multiple rays.

2 years agoEevee: SSR: Add roughness random rays.
Clément Foucault [Wed, 19 Jul 2017 13:39:37 +0000 (15:39 +0200)]
Eevee: SSR: Add roughness random rays.

2 years agoEevee: SSR: Add double buffer so we can read previous frame color.
Clément Foucault [Wed, 19 Jul 2017 12:22:03 +0000 (14:22 +0200)]
Eevee: SSR: Add double buffer so we can read previous frame color.

Also add simple reprojection and screen fade to the SSR resolve pass.

2 years agoEevee: SSR: Make raymarch step bigger.
Clément Foucault [Wed, 19 Jul 2017 12:19:03 +0000 (14:19 +0200)]
Eevee: SSR: Make raymarch step bigger.

2 years agoEevee: Fix Shader compilation.
Clément Foucault [Tue, 18 Jul 2017 14:48:45 +0000 (16:48 +0200)]
Eevee: Fix Shader compilation.

2 years agoEevee: SSR: Add simple raytracing.
Clément Foucault [Tue, 18 Jul 2017 14:48:24 +0000 (16:48 +0200)]
Eevee: SSR: Add simple raytracing.

Still imprecise.

2 years agoEevee: Fix clip/hashed alpha prepass/shadow crash.
Clément Foucault [Mon, 17 Jul 2017 13:43:24 +0000 (15:43 +0200)]
Eevee: Fix clip/hashed alpha prepass/shadow crash.

2 years agoEevee: SSR: Encode Normal in buffer and add cubemap fallback.
Clément Foucault [Mon, 17 Jul 2017 11:39:03 +0000 (13:39 +0200)]
Eevee: SSR: Encode Normal in buffer and add cubemap fallback.

Normals can point away from the camera so we cannot just put XY in the buffer and reconstruct Z later as we would not know the sign of Z.

2 years agoEevee: SSR: Output ssr datas to buffers.
Clément Foucault [Sun, 16 Jul 2017 21:49:25 +0000 (23:49 +0200)]
Eevee: SSR: Output ssr datas to buffers.

Output in 2 buffers Normals, Specular Color and roughness.
This way we can raytrace in a defered fashion and blend the exact contribution of the specular lobe on top of the opaque pass.

2 years agoEevee: Ssr: Add ssr id to glossy nodes.
Clément Foucault [Sat, 15 Jul 2017 14:09:44 +0000 (16:09 +0200)]
Eevee: Ssr: Add ssr id to glossy nodes.

An id is given to each glossy node in order to determine which specular lobe is using ssr.

2 years agoInitialize scene layer for evaluation context used by preview renderer
Sergey Sharybin [Mon, 24 Jul 2017 13:00:44 +0000 (15:00 +0200)]
Initialize scene layer for evaluation context used by preview renderer

Ideally need to clean and sane and impossible-to-break way of making sure
evaluation context is fully initialized, but that would need some thoughts
and experimentation.

2 years agoRender preview: Always make sure all ID datablocks references by objects are in bmain
Sergey Sharybin [Mon, 24 Jul 2017 12:50:26 +0000 (14:50 +0200)]
Render preview: Always make sure all ID datablocks references by objects are in bmain

Otherwise we'll have confused dependency graph builder, which wouldn't be able to
build proper graph.

Didn't find a way to avoid world copy here, we can probably escape with some shallow
copy here, but that will currently complicate code a lot.

Ideas to consider here:

- Use shallow copy of existing world after new ID management API is in place.

  Downside would be thread safety, kind of nice to have everything local.

- Switch depsgraph away from ID_TAG and do hash lookup or so.

  This will slow down depsgraph builder, but will make code more reliable.

2 years agoManipulator: view-selected support
Campbell Barton [Mon, 24 Jul 2017 05:28:14 +0000 (15:28 +1000)]
Manipulator: view-selected support

Only applies to selected manipulators
(currently not used for regular manipulators).

2 years agoManipulator: Expose Context.manipulator_group
Campbell Barton [Sun, 23 Jul 2017 19:19:13 +0000 (05:19 +1000)]
Manipulator: Expose Context.manipulator_group

Needed for operators run by the manipulator keymap
so they can access their selected manipulators.

2 years agoManipulator: handle keymaps for selected items
Campbell Barton [Sun, 23 Jul 2017 17:28:57 +0000 (03:28 +1000)]
Manipulator: handle keymaps for selected items

Was only handling keymap items when the cursor
was hovering over a manipulator.

2 years agoManipulator: setup_keymap callback
Campbell Barton [Sun, 23 Jul 2017 17:27:57 +0000 (03:27 +1000)]
Manipulator: setup_keymap callback

Also remove manipulator_group argument, the info's in the class.

2 years agoManipulator: use select keymap when enabled
Campbell Barton [Sat, 22 Jul 2017 16:43:55 +0000 (02:43 +1000)]
Manipulator: use select keymap when enabled

2 years agoFix error in previous merge
Aaron Carlisle [Fri, 21 Jul 2017 22:32:27 +0000 (18:32 -0400)]
Fix error in previous merge

2 years agoMerge branch 'master' into blender2.8
Aaron Carlisle [Fri, 21 Jul 2017 22:28:32 +0000 (18:28 -0400)]
Merge branch 'master' into blender2.8

2 years agoTransform: remove unused argument
mano-wii [Fri, 21 Jul 2017 21:04:05 +0000 (18:04 -0300)]
Transform: remove unused argument

2 years agoUI: Add Open Image button to Mask Stencil Image panel
Aaron Carlisle [Fri, 21 Jul 2017 20:46:35 +0000 (16:46 -0400)]
UI: Add Open Image button to Mask Stencil Image panel

In the future we should make these two buttons on one line
However because we need `gen_context = 'PAINT_STENCIL'`
this is a little hard and we need to find a proper solution.
One might be using `context_pointer_set`

Patch by @craig_jones with edits by @blendify

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

2 years agoUI: Add Open Image button to Mask Stencil Image panel
Aaron Carlisle [Fri, 21 Jul 2017 20:46:35 +0000 (16:46 -0400)]
UI: Add Open Image button to Mask Stencil Image panel

In the future we should make these two buttons on one line
However because we need `gen_context = 'PAINT_STENCIL'`
this is a little hard and we need to find a proper solution.
One might be using `context_pointer_set`

Patch by @craig_jones with edits by @blendify

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

2 years agoMerge branch 'master' into blender2.8
mano-wii [Fri, 21 Jul 2017 17:20:24 +0000 (14:20 -0300)]
Merge branch 'master' into blender2.8

# Conflicts:
# source/blender/editors/transform/transform_snap_object.c

2 years agoAnother solution to bug T38358 and related
mano-wii [Fri, 21 Jul 2017 17:02:16 +0000 (14:02 -0300)]
Another solution to bug T38358 and related

Moving the ray_start_local to the new position does not lose as much precision as moving the ray_org_local to the corresponding position.

The problem of inaccuracy is within the functions: `bvhtree_ray_cast_data_precalc` and` fast_ray_nearest_hit`. And not directly in the values of the rays.

2 years agoFix manipulator handles getting added each refresh
Campbell Barton [Fri, 21 Jul 2017 15:25:45 +0000 (01:25 +1000)]
Fix manipulator handles getting added each refresh

The same manipulator map handler would accumulate,
slowing down interactions.

2 years agoFix compilation error with Collada enabled
Sergey Sharybin [Fri, 21 Jul 2017 15:44:11 +0000 (17:44 +0200)]
Fix compilation error with Collada enabled

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Fri, 21 Jul 2017 14:08:31 +0000 (16:08 +0200)]
Merge branch 'master' into blender2.8

2 years agoFix strict compiler warning in BGE when linking directly to SDL
Sergey Sharybin [Fri, 21 Jul 2017 14:07:59 +0000 (16:07 +0200)]
Fix strict compiler warning in BGE when linking directly to SDL

2 years agoFix function declaration of some modifiers
Sergey Sharybin [Fri, 21 Jul 2017 13:54:42 +0000 (15:54 +0200)]
Fix function declaration of some modifiers

Those functions did not use evaluation context.

Also fixed lots of unused variables warnings caused by commented out code which
needs to be ported away from DerivedMesh and to evaluation context.

2 years agoDepsgraph: Cleanup, remove unused function argument
Sergey Sharybin [Fri, 21 Jul 2017 13:37:51 +0000 (15:37 +0200)]
Depsgraph: Cleanup, remove unused function argument

2 years agoFix compilation error with smoke and rigid body disabled
Sergey Sharybin [Fri, 21 Jul 2017 13:36:59 +0000 (15:36 +0200)]
Fix compilation error with smoke and rigid body disabled

2 years agoPass EvaluationContext argument everywhere
Luca Rood [Fri, 21 Jul 2017 09:53:13 +0000 (11:53 +0200)]
Pass EvaluationContext argument everywhere

Note that some little parts of code have been dissabled because eval_ctx
was not available there. This should be resolved once DerivedMesh is
replaced.

2 years agoDepsgraph: Fix missing material update when changing links in node tree
Sergey Sharybin [Fri, 21 Jul 2017 12:20:30 +0000 (14:20 +0200)]
Depsgraph: Fix missing material update when changing links in node tree

2 years agoFix T51724: Blender 2.80 EEVEE, Cycles, Clay Black Wall Graphical Glitch
Sergey Sharybin [Fri, 21 Jul 2017 10:08:25 +0000 (12:08 +0200)]
Fix T51724: Blender 2.80 EEVEE, Cycles, Clay Black Wall Graphical Glitch

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Fri, 21 Jul 2017 09:16:37 +0000 (11:16 +0200)]
Merge branch 'master' into blender2.8

2 years agoFix T52134: New depsgraph crashes when evaluating several psys on from object
Sergey Sharybin [Fri, 21 Jul 2017 09:12:34 +0000 (11:12 +0200)]
Fix T52134: New depsgraph crashes when evaluating several psys on from object

2 years agoFix strict compiler error after recent UI changes
Sergey Sharybin [Fri, 21 Jul 2017 08:52:36 +0000 (10:52 +0200)]
Fix strict compiler error after recent UI changes

2 years agoFix T52136: Blender segfault (stack overflow most certainly) when converting to mesh.
Bastien Montagne [Fri, 21 Jul 2017 08:24:20 +0000 (10:24 +0200)]
Fix T52136: Blender segfault (stack overflow most certainly) when converting to mesh.

Stupid mistake in own recent refactor.

2 years agoUI/floats: Reduce our UI_PRECISION_FLOAT_MAX by one to avoid most rounding issues.
Bastien Montagne [Fri, 21 Jul 2017 08:10:36 +0000 (10:10 +0200)]
UI/floats: Reduce our UI_PRECISION_FLOAT_MAX by one to avoid most rounding issues.

The way we use it, UI_PRECISION_FLOAT_MAX is actually + 1 to get total
number of digits, and float only has 7 meaningful digits, so that define
shall be at 6.

2 years agoSet face-map to active when selecting
Campbell Barton [Fri, 21 Jul 2017 05:50:58 +0000 (15:50 +1000)]
Set face-map to active when selecting

It was annoying have to use select operator to know which facemap
applies to the active face. This behavior follows materials.

2 years agoFix a few harmless maybe uninitialized warnings with GCC 5.4.
Brecht Van Lommel [Thu, 20 Jul 2017 21:51:15 +0000 (23:51 +0200)]
Fix a few harmless maybe uninitialized warnings with GCC 5.4.

GCC seems to detect uninitialized into function calls now, but then isn't
always smart enough to see that it is actually initialized. Disabling this
warning entirely seems a bit too much, so initialize a bit more now.

2 years agoFix T46560: 2D paint smear and soften brushes not working with alpha.
Brecht Van Lommel [Thu, 20 Jul 2017 22:16:59 +0000 (00:16 +0200)]
Fix T46560: 2D paint smear and soften brushes not working with alpha.

Interpolate rather than do alpha over mix, matching projection paint.

2 years agoFix T52135: Cycles should not keep generated/packed images in memory after render.
Brecht Van Lommel [Thu, 20 Jul 2017 20:31:46 +0000 (22:31 +0200)]
Fix T52135: Cycles should not keep generated/packed images in memory after render.

2 years agoFix potential memory leak in Cycles loading of packed/generated images.
Brecht Van Lommel [Thu, 20 Jul 2017 20:31:02 +0000 (22:31 +0200)]
Fix potential memory leak in Cycles loading of packed/generated images.

2 years agoDepsgraph: Fix crash when updating materials with copy on write enabled
Sergey Sharybin [Thu, 20 Jul 2017 15:45:00 +0000 (17:45 +0200)]
Depsgraph: Fix crash when updating materials with copy on write enabled

The code was freeing GPU materials from non-main thread.

2 years agoFix T51925: Eevee: Animated Eevee values slowdown
Sergey Sharybin [Thu, 20 Jul 2017 14:13:08 +0000 (16:13 +0200)]
Fix T51925: Eevee: Animated Eevee values slowdown

Move material update from RNA callback to dependency graph.

2 years agoManipulator: add access to manipulator's group
Campbell Barton [Wed, 19 Jul 2017 18:35:48 +0000 (04:35 +1000)]
Manipulator: add access to manipulator's group

2 years agoPyAPI: use instancing when supported
Campbell Barton [Thu, 20 Jul 2017 14:45:35 +0000 (00:45 +1000)]
PyAPI: use instancing when supported

This means when a new data-type is returned it will use the same
instance as the previously created one (if it exists).

2 years agoPartially revert previous commit, some unwanted changes sneaked in
Sergey Sharybin [Thu, 20 Jul 2017 14:15:13 +0000 (16:15 +0200)]
Partially revert previous commit, some unwanted changes sneaked in

2 years agoDepsgraph: Use explicit material update operation code
Sergey Sharybin [Thu, 20 Jul 2017 14:03:04 +0000 (16:03 +0200)]
Depsgraph: Use explicit material update operation code

Avoids string comparison on key matching.

2 years agoDepsgraph: Solve TODO about more granular particle settings update tagging
Sergey Sharybin [Thu, 20 Jul 2017 13:38:48 +0000 (15:38 +0200)]
Depsgraph: Solve TODO about more granular particle settings update tagging

2 years agoFix/workaround T52127: Combed hair from 2.78 not showing when appending
Sergey Sharybin [Thu, 20 Jul 2017 13:15:25 +0000 (15:15 +0200)]
Fix/workaround T52127: Combed hair from 2.78 not showing when appending

Quick solution to prevent particle components from being tagged for complete
re-evaluaiton.

2 years agoFix T52125: principled BSDF missing with macOS OpenCL.
Brecht Van Lommel [Thu, 20 Jul 2017 13:15:43 +0000 (15:15 +0200)]
Fix T52125: principled BSDF missing with macOS OpenCL.

2 years agoDepsgraph: Fix crashes when OCIO configuration is missing
Sergey Sharybin [Thu, 20 Jul 2017 13:00:09 +0000 (15:00 +0200)]
Depsgraph: Fix crashes when OCIO configuration is missing

We were creating copy on write version of scene prior to validating color management
settings for the original scene.

2 years agoDepsgraph: Fix missing UV layers with copy on write enabled
Sergey Sharybin [Thu, 20 Jul 2017 12:29:13 +0000 (14:29 +0200)]
Depsgraph: Fix missing UV layers with copy on write enabled

2 years agoCycles: fixed the SM_2x CUDA kernel build that I broke in my previous commit
Stefan Werner [Thu, 20 Jul 2017 11:28:34 +0000 (13:28 +0200)]
Cycles: fixed the SM_2x CUDA kernel build that I broke in my previous commit

2 years agoDepsgraph: Fix crash with copy on write when scene has legacy bases
Sergey Sharybin [Thu, 20 Jul 2017 11:25:52 +0000 (13:25 +0200)]
Depsgraph: Fix crash with copy on write when scene has legacy bases

The remapping code was creating plkaceholders for objects coming from legacy
bases, but since those objects were never created by dependency graph (since
they are supposed to be ignored) the copy on write relations creation was
confused.

Now we do some special trickery to clear legacy bases on copy on write.

2 years agoDepsgraph: Ignore groups from copy on write expansion
Sergey Sharybin [Thu, 20 Jul 2017 10:45:07 +0000 (12:45 +0200)]
Depsgraph: Ignore groups from copy on write expansion

Groups will not have IDs in the dependency graph, so we shouldn't
create them for CoW as well.

2 years agoRNA: face-map access
Campbell Barton [Thu, 20 Jul 2017 08:37:30 +0000 (18:37 +1000)]
RNA: face-map access

Currently RNA doesn't give us a good way of accessing singleton layers,
for now expose as a layer list (skin & paint-pask do this too).

Noted in T47811 that this should be changed.

2 years agoBMesh face map layer access
Campbell Barton [Thu, 20 Jul 2017 08:33:12 +0000 (18:33 +1000)]
BMesh face map layer access

2 years agoFix active object doesn't show on templateID
Dalai Felinto [Thu, 20 Jul 2017 08:37:36 +0000 (10:37 +0200)]
Fix active object doesn't show on templateID

Before that if you went to the object panel tab in the Properties Editor
the active object wouldn't show in the first panel.

2 years agoFix T52107: Color management difference when using multiple and different GPUs together
Stefan Werner [Thu, 20 Jul 2017 08:03:27 +0000 (10:03 +0200)]
Fix T52107: Color management difference when using multiple and different GPUs together

This commit unifies the flattened texture slot names for bindless and regular CUDA textures. Texture indices are now identical across all CUDA architectures, where before Fermi used different indices, which lead to problems when rendering on multi-GPU setups mixing Fermi with newer hardware.

2 years agoDepsgraph: Move strict checks under ifdef blocks
Sergey Sharybin [Thu, 20 Jul 2017 07:42:54 +0000 (09:42 +0200)]
Depsgraph: Move strict checks under ifdef blocks

Those checks are not always helpful, since id remapping doesn't want to
worry about which components to tag for update. Perhaps in the future we
will introduce special flag which would mean "tag everything possible"/

2 years agoFix T51969: Filebrowser "Open File" button disappear when double-click thumbnail
Julian Eisel [Wed, 19 Jul 2017 19:42:41 +0000 (21:42 +0200)]
Fix T51969: Filebrowser "Open File" button disappear when double-click thumbnail

This reverts commit 82ba89b042e7067 (which caused T51969) and adds an
alternative fix (don't unset area stored in modal handler for fileselect
handlers).

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 19 Jul 2017 17:53:44 +0000 (03:53 +1000)]
Merge branch 'master' into blender2.8

2 years agoFix topology mirror ignoring center verts
Campbell Barton [Wed, 19 Jul 2017 17:29:08 +0000 (03:29 +1000)]
Fix topology mirror ignoring center verts

Caused select-mirror to fail with edges & faces.

2 years agoClay Engine: Fix blue noise warning when compiling without clay.
Clément Foucault [Wed, 19 Jul 2017 16:17:45 +0000 (18:17 +0200)]
Clay Engine: Fix blue noise warning when compiling without clay.

2 years agoEevee: Fix crash when using lamps in dupli groups.
Clément Foucault [Wed, 19 Jul 2017 16:15:27 +0000 (18:15 +0200)]
Eevee: Fix crash when using lamps in dupli groups.

2 years agoDoversion: Set Clay when opening "Blender Render" engine scenes
Dalai Felinto [Wed, 19 Jul 2017 16:14:48 +0000 (18:14 +0200)]
Doversion: Set Clay when opening "Blender Render" engine scenes

We get already enough reports of people complaining about crashes on
edit mode unaware that they are in the non-supported Blender Render
engine.

Blender Render is going away, no reason to keep it around. Once we have
a nice fallback on Eevee and fast file loading we can default to Eevee
instead.

2 years agoDepsgraph: Remove redundant argument from add_id_node()
Sergey Sharybin [Wed, 19 Jul 2017 15:31:32 +0000 (17:31 +0200)]
Depsgraph: Remove redundant argument from add_id_node()

2 years agoDepsgraph: Fix strict compiler error with copy on write disabled
Sergey Sharybin [Wed, 19 Jul 2017 14:26:22 +0000 (16:26 +0200)]
Depsgraph: Fix strict compiler error with copy on write disabled

2 years agoDepsgraph: Fix particle system freeing accessing freed particle settings
Sergey Sharybin [Wed, 19 Jul 2017 13:50:49 +0000 (15:50 +0200)]
Depsgraph: Fix particle system freeing accessing freed particle settings

Need to ensure CoW IDs are freed in the right order.

2 years agoDepsgraph: Fix heap use after free when freeing scene with compositor
Sergey Sharybin [Wed, 19 Jul 2017 13:06:25 +0000 (15:06 +0200)]
Depsgraph: Fix heap use after free when freeing scene with compositor

This is the fake ID nature of compositor again. Need to discard such
pointers before freeing datablock even for scenes (before it was done
for objects only).

2 years agoDepsgraph: Fix assert failure on Cycles render
Sergey Sharybin [Wed, 19 Jul 2017 13:05:49 +0000 (15:05 +0200)]
Depsgraph: Fix assert failure on Cycles render

Was happening when there was material in bmain but not used by any object.