diff options
| author | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-04-16 13:38:46 -0600 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-04-16 14:26:00 -0600 |
| commit | 6b0caf1faf85cd610b63fae31e3eb89833c94276 (patch) | |
| tree | 672f4335e49f57529955dfd555cc7c423a19c798 | |
| parent | 86e7a8175f04e074c596ff78e69798fe9b7693c4 (diff) | |
| download | usermoji-6b0caf1faf85cd610b63fae31e3eb89833c94276.tar.xz | |
bug 13632: Convert commands to plural form
part of multiple commits to implement bug #13632.
bug 13632
header version 82
svn version: 30446
This patch converts:
vkCmdBindVertexBuffer -> vkCmdBindVertexBuffers
vkQueueAddMemReference -> vkQueueAddMemReferences
vkQueueRemoveMemReference -> vkQueueRemoveMemReferences
| -rw-r--r-- | demos/cube.c | 8 | ||||
| -rw-r--r-- | demos/tri.c | 12 | ||||
| -rw-r--r-- | icd/nulldrv/nulldrv.c | 25 | ||||
| -rw-r--r-- | include/vkLayer.h | 6 | ||||
| -rw-r--r-- | include/vulkan.h | 25 | ||||
| -rw-r--r-- | layers/draw_state.cpp | 19 | ||||
| -rw-r--r-- | layers/glave_snapshot.c | 9 | ||||
| -rw-r--r-- | layers/mem_tracker.cpp | 62 | ||||
| -rw-r--r-- | layers/param_checker.cpp | 18 | ||||
| -rwxr-xr-x | vk-layer-generate.py | 2 | ||||
| -rwxr-xr-x | vulkan.py | 19 |
11 files changed, 113 insertions, 92 deletions
diff --git a/demos/cube.c b/demos/cube.c index 13fc1dbd..13d2ff08 100644 --- a/demos/cube.c +++ b/demos/cube.c @@ -296,18 +296,14 @@ static void demo_add_mem_refs( struct demo *demo, int num_refs, VkGpuMemory *mem) { - for (int i = 0; i < num_refs; i++) { - vkQueueAddMemReference(demo->queue, mem[i]); - } + vkQueueAddMemReferences(demo->queue, num_refs, mem); } static void demo_remove_mem_refs( struct demo *demo, int num_refs, VkGpuMemory *mem) { - for (int i = 0; i < num_refs; i++) { - vkQueueRemoveMemReference(demo->queue, mem[i]); - } + vkQueueRemoveMemReferences(demo->queue, num_refs, mem); } static void demo_set_image_layout( diff --git a/demos/tri.c b/demos/tri.c index 299d36b4..8918a2c3 100644 --- a/demos/tri.c +++ b/demos/tri.c @@ -125,18 +125,14 @@ static void demo_add_mem_refs( struct demo *demo, int num_refs, VkGpuMemory *mem) { - for (int i = 0; i < num_refs; i++) { - vkQueueAddMemReference(demo->queue, mem[i]); - } + vkQueueAddMemReferences(demo->queue, num_refs, mem); } static void demo_remove_mem_refs( struct demo *demo, int num_refs, VkGpuMemory *mem) { - for (int i = 0; i < num_refs; i++) { - vkQueueRemoveMemReference(demo->queue, mem[i]); - } + vkQueueRemoveMemReferences(demo->queue, num_refs, mem); } static void demo_set_image_layout( @@ -281,8 +277,8 @@ static void demo_draw_build_cmd(struct demo *demo) vkCmdBindDynamicStateObject(demo->cmd, VK_STATE_BIND_DEPTH_STENCIL, demo->depth_stencil); - - vkCmdBindVertexBuffer(demo->cmd, demo->vertices.buf, 0, VERTEX_BUFFER_BIND_ID); + VkGpuSize offsets[1] = {0}; + vkCmdBindVertexBuffers(demo->cmd, VERTEX_BUFFER_BIND_ID, 1, &demo->vertices.buf, offsets); vkCmdBeginRenderPass(demo->cmd, &rp_begin); clear_range.aspect = VK_IMAGE_ASPECT_COLOR; diff --git a/icd/nulldrv/nulldrv.c b/icd/nulldrv/nulldrv.c index 1d36ff6f..6d1ed15c 100644 --- a/icd/nulldrv/nulldrv.c +++ b/icd/nulldrv/nulldrv.c @@ -1056,11 +1056,12 @@ ICD_EXPORT void VKAPI vkCmdBindDescriptorSets( NULLDRV_LOG_FUNC; } -ICD_EXPORT void VKAPI vkCmdBindVertexBuffer( - VkCmdBuffer cmdBuffer, - VkBuffer buffer, - VkGpuSize offset, - uint32_t binding) +ICD_EXPORT void VKAPI vkCmdBindVertexBuffers( + VkCmdBuffer cmdBuffer, + uint32_t startBinding, + uint32_t bindingCount, + const VkBuffer* pBuffers, + const VkGpuSize* pOffsets) { NULLDRV_LOG_FUNC; } @@ -1732,17 +1733,19 @@ ICD_EXPORT VkResult VKAPI vkGetQueryPoolResults( return VK_SUCCESS; } -ICD_EXPORT VkResult VKAPI vkQueueAddMemReference( - VkQueue queue, - VkGpuMemory mem) +ICD_EXPORT VkResult VKAPI vkQueueAddMemReferences( + VkQueue queue, + uint32_t count, + const VkGpuMemory* pMems) { NULLDRV_LOG_FUNC; return VK_SUCCESS; } -ICD_EXPORT VkResult VKAPI vkQueueRemoveMemReference( - VkQueue queue, - VkGpuMemory mem) +ICD_EXPORT VkResult VKAPI vkQueueRemoveMemReferences( + VkQueue queue, + uint32_t count, + const VkGpuMemory* pMems) { NULLDRV_LOG_FUNC; return VK_SUCCESS; diff --git a/include/vkLayer.h b/include/vkLayer.h index 813e6872..53460c73 100644 --- a/include/vkLayer.h +++ b/include/vkLayer.h @@ -39,8 +39,8 @@ typedef struct VkLayerDispatchTable_ PFN_vkEnumerateLayers EnumerateLayers; PFN_vkGetDeviceQueue GetDeviceQueue; PFN_vkQueueSubmit QueueSubmit; - PFN_vkQueueAddMemReference QueueAddMemReference; - PFN_vkQueueRemoveMemReference QueueRemoveMemReference; + PFN_vkQueueAddMemReferences QueueAddMemReferences; + PFN_vkQueueRemoveMemReferences QueueRemoveMemReferences; PFN_vkQueueWaitIdle QueueWaitIdle; PFN_vkDeviceWaitIdle DeviceWaitIdle; PFN_vkAllocMemory AllocMemory; @@ -108,7 +108,7 @@ typedef struct VkLayerDispatchTable_ PFN_vkCmdBindPipeline CmdBindPipeline; PFN_vkCmdBindDynamicStateObject CmdBindDynamicStateObject; PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets; - PFN_vkCmdBindVertexBuffer CmdBindVertexBuffer; + PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers; PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer; PFN_vkCmdDraw CmdDraw; PFN_vkCmdDrawIndexed CmdDrawIndexed; diff --git a/include/vulkan.h b/include/vulkan.h index 77b70102..0edbfcf8 100644 --- a/include/vulkan.h +++ b/include/vulkan.h @@ -2210,8 +2210,8 @@ typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceExtensionInfo)(VkPhysicalGpu gpu typedef VkResult (VKAPI *PFN_vkEnumerateLayers)(VkPhysicalGpu gpu, size_t maxLayerCount, size_t maxStringSize, size_t* pOutLayerCount, char* const* pOutLayers, void* pReserved); typedef VkResult (VKAPI *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueNodeIndex, uint32_t queueIndex, VkQueue* pQueue); typedef VkResult (VKAPI *PFN_vkQueueSubmit)(VkQueue queue, uint32_t cmdBufferCount, const VkCmdBuffer* pCmdBuffers, VkFence fence); -typedef VkResult (VKAPI *PFN_vkQueueAddMemReference)(VkQueue queue, VkGpuMemory mem); -typedef VkResult (VKAPI *PFN_vkQueueRemoveMemReference)(VkQueue queue, VkGpuMemory mem); +typedef VkResult (VKAPI *PFN_vkQueueAddMemReferences)(VkQueue queue, uint32_t count, const VkGpuMemory* pMems); +typedef VkResult (VKAPI *PFN_vkQueueRemoveMemReferences)(VkQueue queue, uint32_t count, const VkGpuMemory* pMems); typedef VkResult (VKAPI *PFN_vkQueueWaitIdle)(VkQueue queue); typedef VkResult (VKAPI *PFN_vkDeviceWaitIdle)(VkDevice device); typedef VkResult (VKAPI *PFN_vkAllocMemory)(VkDevice device, const VkMemoryAllocInfo* pAllocInfo, VkGpuMemory* pMem); @@ -2280,7 +2280,7 @@ typedef void (VKAPI *PFN_vkCmdBindPipeline)(VkCmdBuffer cmdBuffer, VkPipelin typedef void (VKAPI *PFN_vkCmdBindDynamicStateObject)(VkCmdBuffer cmdBuffer, VkStateBindPoint stateBindPoint, VkDynamicStateObject state); typedef void (VKAPI *PFN_vkCmdBindDescriptorSets)(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkDescriptorSetLayoutChain layoutChain, uint32_t layoutChainSlot, uint32_t count, const VkDescriptorSet* pDescriptorSets, const uint32_t* pUserData); typedef void (VKAPI *PFN_vkCmdBindIndexBuffer)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkGpuSize offset, VkIndexType indexType); -typedef void (VKAPI *PFN_vkCmdBindVertexBuffer)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkGpuSize offset, uint32_t binding); +typedef void (VKAPI *PFN_vkCmdBindVertexBuffers)(VkCmdBuffer cmdBuffer, uint32_t startBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkGpuSize* pOffsets); typedef void (VKAPI *PFN_vkCmdDraw)(VkCmdBuffer cmdBuffer, uint32_t firstVertex, uint32_t vertexCount, uint32_t firstInstance, uint32_t instanceCount); typedef void (VKAPI *PFN_vkCmdDrawIndexed)(VkCmdBuffer cmdBuffer, uint32_t firstIndex, uint32_t indexCount, int32_t vertexOffset, uint32_t firstInstance, uint32_t instanceCount); typedef void (VKAPI *PFN_vkCmdDrawIndirect)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkGpuSize offset, uint32_t count, uint32_t stride); @@ -2390,13 +2390,15 @@ VkResult VKAPI vkQueueSubmit( const VkCmdBuffer* pCmdBuffers, VkFence fence); -VkResult VKAPI vkQueueAddMemReference( +VkResult VKAPI vkQueueAddMemReferences( VkQueue queue, - VkGpuMemory mem); + uint32_t count, + const VkGpuMemory* pMems); -VkResult VKAPI vkQueueRemoveMemReference( +VkResult VKAPI vkQueueRemoveMemReferences( VkQueue queue, - VkGpuMemory mem); + uint32_t count, + const VkGpuMemory* pMems); VkResult VKAPI vkQueueWaitIdle( VkQueue queue); @@ -2783,11 +2785,12 @@ void VKAPI vkCmdBindIndexBuffer( VkGpuSize offset, VkIndexType indexType); -void VKAPI vkCmdBindVertexBuffer( +void VKAPI vkCmdBindVertexBuffers( VkCmdBuffer cmdBuffer, - VkBuffer buffer, - VkGpuSize offset, - uint32_t binding); + uint32_t startBinding, + uint32_t bindingCount, + const VkBuffer* pBuffers, + const VkGpuSize* pOffsets); void VKAPI vkCmdDraw( VkCmdBuffer cmdBuffer, diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index 5dbf9626..01e4e558 100644 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -2053,21 +2053,26 @@ VK_LAYER_EXPORT void VKAPI vkCmdBindIndexBuffer(VkCmdBuffer cmdBuffer, VkBuffer nextTable.CmdBindIndexBuffer(cmdBuffer, buffer, offset, indexType); } -VK_LAYER_EXPORT void VKAPI vkCmdBindVertexBuffer(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkGpuSize offset, uint32_t binding) +VK_LAYER_EXPORT void VKAPI vkCmdBindVertexBuffers( + VkCmdBuffer cmdBuffer, + uint32_t startBinding, + uint32_t bindingCount, + const VkBuffer* pBuffers, + const VkGpuSize* pOffsets) { GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); if (pCB) { + /* TODO: Need to track all the vertex buffers, not just last one */ updateCBTracking(cmdBuffer); addCmd(pCB, CMD_BINDVERTEXBUFFER); - pCB->lastVtxBinding = binding; + pCB->lastVtxBinding = startBinding + bindingCount -1; validateVBBinding(cmdBuffer); - } - else { + } 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.CmdBindVertexBuffer(cmdBuffer, buffer, offset, binding); + nextTable.CmdBindVertexBuffers(cmdBuffer, startBinding, bindingCount, pBuffers, pOffsets); } VK_LAYER_EXPORT void VKAPI vkCmdDraw(VkCmdBuffer cmdBuffer, uint32_t firstVertex, uint32_t vertexCount, uint32_t firstInstance, uint32_t instanceCount) @@ -2792,8 +2797,8 @@ VK_LAYER_EXPORT void* VKAPI vkGetProcAddr(VkPhysicalGpu gpu, const char* funcNam return (void*) vkCmdBindDynamicStateObject; if (!strcmp(funcName, "vkCmdBindDescriptorSets")) return (void*) vkCmdBindDescriptorSets; - if (!strcmp(funcName, "vkCmdBindVertexBuffer")) - return (void*) vkCmdBindVertexBuffer; + if (!strcmp(funcName, "vkCmdBindVertexBuffers")) + return (void*) vkCmdBindVertexBuffers; if (!strcmp(funcName, "vkCmdBindIndexBuffer")) return (void*) vkCmdBindIndexBuffer; if (!strcmp(funcName, "vkCmdDraw")) diff --git a/layers/glave_snapshot.c b/layers/glave_snapshot.c index 0554d97e..3192a777 100644 --- a/layers/glave_snapshot.c +++ b/layers/glave_snapshot.c @@ -1305,12 +1305,17 @@ VK_LAYER_EXPORT void VKAPI vkCmdBindDescriptorSets(VkCmdBuffer cmdBuffer, VkPipe nextTable.CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, layoutChain, layoutChainSlot, count, pDescriptorSets, pUserData); } -VK_LAYER_EXPORT void VKAPI vkCmdBindVertexBuffer(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkGpuSize offset, uint32_t binding) +VK_LAYER_EXPORT void VKAPI vkCmdBindVertexBuffers( + VkCmdBuffer cmdBuffer, + uint32_t startBinding, + uint32_t bindingCount, + const VkBuffer* pBuffers + const VkGpuSize* pOffsets) { loader_platform_thread_lock_mutex(&objLock); ll_increment_use_count((void*)cmdBuffer, VK_OBJECT_TYPE_CMD_BUFFER); loader_platform_thread_unlock_mutex(&objLock); - nextTable.CmdBindVertexBuffer(cmdBuffer, buffer, offset, binding); + nextTable.CmdBindVertexBuffers(cmdBuffer, startBinding, bindingCount, pBuffers, pOffsets); } VK_LAYER_EXPORT void VKAPI vkCmdBindIndexBuffer(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkGpuSize offset, VkIndexType indexType) diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp index 684cb225..50675789 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -975,9 +975,9 @@ VK_LAYER_EXPORT VkResult VKAPI vkGetDeviceQueue(VkDevice device, uint32_t queueN return result; } -VK_LAYER_EXPORT VkResult VKAPI vkQueueAddMemReference(VkQueue queue, VkGpuMemory mem) +VK_LAYER_EXPORT VkResult VKAPI vkQueueAddMemReferences(VkQueue queue, uint32_t count, const VkGpuMemory* pMems) { - VkResult result = nextTable.QueueAddMemReference(queue, mem); + VkResult result = nextTable.QueueAddMemReferences(queue, count, pMems); if (result == VK_SUCCESS) { loader_platform_thread_lock_mutex(&globalLock); @@ -986,17 +986,17 @@ VK_LAYER_EXPORT VkResult VKAPI vkQueueAddMemReference(VkQueue queue, VkGpuMemory char str[1024]; sprintf(str, "Unknown Queue %p", queue); layerCbMsg(VK_DBG_MSG_ERROR, VK_VALIDATION_LEVEL_0, queue, 0, MEMTRACK_INVALID_QUEUE, "MEM", str); - } - else { - if (checkMemRef(queue, mem) == VK_TRUE) { - // Alread in list, just warn - char str[1024]; - sprintf(str, "Request to add a memory reference (%p) to Queue %p -- ref is already present in the queue's reference list", mem, queue); - layerCbMsg(VK_DBG_MSG_WARNING, VK_VALIDATION_LEVEL_0, mem, 0, MEMTRACK_INVALID_MEM_REF, "MEM", str); - } - else { - // Add to queue's memory reference list - pQueueInfo->pMemRefList.push_front(mem); + } else { + for (int i = 0; i < count; i++) { + if (checkMemRef(queue, pMems[i]) == VK_TRUE) { + // Alread in list, just warn + char str[1024]; + sprintf(str, "Request to add a memory reference (%p) to Queue %p -- ref is already present in the queue's reference list", pMems[i], queue); + layerCbMsg(VK_DBG_MSG_WARNING, VK_VALIDATION_LEVEL_0, pMems[i], 0, MEMTRACK_INVALID_MEM_REF, "MEM", str); + } else { + // Add to queue's memory reference list + pQueueInfo->pMemRefList.push_front(pMems[i]); + } } } loader_platform_thread_unlock_mutex(&globalLock); @@ -1004,10 +1004,10 @@ VK_LAYER_EXPORT VkResult VKAPI vkQueueAddMemReference(VkQueue queue, VkGpuMemory return result; } -VK_LAYER_EXPORT VkResult VKAPI vkQueueRemoveMemReference(VkQueue queue, VkGpuMemory mem) +VK_LAYER_EXPORT VkResult VKAPI vkQueueRemoveMemReferences(VkQueue queue, uint32_t count, const VkGpuMemory* pMems) { // TODO : Decrement ref count for this memory reference on this queue. Remove if ref count is zero. - VkResult result = nextTable.QueueRemoveMemReference(queue, mem); + VkResult result = nextTable.QueueRemoveMemReferences(queue, count, pMems); if (result == VK_SUCCESS) { loader_platform_thread_lock_mutex(&globalLock); @@ -1016,11 +1016,12 @@ VK_LAYER_EXPORT VkResult VKAPI vkQueueRemoveMemReference(VkQueue queue, VkGpuMem char str[1024]; sprintf(str, "Unknown Queue %p", queue); layerCbMsg(VK_DBG_MSG_ERROR, VK_VALIDATION_LEVEL_0, queue, 0, MEMTRACK_INVALID_QUEUE, "MEM", str); - } - else { - for (list<VkGpuMemory>::iterator it = pQueueInfo->pMemRefList.begin(); it != pQueueInfo->pMemRefList.end(); ++it) { - if ((*it) == mem) { - it = pQueueInfo->pMemRefList.erase(it); + } else { + for (int i = 0; i < count; i++) { + for (list<VkGpuMemory>::iterator it = pQueueInfo->pMemRefList.begin(); it != pQueueInfo->pMemRefList.end(); ++it) { + if ((*it) == pMems[i]) { + it = pQueueInfo->pMemRefList.erase(it); + } } } } @@ -1615,9 +1616,14 @@ VK_LAYER_EXPORT void VKAPI vkCmdBindDescriptorSets( nextTable.CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, layoutChain, layoutChainSlot, count, pDescriptorSets, pUserData); } -VK_LAYER_EXPORT void VKAPI vkCmdBindVertexBuffer(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkGpuSize offset, uint32_t binding) +VK_LAYER_EXPORT void VKAPI vkCmdBindVertexBuffers( + VkCmdBuffer cmdBuffer, + uint32_t startBinding, + uint32_t bindingCount, + const VkBuffer* pBuffers, + const VkGpuSize* pOffsets) { - nextTable.CmdBindVertexBuffer(cmdBuffer, buffer, offset, binding); + nextTable.CmdBindVertexBuffers(cmdBuffer, startBinding, bindingCount, pBuffers, pOffsets); } VK_LAYER_EXPORT void VKAPI vkCmdBindIndexBuffer(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkGpuSize offset, VkIndexType indexType) @@ -2074,8 +2080,8 @@ VK_LAYER_EXPORT void* VKAPI vkGetProcAddr(VkPhysicalGpu gpu, const char* funcNam return (void*) vkCmdBindDynamicStateObject; if (!strcmp(funcName, "vkCmdBindDescriptorSets")) return (void*) vkCmdBindDescriptorSets; - if (!strcmp(funcName, "vkCmdBindVertexBuffer")) - return (void*) vkCmdBindVertexBuffer; + if (!strcmp(funcName, "vkCmdBindVertexBuffers")) + return (void*) vkCmdBindVertexBuffers; if (!strcmp(funcName, "vkCmdBindIndexBuffer")) return (void*) vkCmdBindIndexBuffer; if (!strcmp(funcName, "vkCmdDrawIndirect")) @@ -2116,10 +2122,10 @@ VK_LAYER_EXPORT void* VKAPI vkGetProcAddr(VkPhysicalGpu gpu, const char* funcNam return (void*) vkDbgUnregisterMsgCallback; if (!strcmp(funcName, "vkGetDeviceQueue")) return (void*) vkGetDeviceQueue; - if (!strcmp(funcName, "vkQueueAddMemReference")) - return (void*) vkQueueAddMemReference; - if (!strcmp(funcName, "vkQueueRemoveMemReference")) - return (void*) vkQueueRemoveMemReference; + if (!strcmp(funcName, "vkQueueAddMemReferences")) + return (void*) vkQueueAddMemReferences; + if (!strcmp(funcName, "vkQueueRemoveMemReferences")) + return (void*) vkQueueRemoveMemReferences; #if !defined(WIN32) if (!strcmp(funcName, "vkWsiX11CreatePresentableImage")) return (void*) vkWsiX11CreatePresentableImage; diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index 77040ef5..f8562838 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -340,15 +340,15 @@ VK_LAYER_EXPORT VkResult VKAPI vkQueueSubmit(VkQueue queue, uint32_t cmdBufferCo return result; } -VK_LAYER_EXPORT VkResult VKAPI vkQueueAddMemReference(VkQueue queue, VkGpuMemory mem) +VK_LAYER_EXPORT VkResult VKAPI vkQueueAddMemReferences(VkQueue queue, uint32_t count, const VkGpuMemory* pMems) { - VkResult result = nextTable.QueueAddMemReference(queue, mem); + VkResult result = nextTable.QueueAddMemReferences(queue, count, pMems); return result; } -VK_LAYER_EXPORT VkResult VKAPI vkQueueRemoveMemReference(VkQueue queue, VkGpuMemory mem) +VK_LAYER_EXPORT VkResult VKAPI vkQueueRemoveMemReferences(VkQueue queue, uint32_t count, const VkGpuMemory* pMems) { - VkResult result = nextTable.QueueRemoveMemReference(queue, mem); + VkResult result = nextTable.QueueRemoveMemReferences(queue, count, pMems); return result; } VK_LAYER_EXPORT VkResult VKAPI vkQueueWaitIdle(VkQueue queue) @@ -1221,10 +1221,14 @@ VK_LAYER_EXPORT void VKAPI vkCmdBindDescriptorSets(VkCmdBuffer cmdBuffer, VkPipe nextTable.CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, layoutChain, layoutChainSlot, count, pDescriptorSets, pUserData); } -VK_LAYER_EXPORT void VKAPI vkCmdBindVertexBuffer(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkGpuSize offset, uint32_t binding) +VK_LAYER_EXPORT void VKAPI vkCmdBindVertexBuffers( + VkCmdBuffer cmdBuffer, + uint32_t startBinding, + uint32_t bindingCount, + const VkBuffer* pBuffers, + const VkGpuSize* pOffsets) { - - nextTable.CmdBindVertexBuffer(cmdBuffer, buffer, offset, binding); + nextTable.CmdBindVertexBuffers(cmdBuffer, startBinding, bindingCount, pBuffers, pOffsets); } VK_LAYER_EXPORT void VKAPI vkCmdBindIndexBuffer(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkGpuSize offset, VkIndexType indexType) diff --git a/vk-layer-generate.py b/vk-layer-generate.py index a74b4ebd..cb429aab 100755 --- a/vk-layer-generate.py +++ b/vk-layer-generate.py @@ -1103,7 +1103,7 @@ class ObjectTrackerSubcommand(Subcommand): destroy_line = '' funcs = [] # Special cases for API funcs that don't use an object as first arg - if True in [no_use_proto in proto.name for no_use_proto in ['GlobalOption', 'CreateInstance', 'QueueSubmit', 'QueueAddMemReference', 'QueueRemoveMemReference', 'QueueWaitIdle', 'GetGlobalExtensionInfo', 'CreateDevice', 'GetGpuInfo', 'QueueSignalSemaphore', 'QueueWaitSemaphore', 'WsiX11QueuePresent']]: + if True in [no_use_proto in proto.name for no_use_proto in ['GlobalOption', 'CreateInstance', 'QueueSubmit', 'QueueAddMemReferences', 'QueueRemoveMemReferences', 'QueueWaitIdle', 'GetGlobalExtensionInfo', 'CreateDevice', 'GetGpuInfo', 'QueueSignalSemaphore', 'QueueWaitSemaphore', 'WsiX11QueuePresent']]: using_line = '' else: using_line = ' loader_platform_thread_lock_mutex(&objLock);\n' @@ -282,13 +282,15 @@ core = Extension( Param("const VkCmdBuffer*", "pCmdBuffers"), Param("VkFence", "fence")]), - Proto("VkResult", "QueueAddMemReference", + Proto("VkResult", "QueueAddMemReferences", [Param("VkQueue", "queue"), - Param("VkGpuMemory", "mem")]), + Param("uint32_t", "count"), + Param("const VkGpuMemory*", "pMems")]), - Proto("VkResult", "QueueRemoveMemReference", + Proto("VkResult", "QueueRemoveMemReferences", [Param("VkQueue", "queue"), - Param("VkGpuMemory", "mem")]), + Param("uint32_t", "count"), + Param("const VkGpuMemory*", "pMems")]), Proto("VkResult", "QueueWaitIdle", [Param("VkQueue", "queue")]), @@ -629,11 +631,12 @@ core = Extension( Param("const VkDescriptorSet*", "pDescriptorSets"), Param("const uint32_t*", "pUserData")]), - Proto("void", "CmdBindVertexBuffer", + Proto("void", "CmdBindVertexBuffers", [Param("VkCmdBuffer", "cmdBuffer"), - Param("VkBuffer", "buffer"), - Param("VkGpuSize", "offset"), - Param("uint32_t", "binding")]), + Param("uint32_t", "startBinding"), + Param("uint32_t", "bindingCount"), + Param("const VkBuffer*", "pBuffers"), + Param("const VkGpuSize*", "pOffsets")]), Proto("void", "CmdBindIndexBuffer", [Param("VkCmdBuffer", "cmdBuffer"), |
