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-11-12Better comments and fixing implicit precision conversion warnings.bevelv2Howard Trickey
2022-11-05Fix a bug re slope on vertex events.Howard Trickey
When insetting a square face with a slope, not all center vertices got raised. This fixes that. Also disabled the grid inset test, which doesn't work yet.
2022-10-25Fix crash in vertex bevel due to bad face reconstruct.Howard Trickey
The logic for face reconstruction was wrong when the start of a face was a beveled vertex.
2022-10-24Merge branch 'master' into bevelv2Howard Trickey
2022-10-24Refactored vertex data structures.Howard Trickey
2022-10-24Fix T101210: invalid internal node links lead to crashJacques Lucke
Internal links are run-time/derived data. Therefore it is not necessary to load them from .blend files where invalid internal links may be stored. They will be regenerated after a node tree is loaded anyway.
2022-10-24GPencil: Fix regression (part3) with edit mode introduced in rB0ee9282b5c51Clément Foucault
Vertex indexing has not been updated and stroke_start usage was wrong. Update all `stroke_start` usage.
2022-10-24Cycles: Metal integrator state size tuningMichael Jones
This patch tunes the integrator state sizing for Metal (`num_concurrent_states` and `num_concurrent_busy_states`). On all GPUs architecture, we adjust the busy:total states ratio to be 1:4 which gives better rendering performance than the previous 1:16 ratio (independent of total state count). This gives a small performance uplift (e.g. 2-3% on M1 Ultra). Additionally for M2 architectures, we double the overall state size if there is available headroom. Inclusive of the first change, we can expect uplift of close to 10% in future, as this results in larger dispatch sizes and minimises work submission overheads. In order to make an accurate determination of available headroom, we defer the calculation of `num_concurrent_states` and `num_concurrent_busy_states` until the time of integrator state allocation (i.e. after all of the scene data has been allocated). We also refactor `alloc_integrator_soa` to calculate an *exact* single-state-size in a first pass, right before allocating the integrator SoA buffers in a second pass. Reviewed By: brecht Differential Revision: https://developer.blender.org/D16313
2022-10-24Pencil: Fix regression (part2) with stroke buffer introduced in rB0ee9282b5c51Clément Foucault
`vert_len` was being shadowed and index_min & max wasn't correctly set.
2022-10-24GPencil: Fix regression with stroke buffer introduced in rB0ee9282b5c51Clément Foucault
2022-10-24GPencil: Fix regressions introduced in rB0ee9282b5c51Clément Foucault
Batching was broken / disabled and starting indices were wrong.
2022-10-24Fix T101946: Outliner data-block counter treats bones as collectionPhilipp Oeser
Mistake in own rBb6a35a8153c3 which caused code to always recurse into bone hierarchies (no matter which collapsed level an armature was found). This led to bone counts always being displayed even outside a collapsed armature (e.g. if an armature was somewhere down a object or collection, the collapsed object or collection would show this bonecount). This is inconsistent with other data counting in the Outliner, e.g. vertexgroups or bonegroups do have their indicator at object level, however the counter only shows if `Vertex Groups` or `Bone Groups` line shows (so if the object is not collapsed). And this also led to the bug reported in T101946 which was that the bone counts would be treated as collections when further down a collapsed hierarchy. Background: The whole concept of `MergedIconRow` is based on the concept of counting **objects types or collectinons/groups**. If other things like overrides, vertexgroups or bonegroups are displayed in a counted/ merged manner, then these will always be counted in the array spots that are usually reserved for groups/collections. But for things this is not a problem (since these are only displayed below their respective outliner entry -- and will never be reached otherwise). So to correct all this, we now only recurse into a bone hierarchy if a bone is at the "root-level" of a collapsed subtree (direct child of the collapsed element to merge into). NOTE: there are certainly other candidates for counted/merged display further up the hierarchy (not just bones -- constraints come to my mind here, but that is for another commit) Maniphest Tasks: T101946 Differential Revision: https://developer.blender.org/D16319
2022-10-24Fix T102008: Images are stretched when texture limit is enabledOmar Emara
Currently, if an image exceed the texture limit setup by the user or the GPU backend, it will be scaled down to satisfy the limit. However, scaling happens independently per axis, that means the aspect ratio of the image will not be maintained. This patch corrects the smaller size to maintain the aspect ratio. Differential Revision: https://developer.blender.org/D16327 Reviews By: Clement Foucault
2022-10-24GPencil: Fix build errors caused by designated initializer in C++Clément Foucault
2022-10-24Cleanup: quiet parentheses warningCampbell Barton
2022-10-24GPencil: Use indexed rendering instead of instancesClément Foucault
This allows using instancing in other ways, like resources indexing.
2022-10-24GPencil: Port draw_cache_impl_gpencil.cc to C++Clément Foucault
2022-10-24Transform: limit zero radius Shrink/Fatten to only 1 curve pointGermano Cavalcante
rBb70bbfadfece allowed scaling of zero-radius points, but as it behaves differently from other radius, it may not be suitable for multi-point transformation.
2022-10-23Fix large incremental snap values in uv editorGermano Cavalcante
Regression in rBa7aa0f1a0c24. The default values of `t->snap` have been changed.
2022-10-23GHOST: expand GHOST_PRINT/PRINTF without WITH_GHOST_DEBUGCampbell Barton
It was too easy accidentally break builds without WITH_GHOST_DEBUG enabled because the arguments were ignored. Now they are expanded in an `if (0) {...}` block, so invalid expressions result in errors.
2022-10-23Fix build error when WITH_GHOST_DEBUG is enabledCampbell Barton
2022-10-23Fix T101607: Changing Image source inadvertently clears file pathJesse Yurkovich
This could result in wrong behavior depending on the order in which the Image.filepath and Image.source fields are set from within Python for example. Caused by rB72ab6faf5d80
2022-10-23GHOST/Wayland: support building with older versions of pointer-gesturesCampbell Barton
Missing support for the hold gesture broke building on the build-bot. Since this gesture was only logged, it's harmless to leave it off.
2022-10-23Fix crash on exit when background rendering in waylandCampbell Barton
Disable libdecor Wayland requirement which would use an X11 fallback. While the crash could be investigated, using libdecor at all makes no sense in background mode.
2022-10-23Fix T102000: Curve Shrink Fatten doesn't work for zero radiusGermano Cavalcante
Kind of intentional regression on rB2d1fe736fabd. But the solution now is (theoretically) better than adding a hard coded threshold. For cases with zero radius, the new radius is now the offset of the ratio projected onto the plane of the origin point.
2022-10-22Cleanup: clang-formatLukas Stockner
2022-10-22Fix T101329: EXR 'JPG Preview' doesn't use color space anymoreLukas Stockner
For the JPG preview, the only thing that was changed in the image format was the format itself. However, the colorspace code now also checks the bitdepth through BKE_image_format_is_byte, so the depth needs to be explicitly set to 8-bit for the JPG preview output.
2022-10-22Transform: remove unreachable codeGermano Cavalcante
The node grid snap only works with 2D coordinates, no transformation matrix and no Objects. Also rename `applyGridAbsolute` to `node_snap_grid_apply`.
2022-10-22Cleanup: move grid snap functions to files where they are usedGermano Cavalcante
2022-10-22Fix T101991: "Absolute Grid Snap" not workingGermano Cavalcante
Error introduced in rB1edebb794b76. In that commit it was kind of forgotten that the snap to grid is also used in 3D views. Also a refactoring and cleanup was applied to simplify the code.
2022-10-22Fix T101930: NLA Actions Stash remove doesn't work on overriden linked data.Bastien Montagne
Code adding stash track was clearing out track flags, instead of editing them as it should have... Note that there are a lot of other weaknesses in action stash code (like relying on the (translated!!!!!!) name of the track to know whether it's a stah or not).
2022-10-22GHOST/Wayland: multi-touch gesture supportCampbell Barton
Add support for zoom & rotate gestures, hold and swipe may be used in the future although swipe maps to 2D smooth-scroll for Gnome & KDE. Tested to work with Apple track-pad & Wacom tablet on Gnome & KDE.
2022-10-22Cleanup: use wl_/wp_ prefix to match native Wayland typesCampbell Barton
2022-10-22GHOST/Wayland: support changing seat capabilities at run-timeCampbell Barton
2022-10-22Video rendering: FFMpeg AV1 codec encoding supportStephen Seo
Previously, the Blender video renderer did not have support for encoding video to AV1 (not to be confused with the container AVI). The proposed solution is to leverage the existing FFMpeg renderer to encode to AV1. Note that avcodec_find_encoder(AV_CODEC_ID_AV1) usually returns "libaom-av1" which is the "reference implementation" for AV1 encoding (the default for FFMpeg, and is slow). "libsvtav1" is faster and preferred so there is extra handling when fetching the AV1 codec for encoding such that "libsvtav1" is used when possible. This commit should only affect the options available for video rendering, which includes the additional AV1 codec to choose from, and setting "-crf". Also note that the current release of FFMpeg for ArchLinux does not support "-crf" for "libsvtav1", but the equivalent option "-qp" is supported and used as a fallback when "libsvtav1" is used (as mentioned here: https://trac.ffmpeg.org/wiki/Encode/AV1#SVT-AV1 ). (Actually, both "-crf" and "-qp" is specified with the same value in the code. When a release of FFMpeg obtains support for "-crf" for "libsvtav1" is released, the code shouldn't be needed to change.) The usage of the AV1 codec should be very similar to the usage of the H264 codec, but is limited to the "mp4" and "mkv" containers. This patch pertains to the "VFX & Video" module, as its main purpose is to supplement the Video Sequencer tool with the additional AV1 codec for encoded video output. Differential Revision: https://developer.blender.org/D14920 Reviewed By: sergey , ISS, zeddb
2022-10-22Fix T101969: Crash when using large texture with nonstandard colorspaceLukas Stockner
When the image colorspace is not data, linear or sRGB, the image will be converted to float (and colorspace-converted) during loading. However, if it also needs to be rescaled (due to exceeding the GPU texture size limit), the resizing assumed that it's still a byte texture.
2022-10-21deps_builder: expose FORCE_CHECK_HASH as an optionRay Molenkamp
The check was already there, but given it was not exposed as an option it didn't show up in my cmakecache and i got tired of having to lookup the exact name all the time.
2022-10-21Build: add option to error when features can't be enabledBrecht Van Lommel
This is to help ensure buildbot builds are correct, while still gracefully disabling features in user/developer builds. * Add WITH_STRICT_BUILD_OPTIONS to give an error when features can't be enabled due to missing libraries or other reasons. Add new macro set_and_warn_library_found used everywhere features were being automatically disabled. * Remove code from Windows and macOS for various libraries that would automatically disable features. set_and_warn_library_found could be used here also, but we are generally assuming the precompiled libraries are complete and only test for availability when libraries are just added. Differential Revision: https://developer.blender.org/D16104
2022-10-21Build: disable JACK option in macOS releasesBrecht Van Lommel
It has not actually been enabled there for a long time in official releases, so this just fixes the warning. Making it work again would be good, but for now JACK is only supported on Linux.
2022-10-21Fix missing OpenMP in Linux buildsSergey Sharybin
OpenSubdiv OpenMP detection was interfering, but we don't use it there anymore so just remove that code.
2022-10-21Fix T101244: Empty point list in shader batch creation cause errorGermano Cavalcante
Allow empty VBOs in Python GPUBatch creation.
2022-10-21make.bat: update the libraries before calling update_sources.pyRay Molenkamp
The issue we ran into a lot is we have a python script that updates git+SVN. Which works fine most of the time, except when we have a python update in SVN, or worse a python version change. Python really doesn't enjoy having its files being deleted or changed while it is running and users generally end up with a corrupted lib folder. This change updates the library folder using svn.exe first before letting the python script run sidestepping the issue in most cases. The python script will still run and do the more elaborate work like updating git and switching SVN branches which could still run into issues cause python still doesn't like being changed while running but there's not a whole lot we can about that, for *most* people however things will just work now.
2022-10-21Avoid re-compilation of oneAPI AoT kernels when configuration changesSergey Sharybin
Buildbot infrastructure relies on the fact that it can enable and disable `WITH_CYCLES_<COMPUTE>_BINARIES` without affecting speed of incremental builds. This allows buildbot to skip GPU kernels when doing CI regression tests which do not need GPU kernels, as well as it allows to move GPU kernels compilation to a separate step where all the resources are available to the GPU kernel builders. For the oneAPI compute enabling and disabling AoT kernels has much higher implications due to the kernels being a part of the device implementation from the build target perspective. This change makes it so different target names are used for JIT and AoT configurations, which allows CMake to more fully benefit from "caching" the compiled result. The end goal of this change is to make it so sequential build of the same code base on the buildbot happens super fast, Blender binary still needs to be re-linked when the AOT of oneAPI option is toggled, but that's already the case in the buildbot due to the WITH_BUILDINFO. Differential Revision: https://developer.blender.org/D16312
2022-10-21GPU: remove unused member from FrameBufferGermano Cavalcante
Accidentally added in rB2510bd3a5f35d14f5e0e098c79a776916d273223
2022-10-21Cycles: oneAPI: migrate from deprecated APIs, require libSYCL 6.0+Xavier Hallade
sycl::info::device::ext_intel_* descriptors are deprecated, replaced with sycl::ext::intel::info::device:: that are available from 6.0+, for which we now check version in CMake.
2022-10-21Cycles: oneAPI: remove use of SYCL host deviceXavier Hallade
Host device is deprecated in SYCL 2020 spec, cpu device or standard C++ should be used instead.
2022-10-21Fix T101974: Potential memoryleak GHOST_WindowWayland.newDrawingContextEdward
Reviewed By: jbakker Maniphest Tasks: T101974 Differential Revision: https://developer.blender.org/D16309
2022-10-21SystemInfo: Add active GPU backend.Jeroen Bakker
For debugging it is useful to known the active GPU backend. Although it could be determined from looking at the extensions, this is easier to understand when not activly working in this area.
2022-10-21cmake/windows: Prepare for 3.4 library changes for opencolladaRay Molenkamp
The opencollada dependency will be using an external xml2 library for 3.4. This change allows to build against both old and new style lib folders. As it is a C library it did not need a special debug version.
2022-10-21GPU: Don't exit after first GPUBackend.Jeroen Bakker