SPIRV-Cross/reference/shaders-msl/vulkan/vert
Chip Davis 6a58554568 Support the SPV_KHR_device_group extension.
The only piece added by this extension is the `DeviceIndex` builtin,
which tells the shader which device in a grouped logical device it is
running on.

Metal's pipeline state objects are owned by the `MTLDevice` that created
them. Since Metal doesn't support logical grouping of devices the way
Vulkan does, we'll thus have to create a pipeline state for each device
in a grouped logical device. The upcoming peer group support in Metal 3
will not change this. For this reason, for Metal, the device index is
supplied as a constant at pipeline compile time.

There's an interaction between `VK_KHR_device_group` and
`VK_KHR_multiview` in the
`VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT`, which defines the
view index to be the same as the device index. The new
`view_index_from_device_index` MSL option supports this functionality.
2019-07-13 16:45:54 -05:00
..
device-group.multiview.viewfromdev.nocompat.vk.vert Support the SPV_KHR_device_group extension. 2019-07-13 16:45:54 -05:00
device-group.nocompat.vk.vert Support the SPV_KHR_device_group extension. 2019-07-13 16:45:54 -05:00
multiview.multiview.nocompat.vk.vert MSL: Support SPV_KHR_multiview. 2019-06-29 09:43:55 -05:00
multiview.nocompat.vk.vert MSL: Support SPV_KHR_multiview. 2019-06-29 09:43:55 -05:00
small-storage.vk.vert Add support for 8- and 16-bit types to GLSL and MSL. 2018-11-01 10:20:57 -05:00
vulkan-vertex.vk.vert CompilerMSL elide unused builtins from entry function input and output structs. 2017-05-24 09:31:38 -04:00