-
-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync blender master #4002
Sync blender master #4002
Commits on Dec 8, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 63432f0 - Browse repository at this point
Copy the full SHA 63432f0View commit details -
Fix #115933: Assert with invalid time-stamp on X11 with XIM input
Regression in [0] caused XIM generated key events to assert. [0]: efef709
Configuration menu - View commit details
-
Copy full SHA for eb7d5d0 - Browse repository at this point
Copy the full SHA eb7d5d0View commit details -
Vulkan: Add Debug Name To Descriptor Sets
When debugging the descriptor sets are unnamed. This PR sets the active shader name. This helps when debugging so we don't need to track down the shader it is complaining about. ``` the descriptor (VkDescriptorSet 0x66da6f0000001c58[workbench_prepass_mesh_opaque_studio_texture_no_clip_1022] binding 7, index 0) is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. ``` This message direct directly to the shader including what part is needed to be checked. No need to add break points and that sort of things. Pull Request: https://projects.blender.org/blender/blender/pulls/115944
Configuration menu - View commit details
-
Copy full SHA for f355575 - Browse repository at this point
Copy the full SHA f355575View commit details -
CMake: Fix Compiling Shader Builder on macOS
Due to changes in the build environment shader_builder wasn't able to compile on macOs. This patch reverts several recent changes to CMake files. * dbb2844 * 94817f6 * 1b6cd93 The idea is that in the near future shader_builder will run on the buildbot as part of any regular build to ensure that changes to the CMake doesn't break shader_builder and we only detect it after a few days. Pull Request: https://projects.blender.org/blender/blender/pulls/115929
Configuration menu - View commit details
-
Copy full SHA for 65e58fe - Browse repository at this point
Copy the full SHA 65e58feView commit details -
Fix #115909: Walk Navigation Up and Down is interrupted by WASD
Caused by 93f6001 , 1b3cfcc . Direction flag names was changed but the max value passed to `ENUM_OPERATORS` wasn't pointing to actual max value. Pull Request: https://projects.blender.org/blender/blender/pulls/115926
Configuration menu - View commit details
-
Copy full SHA for b9cbc5b - Browse repository at this point
Copy the full SHA b9cbc5bView commit details -
GPv3: Clean loose points operator
Similar to the legacy operator. Removes strokes with a number of points less than or equal to the "limit" property. Resolves #113599. Pull Request: https://projects.blender.org/blender/blender/pulls/115923
Configuration menu - View commit details
-
Copy full SHA for 2e5d4a8 - Browse repository at this point
Copy the full SHA 2e5d4a8View commit details -
Fix #40009: Win32 Use Message Time for Events not Current Time
When creating Blender events in Win32 message processing we are using the current time as timestamp. This isn't set until we collect them, so this might be inaccurate at times of high load. This PR changes to using the time the message was delivered. Pull Request: https://projects.blender.org/blender/blender/pulls/115872
Configuration menu - View commit details
-
Copy full SHA for 0137e54 - Browse repository at this point
Copy the full SHA 0137e54View commit details -
Cleanup: Sculpt explicitly retrieve mesh face visibility attribute
Rather than relying on the pointers in `SculptSession` which should be removed eventually, to avoid redundant state storage.
Configuration menu - View commit details
-
Copy full SHA for 83810e2 - Browse repository at this point
Copy the full SHA 83810e2View commit details -
Cleanup: Move majority of sculpt paint module to C++ namespaces
And improve naming to remove the inconsistent "SCULPT" prefix in many cases-- removing redundancy between the namespace name and the function name. The specific names might need to evolve a bit still, but it's much less annoying not having to type or read the namespace all the time. I left out some areas with unclear design.
Configuration menu - View commit details
-
Copy full SHA for e5814ab - Browse repository at this point
Copy the full SHA e5814abView commit details -
Configuration menu - View commit details
-
Copy full SHA for 956d00e - Browse repository at this point
Copy the full SHA 956d00eView commit details -
Cleanup: Use consistent "mesh" variable name (replace "me")
"mesh" reads much better than "me" since "me" is a different word. There's no reason to avoid using two more characters here. Replacing all of these at once is better than encountering it repeatedly and doing the same change bit by bit.
Configuration menu - View commit details
-
Copy full SHA for 854cdd1 - Browse repository at this point
Copy the full SHA 854cdd1View commit details -
Configuration menu - View commit details
-
Copy full SHA for e0d95b9 - Browse repository at this point
Copy the full SHA e0d95b9View commit details -
Fix #100784: Truncate Text with Ellipsis inside Number Inputs
When a property name is shown inside of a numerical input, truncate with ellipsis if it cannot fit. Pull Request: https://projects.blender.org/blender/blender/pulls/115958
Configuration menu - View commit details
-
Copy full SHA for 639272e - Browse repository at this point
Copy the full SHA 639272eView commit details -
Fix #114838: Force Full Redraw When Duplicating Areas
Duplicating into a new window needs to tag the new area for full redraw. Otherwise Outliner will try a partial redraw while the tree is not yet built. Pull Request: https://projects.blender.org/blender/blender/pulls/115959
Configuration menu - View commit details
-
Copy full SHA for f3c1111 - Browse repository at this point
Copy the full SHA f3c1111View commit details
Commits on Dec 9, 2023
-
Fix #115938: BLF Handle Negative Left-Side Bearings
Our glyph bounds clipping test will fail for the first character of a string if that character has negative left-side bearing. This is not usual but can happen in some designs for lowercase "j" to have the tail hook under the preceding character. Pull Request: https://projects.blender.org/blender/blender/pulls/115965
Configuration menu - View commit details
-
Copy full SHA for 76bf43f - Browse repository at this point
Copy the full SHA 76bf43fView commit details -
Cleanup: Remove excessive use of optimized IndexMask functions
These shouldn't be used when the lambda is non-trivial, it likely generates too much code and bloats the binary size for no observable performance gain in these cases.
Configuration menu - View commit details
-
Copy full SHA for 7bfb7af - Browse repository at this point
Copy the full SHA 7bfb7afView commit details -
Cleanup: Use simpler positions name in curves selection functions
These functions don't have to know about things like geometry deformations. As far as they're concerned, they just use the positions from the argument span instead of the positions stored in the curves.
Configuration menu - View commit details
-
Copy full SHA for 85012cc - Browse repository at this point
Copy the full SHA 85012ccView commit details -
IO: Add initial support for File Handlers registration
Adds initial support for File Handler registration with the python API for design task #68935. File Handlers will allow developers to associate additional UI behavior and capability to operators traditionally used only within the file browser. The initial commit should have no user visible changes, but will serve as the foundation for providing file drag & drop capabilities to operators that can manage files (#111242). See the PR for an example of python usage. See design task #68935 for remaining work to be explored in the future. Pull Request: https://projects.blender.org/blender/blender/pulls/112466
Guillermo Venegas authored and Jesse Yurkovich committedDec 9, 2023 Configuration menu - View commit details
-
Copy full SHA for 7c5fa8b - Browse repository at this point
Copy the full SHA 7c5fa8bView commit details -
BMesh: Optimize copying attributes from many elements at once
Fixes #115776 Create a minimal structure that contains the instructions necessary to copy from one custom data format to another. This structure is similar to the one used in dfacaf4. It should have been used in 9175d9b, which instead introduced quadratic performance relative to the number of layers when copying every element. In this commit, copying the entire mesh and adding new custom data are explicitly changed to use the new map to speed up copying many elements at a time. The non-map attribute copy functions are also changed to check for when the source and result BMeshes are the same. In that case it's much faster to call the "same format" function from 9175d9b. For numbers, the timings are arbitrarily influenced by how many layers I add in my testing. With 50 or so layers, a 10x difference is easily observable though. Pull Request: https://projects.blender.org/blender/blender/pulls/115824
Configuration menu - View commit details
-
Copy full SHA for 0b1049b - Browse repository at this point
Copy the full SHA 0b1049bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c85561 - Browse repository at this point
Copy the full SHA 2c85561View commit details -
BMesh: optimize attribute copying by reusing BMCustomDataCopyMap
Continuation of fix for #115776. Removes attribute copy functions that calculate the map inline, this is error prone as it's easy to call these functions from a loop which may result in poor performance.
Configuration menu - View commit details
-
Copy full SHA for 15cff1f - Browse repository at this point
Copy the full SHA 15cff1fView commit details -
Fix (unreported): Set Color Tag broken when inside meta strip
When editing inside a meta strip, running the "Set Color Tag" operator would set the color tag of the top-most meta strip, rather than that of the intended strip. Pull Request: https://projects.blender.org/blender/blender/pulls/115950
ok_what authored and Richard Antalik committedDec 9, 2023 Configuration menu - View commit details
-
Copy full SHA for 5e07e9f - Browse repository at this point
Copy the full SHA 5e07e9fView commit details -
Fix #114951: Waveform drawn incorrectly in strips with hold offset
Caused by not applying the offset to start frame calculation. Also fixes reverse offsetting of waveform when start offset was negative - content start frame was used instead of handle frame.
Configuration menu - View commit details
-
Copy full SHA for b5ce6b6 - Browse repository at this point
Copy the full SHA b5ce6b6View commit details -
Cleanup: VSE waveform drawing variables
Code had variables `frame_start` and `start_frame` for different purpose confusing. Variables were sorted and math simplified. Fixes broken waveform to pixel grid alignment.
Configuration menu - View commit details
-
Copy full SHA for 79dff81 - Browse repository at this point
Copy the full SHA 79dff81View commit details
Commits on Dec 10, 2023
-
Configuration menu - View commit details
-
Copy full SHA for dd9eeca - Browse repository at this point
Copy the full SHA dd9eecaView commit details -
GHOST/Wayland: correct fix for #106040
The previous fix for #106040 worked with GNOME, it relied on matching GNOME's internal limits - which isn't fool proof and could fail in the future. Resolve by adding a `read` wrapper that reads the requested number of bytes (when available).
Configuration menu - View commit details
-
Copy full SHA for 3069d59 - Browse repository at this point
Copy the full SHA 3069d59View commit details -
Cleanup: make read_file_as_buffer into a generic utility function
Also use a (void *) data argument, matching `read(..)`.
Configuration menu - View commit details
-
Copy full SHA for 5d5fd5d - Browse repository at this point
Copy the full SHA 5d5fd5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for af4160d - Browse repository at this point
Copy the full SHA af4160dView commit details -
Cleanup: minor changes to read_file_as_buffer logic
Assign the `chunk_first` once instead of checking & assigning each iteration.
Configuration menu - View commit details
-
Copy full SHA for 3c7b753 - Browse repository at this point
Copy the full SHA 3c7b753View commit details -
Cleanup: replace WM_cursor_set with WM_cursor_wait for image copy/paste
WM_cursor_wait is more common and doesn't assume the current cursor is WM_CURSOR_DEFAULT.
Configuration menu - View commit details
-
Copy full SHA for 7ee8de9 - Browse repository at this point
Copy the full SHA 7ee8de9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6afad4b - Browse repository at this point
Copy the full SHA 6afad4bView commit details -
PyAPI: micro optimization accessing keyword arguments for bpy functions
Check the string length before comparing with memcmp, gives 20-30% speedup for the lookup function.
Configuration menu - View commit details
-
Copy full SHA for 49c6e4e - Browse repository at this point
Copy the full SHA 49c6e4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for ded3692 - Browse repository at this point
Copy the full SHA ded3692View commit details -
Configuration menu - View commit details
-
Copy full SHA for 21525b4 - Browse repository at this point
Copy the full SHA 21525b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 21fbd9d - Browse repository at this point
Copy the full SHA 21fbd9dView commit details -
Configuration menu - View commit details
-
Copy full SHA for ff47eb3 - Browse repository at this point
Copy the full SHA ff47eb3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 52a7555 - Browse repository at this point
Copy the full SHA 52a7555View commit details -
Configuration menu - View commit details
-
Copy full SHA for 64c4b34 - Browse repository at this point
Copy the full SHA 64c4b34View commit details -
Cleanup: avoid pass-by-value on vector argument for ContextVK
Also use const arguments & values.
Configuration menu - View commit details
-
Copy full SHA for cbf1eac - Browse repository at this point
Copy the full SHA cbf1eacView commit details -
Configuration menu - View commit details
-
Copy full SHA for f02ebe7 - Browse repository at this point
Copy the full SHA f02ebe7View commit details -
Fix "project_source_info" use with clang
Simple string replacement failed when one compiler was the exact prefix of another (`clang` & `clang++` in this case), resolve by performing string replacement on the list items.
Configuration menu - View commit details
-
Copy full SHA for 0e64c95 - Browse repository at this point
Copy the full SHA 0e64c95View commit details -
Configuration menu - View commit details
-
Copy full SHA for ffc84da - Browse repository at this point
Copy the full SHA ffc84daView commit details -
Cleanup: pass BMesh by pointer instead of reference
The version of BM_elem_attrs_copy that took a map used a reference the version without a map didn't, which is fairly confusing. Pass by pointer now unless this is part of a wider refactor to move to references everywhere.
Configuration menu - View commit details
-
Copy full SHA for 22d65ba - Browse repository at this point
Copy the full SHA 22d65baView commit details -
Fix #115937: Context override fails to restore screen
The recent addition screen override [0] failed to account for the override windows screen being overridden when restoring the context. When overriding the window and screen, it's incorrect to use the original contexts screen when restoring the screen of the overriding window. This window's screen may not be in the original context or the overriding screen. Resolve the bug by storing this separately and use it when restoring the context. [0]: 6af92e1
Configuration menu - View commit details
-
Copy full SHA for 12c4d22 - Browse repository at this point
Copy the full SHA 12c4d22View commit details -
Cycles: update OSL to work with version 1.13.5
This keeps compatibility with older stable versions, but not older unreleased versions in the 1.13.x series. Ref #113157 Pull Request: https://projects.blender.org/blender/blender/pulls/116004
Configuration menu - View commit details
-
Copy full SHA for 798a0b3 - Browse repository at this point
Copy the full SHA 798a0b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for bbb7e7a - Browse repository at this point
Copy the full SHA bbb7e7aView commit details -
Refactor: replace NanoVDB SampleFromVoxels by own code
This makes the GPU tricubic implementation more efficient. The dense grid code implemented this in terms of trilinear lookups that are hardware accelerated, but for NanoVDB this just causes unnecessary voxel reads. Instead match the CPU code. Pull Request: https://projects.blender.org/blender/blender/pulls/115992
Configuration menu - View commit details
-
Copy full SHA for 8ba474d - Browse repository at this point
Copy the full SHA 8ba474dView commit details -
Refactor: replace NanoVDB kernel side implementation by own code
The NanoVDB headers are not compatible with Metal due to missing address space qualifiers. We currently have a big patch for NanoVDB header files, which is difficult to update for OpenVDB 11. Instead extract a few hundred lines of code from NanoVDB to do just what we need. Pull Request: https://projects.blender.org/blender/blender/pulls/115992
Configuration menu - View commit details
-
Copy full SHA for 6cdb431 - Browse repository at this point
Copy the full SHA 6cdb431View commit details -
Fix #115288: EEVEE-Next: Horizon Scan light leaking
This was caused by the normal test being wrong and not taken into account at all.
Clément Foucault committedDec 10, 2023 Configuration menu - View commit details
-
Copy full SHA for 91fd6b1 - Browse repository at this point
Copy the full SHA 91fd6b1View commit details -
EEVEE-Next: Refactor Raytracing pipeline
This de-duplicate some passes in the raytracing pipeline and make it more ready for adoption of arbitrary closure evaluation. This last part means the removal of some per closure type options. The put in common the tile classification step that is now done only once for all 3 closure type. Also add some speedup to the tile compaction phase that is now only twice faster. The horizon-scan setup was also de-duplicated and run only if needed, which can save up to 0.5ms is complex scenes. However, this moves the max-roughness and and resolution scaling to a common parameter. This is to be able to support arbitrary closure evaluation where multiple closure with conflicting parameters could be evaluated in one tracing pass. Pull Request: https://projects.blender.org/blender/blender/pulls/116009
Clément Foucault authored and Clément Foucault committedDec 10, 2023 Configuration menu - View commit details
-
Copy full SHA for ae70d25 - Browse repository at this point
Copy the full SHA ae70d25View commit details -
Fix #115979: Object bounds display type doubled size
The "size" of a bounding box that used to be calculated by `BKE_boundbox_calc_size_aabb` was actually the dimensions divided by two.
Configuration menu - View commit details
-
Copy full SHA for 4eee57f - Browse repository at this point
Copy the full SHA 4eee57fView commit details -
Configuration menu - View commit details
-
Copy full SHA for edb7656 - Browse repository at this point
Copy the full SHA edb7656View commit details -
Metal: Add support for attachment-less framebuffer
Authored by Apple: Michael Parkin-White Pull Request: https://projects.blender.org/blender/blender/pulls/115296
Jason Fielder authored and Clément Foucault committedDec 10, 2023 Configuration menu - View commit details
-
Copy full SHA for 6ebe196 - Browse repository at this point
Copy the full SHA 6ebe196View commit details -
UI: fix and improve a few messages
- "Frame Step" -> "Number of frames to skip forward while baking each frame": expand description which was just copying the prop name. - "b-bone" -> "B-Bone": title case. - "Volumes Lighting" -> "Volume Lighting": typo. - "Volumes Shadows" -> "Volume Shadows": typo. - "Insert Blank Keyframe (All Layer)" -> "(All Layers)": typo. - "the an" -> "an", typo. - "Inverse" -> "Invert": use verb instead of noun for an action. - "Desination" -> "Destination": typo. - "Hides all other F-Curves other than the ones being framed": remove extra "other". - "Remove Bone from Bone collections" -> "Collection", singular because the operator is only applied to the active collection. Also title case on "Collection". - "Change Stroke material with selected material" -> "Assign the active material slot to the selected strokes": rephrase by reusing the message from the non-Grease Pencil materials. - "VisAction", "VisArea" -> "Visibility Action", "Visibility Area": expand abbreviation. This is not exposed in the UI right now but will show up in the API docs. - "Stop Mode Right / Global Down" -> "Stop Move" (typo). - "... for node input %s": remove extra space. - "Move along their normal" -> "Move shadows along their normal": rephrase unclear sentence. - "Stat Vis" -> "Mesh Analysis": stands for "Statistical visualization"? Unclear and not shown anywhere. Reuse the label specified in the UI code instead. - " Output data...": remove leading space. - "Attribute domain for the selection and group id inputs": title case on "Selection" and "Group ID" as that is how they appear in the UI. - "Ior" -> "IOR": uppercase acronym, for consistency. Pull Request: https://projects.blender.org/blender/blender/pulls/115964
Configuration menu - View commit details
-
Copy full SHA for 6d70e9b - Browse repository at this point
Copy the full SHA 6d70e9bView commit details -
Fix: Typo in recent commit to BMesh copy function
Mistake in 0b1049b used the vertex map for edges. Thanks to Philipp for pointing this out.
Configuration menu - View commit details
-
Copy full SHA for fb5d03b - Browse repository at this point
Copy the full SHA fb5d03bView commit details
Commits on Dec 11, 2023
-
This PR introduced some filters to improve the workflow when using shader_builder. Shader builder is used to validate shader compilation during buildtime and can be enabled using `WITH_GPU_BUILDTIME_SHADER_BUILDER`. During backend development shader builder is also handy as you can pin-point it to the shader/backend you're focusing on. Without filters you would insert temporary code to break on a specific shader. * `--gpu-backend` can be used to only check a specific backend. possible values are `vulkan`, `metal` or `opengl`. When argument isn't passed, all backends will be validated. * `--gpu-shader-filter` can be used to only check a subset or indivisual shader. The filter is a name starts with filter. Use `--gpu-shader-filter eevee` to validate all eevee shaders Pull Request: https://projects.blender.org/blender/blender/pulls/115888
Configuration menu - View commit details
-
Copy full SHA for 1b99987 - Browse repository at this point
Copy the full SHA 1b99987View commit details -
Cleanup: rename bArmature.collections -> bArmature.collections_legacy
And leave a TODO to remove it entirely in Blender 5.0. Pull Request: https://projects.blender.org/blender/blender/pulls/115931
Configuration menu - View commit details
-
Copy full SHA for 089383a - Browse repository at this point
Copy the full SHA 089383aView commit details -
Fix: update collada export code to use the new bone collections array
I missed this in the previous commit, which broke building Blender.
Configuration menu - View commit details
-
Copy full SHA for 274dc81 - Browse repository at this point
Copy the full SHA 274dc81View commit details -
Compositor: Use full precision inputs for GPU compositor
Store render pass cache using full precision since some passes will only make sense in full precision, like Cryptomatte and Z Depth.
Configuration menu - View commit details
-
Copy full SHA for eabe386 - Browse repository at this point
Copy the full SHA eabe386View commit details -
I18N: Enable Belarusian language in UI translations.
Bastien Montagne committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 5179e1e - Browse repository at this point
Copy the full SHA 5179e1eView commit details -
I18N: Updated UI translations from git/weblate (f26db8403b919d).
Bastien Montagne committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 750bc5c - Browse repository at this point
Copy the full SHA 750bc5cView commit details -
Fix: Assert When Using Shader Builder
Depending on the compiler shader builder could assert due to an uninitialized attribute. This PR initializes the attribute. Pull Request: https://projects.blender.org/blender/blender/pulls/116034
Configuration menu - View commit details
-
Copy full SHA for 01eade9 - Browse repository at this point
Copy the full SHA 01eade9View commit details -
Cleanup: Move opensubdiv C-API headers to C++
All the relevant code is C++ now, so we don't need to complicate things with the trip through C anymore. We will still need some wrappers, since opensubdiv is an optional dependency though. The goal is to make it simpler to remove the unnecessary/costly abstraction levels between Blender mesh data and the opensubdiv code.
Configuration menu - View commit details
-
Copy full SHA for 8157f33 - Browse repository at this point
Copy the full SHA 8157f33View commit details -
Falk David committed
Dec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for aa40e9b - Browse repository at this point
Copy the full SHA aa40e9bView commit details -
Build: remove Cycles build options to disable RTTI
This was required for OSL, which used to be compiled entirely without RTTI for LLVM. However OSL now only compiles a private part of its code without RTTI, so this no longer necessary. Pull Request: https://projects.blender.org/blender/blender/pulls/116035
Configuration menu - View commit details
-
Copy full SHA for f9d69da - Browse repository at this point
Copy the full SHA f9d69daView commit details -
Configuration menu - View commit details
-
Copy full SHA for cf1505d - Browse repository at this point
Copy the full SHA cf1505dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 25e74f0 - Browse repository at this point
Copy the full SHA 25e74f0View commit details -
Cleanup: EEVEE-Next: Add pipeline defines
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 809365d - Browse repository at this point
Copy the full SHA 809365dView commit details -
EEVEE-Next: More work into supporting horizon scan in AO node
This is only part of making inverted scan work. There are still issues with background not being considered outside objects.
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 4ed9b4f - Browse repository at this point
Copy the full SHA 4ed9b4fView commit details -
EEVEE-Next: Make AO node respect the normal input
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for bac94fe - Browse repository at this point
Copy the full SHA bac94feView commit details -
Vulkan: Generate Correct GLSL After Changing Workarounds
During normal execution it isn't possible to switch workarounds. However when running test cases we want to check if shaders and other tests work when work arounds are enabled. Currently shader patches are cached globally. This PR moves the cached shader patch to the device level which is rebuild every time a device needs to be reinitialized. For OpenGL this is also an issue, but harder to solve as the concept device doesn't exist there. Pull Request: https://projects.blender.org/blender/blender/pulls/116042
Configuration menu - View commit details
-
Copy full SHA for fa2f9ef - Browse repository at this point
Copy the full SHA fa2f9efView commit details -
memset is not guaranteed to clear padding bytes, which breaks the use of memcmp for comparison.
Configuration menu - View commit details
-
Copy full SHA for b484018 - Browse repository at this point
Copy the full SHA b484018View commit details -
EEVEE-Next: Make Hi-Z buffer swap on set_source
This fixes a case where the source was set but the internal pointers for binding were not updated. This also tag for update internally. Cleanup and remove the redundant tagging. This also use the planar depth buffer as layer view.
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for a32b4ec - Browse repository at this point
Copy the full SHA a32b4ecView commit details -
Fix: EEVEE-Next: Crash when using Planar Probe
This was caused by missing cryptomatte and depth buffer input for shadow tagging.
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 85f9758 - Browse repository at this point
Copy the full SHA 85f9758View commit details -
Fix: EEVEE-Next: Planar Probe rendering broken
Was caused by several small mistakes.
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 3df81b0 - Browse repository at this point
Copy the full SHA 3df81b0View commit details -
Fix: EEVEE-Next: Broken HiZ for planar probe
This was caused by missing resources.
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 5fa44c0 - Browse repository at this point
Copy the full SHA 5fa44c0View commit details -
Fix: EEVEE-Next: Undefined behavior with only diffuse material
Diffuse materials still needs the feedback buffer for correct horizon scan.
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 4c14557 - Browse repository at this point
Copy the full SHA 4c14557View commit details -
Realtime Compositor: Cache bokeh kernel image
This patch creates a static cached resource from bokeh kernel images, for better performance and reusability, since it will be used by the Defocus node as well.
Configuration menu - View commit details
-
Copy full SHA for bcea221 - Browse repository at this point
Copy the full SHA bcea221View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6bc3445 - Browse repository at this point
Copy the full SHA 6bc3445View commit details -
Fix #115994: Crashes with edit mode tools using custom data correction
Caused by 15cff1f reversing source and result arguments.
Configuration menu - View commit details
-
Copy full SHA for eefe19a - Browse repository at this point
Copy the full SHA eefe19aView commit details -
Fix: EEVEE-Next: Broken Shadow usage tagging
Broken after recent changes. Caused by 85f9758
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 3313e99 - Browse repository at this point
Copy the full SHA 3313e99View commit details -
Curves: Support for edit mode draw tool
Adds new curves support to "Draw Curve" operator. This is a direct copy and replace of the old code to the new editors directly, with a change to create the new data structure instead of the old one. There is no attempt at code deduplication, since that would complicate removing the old curve type when it comes time. To replace the "2D curve" option a new operator property is added for projecting to the Z=0 plane. Pull Request: https://projects.blender.org/blender/blender/pulls/115864
Configuration menu - View commit details
-
Copy full SHA for feae0b4 - Browse repository at this point
Copy the full SHA feae0b4View commit details -
Fixes motion vectors for static geometry. Regression from beee7db.
Configuration menu - View commit details
-
Copy full SHA for 73a5826 - Browse repository at this point
Copy the full SHA 73a5826View commit details -
Fix: EEVEE-Next: Missing indirect light in ShaderToRGBA
Silly mistake. The lighting was not added to the right variable.
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 8ab23ea - Browse repository at this point
Copy the full SHA 8ab23eaView commit details -
EEVEE-Next: Support ShaderToRGBA on Dithered materials
This adds a new hybrid mode where the light and lightprobe textures are bound to the gbuffer pass and used by shaders that use ShaderToRGBA. The counterpart is that these shaders have less texture slots available but still two more than the Blended materials. These materials will correctly write to the AOVs and render passes. This is not too invasive in terms of implementation. The only quirk was that we needed another fragment shader to simplify the dependencies on the resources. But if we ever get pre-processor support in our include / require system this could be cleaned up.
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for fe2a7f4 - Browse repository at this point
Copy the full SHA fe2a7f4View commit details -
Fix #115086: Retimed hard split sound strip does not seek correctly
Content cut off by `anim_startofs` is as if it does not exist for sequencer. But Audaspace seeking relies on having animation buffer initialized for whole sequence. Initialize pitch of cut content to 1.
Configuration menu - View commit details
-
Copy full SHA for 4e10aa6 - Browse repository at this point
Copy the full SHA 4e10aa6View commit details -
Configuration menu - View commit details
-
Copy full SHA for d8497e4 - Browse repository at this point
Copy the full SHA d8497e4View commit details -
GPv3: Avoid creating cyclic attribute when unnecessary in duplicate o…
…perator None of the final curves will be cyclic if none of the original curves were cyclic.
Configuration menu - View commit details
-
Copy full SHA for 99f6f13 - Browse repository at this point
Copy the full SHA 99f6f13View commit details -
Configuration menu - View commit details
-
Copy full SHA for a416677 - Browse repository at this point
Copy the full SHA a416677View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6dad7af - Browse repository at this point
Copy the full SHA 6dad7afView commit details -
GPv3: Specialize duplicate function for curve selection domain
The logic can be much simpler when curves are selected rather than points, because then we just copy all of the points in each curve. Like some other operators, implement both cases.
Configuration menu - View commit details
-
Copy full SHA for 7dc6a6b - Browse repository at this point
Copy the full SHA 7dc6a6bView commit details -
Curves: Add edit mode duplicate operator
Reuse the grease pencil implementation added in: - fb275bc - 5799a26568819ce27e8c12df96b7ffba84cc00f9
Configuration menu - View commit details
-
Copy full SHA for 9af176b - Browse repository at this point
Copy the full SHA 9af176bView commit details -
Configuration menu - View commit details
-
Copy full SHA for dcf9d74 - Browse repository at this point
Copy the full SHA dcf9d74View commit details -
Configuration menu - View commit details
-
Copy full SHA for c02784b - Browse repository at this point
Copy the full SHA c02784bView commit details -
Cleanup: Use C++ Vector in transform translate
Germano Cavalcante committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 1bcf393 - Browse repository at this point
Copy the full SHA 1bcf393View commit details -
Fix #116058: 'Align Rotation to Target' does not consider object orie…
…ntation Similar to #49494, but here we need to consider orientation instead of position.
Germano Cavalcante committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 3612e0e - Browse repository at this point
Copy the full SHA 3612e0eView commit details -
Fix: EEVEE-Next: Opaque dielectric packing broken
Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for cf4558d - Browse repository at this point
Copy the full SHA cf4558dView commit details -
Metal: Add fallback path for texture atomics V2
This patch adds an alternative path for devices/OSs which do not support native texture atomics in Metal. Support is encapsulated within the backend, ensuring any allocated texture with the USAGE_ATOMIC flag is allocated with a backing buffer, upon which atomic operations happen. The shader generation is also changed for the atomic case, which instructs the backend to insert additional buffer bind-points for the buffer resource. As Metal also only supports buffer-backed textures for textureBuffers or 2D textures, TextureArrays and 3D textures are emulated within a 2D texture, with sample locations being indirected. All usage of atomic textures MUST now utilise the correct atomic texture types in the high level shader and GPUShaderCreateInfo declarations. Authored by Apple: Michael Parkin-White Pull Request: https://projects.blender.org/blender/blender/pulls/115956
Jason Fielder authored and Clément Foucault committedDec 11, 2023 Configuration menu - View commit details
-
Copy full SHA for 9313750 - Browse repository at this point
Copy the full SHA 9313750View commit details -
Cleanup: Improve mesh MLoopTri struct comment
Update code examples to current C++ style. Change formatting slightly to use more columns. Rewrite secions to be more explicit and precise. Avoid cryptic / uncommon code in examples. Finding real edges in particular is never inlined, we just use the function for it.
Configuration menu - View commit details
-
Copy full SHA for 249c8b0 - Browse repository at this point
Copy the full SHA 249c8b0View commit details
Commits on Dec 12, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d93a594 - Browse repository at this point
Copy the full SHA d93a594View commit details -
Configuration menu - View commit details
-
Copy full SHA for 77204be - Browse repository at this point
Copy the full SHA 77204beView commit details -
Configuration menu - View commit details
-
Copy full SHA for dc2d7a4 - Browse repository at this point
Copy the full SHA dc2d7a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e3d1be - Browse repository at this point
Copy the full SHA 6e3d1beView commit details -
Cleanup: rename GHOST event processing arguments
Rename `evt` to `ghost_event` since it's too similar to `event` (used for generated `wmEvent` structs).
Configuration menu - View commit details
-
Copy full SHA for 7f64bf4 - Browse repository at this point
Copy the full SHA 7f64bf4View commit details -
WM: warn about suspicious event time-stamps in debug builds
Report suspicious time-stamps as they could cause bugs which are difficult to troubleshoot. Currently the time-stamps are only used for double-click detection but we may want to use them in the future, so ensure they're valid. Print an error when two events are handled in the last second and the current event has a time-stamp 5 seconds before or after the current time.
Configuration menu - View commit details
-
Copy full SHA for 857714c - Browse repository at this point
Copy the full SHA 857714cView commit details -
Windows: Remove workaround for ARM64/WSL Mesa drivers
This reverts #110582 - the workaround is no longer needed, as MS have updated the version of mesa they ship as part of their compatibility pack, which contains a workaround on that side instead. This means that the supported version of OpenGL based on the host GPU is now correct, bar `GL_ARB_texture_view`. `GL_ARB_texture_view` is faked for ARM64 devices, as the part that is not implemented (channel casting) is not used in blender. This means that ARM64 devices (at least) now report compatibility up to OpenGL 4.6 in the system info export. See: https://gitlab.freedesktop.org/mesa/mesa/-/commit/698344b93c49a9f3a257a0ef4546edf5cd3a9130 Pull Request: https://projects.blender.org/blender/blender/pulls/116052
Configuration menu - View commit details
-
Copy full SHA for 3b2ed40 - Browse repository at this point
Copy the full SHA 3b2ed40View commit details -
Configuration menu - View commit details
-
Copy full SHA for f66ad2d - Browse repository at this point
Copy the full SHA f66ad2dView commit details -
Anim: reorder "View in Graph Editor" buttons in the context menu
In the property context menu, the operator to View in Graph Editor can apply to a single value or all values of a vector property. Currently, these two options are presented in this order (Single, then All), while all other operators (replace, delete, clear, add to keying set, reset, copy to selected) follow the opposite order (All, then Single). This commit inverts this order for consistency's sake. Pull Request: https://projects.blender.org/blender/blender/pulls/115962
Configuration menu - View commit details
-
Copy full SHA for 6428f23 - Browse repository at this point
Copy the full SHA 6428f23View commit details -
Fix: Debug assert in file_handler_test
The debug assert condition was inverted. It is expected that we do not find a `FileHandlerType` with the given `idname` during add. Like Operators being added twice from c code, this will now assert if one is actually found. Python duplicates are handled through `register_class` already. Pull Request: https://projects.blender.org/blender/blender/pulls/116084
Configuration menu - View commit details
-
Copy full SHA for 1db8035 - Browse repository at this point
Copy the full SHA 1db8035View commit details -
Fix #116075: OpenGL Shader Compilation On Selected Platforms
Due to recent changes a cached patch string in GLShader grew out of its bounds. This resulted in incorrect shader generation on selected platforms (Reported was Windows/NVIDIA). The patch string can differ based on the features that the GPU supports. This PR replaces the old C-style string generation with CPP-style string stream, making sure that the allocated memory grows with the size of the string. Pull Request: https://projects.blender.org/blender/blender/pulls/116085
Configuration menu - View commit details
-
Copy full SHA for f926931 - Browse repository at this point
Copy the full SHA f926931View commit details -
Fix #116037: Corner Pin mask retains original alpha
The Corner Pin mask output retains the original alpha of the input image, while it should be a binary mask. This also affects the Plane Deform node.
Configuration menu - View commit details
-
Copy full SHA for a694831 - Browse repository at this point
Copy the full SHA a694831View commit details -
Metal: Enable Shader Validation on Buildbot
This PR enables shader validation testing on buildbot for Metal. OpenGL isn't enabled as OpenGL requires an actual driver and GPU attached to the build bot infrastructure. Also the OpenGL backend caches data (glsl_patch) globally and requires a restart in order to create the correct one. Vulkan isn't enabled as it requires some changes: * For windows it requires to install more recent vulkan software versions as part of the buildbot windows configuration * For Linux it requires to start a GHOST System without any X11/Wayland This currently fails on the buildbot. We should check if we can use `GHOST_SystemHeadless` with `GHOST_ContextVK` Each shaders are compiled twice. Once based on the actual features of the installed GPU/backend. And once with all the work-arounds enabled, simulating a platform close to the minimum requirements of Blender. Pull Request: https://projects.blender.org/blender/blender/pulls/116040
Configuration menu - View commit details
-
Copy full SHA for efc1094 - Browse repository at this point
Copy the full SHA efc1094View commit details -
BLI: destruct non-trivial types after using remove_if
`Vector::remove_if` allows certain elements to be removed based on a predicate. However `std::remove_if` only shifts the elements that will not be deleted to the beginning of the container and then `Vector::remove_if` only updates the pointer to the new last element after using `std::remove_if`. This works well if `Vector` is used with trivial types that don't have a destructor. Having a `Vector<std::unique_ptr>` for example, can generate undefined behavior if the predicate gives `true` to elements that are contiguous at the end, if `Vector::remove_if` only updates the end pointer in these specific cases, these makes these smart pointers useless because they will not be freed by themselves. To prevent that, also destruct the elements being removed. Pull Request: https://projects.blender.org/blender/blender/pulls/115914
Configuration menu - View commit details
-
Copy full SHA for e23b8ee - Browse repository at this point
Copy the full SHA e23b8eeView commit details -
Cleanup: correct & improve MLoopTri struct comment
Own previous cleanup had a grammar error and could be worded better. Co-authored-by: Hans Goudey <hans@blender.org>
Configuration menu - View commit details
-
Copy full SHA for 598a480 - Browse repository at this point
Copy the full SHA 598a480View commit details -
Fix #116024: Face set unhide crash for masked type
This is due to accessing value from empty mask attribute array. Pull Request: https://projects.blender.org/blender/blender/pulls/116028
Configuration menu - View commit details
-
Copy full SHA for f70e9cf - Browse repository at this point
Copy the full SHA f70e9cfView commit details -
Fix #116000: Face set toggle visibility not working correctly
Toggle visibility is hiding active face sets instead of isoloating it. Pull Request: https://projects.blender.org/blender/blender/pulls/116026
Configuration menu - View commit details
-
Copy full SHA for 16705f0 - Browse repository at this point
Copy the full SHA 16705f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d015e98 - Browse repository at this point
Copy the full SHA d015e98View commit details -
Configuration menu - View commit details
-
Copy full SHA for a43f847 - Browse repository at this point
Copy the full SHA a43f847View commit details -
Fix #113728: fireflies in Principled Hair Huang with MIS
The function `has_surface_transparent()` needs to be implemented in order for hair with elliptical cross-sections to work correctly with MIS. Pull Request: https://projects.blender.org/blender/blender/pulls/116088
Weizhen Huang authored and Brecht Van Lommel committedDec 12, 2023 Configuration menu - View commit details
-
Copy full SHA for 858349d - Browse repository at this point
Copy the full SHA 858349dView commit details -
Fix #92621: foreach_get/set doesn't work for enum
There were two issues at play here. The first is that only enum properties with raw array access were supported. The second is that if the item property pointer was found immediately, `rna_raw_access` could fall back to the slower loop without checking if the property was an enum property, which the slower loop did not support. This would cause the code to go through the entire slower loop without doing anything. In the case of `foreach_get` without a compatible buffer, this meant that the temporary, uninitialized array (which was supposed to be set by `rna_raw_access`) would be converted to Python integers, causing garbage values to be retrieved by `foreach_get`, since they were created from uninitialized memory. This patch adds support for enum properties that are not arrays and adds asserts if an enum array property is encountered because they do not exist. Additional unreachable asserts have been added to the default case of each switch block within the slower loop because there are prior checks that the property type is supported, so the switch blocks should never get an unsupported property type. Pull Request: https://projects.blender.org/blender/blender/pulls/115508
Configuration menu - View commit details
-
Copy full SHA for e503536 - Browse repository at this point
Copy the full SHA e503536View commit details -
GPU: Remove the Word OpenGL from Build Scripts
The build scripts are still referring to gpu tests as being opengl. Although they can also use Metal or Vulkan. This PR only replaces the work `opengl` with `gpu` for build options. Special note is that the windows argument `with_opengl_tests` is also replaced with `with_gpu_tests` for consistency. Pull Request: https://projects.blender.org/blender/blender/pulls/116030
Configuration menu - View commit details
-
Copy full SHA for c110045 - Browse repository at this point
Copy the full SHA c110045View commit details -
Refactor: Remove dependencies on Editor code from animrig
No functional changes. This moves the function `update_autoflags_fcurve_direct` from the editors/animation section to blender/animrig. This is in an effort to remove the need for editor code in animrig. Also removes the include of editor code from fcurve.cc This was only used on a single line for a macro. Pull Request: https://projects.blender.org/blender/blender/pulls/116100
Christoph Lendenfeld authored and Christoph Lendenfeld committedDec 12, 2023 Configuration menu - View commit details
-
Copy full SHA for fd3629b - Browse repository at this point
Copy the full SHA fd3629bView commit details -
Cleanup: Use loops instead of PBVH iter macro in sculpt undo
With the goal of finding/using different abstractions that are more aligned with the data structures.
Configuration menu - View commit details
-
Copy full SHA for 36097b7 - Browse repository at this point
Copy the full SHA 36097b7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 36d5443 - Browse repository at this point
Copy the full SHA 36d5443View commit details -
Configuration menu - View commit details
-
Copy full SHA for ba6c07f - Browse repository at this point
Copy the full SHA ba6c07fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 93a3423 - Browse repository at this point
Copy the full SHA 93a3423View commit details -
Cleanup: Remove unnecessary PBVH function
This is only used internally. Externally, it's simpler to fetch the spans instead.
Configuration menu - View commit details
-
Copy full SHA for 0ad6576 - Browse repository at this point
Copy the full SHA 0ad6576View commit details -
Configuration menu - View commit details
-
Copy full SHA for d7b2141 - Browse repository at this point
Copy the full SHA d7b2141View commit details -
Fix #116022: Binary PLY import fails if first data byte is 0x0A or 0x0D
Now instead of trying to potentially handle unlimited amount of newlines (which might be actual data in a binary file), only explicitly handle either LF or CRLF line endings. Fixes #116022. Will add test coverage in a followup commit, for easier backporting of just the fix if needed.
Configuration menu - View commit details
-
Copy full SHA for 460439a - Browse repository at this point
Copy the full SHA 460439aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a0640ce - Browse repository at this point
Copy the full SHA a0640ceView commit details -
Build: Linux: patch ocloc to store binaries per-generation
When storing multiple binaries in a fatbinary, ocloc stores Intel Graphics binaries for specific devices and these don't get found when the device doesn't match fully. Blender compiles one binary per generation rather than per device, to gain space and compile time. We introduce a patch at ocloc level to work around this behavior that otherwise leads to binaries not being found and recompilation being attempted. Pull Request: https://projects.blender.org/blender/blender/pulls/115750
Configuration menu - View commit details
-
Copy full SHA for 9d5164d - Browse repository at this point
Copy the full SHA 9d5164dView commit details -
IO: Add support for multiple drag-n-drop files
There are operators in Blender that allow the user to import multiple files at the same time, however this functionality is only implemented when importing with blender's file browser, drag and drop files only takes first selected file. The patch adds support for drag and drop multiple files. Notes: * The files are filtered according to the extension of the first selected file. * Not all operators that import files support importing multiple files, so they will still import one. * Changes must be made to allow importers to read all file paths. This will be used in upcoming drag & drop import. Pull Request: https://projects.blender.org/blender/blender/pulls/107230
Guillermo Venegas authored and Brecht Van Lommel committedDec 12, 2023 Configuration menu - View commit details
-
Copy full SHA for c00c8b1 - Browse repository at this point
Copy the full SHA c00c8b1View commit details -
Geometry Nodes: Change Instance Rotation node to use rotation socket
See #92967. Since the versioning is idempotent, I just moved it to the latest subversion bump again.
Configuration menu - View commit details
-
Copy full SHA for a6838c8 - Browse repository at this point
Copy the full SHA a6838c8View commit details -
Fix: Mesh draw normals extraction ignores sharp_edge with no sharp_face
See c4446d7 When the "fully flat" state comes from "sharp_edge" and "sharp_face" doesn't exist, we need to check for that for every face when extracting normals. Eventually these loops should be unrolled so we don't have a function call per face. That would remove the cost of this check.
Configuration menu - View commit details
-
Copy full SHA for 5875349 - Browse repository at this point
Copy the full SHA 5875349View commit details -
Configuration menu - View commit details
-
Copy full SHA for 86953df - Browse repository at this point
Copy the full SHA 86953dfView commit details -
Geometry Nodes: Add Active Camera input node
This adds a new "Active Camera" input geometry node, per #105761. The node outputs the the scene's current active camera. It is available from Input > Scene > Active Camera in the geometry nodes Add menu. Typical usage would be to connect this node to an Object Info node to obtain its transform. This works as expected when the camera's transform is animated, and also when there are markers on the timeline that change the active camera. In order to support the aforementioned changes in the active camera, this implementation adds depsgraph relations for all cameras referenced by timeline markers. This eliminates the complexity of updating the depsgraph whenever the scene switches to a different active camera, but of course it comes at the cost of including more objects than strictly necessary in the depsgraph for scenes that switch cameras. Dynamically updating the depsgraph upon camera changes could be a future improvement if there proves to be sufficient need for it. Pull Request: https://projects.blender.org/blender/blender/pulls/113431
Configuration menu - View commit details
-
Copy full SHA for 75f160e - Browse repository at this point
Copy the full SHA 75f160eView commit details -
Depsgraph: avoid unnecessary image updates, for compositor caching
For non-COW datablocks like images, there is no need to update when they just got added to the depsgraph and there is no flag indicating a specific change that was made to them. Avoiding this helps preserve the cached image draw data used by the compositor. Co-authored-by: Sergey Sharybin <sergey@blender.org> Ref #115511
Configuration menu - View commit details
-
Copy full SHA for cd61a14 - Browse repository at this point
Copy the full SHA cd61a14View commit details -
Fix: Out of bounds array access building PBVH for empty BMesh
Use Span and Array to catch this sort of mistake faster.
Configuration menu - View commit details
-
Copy full SHA for 7aee812 - Browse repository at this point
Copy the full SHA 7aee812View commit details -
Fix #115326: Memory leak toggling dyntopo on and off with empty mesh
The custom data layers (the format) wasn't freed if there were no geometry elements. But it's fine to call the custom data free functions with a size of 0.
Configuration menu - View commit details
-
Copy full SHA for a7e8d8c - Browse repository at this point
Copy the full SHA a7e8d8cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b86d656 - Browse repository at this point
Copy the full SHA b86d656View commit details -
EEVEE-Next: Add Light Path node support
Fix #113922. Pull Request: https://projects.blender.org/blender/blender/pulls/116107
Configuration menu - View commit details
-
Copy full SHA for 2246582 - Browse repository at this point
Copy the full SHA 2246582View commit details -
Cleanup: move internal Wayland cursor API's into their own doxy section
Also resolve building when USE_EVENT_BACKGROUND_THREAD is disabled.
Configuration menu - View commit details
-
Copy full SHA for 46a9530 - Browse repository at this point
Copy the full SHA 46a9530View commit details -
Fix #115878: build error with LIBDECOR & WITH_GHOST_WAYLAND_DYNLOAD=OFF
There were two problems here: - libdecor_frame_get_content_* is not available in LIBDECOR v0.1.0. - These functions aren't exposed by <libdecor.h>, they're only exposed by `libdecor-plugin.h` (intended for plug-ins that implement window decorations). Resolve by storing the last applied size from LIBDECOR for reuse.
Configuration menu - View commit details
-
Copy full SHA for 6e0037e - Browse repository at this point
Copy the full SHA 6e0037eView commit details -
Cleanup: Move mesh update tags to DNA struct
This is similar to other update tags and update tags for other geometry types.
Configuration menu - View commit details
-
Copy full SHA for 1d0179a - Browse repository at this point
Copy the full SHA 1d0179aView commit details -
Cleanup: Use C++ attribute API instead of CustomData API
This gives better asserts in debug builds through use of Span, more safety when name convention attributes happen to have different types or domains, and simpler code in some cases. But the main reasoning is to avoid relying on the specifics of CustomData more to allow us to replace it in the future.
Configuration menu - View commit details
-
Copy full SHA for c53e220 - Browse repository at this point
Copy the full SHA c53e220View commit details -
Fix #112293: wrong console line cursor position with multi-byte chars
The ConsoleLine's `cursor` stores the index of the char where the cursor is currently at. This works for ASCII characters, which are all one-byte long, but will be offset when the string contains multi-byte UTF8 sequences. This caused an issue during auto-complete where the matching results would be offset to the right. This commit reuses the same logic as the text editor's `current_character` RNA property, so that on getting and setting, the cursor index is converted from and to UTF-8. Ref: !114121
Configuration menu - View commit details
-
Copy full SHA for 402cec5 - Browse repository at this point
Copy the full SHA 402cec5View commit details
Commits on Dec 13, 2023
-
Fix: EEVEE-Next: Numerical imprecision with emission only volumes
This was caused by the fix to #65771 which biased the extinction. The fix uses an exact method by taking the limit of the ill defined computation and replacing the result by the simplified formula.
Clément Foucault committedDec 13, 2023 Configuration menu - View commit details
-
Copy full SHA for c4d91ad - Browse repository at this point
Copy the full SHA c4d91adView commit details -
Cleanup: EEVEE-Next: Avoid use of float math when needed
Clément Foucault committedDec 13, 2023 Configuration menu - View commit details
-
Copy full SHA for c1130ee - Browse repository at this point
Copy the full SHA c1130eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 79ade78 - Browse repository at this point
Copy the full SHA 79ade78View commit details -
Configuration menu - View commit details
-
Copy full SHA for 768cd9b - Browse repository at this point
Copy the full SHA 768cd9bView commit details -
Tests: ensure BLI_str_utf8_offset_from_index index is logically clamped
Callers to this function were clamping the index which isn't necessary. Update doc-string & tests to reflect this.
Configuration menu - View commit details
-
Copy full SHA for 2d171aa - Browse repository at this point
Copy the full SHA 2d171aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ad2c71 - Browse repository at this point
Copy the full SHA 7ad2c71View commit details -
EEVEE-Next: Add Translucent BSDF support
This adds support for Translucent BSDF. This also fixes a bug to allow correct shadowing. The input normal had to be set back to non-inverted in the node function to allow for correct interpretation of the Normal by Screen Space Reflections. This add the necessary optimization and code deduplication to hybrid deferred and forward pipeline. Pull Request: https://projects.blender.org/blender/blender/pulls/116070
Clément Foucault authored and Clément Foucault committedDec 13, 2023 Configuration menu - View commit details
-
Copy full SHA for ac11ccd - Browse repository at this point
Copy the full SHA ac11ccdView commit details -
Fix: EEVEE-Next: OpenGL errors in probe capture
Was caused by missing / incorrect bindings. Reuse the same gbuffer setup for all deferred layer to avoid this problem later on.
Clément Foucault committedDec 13, 2023 Configuration menu - View commit details
-
Copy full SHA for 7f8763d - Browse repository at this point
Copy the full SHA 7f8763dView commit details -
USD: Apply MaterialBindingAPI to Curves with materials
For Curves having materials, make sure to apply the MaterialBindingAPI to their prims during export. Pull Request: https://projects.blender.org/blender/blender/pulls/116078
Configuration menu - View commit details
-
Copy full SHA for a7ed0e2 - Browse repository at this point
Copy the full SHA a7ed0e2View commit details -
Fix: EEVEE-Next: Broken surfel lighting
This was caused by #113257 which removed the simple ltc evaluation usage. This in turn caused a precision issue for the cases where V == N and surfel lighting was one of them. Adding a special case fixes the issue.
Clément Foucault committedDec 13, 2023 Configuration menu - View commit details
-
Copy full SHA for 4aff321 - Browse repository at this point
Copy the full SHA 4aff321View commit details -
WM: correct error printing for suspicious time-stamps
Future/past were swapped & include the literal uint64 value as it's useful to know the invalid value when debugging.
Configuration menu - View commit details
-
Copy full SHA for c9a810d - Browse repository at this point
Copy the full SHA c9a810dView commit details -
Fix GHOST/Wayland handling of out-of-order time-stamps
From what I can tell time-stamps are supposed to be monotonic however with LIBDECOR & GNOME click events after resizing the window can cause this to happen. Resolve by only considering the value wrapped when the new time-stamps wrapped difference is less than the unwrapped difference. Also skip wrapping when the current offset is closer to the current time than it would be with the offset applied.
Configuration menu - View commit details
-
Copy full SHA for a56d0c7 - Browse repository at this point
Copy the full SHA a56d0c7View commit details -
Realtime Compositor: Add static cached images
The Realtime compositor currently relies on the GPU cache in image IDs. That cache only supports single layer images, so multi-layer images will be acquired without a cache, introducing significant IO bottlenecks for the GPU compositor. This patch ignores the image GPU cache and stores the images in the static cache manager of the compositor. Draw data was introduced to the image ID for proper cache invalidation, like other IDs such as masks. The downside is that the cache will no longer be shared between EEVEE and the compositor. But realistically, images are not typically shared between materials and compositors. This is just a temporary solution until we have proper GPU storage support for image buffers. Pull Request: https://projects.blender.org/blender/blender/pulls/115511
Configuration menu - View commit details
-
Copy full SHA for 356480f - Browse repository at this point
Copy the full SHA 356480fView commit details -
IMB: Read single-layer XYZ channels as a combined image
Currently, the OpenEXR reader can't read single-layer XYZ images as a combined image. Single-view images will only read the X channel, while multi-view images will interpret the Z as a depth image and the Y and Z channels will be treated as float passes. This patch allows the reading of XYZ channels as combined images. For single-view images, we just extend the RGB-like channel names we match to contain XYZ. For multi-view images we only treat the Z channel as a Depth one if no X and Y channels exists, since the Z in this case is part of the XYZ image. Pull Request: https://projects.blender.org/blender/blender/pulls/115290
Configuration menu - View commit details
-
Copy full SHA for 23df139 - Browse repository at this point
Copy the full SHA 23df139View commit details -
Geometry Nodes: add support for blackbody shader node
This adds the existing Blackbody shader node to geometry nodes, with the same functionality. Pull Request: https://projects.blender.org/blender/blender/pulls/114768
Configuration menu - View commit details
-
Copy full SHA for 3f485c8 - Browse repository at this point
Copy the full SHA 3f485c8View commit details -
Fix #115907: Select similar edge direction skips opposite direction
As I dont quite get the logic of "enforcing a positive quadrant" from b38be90 (which broke the previous behavior of 2.79 which was capable of handling reversed edges as well -- there might be ways to make that work though), now use the alternative approach of storing the flipped direction in the kdtree as well. This has a slight performance hit (only noticable at ~500k edges), but I believe correctness beats performance here. Pull Request: https://projects.blender.org/blender/blender/pulls/115951
Configuration menu - View commit details
-
Copy full SHA for 105db1a - Browse repository at this point
Copy the full SHA 105db1aView commit details -
Compositor: Refactor File Output node
This patches refactors the compositor File Output mechanism and implements the file output node for the Realtime Compositor. The refactor was done for the following reasons: 1. The existing file output mechanism relied on a global EXR image resource where the result of each compositor execution for each view was accumulated and stored in the global resource, until the last view is executed, when the EXR is finally saved. Aside from relying on global resources, this can cause effective memory leaks since the compositor can be interrupted before the EXR is written and closed. 2. We need common code to share between all compositors since we now have multiple compositor implementations. 3. We needed to take the opportunity to fix some of the issues with the existing implementation, like lossy compression of data passes, and inability to save single values passes. The refactor first introduced a new structure called the Compositor Render Context. This context stores compositor information related to the render pipeline and is persistent across all compositor executions of all views. Its extended lifetime relative to a single compositor execution lends itself well to store data that is accumulated across views. The context currently has a map of File Output objects. Those objects wrap a Render Result structure and can be used to construct multi-view images which can then be saved after all views are executed using the existing BKE_image_render_write function. Minor adjustments were made to the BKE and RE modules to allow saving using the BKE_image_render_write function. Namely, the function now allows the use of a source image format for saving as well as the ability to not save the render result as a render by introducing two new default arguments. Further, for multi-layer EXR saving, the existent of a single unnamed render layer will omit the layer name from the EXR channel full name, and only the pass, view, and channel ID will remain. Finally, the Render Result to Image Buffer conversion now take he number of channels into account, instead of always assuming color channels. The patch implements the File Output node in the Realtime Compositor using the aforementioned mechanisms, replaces the implementation of the CPU compositor using the same Realtime Compositor implementation, and setup the necessary logic in the render pipeline code. Pull Request: https://projects.blender.org/blender/blender/pulls/113982
Configuration menu - View commit details
-
Copy full SHA for 931c188 - Browse repository at this point
Copy the full SHA 931c188View commit details -
Configuration menu - View commit details
-
Copy full SHA for 123da34 - Browse repository at this point
Copy the full SHA 123da34View commit details -
Configuration menu - View commit details
-
Copy full SHA for 048f70e - Browse repository at this point
Copy the full SHA 048f70eView commit details -
LibOverride: Modify automatic handling of which IDs to override in a …
…hierarchy. The previous behavior, fairly rough, was simply considering all Collections and IDs found as part of the root's hierarchy as to be overridden. The new behavior is based on a specific tag added to some ID usages. Currently, these are only the links from a Collection to its Objects and children Collections, and the link from an Object to its parent. The goal of this huge reduction of the 'automatically overridden' set of data in a hierarchy is to avoid creating liboverrides for 'utils' data, e.g. a collection used as source of data by a GeometryNode generating some parametric geometry (Blender Studio use-case: some form of LOD handling). In general, it means that only Collections and objects part of the collection hierarchy of the root collection are now overridden. This should not change in the typical recommended use-case so far (where there is a clear root collection to the whole overridden hierarchy, and it contains all related collections and objects). But this should allow much less overhead (and viewport pollution, due to the current principle that local (and therefore liboverridden) objects have to be instanciated in a Scene) for more complex setups. Note that the initial idea/change is fairly simple and easy to implement, but it creates some additional complexity in the partial resync code, since now some linked data may not be detected as needing a liboverride anymore when processing a sub-hierarchy, while it would require it when processing the whole hierarchy. This required adding some more processing to the util functions which define which ID should be overridden. It essentially creates a 'reference set' of all reference IDs that should be overridden when the whole hierarchy is considered, and use this as additional input to decide which ID to override when processing a sub-hierarchy for the partial resync. Pull Request: https://projects.blender.org/blender/blender/pulls/115853
Bastien Montagne authored and Gitea committedDec 13, 2023 Configuration menu - View commit details
-
Copy full SHA for fb8bf8b - Browse repository at this point
Copy the full SHA fb8bf8bView commit details -
Cleanup: Move
BKE_blendfile
headers to CPP.Bastien Montagne committedDec 13, 2023 Configuration menu - View commit details
-
Copy full SHA for f01bc93 - Browse repository at this point
Copy the full SHA f01bc93View commit details -
Cleanup: rename dynamic paint specific volume grid
Doing this to avoid name clashes with the more used `VolumeGrid` type.
Configuration menu - View commit details
-
Copy full SHA for 1a4f410 - Browse repository at this point
Copy the full SHA 1a4f410View commit details -
Geometry Nodes: rename ValueOrField to SocketValueVariant
Doing this in preparation for also supporting volume grids in the same type (#115270). At some point we could also actually use an `std::variant` in this type, but that would change behavior without futher changes.
Configuration menu - View commit details
-
Copy full SHA for 3370228 - Browse repository at this point
Copy the full SHA 3370228View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5519a48 - Browse repository at this point
Copy the full SHA 5519a48View commit details -
Fix #116130: Mirrored custom normals broken again
Caused by c53e220 Above commit was working on the `mesh` (not the `result`) -- basically a typo... Pull Request: https://projects.blender.org/blender/blender/pulls/116134
Configuration menu - View commit details
-
Copy full SHA for 65274dc - Browse repository at this point
Copy the full SHA 65274dcView commit details -
Cleanup: Remove unnecessary Mesh C-API functions
Like mentioned in the docstrings, use the C++ API or access methods in C++ code.
Configuration menu - View commit details
-
Copy full SHA for b52a071 - Browse repository at this point
Copy the full SHA b52a071View commit details -
Cleanup: Un-inline mesh data access functions
These shouldn't be called in hot loops at all, and mostly aren't anymore anyway. Definining them outside of a header allows removing the `BKE_customdata.hh` include from `BKE_mesh.hh`.
Configuration menu - View commit details
-
Copy full SHA for 4c1817e - Browse repository at this point
Copy the full SHA 4c1817eView commit details -
Fix #116122: Frame Selected/All operators incorrectly frame view
`BKE_object_minmax` is expected to update the min and max, not just set them.
Configuration menu - View commit details
-
Copy full SHA for 766b0ce - Browse repository at this point
Copy the full SHA 766b0ceView commit details -
Cleanup: Forward declare some classes in mesh headers
Aiming to reduce cases of including headers in headers, when the final definition might be unnecessary.
Configuration menu - View commit details
-
Copy full SHA for 30d9596 - Browse repository at this point
Copy the full SHA 30d9596View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a1009c - Browse repository at this point
Copy the full SHA 6a1009cView commit details -
Configuration menu - View commit details
-
Copy full SHA for e657aa2 - Browse repository at this point
Copy the full SHA e657aa2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96dff1d - Browse repository at this point
Copy the full SHA 96dff1dView commit details -
Fix #116144: Tag update relations for Active Camera node
Missed part of 75f160e Pull Request: https://projects.blender.org/blender/blender/pulls/116152
Configuration menu - View commit details
-
Copy full SHA for 51bb324 - Browse repository at this point
Copy the full SHA 51bb324View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e4c2b2 - Browse repository at this point
Copy the full SHA 7e4c2b2View commit details -
Fix #116025: Uninitialized value when versioning old node trees
Usually we expect new DNA values do be zeroed when we add them. But the conversion to the interface format for 4.0 didn't clear the memory, so behavior was different when updating old files. Fix that by using `calloc` instead of `malloc`.
Configuration menu - View commit details
-
Copy full SHA for 6525256 - Browse repository at this point
Copy the full SHA 6525256View commit details -
Geometry Nodes: use dynamic declaration for switch node
Follow up for 8149678. Significantly reduce boilerplate required for each type in the switch node.Forward compatibility in 4.0 provided by 0ea193b. Co-authored-by: Hans Goudey <hans@blender.org> Pull Request: https://projects.blender.org/blender/blender/pulls/113413
Configuration menu - View commit details
-
Copy full SHA for f7383cf - Browse repository at this point
Copy the full SHA f7383cfView commit details -
glsl sign can return 0. Fixes surfels display when normal.z == 0.
Configuration menu - View commit details
-
Copy full SHA for 6c40adc - Browse repository at this point
Copy the full SHA 6c40adcView commit details -
Fix #115590: UV window menus disappearing
Due to lack of forward compatibility, tool_settings.snap_uv_element could return empty if a 4.0 file is opened in 3.6. This causes a Python error when trying to identify the element's icon. Avoid this python error.
Germano Cavalcante committedDec 13, 2023 Configuration menu - View commit details
-
Copy full SHA for f831803 - Browse repository at this point
Copy the full SHA f831803View commit details -
Fix (unreported) crash when trying to link/append while a linked scen…
…e is active. Link/append code sets the scene pointer to `null` when the active scene is a linked one, to avoid attempt to instantiate linked data (objects or collections) into a linked scene, which is forbidden. However, code was still calling some functions expecting a valid scene pointer, leading to crash. It is unclear when exactly this issue was introduced code wise. From a user perspective, it seems to have been revealed between 3.6 and 4.0 release (bisect points at 00a36cb, which does not seem to be directly related...). In any case, the fix is trivial and safe, so should we do another 4.0 bugfix release, this commit should be backported.
Bastien Montagne committedDec 13, 2023 Configuration menu - View commit details
-
Copy full SHA for b840ba1 - Browse repository at this point
Copy the full SHA b840ba1View commit details -
Fix #115486: Linked scenes disappear after reopening file.
Caused by 133dde4, it is expected behavior now for linked ID in general, see also #105786 and #106321. However, Scenes are a special case here, since they are almost never (and should not be) indirectly linked by other data, and have (almost) never any real user, unless they are active in one of the open main windows. So this commit essentially reverts the new behavior implemented in #106321, for linked scenes only. Should be backported to a potential bugfix release of 4.0.
Bastien Montagne committedDec 13, 2023 Configuration menu - View commit details
-
Copy full SHA for 60a9c8e - Browse repository at this point
Copy the full SHA 60a9c8eView commit details -
Same as 6c40adc Fixes the case where up.z == 0
Configuration menu - View commit details
-
Copy full SHA for 937c4ed - Browse repository at this point
Copy the full SHA 937c4edView commit details -
Fix: EEEVEE-Next: Volume lighting
Fix socket_not_white and socket_not_black logic. (Volume lighting would be disabled if any scatter channel was 0) Remove unnecesary clamps.
Configuration menu - View commit details
-
Copy full SHA for 8e9ce4d - Browse repository at this point
Copy the full SHA 8e9ce4dView commit details -
VSE: implement selection of "linked" retiming keys
This feature improves workflow, where it is necessary to select all retiming keys after one that is selected in order to change speed of only 1 segment. The feature is reusing `sequencer.select` "linked time" feature and mapped Ctrl key. Ref: #112343
Configuration menu - View commit details
-
Copy full SHA for 5092fe6 - Browse repository at this point
Copy the full SHA 5092fe6View commit details -
VSE: Keep exiting retiming when changing speed
Add "Preserve Current Retiming" option to set speed operator. This option is enabled by default. When changing speed of retiming segment, the strip changes length instead of changing next segment speed. Ref: #112343
Configuration menu - View commit details
-
Copy full SHA for f372ac6 - Browse repository at this point
Copy the full SHA f372ac6View commit details -
Cycles: Enable HIP devices for OpenImageDenoise
This enables the HIP backend of OpenImageDenoise on supported devices. Co-authored-by: Werner, Stefan <stefan.werner@intel.com> Pull Request: https://projects.blender.org/blender/blender/pulls/115854
Stefan Werner committedDec 13, 2023 Configuration menu - View commit details
-
Copy full SHA for fd8bb41 - Browse repository at this point
Copy the full SHA fd8bb41View commit details -
Fix eyedropper outside blender on mac
Support for picking colors from outside of the blender window on macOS Pull Request: https://projects.blender.org/blender/blender/pulls/115187
Configuration menu - View commit details
-
Copy full SHA for 639de68 - Browse repository at this point
Copy the full SHA 639de68View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac753fe - Browse repository at this point
Copy the full SHA ac753feView commit details -
Fix #116137: Overflow causing event time false positive warnings
The intent of `ghost_event_proc_timestamp_warning` is to give a console warning when an event time is outside of an expected 5 second window around the last time. However if an event happens within the first 5 seconds we get an overflow in a calculation and we get warnings for normal times within the range. Pull Request: https://projects.blender.org/blender/blender/pulls/116164
Configuration menu - View commit details
-
Copy full SHA for 463dc4d - Browse repository at this point
Copy the full SHA 463dc4dView commit details -
Fix #116140: GPU subdivision ignores completely smooth shading
Extraction of data is done in a different order for GPU subdivision drawing. The necessary normals domain of the mesh has to be retrieved before that.
Configuration menu - View commit details
-
Copy full SHA for cdb2f1e - Browse repository at this point
Copy the full SHA cdb2f1eView commit details
Commits on Dec 14, 2023
-
Fix invalid size of allocated looptris array
Regression in [0], moving to C++ types. [0]: 321c1af
Configuration menu - View commit details
-
Copy full SHA for 173a4df - Browse repository at this point
Copy the full SHA 173a4dfView commit details -
Cleanup: follow convention for naming array lengths
In the context of meshes `totface` reads as if its the number of faces in the mesh. This was infact the number of looptris however as this is converted into a "bodyface" array, use that as the prefix.
Configuration menu - View commit details
-
Copy full SHA for adb74ad - Browse repository at this point
Copy the full SHA adb74adView commit details -
Configuration menu - View commit details
-
Copy full SHA for a4af406 - Browse repository at this point
Copy the full SHA a4af406View commit details -
Configuration menu - View commit details
-
Copy full SHA for d8ffa64 - Browse repository at this point
Copy the full SHA d8ffa64View commit details -
Refactor: move BEZKEYTYPE define to DNA
Recently this was inlined [0] however the purpose of this define is to allow for the method of setting the value to be changed. It also means the hack doesn't have to be explained whenever it's used. Move the BEZKEYTYPE to DNA, update it's doc-string and restore the original comment. [0]: fd3629b
Configuration menu - View commit details
-
Copy full SHA for 931b255 - Browse repository at this point
Copy the full SHA 931b255View commit details -
Cleanup: clarify naming for MLoopTri
The term `looptri` was used ambiguously for both single & arrays. The term `tri` was also used, causing `tri->tri`. Use terms: - `looptris` for an array or when dealing with multiple items. - `looptri` is used when dealing with a single item. - `lt` for a single MLoopTri variables & arguments. This was already a convention but not followed closely.
Configuration menu - View commit details
-
Copy full SHA for 944e048 - Browse repository at this point
Copy the full SHA 944e048View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d9acf8 - Browse repository at this point
Copy the full SHA 0d9acf8View commit details -
Cleanup: replace C expressions with plain text in cloth errors
Also remove the print as BKE_modifier_set_error prints a warning.
Configuration menu - View commit details
-
Copy full SHA for 664b49c - Browse repository at this point
Copy the full SHA 664b49cView commit details -
Configuration menu - View commit details
-
Copy full SHA for bff5ffc - Browse repository at this point
Copy the full SHA bff5ffcView commit details -
Docs: correct code comment for LaplacianSystem::tris
Also use doxygen doc-strings as they more easily allow comments to be expanded on.
Configuration menu - View commit details
-
Copy full SHA for 3241db3 - Browse repository at this point
Copy the full SHA 3241db3View commit details -
Fix #116141: Missing task isolation when storing sculpt undo node
We shouldn't use parallelism internally for each node, but it snuck in with recent changes to use `array_utils::gather`. That's a nice change, but we need a better way to turn off parallelism for that sort of function. Until that's decided on, add a quick fix to fix the deadlock.
Configuration menu - View commit details
-
Copy full SHA for e5cb2b2 - Browse repository at this point
Copy the full SHA e5cb2b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 410e202 - Browse repository at this point
Copy the full SHA 410e202View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f609a4 - Browse repository at this point
Copy the full SHA 4f609a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42e7d9f - Browse repository at this point
Copy the full SHA 42e7d9fView commit details -
GHOST/Wayland: set windows scale on creation when it's known
When the final buffer scale is known, set the window scaling on startup. This avoids scaling immediately after creating the window which flickers. It also resolves an paper-cut with KDE where fractional scaling caused the window to be placed on the screen center, then the size increased pushing the window contents off the bottom right hand portion of the screen.
Configuration menu - View commit details
-
Copy full SHA for 3e635c3 - Browse repository at this point
Copy the full SHA 3e635c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for a1bee22 - Browse repository at this point
Copy the full SHA a1bee22View commit details -
Fix window frames not following blender window with fractional scaling
With fractional scale under GNOME, the window frames didn't match the window contents. This was caused by updates needed to call libdecor_frame_get_xdg_toplevel initializing the LIBDECOR window before the window scale, internal buffer - etc were set. Resolve by accessing moving the window state assignment last.
Configuration menu - View commit details
-
Copy full SHA for ba33dba - Browse repository at this point
Copy the full SHA ba33dbaView commit details -
Fix incorrectly sized maximized windows on Wayland + KDE
Starting blender with --window-maximized wouldn't always size the windows properly, similar to the fix for LIBDECOR, move setting the window state last.
Configuration menu - View commit details
-
Copy full SHA for 39f378d - Browse repository at this point
Copy the full SHA 39f378dView commit details -
Fix crash with change to window initialization order
Recent re-ordering change [0] on Wayland window initialization crashed WLROOTS based compositors, resolve by keeping the updates and only postponing the state change. [0]: 39f378d
Configuration menu - View commit details
-
Copy full SHA for a7bcee8 - Browse repository at this point
Copy the full SHA a7bcee8View commit details -
Fix #116121: Resolve framebuffer resize issue in Metal
Changing size of framebuffer attachments would throw an assertion as framebuffer size was not correctly reset to zero. Zero allows any size to override the current if there are no set attachments. Authored by Apple: Michael Parkin-White Pull Request: https://projects.blender.org/blender/blender/pulls/116162
Configuration menu - View commit details
-
Copy full SHA for 2db12cc - Browse repository at this point
Copy the full SHA 2db12ccView commit details -
Realtime Compositor: Implement Cryptomatte node
This patch implements the Cryptomatte node for the Realtime Compositor. Pull Request: https://projects.blender.org/blender/blender/pulls/115884
Configuration menu - View commit details
-
Copy full SHA for a8e1399 - Browse repository at this point
Copy the full SHA a8e1399View commit details -
Anim: Don't use keying sets when inserting keyframes during autokeying
Prior to this PR, the autokeying system used keying sets to insert keyframes where required. With the functions introduced in #113504 the code can be simplified and made to not rely on keying sets, allowing autokeying to also insert keys by rna path directly. This also removes all the code related to "Insert Needed" from autokeying. The insert key functions deal with that now, all that is needed is to pass in the flag. Part of #113278 Pull Request: https://projects.blender.org/blender/blender/pulls/115522
Christoph Lendenfeld authored and Christoph Lendenfeld committedDec 14, 2023 Configuration menu - View commit details
-
Copy full SHA for 92ad16a - Browse repository at this point
Copy the full SHA 92ad16aView commit details -
Fix #115581: Channel Context Menu mis-labeled
The context menu for the channels is shared between all animation editors. Changed "Dope Sheet Channel" label to "Channel" for consistent channel label in all animation editors. Pull Request: https://projects.blender.org/blender/blender/pulls/115845
Configuration menu - View commit details
-
Copy full SHA for 5c868e9 - Browse repository at this point
Copy the full SHA 5c868e9View commit details -
Refactor: Move ED_id_action_ensure to animrig
No functional changes. Move the function ED_id_action_ensure to animrig, and rename it to `id_action_ensure`. This is in order to reduce references from animrig to the editor code. Pull Request: https://projects.blender.org/blender/blender/pulls/116101
Christoph Lendenfeld authored and Christoph Lendenfeld committedDec 14, 2023 Configuration menu - View commit details
-
Copy full SHA for 9bfd7de - Browse repository at this point
Copy the full SHA 9bfd7deView commit details -
Cleanup: remove libdecor workaround for fractional scale
Since the preferred fractional scale callback runs, remove a workaround that guessed the fractional scale from the output. While it could be kept, it added unnecessary complexity.
Configuration menu - View commit details
-
Copy full SHA for f79da9f - Browse repository at this point
Copy the full SHA f79da9fView commit details -
Build: update Windows ocloc to store binaries per generation
Same as #115750 for Linux, to gain space and compile time. Pull Request: https://projects.blender.org/blender/blender/pulls/116159
Configuration menu - View commit details
-
Copy full SHA for 7df6d9e - Browse repository at this point
Copy the full SHA 7df6d9eView commit details -
GHOST/Wayland: remove workaround when resizing windows with LIBDECOR
This was an attempt to fix a crash resizing windows #107797 (which I can't reproduce), however it didn't fix the issue and meant that a window would sometimes not reach the desired size, the maximized window for e.g. would sometimes remain the un-maximized size.
Configuration menu - View commit details
-
Copy full SHA for 9479b49 - Browse repository at this point
Copy the full SHA 9479b49View commit details -
This was missed during #113504 While the versioning code set the flags correctly, the defaults were not specified correctly. This would leave new users to key only location. Fix it by enabling Location, Rotation, Scale and Custom Properties by default. Pull Request: https://projects.blender.org/blender/blender/pulls/116180
Christoph Lendenfeld authored and Christoph Lendenfeld committedDec 14, 2023 Configuration menu - View commit details
-
Copy full SHA for 1a998c7 - Browse repository at this point
Copy the full SHA 1a998c7View commit details -
This is a replacement for the workflow that uses "Bake Curve" and "Unbake Curve" to quickly generate dense key data. Compared to the existing workflow it has the advantage of allowing the user more control over the key types, and distance between keys, as well as the frame range affected. Operator options * Range: the range that will be baked. Defaults to the scene range or preview range. * Step: Distance between keyframes. Can be used to bake on 2s or even bake to subframes. * Remove Existing Keys: Boolean option that if enabled also removes keys outside the specified baking range * Interpolation Type: Choose a interpolation mode used for new keys e.g. Constant or Bezier * Bake Modifiers: If enabled bakes the effect of the modifier stack to keys and deletes the modifier stack. If false, the code disables the modifiers before baking, so the resulting keys will behave as if the modifiers didn't exist The operator can be found in the Graph Editor under `Channel->Bake Channels` Part of: #111050 Pull Request: https://projects.blender.org/blender/blender/pulls/111263
Christoph Lendenfeld authored and Christoph Lendenfeld committedDec 14, 2023 Configuration menu - View commit details
-
Copy full SHA for 1e931f5 - Browse repository at this point
Copy the full SHA 1e931f5View commit details -
GHOST/X11: Enable desktop sample capability
The functionality was added [0] but the flag wasn't enabled. Ref: !116178 [0]: e5a0d11
Configuration menu - View commit details
-
Copy full SHA for 40a89c0 - Browse repository at this point
Copy the full SHA 40a89c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5197dd2 - Browse repository at this point
Copy the full SHA 5197dd2View commit details -
Cleanup: Remove unused EnumPropertyItem
The channel_bake_remove_options were forgotten to be removed. They were no longer in use after addressing review comments. This fixes the compiler warning.
Christoph Lendenfeld committedDec 14, 2023 Configuration menu - View commit details
-
Copy full SHA for 915358f - Browse repository at this point
Copy the full SHA 915358fView commit details -
Studiolights: Remove Unused Options
Studio lights had gone over several iterations during 2.80. Some unused options where still in the code, but not used. This PR cleans up the studio lights to options that are still in use. Removing: - Spherical Harmonics: It was used by workbench, but was replaced by regular OpenGL lights - Irradiance textures: Was used by an old eevee world light evaluation - Cached data files. Pull Request: https://projects.blender.org/blender/blender/pulls/116186
Configuration menu - View commit details
-
Copy full SHA for a52a362 - Browse repository at this point
Copy the full SHA a52a362View commit details -
IMB_transform is used by Sequencer (and other places) to do image translation/rotation/scale on the CPU. This PR speeds up parts of it, particularly when bilinear filtering is used. No behavior changes are expected. - Don't use virtual function calls inside inner loop. The code was using class hierarchies with virtual calls just to do equivalent of "outside of image? ignore" and "wrap UV coordinates or not?" decisions. Make those use non-virtual function based code. - Simplify pixel sampling functions to only do the work as needed by anything within Blender codebase. For example, bilinear sampling of uchar images always uses 4 RGBA channels and never does "UV wrap" logic. - Bilinear interpolation uchar: completely branchless SIMD code now. - Bilinear interpolation float: 2x floor() calls instead of 4x floor() + 2x ceil(), and final sample blending is done with SIMD. Sequencer at 4K UHD resolution, with two image strips that need a transform, playback framerate: - Windows Ryzen 5950X: 18.7fps -> 26.2fps (IMB_transform time per frame goes 26.3ms -> 11.2ms) - Mac M1 Max: 27.3fps -> 31.4fps At that point the IMB_transform is not the slowest part of where playback takes time (but rather sequencer effect application etc.). Note: the amount of _actual code_ got a bit smaller. But I've added 100 lines of unit tests in BLI_math_interp_test.cc, the bilinear interpolation functions were only tested very indirectly by CPU compositor template image tests. Pull Request: https://projects.blender.org/blender/blender/pulls/115653
Configuration menu - View commit details
-
Copy full SHA for 1e0bf33 - Browse repository at this point
Copy the full SHA 1e0bf33View commit details -
Fix #116017: Mesh edit mode vertex slide allocation ignores alignment
`float4x4` requires 16 byte alignment. The compiler can add padding within the struct, but the allocation needs to know about the alignment too. Fix by using an allocation function that handles this properly.
Configuration menu - View commit details
-
Copy full SHA for 5b05320 - Browse repository at this point
Copy the full SHA 5b05320View commit details -
Configuration menu - View commit details
-
Copy full SHA for 451aa56 - Browse repository at this point
Copy the full SHA 451aa56View commit details -
Studiolight: Free Resources for Unused Lights.
Studio lights based on image resources are kept in memory, even when only displayed as an icon. When having many studio lights configured leads to allocating a lot of memory that are not used. This patch free image resources when only icons are requested. For studio lights that are used in a viewport the image resources are kept. Pull Request: https://projects.blender.org/blender/blender/pulls/116191
Configuration menu - View commit details
-
Copy full SHA for 4a34dcb - Browse repository at this point
Copy the full SHA 4a34dcbView commit details -
VSE: reduce effects code duplication, making gaussian blur faster in …
…the process Now that the code is in C++, quite some duplication between "byte" and "float" effect code paths can be reduced (easier than it was in C times). So I did that, removing about 400 lines of code. In that process I accidentally made Gaussian Blur faster, since while reducing the amount of code I noticed it was doing some things sub-optimally (calculated kernel tables for each job, etc.). Applying 100x100 gaussian blur on 4K UHD resolution image strip on Ryzen 5950X went 630ms -> 450ms. Pull Request: https://projects.blender.org/blender/blender/pulls/116089
Configuration menu - View commit details
-
Copy full SHA for 5cac8e2 - Browse repository at this point
Copy the full SHA 5cac8e2View commit details -
Cleanup: Remove unnecessary C API for delaunay triangulation
The only user was the Python API. Convert that to use the C++ API. That simplifies things a bit even, since the encoding of "arrays of arrays" is a fair amount simpler with the C++ data structures. The motivation is to simplify the changes from #111061.
Configuration menu - View commit details
-
Copy full SHA for a494d6a - Browse repository at this point
Copy the full SHA a494d6aView commit details -
Cleanup: Anim, add explanation to bone collection assign operator
Just a little explanation of the code, because I got confused by my own. No functional changes, except for the addition of a `BLI_assert_msg()`.
Configuration menu - View commit details
-
Copy full SHA for b5e7e6b - Browse repository at this point
Copy the full SHA b5e7e6bView commit details -
Cleanup: Fix compiler warning in face group boundaries node
Fix error of wrong parameter for `compare_exchange_weak`. Second one parameter is used for write new value, but a mistake occurred and the wrong parameter (for read) was used. Default param is enough for this, so just delete last one. Pull Request: https://projects.blender.org/blender/blender/pulls/116010
Configuration menu - View commit details
-
Copy full SHA for 999c0f6 - Browse repository at this point
Copy the full SHA 999c0f6View commit details -
Cleanup: Conver macros into functions
Avoids macro redefinition warnings in unity builds.
Configuration menu - View commit details
-
Copy full SHA for 9bf942d - Browse repository at this point
Copy the full SHA 9bf942dView commit details -
Cleanup: Use utility function to calculate face normal
Rather than inlining all the logic into OBJ export code
Configuration menu - View commit details
-
Copy full SHA for bb2a289 - Browse repository at this point
Copy the full SHA bb2a289View commit details -
Cleanup: Slightly simplify delaunay triangulation input gathering
Separate allocation of input arrays and assignment to input class. The main purpose is to simplify #111061.
Configuration menu - View commit details
-
Copy full SHA for 34bf1f6 - Browse repository at this point
Copy the full SHA 34bf1f6View commit details -
Cleanup: Slightly simplify some loops in delaunary triangulation
Use a local variable for the faces, use range based for loops.
Configuration menu - View commit details
-
Copy full SHA for 5be9a1c - Browse repository at this point
Copy the full SHA 5be9a1cView commit details -
Merge branch 'main' into sync_blender_master
Conflicts Resolved: release/text/readme.html scripts/startup/bl_ui/properties_render.py scripts/startup/bl_ui/space_toolsystem_toolbar.py scripts/startup/bl_ui/space_view3d.py source/blender/editors/sculpt_paint/sculpt_face_set.cc source/blender/editors/sculpt_paint/sculpt_mask_init.cc source/blender/nodes/NOD_static_types.h
Configuration menu - View commit details
-
Copy full SHA for 5fa4fec - Browse repository at this point
Copy the full SHA 5fa4fecView commit details -
Configuration menu - View commit details
-
Copy full SHA for 262572a - Browse repository at this point
Copy the full SHA 262572aView commit details -
Cleanup: Remove useless PBVH update function
This `update_vertex_data` only found nodes with the color update tag and also added redraw tags. But whenever nodes are marked for a color update, those redraw tags are already set anyway. It appears this was meant to solve problems switching active color attributes during undo and redo, but it doesn't make a difference when this function is removed.
Configuration menu - View commit details
-
Copy full SHA for f15bca6 - Browse repository at this point
Copy the full SHA f15bca6View commit details -
Cleanup: Remove unnecessary sculpt visibility update
Mainly for semantic reasoning-- these face set gestures don't change visibility.
Configuration menu - View commit details
-
Copy full SHA for 1d94003 - Browse repository at this point
Copy the full SHA 1d94003View commit details -
Cleanup: Pass vertex update array as argument when building PBVH
To prepare for potentially not storing this array in the PBVH.
Configuration menu - View commit details
-
Copy full SHA for 71b6f0e - Browse repository at this point
Copy the full SHA 71b6f0eView commit details -
Configuration menu - View commit details
-
Copy full SHA for ce4ec6d - Browse repository at this point
Copy the full SHA ce4ec6dView commit details -
Cleanup: Remove unnecessary PBVH threading settings function
There were just two more places using the C threading API in sculpt code. Switch them to the C++ API and remove the settings function.
Configuration menu - View commit details
-
Copy full SHA for 4c1f766 - Browse repository at this point
Copy the full SHA 4c1f766View commit details -
Configuration menu - View commit details
-
Copy full SHA for 87e8a28 - Browse repository at this point
Copy the full SHA 87e8a28View commit details -
Fix #116135: Ensure blf_font_width_to_rstrlen always works
If the string is shorter than the cut-off length, ensure we always exit cleanly when we iterate to the very start of the string. Pull Request: https://projects.blender.org/blender/blender/pulls/116208
Configuration menu - View commit details
-
Copy full SHA for 8c6898c - Browse repository at this point
Copy the full SHA 8c6898cView commit details -
Merge branch 'main' into sync_blender_master
Conflicts Resolved: scripts/startup/bl_ui/space_dopesheet.py scripts/startup/bl_ui/space_graph.py source/blender/editors/interface/interface_context_menu.cc source/blender/nodes/NOD_static_types.h
Configuration menu - View commit details
-
Copy full SHA for e36222a - Browse repository at this point
Copy the full SHA e36222aView commit details