648417bfff
Logic for the recently included fractional scaling support [0] was difficult to reason about as it depended on two different callbacks one that listened to a preferred scale, another that tracked which physical displays the window overlapped. Checking if fractional scaling was in used depended on the order the callbacks ran - which is undefined. In practice - mixing non-fractional and fractional displays would flicker when the window was moved between monitors. Resolve this problem with the following changes: - When the fractional-scale manager is supported, only respond to the scale from it's preferred_scale callback. - When no fractional-scale manager is available, set the scale based on the scale of overlapping outputs. - Add support for postponing the buffers commit call to prevent flickering when changing the windows scale. Other changes: - Use a lock before setting the pending frame state from wp_fractional_scale_handle_preferred_scale. - Ensure pending actions that themselves trigger pending actions run in the time gwl_window_pending_actions_handle is called. - Rename GWL_Window::scale -> GWL_WindowFrame::buffer_scale. [0]: cde99075e87032d99d986182e98d9c367b22d417 |
||
---|---|---|
.gitea | ||
.github | ||
build_files | ||
doc | ||
extern | ||
intern | ||
locale | ||
release | ||
scripts | ||
source | ||
tests | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitignore | ||
CMakeLists.txt | ||
COPYING | ||
GNUmakefile | ||
make.bat | ||
pyproject.toml | ||
README.md |
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.