vulkan: Update from version 0.181.0 to 0.183.0
Change-Id: I721bfc6891974e2bab7dce7e92e7884de360412a
(cherry picked from commit 85009ebe92a71d3c707efad6387118b186cca0c9)
diff --git a/vulkan/libvulkan/loader.cpp b/vulkan/libvulkan/loader.cpp
index ba2f5cf..c427918 100644
--- a/vulkan/libvulkan/loader.cpp
+++ b/vulkan/libvulkan/loader.cpp
@@ -1047,8 +1047,8 @@
if (strcmp(name, "vkGetDeviceQueue") == 0) {
return reinterpret_cast<PFN_vkVoidFunction>(GetDeviceQueue);
}
- if (strcmp(name, "vkCreateCommandBuffer") == 0) {
- return reinterpret_cast<PFN_vkVoidFunction>(CreateCommandBuffer);
+ if (strcmp(name, "vkAllocCommandBuffers") == 0) {
+ return reinterpret_cast<PFN_vkVoidFunction>(AllocCommandBuffers);
}
if (strcmp(name, "vkDestroyDevice") == 0) {
return reinterpret_cast<PFN_vkVoidFunction>(DestroyDevice);
@@ -1072,24 +1072,21 @@
*out_queue = queue;
}
-VkResult CreateCommandBuffer(VkDevice drv_device,
- const VkCmdBufferCreateInfo* create_info,
- VkCmdBuffer* out_cmdbuf) {
- const DeviceVtbl* vtbl = GetVtbl(drv_device);
- VkCmdBuffer cmdbuf;
- VkResult result =
- vtbl->CreateCommandBuffer(drv_device, create_info, &cmdbuf);
+VkResult AllocCommandBuffers(VkDevice device,
+ const VkCmdBufferAllocInfo* alloc_info,
+ VkCmdBuffer* cmdbuffers) {
+ const DeviceVtbl* vtbl = GetVtbl(device);
+ VkResult result = vtbl->AllocCommandBuffers(device, alloc_info, cmdbuffers);
if (result != VK_SUCCESS)
return result;
- hwvulkan_dispatch_t* dispatch =
- reinterpret_cast<hwvulkan_dispatch_t*>(cmdbuf);
- if (dispatch->magic != HWVULKAN_DISPATCH_MAGIC) {
- ALOGE("invalid VkCmdBuffer dispatch magic: 0x%" PRIxPTR,
- dispatch->magic);
- return VK_ERROR_INITIALIZATION_FAILED;
+ for (uint32_t i = 0; i < alloc_info->count; i++) {
+ hwvulkan_dispatch_t* dispatch =
+ reinterpret_cast<hwvulkan_dispatch_t*>(cmdbuffers[i]);
+ ALOGE_IF(dispatch->magic != HWVULKAN_DISPATCH_MAGIC,
+ "invalid VkCmdBuffer dispatch magic: 0x%" PRIxPTR,
+ dispatch->magic);
+ dispatch->vtbl = vtbl;
}
- dispatch->vtbl = vtbl;
- *out_cmdbuf = cmdbuf;
return VK_SUCCESS;
}