2023-01-09 Eevee/Viewport Module Meeting

Practical Info

This is a weekly video chat meeting for planning and discussion of Blender Eevee/viewport module development. Any contributor (developer, UI/UX designer, writer, …) working on Eevee/viewport in Blender is welcome to join.

For users and other interested parties, we ask to read the meeting notes instead so that the meeting can remain focused.

  • Google Meet
  • Next Meeting: January 16, 2023, 11:30 AM to 12:00 PM Amsterdam Time (Your local time: 2023-01-16T10:30:00Z2023-01-16T11:00:00Z)


  • Clement
  • Jeroen
  • Michael
  • Miguel
  • Dalai

Metal backend

  • Metal backend can be enabled in Blender 3.5 builds via the user preferences. People have already been tested and giving feedback. No show-stoppers found and Metal backend can be targetted as a secondary backend for Blender 3.5
  • The metal backend doesn’t support Viewport compositing yet. For this SSBO’s and Compute shaders support should be added. This is high on the priority list and looks similar to previous changes. Most impact would be platform support to make sure that it is stable on all Apple devices. Goal is to do it as soon as possible. Indirect drawing would be post-poned to be tackled later.
  • A patch could be provided to enable the viewport compositor for development. This will be implemented as a compilation flag.
  • Some patches for intel and AMD need to be added still, including work-arounds and fixes.
  • Reviewing process; patches are fine, mostly some code-style issues. Question to reduce the overhead to do the code-style issues our self?
    • Code-style will be improved over time. More focus will be given to the code style.
    • Minimum feedback can be done by others as well. feedback will still be read and applied to future patches.
    • Larger changes will still be done by Apple.


  • Main patch send for review [Blender Archive - developer.blender.org]
  • Updated shadows to not use push constants, since it was a major bottleneck. Converted the Opaque Resolve pass back to a full-screen triangle pass for improved performance.
  • Performance is now almost on par with the current Workbench engine (with the exception of shadow rendering, which can be quite faster). The main bottleneck is on the CPU side and since most of the overhead comes from elsewhere, There is a new branch to test experimental improvements outside the Workbench itself.
  • Found a major bottleneck with DupliObject instances. The depsgraph removes their runtime bounding box and, while the bbox itself is not re-computed, the draw manager mallocs and copies the result for every single instance. This should be an easy to fix, but couldn’t figure out how to do.

Vector/matrix data structures

Viewport Compositor

Vulkan backend

  • Upcoming month no activities have been planned for the Vulkan back-end. The goal for February would be to be able to compile and run a compute shader. This requires many different parts before this can be done. Linking shaders, descriptor sets, buffers and memory management.
  • If community developers want to participate, get in contact with us at Blender Chat


  • Some progress on Eevee-next shadows. Nothing to share, but will be the next development target.