vulkan.h: V94 -- remove vkCmdCloneImageData. Bug #16550.
diff --git a/icd/intel/cmd_meta.c b/icd/intel/cmd_meta.c
index 31da3a4..287f8e8 100644
--- a/icd/intel/cmd_meta.c
+++ b/icd/intel/cmd_meta.c
@@ -713,52 +713,6 @@
}
}
-ICD_EXPORT void VKAPI vkCmdCloneImageData(
- VkCmdBuffer cmdBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage destImage,
- VkImageLayout destImageLayout)
-{
- struct intel_cmd *cmd = intel_cmd(cmdBuffer);
- struct intel_img *src = intel_img(srcImage);
- struct intel_img *dst = intel_img(destImage);
- struct intel_buf *src_buf, *dst_buf;
- VkBufferCreateInfo buf_info;
- VkBufferCopy buf_region;
- VkResult res;
-
- memset(&buf_info, 0, sizeof(buf_info));
- buf_info.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
- buf_info.size = src->obj.mem->size;
-
- memset(&buf_region, 0, sizeof(buf_region));
- buf_region.copySize = src->obj.mem->size;
-
- res = intel_buf_create(cmd->dev, &buf_info, &src_buf);
- if (res != VK_SUCCESS) {
- cmd_fail(cmd, res);
- return;
- }
-
- res = intel_buf_create(cmd->dev, &buf_info, &dst_buf);
- if (res != VK_SUCCESS) {
- intel_buf_destroy(src_buf);
- cmd_fail(cmd, res);
- return;
- }
-
- intel_obj_bind_mem(&src_buf->obj, src->obj.mem, 0);
- intel_obj_bind_mem(&dst_buf->obj, dst->obj.mem, 0);
-
- cmd_batch_flush(cmd, GEN6_PIPE_CONTROL_RENDER_CACHE_FLUSH);
- vkCmdCopyBuffer(cmdBuffer, (VkBuffer) src_buf,
- (VkBuffer) dst_buf, 1, &buf_region);
-
- intel_buf_destroy(src_buf);
- intel_buf_destroy(dst_buf);
-}
-
ICD_EXPORT void VKAPI vkCmdUpdateBuffer(
VkCmdBuffer cmdBuffer,
VkBuffer destBuffer,
diff --git a/icd/nulldrv/nulldrv.c b/icd/nulldrv/nulldrv.c
index b7e42dd..408f2ca 100644
--- a/icd/nulldrv/nulldrv.c
+++ b/icd/nulldrv/nulldrv.c
@@ -1054,16 +1054,6 @@
NULLDRV_LOG_FUNC;
}
-ICD_EXPORT void VKAPI vkCmdCloneImageData(
- VkCmdBuffer cmdBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage destImage,
- VkImageLayout destImageLayout)
-{
- NULLDRV_LOG_FUNC;
-}
-
ICD_EXPORT void VKAPI vkCmdUpdateBuffer(
VkCmdBuffer cmdBuffer,
VkBuffer destBuffer,
diff --git a/include/vkLayer.h b/include/vkLayer.h
index 87a79e5..bd56f03 100644
--- a/include/vkLayer.h
+++ b/include/vkLayer.h
@@ -120,7 +120,6 @@
PFN_vkCmdBlitImage CmdBlitImage;
PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage;
PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer;
- PFN_vkCmdCloneImageData CmdCloneImageData;
PFN_vkCmdUpdateBuffer CmdUpdateBuffer;
PFN_vkCmdFillBuffer CmdFillBuffer;
PFN_vkCmdClearColorImage CmdClearColorImage;
diff --git a/include/vulkan.h b/include/vulkan.h
index ed22243..e85ca9d 100644
--- a/include/vulkan.h
+++ b/include/vulkan.h
@@ -1071,11 +1071,10 @@
typedef enum VkImageCreateFlagBits_
{
VK_IMAGE_CREATE_INVARIANT_DATA_BIT = VK_BIT(0),
- VK_IMAGE_CREATE_CLONEABLE_BIT = VK_BIT(1),
- VK_IMAGE_CREATE_SHAREABLE_BIT = VK_BIT(2), // Image should be shareable
- VK_IMAGE_CREATE_SPARSE_BIT = VK_BIT(3), // Image should support sparse backing
- VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = VK_BIT(4), // Allows image views to have different format than the base image
- VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = VK_BIT(5), // Allows creating image views with cube type from the created image
+ VK_IMAGE_CREATE_SHAREABLE_BIT = VK_BIT(1), // Image should be shareable
+ VK_IMAGE_CREATE_SPARSE_BIT = VK_BIT(2), // Image should support sparse backing
+ VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = VK_BIT(3), // Allows image views to have different format than the base image
+ VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = VK_BIT(4), // Allows creating image views with cube type from the created image
} VkImageCreateFlagBits;
// Depth-stencil view creation flags
@@ -2227,7 +2226,6 @@
typedef void (VKAPI *PFN_vkCmdBlitImage)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout, uint32_t regionCount, const VkImageBlit* pRegions);
typedef void (VKAPI *PFN_vkCmdCopyBufferToImage)(VkCmdBuffer cmdBuffer, VkBuffer srcBuffer, VkImage destImage, VkImageLayout destImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
typedef void (VKAPI *PFN_vkCmdCopyImageToBuffer)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer destBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
-typedef void (VKAPI *PFN_vkCmdCloneImageData)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout);
typedef void (VKAPI *PFN_vkCmdUpdateBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize dataSize, const uint32_t* pData);
typedef void (VKAPI *PFN_vkCmdFillBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize fillSize, uint32_t data);
typedef void (VKAPI *PFN_vkCmdClearColorImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColor* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
@@ -2835,13 +2833,6 @@
uint32_t regionCount,
const VkBufferImageCopy* pRegions);
-void VKAPI vkCmdCloneImageData(
- VkCmdBuffer cmdBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage destImage,
- VkImageLayout destImageLayout);
-
void VKAPI vkCmdUpdateBuffer(
VkCmdBuffer cmdBuffer,
VkBuffer destBuffer,
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index f73e533..7836198 100755
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -2299,21 +2299,6 @@
nextTable.CmdCopyImageToBuffer(cmdBuffer, srcImage, srcImageLayout, destBuffer, regionCount, pRegions);
}
-VK_LAYER_EXPORT void VKAPI vkCmdCloneImageData(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout)
-{
- GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer);
- if (pCB) {
- updateCBTracking(cmdBuffer);
- addCmd(pCB, CMD_CLONEIMAGEDATA);
- }
- else {
- char str[1024];
- sprintf(str, "Attempt to use CmdBuffer %p that doesn't exist!", (void*)cmdBuffer);
- layerCbMsg(VK_DBG_MSG_ERROR, VK_VALIDATION_LEVEL_0, cmdBuffer, 0, DRAWSTATE_INVALID_CMD_BUFFER, "DS", str);
- }
- nextTable.CmdCloneImageData(cmdBuffer, srcImage, srcImageLayout, destImage, destImageLayout);
-}
-
VK_LAYER_EXPORT void VKAPI vkCmdUpdateBuffer(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize dataSize, const uint32_t* pData)
{
GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer);
@@ -2848,8 +2833,6 @@
return (void*) vkCmdCopyBufferToImage;
if (!strcmp(funcName, "vkCmdCopyImageToBuffer"))
return (void*) vkCmdCopyImageToBuffer;
- if (!strcmp(funcName, "vkCmdCloneImageData"))
- return (void*) vkCmdCloneImageData;
if (!strcmp(funcName, "vkCmdUpdateBuffer"))
return (void*) vkCmdUpdateBuffer;
if (!strcmp(funcName, "vkCmdFillBuffer"))
diff --git a/layers/glave_snapshot.c b/layers/glave_snapshot.c
index c924355..120656d 100644
--- a/layers/glave_snapshot.c
+++ b/layers/glave_snapshot.c
@@ -1407,14 +1407,6 @@
nextTable.CmdCopyImageToBuffer(cmdBuffer, srcImage, srcImageLayout, destBuffer, regionCount, pRegions);
}
-VK_LAYER_EXPORT void VKAPI vkCmdCloneImageData(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout)
-{
- loader_platform_thread_lock_mutex(&objLock);
- ll_increment_use_count((void*)cmdBuffer, VK_OBJECT_TYPE_CMD_BUFFER);
- loader_platform_thread_unlock_mutex(&objLock);
- nextTable.CmdCloneImageData(cmdBuffer, srcImage, srcImageLayout, destImage, destImageLayout);
-}
-
VK_LAYER_EXPORT void VKAPI vkCmdUpdateBuffer(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkGpuSize destOffset, VkGpuSize dataSize, const uint32_t* pData)
{
loader_platform_thread_lock_mutex(&objLock);
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp
index d8a1df8..98b2df5 100644
--- a/layers/mem_tracker.cpp
+++ b/layers/mem_tracker.cpp
@@ -1909,31 +1909,6 @@
nextTable.CmdCopyImageToBuffer(cmdBuffer, srcImage, srcImageLayout, destBuffer, regionCount, pRegions);
}
-VK_LAYER_EXPORT void VKAPI vkCmdCloneImageData(
- VkCmdBuffer cmdBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage destImage,
- VkImageLayout destImageLayout)
-{
- // TODO : Each image will have mem mapping so track them
- loader_platform_thread_lock_mutex(&globalLock);
- VkDeviceMemory mem = getMemBindingFromObject(srcImage);
- if (VK_FALSE == updateCBBinding(cmdBuffer, mem)) {
- char str[1024];
- sprintf(str, "In vkCmdCloneImageData() call unable to update binding of srcImage buffer %p to cmdBuffer %p", srcImage, cmdBuffer);
- layerCbMsg(VK_DBG_MSG_ERROR, VK_VALIDATION_LEVEL_0, cmdBuffer, 0, MEMTRACK_MEMORY_BINDING_ERROR, "MEM", str);
- }
- mem = getMemBindingFromObject(destImage);
- if (VK_FALSE == updateCBBinding(cmdBuffer, mem)) {
- char str[1024];
- sprintf(str, "In vkCmdCloneImageData() call unable to update binding of destImage buffer %p to cmdBuffer %p", destImage, cmdBuffer);
- layerCbMsg(VK_DBG_MSG_ERROR, VK_VALIDATION_LEVEL_0, cmdBuffer, 0, MEMTRACK_MEMORY_BINDING_ERROR, "MEM", str);
- }
- loader_platform_thread_unlock_mutex(&globalLock);
- nextTable.CmdCloneImageData(cmdBuffer, srcImage, srcImageLayout, destImage, destImageLayout);
-}
-
VK_LAYER_EXPORT void VKAPI vkCmdUpdateBuffer(
VkCmdBuffer cmdBuffer,
VkBuffer destBuffer,
@@ -2352,8 +2327,6 @@
return (void*) vkCmdCopyBufferToImage;
if (!strcmp(funcName, "vkCmdCopyImageToBuffer"))
return (void*) vkCmdCopyImageToBuffer;
- if (!strcmp(funcName, "vkCmdCloneImageData"))
- return (void*) vkCmdCloneImageData;
if (!strcmp(funcName, "vkCmdUpdateBuffer"))
return (void*) vkCmdUpdateBuffer;
if (!strcmp(funcName, "vkCmdFillBuffer"))
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index 50f6157..79783cb 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -1376,20 +1376,6 @@
nextTable.CmdCopyImageToBuffer(cmdBuffer, srcImage, srcImageLayout, destBuffer, regionCount, pRegions);
}
-VK_LAYER_EXPORT void VKAPI vkCmdCloneImageData(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout)
-{
- char str[1024];
- if (!validate_VkImageLayout(srcImageLayout)) {
- sprintf(str, "Parameter srcImageLayout to function CmdCloneImageData has invalid value of %i.", (int)srcImageLayout);
- layerCbMsg(VK_DBG_MSG_ERROR, VK_VALIDATION_LEVEL_0, NULL, 0, 1, "PARAMCHECK", str);
- }
- if (!validate_VkImageLayout(destImageLayout)) {
- sprintf(str, "Parameter destImageLayout to function CmdCloneImageData has invalid value of %i.", (int)destImageLayout);
- layerCbMsg(VK_DBG_MSG_ERROR, VK_VALIDATION_LEVEL_0, NULL, 0, 1, "PARAMCHECK", str);
- }
- nextTable.CmdCloneImageData(cmdBuffer, srcImage, srcImageLayout, destImage, destImageLayout);
-}
-
VK_LAYER_EXPORT void VKAPI vkCmdUpdateBuffer(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize dataSize, const uint32_t* pData)
{
diff --git a/loader/gpa_helper.h b/loader/gpa_helper.h
index b9bd688..775b29c 100644
--- a/loader/gpa_helper.h
+++ b/loader/gpa_helper.h
@@ -220,8 +220,6 @@
return (void*) vkCmdCopyBufferToImage;
if (!strcmp(name, "CmdCopyImageToBuffer"))
return (void*) vkCmdCopyImageToBuffer;
- if (!strcmp(name, "CmdCloneImageData"))
- return (void*) vkCmdCloneImageData;
if (!strcmp(name, "CmdUpdateBuffer"))
return (void*) vkCmdUpdateBuffer;
if (!strcmp(name, "CmdFillBuffer"))
diff --git a/loader/table_ops.h b/loader/table_ops.h
index 1b59a45..da2f7f1 100644
--- a/loader/table_ops.h
+++ b/loader/table_ops.h
@@ -126,7 +126,6 @@
table->CmdBlitImage = (PFN_vkCmdBlitImage) gpa(gpu, "vkCmdBlitImage");
table->CmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage) gpa(gpu, "vkCmdCopyBufferToImage");
table->CmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer) gpa(gpu, "vkCmdCopyImageToBuffer");
- table->CmdCloneImageData = (PFN_vkCmdCloneImageData) gpa(gpu, "vkCmdCloneImageData");
table->CmdUpdateBuffer = (PFN_vkCmdUpdateBuffer) gpa(gpu, "vkCmdUpdateBuffer");
table->CmdFillBuffer = (PFN_vkCmdFillBuffer) gpa(gpu, "vkCmdFillBuffer");
table->CmdClearColorImage = (PFN_vkCmdClearColorImage) gpa(gpu, "vkCmdClearColorImage");
@@ -357,8 +356,6 @@
return (void *) table->CmdCopyBufferToImage;
if (!strcmp(name, "CmdCopyImageToBuffer"))
return (void *) table->CmdCopyImageToBuffer;
- if (!strcmp(name, "CmdCloneImageData"))
- return (void *) table->CmdCloneImageData;
if (!strcmp(name, "CmdUpdateBuffer"))
return (void *) table->CmdUpdateBuffer;
if (!strcmp(name, "CmdFillBuffer"))
diff --git a/loader/trampoline.c b/loader/trampoline.c
index a435ca1..d393c2b 100644
--- a/loader/trampoline.c
+++ b/loader/trampoline.c
@@ -845,15 +845,6 @@
disp->CmdCopyImageToBuffer(cmdBuffer, srcImage, srcImageLayout, destBuffer, regionCount, pRegions);
}
-LOADER_EXPORT void VKAPI vkCmdCloneImageData(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout)
-{
- const VkLayerDispatchTable *disp;
-
- disp = loader_get_dispatch(cmdBuffer);
-
- disp->CmdCloneImageData(cmdBuffer, srcImage, srcImageLayout, destImage, destImageLayout);
-}
-
LOADER_EXPORT void VKAPI vkCmdUpdateBuffer(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize dataSize, const uint32_t* pData)
{
const VkLayerDispatchTable *disp;
diff --git a/loader/vulkan.def b/loader/vulkan.def
index 2be6ed6..d3bfe35 100644
--- a/loader/vulkan.def
+++ b/loader/vulkan.def
@@ -120,7 +120,6 @@
vkCmdBlitImage
vkCmdCopyBufferToImage
vkCmdCopyImageToBuffer
- vkCmdCloneImageData
vkCmdUpdateBuffer
vkCmdFillBuffer
vkCmdClearColorImage
diff --git a/tests/blit_tests.cpp b/tests/blit_tests.cpp
index a029896..d754c05 100644
--- a/tests/blit_tests.cpp
+++ b/tests/blit_tests.cpp
@@ -1145,77 +1145,6 @@
}
}
-class VkCmdCloneImageDataTest : public VkCmdBlitImageTest {
-protected:
- virtual void SetUp()
- {
- VkCmdBlitTest::SetUp();
- init_test_formats();
- ASSERT_NE(true, test_formats_.empty());
- }
-
- void test_clone_image_data(const VkImageCreateInfo &img_info)
- {
- vk_testing::ImageChecker checker(img_info);
- vk_testing::Image src, dst;
- VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
-
- src.init(dev_, img_info, reqs);
- if (src.transparent() || src.copyable())
- fill_src(src, checker);
-
- dst.init(dev_, img_info, reqs);
-
- const VkImageLayout layout = VK_IMAGE_LAYOUT_GENERAL;
-
- cmd_.begin();
- vkCmdCloneImageData(cmd_.obj(), src.obj(), layout, dst.obj(), layout);
- cmd_.end();
-
- submit_and_done();
-
- // cannot verify
- if (!dst.transparent() && !dst.copyable())
- return;
-
- check_dst(dst, checker);
- }
-};
-
-TEST_F(VkCmdCloneImageDataTest, Basic)
-{
- for (std::vector<vk_testing::Device::Format>::const_iterator it = test_formats_.begin();
- it != test_formats_.end(); it++) {
- // not sure what to do here
- if (it->format == VK_FORMAT_UNDEFINED ||
- (it->format >= VK_FORMAT_R32G32B32_UINT &&
- it->format <= VK_FORMAT_R32G32B32_SFLOAT) ||
- (it->format >= VK_FORMAT_B8G8R8_UNORM &&
- it->format <= VK_FORMAT_B8G8R8_SRGB) ||
- (it->format >= VK_FORMAT_BC1_RGB_UNORM &&
- it->format <= VK_FORMAT_ASTC_12x12_SRGB) ||
- (it->format >= VK_FORMAT_D16_UNORM &&
- it->format <= VK_FORMAT_D32_SFLOAT_S8_UINT) ||
- it->format == VK_FORMAT_R64G64B64_SFLOAT ||
- it->format == VK_FORMAT_R64G64B64A64_SFLOAT)
- continue;
-
- VkImageCreateInfo img_info = vk_testing::Image::create_info();
- img_info.imageType = VK_IMAGE_TYPE_2D;
- img_info.format = it->format;
- img_info.extent.width = 64;
- img_info.extent.height = 64;
- img_info.tiling = it->tiling;
- img_info.flags = VK_IMAGE_CREATE_CLONEABLE_BIT;
-
- const VkImageSubresourceRange range =
- vk_testing::Image::subresource_range(img_info, VK_IMAGE_ASPECT_COLOR);
- std::vector<VkImageSubresourceRange> ranges(&range, &range + 1);
-
- test_clone_image_data(img_info);
- }
-}
-
class VkCmdClearColorImageTest : public VkCmdBlitImageTest {
protected:
VkCmdClearColorImageTest() : test_raw_(false) {}
diff --git a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.cpp b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.cpp
index c59682d..2c08fd0 100644
--- a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.cpp
+++ b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.cpp
@@ -67,7 +67,6 @@
case GLV_TPI_VK_vkCmdCopyImage:
case GLV_TPI_VK_vkCmdCopyBufferToImage:
case GLV_TPI_VK_vkCmdCopyImageToBuffer:
- case GLV_TPI_VK_vkCmdCloneImageData:
case GLV_TPI_VK_vkCmdUpdateBuffer:
case GLV_TPI_VK_vkCmdFillBuffer:
case GLV_TPI_VK_vkCmdClearColorImage:
diff --git a/vulkan.py b/vulkan.py
index e795da1..9030ea4 100755
--- a/vulkan.py
+++ b/vulkan.py
@@ -750,13 +750,6 @@
Param("uint32_t", "regionCount"),
Param("const VkBufferImageCopy*", "pRegions")]),
- Proto("void", "CmdCloneImageData",
- [Param("VkCmdBuffer", "cmdBuffer"),
- Param("VkImage", "srcImage"),
- Param("VkImageLayout", "srcImageLayout"),
- Param("VkImage", "destImage"),
- Param("VkImageLayout", "destImageLayout")]),
-
Proto("void", "CmdUpdateBuffer",
[Param("VkCmdBuffer", "cmdBuffer"),
Param("VkBuffer", "destBuffer"),