2022-09-19 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: September 26, 2022, 11:30 AM to 12:00 PM Amsterdam Time (Your local time: 2022-09-26T09:30:00Z2022-09-26T10:00:00Z)


  • Michael Parkin-White
  • Omar Emara
  • Clément Foucault
  • Jeroen Bakker


  • Shadow system:
    • Simplified the code, added documentation and wrote unit tests for each compute stage.
    • Page allocation and management have been done.
    • Will continue on the system and hope to have something working at the end of this week.
    • Shifted plans how to handle objects that don’t write to the depth buffer by calc bounding boxes in viewport space to tag the pages to use. Objects that draw onto the depth buffer are traced back to tag the pages.

Metal Backend

  • Patches for MTLContext and MTLImmediate mode have been send for review.
  • Texture buffer usage patch:
    • Patch will add performance, but changes the API.
    • Unclear how to improve the API.
    • Expect to be OK to accept as it makes the usage clear up front.
  • VertexBuffer Usage path: Should be checked if it aligns with the current Vertex Buffer flags.
  • Optimize Const Data in material shaders:
    • Will compile the regular shader first, and then in the background a more optimized shader. When optimized shader is available it will be used when it makes sense (user change vs recompilation)
    • On MacPook Pro improves performance around 2 times. But not all shaders benefit from this change.
    • On AMD/NVIDIA performance gains is around 40%. Changes will also be used on other platforms.
    • Constant folding could change the precision, what could lead to different render results between the shaders. This is something we should test and see when to actually use the constant shaders.

Viewport compositing

  • This week development will continue on Fast gaussian blur.

Production Scenes

  • In project Heist the volume rendering has a change to fail, probably due to the complexity of the scenes.
  • After research it was detected that this is because an error in Blender or in the driver for SSBOs. When disabling SSBO usage for the new Curve types the issue goes away.
  • Currently the workaround is to start Blender with the gpu workarounds enabled.
  • More research is needed to find the root cause.

Scene attributes

  • Patch for scene attributes is in a good state and expected to land this week.
  • Also adds support for world attributes.
  • During development found a refresh issue related to EEVEE-Next