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 7c0cceb1b33..391edced54e 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -3795,7 +3795,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 07a78528f5a..a73b54f08b1 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 d9c638375f3..21e91eabd90 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,