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
2021-01-26GPU: Enabled hq normals workaround for any AMD driver on polarisJeroen Bakker
2021-01-26GPU: Enable HQ normals workaround for AMD 21.1.1 driver.Jeroen Bakker
AMD 21.1.1 still has the same issues as reported in T82856.
2021-01-25Version bump: Blender v2.83.11 rcJeroen Bakker
2021-01-25Particles: Fixed thread work size calculation.Stefan Werner
Dividing the workload by number of tasks in float is imprecise and lead in some cases to particles not being calculated at all (example: 20000 particles, 144 tasks). Switching this calculation to integer makes sure we don't lose count. Differential Revision: https://developer.blender.org/D10157
2021-01-13Fix: Update normals when switching scene qualityJeroen Bakker
Recent commits also updated normals for metaballs, curves and volumetric objects. This change tags will tag to generate geometry for these new types.
2021-01-13Fix T84397: Creating and removing many objects very quickly causes a crashSergey Sharybin
The root of the issue was caused by the dependency graph using ID pointer to map evaluated state from old depsgraph to new one upon relations update. This was failing when IDs were re-allocated rapidly: was possible that Object ID's evaluated state assigned to Mesh and vice versa. Now depsgraph uses Session UUID to identify which IDs to restore evaluated state to. The session UUID is stored in the IDNode, so that id_orig is not dereferenced on depsgraph update since the ID might be freed. The root of the issue is identified by Campbell, original patch was done by Bastien, thanks! Also thanks to Oliver and Ray and everyone else for testing!
2021-01-13Fix T84459: Wireframe not displaying with AMD GPUJeroen Bakker
Issue appears to be caused by AMD graphics driver later than 20.11.1 and affects older GPUs (Polaris/FIJI cards). Wireframe drawing uses the same OpenGL data type for storing normals what is known to be faulty. This patch enabled storing the normals using GPU_COMP_I16. It also solves the normals drawing in edit mode for vertex and loop normals.
2021-01-13Fix T84459: Face normals not displaying (AMD GPU)Jeroen Bakker
This is part two of the fix for T84459. Issue appears to be caused by AMD graphics driver later than 20.11.1 and affects older GPUs (Polaris/FIJI cards). Drawing normals in edit mode uses the same OpenGL data type for storing normals that is known to be faulty. This change fixes the face dot normals by using GPU_COMP_I16.
2021-01-13GPU: Enable HQ normal work around for AMD PolarisJeroen Bakker
THe high quality normals work around is enabled for Polaris cards using the official drivers. Since driver version 2.11.2 they fail to render using low quality normals. The detection of polaris cards is done by matching the opengl renderer. The renderer strings have been extracted from various reports linked to {T82856} but isn't complete as some reports are missing the exact renderer as users don't always report via the help menu.
2021-01-13GPU: Add HQ normals workaround.Jeroen Bakker
This change makes it possible for platforms to only support high quality normal rendering. This is part of {T82856} where current AMD drivers running on the polaris architecture does not support the low quality setting due to a driver bug. In a next commit the work around will be enabled.
2021-01-13DrawManager: High quality normals for non meshesJeroen Bakker
This adds high quality normals for non meshes. These include * Volumetric Object Wireframe * Metaballs * Extracted Curves * Curves in edit mode This is in preparation to fix a regression in recent AMD drivers where the `GL_INT_2_10_10_10_REV` data type isn't working in Polaris cards.
2021-01-13Fix T83625: Shading attribute names cause compilation error.Jeroen Bakker
Some GPU platforms don't support having more than one underscore in sequence in an attribute name. This change will remove the underscore as a possible character when encoding to save names.
2021-01-13Fix crash sliding effect sequence stripsCampbell Barton
Off by one error in array access.
2021-01-13Fix T83280: Crash when deleting hair collision collection.Bastien Montagne
Root of the issue was missing management of ID pointers in the cloth modifier data stored in ParticleSystem for hair physics, in the 'foreach_id' particle system code. Using modifier's 'foreach_id' code in psys one unfortunately requires some ugly conversion gymnastics, but this is still better than having dedicated code for that case. Note that this is actually a fairly critical issue, fix should be backported to 2.91.1 should we do it, and to 2.83 LTS as well I think.
2020-12-16Version: Blender 2.83.11 betaJeroen Bakker
2020-12-07Blender v2.83.10 releasev2.83.10Jeroen Bakker
Version bump
2020-12-02Fix T82988: Div by zero with curve deform modifierRobert Guetzkow
In `calc_curve_deform` a factor is calculated without checking if the divisior is zero or close to zero. This patch adds the missing checks and sets the factor to zero if the division shouldn't be computed. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D9645
2020-12-02Fix T82729: Crash in rna_EffectorWeight_path when object has fluid and ↵Philipp Oeser
dynamic paint modifiers Looks like prior to the introduction of mantaflow, the former SmokeModifierData always had a domain initialized (even if its type was set to None). Since mataflow, the FluidModifierData type needs to be set to MOD_FLUID_TYPE_DOMAIN (otherwise domain is invalid) Maniphest Tasks: T82729 Differential Revision: https://developer.blender.org/D9644
2020-12-02Fix T83055: setting rna pointer properties can create bogus custom propertiesPhilipp Oeser
This was reported in the form of the eyedropper of the 'Parent' property creating a custom property 'parent' if self was picked. Problem arises when certain checks for setting rna pointer properties failed (for example: the PROP_ID_SELF_CHECK check) and then a different code path was entered (which was only meant for IDProperties). Problem was introduced in rBa7b3047cefcb. To solve, now first enter the branch for rna-based pointer properties, then perform the sanity-checks (and if these fail: dont enter the other unrelated codepath but instead do nothing) Maniphest Tasks: T83055 Differential Revision: https://developer.blender.org/D9652
2020-12-02Fix memory leak writing PNG when opening the file failsCampbell Barton
2020-12-02ImBuf: replace incorrect strstr use with memcmpCampbell Barton
Besides being incorrect as only the first two bytes should be tested, searching binary data using `strstr` can easily read past buffer bounds.
2020-12-02Fix T82555: Crash using copied object from PythonCampbell Barton
Also clear `gpd_eval` as this wasn't being copied either.
2020-12-02Fix T65585: Knife fails when cursor away from the objectCampbell Barton
Zeroed mouse coordinates were being used making projection fail.
2020-12-02Fix out of bounds array access in mathutils.noiseCampbell Barton
Regression in 0b2d1badecc48.
2020-12-02Blender 2.83.10 betaJeroen Bakker
2020-11-11Blender 2.83.9 releasev2.83.9Jeroen Bakker
2020-10-28Fix T81226: Crash opening 64bit files with endian switchingCampbell Barton
Endian switching when loading 64bit blend files on a 64bit system was crashing as the endian switching is only applicable when loading on 32 bit systems. This crash goes back to 2.7x, it looks like this never worked all the way back to the first commit.
2020-10-28Fix T81254: Incorrect calculation of EEVEE Transmittance VolumetricsJeroen Bakker
Regular rendering uses a custom blend mode, but render passes renders to 2 separate textures. This wasn't configured correctly inside the fragment shaders. This patch adds a switch to configure the fragment shader with the correct attachments. Backport to Blender 2.83. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D9038
2020-10-28Fix T81688: BPY_thread_save crashes with Python 3.9Campbell Barton
Calling PyEval_ReleaseLock() was crashing with Python 3.9 because it accessed the NULL pointer set by PyThreadState_Swap(). This happened when calling ViewLayer.update() for example. While the existing logic could be fixed by swapping the thread-state back before calling PyEval_ReleaseLock(), this depends on functions which are tagged to be removed by v4.0. Replace use of deprecated functions by calling PyEval_SaveThread(), instead of inlining the logic, using _PyThreadState_UncheckedGet() to prevent Python aborting. The call to PyEval_ThreadsInitialized has been removed as threads are now initialized with Python. This could be replaced with Py_IsInitialized() however it doesn't look like this is necessary. This is compatible with Python 3.7 & 3.9.
2020-10-28Fix T81288:Select Linked fails with multi-object edit modeCampbell Barton
Changing options after using select-linked didn't work when the object being selected wasn't the active object.
2020-10-28Fix T81854: crash when undoing switch between sculpt and edit mode.Bastien Montagne
The logic of `BKE_sculpt_update_object_for_edit` was not correct. such low-level functions should typically never preform depsgraph evaluation themselves, they should be able to rely on getting a fully evaluated depsgraph and just get needed data from there. Supporting that required fixing other broken code higher in the callstack, namely: * `ED_object_sculptmode_enter_ex` was freeing evaluated data, for no valid reason it would seem. * `sculpt_undosys_step_decode` was ensuring an evaluated depsgraph **before** calling `ED_object_mode_generic_exit`, which would invalidate a lot of evaluated data. Note that it is fairly difficult to track down all code paths leading to `BKE_sculpt_update_object_for_edit`, so there may be still cases where this gets called with improperly evaluated depsgraph. Reviewed By: sergey Maniphest Tasks: T81854 Differential Revision: https://developer.blender.org/D9270
2020-10-28Fix T81421: "Saving As..." a blend file with a Script node file path filled ↵Bastien Montagne
with 1023 symbols crashes Blender. Usual lack of protection against buffer overflows when manipulating strings. Also add some basic tests for `BLI_path_rel`.
2020-10-28Fix 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-28Fix T81939: crash calling bmesh.utils.vert_separate()Campbell Barton
Missing NULL check in bmesh_kernel_vert_separate.
2020-10-28Fix (studio-reported) Armature: bug in handling of custom bone transform.Bastien Montagne
This specific pose channel pointer was not handled at all during rebuilding of poses, meaning that it could end up pointing at some freed pchan.
2020-10-28PyAPI: unregister add-ons when exitingCampbell Barton
This lets add-on authors avoid false positive leaks when exiting. In particular GPUShaders's although it applies to any PyObject that stores memory allocated by guarded-alloc. While this does add overhead on exit, on my system it's under 1/100th of a second with all addons enabled. See: T71362
2020-10-28Fix T81633 Workbench: TAA never resolve when enabling both X-Ray and cavityClément Foucault
This was caused by a wrong flag equality check when in xray mode because the xray mode was masking the effect option flags that are not supported in this mode. This means the never passed and the TAA was reset before every redraw, leading to infinite rendering.
2020-10-28Blender v2.83.9 betaJeroen Bakker
2020-10-21Blender v2.83.8 ReleaseJeroen Bakker
2020-10-07Fix T81459: Memory Leak Cycles Rendered ViewportJeroen Bakker
The external engine in the draw manager wasn't registered correctly. This did not free the resources after the external engine was used.
2020-10-07Fix T81218: Crash in pose mode using a driver on bendy bone SegmentSybren A. Stüvel
The example file in T81218 has a driver that maps a bone's X-location to the number of BBone segments. This caused a dependency cycle, which resulted in bad thread serialisation, which caused the crash. This patch breaks the dependency cycle `BONE_LOCAL` → `DRIVER(bones["Bone"].bbone_segments)` → `BONE_LOCAL`. The 'Driver Data' relation now points to `BONE_SEGMENTS` when the driven property starts with `bbone_`. Differential Revision: https://developer.blender.org/D9122
2020-10-07Fix T80885: Texture paint camera project crashes after undo/redoCampbell Barton
Unmatched ED_image_undo_push_{begin/end}, add doc-strings noting why this is needed. Thanks to @Baardaap for the initial fix.
2020-10-07Fix T80630: potential crash in volume grids in Eevee shadersBrecht Van Lommel
Found by address sanitizer.
2020-10-07Fix T62504: Crash accessing depsgraph from evaluated view layerCampbell Barton
Use correct owner_id types for depsgraph view_layer properties instead of inheriting from the Depsgraph which is set to NULL.
2020-10-07Fix T78653 Workbench: Broken Depth of Field in Viewport (Mac OSX)Clément Foucault
The output layout was wrong and it's a mistery why it works on most implementations since it's clearly a wrong usage. Thanks @sebbas for helping narrowing down the issue.
2020-10-07Fix T80426: Crash when deleting custom orientationGermano Cavalcante
Indices referencing other orientations were not being updated,
2020-10-07Fix T79973: Re-ordering face maps messes up the names of other face mapsGermano Cavalcante
Use a remap function instead a swap. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D8739
2020-10-07Fix T80520: Tris to Quads ignores UV delimit optionmano-wii
2020-10-07Fix invert vertex group weight miscalculation for modifiersCody Winchester
Warp & weight vertex-group editing modifiers miscalculated vertex weight inversion, the weights were multiplied before being subtracted from 1. Ref D8241
2020-10-07Fix T81168: 2.8x Crash when loading 2.79 file.Bastien Montagne
Object in the 2.7x file is on no layer at all, while this is not really expected nor considered valid, better to cope with the case gracefully than crash. To be backported to 2.90 and 2.83.