From: Ari Suonpaa Date: Wed, 24 Nov 2021 12:15:57 +0000 (+0200) Subject: Merge master to VK_EXT_depth_clip_control X-Git-Tag: upstream/1.3.5~463^2^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1c033d1e204632c92c131bd5b9a21f3fc66194c5;p=platform%2Fupstream%2FVK-GL-CTS.git Merge master to VK_EXT_depth_clip_control Change-Id: Ib44c3bb6635ce23a66228e585625365bd9771c1f --- 1c033d1e204632c92c131bd5b9a21f3fc66194c5 diff --cc android/cts/master/vk-master-2021-03-01/pipeline.txt index c118b43,b6af7cd..0f6b118 --- a/android/cts/master/vk-master-2021-03-01/pipeline.txt +++ b/android/cts/master/vk-master-2021-03-01/pipeline.txt @@@ -4214,18 -4314,104 +4314,116 @@@ dEQP-VK.pipeline.blend.dual_source.form dEQP-VK.pipeline.blend.dual_source.format.a4b4g4r4_unorm_pack16_ext.states.color_1mca_1mdc_min_alpha_ca_1ms1a_min-color_o_s1a_add_alpha_s1a_ca_add-color_sas_1mca_add_alpha_1msc_sa_sub-color_sc_1msc_max_alpha_1msc_sas_max dEQP-VK.pipeline.blend.dual_source.format.a4b4g4r4_unorm_pack16_ext.states.color_1mcc_s1c_max_alpha_da_sc_add-color_dc_1mcc_sub_alpha_s1a_o_sub-color_1ms1a_da_sub_alpha_cc_da_max-color_1msa_s1a_max_alpha_ca_s1a_add dEQP-VK.pipeline.blend.dual_source.format.a4b4g4r4_unorm_pack16_ext.states.color_1ms1a_o_rsub_alpha_o_sas_max-color_z_1msa_min_alpha_dc_sc_rsub-color_sc_1mda_add_alpha_1ms1c_cc_max-color_s1a_1ms1c_max_alpha_1mca_o_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mcc_cc_rsub_alpha_1mdc_s1a_add-color_1msa_1msa_sub_alpha_1ms1a_ca_min-color_z_s1c_rsub_alpha_s1c_ca_sub-color_1ms1c_s1c_min_alpha_1mcc_1mdc_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mca_da_min_alpha_1ms1c_1mda_sub-color_dc_s1a_add_alpha_ca_sas_min-color_da_1mca_rsub_alpha_da_ca_min-color_o_cc_rsub_alpha_1mca_sc_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sc_sa_min_alpha_cc_sc_rsub-color_1mcc_1ms1a_add_alpha_sa_da_rsub-color_1mda_sa_min_alpha_s1a_dc_sub-color_sa_z_min_alpha_sc_1mcc_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1msc_1ms1a_sub_alpha_1mda_1mda_sub-color_1ms1a_ca_min_alpha_o_s1a_max-color_s1c_da_add_alpha_1ms1a_ca_max-color_sc_sa_add_alpha_z_o_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sas_1ms1c_sub_alpha_1mda_cc_add-color_da_cc_rsub_alpha_z_1ms1a_add-color_s1c_1mcc_max_alpha_1mca_s1a_rsub-color_cc_dc_max_alpha_1mcc_s1a_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sa_cc_rsub_alpha_o_1msa_max-color_1ms1c_dc_sub_alpha_1msa_o_min-color_sc_cc_min_alpha_sc_1msc_min-color_1msc_sa_rsub_alpha_o_z_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_o_cc_min_alpha_sas_o_min-color_o_1msa_add_alpha_1mdc_s1a_max-color_1ms1a_1msc_add_alpha_cc_1mcc_max-color_1msa_cc_max_alpha_sas_da_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_s1a_1ms1a_rsub_alpha_sc_dc_rsub-color_1msa_dc_sub_alpha_sc_z_min-color_da_z_add_alpha_1mdc_ca_max-color_1mcc_s1c_rsub_alpha_1ms1a_dc_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mda_1mdc_rsub_alpha_sc_da_max-color_sa_sc_rsub_alpha_sc_1ms1a_sub-color_1ms1a_sc_add_alpha_1ms1a_o_add-color_1mca_1ms1a_max_alpha_sa_1mca_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_s1a_da_min_alpha_1msa_1msa_min-color_da_s1a_rsub_alpha_1msc_z_add-color_ca_sc_sub_alpha_cc_s1a_max-color_1mca_1mcc_add_alpha_1msa_s1c_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_cc_1msc_rsub_alpha_sc_1mdc_sub-color_1ms1c_sas_sub_alpha_s1c_sas_max-color_dc_sa_sub_alpha_sa_1msa_add-color_s1c_sc_add_alpha_z_o_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_z_sa_rsub_alpha_o_1ms1a_sub-color_1ms1c_1ms1c_min_alpha_sa_s1a_max-color_sa_cc_sub_alpha_sc_1mdc_min-color_o_1mca_add_alpha_da_ca_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_o_cc_min_alpha_da_sc_max-color_1mda_s1a_add_alpha_da_1mda_rsub-color_dc_s1a_rsub_alpha_da_1mcc_rsub-color_cc_dc_min_alpha_1msa_sas_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mda_sa_sub_alpha_1ms1c_1mdc_sub-color_o_1mca_add_alpha_cc_cc_add-color_s1a_cc_sub_alpha_ca_cc_min-color_cc_sas_min_alpha_sa_z_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mda_1msa_max_alpha_1mca_z_sub-color_da_1msc_rsub_alpha_1mda_1ms1c_add-color_1msa_1mdc_max_alpha_da_sas_min-color_cc_dc_sub_alpha_1mda_sas_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1msa_1mca_add_alpha_da_dc_min-color_1msa_cc_rsub_alpha_1msa_1mcc_max-color_dc_dc_add_alpha_dc_dc_min-color_1mda_1ms1a_add_alpha_sc_sa_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_o_1mdc_rsub_alpha_1mca_1mcc_rsub-color_1mcc_1ms1a_add_alpha_1msa_1ms1c_rsub-color_1msa_1mda_max_alpha_1msc_sa_min-color_1ms1a_sc_max_alpha_1mca_cc_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mda_1mdc_sub_alpha_s1a_1ms1c_rsub-color_1mca_o_rsub_alpha_1mca_ca_min-color_ca_s1c_add_alpha_dc_1ms1c_sub-color_ca_1ms1a_min_alpha_sc_sc_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_cc_1mcc_sub_alpha_z_1mca_sub-color_sa_da_min_alpha_s1c_ca_add-color_1ms1a_sa_max_alpha_1ms1a_cc_sub-color_dc_ca_add_alpha_cc_1ms1a_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mda_sc_rsub_alpha_s1c_o_max-color_da_ca_add_alpha_z_1msc_add-color_1mca_1ms1a_add_alpha_o_1mda_max-color_1ms1a_1msc_rsub_alpha_dc_sas_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_cc_1mdc_add_alpha_sc_1mda_add-color_sc_1mca_rsub_alpha_z_1mdc_max-color_sa_1mca_sub_alpha_sc_s1c_max-color_sas_s1a_min_alpha_da_1ms1c_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_z_s1c_min_alpha_1mcc_s1c_rsub-color_ca_1mca_add_alpha_cc_1ms1a_min-color_ca_1ms1c_rsub_alpha_sa_sas_min-color_1ms1c_s1a_add_alpha_1mda_1ms1a_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_o_sa_max_alpha_da_ca_add-color_z_1ms1c_add_alpha_sc_sas_rsub-color_1mdc_cc_min_alpha_dc_ca_min-color_1ms1a_1msc_max_alpha_1msa_ca_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_dc_ca_rsub_alpha_dc_s1a_rsub-color_cc_da_min_alpha_ca_1ms1a_max-color_1msc_1mdc_max_alpha_cc_sa_rsub-color_da_o_sub_alpha_z_dc_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_ca_1ms1a_max_alpha_da_1mda_sub-color_dc_ca_max_alpha_1msc_1msa_add-color_1mdc_1ms1a_min_alpha_1mda_1mda_min-color_1ms1c_1msc_max_alpha_1mca_1msc_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_cc_1msc_sub_alpha_z_1mcc_min-color_1msc_1ms1c_add_alpha_1mda_1mdc_sub-color_ca_sas_rsub_alpha_cc_1ms1c_max-color_1ms1c_1ms1c_rsub_alpha_da_s1a_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mca_1msc_sub_alpha_s1c_s1a_sub-color_cc_cc_max_alpha_sc_1msc_add-color_z_sas_sub_alpha_cc_sc_sub-color_z_1msa_min_alpha_z_dc_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_s1c_1msa_rsub_alpha_ca_z_rsub-color_1ms1c_s1a_max_alpha_z_1msc_add-color_1mda_1mcc_add_alpha_1msc_1mda_max-color_1ms1c_o_max_alpha_s1a_1msc_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mca_1mcc_max_alpha_1mca_ca_min-color_1mca_sa_rsub_alpha_s1a_dc_add-color_1mca_1mcc_min_alpha_1msa_1ms1a_add-color_s1c_da_max_alpha_dc_1msc_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sa_cc_add_alpha_sc_sc_add-color_dc_da_max_alpha_dc_s1a_max-color_sa_1mca_sub_alpha_1mca_1ms1c_add-color_1msa_1msa_rsub_alpha_1mda_1mcc_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1msa_1mdc_max_alpha_s1a_ca_max-color_1mda_cc_min_alpha_sas_dc_sub-color_1ms1a_sc_sub_alpha_z_dc_max-color_sc_dc_sub_alpha_s1c_o_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sas_z_max_alpha_1mcc_1msc_min-color_1msa_1msc_min_alpha_ca_s1a_add-color_1mda_1msc_max_alpha_dc_s1a_rsub-color_s1c_s1c_add_alpha_s1c_z_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1msc_sas_sub_alpha_s1a_1mda_add-color_sa_1mcc_min_alpha_cc_1mcc_sub-color_dc_1ms1a_sub_alpha_1mca_z_max-color_1msc_1msa_max_alpha_sc_s1c_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_ca_ca_rsub_alpha_1msa_s1c_rsub-color_dc_1ms1a_min_alpha_1ms1a_cc_rsub-color_ca_ca_add_alpha_s1c_sc_add-color_o_1ms1c_sub_alpha_z_1mda_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1ms1a_ca_add_alpha_1msa_cc_max-color_s1c_z_sub_alpha_sa_sc_add-color_da_da_max_alpha_s1c_cc_rsub-color_da_s1a_max_alpha_da_o_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_ca_1ms1a_sub_alpha_1msa_1mca_sub-color_1msc_da_max_alpha_o_da_add-color_s1c_s1a_max_alpha_dc_1ms1a_sub-color_s1a_z_sub_alpha_1msa_1msc_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1msc_1ms1a_add_alpha_1mdc_1msa_sub-color_dc_1ms1c_rsub_alpha_z_1mdc_sub-color_ca_1ms1c_min_alpha_sas_ca_rsub-color_1ms1c_s1c_add_alpha_z_1mda_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_dc_1mca_min_alpha_1msa_1msc_sub-color_s1a_1msc_rsub_alpha_dc_dc_max-color_sa_1mda_sub_alpha_z_da_max-color_dc_sc_max_alpha_dc_1ms1c_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1ms1c_1mda_add_alpha_cc_1mca_min-color_da_o_sub_alpha_da_1mda_max-color_z_1mcc_sub_alpha_sc_cc_sub-color_1mca_1ms1a_max_alpha_cc_dc_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_z_1mcc_sub_alpha_1mdc_sa_sub-color_s1a_s1a_rsub_alpha_cc_z_add-color_s1c_s1a_rsub_alpha_dc_1mca_add-color_1mdc_1ms1c_max_alpha_s1a_dc_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_s1c_1mda_add_alpha_s1c_ca_add-color_1mca_z_max_alpha_dc_1mcc_max-color_sa_dc_max_alpha_1ms1c_o_sub-color_1mcc_1msc_rsub_alpha_da_1mcc_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mca_1mdc_rsub_alpha_da_1ms1c_add-color_cc_ca_add_alpha_da_sas_max-color_z_1mcc_min_alpha_o_z_min-color_ca_s1c_add_alpha_1msc_s1a_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mda_da_sub_alpha_sc_ca_add-color_1msa_z_min_alpha_1mca_1mcc_min-color_o_sa_add_alpha_1mda_dc_rsub-color_sc_1mcc_min_alpha_s1a_z_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1ms1c_sa_rsub_alpha_1mda_s1c_sub-color_o_ca_min_alpha_sa_da_add-color_sa_da_min_alpha_s1c_s1c_max-color_z_s1a_max_alpha_1msa_cc_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_ca_1msa_add_alpha_dc_1ms1a_add-color_da_cc_rsub_alpha_1ms1a_s1a_max-color_sas_z_min_alpha_1mca_da_add-color_1msc_ca_min_alpha_1mdc_sc_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_da_ca_max_alpha_da_1mdc_rsub-color_sa_1msc_sub_alpha_sc_1mca_sub-color_1ms1c_s1c_add_alpha_s1c_dc_rsub-color_da_1mda_add_alpha_s1c_1msa_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_da_z_rsub_alpha_s1a_s1a_rsub-color_s1c_1msa_rsub_alpha_1mda_sc_add-color_cc_1mcc_min_alpha_sas_da_add-color_1mcc_1msc_sub_alpha_da_z_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mda_s1a_min_alpha_1msa_sc_sub-color_1msa_o_rsub_alpha_da_z_add-color_1msc_s1c_rsub_alpha_1mda_s1a_max-color_s1c_cc_add_alpha_sas_ca_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_s1a_1mda_max_alpha_s1c_1msa_rsub-color_ca_1ms1a_add_alpha_1mda_1msc_min-color_z_s1a_add_alpha_1mdc_1mcc_add-color_s1c_1mda_add_alpha_1ms1a_o_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mda_z_add_alpha_sas_1mca_min-color_cc_s1c_add_alpha_sc_o_sub-color_z_1mda_min_alpha_1mda_s1a_sub-color_s1c_sc_min_alpha_o_o_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1msc_1ms1c_sub_alpha_da_z_min-color_sa_cc_max_alpha_sc_sa_min-color_o_s1c_sub_alpha_1msa_sa_add-color_sa_1mda_rsub_alpha_cc_sc_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mdc_1mda_rsub_alpha_1mca_1mcc_min-color_dc_o_rsub_alpha_sa_z_add-color_1msc_da_max_alpha_1mca_1mca_sub-color_sa_1ms1a_sub_alpha_1msa_sc_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mca_cc_max_alpha_sas_cc_add-color_dc_1ms1a_rsub_alpha_sa_1mca_sub-color_1msc_cc_rsub_alpha_cc_o_sub-color_s1c_1msa_rsub_alpha_1mda_ca_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1ms1c_1ms1c_max_alpha_1mdc_z_sub-color_sc_z_max_alpha_1ms1c_sas_sub-color_1msc_1msc_min_alpha_s1a_ca_min-color_1msc_1msc_add_alpha_ca_da_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_s1a_s1c_rsub_alpha_sa_sas_max-color_z_1msa_min_alpha_sas_s1c_rsub-color_1mdc_1msa_rsub_alpha_sc_s1a_min-color_1mdc_sa_min_alpha_1mca_1mcc_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_s1a_1ms1c_add_alpha_1mcc_1mda_sub-color_ca_1ms1a_max_alpha_1ms1c_s1c_min-color_da_sc_sub_alpha_sc_1mcc_min-color_1mda_dc_max_alpha_ca_s1c_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_o_ca_add_alpha_z_1msa_sub-color_z_1mcc_add_alpha_1mcc_1mca_sub-color_1msa_da_rsub_alpha_cc_1ms1a_add-color_cc_1mcc_sub_alpha_1mda_1ms1c_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_ca_1msa_max_alpha_s1a_1mda_sub-color_s1a_sc_add_alpha_dc_1mca_max-color_sas_s1a_add_alpha_1msa_sas_min-color_1ms1c_1msc_sub_alpha_sc_sas_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_o_1msc_max_alpha_1ms1a_1mca_add-color_1mdc_s1c_min_alpha_ca_dc_sub-color_1mdc_s1c_sub_alpha_z_sc_min-color_ca_1mca_rsub_alpha_s1a_1ms1a_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_s1a_cc_rsub_alpha_1msc_1mcc_min-color_sc_1mdc_add_alpha_da_ca_min-color_1mcc_1mda_max_alpha_1ms1c_s1a_min-color_s1c_cc_sub_alpha_ca_1mda_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_cc_1mca_add_alpha_o_1ms1a_sub-color_1mcc_1msc_max_alpha_1mdc_sas_sub-color_ca_1mdc_min_alpha_z_1mdc_max-color_1ms1c_1mdc_min_alpha_dc_o_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sc_1mca_max_alpha_1ms1c_1mdc_sub-color_ca_1mda_sub_alpha_ca_o_rsub-color_cc_dc_add_alpha_ca_1msa_min-color_1ms1c_1mcc_max_alpha_sas_1mdc_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_ca_1ms1a_sub_alpha_1msa_1mdc_sub-color_1mda_sas_add_alpha_o_ca_add-color_sa_1mdc_sub_alpha_o_1mca_rsub-color_s1c_1msa_rsub_alpha_1msa_1mca_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_dc_1msa_sub_alpha_1mca_da_rsub-color_z_cc_add_alpha_sa_dc_add-color_s1a_1ms1a_rsub_alpha_1mca_s1c_min-color_1mdc_z_min_alpha_sc_1mcc_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_da_1ms1a_rsub_alpha_da_s1a_max-color_o_sc_max_alpha_1mcc_1msc_sub-color_1msc_1mcc_max_alpha_s1c_1mca_sub-color_ca_1mcc_max_alpha_s1a_dc_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1ms1a_sa_max_alpha_sas_sas_min-color_1ms1c_1msa_sub_alpha_1msc_o_add-color_sa_sa_rsub_alpha_cc_cc_add-color_da_da_add_alpha_s1c_da_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_s1c_sc_rsub_alpha_1msc_1ms1a_max-color_1ms1c_1mda_rsub_alpha_z_1mcc_max-color_z_sas_sub_alpha_1ms1c_s1c_sub-color_1mdc_s1c_min_alpha_sa_1mdc_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sa_1mdc_add_alpha_cc_1ms1c_sub-color_1msa_z_max_alpha_da_1mda_rsub-color_1msa_1msc_rsub_alpha_1mcc_o_min-color_1ms1c_cc_add_alpha_dc_da_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_cc_sa_sub_alpha_z_dc_rsub-color_s1a_1mdc_sub_alpha_1msc_1mdc_min-color_1mcc_ca_sub_alpha_ca_z_min-color_1mdc_s1c_min_alpha_s1c_1mdc_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sas_1mdc_rsub_alpha_s1a_z_sub-color_1msc_sc_min_alpha_s1a_sc_sub-color_sas_z_max_alpha_1msc_da_min-color_s1c_dc_rsub_alpha_o_1mcc_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mca_s1c_rsub_alpha_1mca_o_rsub-color_1msc_s1a_rsub_alpha_da_cc_max-color_o_1msc_sub_alpha_sas_da_max-color_z_o_min_alpha_cc_dc_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mcc_da_sub_alpha_s1a_z_sub-color_sas_da_max_alpha_z_1mcc_add-color_sas_da_rsub_alpha_sc_1ms1c_min-color_da_1mdc_sub_alpha_1ms1c_1msa_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1ms1a_z_sub_alpha_1mdc_s1a_min-color_1mda_1mcc_max_alpha_1msc_o_max-color_1ms1a_1mcc_min_alpha_1mcc_s1c_max-color_1mcc_1ms1a_add_alpha_sa_1mca_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_s1c_sa_min_alpha_1msc_dc_min-color_1mdc_1mca_sub_alpha_s1a_1msc_max-color_sas_ca_max_alpha_1ms1c_sas_sub-color_1msc_sas_max_alpha_1mcc_da_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_z_1msa_rsub_alpha_1msc_z_add-color_s1c_1ms1c_min_alpha_s1a_dc_max-color_1ms1a_o_max_alpha_1mca_dc_rsub-color_sc_dc_min_alpha_sas_1ms1a_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sas_s1a_add_alpha_sas_1ms1a_max-color_1msa_sas_rsub_alpha_s1a_1mca_sub-color_1mcc_1ms1a_add_alpha_sc_s1a_min-color_ca_1ms1c_max_alpha_1mca_1mcc_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1msa_1mca_add_alpha_dc_1ms1c_max-color_1msc_sc_sub_alpha_sa_s1c_rsub-color_o_1mcc_rsub_alpha_1mdc_s1c_rsub-color_ca_1mcc_sub_alpha_sas_1mca_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1ms1a_o_sub_alpha_sc_z_min-color_da_o_add_alpha_1msc_sa_min-color_1mdc_1mda_sub_alpha_sas_1mdc_max-color_1mdc_1msa_max_alpha_o_1msc_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mda_1ms1a_add_alpha_1mcc_1mca_max-color_sc_dc_sub_alpha_1msc_1ms1a_max-color_1ms1a_sa_max_alpha_da_1ms1c_add-color_1ms1a_dc_max_alpha_1ms1c_s1c_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_z_sc_add_alpha_1ms1c_sa_min-color_dc_1mca_add_alpha_z_1mca_max-color_1ms1c_sa_max_alpha_1mcc_sc_sub-color_s1c_1mda_add_alpha_s1c_1mda_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sc_sc_add_alpha_cc_cc_add-color_1ms1c_ca_sub_alpha_1msa_1mda_max-color_da_1mdc_sub_alpha_1mdc_1mda_rsub-color_1msa_1msa_min_alpha_1mca_1ms1c_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_da_o_add_alpha_1msa_1mca_sub-color_cc_1msc_min_alpha_1msa_s1a_add-color_1mca_sc_min_alpha_1msc_1ms1c_add-color_1ms1c_1mcc_add_alpha_1mdc_o_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1msa_1mda_max_alpha_1ms1c_o_rsub-color_1mda_s1a_rsub_alpha_1mca_sas_add-color_s1c_1mca_add_alpha_cc_ca_max-color_s1c_1mcc_max_alpha_s1a_o_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1ms1a_cc_max_alpha_1msa_1mca_sub-color_o_1mdc_max_alpha_1mda_1ms1c_rsub-color_sas_da_max_alpha_1msa_1msc_add-color_sc_1msc_add_alpha_sas_1ms1a_rsub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sc_1ms1c_rsub_alpha_1msc_s1a_rsub-color_1ms1a_1msc_max_alpha_1mda_sc_sub-color_1msa_dc_min_alpha_1msa_1mca_add-color_da_1mcc_rsub_alpha_1ms1c_sa_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_s1a_s1a_sub_alpha_sc_1msa_rsub-color_sc_1mcc_add_alpha_s1a_1ms1c_rsub-color_1mdc_ca_rsub_alpha_1mda_1ms1c_rsub-color_1ms1a_1msc_min_alpha_o_sas_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sa_1mdc_rsub_alpha_1mda_cc_sub-color_1msc_z_max_alpha_o_s1c_sub-color_1ms1a_1msc_sub_alpha_ca_sa_sub-color_ca_ca_max_alpha_cc_s1a_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_o_cc_add_alpha_o_s1c_add-color_1mdc_1mcc_min_alpha_1ms1a_1mcc_sub-color_sas_1msa_sub_alpha_1ms1c_1mda_add-color_1msa_o_add_alpha_dc_sc_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1ms1a_sa_add_alpha_o_1ms1a_max-color_sa_1ms1c_add_alpha_s1a_s1c_max-color_sc_1mdc_add_alpha_1ms1a_1mdc_sub-color_da_sa_sub_alpha_1mcc_sc_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1ms1c_s1c_min_alpha_1ms1c_cc_add-color_sas_sas_max_alpha_1mca_dc_min-color_1msc_1ms1c_min_alpha_dc_1mdc_add-color_1mdc_s1a_rsub_alpha_o_1mda_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mca_ca_max_alpha_sa_cc_add-color_o_cc_min_alpha_1mda_1ms1c_max-color_z_1msa_max_alpha_1mda_da_rsub-color_sc_1mca_add_alpha_sc_1mca_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_o_sas_rsub_alpha_1msc_1mcc_rsub-color_z_s1a_sub_alpha_da_s1c_add-color_1mda_sc_add_alpha_z_z_rsub-color_1ms1a_sc_sub_alpha_sa_1msa_sub + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_sas_s1c_add_alpha_1mca_1mca_sub-color_1mdc_sc_max_alpha_1msa_s1c_rsub-color_1msa_1mdc_max_alpha_1mca_1mdc_max-color_s1c_ca_min_alpha_1ms1c_1msc_min + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_cc_1mcc_max_alpha_z_o_add-color_sa_s1a_max_alpha_1msa_dc_min-color_sc_cc_add_alpha_dc_1msa_sub-color_1ms1a_o_max_alpha_1ms1a_sc_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_cc_ca_sub_alpha_1ms1c_da_add-color_ca_dc_sub_alpha_s1c_sc_add-color_sc_sa_min_alpha_1ms1c_1mda_min-color_1ms1c_dc_rsub_alpha_1msc_1msc_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mca_1mdc_min_alpha_ca_1ms1a_min-color_o_s1a_add_alpha_s1a_ca_add-color_sas_1mca_add_alpha_1msc_sa_sub-color_sc_1msc_max_alpha_1msc_sas_max + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1mcc_s1c_max_alpha_da_sc_add-color_dc_1mcc_sub_alpha_s1a_o_sub-color_1ms1a_da_sub_alpha_cc_da_max-color_1msa_s1a_max_alpha_ca_s1a_add + dEQP-VK.pipeline.blend.dual_source.format.r10x6g10x6b10x6a10x6_unorm_4pack16.states.color_1ms1a_o_rsub_alpha_o_sas_max-color_z_1msa_min_alpha_dc_sc_rsub-color_sc_1mda_add_alpha_1ms1c_cc_max-color_s1a_1ms1c_max_alpha_1mca_o_rsub +dEQP-VK.pipeline.depth.depth_clip_control.d16_unorm_always +dEQP-VK.pipeline.depth.depth_clip_control.d16_unorm_less +dEQP-VK.pipeline.depth.depth_clip_control.x8_d24_unorm_pack32_always +dEQP-VK.pipeline.depth.depth_clip_control.x8_d24_unorm_pack32_less +dEQP-VK.pipeline.depth.depth_clip_control.d32_sfloat_always +dEQP-VK.pipeline.depth.depth_clip_control.d32_sfloat_less +dEQP-VK.pipeline.depth.depth_clip_control.d16_unorm_s8_uint_always +dEQP-VK.pipeline.depth.depth_clip_control.d16_unorm_s8_uint_less +dEQP-VK.pipeline.depth.depth_clip_control.d24_unorm_s8_uint_always +dEQP-VK.pipeline.depth.depth_clip_control.d24_unorm_s8_uint_less +dEQP-VK.pipeline.depth.depth_clip_control.d32_sfloat_s8_uint_always +dEQP-VK.pipeline.depth.depth_clip_control.d32_sfloat_s8_uint_less dEQP-VK.pipeline.dynamic_offset.graphics.multiset.uniform_buffer.numcmdbuffers_1.sameorder.numdescriptorsetbindings_1.numdynamicbindings_1.numnondynamicbindings_0 dEQP-VK.pipeline.dynamic_offset.graphics.multiset.uniform_buffer.numcmdbuffers_1.sameorder.numdescriptorsetbindings_1.numdynamicbindings_1.numnondynamicbindings_1 dEQP-VK.pipeline.dynamic_offset.graphics.multiset.uniform_buffer.numcmdbuffers_1.sameorder.numdescriptorsetbindings_1.numdynamicbindings_2.numnondynamicbindings_0 diff --cc external/vulkancts/framework/vulkan/vkBasicTypes.inl index ff5c410,fcf8dd1..65e9bd8 --- a/external/vulkancts/framework/vulkan/vkBasicTypes.inl +++ b/external/vulkancts/framework/vulkan/vkBasicTypes.inl @@@ -667,10 -676,9 +676,11 @@@ enum VkStructureTyp VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009, VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, diff --cc external/vulkancts/framework/vulkan/vkDeviceFeatures.inl index 61221f1,a3d894e..ad55ad9 --- a/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl @@@ -297,68 -303,71 +305,72 @@@ template<> void initFeatureFromBlob void initFeatureFromBlob(VkPhysicalDevicePortabilitySubsetFeaturesKHR&, const AllFeaturesBlobs&) {} - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 98}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 97}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 96}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 95}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 94}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 93}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 92}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 91}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 90}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 89}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 88}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 87}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 86}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 85}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 84}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 83}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 82}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 81}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 80}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 79}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 78}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 77}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 76}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 75}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 74}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION, 73}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION, 72}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 71}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 70}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 69}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 68}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 67}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 66}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT, VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION, 65}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 64}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 63}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 62}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 61}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 60}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 59}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION, 58}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 57}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 56}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 55}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 54}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 53}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION, 52}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION, 51}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 50}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 49}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 48}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 47}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 46}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION, 45}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION, 44}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 43}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 42}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 41}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION, 40}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION, 39}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 38}; } - template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 37}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 101}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 100}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 99}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 98}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 97}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 96}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 95}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 94}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 93}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 92}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 91}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 90}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 89}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 88}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 87}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 86}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 85}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 84}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 102}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 101}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 100}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 99}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 98}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 97}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 96}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 95}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 94}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 93}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 92}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 91}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 90}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 89}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 88}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 87}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 86}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 85}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 84}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 83}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 82}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 81}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 80}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 79}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 78}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 77}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 76}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION, 75}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION, 74}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 73}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 72}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 71}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 70}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 69}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 68}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT, VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION, 67}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 66}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 65}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 64}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 63}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 62}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 61}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION, 60}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 59}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR, DECL_KHR_MAINTENANCE_4_EXTENSION_NAME, 0, 58}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 57}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 56}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 55}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 54}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION, 53}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION, 52}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 51}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 50}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 49}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 48}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 47}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION, 46}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION, 45}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 44}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 43}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 42}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION, 41}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION, 40}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 39}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 38}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME, VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION, 37}; } template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 36}; } template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 35}; } template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 34}; } diff --cc external/vulkancts/framework/vulkan/vkObjUtil.cpp index de94283,4bdd05c..e0a4a6a --- a/external/vulkancts/framework/vulkan/vkObjUtil.cpp +++ b/external/vulkancts/framework/vulkan/vkObjUtil.cpp @@@ -362,8 -309,216 +363,122 @@@ Move makeGraphicsPipeline ( multisampleStateCreateInfo ? multisampleStateCreateInfo: &multisampleStateCreateInfoDefault, // const VkPipelineMultisampleStateCreateInfo* pMultisampleState depthStencilStateCreateInfo ? depthStencilStateCreateInfo : &depthStencilStateCreateInfoDefault, // const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState colorBlendStateCreateInfo ? colorBlendStateCreateInfo : &colorBlendStateCreateInfoDefault, // const VkPipelineColorBlendStateCreateInfo* pColorBlendState - dynamicStateCreateInfo ? dynamicStateCreateInfo : dynamicStateCreateInfoDefaultPtr, // const VkPipelineDynamicStateCreateInfo* pDynamicState + dynamicStateCreateInfo ? dynamicStateCreateInfo : DE_NULL, // const VkPipelineDynamicStateCreateInfo* pDynamicState pipelineLayout, // VkPipelineLayout layout + renderPass, // VkRenderPass renderPass + subpass, // deUint32 subpass + DE_NULL, // VkPipeline basePipelineHandle + 0 // deInt32 basePipelineIndex; + }; + + return createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo); + } + + Move makeGraphicsPipeline (const DeviceInterface& vk, + const VkDevice device, + const VkPipelineLayout pipelineLayout, - const VkShaderModule vertexShaderModule, - const VkShaderModule tessellationControlShaderModule, - const VkShaderModule tessellationEvalShaderModule, - const VkShaderModule geometryShaderModule, - const VkShaderModule fragmentShaderModule, - const VkRenderPass renderPass, - const deUint32 subpass, - const VkPipelineVertexInputStateCreateInfo* vertexInputStateCreateInfo, - const VkPipelineInputAssemblyStateCreateInfo* inputAssemblyStateCreateInfo, - const VkPipelineTessellationStateCreateInfo* tessStateCreateInfo, - const VkPipelineViewportStateCreateInfo* viewportStateCreateInfo, - const VkPipelineRasterizationStateCreateInfo* rasterizationStateCreateInfo, - const VkPipelineMultisampleStateCreateInfo* multisampleStateCreateInfo, - const VkPipelineDepthStencilStateCreateInfo* depthStencilStateCreateInfo, - const VkPipelineColorBlendStateCreateInfo* colorBlendStateCreateInfo, - const VkPipelineDynamicStateCreateInfo* dynamicStateCreateInfo, - const void* pNext) -{ - VkPipelineShaderStageCreateInfo stageCreateInfo = - { - VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, // VkStructureType sType - DE_NULL, // const void* pNext - 0u, // VkPipelineShaderStageCreateFlags flags - VK_SHADER_STAGE_VERTEX_BIT, // VkShaderStageFlagBits stage - DE_NULL, // VkShaderModule module - "main", // const char* pName - DE_NULL // const VkSpecializationInfo* pSpecializationInfo - }; - - std::vector pipelineShaderStageParams; - - { - stageCreateInfo.stage = VK_SHADER_STAGE_VERTEX_BIT; - stageCreateInfo.module = vertexShaderModule; - pipelineShaderStageParams.push_back(stageCreateInfo); - } - - if (tessellationControlShaderModule != DE_NULL) - { - stageCreateInfo.stage = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT; - stageCreateInfo.module = tessellationControlShaderModule; - pipelineShaderStageParams.push_back(stageCreateInfo); - } - - if (tessellationEvalShaderModule != DE_NULL) - { - stageCreateInfo.stage = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT; - stageCreateInfo.module = tessellationEvalShaderModule; - pipelineShaderStageParams.push_back(stageCreateInfo); - } - - if (geometryShaderModule != DE_NULL) - { - stageCreateInfo.stage = VK_SHADER_STAGE_GEOMETRY_BIT; - stageCreateInfo.module = geometryShaderModule; - pipelineShaderStageParams.push_back(stageCreateInfo); - } - - if (fragmentShaderModule != DE_NULL) - { - stageCreateInfo.stage = VK_SHADER_STAGE_FRAGMENT_BIT; - stageCreateInfo.module = fragmentShaderModule; - pipelineShaderStageParams.push_back(stageCreateInfo); - } - - const VkGraphicsPipelineCreateInfo pipelineCreateInfo = - { - VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, // VkStructureType sType - pNext, // const void* pNext - 0u, // VkPipelineCreateFlags flags - (deUint32)pipelineShaderStageParams.size(), // deUint32 stageCount - &pipelineShaderStageParams[0], // const VkPipelineShaderStageCreateInfo* pStages - vertexInputStateCreateInfo, // const VkPipelineVertexInputStateCreateInfo* pVertexInputState - inputAssemblyStateCreateInfo, // const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState - tessStateCreateInfo, // const VkPipelineTessellationStateCreateInfo* pTessellationState - viewportStateCreateInfo, // const VkPipelineViewportStateCreateInfo* pViewportState - rasterizationStateCreateInfo, // const VkPipelineRasterizationStateCreateInfo* pRasterizationState - multisampleStateCreateInfo, // const VkPipelineMultisampleStateCreateInfo* pMultisampleState - depthStencilStateCreateInfo, // const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState - colorBlendStateCreateInfo, // const VkPipelineColorBlendStateCreateInfo* pColorBlendState - dynamicStateCreateInfo, // const VkPipelineDynamicStateCreateInfo* pDynamicState - pipelineLayout, // VkPipelineLayout layout - renderPass, // VkRenderPass renderPass - subpass, // deUint32 subpass - DE_NULL, // VkPipeline basePipelineHandle - 0 // deInt32 basePipelineIndex; - }; - - return createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo); -} - -Move makeGraphicsPipeline (const DeviceInterface& vk, - const VkDevice device, - const VkPipelineLayout pipelineLayout, + const VkShaderModule taskShaderModule, + const VkShaderModule meshShaderModule, + const VkShaderModule fragmentShaderModule, + const VkRenderPass renderPass, + const std::vector& viewports, + const std::vector& scissors, + const deUint32 subpass, + const VkPipelineRasterizationStateCreateInfo* rasterizationStateCreateInfo, + const VkPipelineMultisampleStateCreateInfo* multisampleStateCreateInfo, + const VkPipelineDepthStencilStateCreateInfo* depthStencilStateCreateInfo, + const VkPipelineColorBlendStateCreateInfo* colorBlendStateCreateInfo, + const VkPipelineDynamicStateCreateInfo* dynamicStateCreateInfo) + { + const VkBool32 disableRasterization = (fragmentShaderModule == DE_NULL); + + VkPipelineShaderStageCreateInfo stageCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, // VkStructureType sType + nullptr, // const void* pNext + 0u, // VkPipelineShaderStageCreateFlags flags + VK_SHADER_STAGE_VERTEX_BIT, // VkShaderStageFlagBits stage + DE_NULL, // VkShaderModule module + "main", // const char* pName + nullptr // const VkSpecializationInfo* pSpecializationInfo + }; + + std::vector pipelineShaderStageParams; + + if (taskShaderModule != DE_NULL) + { + stageCreateInfo.stage = VK_SHADER_STAGE_TASK_BIT_NV; + stageCreateInfo.module = taskShaderModule; + pipelineShaderStageParams.push_back(stageCreateInfo); + } + + { + stageCreateInfo.stage = VK_SHADER_STAGE_MESH_BIT_NV; + stageCreateInfo.module = meshShaderModule; + pipelineShaderStageParams.push_back(stageCreateInfo); + } + + if (fragmentShaderModule != DE_NULL) + { + stageCreateInfo.stage = VK_SHADER_STAGE_FRAGMENT_BIT; + stageCreateInfo.module = fragmentShaderModule; + pipelineShaderStageParams.push_back(stageCreateInfo); + } + + VkPipelineViewportStateCreateInfo viewportStateCreateInfo = initVulkanStructure(); + viewportStateCreateInfo.viewportCount = static_cast(viewports.size()); + viewportStateCreateInfo.pViewports = de::dataOrNull(viewports); + viewportStateCreateInfo.scissorCount = static_cast(scissors.size()); + viewportStateCreateInfo.pScissors = de::dataOrNull(scissors); + + VkPipelineRasterizationStateCreateInfo rasterizationStateCreateInfoDefault = initVulkanStructure(); + rasterizationStateCreateInfoDefault.rasterizerDiscardEnable = disableRasterization; + rasterizationStateCreateInfoDefault.lineWidth = 1.0f; + + VkPipelineMultisampleStateCreateInfo multisampleStateCreateInfoDefault = initVulkanStructure(); + multisampleStateCreateInfoDefault.rasterizationSamples = VK_SAMPLE_COUNT_1_BIT; + multisampleStateCreateInfoDefault.minSampleShading = 1.0f; + + VkPipelineDepthStencilStateCreateInfo depthStencilStateCreateInfoDefault = initVulkanStructure(); + depthStencilStateCreateInfoDefault.maxDepthBounds = 1.0f; + + VkPipelineColorBlendAttachmentState colorBlendAttachmentState = {}; + colorBlendAttachmentState.colorWriteMask = (VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT); + + VkPipelineColorBlendStateCreateInfo colorBlendStateCreateInfoDefault = initVulkanStructure(); + colorBlendStateCreateInfoDefault.attachmentCount = 1u; + colorBlendStateCreateInfoDefault.pAttachments = &colorBlendAttachmentState; + + std::vector dynamicStates; + + if (viewports.empty()) + dynamicStates.push_back(VK_DYNAMIC_STATE_VIEWPORT); + if (scissors.empty()) + dynamicStates.push_back(VK_DYNAMIC_STATE_SCISSOR); + + VkPipelineDynamicStateCreateInfo dynamicStateCreateInfoDefault = initVulkanStructure(); + dynamicStateCreateInfoDefault.dynamicStateCount = static_cast(dynamicStates.size()); + dynamicStateCreateInfoDefault.pDynamicStates = de::dataOrNull(dynamicStates); + + const VkPipelineDynamicStateCreateInfo* dynamicStateCreateInfoDefaultPtr = dynamicStates.empty() ? nullptr : &dynamicStateCreateInfoDefault; + + const VkGraphicsPipelineCreateInfo pipelineCreateInfo = + { + VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, // VkStructureType sType + nullptr, // const void* pNext + 0u, // VkPipelineCreateFlags flags + static_cast(pipelineShaderStageParams.size()), // deUint32 stageCount + de::dataOrNull(pipelineShaderStageParams), // const VkPipelineShaderStageCreateInfo* pStages + nullptr, // const VkPipelineVertexInputStateCreateInfo* pVertexInputState + nullptr, // const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState + nullptr, // const VkPipelineTessellationStateCreateInfo* pTessellationState + &viewportStateCreateInfo, // const VkPipelineViewportStateCreateInfo* pViewportState + rasterizationStateCreateInfo ? rasterizationStateCreateInfo : &rasterizationStateCreateInfoDefault, // const VkPipelineRasterizationStateCreateInfo* pRasterizationState + multisampleStateCreateInfo ? multisampleStateCreateInfo : &multisampleStateCreateInfoDefault, // const VkPipelineMultisampleStateCreateInfo* pMultisampleState + depthStencilStateCreateInfo ? depthStencilStateCreateInfo : &depthStencilStateCreateInfoDefault, // const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState + colorBlendStateCreateInfo ? colorBlendStateCreateInfo : &colorBlendStateCreateInfoDefault, // const VkPipelineColorBlendStateCreateInfo* pColorBlendState + dynamicStateCreateInfo ? dynamicStateCreateInfo : dynamicStateCreateInfoDefaultPtr, // const VkPipelineDynamicStateCreateInfo* pDynamicState + pipelineLayout, // VkPipelineLayout layout renderPass, // VkRenderPass renderPass subpass, // deUint32 subpass DE_NULL, // VkPipeline basePipelineHandle diff --cc external/vulkancts/framework/vulkan/vkStrUtilImpl.inl index 06d64c5,2af4780..af2aec6 --- a/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl +++ b/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl @@@ -668,10 -677,9 +677,11 @@@ const char* getStructureTypeName (VkStr case VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR: return "VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR"; case VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT"; case VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT"; case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE: return "VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT"; case VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT: return "VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT"; diff --cc external/vulkancts/framework/vulkan/vkVulkan_c.inl index ce35138,c6ada17..987a55b --- a/external/vulkancts/framework/vulkan/vkVulkan_c.inl +++ b/external/vulkancts/framework/vulkan/vkVulkan_c.inl @@@ -1723,10 -1732,9 +1732,11 @@@ typedef enum VkStructureType VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009, VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, diff --cc external/vulkancts/scripts/src/vulkan_core.h index fda8555,f8576cc..5e7d35f --- a/external/vulkancts/scripts/src/vulkan_core.h +++ b/external/vulkancts/scripts/src/vulkan_core.h @@@ -819,10 -828,9 +828,11 @@@ typedef enum VkStructureType VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009, VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,