From 01c4bac36e767dc96aef87fa7445a34c7c8f9132 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 5 Nov 2020 13:18:57 +1000 Subject: [PATCH] lavapipe: disable SNORM blending for now dEQP-VK.pipeline.blend.dual_source.format.r16g16b16a16_snorm.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,Fail dEQP-VK.pipeline.blend.dual_source.format.r8g8_snorm.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,Fail dEQP-VK.pipeline.blend.dual_source.format.r8g8b8a8_snorm.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,Fail dEQP-VK.pipeline.blend.dual_source.format.r8g8b8a8_snorm.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,Fail dEQP-VK.pipeline.blend.format.r16g16b16a16_snorm.states.color_ca_1mca_rsub_alpha_1mda_z_sub-color_sc_sc_add_alpha_1mca_sa_max-color_sa_1msa_min_alpha_1msc_sa_sub-color_dc_sc_add_alpha_1mdc_1mca_add,Fail dEQP-VK.pipeline.blend.format.r8g8b8a8_snorm.states.color_ca_1mca_rsub_alpha_1mda_z_sub-color_sc_sc_add_alpha_1mca_sa_max-color_sa_1msa_min_alpha_1msc_sa_sub-color_dc_sc_add_alpha_1mdc_1mca_add,Fail All fail due to the 1 - mdc or 1 - mca alpha channel in the last quadrant. Cc: 20.3 Reviewed-by: Roland Scheidegger Part-of: --- src/gallium/frontends/lavapipe/lvp_formats.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/frontends/lavapipe/lvp_formats.c b/src/gallium/frontends/lavapipe/lvp_formats.c index b5123306e8b..be5da7c1f00 100644 --- a/src/gallium/frontends/lavapipe/lvp_formats.c +++ b/src/gallium/frontends/lavapipe/lvp_formats.c @@ -208,7 +208,9 @@ lvp_physical_device_get_format_properties(struct lvp_physical_device *physical_d if (physical_device->pscreen->is_format_supported(physical_device->pscreen, pformat, PIPE_TEXTURE_2D, 0, 0, PIPE_BIND_RENDER_TARGET)) { features |= VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT; - features |= VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT; + /* SNORM blending on llvmpipe fails CTS - disable for now */ + if (!util_format_is_snorm(pformat)) + features |= VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT; features |= VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT; }