layers: Set up QUEUE_STATE and PHYSICAL_DEVICE_STATE at create time#3370
Conversation
|
CI Vulkan-ValidationLayers build queued with queue ID 44650. |
|
CI Vulkan-ValidationLayers build # 5004 running. |
|
CI Vulkan-ValidationLayers build # 5004 failed. |
75065bf to
966fd7b
Compare
|
CI Vulkan-ValidationLayers build queued with queue ID 1429. |
|
CI Vulkan-ValidationLayers build # 5205 running. |
|
@mikes-lunarg , you're really good at pointing out dispatch problems... Do you see anything wrong with this approach? |
|
CI Vulkan-ValidationLayers build # 5205 failed. |
Ugh, of course there's something wrong. I need to call vkGetDeviceQueue2*() if it is a protected queue. |
966fd7b to
8874fb9
Compare
|
CI Vulkan-ValidationLayers build queued with queue ID 1558. |
|
CI Vulkan-ValidationLayers build # 5217 running. |
|
CI Vulkan-ValidationLayers build # 5217 failed. |
|
still gotta figure out what is wrong on internal CI tho |
Set up these state objects immediately rather than waiting for the application to enumerate them. This ensures that the contents of physical_device_map won't change during the lifetime of the instance.
8874fb9 to
4c2f975
Compare
|
CI Vulkan-ValidationLayers build queued with queue ID 2939. |
|
CI Vulkan-ValidationLayers build # 5239 running. |
Set up the state objects immediately rather than waiting for calls to vkGetDeviceQueue(). This ensures that the contents of queueMap won't change during the lifetime of the device.
|
CI Vulkan-ValidationLayers build # 5239 failed. |
4c2f975 to
47b4c81
Compare
|
CI Vulkan-ValidationLayers build queued with queue ID 2976. |
|
CI Vulkan-ValidationLayers build # 5241 running. |
|
CI Vulkan-ValidationLayers build # 5241 passed. |
A previous change (KhronosGroup#3370) makes state tracker only set up the queue state objects on vkCreateDevice() instead of on each vkGetDeviceQueue() call. However, this breaks some devices (e.g. goldfish-vulkan virtual ICD which is used for Android and Fuchsia emulator) where it could possibly return different queue handles on vkGetDeviceQueue(). In order to handle this case, state tracker should still try to update the queue map on each vkGetDeviceQueue() call. TEST: vkreadback (on Fuchsia emulator) Change-Id: Ib7a3f3b9808b5a7067bbcf0d1d97f7d7869dfd84
No description provided.