This PR adds workarounds for platforms that don't support `shaderOutputLayer` or `shaderOutputViewportIndex`. Some NVIDIA laptop GPUs and ARM GPUs don't have those device features. The workaround uses the same approach as OpenGL. A geometry shader is injected to emulate the feature. For testing the workarounds they have also been connected to the `--debug-gpu-force-workarounds` command line argument. Fixes #113475 by implementing #113529 Pull Request: https://projects.blender.org/blender/blender/pulls/113605