intel/fs: handle interpolation modes for at_sample and at_offset too
Fixes dEQP-VK.draw.*.linear_interpolation.* Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: mesa-stable Reviewed-by: Ivan Briano <ivan.briano@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19647>
This commit is contained in:
@@ -46,29 +46,7 @@ dEQP-VK.drm_format_modifiers.export_import.r8_unorm,Crash
|
|||||||
dEQP-VK.drm_format_modifiers.export_import.r8g8_unorm,Crash
|
dEQP-VK.drm_format_modifiers.export_import.r8g8_unorm,Crash
|
||||||
dEQP-VK.drm_format_modifiers.export_import.r8g8b8a8_srgb,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
|
# 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.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.a4r4g4b4_unorm_pack16,Crash
|
||||||
dEQP-VK.drm_format_modifiers.export_import_fmt_features2.b5g6r5_unorm_pack16,Crash
|
dEQP-VK.drm_format_modifiers.export_import_fmt_features2.b5g6r5_unorm_pack16,Crash
|
||||||
@@ -84,17 +62,4 @@ dEQP-VK.dynamic_rendering.suballocation.load_store_op_none.stencil_d24_unorm_s8_
|
|||||||
dEQP-VK.dynamic_rendering.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_dontcare,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
|
# 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
|
dEQP-VK.drm_format_modifiers.export_import_fmt_features2.b4g4r4a4_unorm_pack16,Crash
|
||||||
|
@@ -7159,6 +7159,8 @@ brw_compute_barycentric_interp_modes(const struct intel_device_info *devinfo,
|
|||||||
case nir_intrinsic_load_barycentric_pixel:
|
case nir_intrinsic_load_barycentric_pixel:
|
||||||
case nir_intrinsic_load_barycentric_centroid:
|
case nir_intrinsic_load_barycentric_centroid:
|
||||||
case nir_intrinsic_load_barycentric_sample:
|
case nir_intrinsic_load_barycentric_sample:
|
||||||
|
case nir_intrinsic_load_barycentric_at_sample:
|
||||||
|
case nir_intrinsic_load_barycentric_at_offset:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
continue;
|
continue;
|
||||||
@@ -7375,6 +7377,20 @@ brw_nir_populate_wm_prog_data(const nir_shader *shader,
|
|||||||
|
|
||||||
prog_data->barycentric_interp_modes =
|
prog_data->barycentric_interp_modes =
|
||||||
brw_compute_barycentric_interp_modes(devinfo, shader);
|
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->uses_nonperspective_interp_modes |=
|
||||||
(prog_data->barycentric_interp_modes &
|
(prog_data->barycentric_interp_modes &
|
||||||
BRW_BARYCENTRIC_NONPERSPECTIVE_BITS) != 0;
|
BRW_BARYCENTRIC_NONPERSPECTIVE_BITS) != 0;
|
||||||
|
Reference in New Issue
Block a user