Skip to content

Intel: Fix aux alignment issues in anv driver

jxzgithub requested to merge jxzgithub/mesa:update-aux-alignment-interface into main

What does this MR do and why?

Non-dedicated allocation may or may not satisfy enabling aux in binding time, and this causes some problems:

  1. When binding the allocated memory to an image created without modifiers, the result of aux is not deterministic. This could cause inconsistent performance results.

  2. For images created with a modifier which supports aux, an assertion failure will be triggered in binding time once the alignment is not satisfied for aux:

anv_BindImageMemory2: Assertion `!isl_drm_modifier_has_aux(image->vk.drm_format_mod)' failed.

Also from the spec of vkAllocateMemory(): Allocations returned by vkAllocateMemory are guaranteed to meet any alignment requirement of the implementation. We should enforce the aux alignment unconditionally, not limited to dedicated allocation.

CC @nchery, @llandwerlin

Edited by jxzgithub

Merge request reports