Intel: Fix aux alignment issues in anv driver
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:
-
When binding the allocated memory to an image created without modifiers, the result of aux is not deterministic. This could cause inconsistent performance results.
-
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