Skip to content

Draft: intel/isl: [PRILIMINARY] Remove TileX support on Xe2

jxzgithub requested to merge lnl-disable-tile-x-upstream into xe2-split-isl-gfx20

The current approach to differentiate compression in anv driver is with a new compressed memory type. TileX doesn't support PAT-based compression on Xe2 (Bspec 58797 (r58646)), so anv can return a non-compressed memory type once for an image created with TileX. Returning different memory types on a VK tiling, optimal or modifier, is not compliant with Vulkan spec:

  • " For images created with a color format, the memoryTypeBits member is identical for all VkImage objects created with the same combination of values for the tiling member, the VK_IMAGE_CREATE_SPARSE_BINDING_BIT bit and VK_IMAGE_CREATE_PROTECTED_BIT bit of the flags member, the VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT bit of the flags member, the VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT bit of the usage member if the VkPhysicalDeviceHostImageCopyPropertiesEXT ::identicalMemoryTypeRequirements property is VK_FALSE, handleTypes member of VkExternalMemoryImageCreateInfo, and the VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT of the usage member in the VkImageCreateInfo structure passed to vkCreateImage. "

(https://registry.khronos.org/vulkan/specs/1.3-extensions/html/ vkspec.html#VkMemoryRequirements)

We also don't see much value of internal usage of TileX in dirvers though sharing TileX images could still be a small use case.

Signed-off-by: Jianxun Zhang jianxun.zhang@intel.com

Merge request reports