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/intern
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-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-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-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-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-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-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-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-20Cleanup: compiler warningsBrecht Van Lommel
2022-10-20Fix missing free in 8a43bfd8fd8d08438c5cc58befdf3e661aa17297Campbell Barton
2022-10-20GHOST/Wayland: refactor copy/paste buffer storageCampbell Barton
- Improve reporting when reading a file descriptor into a buffer fails, also check for failure to allocate memory. - Store buffers with size in a simple struct. - Use shared utility functions for simple buffer operations.
2022-10-20GHOST/Wayland: primary clipboard supportCampbell Barton
Match X11's primary clipboard support (typically used for MMB to paste the previous selection).
2022-10-20GHOST/Wayland: skip redundant strlen() sending the clipboardCampbell Barton
2022-10-20Cleanup: correct prefix for internal wayland utility functionCampbell Barton
2022-10-20Cleanup: formatCampbell Barton
2022-10-20GHOST/Wayland: correct assert from recent commitCampbell Barton
Error in [0], only clear the stored clipboard data source pointer if it matches the data being cleared. [0]: 09e3ea49dbbec15a8fcc79cc609f6dc8c13bc91f
2022-10-20Fix T94136: Cycles: No Hair Shadows with Transparent BSDFLukas Stockner
2022-10-20Fix T93382: Blender still generates subsurface render passesLukas Stockner
In T93382, the problem was that the Blender-side rendering code was still generating the subsurface passes because the old render pass flags were set, even though Cycles doesn't generate them anymore. After a closer look, it turns out that the entire hardcoded pass creation code can be removed. We already have an Engine API function to query the list of render passes from the engine, so we might as well just call that and create the returned passes. Turns out that Eevee already did this anyways. On the Cycles side, it allows to deduplicate a lot of `BlenderSync::sync_render_passes`. Before, passes were defined in engine.py and in sync.cpp. Now, all passes that engine.py returns are created automatically, so sync.cpp only needs to handle a few special cases. I'm not really concerned about affecting external renderer addons, since they already needed to handle the old "builtin passes" in their Engine API implementation anyways to make them show up in the compositor. So, unless they missed that for like 10 releases, they should not notice any difference. Differential Revision: https://developer.blender.org/D16295
2022-10-20GHOST/Wayland: update code comment for Gnome-Shell workaroundCampbell Barton
Note that the bug has been fixed upstream.
2022-10-20GHOST/Wayland: clear data source pointer when canceledCampbell Barton
The external cancel callback destroyed the data source but didn't clear the pointer. While this didn't cause problems, avoid keeping references freed pointers.
2022-10-20Cleanup: use 'wl_' prefix for data_sourceCampbell Barton
Without this the local and wayland native types could be mixed up.
2022-10-19Fix macOS build error after recent changes to enable Intel GPUsBrecht Van Lommel
This will only work once we upgrade to the macOS 13 SDK. Ref D16253
2022-10-19Cycles: Allow Intel GPUs under MetalMorteza Mostajab
Known Issues: - Command buffer failures when using binary archives (binary archives is disabled for Intel GPUs as a workaround) - Wrong texture sampler being applied (to be addressed in the future) Ref T92212 Reviewed By: brecht Maniphest Tasks: T92212 Differential Revision: https://developer.blender.org/D16253
2022-10-19Cycles: oneAPI: fix clean Windows ninja buildsXavier Hallade
Previously, a first build using ninja would throw "ninja: error: 'intern/cycles/kernel/cycles_kernel_oneapi.lib', needed by 'bin/blender.exe', missing and no known rule to make it".
2022-10-19Cycles: oneAPI: preload kernels only when not using prebuilt binariesXavier Hallade
sycl::build triggers compilation even if prebuilt binaries are available, we'll have to find a better way in this case.
2022-10-19Cycles: oneAPI: include sycl/sycl.hpp instead of CL/sycl.hppXavier Hallade
Since SYCL 2020 API, sycl/sycl.hpp is the way.
2022-10-19Cycles: oneAPI: fix check_usm for debug buildsXavier Hallade
2022-10-19Cycles: oneAPI: fix MSVC_TOOLS_DIR for some build environmentsXavier Hallade
MSVC Tools version doesn't match MSVC Redist version on some systems and it's not populated when using Ninja outside of Visual Studio shell, trying another way.
2022-10-19Blender: Add command line argument to switch gpu backends.Jeroen Bakker
Add command line argument to switch gpu backend. Add `--gpu-backend` option to override the gpu backend selected by Blender. Values for this option that will be available in releases for now are: * opengl: Force blender to select OpenGL backend. During development and depending on compile options additional values can exist: * metal: Force Blender to select Metal backend. When this option isn't provided the internal logic for GPU backend selection will be used. Note that this is at the time of writing the same as always selecting the opengl backend. Reviewed By: fclem, brecht, MichaelPW Differential Revision: https://developer.blender.org/D16297
2022-10-19GHOST/Wayland: invert touch-pad scrollingCampbell Barton
This should use the system preference for scroll direction eventually, for now default to a down-motion scrolling down (matching GTK & QT).
2022-10-19GHOST/Wayland: only prioritize discrete scroll for mouse wheel eventsCampbell Barton
Smooth & discrete scrolling may both be set, instead of always prioritizing discrete, use discrete scrolling when the source is a mouse wheel, otherwise prioritize smooth scrolling.
2022-10-19Cleanup: CMake include pathsCampbell Barton
Remove redundant separators & redundant references to parent paths.
2022-10-19Fix error in 30d9a6245f892492188318e92b85083ef8b301f2Campbell Barton
X/Y for mouse wheel events was unintentionally flipped.
2022-10-19GHOST/Wayland: support high resolution 2D track-pad scroll eventsCampbell Barton
These events are interpreted as MOUSEPAN by Blender. Tested with a Wacom Intuos5. This isn't full touch support which is needed to support gestures such as Swipe, Rotate .. etc.
2022-10-19GHOST/Wayland: add listener for touch events (no touch support yet)Campbell Barton
Currently unused as my tablet isn't generating touch events. This may be useful for development as touch events are logged.
2022-10-19Cleanup: remove NDOF_BUTTON_NONE from the range of usable buttonsCampbell Barton
This is used to represent unknown state, so there is no need to be able to store it's pressed state.
2022-10-19Cleanup: use '_' suffix for private members for NDOF ManagerCampbell Barton
2022-10-19GHOST/NDOF: various minor changes to NDOF managerCampbell Barton
- Use logging for NDOF device output (this removes printing on startup buy default). - Use `ndof_` prefix for button maps. - Use full sentences.
2022-10-19Cleanup: remove the last button from NDOF button enum valuesCampbell Barton
This is only used for comparison, no need to make it part of the enum.
2022-10-19Fix T101866: Incorrect buttons for space-mouse enterpriseCampbell Barton
Use key from spacenavd's wiki. Also add keys: ENTER, DELETE, TAB, SPACE & Views 1-3.
2022-10-18Fix T101529: Blender crashes when using Path GuidingSebastian Herholz
2022-10-18NDOF: use logging for GHOST so users can enable event loggingCampbell Barton
Previously this was only available as a build options, making it difficult to get user feedback when NDOF events didn't work as expected. Now logging can be enabled with: blender --log "ghost.ndof.*" --log-level 2 --log-show-basename
2022-10-17Fix T101850: Cycles DDS oversaturation when alpha is in useAras Pranckevicius
DDS files coming through OIIO needed a similar treatment as TGA in T99565; just for DDS OIIO just never set the "unassociated alpha" attribute. Fixes T101850. Reviewed By: Brecht Van Lommel Differential Revision: https://developer.blender.org/D16270
2022-10-17Fix T99565: Cycles reading TGA files with alpha different than BlenderBrecht Van Lommel
Thanks to Lukas for tracking down the cause in OIIO.
2022-10-17Cleanup: correct doc-string & remove unused defineCampbell Barton
Minor edits to recent commits.
2022-10-17Cleanup: renaming GHOST/Wayland functions & private membersCampbell Barton
- Use `_` suffix for private members. - Use `wl_` prefix for Wayland native types to help distinguish them from local types. - Replace single character names `d` & `w` with `display` `window`. - Rename `selection` to `clipboard`. Using the primary selection as a clipboard is a separate and as yet unsupported feature.