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
path: root/source
AgeCommit message (Collapse)Author
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 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-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-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
2022-05-09GPU: Fix crash deferred shader compilation.Jeroen Bakker
On certain systems when eevee is used in a 3d viewport could crash. It happened more often on slower systems or systems with slower glsl compilers. For example an Intel Mac Mini. The cause was that even if a GPUMaterial was in used it could be freed.
2022-05-07Fix T96683: Mipmaps are inaccurate for UDIM texturesClément Foucault
For some reasons the mipmap count was not set to max during creation. Probably it was mistaken with the UDIM tilemap texture which is only 1D and has only one mipmap.
2022-05-07EEVEE: Fix missing function implementation for volumetric materialsClément Foucault
This was leading to linking errors. Fixes T97779 Regression: World volume noise stopped working
2022-05-07Fix T97600 Regression: rendering in new window displays flickersClément Foucault
This is because some drivers / GPU actually still do double buffer swapping but others don't. Adding this do ensure the background color of the first redraw. Note that this fix was not tested on the problematic hardware and might not solve the issue.
2022-05-07Fix T97796 EEVEE: Regression: Alpha clipped materials rendered as alpha hashedClément Foucault
This was because the alpha clip thresholding was previously done in the material nodes codegen. Now it is the responsibility of the engine to implement it. This adds a loose uniform that is set by EEVEE itself to control the clip behavior.
2022-05-07Fix T97881 EEVEE: First Specular and SSS closure not contributing on alpha ↵Clément Foucault
blended material This was because the evaluation was still being deferred just like for the opaque case.
2022-05-07GPUShader: Add static compilation to clipped shader variationsClément Foucault
This allows testing them for errors.
2022-05-07Fix T97751: New OBJ IO - File Browser doesn't filter by .obj/.mtlJulian Eisel
Makes the File Browser filter by .obj and .mtl files by default again. Note that this commit focuses on fixing this specific bug, further refactors/tweaks/fixes are planned (see D14863). Differential Revision: https://developer.blender.org/D14862 Reviewed by: Aras Pranckevicius
2022-05-06DrawManager: Make instance data persistent.Jeroen Bakker
When resizing a viewport all engine instance data was cleared. This wasn't the intended design and lead to performance regressions in the image engine. This patch makes sure that the instance data isn't cleared when the viewport size changes. When using instance data, draw engines are responsible to update the textures accordingly. This could also reduce flickering/stalling when resizing the viewport in eevee-next. Fixes T95428. Reviewed By: fclem Maniphest Tasks: T95428 Differential Revision: https://developer.blender.org/D14874
2022-05-06Fix T97466: Assert when pack sound in blender DEBUG.Bastien Montagne
This was very old code from 2008, totaly invalid with new depgraph & evaluation system, now we just need to tag the Sound ID for update.
2022-05-06Switch viewport shading for color tools in solid modeRamil Roosileht
This patch implements T97613, switching viewport shading when using Color Filter and Mask By Color ALSO, this patch makes it so viewport shading color switches only when SOLID mode is chosen, to prevent color switching when using other shading modes, without user noticing it. {F13049889} Reviewed By: JulienKaspar, joeedh, jbakker Maniphest Tasks: T97613 Differential Revision: https://developer.blender.org/D14765
2022-05-06Add documentation about Image/ImBuf to python/RNA API.Bastien Montagne
Related to T95616, the relationship between Image ID and ImBuf 'cached' buffers can be fairly confusing when using the RNA API. Reviewed By: campbellbarton, jbakker Differential Revision: https://developer.blender.org/D14833
2022-05-06WM: suppress assertion when switching toolsCampbell Barton
Changing the object mode outside the 3D view would trigger this assertion. This was harmless, only assert for space types that define the tools mode.
2022-05-06Fix T96585: Intersect(Knife) tool is selecting wrong edgesCampbell Barton
Regression caused by [0] which flushed selection from vertices -> edges, causing additional edges to be selected. Now selected is flushed based on the mode, instead of all elements. Note that these function names could be improved to make it clearer how these flushing functions are different. Also skip flushing unless selection is performed. [0]: 55c82d8380ea3fd37a9d966fad10f42cc5b365d5
2022-05-06Fix T97758: Applying modifiers bakes shape-keysCampbell Barton
Regression in [0] which is useful when applying modifiers as a shape-key but not when applying modifiers which keeps the existing shape-keys. [0]: 65c5ebf5779d07fb92fabd0ff992337f6c980cde
2022-05-05Fix T97575: Toggling fullscreen causes compositor recalcCampbell Barton
The root of the issue is that compositor is using refresh mechanism to handle recalc. The safest fix which does not require deep refactor is to check to whether node space was tagged for refresh from listener (currently it is listeners which are responsible for tackling compositor tree recalc). Differential Revision: https://developer.blender.org/D14856
2022-05-05Fix T97863: new OBJ importer issues with extra whitespace after "f" keywordsAras Pranckevicius
While possible extra whitespace after all OBJ/MTL keywords was properly skipped, it was not done for the "f" (face definition) keyword. While at it, also support indented keywords, i.e. extra whitespace at the beginning of the line. There's a tiny bit of performance drop while importing (e.g. importing blender 3.0 splash scene: 53.38sec -> 54.21sec on my machine). But correctness is more important. Reviewed By: Howard Trickey Differential Revision: https://developer.blender.org/D14854
2022-05-05File missing from 78fc5ea1c398f70d22cda72be33c105146c0d542Campbell Barton
2022-05-05Workaround T81065: Merge UV's when applying modifiersCampbell Barton
Support merging UV's that share the same vertex and are very close when applying modifiers. This is needed to prevent UV's becoming "detached" which can happen when applying the subdivision surface modifier. This regression was caused by [0] which removed selection threshold for nearby coordinates. While restoring the UV selection threshold could be done - some selection operations that walk around connected UV fans wouldn't behave in a deterministic way (such as select shortest path). There are also other cases where UV's may be compared without a threshold such as tangent calculation and exporters which have their own logic to handling UV's. Also resolves T86896, T89903. [0]: b88dd3b8e7b9c02ae08d4679bb427963c5d21250 Reviewed By: sergey Ref D14841
2022-05-05Fix T97874: Python exception after undo with image space visibleCampbell Barton
Ensure tools are initialized with the correct area type set.
2022-05-05Fix WM_toolsystem_refresh_screen_all failing to refresh toolsCampbell Barton
Error in 3e1baa7d539757b8e5fa870d4909354e0b5645b9.
2022-05-05Cleanup: EEVEE: Fix clang-tidy warnings and unused var warningClément Foucault
2022-05-05DRW: Hair: Fix shader compilation of transform feedback shaderClément Foucault
Introduced by rBadbe71c3faba.