anv/drirc: disable Xe2 CCS drm modifiers for GTK engine

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38373>
This commit is contained in:
Tapani Pälli 2025-12-02 10:58:52 +02:00 committed by Marge Bot
parent 68c1a8230d
commit 2418c91537
5 changed files with 17 additions and 0 deletions

View file

@ -1943,6 +1943,12 @@ anv_image_init(struct anv_device *device, struct anv_image *image,
*/
isl_extra_usage_flags |= ISL_SURF_USAGE_DISABLE_AUX_BIT;
}
/* Workaround to disable XE2 CCS modifiers from drirc. */
if (device->info->ver == 20 &&
image->vk.tiling == VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT &&
device->physical->instance->disable_xe2_drm_ccs_modifiers)
isl_extra_usage_flags |= ISL_SURF_USAGE_DISABLE_AUX_BIT;
}
/* Fill out the list of view formats. */

View file

@ -19,6 +19,7 @@ static const driOptionDescription anv_dri_options[] = {
DRI_CONF_ANV_ASSUME_FULL_SUBGROUPS_WITH_SHARED_MEMORY(false)
DRI_CONF_ANV_DISABLE_FCV(false)
DRI_CONF_ANV_ENABLE_BUFFER_COMP(false)
DRI_CONF_ANV_DISABLE_DRM_AUX_MODIFIERS(false)
DRI_CONF_ANV_EXTERNAL_MEMORY_IMPLICIT_SYNC(true)
DRI_CONF_ANV_FORCE_GUC_LOW_LATENCY(false)
DRI_CONF_ANV_SAMPLE_MASK_OUT_OPENGL_BEHAVIOUR(false)
@ -222,6 +223,8 @@ anv_init_dri_options(struct anv_instance *instance)
driQueryOptionb(&instance->dri_options, "anv_vf_component_packing");
instance->lower_terminate_to_discard =
driQueryOptionb(&instance->dri_options, "vk_lower_terminate_to_discard");
instance->disable_xe2_drm_ccs_modifiers =
driQueryOptionb(&instance->dri_options, "anv_disable_drm_ccs_modifiers");
if (instance->vk.app_info.engine_name &&
!strcmp(instance->vk.app_info.engine_name, "DXVK")) {

View file

@ -1778,6 +1778,7 @@ struct anv_instance {
bool has_fake_sparse;
bool disable_fcv;
bool enable_buffer_comp;
bool disable_xe2_drm_ccs_modifiers;
bool compression_control_enabled;
bool anv_fake_nonlocal_memory;
bool anv_upper_bound_descriptor_pool_sampler;

View file

@ -1132,6 +1132,9 @@ TODO: document the other workarounds.
<engine engine_name_match="GTK" engine_versions="16777216:16859138">
<option name="vk_wsi_disable_unordered_submits" value="true" />
</engine>
<engine engine_name_match="GTK">
<option name="anv_disable_drm_ccs_modifiers" value="true" />
</engine>
<!--
Disable 16-bit feature on zink and angle so that GLES mediump doesn't
lower to our inefficent 16-bit shader support. No need to do so for

View file

@ -914,6 +914,10 @@
DRI_CONF_OPT_B(force_guc_low_latency, def, \
"Enable low latency GuC strategy.")
#define DRI_CONF_ANV_DISABLE_DRM_AUX_MODIFIERS(def) \
DRI_CONF_OPT_B(anv_disable_drm_ccs_modifiers, def, \
"Disable DRM CCS modifier usage")
/**
* \brief HASVK specific configuration options
*/