anv/image: Make memory layout more explicit
Summary
Future patches for VK_EXT_image_drm_format_modifier will, in some cases, place the aux surface and fast clear state into a driver-private bo. This increases the complexity of image memory layout to such a degree that, to maintain sanity, we must improve how we track the layout.
Define new types anv_image_mem_range and anv_image_mem_domain. Delete the 'size' and 'offset' members of anv_image, anv_image_plane, and anv_surface. Replace them with anv_image_mem_range.
Highlights
anv_image.c:check_mem_ranges()
anv_image.c:anv_GetImageMemoryRequirements2()