-
Notifications
You must be signed in to change notification settings - Fork 414
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
layers: Set up QUEUE_STATE and PHYSICAL_DEVICE_STATE at create time #3370
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
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.