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
2020-10-26Proper, cleaner fix for T81963: Random rare crashes in override code.Bastien Montagne
Use new `BKE_pose_ensure` utils, and do so for reference linked object too everywhere.
2020-10-26Pose: Add a 'pose_ensure' new utils that only rebuilds if needed.Bastien Montagne
Avoids having to spread the check logic everywhere in the code.
2020-10-26LatticeDeform: PerformanceJeroen Bakker
This patch improves the single core performance of the lattice deform. 1. Prefetching deform vert during initialization. This data is constant for each innerloop. This reduces the complexity of the inner loop what makes more CPU resources free for other optimizations. 2. Prefetching the Lattice instance. It was constant. Although performance wise this isn't noticeable it is always good to free some space in the branch prediction tables. 3. Remove branching in all loops by not exiting when the effect of the loop isn't there. The checks in the inner loops detected if this loop didn't have any effect on the final result and then continue to the next loop. This made the branch prediction unpredictable and a lot of mis predictions were done. For smaller inner loops it is always better to remove unpredictable if statements by using branchless code patterns. 4. Use SSE2 instruction when available. This gives 50% performance increase measured on a Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz with GCC 9.3. Also check other compilers. Before: ``` performance_no_dvert_10000 (4 ms) performance_no_dvert_100000 (30 ms) performance_no_dvert_1000000 (268 ms) performance_no_dvert_10000000 (2637 ms) ``` After: ``` performance_no_dvert_10000 (3 ms) performance_no_dvert_100000 (21 ms) performance_no_dvert_1000000 (180 ms) performance_no_dvert_10000000 (1756 ms) ``` Reviewed By: Campbell Barton Differential Revision: https://developer.blender.org/D9087
2020-10-26Fix T81077 id_management test on macOSAnkit Meel
This looks like a optimizer bug where it makes wrong assumptions. The code inside lib_id_delete:264 on rBafd13710b897cc1c11b `for (id = last_remapped_id->next; id; id = id->next) {..}` is not executed in release/relwithdebinfo builds. This can be "fixed" by several ways: - Adding a line that prints the `last_remapped_id->name` right before the said for-loop starts. - Turning off optimization for the whole function `id_delete`: `#pragma clang optimize off/on` Ray Molenkamp - Marking `last_remapped_id` volatile. Julian Eisel - Marking `tagged_deleted_ids` volatile. But it adds a warning when calling `BLI_addtail`: discards volatile qualifier. Discovered by accident. Fix T81077 Reviewed By: mont29 Maniphest Tasks: T81077 Differential Revision: https://developer.blender.org/D9315
2020-10-26Fix T81963: Random rare crashes in override code.Bastien Montagne
Finaly managed to reproduce, we not only have to ensure pose data is up to date for the override armature, but also for the reference linked data.
2020-10-26Fix T81984: Crash in sculpt undo with mask extract after dyntopo toggleBastien Montagne
More operators missing the mandatory undo flag...
2020-10-26Fix Recursion when rendering scene stripRichard Antalik
Recursion happens in case when scene strip point to it's own scene indirectly by using SEQ_SCENE_STRIPS option. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9264
2020-10-26Fix T81426: Infinite loop building VSE relationsRichard Antalik
It is possible to create scene strips pointing to each other. This is sanitized when rendering, but in dependency graph such setup will cause infinite loop. This patch fixes loop in dependency graph, but same problem exists in audaspace Reviewed By: sergey Differential Revision: https://developer.blender.org/D9262
2020-10-26Fix T81250: Crash after undoing with prefetchingRichard Antalik
Main DB and it's structs can point to different address after undoing. In this case problem was that bmain was not updated. Same fix was done for scene as well. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9240
2020-10-26Fix T81904: Cloth brush simulation failing with local area and mirrorPablo Dobarro
When using local area, all nodes need to build their constraints first before activating them for simulation. THis ensures that nodes get their structural constraints from the initial location of each symmetry pass. Reviewed By: sergey Maniphest Tasks: T81904 Differential Revision: https://developer.blender.org/D9303
2020-10-25Fix T81999, Boolean Exact+Self Difference fails.Howard Trickey
A cell with winding number > 1 for the second operand was incorrectly included in the output.
2020-10-24Fix T81884, clamping with percent, addendum.Howard Trickey
The previous fix forgot the case where there is an intermediate edge and everything isn't in one plane. Differential Revision: https://developer.blender.org/D9336
2020-10-24Fix T82019 Crash loading 2.78 splash demo.Howard Trickey
The versioning code to default to old booleans for old files was faulty because really old files had a 'solver' field (later removed, but then added back for new booleans).
2020-10-23GPU: Debug: Trim shader stats from output logClément Foucault
We don't make use of it anyway.
2020-10-23GPU: Use CLOG to for debug outputClément Foucault
This removes the escape color control caracters when the output does not supports it (i.e: file output, windows cmd).
2020-10-23Cleanup: remove redundant assignment in previous bugfixBrecht Van Lommel
2020-10-23Fix use of uninitialized line/polygon smooth variables in GPU stateBrecht Van Lommel
Found by valgrind, unclear if this caused an actual bug.
2020-10-23Fix T81934: Painting/Sculpting in ortho fails to let strokes pass through ↵Philipp Oeser
clipped geometry Caused by rB7878adf49cff. When getting the stroke location via raycast in ortho view, the above commit flipped the condition of the check to perform adjustments on the rays start/end. This would thus happen (even though it shouldnt), resulting in wrong depth and stroke location. Now just flip the condition back, so adjustments only happen when clipping is OFF. Maniphest Tasks: T81934 Differential Revision: https://developer.blender.org/D9318
2020-10-23Fix T80165: Separate by loose parts breaks custom normalsCampbell Barton
- Add NULL check for BKE_lnor_spacearr_clear - Remove unnecessary 'use_toolflags' with BMesh creation.
2020-10-23Fix T81969 VSE: Wrong UI colorspace after scene strip updateClément Foucault
This regression was caused by rB57de5686048f which disabled srgb transform after the python callback. The right thing to do is to only rebind the framebuffer once to reset the no-srgb override.
2020-10-23Fix T81942 EEVEE: Reflection Plane glitch with low clip distancesClément Foucault
This was happening because the raytrace was not even being performed due to the tracing line being too small after frustum clipping.
2020-10-23Fix T73793 Walk navigation crosshair gets hidden behind objectsClément Foucault
This was reintroduced by the wide line emulation workaround.
2020-10-23Fix T81818: Outliner mode column crashes with shared object dataHans Goudey
For objects with shared data, it makes sense to show the mode icon for every object sharing the same data if one of them is in edit mode. This also disables the "extend" functionality in this case, because being in edit mode for multiple objects with the same data isn't supported. Differential Revision: https://developer.blender.org/D9273
2020-10-23Pydoc: Fix sphinx compile warnings about freestyleAaron Carlisle
Sphinx expects functions and methods with the same name and different parameters to be written using one directive. See: https://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html#basic-markup Unfortunately this makes giving different descriptions for each harder. This was already a request for better support for this in sphinx, see: https://github.com/sphinx-doc/sphinx/issues/7787 Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D9170
2020-10-22Cleanup: Simplify outliner mode column drawing functionHans Goudey
Move the checks for whether to draw the button to the beginning of the function and return early. Also use a shorthand variable for ob_active. Committing to 2.91 as a patch for an upcoming bug fix depends on these changes. Differential Revision: https://developer.blender.org/D9272
2020-10-22GPencil: Fix unreported crash using layer solo mode and masked layersAntonio Vazquez
The solo mode was skipping the layer creation data and the loop of masks expect to have all layers in the array or the loop crash. The solution is just create the layer array data for the layer, but don't draw any stroke.
2020-10-22Fix T81909: Translation missing for some labels in modifier panelsHans Goudey
Every label string in uiItem* calls needs an IFACE_ call.
2020-10-22GPencil: Fix unreported mistake in material index for trace imagensAntonio Vazquez
The material index was not used and only worked with new objects.
2020-10-22Sculpt: Remove tools with missing icons experimental optionPablo Dobarro
All tools planned for 2.91 now have icons, so this option can be removed. Reviewed By: dfelinto, Severin Differential Revision: https://developer.blender.org/D9299
2020-10-22GPU: Memory leak when scaling buffersJeroen Bakker
`imb_gpu_get_data` could reuse `data_rect` when it was already in used (double alloc). making the first use leak. This was detected after enabling OpenGL Texture Limit. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D9280
2020-10-22Fix T81949: Child Of Constraint can't assign inverse matrixCampbell Barton
Caused by ad70d4b0956f5, assigning the matrix now clears the flag that would reset it.
2020-10-22Fix animation player initializationCampbell Barton
Updates from 9d30fade3ea9b weren't applied to the animation player causing an assert and missing call to IMB_init.
2020-10-22Fix T81905: Active keyframe unavailable when handle selectedCampbell Barton
Selecting an F-Curve handle caused an assertion as well as treating the key-frame as inactive. Allow active the keyframe to be active when it's handle is selected, as is done with bezier curves.
2020-10-22Fix T81939: crash calling bmesh.utils.vert_separate()Campbell Barton
Missing NULL check in bmesh_kernel_vert_separate.
2020-10-22Fix out of bounds array access in mathutils.noiseCampbell Barton
Regression in 0b2d1badecc48.
2020-10-22WM: warn when event's have repeat set for non keyboard eventsCampbell Barton
Also add docs to event and keymap item flag.
2020-10-22WM: ensure is_repeat isn't set for mouse-move eventsCampbell Barton
Follow up to d782bad62dc53373bb28811c0672da81924371d6 Also clear this for simulated events.
2020-10-22DRW: Fix custom engine not being BGL safeClément Foucault
This was caused by unprotected drawing callbacks. As of 2.91, we require that all python callbacks used for drawing needs to be safeguarded by `GPU_bgl_end()` to end the state tracking override.
2020-10-22Fix T81784 BGL: Gizmo glitch when using glEnable/glDisableClément Foucault
This was caused by unprotected drawing callbacks. From 2.91, we now require that all python callbacks used for drawing needs to be safeguarded by `GPU_bgl_end()` to end the state tracking override.
2020-10-22EEVEE: Principle BSDF: Use multi-scatter switch for the glass variantClément Foucault
This avoid strange discrepency between the general purpose variant and the specialized glass variant which did not have a way to turn multi-scatter off.
2020-10-22Fix T77658 EEVEE: Reflection Plane partially missing reflectionsClément Foucault
The degenerate line workaround was ill defined.
2020-10-22Fix T81925: incorrectly skipped string copy in test_env_pathRobert Guetzkow
Regression in 6f3a9031f7b93e7c687edde646beed9f02d920d4 Ref D9306
2020-10-21EEVEE: Screen Space Reflection: Improve contact reflectionsClément Foucault
This patch helps the case of intricate reflections where the ray does not travel far before intersecting the geometry. In these cases there could be false negative exclusion of the ray caused by the backface rejection threshold.
2020-10-21EEVEE: Screen Space Raytrace: Fix unreported banding artifactsClément Foucault
The artifact manifested as lines of different values caused by faillure to trace the depth buffer correctly. Adding a ad-hoc value to the step size to mitigate the issue.
2020-10-21Fix T81896: Outliner missing redraw after "Set Parent (Without Inverse)"Philipp Oeser
Outliners listener (outliner_main_region_listener) needs ND_PARENT notifier to redraw, the parenting operator only spawned ND_TRANSFORM (which doesnt do a redraw). Maniphest Tasks: T81896 Differential Revision: https://developer.blender.org/D9295
2020-10-21Fix T81929: Sculpt: Mask operators missing drawing update on meshes withPhilipp Oeser
shapekeys/modifiers This was failing for all mask filters (sharpen, grow, invert, clear, shrink, contrast, smooth) and mask gestures (box, lasso). Also have to recalc shading, use SCULPT_tag_update_overlays for this. ref D8956 Maniphest Tasks: T81929 Differential Revision: https://developer.blender.org/D9302
2020-10-21UI: Allow changing the active side of line gesturesPablo Dobarro
Line gesture use always the right side of the line as active (the area of the mesh that is going to be modified) by default. This adds the ability to change the active side when the line gesture is active by pressing the F key. This allows more freedom to position the line after starting the gestures, as it won't be required to cancel the operation or undo if the line was used in the wrong direction. Reviewed By: Severin Differential Revision: https://developer.blender.org/D9301
2020-10-21Bump subversion to 2.91.9 for bcon3 BETADalai Felinto
2020-10-21Fix T81901: Use the 2.90 scrape brush preset as defaultPablo Dobarro
The new preset I made for 2.91 is way more controllable with lower strength values and does not have the accumulate bug, but until the brush management is in place to ship multiple versions of the brush, probably most people expect something closer to the old version to be the default. Reviewed By: sergey Maniphest Tasks: T81901 Differential Revision: https://developer.blender.org/D9289
2020-10-21UI: Swap order of increment and decrement file name icon in File BrowserJulian Eisel
Swaps the order of the '+' and '-' button in the File Browser file name field, so that '-' comes first. For increasing or decreasing a value it makes more sense to have decreasing first, increasing last. Consistent to how you press on the left side of a number button for decrease, and right to increase. However this is inconsistent in another way: Usually we have a '+' button before a '-' button, but that refers to adding and removing items, not increasing or decreasing. The icons are also placed in their own buttons then, making them look more separate. So the UI Team agreed on accepting that trade-off, see today's meeting notes: https://devtalk.blender.org/t/2020-10-21-ui-team-upcoming/15849