aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCody Northrop <cody@lunarg.com>2015-07-09 18:08:05 -0600
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-07-17 10:05:20 -0600
commite91de3b255afc4a84b5bd7a6815278646beee60d (patch)
tree1e64e33616e2a78f4e35aaa22828220e41e8e58a
parent860c33b07f995910cf266993a126f67ec641aab1 (diff)
downloadusermoji-e91de3b255afc4a84b5bd7a6815278646beee60d.tar.xz
icd: Support for command pools
-rw-r--r--icd/nulldrv/nulldrv.c29
-rw-r--r--include/vk_debug_report_lunarg.h5
-rw-r--r--include/vk_layer.h3
-rw-r--r--include/vulkan.h51
-rw-r--r--layers/draw_state.cpp10
-rw-r--r--layers/draw_state.h2
-rw-r--r--layers/mem_tracker.cpp5
-rw-r--r--loader/gpa_helper.h6
-rw-r--r--loader/loader.c2
-rw-r--r--loader/table_ops.h9
-rw-r--r--loader/trampoline.c31
-rwxr-xr-xvulkan.py19
12 files changed, 153 insertions, 19 deletions
diff --git a/icd/nulldrv/nulldrv.c b/icd/nulldrv/nulldrv.c
index e4c2313d..e2d36c08 100644
--- a/icd/nulldrv/nulldrv.c
+++ b/icd/nulldrv/nulldrv.c
@@ -711,6 +711,32 @@ ICD_EXPORT VkResult VKAPI vkDestroyBuffer(
return VK_SUCCESS;
}
+ICD_EXPORT VkResult VKAPI vkCreateCommandPool(
+ VkDevice device,
+ const VkCmdPoolCreateInfo* pCreateInfo,
+ VkCmdPool* pCmdPool)
+{
+ NULLDRV_LOG_FUNC;
+ return VK_SUCCESS;
+}
+
+ICD_EXPORT VkResult VKAPI vkDestroyCommandPool(
+ VkDevice device,
+ VkCmdPool cmdPool)
+{
+ NULLDRV_LOG_FUNC;
+ return VK_SUCCESS;
+}
+
+ICD_EXPORT VkResult VKAPI vkResetCommandPool(
+ VkDevice device,
+ VkCmdPool cmdPool,
+ VkCmdPoolResetFlags flags)
+{
+ NULLDRV_LOG_FUNC;
+ return VK_SUCCESS;
+}
+
ICD_EXPORT VkResult VKAPI vkCreateCommandBuffer(
VkDevice device,
const VkCmdBufferCreateInfo* pCreateInfo,
@@ -747,7 +773,8 @@ ICD_EXPORT VkResult VKAPI vkEndCommandBuffer(
}
ICD_EXPORT VkResult VKAPI vkResetCommandBuffer(
- VkCmdBuffer cmdBuffer)
+ VkCmdBuffer cmdBuffer,
+ VkCmdBufferResetFlags flags)
{
NULLDRV_LOG_FUNC;
return VK_SUCCESS;
diff --git a/include/vk_debug_report_lunarg.h b/include/vk_debug_report_lunarg.h
index 89dd02e6..eef78364 100644
--- a/include/vk_debug_report_lunarg.h
+++ b/include/vk_debug_report_lunarg.h
@@ -78,9 +78,10 @@ typedef enum {
VK_OBJECT_TYPE_RENDER_PASS = 29,
VK_OBJECT_TYPE_PIPELINE_CACHE = 30,
VK_OBJECT_TYPE_SWAP_CHAIN_WSI = 31,
+ VK_OBJECT_TYPE_CMD_POOL = 32,
VK_OBJECT_TYPE_BEGIN_RANGE = VK_OBJECT_TYPE_INSTANCE,
- VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_SWAP_CHAIN_WSI,
- VK_OBJECT_TYPE_NUM = (VK_OBJECT_TYPE_SWAP_CHAIN_WSI - VK_OBJECT_TYPE_INSTANCE + 1),
+ VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_CMD_POOL,
+ VK_OBJECT_TYPE_NUM = (VK_OBJECT_TYPE_CMD_POOL - VK_OBJECT_TYPE_INSTANCE + 1),
VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkDbgObjectType;
diff --git a/include/vk_layer.h b/include/vk_layer.h
index 6d1945bf..25c30e22 100644
--- a/include/vk_layer.h
+++ b/include/vk_layer.h
@@ -110,6 +110,9 @@ typedef struct VkLayerDispatchTable_
PFN_vkDestroyDynamicColorBlendState DestroyDynamicColorBlendState;
PFN_vkCreateDynamicDepthStencilState CreateDynamicDepthStencilState;
PFN_vkDestroyDynamicDepthStencilState DestroyDynamicDepthStencilState;
+ PFN_vkCreateCommandPool CreateCommandPool;
+ PFN_vkDestroyCommandPool DestroyCommandPool;
+ PFN_vkResetCommandPool ResetCommandPool;
PFN_vkCreateCommandBuffer CreateCommandBuffer;
PFN_vkDestroyCommandBuffer DestroyCommandBuffer;
PFN_vkBeginCommandBuffer BeginCommandBuffer;
diff --git a/include/vulkan.h b/include/vulkan.h
index 62049412..bd8de375 100644
--- a/include/vulkan.h
+++ b/include/vulkan.h
@@ -106,6 +106,7 @@ VK_DEFINE_NONDISP_HANDLE(VkDynamicColorBlendState)
VK_DEFINE_NONDISP_HANDLE(VkDynamicDepthStencilState)
VK_DEFINE_NONDISP_HANDLE(VkRenderPass)
VK_DEFINE_NONDISP_HANDLE(VkFramebuffer)
+VK_DEFINE_NONDISP_HANDLE(VkCmdPool)
#define VK_MAX_PHYSICAL_DEVICE_NAME 256
#define VK_MAX_EXTENSION_NAME 256
@@ -793,8 +794,9 @@ typedef enum VkStructureType_
VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION = 48,
VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY = 49,
VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 50,
+ VK_STRUCTURE_TYPE_CMD_POOL_CREATE_INFO = 51,
- VK_ENUM_RANGE(STRUCTURE_TYPE, APPLICATION_INFO, RENDER_PASS_BEGIN_INFO)
+ VK_ENUM_RANGE(STRUCTURE_TYPE, APPLICATION_INFO, CMD_POOL_CREATE_INFO)
} VkStructureType;
// ------------------------------------------------------------------------------------------------
@@ -906,6 +908,17 @@ typedef enum VkMemoryInputFlagBits_
VK_MEMORY_INPUT_TRANSFER_BIT = VK_BIT(9), // Controls input coherency of transfer operations
} VkMemoryInputFlagBits;
+typedef enum {
+ VK_CMD_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
+ VK_CMD_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
+} VkCmdPoolCreateFlagBits;
+typedef VkFlags VkCmdPoolCreateFlags;
+
+typedef enum {
+ VK_CMD_POOL_RESET_RELEASE_RESOURCES = 0x00000001,
+} VkCmdPoolResetFlagBits;
+typedef VkFlags VkCmdPoolResetFlags;
+
// Buffer usage flags
typedef VkFlags VkBufferUsageFlags;
typedef enum VkBufferUsageFlagBits_
@@ -1120,6 +1133,11 @@ typedef enum VkCmdBufferOptimizeFlagBits_
VK_CMD_BUFFER_OPTIMIZE_NO_SIMULTANEOUS_USE_BIT = 0x00000010,
} VkCmdBufferOptimizeFlagBits;
+typedef enum {
+ VK_CMD_BUFFER_RESET_RELEASE_RESOURCES = 0x00000001,
+} VkCmdBufferResetFlagBits;
+typedef VkFlags VkCmdBufferResetFlags;
+
// Pipeline statistics flags
typedef VkFlags VkQueryPipelineStatisticFlags;
typedef enum VkQueryPipelineStatisticFlagBits_ {
@@ -2066,11 +2084,18 @@ typedef struct VkDynamicDepthStencilStateCreateInfo_
uint32_t stencilBackRef;
} VkDynamicDepthStencilStateCreateInfo;
+typedef struct {
+ VkStructureType sType;
+ const void* pNext;
+ uint32_t queueFamilyIndex;
+ VkCmdPoolCreateFlags flags;
+} VkCmdPoolCreateInfo;
+
typedef struct VkCmdBufferCreateInfo_
{
VkStructureType sType; // Must be VK_STRUCTURE_TYPE_CMD_BUFFER_CREATE_INFO
const void* pNext; // Pointer to next structure
- uint32_t queueNodeIndex;
+ VkCmdPool cmdPool;
VkCmdBufferLevel level;
VkCmdBufferCreateFlags flags; // Command buffer creation flags
} VkCmdBufferCreateInfo;
@@ -2357,11 +2382,14 @@ typedef VkResult (VKAPI *PFN_vkCreateDynamicColorBlendState)(VkDevice device, co
typedef VkResult (VKAPI *PFN_vkDestroyDynamicColorBlendState)(VkDevice device, VkDynamicColorBlendState dynamicColorBlendState);
typedef VkResult (VKAPI *PFN_vkCreateDynamicDepthStencilState)(VkDevice device, const VkDynamicDepthStencilStateCreateInfo* pCreateInfo, VkDynamicDepthStencilState* pState);
typedef VkResult (VKAPI *PFN_vkDestroyDynamicDepthStencilState)(VkDevice device, VkDynamicDepthStencilState dynamicDepthStencilState);
+typedef VkResult (VKAPI *PFN_vkCreateCommandPool)(VkDevice device, const VkCmdPoolCreateInfo* pCreateInfo, VkCmdPool* pCmdPool);
+typedef VkResult (VKAPI *PFN_vkDestroyCommandPool)(VkDevice device, VkCmdPool cmdPool);
+typedef VkResult (VKAPI *PFN_vkResetCommandPool)(VkDevice device, VkCmdPool cmdPool, VkCmdPoolResetFlags flags);
typedef VkResult (VKAPI *PFN_vkCreateCommandBuffer)(VkDevice device, const VkCmdBufferCreateInfo* pCreateInfo, VkCmdBuffer* pCmdBuffer);
typedef VkResult (VKAPI *PFN_vkDestroyCommandBuffer)(VkDevice device, VkCmdBuffer commandBuffer);
typedef VkResult (VKAPI *PFN_vkBeginCommandBuffer)(VkCmdBuffer cmdBuffer, const VkCmdBufferBeginInfo* pBeginInfo);
typedef VkResult (VKAPI *PFN_vkEndCommandBuffer)(VkCmdBuffer cmdBuffer);
-typedef VkResult (VKAPI *PFN_vkResetCommandBuffer)(VkCmdBuffer cmdBuffer);
+typedef VkResult (VKAPI *PFN_vkResetCommandBuffer)(VkCmdBuffer cmdBuffer, VkCmdBufferResetFlags flags);
typedef void (VKAPI *PFN_vkCmdBindPipeline)(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
typedef void (VKAPI *PFN_vkCmdBindDynamicViewportState)(VkCmdBuffer cmdBuffer, VkDynamicViewportState dynamicViewportState);
typedef void (VKAPI *PFN_vkCmdBindDynamicRasterState)(VkCmdBuffer cmdBuffer, VkDynamicRasterState dynamicRasterState);
@@ -2933,6 +2961,20 @@ VkResult VKAPI vkDestroyDynamicDepthStencilState(
// Command buffer functions
+VkResult VKAPI vkCreateCommandPool(
+ VkDevice device,
+ const VkCmdPoolCreateInfo* pCreateInfo,
+ VkCmdPool* pCmdPool);
+
+VkResult VKAPI vkDestroyCommandPool(
+ VkDevice device,
+ VkCmdPool cmdPool);
+
+VkResult VKAPI vkResetCommandPool(
+ VkDevice device,
+ VkCmdPool cmdPool,
+ VkCmdPoolResetFlags flags);
+
VkResult VKAPI vkCreateCommandBuffer(
VkDevice device,
const VkCmdBufferCreateInfo* pCreateInfo,
@@ -2950,7 +2992,8 @@ VkResult VKAPI vkEndCommandBuffer(
VkCmdBuffer cmdBuffer);
VkResult VKAPI vkResetCommandBuffer(
- VkCmdBuffer cmdBuffer);
+ VkCmdBuffer cmdBuffer,
+ VkCmdBufferResetFlags flags);
// Command buffer building functions
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index 0ce4e6ae..4738426a 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -1116,11 +1116,11 @@ static void resetCB(const VkCmdBuffer cb)
pCB->pCmds.clear();
// Reset CB state
VkFlags saveFlags = pCB->flags;
- uint32_t saveQueueNodeIndex = pCB->queueNodeIndex;
+ VkCmdPool savedPool = pCB->pool;
memset(pCB, 0, sizeof(GLOBAL_CB_NODE));
pCB->cmdBuffer = cb;
pCB->flags = saveFlags;
- pCB->queueNodeIndex = saveQueueNodeIndex;
+ pCB->pool = savedPool;
pCB->lastVtxBinding = MAX_BINDING;
}
}
@@ -1987,7 +1987,7 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateCommandBuffer(VkDevice device, const VkCm
memset(pCB, 0, sizeof(GLOBAL_CB_NODE));
pCB->cmdBuffer = *pCmdBuffer;
pCB->flags = pCreateInfo->flags;
- pCB->queueNodeIndex = pCreateInfo->queueNodeIndex;
+ pCB->pool = pCreateInfo->cmdPool;
pCB->lastVtxBinding = MAX_BINDING;
cmdBufferMap[*pCmdBuffer] = pCB;
loader_platform_thread_unlock_mutex(&globalLock);
@@ -2036,9 +2036,9 @@ VK_LAYER_EXPORT VkResult VKAPI vkEndCommandBuffer(VkCmdBuffer cmdBuffer)
return result;
}
-VK_LAYER_EXPORT VkResult VKAPI vkResetCommandBuffer(VkCmdBuffer cmdBuffer)
+VK_LAYER_EXPORT VkResult VKAPI vkResetCommandBuffer(VkCmdBuffer cmdBuffer, VkCmdBufferResetFlags flags)
{
- VkResult result = get_dispatch_table(draw_state_device_table_map, cmdBuffer)->ResetCommandBuffer(cmdBuffer);
+ VkResult result = get_dispatch_table(draw_state_device_table_map, cmdBuffer)->ResetCommandBuffer(cmdBuffer, flags);
if (VK_SUCCESS == result) {
resetCB(cmdBuffer);
updateCBTracking(cmdBuffer);
diff --git a/layers/draw_state.h b/layers/draw_state.h
index e4fbec3a..5491e488 100644
--- a/layers/draw_state.h
+++ b/layers/draw_state.h
@@ -234,7 +234,7 @@ typedef enum _CBStatusFlagBits
// Cmd Buffer Wrapper Struct
typedef struct _GLOBAL_CB_NODE {
VkCmdBuffer cmdBuffer;
- uint32_t queueNodeIndex;
+ VkCmdPool pool;
VkFlags flags;
VkFence fence; // fence tracking this cmd buffer
uint64_t numCmds; // number of cmds in this CB
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp
index fd279505..80a86a29 100644
--- a/layers/mem_tracker.cpp
+++ b/layers/mem_tracker.cpp
@@ -2325,7 +2325,8 @@ VK_LAYER_EXPORT VkResult VKAPI vkEndCommandBuffer(
}
VK_LAYER_EXPORT VkResult VKAPI vkResetCommandBuffer(
- VkCmdBuffer cmdBuffer)
+ VkCmdBuffer cmdBuffer,
+ VkCmdBufferResetFlags flags)
{
loader_platform_thread_lock_mutex(&globalLock);
// Verify that CB is complete (not in-flight)
@@ -2338,7 +2339,7 @@ VK_LAYER_EXPORT VkResult VKAPI vkResetCommandBuffer(
// Clear memory references as this point.
clear_cmd_buf_and_mem_references(cmdBuffer);
loader_platform_thread_unlock_mutex(&globalLock);
- VkResult result = get_dispatch_table(mem_tracker_device_table_map, cmdBuffer)->ResetCommandBuffer(cmdBuffer);
+ VkResult result = get_dispatch_table(mem_tracker_device_table_map, cmdBuffer)->ResetCommandBuffer(cmdBuffer, flags);
return result;
}
// TODO : For any vkCmdBind* calls that include an object which has mem bound to it,
diff --git a/loader/gpa_helper.h b/loader/gpa_helper.h
index a6d88085..08d3b60d 100644
--- a/loader/gpa_helper.h
+++ b/loader/gpa_helper.h
@@ -227,6 +227,12 @@ static inline void* globalGetProcAddr(const char *name)
return (void*) vkCreateDynamicDepthStencilState;
if (!strcmp(name, "DestroyDynamicDepthStencilState"))
return (void*) vkDestroyDynamicDepthStencilState;
+ if (!strcmp(name, "CreateCommandPool"))
+ return (void*) vkCreateCommandPool;
+ if (!strcmp(name, "DestroyCommandPool"))
+ return (void*) vkDestroyCommandPool;
+ if (!strcmp(name, "ResetCommandPool"))
+ return (void*) vkResetCommandPool;
if (!strcmp(name, "CreateCommandBuffer"))
return (void*) vkCreateCommandBuffer;
if (!strcmp(name, "DestroyCommandBuffer"))
diff --git a/loader/loader.c b/loader/loader.c
index 20ff816c..75701cf2 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -2331,7 +2331,7 @@ VkResult loader_validate_instance_extensions(
VkResult loader_validate_device_extensions(
struct loader_icd *icd,
- u_int32_t gpu_index,
+ uint32_t gpu_index,
const VkDeviceCreateInfo *pCreateInfo)
{
struct loader_extension_property *extension_prop;
diff --git a/loader/table_ops.h b/loader/table_ops.h
index 601be425..9bcd1296 100644
--- a/loader/table_ops.h
+++ b/loader/table_ops.h
@@ -118,6 +118,9 @@ static inline void loader_init_device_dispatch_table(VkLayerDispatchTable *table
table->DestroyDynamicColorBlendState = (PFN_vkDestroyDynamicColorBlendState) gpa(dev, "vkDestroyDynamicColorBlendState");
table->CreateDynamicDepthStencilState = (PFN_vkCreateDynamicDepthStencilState) gpa(dev, "vkCreateDynamicDepthStencilState");
table->DestroyDynamicDepthStencilState = (PFN_vkDestroyDynamicDepthStencilState) gpa(dev, "vkDestroyDynamicDepthStencilState");
+ table->CreateCommandPool = (PFN_vkCreateCommandPool) gpa(dev, "vkCreateCommandPool");
+ table->DestroyCommandPool = (PFN_vkDestroyCommandPool) gpa(dev, "vkDestroyCommandPool");
+ table->ResetCommandPool = (PFN_vkResetCommandPool) gpa(dev, "vkResetCommandPool");
table->CreateCommandBuffer = (PFN_vkCreateCommandBuffer) gpa(dev, "vkCreateCommandBuffer");
table->DestroyCommandBuffer = (PFN_vkDestroyCommandBuffer) gpa(dev, "vkDestroyCommandBuffer");
table->BeginCommandBuffer = (PFN_vkBeginCommandBuffer) gpa(dev, "vkBeginCommandBuffer");
@@ -347,6 +350,12 @@ static inline void *loader_lookup_device_dispatch_table(
return (void *) table->CreateDynamicDepthStencilState;
if (!strcmp(name, "DestroyDynamicDepthStencilState"))
return (void *) table->DestroyDynamicDepthStencilState;
+ if (!strcmp(name, "CreateCommandPool"))
+ return (void *) table->CreateCommandPool;
+ if (!strcmp(name, "DestroyCommandPool"))
+ return (void *) table->DestroyCommandPool;
+ if (!strcmp(name, "ResetCommandPool"))
+ return (void *) table->ResetCommandPool;
if (!strcmp(name, "CreateCommandBuffer"))
return (void *) table->CreateCommandBuffer;
if (!strcmp(name, "DestroyCommandBuffer"))
diff --git a/loader/trampoline.c b/loader/trampoline.c
index 0e102741..183062c4 100644
--- a/loader/trampoline.c
+++ b/loader/trampoline.c
@@ -1052,6 +1052,33 @@ LOADER_EXPORT VkResult VKAPI vkDestroyDynamicDepthStencilState(VkDevice device,
return disp->DestroyDynamicDepthStencilState(device, dynamicDepthStencilState);
}
+LOADER_EXPORT VkResult VKAPI vkCreateCommandPool(VkDevice device, const VkCmdPoolCreateInfo* pCreateInfo, VkCmdPool* pCmdPool)
+{
+ const VkLayerDispatchTable *disp;
+
+ disp = loader_get_dispatch(device);
+
+ return disp->CreateCommandPool(device, pCreateInfo, pCmdPool);
+}
+
+LOADER_EXPORT VkResult VKAPI vkDestroyCommandPool(VkDevice device, VkCmdPool cmdPool)
+{
+ const VkLayerDispatchTable *disp;
+
+ disp = loader_get_dispatch(device);
+
+ return disp->DestroyCommandPool(device, cmdPool);
+}
+
+LOADER_EXPORT VkResult VKAPI vkResetCommandPool(VkDevice device, VkCmdPool cmdPool, VkCmdPoolResetFlags flags)
+{
+ const VkLayerDispatchTable *disp;
+
+ disp = loader_get_dispatch(device);
+
+ return disp->ResetCommandPool(device, cmdPool, flags);
+}
+
LOADER_EXPORT VkResult VKAPI vkCreateCommandBuffer(VkDevice device, const VkCmdBufferCreateInfo* pCreateInfo, VkCmdBuffer* pCmdBuffer)
{
const VkLayerDispatchTable *disp;
@@ -1094,13 +1121,13 @@ LOADER_EXPORT VkResult VKAPI vkEndCommandBuffer(VkCmdBuffer cmdBuffer)
return disp->EndCommandBuffer(cmdBuffer);
}
-LOADER_EXPORT VkResult VKAPI vkResetCommandBuffer(VkCmdBuffer cmdBuffer)
+LOADER_EXPORT VkResult VKAPI vkResetCommandBuffer(VkCmdBuffer cmdBuffer, VkCmdBufferResetFlags flags)
{
const VkLayerDispatchTable *disp;
disp = loader_get_dispatch(cmdBuffer);
- return disp->ResetCommandBuffer(cmdBuffer);
+ return disp->ResetCommandBuffer(cmdBuffer, flags);
}
LOADER_EXPORT void VKAPI vkCmdBindPipeline(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
diff --git a/vulkan.py b/vulkan.py
index fa713149..8db4334b 100755
--- a/vulkan.py
+++ b/vulkan.py
@@ -188,6 +188,7 @@ core = Extension(
"VkDevice",
"VkQueue",
"VkCmdBuffer",
+ "VkCmdPool",
"VkFence",
"VkDeviceMemory",
"VkBuffer",
@@ -699,6 +700,20 @@ core = Extension(
[Param("VkDevice", "device"),
Param("VkDynamicDepthStencilState", "dynamicDepthStencilState")]),
+ Proto("VkResult", "CreateCommandPool",
+ [Param("VkDevice", "device"),
+ Param("const VkCmdPoolCreateInfo*", "pCreateInfo"),
+ Param("VkCmdPool*", "pCmdPool")]),
+
+ Proto("VkResult", "DestroyCommandPool",
+ [Param("VkDevice", "device"),
+ Param("VkCmdPool", "cmdPool")]),
+
+ Proto("VkResult", "ResetCommandPool",
+ [Param("VkDevice", "device"),
+ Param("VkCmdPool", "cmdPool"),
+ Param("VkCmdPoolResetFlags", "flags")]),
+
Proto("VkResult", "CreateCommandBuffer",
[Param("VkDevice", "device"),
Param("const VkCmdBufferCreateInfo*", "pCreateInfo"),
@@ -716,7 +731,8 @@ core = Extension(
[Param("VkCmdBuffer", "cmdBuffer")]),
Proto("VkResult", "ResetCommandBuffer",
- [Param("VkCmdBuffer", "cmdBuffer")]),
+ [Param("VkCmdBuffer", "cmdBuffer"),
+ Param("VkCmdBufferResetFlags", "flags")]),
Proto("void", "CmdBindPipeline",
[Param("VkCmdBuffer", "cmdBuffer"),
@@ -1047,6 +1063,7 @@ object_dispatch_list = [
]
object_non_dispatch_list = [
+ "VkCmdPool",
"VkFence",
"VkDeviceMemory",
"VkBuffer",