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-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
2022-06-27Cleanup: rename misleading/inconsistent GHOST typesCampbell Barton
Remove mask suffix from: - GHOST_TButtonMask - GHOST_TModifierKeyMask .. neither are used as bit-masks. Remove 'Grab' from: - GHOST_kGrabAxisNone - GHOST_kGrabAxisY .. matching the existing GHOST_TAxisFlag & GHOST_kAxisX.
2022-06-27Cleanup: spelling in commentsCampbell Barton
2022-06-27GHOST/Wayland: Add a build time option for DBUS, disable by defaultCampbell Barton
Add WITH_GHOST_WAYLAND_DBUS option, so Blender can be built without DBUS support. Currently it's only used to access the cursor theme. Without this the "default" cursors are used instead. Disabling this since it adds an additional dependency for a minor gain in functionality, with the benefit of removing a library requirement. There is also a problem where Blender hangs on startup for ~5 seconds when DBUS isn't running. Eventually it would be good to be able to avoid this problem without a build option.
2022-06-27GHOST/Wayland: set the minimum window size with libdecorCampbell Barton
2022-06-27GHOST/Wayland: split pointer/tablet state into separate structsCampbell Barton
For Wayland the mouse & tablet are separate devices with their own location, button-pressed state and focused window. Split internal state storage so they're separate. Also track mouse button press/release state without needing focused windows.
2022-06-24Cycles: stop Metal rendering on command buffer errorBrecht Van Lommel
If there is an error we should stop rendering, instead of finishing with a wrong render result or reporting a wrong benchmark time. Ref T96519 Differential Revision: https://developer.blender.org/D15287
2022-06-24GHOST/Wayland: support client-side window decorationsChristian Rauch
This implements client-side window decorations for moving and resizing windows and HiDPI support. This functionality depends on the external project 'libdecor' that is currently a build option: WITH_GHOST_WAYLAND_LIBDECOR. Reviewed by: brecht, campbellbarton Ref D7989
2022-06-24Fix T98427: Crash adding quick effects smoke from PythonCampbell Barton
Manta flow used the `__main__` namespace which it was executed in, this caused a bug when calculating fluid from Python, which clears it's `__main__` name-space after execution. This caused Manta-flows name space to be cleared too. Resolve this by creating a separate name-space for manta-flow. Reviewed by: SonnyCampbell_Unity Ref D15269
2022-06-24GHOST/Wayland: support for cursor warp with hidden/wrapped grab enabledCampbell Barton
As grab already uses it's own virtual coordinates, cursor warping can be used when grab is enabled. Currently nothing depends on this however it could be useful in future.
2022-06-24Cleanup: add C++ compatible WL_ARRAY_FOR_EACH macroCampbell Barton
2022-06-24Cleanup: remove unused cursor struct members in GHOST/WaylandCampbell Barton
2022-06-24Cleanup: use const arguments for GHOST/WaylandCampbell Barton
2022-06-24GHOST: use GHOST_ASSERT for non-release buildsCampbell Barton
GHOST_ASSERT now matches BLI_assert, which is only ignored for release builds. Otherwise it prints or asserts when WITH_ASSERT_ABORT is enabled.
2022-06-24Docs: correct GHOST_TimerProcPtr time doc-stringCampbell Barton
2022-06-24Fix outdated pressure/tilt for tablet motions events under GHOST/WaylandCampbell Barton
Accumulate tablet data before generating an event using the 'frame' callback.
2022-06-23Cleanup: make formatBrecht Van Lommel
2022-06-23Cyles: switch primitive.h inline hints to forceinlineXavier Hallade
This change helps decrease Intel GPU binaries compile time by 5-10 minutes without impacting other backends. Reviewed By: sergey, brecht Differential Revision: http://developer.blender.org/D15273
2022-06-23Cycles: unify math functions namesAndrii Symkin
This patch unifies the names of math functions for different data types and uses overloading instead. The goal is to make it possible to swap out all the float3 variables containing RGB data with something else, with as few as possible changes to the code. It's a requirement for future spectral rendering patches. Differential Revision: https://developer.blender.org/D15276
2022-06-23Cycles: Add diagnostic tracing of MTLLibrary compilation timeMichael Jones
Reviewed By: sergey Differential Revision: https://developer.blender.org/D15268
2022-06-23Fix key repeat continuing after a window loses focus for GHOST/WaylandCampbell Barton
Also remove NULL checks in keyboard enter/leave handlers, as they didn't serve any purpose.
2022-06-23Fix key repeat behavior for GHOST/WaylandCampbell Barton
- Respect modifier keys (Shift press/release didn't change the case). - Changing modifiers resets the timer instead of canceling key-repeat. - Releasing keys (besides the key being repeated) resets the timer instead of canceling key repeat. This makes key-repeat behave the same way as GTK & WIN32 text input.
2022-06-23Cycles: Tidy of KernelData patchup codeMichael Jones
Reviewed By: sergey Differential Revision: https://developer.blender.org/D15267
2022-06-23Cycles: Distinguish Apple GPUs by core countMichael Jones
This patch suffixes Apple GPU device names with `(GPU - # cores)` so that variant GPUs with the same chipset can be distinguished. Currently benchmark scores for these M1 family GPUs are being incorrectly merged: - M1: 7 or 8 cores - M1 Pro: 14 or 16 cores - M1 Max: 24 or 32 cores - M1 Ultra: 48 or 64 cores Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D15257
2022-06-22Fix T99078: Crash closing the file selector in WaylandCampbell Barton
Ensure wayland handlers run that clear the window immediately after the window has been removed so dangling pointers to the window aren't left set.
2022-06-21Cleanup: use full names for generated wayland headers, use own directoryCampbell Barton
Instead of providing our own names for wayland headers, use the filename component as the basis for the header names. This matches most reference documentation for Wayland. Also generate client protocols into a sub-directory `libwayland`, instead of generating headers into the ghost directory. Making the include path more specific & makes it easier to differentiate generated headers from other build files.
2022-06-21Fix error in GHOST_ASSERT under WaylandCampbell Barton
2022-06-20Cleanup: renaming and consistency for kernel dataBrecht Van Lommel
* Rename "texture" to "data array". This has not used textures for a long time, there are just global memory arrays now. (On old CUDA GPUs there was a cache for textures but not global memory, so we used to put all data in textures.) * For CUDA and HIP, put globals in KernelParams struct like other devices. * Drop __ prefix for data array names, no possibility for naming conflict now that these are in a struct.
2022-06-20Cleanup: avoid duplicate lookups when setting the cursorCampbell Barton
Also use `const char *` for cursor names as there isn't an advantage in using `std::string`.
2022-06-20Fix setting the custom cursor for Hi-DPI displays in WaylandCampbell Barton
Changing the cursor would intermittently close Blender's window (without crashing). This happened because the size of a cursor must be the a multiple of the scale, for themed cursor this is always true but with custom cursors it's not. Separate theme scale from custom cursor scale to avoid this bug. In the future we can support Hi-DPI custom cursors, for now they're scale is always set to 1.
2022-06-20GHOST/Wayland: refactor cursor handling & fix errors hiding the cursorCampbell Barton
- Support showing & hiding the cursor without setting the buffer, needed to switch between software and hardware cursor. - Track the state of the software/hardware cursor. This resolves glitches switching between cursors sometimes hiding the cursor.
2022-06-18GHOST/Wayland: implement getAllDisplayDimensionsCampbell Barton
2022-06-18Fix initial window size being scaled down for Hi-DPI displays in WaylandCampbell Barton
getMainDisplayDimensions return values were scaled by the UI-scale, instead of returning pixel values. Also correct an error accessing the rotated monitor size, which happened to be harmless as the value isn't used at the moment.
2022-06-18GHOST/Wayland: support displaying custom software cursorsCampbell Barton
Add a method to access the custom cursor from GHOST which is used for drawing a software cursor. This means the knife tools cursor now work as expected. Although non-custom cursors are still not supported.
2022-06-18Fix crash in wayland when closing a windowCampbell Barton
The focus_pointer only pointer was only cleared when the window existed, which caused a dangling focus_pointer when closing a window.