At this point we don't have Intel GL counters. But the current logic
assumes there is only AMD ones (and that if it's not AMD's, it must be
the generic ones).
A missing \n was triggering a compile error for example :
#extension GL_ARB_shader_storage_buffer_object : require#define SHADER_RESTYPE 1
#define UINT_TEX 0
* Someone encountered miscompiled SPIR-V such that 1.1, 2.2 etc were compiled to
1.0, 2.0. I couldn't reproduce it and I don't know how glslang would
miscompile, but this workaround is at least safe to apply.
* When flattening array slices or remapping to a cube cruciform, we can remap to
RGBA32 when the output format is itself greater than 8bpp, to ensure we don't
lose quality before output.
* For pipelines using tessellation or containing a geometry shader we use
transform feedback to fetch the output of the vertex pipeline after these
stages.
* This self-insertion has the same kind of problem as overlapping ranges in
memcpy, the act of inserting items can affect the input range by shifting
things around. For inserting a single object we just copy it, for inserting a
range we duplicate the whole array and then do the insert from the old range
(and destruct it).
* Clearly this is not the most efficient implementation, a better solution would
be to append onto the existing array (potentially not even reallocating then)
and doing a rotate/shift in place.
* VK_EXT_astc_decode_mode
* VK_EXT_swapchain_colorspace - this will cause slight artifacts as we won't
interpret pixels in the right color space, but it's minor.
* VK_EXT_validation_cache - we don't serialise this but we do allow it during
capture and pass-through straight. We don't wrap the VkValidationCacheEXT
object at all which makes support simpler.
* VK_EXT_external_memory_dma_buf - this is just a new memory type for external
memory, we don't need to do anything special to handle it.
* VK_AMD_mixed_attachment_samples & VK_AMD_shader_core_properties - these are
no-op once enabled
* Many shader-only extensions:
- VK_AMD_gpu_shader_int16
- VK_AMD_shader_fragment_mask
- VK_AMD_image_load_store_lod
- VK_AMD_texture_gather_bias_lod
- VK_NV_compute_shader_derivatives
- VK_NV_fragment_shader_barycentric
- VK_NV_geometry_shader_passthrough
- VK_NV_sample_mask_override_coverage
- VK_NV_shader_image_footprint
- VK_NV_shader_subgroup_partitioned
- VK_NV_viewport_array2