Status: ? Initial stages of development
Description
Support offline Metal shader library compilation for static shaders. Any shader using GPUShaderCreateInfo which has do_static_compilation(true) declared should be statically compiled to avoid the expensive first-run compilation cost. There are a number of challenges however, as generated shader source can differ based on the system configuration, and availability of features.
So far, the key distinguishing changes which can alter compilation are the platform GPU device macros, where certain platform-specific optimizations or workarounds are made, under the Macro's GPU_ATI, GPU_APPLE, GPU_INTEL.
First phase of this is is to investigate viability for offline shader compilation.
Tasks
- Update CMAKE to support offline Metal shader library compilation
- Update shader_builder to iterate source configurations per vendor (APPLE, AMD, INTEL) t
- Testing and enablement
Part of the Metal backend T96261 (https://developer.blender.org/T96261)