-
-
Notifications
You must be signed in to change notification settings - Fork 8.9k
Description
Operating System Info
macOS 15
Other OS
No response
OBS Studio Version
32.0.0
OBS Studio Version (Other)
No response
OBS Studio Log URL
None
OBS Studio Crash Log URL
No response
Expected Behavior
- Third-party shaders used by plugins work in OBS-Studio with the Metal renderer selected
Current Behavior
- Third-party shaders used by plugins do not work consistently in OBS-Studio with the Metal renderer selected
Steps to Reproduce
- Have 3rd-party plugin installed that uses custom shader code
- Launch OBS Studio
- Configure OBS Studio to use the Metal renderer on macOS
- Relaunch
- Observe that shader-based effects or functionality of the 3rd-party plugin does not work at all or in unexpected ways
Anything else we should know?
This is a meta bug report for the new Metal renderer. At this time it is expected that shaders used by 3rd-party plugins can potentially break when the Metal renderer is used.
The Metal shader language (MSL) is based on C++14 and thus stricter than GLSL and HLSL, requires code to be more type-safe, does not automatically alias existing types into target types, and uses different functions than other shader languages.
The shader transpiler used by OBS Studio has only been tested to consistently support the shaders used by the app itself and cannot initially be compatible with any and all custom shaders in use by 3rd-party plugins.
Please report any compatibility issue of a third-party plugin's shaders with the Metal renderer to the developers of the plugin!
The plugin authors understand their shaders best and are also in the best position to report the actual underlying issue to the project so that either the shaders can be tweaked or the transpiler can be enhanced to support the specific shader code variation.