4f909ba6fd2d5ccb200e240f2956b4c8a7220e56
The owner of the context is now always the local context. The `DRWContext` is now a temporary object that owns no data. The draw debug API is being put in a non-working state by this PR as it conflicts with the new lifetime / ownership of the `DRWContext` class. A new design with a global (threadsafe) debug module is needed to add back support for these debug features. Note that these are not user facing features. Some parts of EEVEE are still calling the global context and that caused crashes in the volume probe baking pipeline where the context is not yet known. Sort circuiting these function calls in this case fixes the issue, but a more longer term solution would be to alway have a `DRWContext` available inside `eevee::Instance`. I did some testing and didn't find much of a difference in frame time. However, we should still strive to remove all global access in the future to avoid potential overhead of `thread_local`. Pull Request: https://projects.blender.org/blender/blender/pulls/135521
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
