+struct spirv_supported_capabilities {
+ bool address;
+ bool atomic_storage;
+ bool demote_to_helper_invocation;
+ bool derivative_group;
+ bool descriptor_array_dynamic_indexing;
+ bool descriptor_array_non_uniform_indexing;
+ bool descriptor_indexing;
+ bool device_group;
+ bool draw_parameters;
+ bool float64;
+ bool fragment_shader_sample_interlock;
+ bool fragment_shader_pixel_interlock;
+ bool geometry_streams;
+ bool image_ms_array;
+ bool image_read_without_format;
+ bool image_write_without_format;
+ bool int8;
+ bool int16;
+ bool int64;
+ bool int64_atomics;
+ bool integer_functions2;
+ bool kernel;
+ bool min_lod;
+ bool multiview;
+ bool physical_storage_buffer_address;
+ bool post_depth_coverage;
+ bool runtime_descriptor_array;
+ bool float_controls;
+ bool shader_clock;
+ bool shader_viewport_index_layer;
+ bool stencil_export;
+ bool storage_8bit;
+ bool storage_16bit;
+ bool storage_image_ms;
+ bool subgroup_arithmetic;
+ bool subgroup_ballot;
+ bool subgroup_basic;
+ bool subgroup_quad;
+ bool subgroup_shuffle;
+ bool subgroup_vote;
+ bool tessellation;
+ bool transform_feedback;
+ bool variable_pointers;
+ bool vk_memory_model;
+ bool vk_memory_model_device_scope;
+ bool float16;
+ bool amd_fragment_mask;
+ bool amd_gcn_shader;
+ bool amd_shader_ballot;
+ bool amd_trinary_minmax;
+ bool amd_image_read_write_lod;
+ bool amd_shader_explicit_vertex_parameter;
+ bool amd_image_gather_bias_lod;
+};
+