diff --git a/.pick_status.json b/.pick_status.json index d1d6d590161..8efa082718f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -6414,7 +6414,7 @@ "description": "intel: Disable 16x MSAA support on Xe3", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/iris/iris_formats.c b/src/gallium/drivers/iris/iris_formats.c index 01cc3c2d871..1447667da21 100644 --- a/src/gallium/drivers/iris/iris_formats.c +++ b/src/gallium/drivers/iris/iris_formats.c @@ -112,7 +112,7 @@ iris_is_format_supported(struct pipe_screen *pscreen, { struct iris_screen *screen = (struct iris_screen *) pscreen; const struct intel_device_info *devinfo = screen->devinfo; - uint32_t max_samples = devinfo->ver == 8 ? 8 : 16; + uint32_t max_samples = devinfo->ver == 8 || devinfo->ver >= 30 ? 8 : 16; if (sample_count > max_samples || !util_is_power_of_two_or_zero(sample_count)) diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index e5905f8296a..d23296fafa6 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -3796,7 +3796,8 @@ iris_set_framebuffer_state(struct pipe_context *ctx, ice->state.dirty |= IRIS_DIRTY_MULTISAMPLE; /* We need to toggle 3DSTATE_PS::32 Pixel Dispatch Enable */ - if (GFX_VER >= 9 && (cso->samples == 16 || samples == 16)) + if (GFX_VER >= 9 && GFX_VER < 30 && + (cso->samples == 16 || samples == 16)) ice->state.stage_dirty |= IRIS_STAGE_DIRTY_FS; /* We may need to emit blend state for Wa_14018912822. */ diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c index 234e2fe7c9c..4cb7471b7c9 100644 --- a/src/intel/isl/isl.c +++ b/src/intel/isl/isl.c @@ -511,7 +511,7 @@ isl_device_get_supported_tilings(const struct isl_device *dev) isl_sample_count_mask_t ATTRIBUTE_CONST isl_device_get_sample_counts(const struct isl_device *dev) { - if (ISL_GFX_VER(dev) >= 9) { + if (ISL_GFX_VER(dev) >= 9 && ISL_GFX_VER(dev) < 30) { return ISL_SAMPLE_COUNT_1_BIT | ISL_SAMPLE_COUNT_2_BIT | ISL_SAMPLE_COUNT_4_BIT | diff --git a/src/intel/vulkan/anv_physical_device.c b/src/intel/vulkan/anv_physical_device.c index 982fc98c7eb..68d9b1d8115 100644 --- a/src/intel/vulkan/anv_physical_device.c +++ b/src/intel/vulkan/anv_physical_device.c @@ -478,6 +478,7 @@ get_features(const struct anv_physical_device *pdevice, .sparseResidency8Samples = has_sparse_or_fake && pdevice->info.verx10 != 125, .sparseResidency16Samples = has_sparse_or_fake && + pdevice->info.ver < 30 && pdevice->info.verx10 != 125, .variableMultisampleRate = true, .inheritedQueries = true,