Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-12Fix T98026 EEVEE: Refression Crash when rendering Cryptomatte passesClément Foucault
This was because the main `surface_vert.glsl` was changed to accomodate the needs of the `ShaderCreateInfo` but was still used by the cryptomatte shader. The fix is to include the same libraries as the material shaders and bypass `attrib_load()`.
2022-05-12Workaround for msvc compiler bugJacques Lucke
https://developercommunity.visualstudio.com/t/Alias-template-inside-fold-expression-fa/10040507
2022-05-12Cleanup: remove warnings due to maybe-used variablesJacques Lucke
The variable was only used in some constexpr if-statements.
2022-05-12Fix T97380 EEVEE: Weird motion-blur on curvesClément Foucault
This was caused by the `mb_data->obmat[]` being wrong because they are now shared between the particle system and the object. But Hair need the dupli parent matrix instead of the object matrix. Disabling `Show Emitter` option fixes the bug. To avoid this problem, request a different `EEVEE_ObjectMotionData` for particle systems using a different key pointer in the hash. This is a bit dirty but there is less code polution using this workaround. Differential Revision: https://developer.blender.org/D14911
2022-05-12Fix error tagging vertices as loose in the screw modifierCampbell Barton
Regression in 90a23dec4650d63a836cb9e9969aab4d0da4ba2f.
2022-05-12Fix: Paint slot material assignment issuesEthan Hall
There are two problems when adding a paint slot to an object without an existing material. First, the `invoke` method creates a material on the object. This modifies the object even if the operation is not executed. Second, the fill color defaults to black when there is no existing material (even when adding a normal, bump, or displacement layer). This patch moves the material creation to the `exec` method. When no material exists on the object, a default Principled BSDF is referenced for default colors in the `invoke` method. Differential Revision: https://developer.blender.org/D14828
2022-05-12Fix T98056: Screw modifier crash with normal calculation and mergingHans Goudey
If merging is enabled, the mesh might be recreated before the dirty flag can be cleared, which means the normals aren't valid anymore. To fix this, clearing the dirty flag should happen before the merging. This is an existing bug, just exposed by more recent explicit dirty normal tagging.
2022-05-12color attributes: Fix broken vertex color nodeJoseph Eagar
Fall back onto the old behavior (use the render color attribute) if the vertex color node's attribute name is blank.
2022-05-12Fix T96367: Crash snapping to instances on an objectCampbell Barton
In rare cases the mesh has not been evaluated when snapping, this fix just prevents the crash as is done elsewhere in Blender when the evaluated mesh isn't available, there is a separate report (T96536) about evaluation not working properly.
2022-05-11Cleanup: fix compiler warnings on macOSLoren Osborn
Differential Revision: https://developer.blender.org/D14917
2022-05-11Cleanup: Cycles, avoid 'parameter unused' warningSybren A. Stüvel
Avoid 'parameter unused' warning when building Cycles without OpenImageDenoise. No functional changes. Over-the-shoulder reviewed by @sergey
2022-05-11Fix T95710: Make Single User > Object Data Animation brokenSybren A. Stüvel
The operator now not only checks `ob->data` for Actions to duplicate, but also passes `ob->data` to the duplication function (instead of `ob`).
2022-05-11Fix T97947: USD will fail to export without file extensionPhilipp Oeser
Now add a default ".usdc" file extension if no (or the wrong) extension is given instead of presenting the user with the error that "no suitable USD plugin to write is found". This is in line with how other exporters do this. Maniphest Tasks: T97947 Differential Revision: https://developer.blender.org/D14895
2022-05-11Fix T97330: GPU Subdiv compiler error.Jeroen Bakker
GLSL has different max number of ssbo per glsl stage. This patch checks if the number of compute ssbo blocks matches our requirements for the GPU Subdiv, before enabling it. Some platforms allow more ssbo bindings then blocks per stage.
2022-05-11Fix (unreported) crash in Outliner Overrides Properties view in invalid cases.Bastien Montagne
We cannot try to get RNA info when the rna path of an override property is invalid.
2022-05-11Fix T97895: Eevee support for Geometry Nodes Color Attributes.Jeroen Bakker
Geometry nodes can generate color attributes that aren't on point or corner domain. When not found in these domains it will be processed as a common attribute.
2022-05-11Revert "Gizmo: optimize intersection tests, fix selection bias"Campbell Barton
Manually revert commit [0] as it caused problems macOS (reported T96435). - Includes fixes from [1] & [2]. - T98037 TODO has been created to keep track of this feature. Thanks to @jbakker & @sergey for investigating this issue as I wasn't able to reproduce the bug. [0]: 0cb5eae9d0617abedf745753c23061ddfcfd1416 [1]: cb986446e29a51b07bdb73b999a0339df5ecdeb4 [2]: cc8fe1a1cbc63db66c038773b070dca14e82cebb
2022-05-11Fix T97173: Color Attributes shading turns black after switching mode.Jeroen Bakker
Sculpt colors tagged the custom data as already created (cd_used), but should have been tagged as being requested (cd_needed).
2022-05-11Fix T97153: Knife project crashesCampbell Barton
Knife projection BVH-tree lookup could use invalid indices since the mesh being cut is also used for BVH intersection tests. Solve by storing triangle indices when knife project is used so a triangle index can always be used to look up original coordinates of a triangle.
2022-05-11Fix knife tool use-after free on completionCampbell Barton
Regression in [0] accessed knife data after it had been freed. [0]: f87029f7b13142499a37fb311a721d99bb1aecd7
2022-05-11Fix T96892 Overlay: Hiding all of a mesh in edit mode causes visual glitchClément Foucault
This is caused by the geometry shader used by the edit mode line drawing. If the drawcall uses indexed drawing and if the index buffer only contains restart indices, it seems the result is 1 glitchy invocation of the geometry shader. Workaround by tagging these special case index buffers and bypassing their drawcall.
2022-05-10Fix T97945: Cycles baking max distance is wrongBrecht Van Lommel
It was effectively sqrt(max_distance) before this fix. Thanks to Omar Emara for identifying the solution.
2022-05-10Fix T97908: Cycles missing motion from on pointcloud generated by geometry nodesBrecht Van Lommel
Assume geometry is always potentially animated, since we can't use our heuristic to detect if the object is potentially animated by looking at modifiers on the object. The main original reason for this check was to avoid evaluating subdivision surfaces for many static objects, which is not happening here anyway.
2022-05-10Fix T97966: Cycles shadow terminator offset wrong for scaled object instancesMikhail Matrosov
Differential Revision: https://developer.blender.org/D14893
2022-05-10Fix T97056: Cycles MNEE not working with glass and pure refraction BSDFsOlivier Maury
Differential Revision: https://developer.blender.org/D14901
2022-05-10Fix part of T97895: Cycles not rendering edge domain attributesBrecht Van Lommel
These aren't really ideal for rendering, but better to show something. Edge values are averaged at vertices.
2022-05-10Fix T96399: New 3.1 OBJ exporter is missing Path Mode settingAras Pranckevicius
New OBJ exporter is missing "Path Mode" setting for exporting .mtl files. The options that used to be available were: Auto, Absolute, Relative, Match, Strip Path, Copy. All of them are important. The new behavior (without any UI option to control it) curiously does not match any of the previous setting. New behavior is like "Relative, but to the source blender file, and not the destination export file". Most of the previous logic was only present in Python based code (bpy_extras.io_utils.path_reference and friends). The bulk of this commit is porting that to C++. Reviewed By: Howard Trickey Differential Revision: https://developer.blender.org/D14906
2022-05-10LibOverride: Fix memory leak in resyncing code.Bastien Montagne
2022-05-10LibOverride: Fix bad ID getting hierarchy root updated.Bastien Montagne
Followup to rB6c679aca1770c37.
2022-05-10LibOverride: Make process checking validity of hierarchy roots more robust.Bastien Montagne
Code was not really designed to hanlde corrupted (e.g. local ID) root hierarchies, now it should handle better those invalid cases and restore proper sane situation as best as possible. Fixes crashes with some corrupted files from Blender studio.
2022-05-10Fix T96520 Node editor: Tweak fails with unselected nodesCampbell Barton
Use the same method for node selection and dragging that is used in the 3D viewport and UV editor. Instead of relying on a modal operator - use the keymap to handle click/drag events. Details: Failure to transform unselected nodes was caused by [0] & [1] however detecting drag relied on specific behavior which I don't think we should be depending on. This error happened when selection was defined both in the key-map for the tool and for the node-editor. - The left mouse button would activate selection in both the tool and "Node Editor" keymap. - The first selection would return `FINISHED | PASS_THROUGH` when selecting a previously unselected node. - The same PRESS would trigger a second selection would return `RUNNING_MODAL | PASS_THROUGH`, (starting a NODE_OT_select as a modal operator). - In 3.1 (with tweak events) the modal operator would then exit and fall-back to the tweak event which would transform the selected nodes. - In 3.2 (as of [0]) the PRESS that starts the modal operator is considered "handled" and prevents drag event from being detected. The correct behavior in this case isn't obvious: If a modal operator starts on pressing a button, using that same the release to generate drag/click events is disputable. Even in the case or 3.1 it was inconsistent as tweak events were generated but click events weren't. Note: after investigating this bug it turns out a similar issue already existed in 2.91 and all releases afterwards. While the bug is more obscure, it's also caused by the tweak event being interrupted as described here, this commit resolves T81824 as well. [0]: 4d0f846b936c9101ecb76a6db962aac2d74a460a [1]: 4986f718482b061082936f1f6aa13929741093a2 Reviewed By: Severin Ref D14499
2022-05-10DrawManager: Hide lock acquire behind experimental feature.Jeroen Bakker
The acquire locking of the draw manager introduced other issues. The current implementation was a hacky solution as we know that the final solution is something totally different {T98016}. Related issues: * {T97988} * {T97600}
2022-05-10Fix T95298 ImageEditor: Multi-view images fail to display properlyClément Foucault
This was because the shader had wrong output slot order. This also add a note about why the order is reversed compared to the texture binding.
2022-05-10Fix T97272: Lag when resizing viewports.temp-T97272Jeroen Bakker
Viewports where cleared explicitly due to compatibility reasons with Intel iGPUs. This slowed down other platforms as well, this wasn't noticeable on all platforms. This patch will be more selective when to enable the workaround. Currently only for iGPUs on Mac + Linux.
2022-05-10Eevee: Fix GLSL compilation error.Jeroen Bakker
Introduced by {35594f4b92fa4cbb5b848f447b7a3323e572b676}. Some platforms do not support temp variables to be used as inout parameter. Detected on Mac with Intel iGPU.
2022-05-10D14887: Fix artifacts in hue filterRamil Roosileht
The hue color filter now wraps correctly. Fixes T97768. Reviewed By: Julien Kaspar & Joseph Eagar Differential Revision: https://developer.blender.org/D14887 Ref D14887
2022-05-10Fix T86358: Use per face aspect correction for primitive UV projectionsChris Blackbourn
During UV unwrapping, Cube Projection, Sphere Projection, Cylinder Projection and Project From View (in the 3D Viewport), when "Correct Aspect" toggle is active, it now uses a query cache to perform a per-face aspect ratio ("per_face_aspect") correction for the active image of each face. Reviewed By: campbellbarton Ref D14852
2022-05-10Fix T97545 GPU: Crash caused by uncommented quote char in source stringClément Foucault
Some drivers completely forbid quote characters even in unused preprocessor directives. This patch adds a debug build check for all `.glsl` files that need to be manually handled. For shared headers with `#include` directives, we need to do runtime patching of the source to remove the quote. Also fix an instance of the quotes check failing in `eevee_next`.
2022-05-10EEVEE: Fix missing CLOSURE_DEFAULTClément Foucault
2022-05-10Fix T97985 EEVEE: Shader mixing not working correctly when reusing shader nodesClément Foucault
This was caused by the `Closure` members being added to the final contribution more than once. The workaround is to clear the members once a closure has been added to the final contribution. I used `inout` on `Closure` inputs so that the render engine implementation of mix and add closure nodes can do its own thing. The nodegraph handling of inout was changed for this to work.
2022-05-09Deps/CMake: Add missing dependencies for OCIORay Molenkamp
OCIO could build before pystring and imath due to OCIO missing the dependencies on these two projects No rebuild required as the build would have failed during the libs build if you ran into this issue.
2022-05-09Fix T97984: GPUCodegen: crash when loading demo fileClément Foucault
This was caused by the name buffer not being ensured in all cases. Change the behavior and always create the `NameBuffer`.
2022-05-09Fix T97983 EEVEE: Tangent Normal of Curves info behaves differently in EeveeClément Foucault
Curve tangent was correctly mistaken with curve normal. This patch fixes the name of the output in the glsl function and make curve attributes more explicit (with `curve_` prefix). This also improve the normal computation by making it per pixel to match cycles. Also ports the changes to eevee-next.
2022-05-09Build: disable usage of GLEW, CLEW, CUDA, GLFW in OpenSubdivBrecht Van Lommel
The previous 3.1 libraries (accidentally) used glApi instead of GLEW and were working for GPU subdivision, so revert to that. There's a suspected conflict with Blender's own bundled GLEW or other issue with GLEW, causing the crash in T97737. The current GPU subdivision implementation does not need OpenCL, CUDA or GLFW. So also remove libraries needed for that. It's simpler to stick to compute shaders in OpenGL/Vulkan/Metal and not involve additional APIs. Ref T95206 Differential Revision: https://developer.blender.org/D14898
2022-05-09Fix T97906: OpenEXR files with lower case xyz channel names not read correctlyBrecht Van Lommel
Adds some utility functions to avoid using toupper() which depends on the locale and should not be used for this type of parsing.
2022-05-09Fix T97853: Crash with edit mode X-ray and subdivisionHans Goudey
The mesh drawing code used a different mesh to check whether or not to draw face dots and to actually retrieve them. The fix is moving the responsibility of determining whether to use subsurf face dots to the creation of `MeshRenderData` where the mesh used for drawing is known, rather than doing it at a higher level. Differential Revision: https://developer.blender.org/D14855
2022-05-09Fix T97927: bpy.utils.units.to_string uses wrong units for velocity, ↵Bastien Montagne
acceleration, lens length, and power `TEMPERATURE` type was also missing, not only the new-ish `TIME_ABSOLUTE` one... Added a static assert on the size of the `bpyunits_ucategories_items` array, and a comment on anonymous enum of `B_UNIT_`, in the hope this won't happen again in the future.
2022-05-09Cleanup: typo in variable name.Bastien Montagne
2022-05-09GPU: Unable to compile material shaders.Jeroen Bakker
This fixes a threading issues when material shaders with textures are used. It localizes the names of the samplers.
2022-05-09Minor typo fixes in UI messages.Bastien Montagne