Eevee-next: Use compute shader to clear clipmaps #105560

Merged
Jeroen Bakker merged 4 commits from Jeroen-Bakker/blender:eevee-next-init-shadow-clip-buffer into main 2023-03-09 18:28:16 +01:00

4 Commits

Author SHA1 Message Date
Jeroen Bakker 556ef545b3 Merge branch 'main' into eevee-next-init-shadow-clip-buffer 2023-03-09 15:06:50 +01:00
Jeroen Bakker 05d98893d1 Merge branch 'main' into eevee-next-init-shadow-clip-buffer 2023-03-09 07:59:13 +01:00
Jeroen Bakker 27fab835cf Limit to the number of items to clear. 2023-03-09 07:58:20 +01:00
Jeroen Bakker 3739fc7aea Eevee-next: Use Compute Shader to Clear Clipmaps.
Clearing of clipmaps is the only place in Blender that uses non
uniform data (not all components of the cleared data to be exact
the same).

Vulkan has only the possibility to clear buffers with using a single
uint32_t. There were two solutions:
- Add compute shader to Vulkan backend.
- Make Eevee-next responsible to clear the clipmaps.

When fixing this in the Vulkan backend it could lead to other issues
as the backend isn't aware what is exactly required and might overwrite
active bindings. We chose to make it a responsibility of Eevee-next
as there it is clear what is needed.

Related issue: #105492
2023-03-08 10:40:59 +01:00