Add trim command to VK_FUCHSIA_compact_image
Bug: 60394
Change-Id: I5aeefc08cc41bad1a46817128b4141fdbb038f4b
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/Vulkan-Loader/+/489898
Reviewed-by: John Bauman <jbauman@google.com>
diff --git a/loader/generated/vk_dispatch_table_helper.h b/loader/generated/vk_dispatch_table_helper.h
index ad6fda2..bbe824c 100644
--- a/loader/generated/vk_dispatch_table_helper.h
+++ b/loader/generated/vk_dispatch_table_helper.h
@@ -261,6 +261,7 @@
static VKAPI_ATTR VkResult VKAPI_CALL StubGetSemaphoreZirconHandleFUCHSIA(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle) { return VK_SUCCESS; };
#endif // VK_USE_PLATFORM_FUCHSIA
static VKAPI_ATTR void VKAPI_CALL StubCmdWriteCompactImageMemorySizeFUCHSIA(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, VkBuffer buffer, VkDeviceSize bufferOffset, const VkImageSubresourceLayers* pSubresourceLayers) { };
+static VKAPI_ATTR void VKAPI_CALL StubTrimCompactImageDeviceMemoryFUCHSIA(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) { };
#ifdef VK_ENABLE_BETA_EXTENSIONS
static VKAPI_ATTR VkResult VKAPI_CALL StubCreateAccelerationStructureKHR(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) { return VK_SUCCESS; };
#endif // VK_ENABLE_BETA_EXTENSIONS
@@ -887,6 +888,8 @@
#endif // VK_USE_PLATFORM_FUCHSIA
table->CmdWriteCompactImageMemorySizeFUCHSIA = (PFN_vkCmdWriteCompactImageMemorySizeFUCHSIA) gpa(device, "vkCmdWriteCompactImageMemorySizeFUCHSIA");
if (table->CmdWriteCompactImageMemorySizeFUCHSIA == nullptr) { table->CmdWriteCompactImageMemorySizeFUCHSIA = (PFN_vkCmdWriteCompactImageMemorySizeFUCHSIA)StubCmdWriteCompactImageMemorySizeFUCHSIA; }
+ table->TrimCompactImageDeviceMemoryFUCHSIA = (PFN_vkTrimCompactImageDeviceMemoryFUCHSIA) gpa(device, "vkTrimCompactImageDeviceMemoryFUCHSIA");
+ if (table->TrimCompactImageDeviceMemoryFUCHSIA == nullptr) { table->TrimCompactImageDeviceMemoryFUCHSIA = (PFN_vkTrimCompactImageDeviceMemoryFUCHSIA)StubTrimCompactImageDeviceMemoryFUCHSIA; }
#ifdef VK_ENABLE_BETA_EXTENSIONS
table->CreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR) gpa(device, "vkCreateAccelerationStructureKHR");
if (table->CreateAccelerationStructureKHR == nullptr) { table->CreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)StubCreateAccelerationStructureKHR; }
diff --git a/loader/generated/vk_layer_dispatch_table.h b/loader/generated/vk_layer_dispatch_table.h
index 861cca3..ebc49d6 100644
--- a/loader/generated/vk_layer_dispatch_table.h
+++ b/loader/generated/vk_layer_dispatch_table.h
@@ -767,6 +767,7 @@
// ---- VK_FUCHSIA_compact_image extension commands
PFN_vkCmdWriteCompactImageMemorySizeFUCHSIA CmdWriteCompactImageMemorySizeFUCHSIA;
+ PFN_vkTrimCompactImageDeviceMemoryFUCHSIA TrimCompactImageDeviceMemoryFUCHSIA;
// ---- VK_KHR_ray_tracing extension commands
#ifdef VK_ENABLE_BETA_EXTENSIONS
diff --git a/loader/generated/vk_loader_extensions.c b/loader/generated/vk_loader_extensions.c
index 166b349..cf8efc3 100644
--- a/loader/generated/vk_loader_extensions.c
+++ b/loader/generated/vk_loader_extensions.c
@@ -830,6 +830,7 @@
// ---- VK_FUCHSIA_compact_image extension commands
table->CmdWriteCompactImageMemorySizeFUCHSIA = (PFN_vkCmdWriteCompactImageMemorySizeFUCHSIA)gdpa(dev, "vkCmdWriteCompactImageMemorySizeFUCHSIA");
+ table->TrimCompactImageDeviceMemoryFUCHSIA = (PFN_vkTrimCompactImageDeviceMemoryFUCHSIA)gdpa(dev, "vkTrimCompactImageDeviceMemoryFUCHSIA");
// ---- VK_KHR_ray_tracing extension commands
#ifdef VK_ENABLE_BETA_EXTENSIONS
@@ -1631,6 +1632,7 @@
// ---- VK_FUCHSIA_compact_image extension commands
if (!strcmp(name, "CmdWriteCompactImageMemorySizeFUCHSIA")) return (void *)table->CmdWriteCompactImageMemorySizeFUCHSIA;
+ if (!strcmp(name, "TrimCompactImageDeviceMemoryFUCHSIA")) return (void *)table->TrimCompactImageDeviceMemoryFUCHSIA;
// ---- VK_KHR_ray_tracing extension commands
#ifdef VK_ENABLE_BETA_EXTENSIONS
@@ -4035,6 +4037,15 @@
disp->CmdWriteCompactImageMemorySizeFUCHSIA(commandBuffer, image, imageLayout, buffer, bufferOffset, pSubresourceLayers);
}
+VKAPI_ATTR void VKAPI_CALL TrimCompactImageDeviceMemoryFUCHSIA(
+ VkDevice device,
+ VkImage image,
+ VkDeviceMemory memory,
+ VkDeviceSize memoryOffset) {
+ const VkLayerDispatchTable *disp = loader_get_dispatch(device);
+ disp->TrimCompactImageDeviceMemoryFUCHSIA(device, image, memory, memoryOffset);
+}
+
// ---- VK_KHR_ray_tracing extension trampoline/terminators
@@ -5310,6 +5321,10 @@
*addr = (void *)CmdWriteCompactImageMemorySizeFUCHSIA;
return true;
}
+ if (!strcmp("vkTrimCompactImageDeviceMemoryFUCHSIA", name)) {
+ *addr = (void *)TrimCompactImageDeviceMemoryFUCHSIA;
+ return true;
+ }
// ---- VK_KHR_ray_tracing extension commands
#ifdef VK_ENABLE_BETA_EXTENSIONS