2023-02-06 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: February 13, 2023, 11:30 AM to 12:00 PM Amsterdam Time (Your local time: 2023-02-13T10:30:00Z2023-02-13T11:00:00Z)

Attendees:

  • Clement
  • Jeroen
  • Michael
  • Miguel

Eevee-next

  • Porting source to new matrix API. Change got reverted due to built error on windows.
  • Fix remaining issues on shadow maps. It is shippable, unless we want transparency as part of the first release.
  • Design of the transparent shadow maps is still in discussion. Will be worked on further.
  • Crash when running Eevee in debug mode with certain node setup. Still in vestigation. Task has been added with detailed explanation.
  • Detected a way to improve the bump node performance. Bump node uses the incorrect function in some cases. Also some issues detected for noise nodes as well. Approach needs feedback as there might be better approaches.
    • Initial feedback is ok, but still need more review to see how reusable it is in other cases as the solution is compiler dependant.

Workbench-next

  • Patch for line draw issues between the objects. Two separate paths for single material passes vs multiple material passes.

Metal backend

  • Perspective nodetree optimization patch. Where in complex shaders register spills work
  • AMD patches have been sent for review. Requires some feedback on how to handle them more cleanly (code-wise)
    • Multiple Principled BSDF on AMD don’t compile nicely. Fix is large.
  • Optimized node graph patch still needs proper review. Small changes would still stotter as the PSO needs to be validated. Still some ideas, but requires more high level changes, limited to the GPU module/draw manager.
    • If fix is quite isolated, we could work with this change for 3.5. There are some workflow issues, that could be solved afterwards.
    • Fix changes GLSL and therefore can work on any platform (OpenGL/Metal). Would also help with bump node performance regressions.

Vulkan backend

  • Integrating Vulkan Memory Allocator (VMA) into Blender. Still in progress as there are many requirements that have to be met, before the library can be used. Currently still checking how to get it running on Vulkan 1.2.
  • Found a minor issue in the VMA created a patch and it has been applied upstream. The patch is also applied to Blender’s local copy.
  • Converted test cases to use ShaderCreateInfo. Needs some small tweaks to get working on all platforms.
  • Started with SSBO, added a generic Vulkan buffer that can be used by all buffer types. Added test cases to test progress as we won’t be able to start until most of the project has been finished.
  • Added a patch for using guardedalloc for driver and platform memory operations. (Blender Archive - developer.blender.org) Requires some feedback how we want
  • to enable it. Current proposal is to use a compilation directive.
16 Likes

With the Metal backend being in a good place now, is there a timeline for implementing the remaining items necessary to test EEVEE-Next on macOS? Is this waiting on Apple devs?

Eevee-next support on Apple devices is being worked on. This is mainly adding support of SSBOs. Although the development is ready, it was hold off for blender 3.5 as it touched more than expected and therefore needed to mature more. If everything goes well it will land shortly after Blender 3.6 development branch is opened.

1 Like