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-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
2022-10-21GPU: Add gpu.platform.backend_type_get function.Jeroen Bakker
Function returns the active GPU backend type.
2022-10-21GPU: Fix Metal GLSL compilation errors due to recent changes.Jeroen Bakker
vec.st is legacy OpenGL and should not be used.
2022-10-21Fix T101964: Edge and face snapping no locking to axisGermano Cavalcante
In rBed6c8d82b804 it was wrongly assumed that the constraint functions always apply the transformations. But that is not the case for when axes are aligned. The `mul_m3_v3(t->con.pmtx, out)` fallback is still required.
2022-10-21Fix: Bokeh blur node flips its bokeh inputOmar Emara
The bokeh blur node flipped its bokeh input due to the conceptual difference between the search window space and the weights texture space. This patches fixes that by inverting the weights texture to match the search window. The variable size option actually flips the bokeh input for the CPU compositor. It is unclear if this is expected, so we deviate from that behavior for now.
2022-10-21EEVEE: Fix ill defined blend in cubemap array workaroundClément Foucault
This fixes some firefly issues on corners of the cubemaps where the blending factors would go above 1 or below 0.
2022-10-21Cycles: Bump versions of DPC++, IGC, and dependenciesSergey Sharybin
Patch by Xavier Hallade. Committing next to the actual libraries update in the svn.
2022-10-21install_deps: Update OSL for Blender 2.4 release.Bastien Montagne
As requested by T101403, OSL version is now 1.12.6.2.
2022-10-21Fix T66713: Walk mode doesn't take scene unit scale into accountCampbell Barton
When changing a scene's unit scale from 1 to something else, 0.1 for e.g. walk navigation no longer worked properly. Whenever gravity is enabled, and the user starts to fall or jump, the view-port glitched out into low earth orbit. Reviewed By: campbellbarton Ref D16277
2022-10-21deps_builder: add missing OSLNoise library on windowsRay Molenkamp
OSLNoise is a new library, was missing in the debug configuration on windows.
2022-10-21deps_builder: OpenCollada fixes for windowsRay Molenkamp
- build and use our version of libxml - the cli tools had a linker error due to it trying to link a shared version of libxml, disabled both and zlib 1.2.3 with a patch since we do not want/need them for blender. - postfix the libraries with _d for debug automatically so we don't have to fix that during the harvest. due to this only being windows changes no rebuild needed for the other platforms.
2022-10-21GHOST/Wayland: code comments, minor improvementsCampbell Barton
- Clarify how data_offer is used for both the clipboard & drag-and-drop. - Acquire the clipboards mutex lock before freeing. - Log a warning when creating a pipe fails. - Add doxy-sections.
2022-10-21Fix: USD & Alembic importers might not initialize material indicesHans Goudey
f1c0249f34c4171ec incorrectly assumed that the importer functions that assigned material indices set all of the values, but that isn't true for all files.
2022-10-20Buildfix for 078e034 missing includeJens Verwiebe
2022-10-20deps_builder: fix missing png harvest on windowsRay Molenkamp
2022-10-20Fix T101215: Distribute Points in Volume node does not refresh on frame changeJacques Lucke
2022-10-20Fix memory leak when proxy building failsRichard Antalik
Leak introduced in recent fix - bf8d4a9bc6fb28.
2022-10-20Fix T101316: workbench texture mode not working with geometry nodesJacques Lucke
The `ED_object_get_active_image` is used from the renderer which deals with evaluated objects. This means the material api for evaluated objects has to be used.
2022-10-20install_deps: Update Python, OIIO, openPGL and FFMPEG versions.Bastien Montagne
Update libraries for Blender 3.4, according to T101403: * python: 3.10.8 * OIIO: 2.3.20.0 * OpenPGL: 0.4.0-beta * FFMpeg: 5.1.2
2022-10-20Fix T101554: disable viewer node when corresponding modifier is disabledJacques Lucke
2022-10-20UI: Icon number indicator for data-blocksDalai Felinto
Adds the possibility of having a little number on top of icons. At the moment this is used for: * Outliner * Node Editor bread-crumb * Node Group node header For the outliner there is almost no functional change. It is mostly a refactor to handle the indicators as part of the icon shader instead of the outliner draw code. (note that this was already recently changed in a5d3b648e3e2). The difference is that now we use rounded border rectangle instead of circles, and we can go up to 999 elements. So for the outliner this shows the number of collapsed elements of a certain type (e.g., mesh objects inside a collapsed collection). For the node editors is being used to show the use count for the data-block. This is important for the node editor, so users know whether the node-group they are editing (or are about to edit) is used elsewhere. This is particularly important when the Node Options are hidden, which is the default for node groups appended from the asset libraries. --- Note: This can be easily enabled for ID templates which can then be part of T84669. It just need to call UI_but_icon_indicator_number_set in the function template_add_button_search_menu. --- Special thanks Clément Foucault for the help figuring out the shader, Julian Eisel for the help navigating the UI code, and Pablo Vazquez for the collaboration in this design solution. For images showing the result check the Differential Revision. Differential Revision: https://developer.blender.org/D16284
2022-10-20Realtime Compositor: Implement normalize nodeOmar Emara
This patch implements the normalize node for the realtime compositor. Differential Revision: https://developer.blender.org/D16279 Reviewed By: Clement Foucault
2022-10-20Fix T101645: division by zero in fillet nodeJacques Lucke
2022-10-20ViewLayer: Reduce object duplication syncingMonique Dewanchand
During object duplication the syncing is temporarily disabled. With {D15885} this isn't useful as when disabled the view_layer is still accessed to locate bases. This can be improved by first locating the source bases, then duplicate and sync and locate the new bases. This patch removes the resync forbid and improve the times that resyncing actually must happen. Reviewed By: mont29 Maniphest Tasks: T73411 Differential Revision: https://developer.blender.org/D15886
2022-10-20GL: Make restart index consistent on older implementationClément Foucault
This prevents weird quirks where the implementation might skip the ushort max index even in non-indexed draws.
2022-10-20Cycles: replace (tm) with unicode equivalent in UIXavier Hallade
It was already done for (TM) which is present in some GPU names on Windows. Names on Linux ended up using (tm) instead: https://gitlab.freedesktop.org/mesa/mesa/-/commit/91fec2657a0dcf9bc2e6d080d84a114ecde44382
2022-10-20Realtime Compositor: Implement Tone Map nodeOmar Emara
This patch implements the tone map node for the realtime compositor based on the two papers: Reinhard, Erik, et al. "Photographic tone reproduction for digital images." Proceedings of the 29th annual conference on Computer graphics and interactive techniques. 2002. Reinhard, Erik, and Kate Devlin. "Dynamic range reduction inspired by photoreceptor physiology." IEEE transactions on visualization and computer graphics 11.1 (2005): 13-24. The original implementation should be revisited later due to apparent incompatibilities with the reference papers, which makes the operation less useful. Differential Revision: https://developer.blender.org/D16306 Reviewed By: Clement Foucault
2022-10-20Cleanup: compiler warningsBrecht Van Lommel
2022-10-20Build: mark remaining CVEs reported by cve_check as mitigated or ignoredBrecht Van Lommel
After the last library update cve_check still reported some false positives. One GMP issues was mitigated with a patch in the library update. The others are ignored, with a description explaining why they do not affect Blender. Ref D16269, T101403
2022-10-20Build: update various libraries for 3.4, fixing bugs and security issuesRay Molenkamp
THis is bumping dependencies to fix known CVEs, with the exception of OpenImageIO which also includes bugfixes for performance and correctness with some image types. zlib 1.2.12 -> 1.2.13 freetype 2.11.1 -> 2.12.1 openimageio 2.3.13.0 -> 2.3.20.0 python 3.10.2 -> 3.10.8 openjpeg 2.4.0 -> 2.5.0 ffmpeg 5.0 -> 5.1.2 sndfile 1.0.28 -> 1.1.0 xml2 2.9.10 -> 2.10.3 expat 2.4.4 -> 2.4.9 openssl 1.1.1g/i -> 1.1.1q sqlite 3.31.1 -> 3.37.2 Notable changes: * AOM: the hack we had in place to make it not detect pthreads on windows no longer worked with a more recent cmake version. Disabled pthreads with a diff on Windows. * Python: embedded copy of zlib 2.1.12 swapped out for our 2.1.13 copy with some folder manipulation on Windows. * Freetype: was harbouring a copy of zlib 2.1.12 as well, so that had to end. * FFmpeg: patch used to fix D11796 is no longer needed. Add new patch to deal with simple_idct.asm generating an object file with no sections in it, backport from upstream commit. * TinyXML: still being downloaded but no longer used by OpenColorIO, removed. * GMP applied upstream patch to fix CVE-2021-43618, as there is no release yet. * SQLite and Libsndfile patches no longer needed. Includes contributes by Ray Molenkamp, Campbell Barton and Brecht Van Lommel. Ref T101403 Differential Revision: https://developer.blender.org/D16269
2022-10-20Build: update OpenPGL hash for re-tagged version without symbols conflictsRay Molenkamp
Ref D16269, T101403
2022-10-20Build: update OSL to version 1.12.6.2Ray Molenkamp
Required changes to make OSL pick up the new oslnoise library. Ref D16269, T101403
2022-10-20Fix missing free in 8a43bfd8fd8d08438c5cc58befdf3e661aa17297Campbell Barton