I am not entirely happy with how default_image_info.imageLayout is handled. wined3d_texture_vk_get_default_image_info is called by wined3d_rendertarget_view_vk_get_image_view, although only the image view is taken, and not the entire descriptor. UAVs work because the BIND_UAV flag forces the texture to use VK_IMAGE_LAYOUT_GENERAL.
I contemplated making wined3d_texture_vk_get_default_image_info return only the view handle, and not the entire image info, but then we'd need extra storage to store the VkDescriptorImageInfo for each VkWriteDescriptorSet entry. I am not convinced this is better. One possibility is doing away with the default view entirely.
I've approved this because I don't want to hold this up forever, and the ugly parts are well-commented, but yeah, I'm not happy with this either. Possibly we should just introduce a separate function to retrieve the image view. Alternatively, I don't know if we need to get rid of the default view (on the grounds that we shouldn't unnecessarily create Vulkan view objects?) but we could get rid of the default image info.