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-07-09Fix resource leaks setting custom cursors in WaylandCampbell Barton
- Memory from the prior cursor was never un-mapped. - posix_fallocate failure left a file handle open..
2022-07-08Curves: use consistent default radius for Cycles, Eevee, Set Curve Radius nodeBrecht Van Lommel
To avoid Cycles not showing any hair by default, and to avoid very slow render due to many overlaps with the previous 1 meter default in the node. Fixes T97584, T99319 Differential Revision: https://developer.blender.org/D15405
2022-07-08Cycles: enable oneAPI in Linux release buildsXavier Hallade
with a very high min-driver version requirement, placeholder until JIT CentOS runtime compilation issue gets fixed in a defined version. min-driver version check can be worked around by setting CYCLES_ONEAPI_ALL_DEVICES environment variable.
2022-07-08GHOST/Wayland: add logging for listener handlersCampbell Barton
Add logging to all Wayland listener callbacks as it can be difficult to detect the cause of problems. Using break-points often isn't practical for debugging interactive windowing / compositor issues Logging needs to be enabled on the command line, e.g: blender --log "ghost.wl.*" --log-level 2 --log-show-basename
2022-07-08GHOST: use ELEM/ARRAY_SIZE/UNPACK macros to avoid repetitionCampbell Barton
Also use UNLIKELY macro for checks for very unlikely scenarios.
2022-07-08GHOST: add GHOST_utildefinesCampbell Barton
Add macros from BLI_utildefines, mainly to avoid that avoid repetition (ELEM, UNPACK*, CLAMP* & ARRAY_SIZE). Also add macros LIKELY/UNLIKELY as there are quiet a lot of checks for unlikely situations for GHOST/Wayland (not having a keyboard, or mouse for e.g.).
2022-07-07GHOST: initialize grab axis for windowsCampbell Barton
While this didn't cause any user visible bugs, ASAN would report an error when passing it as an argument.
2022-07-07Cleanup: use arguments for internal wayland cursor grabbingCampbell Barton
Pass in arguments for internal grab logic instead of accessing some values from the window and other values as arguments. While more verbose it's simpler to reason about.
2022-07-06Cycles oneAPI: Remove direct dependency on Level-ZeroXavier Hallade
We used it only to access device id for explicitly allowing Arc GPUs. It made the backend require ze_loader.dll which could be problematic if we end up using direct linking. I've replaced filtering based on PCI device id by using other HW properties instead (EUs, threads per EU), that are now available through Level-Zero.
2022-07-06Cleanup: fix comments in oneAPI kernel.cppXavier Hallade
2022-07-06Cycles: Improve an occupancy for Intel GPUsNikita Sirgienko
Initially oneAPI implementation have waited after each memory operation, even if there was no need for this. Now, the implementation will wait only if it is really necessary - it have improved performance noticeble for some scenes and a bit for the rest of them.
2022-07-06GHOST/Wayland: support dynamic loading libraries for WaylandCampbell Barton
Add intern/wayland_dynload which is used when WITH_GHOST_WAYLAND_DYNLOAD is enabled (off by default). When enabled, systems without Wayland installed will fall back to X11. This allows Blender to dynamically load: - libwayland-client - libwayland-cursor - libwayland-egl - libdecor-0 (when WITH_GHOST_WAYLAND_LIBDECOR is enabled).
2022-07-06Cleanup: declare local variables staticCampbell Barton
2022-07-06Cleanup: spelling in commentsCampbell Barton
2022-07-01Fix crash with window decorations (libdecor) in WaylandCampbell Barton
Surfaces from window decorations were passed into GHOST's listeners since libdecor & GHOST share a connection. This error introduced by recent changes that assumed surfaces passed to GHOST's handler functions were owned by GHOST. Tag GHOST surfaces & outputs to ensure GHOST only attempts to access data it created.
2022-07-01Cleanup: rename internal cursor grabbing functionCampbell Barton
This function was named as if it was part of GHOST's API but was in fact an internal utility.
2022-07-01Cycles: fix support for multiple Intel GPUsXavier Hallade
Identical Intel GPUs ended up with the same id. Added PCI BDF to the id to make it unique.
2022-07-01Cleanup: add missing license headers in Cycles oneAPI implementationXavier Hallade
2022-07-01GHOST/Wayland: map additional cursors from GHOST_TStandardCursorCampbell Barton
2022-07-01Fix un-grab cursor positioning failing for WaylandCampbell Barton
UI elements such as sliders & color picker set an un-grab location which GHOST/Wayland didn't implement.
2022-07-01Fix crash when creating an off-screen context fails in WaylandCampbell Barton
This is very unlikely to happen but better not to crash.
2022-07-01Fix accessing windows from surfaces in WaylandCampbell Barton
This is a follow up to [0], where it was assumed flushing the output would run the appropriate leave handlers & clear the keyboard & pointer surfaces. While that's mostly true it's not guaranteed. Resolve this by clearing the pointers when closing windows and add NULL checks before accessing the windows. Tested with Gnome, KDE & River compositors. [0]: 58ccd8338e53423e223085094af2d35c76285c30
2022-07-01Cleanup: group public utility functions for Wayland System/WindowCampbell Barton
GHOST methods were mixed in with Wayland specific utility functions, making it difficult to navigate or know where to add new functions.
2022-06-30Fix broken Cycles performance benchmark after recent logging changesBrecht Van Lommel
Ensure full render report is printed with default verbosity.
2022-06-30Cleanup: fix compiler warningsBrecht Van Lommel
"override" should be used either for all methods or none, otherwise Clang gives warnings. Adding it for all platforms is a bigger change.
2022-06-30Cycles: add more math functions for float4Andrii Symkin
Add more math functions for float4 to make them on par with float3 ones. It makes it possible to change the types of float3 variables to float4 without additional work. Differential Revision: https://developer.blender.org/D15318
2022-06-30GHOST/Wayland: clarify window access from surfacesCampbell Barton
It wasn't obvious when direct access or lookups should be used. Add class methods for direct lookups as well as searching from known windows when windows are accessed outside Wayland's handlers. This avoids having to check if the window has been removed in some cases.
2022-06-30GHOST/Wayland: use flush instead of roundtripCampbell Barton
Using flush avoids handling new events which complicates logic here.
2022-06-30Fix key/dnd event handling accessing freed memory under WaylandCampbell Barton
Closing a window could leave danging pointers which Wayland callbacks are responsible for clearing. However, any calls Blender makes that don't originate from Wayland's handlers don't have that assurance (key-repeat in this case). Resolve by using a window lookup on each key-repeat event.
2022-06-30Fix accessing cursor position for GHOST/WaylandCampbell Barton
GHOST_GetCursorPosition wasn't working properly under Wayland because the last focused window didn't necessarily match the window used to call wm_cursor_position_get(..). Now the window passed into wm_cursor_position_get is passed to GHOST so that window is used to access cursor coordinates.
2022-06-30GHOST: get/set cursor position now uses client instead of screen coordsCampbell Barton
Use client (window) relative coordinates for cursor position access, this only moves the conversion from window-manager into GHOST, (no functional changes). This is needed for fix a bug in GHOST/Wayland which doesn't support accessing absolute cursor coordinates & the window is needed to properly access the cursor coordinates. As it happens every caller to GHOST_GetCursorPosition was already making the values window-relative, so there is little benefit in attempting to workaround the problem on the Wayland side. If needed the screen-space versions of functions can be exposed again.
2022-06-30Fix memory leak with off-screen buffers under WaylandCampbell Barton
Each off-screen buffer created a surface and EGL window which was only freed when Blender exited. Resolve by freeing the associated data when disposing the off-screen context.
2022-06-30Cleanup: declare GHOST/Wayland methods constCampbell Barton
Needed when called by functions that are const too.
2022-06-30Cleanup: formatCampbell Barton
2022-06-30Cleanup: spelling in commentsCampbell Barton
2022-06-29Cycles: Add support for rendering on Intel GPUs using oneAPIXavier Hallade
This patch adds a new Cycles device with similar functionality to the existing GPU devices. Kernel compilation and runtime interaction happen via oneAPI DPC++ compiler and SYCL API. This implementation is primarly focusing on Intel® Arc™ GPUs and other future Intel GPUs. The first supported drivers are 101.1660 on Windows and 22.10.22597 on Linux. The necessary tools for compilation are: - A SYCL compiler such as oneAPI DPC++ compiler or https://github.com/intel/llvm - Intel® oneAPI Level Zero which is used for low level device queries: https://github.com/oneapi-src/level-zero - To optionally generate prebuilt graphics binaries: Intel® Graphics Compiler All are included in Linux precompiled libraries on svn: https://svn.blender.org/svnroot/bf-blender/trunk/lib The same goes for Windows precompiled binaries but for the graphics compiler, available as "Intel® Graphics Offline Compiler for OpenCL™ Code" from https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html, for which path can be set as OCLOC_INSTALL_DIR. Being based on the open SYCL standard, this implementation could also be extended to run on other compatible non-Intel hardware in the future. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D15254 Co-authored-by: Nikita Sirgienko <nikita.sirgienko@intel.com> Co-authored-by: Stefan Werner <stefan.werner@intel.com>
2022-06-29GHOST/Wayland: quiet warning with empty title with libdecorCampbell Barton
Set the title before showing the window.
2022-06-29GHOST/Wayland: support older output manager (for Weston support)Campbell Barton
Support zxdg_output_manager_v1 v2, as weston only supports this. Even though it's a reference implementation it can be useful for testing.
2022-06-29Mantaflow: disable call to MANTA::terminateMantaflowCampbell Barton
Effectively revert [0] as it ran when freeing individual modifiers, causing a crash on exit in one of the cycles_volume_cpu tests. [0]: 6777c420dbb92523ca9c2acd1fa1f8abce98f88d
2022-06-29Mantaflow: call MANTA::terminateMantaflow on exitCampbell Barton
terminateMantaflow was never called, this leak is more of a technicality since it's only called on exit. Also make Py_Initialize/Py_Finalize optional in Pd:setup/finalize as it caused Blender to crash, finalizing Python twice. Add a patch to extern/mantaflow to keep track of changes in Blender from up-stream.
2022-06-29Cleanup: spelling in commentsCampbell Barton
2022-06-28Fix Cycles assert with mix weights outside of 0..1 rangeBrecht Van Lommel
This could result in wrong skipping of SVM nodes in the graph. Now make the logic consistent with the clamping in the OSL implementation and constant folding. Thanks to Christophe Hery for finding the problem and providing the fix.
2022-06-28Cycles: enable Vega GPU/APU supportSayak Biswas
Enables Vega and Vega II GPUs as well as Vega APU, using changes in HIP code to support 64-bit waves and a new HIP SDK version. Tested with Radeon WX9100, Radeon VII GPUs and Ryzen 7 PRO 5850U with Radeon Graphics APU. Ref T96740, T91571 Differential Revision: https://developer.blender.org/D15242
2022-06-28Cleanup: replace magic number with define for scan-code/key-code offsetCampbell Barton
2022-06-28GHOST/Wayland: avoid creating a keyboard-state each key press/releaseCampbell Barton
Instead, create keyboard two states when the keyboard layout is set (one with & one without num-lock pressed). This avoids key-press lookups having to check if num-lock exists and setting the keyboard state for key press & release events. No functional changes.
2022-06-28Fix T96170: keys mis-mapped with NeoQwertz layout under WaylandCampbell Barton
Accessing the symbols for keys with no modifiers & num-lock enabled has unintended consequences for some keyboard layouts that use this to switch layers. Resolve by restricting num-locked lookups to keys typically toggled with num-lock (key-pad home, page up/down ... etc).
2022-06-28Cleanup: group wayland event codes in their own doxy sectionCampbell Barton
Also don't pass typedef'd ints as references.
2022-06-28Fix T99202: AccentGrave key doesn't work with WaylandCampbell Barton
Implement scan-code fallback when the scan-code used for AccentGrave on US keyboards doesn't map to a key known to GHOST. Without this, shortcuts that use AccentGrave are inaccessible and the key does nothing. This matches functionality from X11, see [0]. [0]: f3427cbc981e5ad530d1a73ab4ecbf6b64751774
2022-06-28GHOST: only use GHOST_PRINT when WITH_GHOST_DEBUG is enabledCampbell Barton
Revert part of [0] so only assert behavior is changed. [0]: 9b5dda3b07496bda28970dfd23e4951a76d0f8ed
2022-06-27Fix broken build on macOS after recent changesBrecht Van Lommel