2023-08-28 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: Septembver 4, 2023, 11:30 AM to 12:00 PM Amsterdam Time (Your local time: 2023-09-04T09:30:00Z2023-09-04T10:00:00Z)


  • Clement
  • Jeroen
  • Miguel



  • Most effort last week was spent on solving a state difference between GHOST (Blenders hardware and OS abstraction layer) and the Vulkan backend in the GPU module. Vulkan doesn’t track states of textures and prefer fixed pipelines where texture layouts are controlled by using the pipelines in the correct order. Blender cannot work this way as the pipelines are created dynamic due to user input, add-ons with custom drawing and functional complexity requiring to many pipelines to manage. The issue we want to solve is to track the texture layout of textures in the swap chain. Swap chains are responsibility of GHOST, but the GPU module can change the layout of its textures when using it as a transfer target. The GPU module cannot correct they texture layout as it isn’t aware of swap chain events. (#111389 - GPU: Swap Buffers Design - blender - Blender Projects)
  • We decided to align the solution close to how Metal solved this issue by using a present callback that the GPU context registers to the GHOST context. Initial development started with promising results, but still requires many fixes and tweaks before it will land. (#111473 - Vulkan: Rewrite GHOST_ContextVK - blender - Blender Projects)