SPIRV-Cross/reference/shaders/vulkan
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
..
comp GLSL: Support OpBitcast for buffer references. 2019-05-09 10:29:31 +02:00
frag GLSL: Support std430 in UBOs with scalar layout. 2019-05-28 12:22:44 +02:00
rchit Make ray-tracing files .nocompat. 2019-03-27 10:04:42 +01:00
rgen Fix storage packing qualifiers missing on "shaderRecordNV" buffers 2019-06-05 13:31:24 +02:00
rmiss Make ray-tracing files .nocompat. 2019-03-27 10:04:42 +01:00
vert Support the SPV_KHR_device_group extension. 2019-07-13 16:45:54 -05:00