dEQP-VK.drm_format_modifiers.export_import.r8g8_unorm,Crash
dEQP-VK.drm_format_modifiers.export_import.r8g8b8a8_srgb,Crash
-# 1.3.3.0 uprev:
-dEQP-VK.draw.dynamic_rendering.linear_interpolation.no_offset_16_samples,Fail
-dEQP-VK.draw.dynamic_rendering.linear_interpolation.no_offset_2_samples,Fail
-dEQP-VK.draw.dynamic_rendering.linear_interpolation.no_offset_8_samples,Fail
-dEQP-VK.draw.dynamic_rendering.linear_interpolation.offset_min_16_samples,Fail
-dEQP-VK.draw.dynamic_rendering.linear_interpolation.offset_min_2_samples,Fail
-dEQP-VK.draw.dynamic_rendering.linear_interpolation.offset_min_4_samples,Fail
-dEQP-VK.draw.dynamic_rendering.linear_interpolation.offset_min_8_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.no_offset_2_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.no_offset_4_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.no_offset_8_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.offset_max_16_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.offset_max_2_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.offset_max_4_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.offset_max_8_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.offset_min_16_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.offset_min_4_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.offset_min_8_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.offset_min_2_samples,Fail
-
# sharding from 10 to 12 jobs
-dEQP-VK.draw.dynamic_rendering.linear_interpolation.offset_max_2_samples,Fail
-dEQP-VK.draw.dynamic_rendering.linear_interpolation.offset_max_16_samples,Fail
dEQP-VK.drm_format_modifiers.export_import.r8g8b8a8_unorm,Crash
dEQP-VK.drm_format_modifiers.export_import_fmt_features2.a4r4g4b4_unorm_pack16,Crash
dEQP-VK.drm_format_modifiers.export_import_fmt_features2.b5g6r5_unorm_pack16,Crash
dEQP-VK.dynamic_rendering.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_dontcare,Crash
# New CTS failures in 1.3.5.0
-dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.offset_max_2_samples,Fail
-dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.no_offset_4_samples,Fail
-dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_max_2_samples,Fail
-dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_max_4_samples,Fail
-dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_min_2_samples,Fail
-dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_min_4_samples,Fail
-dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.no_offset_4_samples,Fail
-dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_max_8_samples,Fail
-dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_min_16_samples,Fail
-dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_min_2_samples,Fail
-dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_min_4_samples,Fail
-dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_min_8_samples,Fail
-dEQP-VK.draw.renderpass.linear_interpolation.no_offset_16_samples,Fail
dEQP-VK.drm_format_modifiers.export_import_fmt_features2.b4g4r4a4_unorm_pack16,Crash
case nir_intrinsic_load_barycentric_pixel:
case nir_intrinsic_load_barycentric_centroid:
case nir_intrinsic_load_barycentric_sample:
+ case nir_intrinsic_load_barycentric_at_sample:
+ case nir_intrinsic_load_barycentric_at_offset:
break;
default:
continue;
prog_data->barycentric_interp_modes =
brw_compute_barycentric_interp_modes(devinfo, shader);
+
+ /* From the BDW PRM documentation for 3DSTATE_WM:
+ *
+ * "MSDISPMODE_PERSAMPLE is required in order to select Perspective
+ * Sample or Non- perspective Sample barycentric coordinates."
+ *
+ * So cleanup any potentially set sample barycentric mode when not in per
+ * sample dispatch.
+ */
+ if (prog_data->persample_dispatch == BRW_NEVER) {
+ prog_data->barycentric_interp_modes &=
+ ~BITFIELD_BIT(BRW_BARYCENTRIC_PERSPECTIVE_SAMPLE);
+ }
+
prog_data->uses_nonperspective_interp_modes |=
(prog_data->barycentric_interp_modes &
BRW_BARYCENTRIC_NONPERSPECTIVE_BITS) != 0;