vkr: ensure to fail invalid driver retrieval of device queue
Summary of the MR:
- This MR supersedes !1195 (merged)
- vkr requires the driver implementation to only retrieve the device queue once to avoid overriding vkr_queue object id assignment. This also ensures that ring_idx assignment only happens once along with other future device queue related deferred initialization.
- vkr requires the driver to use vkGetDeviceQueue2 for proper timeline assignment of vkr_queue. When there's a 2nd implementation of the venus protocol, we can further evaluate whether to drop vkGetDeviceQueue from the protocol in the next version bump.
- ring_idx 0 is reserved for cpu timeline, and we can mandate VkDeviceQueueTimelineInfoMESA.