---
# System prepended metadata

title: 2023-01-23 Eevee/Viewport Module Meeting
tags: [' Minutes', Eevee/Viewport]

---

---
tags: Eevee/Viewport, Minutes
---
# 2023-01-23 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](https://meet.google.com/pdh-qwfv-dwf)
* Next Meeting: **January 30, 2023, 11:30 AM to 12:00 PM Amsterdam Time** (Your local time: [date=2023-01-30 time=11:30:00 timezone="Europe/Berlin"] → [date=2023-01-30 time=12:00:00 timezone="Europe/Berlin"])

*Attendees*:

* Clement
* Jeroen
* Michael
* Miguel
* Thomas


## Metal backend

- Stabilizing the metal backend when using Python add-ons and scripts. BGL directly wraps OpenGL API what will not work when Metal backend is active. As OpenGL library isn't loaded it would crash blender. There were some ideas how to solve this. One was to activate both the OpenGL backend and the Metal backend, so the crashes didn't occur, but users won't see the effect. Other option was to block any calls to the OpenGL API when no OpenGL backend is active. We decided to go for the last option. We also made sure that the template scripts and scripts in the manual work when using the Metal backend. Those scripts use the `gpu` module in stead of the `bgl` module.
    - Block `bgl` calls when when metal backend is active. (https://developer.blender.org/D16996) The user is presented with a pop-up telling that one of the Python scripts/add-ons is using OpenGL and should be migrated to use the `gpu` module.
    - Read from unallocated memory [msl_patch_default](https://developer.blender.org/rBff814ec5f687aac769a12327f9f38f7291385530).
    - Attribute list in shader interface isn't updated when using Metal [D17042](https://developer.blender.org/D17042)
- Fix T103433: Ensure Metal memory allocator is safe for multi-threaded allocation. Resolves crash when baking indirect lighting. [D17018](https://developer.blender.org/D17018)
- During review, many patches are dependent, but sometimes not obvious what the order are.
    - Compositor patch first, before the other patches.
    - Michael will describe the dependency-chain of the patches.
- More focus to AMD issues will also commence.
- A patch is in the making that improves the startup times. The patch makes changes to CMake configuration that requires more people to look at about what is wise to do. The patch will be uploaded as draft that can be discussed with people taht have more experience with CMake. Note that Blender does deviate from CMake standard by having many wrappers, and there is no documentation how to structure CMake files. Mostly is just being done by looking at other files.


## Workbench-next

* Went through the Workbench commits of the last months, to avoid Workbench Next regressions:
  * [https://developer.blender.org/rB1b5a594a0529bf696caa419f26ac34712b5caeb0 ]
  * Fix textures after D14365 (https://developer.blender.org/rB99e5f4000c5d6dcca44fe4018c87d37f1a833ea3)
  * [Add texture mirror extension type support](https://developer.blender.org/rB2c432baad0b4e21c8173d5c66ec07b81c290e16f)
* Fix for instance resource indexing in the new Draw Manager [D17069](https://developer.blender.org/D17069).
* Add Freeze Culling support to Workbench Next (https://developer.blender.org/rB3a06bb5e45e650ac357bf18f7d7d9d9cc4eca00f).
* Avoid creating unneeded handles in Workbench Next (optimization) (https://developer.blender.org/rB15b2caab21abfb3556d1f57b28d571519c707f89).
* Some improvements are still being worked on 
    * Avoid runtime.bb allocation for DupliObjects in the draw code (needs feedback) (https://developer.blender.org/rBa9d716fa0fe3f0d250de3438e0ac8af22514178a).
    * Use smaller ObjectBounds to improve performance (includes fixes) (needs feedback) (https://developer.blender.org/rB693dffb7b7c1039c2165b83b1b81fa39256d6ef8). During the meeting we went more deeper into how whta the original ideas of the bounds were. Initially it was the idea to also support skew objects, but that hasn't been used yet. Will be discussed futher outside the meeting.
    * Cleanup the GLSL intersection code (needs feedback) (https://developer.blender.org/rB2da005902f434b6d4301516e280c899129384b95).


## Eevee-next

* Backporting changes to master that were local to the eevee-shadow branch. 
* Fixing remaining issues on shadows, most of them are now fixed. Transparent objects is costly as it requires a second pass, other option was bounding boxes, but wasn't robust enough especially near the near-clip plain. Currently a limitation, and we need to find a solution for it down the road.
    * Other limitation: Shadows are on par with old implementation, but some are lacking due to missing contact shadows and soft shadows. Might give the impression that new are worse than the old one.
    * Bug on AMD pro driver on linux (at least), that prevents OpenGL error when binding multiple texture views of the same texture where each texture view covers one layer of the texture. In this case the driver doesn't want to bind the texture. 
        * Depth of field
        * Shadow of field (might can get a work-a-round)
        * Need to check if this is supported by Metal

