zink: clamp gl_Layer output to 0, if framebuffer is not layered
authorSoroushIMG <soroush.kashani@imgtec.com>
Sun, 16 Oct 2022 18:41:16 +0000 (19:41 +0100)
committerSoroushIMG <soroush.kashani@imgtec.com>
Wed, 26 Oct 2022 15:23:51 +0000 (16:23 +0100)
commit2562c9c5c6bfba1f4515a6d7f6da07985a8e315f
tree0ee8f0bf39920bad28e2916b13c0ca0ee33a5929
parent72d18325dd8a9cfe8ff69582d2ed09e6841f7fdd
zink: clamp gl_Layer output to 0, if framebuffer is not layered

GL spec forces driver to ignore gl_Layer, if layered rendering
is not enabled.
Since vulkan doesn't have the same bavior, emulate this by forcing
gl_Layer to 0, based on driver internal state.
This was seen as failure in
KHR-GL46.texture_cube_map_array.color_depth_attachments

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19163>
src/gallium/drivers/zink/zink_compiler.c