Bug 14084 - Improve type safety and remove polymorphism
diff --git a/vulkan.py b/vulkan.py
index 123fccf..dd81631 100755
--- a/vulkan.py
+++ b/vulkan.py
@@ -189,7 +189,6 @@
"VkDevice",
"VkQueue",
"VkDeviceMemory",
- "VkObject",
"VkBuffer",
"VkBufferView",
"VkImage",
@@ -203,11 +202,10 @@
"VkDescriptorSetLayout",
"VkPipelineLayout",
"VkDescriptorPool",
- "VkDynamicStateObject",
- "VkDynamicVpState",
- "VkDynamicRsState",
- "VkDynamicCbState",
- "VkDynamicDsState",
+ "VkDynamicViewportState",
+ "VkDynamicRasterState",
+ "VkDynamicColorBlendState",
+ "VkDynamicDepthStencilState",
"VkCmdBuffer",
"VkFence",
"VkSemaphore",
@@ -349,21 +347,25 @@
Param("uint32_t", "memRangeCount"),
Param("const VkMappedMemoryRange*", "pMemRanges")]),
- Proto("VkResult", "DestroyObject",
+ Proto("VkResult", "GetBufferMemoryRequirements",
[Param("VkDevice", "device"),
- Param("VkObjectType", "objType"),
- Param("VkObject", "object")]),
-
- Proto("VkResult", "GetObjectMemoryRequirements",
- [Param("VkDevice", "device"),
- Param("VkObjectType", "objType"),
- Param("VkObject", "object"),
+ Param("VkBuffer", "buffer"),
Param("VkMemoryRequirements*", "pMemoryRequirements")]),
- Proto("VkResult", "BindObjectMemory",
+ Proto("VkResult", "GetImageMemoryRequirements",
[Param("VkDevice", "device"),
- Param("VkObjectType", "objType"),
- Param("VkObject", "object"),
+ Param("VkImage", "image"),
+ Param("VkMemoryRequirements*", "pMemoryRequirements")]),
+
+ Proto("VkResult", "BindBufferMemory",
+ [Param("VkDevice", "device"),
+ Param("VkBuffer", "buffer"),
+ Param("VkDeviceMemory", "mem"),
+ Param("VkDeviceSize", "offset")]),
+
+ Proto("VkResult", "BindImageMemory",
+ [Param("VkDevice", "device"),
+ Param("VkImage", "image"),
Param("VkDeviceMemory", "mem"),
Param("VkDeviceSize", "offset")]),
@@ -406,6 +408,10 @@
Param("const VkFenceCreateInfo*", "pCreateInfo"),
Param("VkFence*", "pFence")]),
+ Proto("VkResult", "DestroyFence",
+ [Param("VkDevice", "device"),
+ Param("VkFence", "fence")]),
+
Proto("VkResult", "ResetFences",
[Param("VkDevice", "device"),
Param("uint32_t", "fenceCount"),
@@ -427,6 +433,10 @@
Param("const VkSemaphoreCreateInfo*", "pCreateInfo"),
Param("VkSemaphore*", "pSemaphore")]),
+ Proto("VkResult", "DestroySemaphore",
+ [Param("VkDevice", "device"),
+ Param("VkSemaphore", "semaphore")]),
+
Proto("VkResult", "QueueSignalSemaphore",
[Param("VkQueue", "queue"),
Param("VkSemaphore", "semaphore")]),
@@ -440,6 +450,10 @@
Param("const VkEventCreateInfo*", "pCreateInfo"),
Param("VkEvent*", "pEvent")]),
+ Proto("VkResult", "DestroyEvent",
+ [Param("VkDevice", "device"),
+ Param("VkEvent", "event")]),
+
Proto("VkResult", "GetEventStatus",
[Param("VkDevice", "device"),
Param("VkEvent", "event")]),
@@ -457,6 +471,10 @@
Param("const VkQueryPoolCreateInfo*", "pCreateInfo"),
Param("VkQueryPool*", "pQueryPool")]),
+ Proto("VkResult", "DestroyQueryPool",
+ [Param("VkDevice", "device"),
+ Param("VkQueryPool", "queryPool")]),
+
Proto("VkResult", "GetQueryPoolResults",
[Param("VkDevice", "device"),
Param("VkQueryPool", "queryPool"),
@@ -471,16 +489,28 @@
Param("const VkBufferCreateInfo*", "pCreateInfo"),
Param("VkBuffer*", "pBuffer")]),
+ Proto("VkResult", "DestroyBuffer",
+ [Param("VkDevice", "device"),
+ Param("VkBuffer", "buffer")]),
+
Proto("VkResult", "CreateBufferView",
[Param("VkDevice", "device"),
Param("const VkBufferViewCreateInfo*", "pCreateInfo"),
Param("VkBufferView*", "pView")]),
+ Proto("VkResult", "DestroyBufferView",
+ [Param("VkDevice", "device"),
+ Param("VkBufferView", "bufferView")]),
+
Proto("VkResult", "CreateImage",
[Param("VkDevice", "device"),
Param("const VkImageCreateInfo*", "pCreateInfo"),
Param("VkImage*", "pImage")]),
+ Proto("VkResult", "DestroyImage",
+ [Param("VkDevice", "device"),
+ Param("VkImage", "image")]),
+
Proto("VkResult", "GetImageSubresourceLayout",
[Param("VkDevice", "device"),
Param("VkImage", "image"),
@@ -492,21 +522,37 @@
Param("const VkImageViewCreateInfo*", "pCreateInfo"),
Param("VkImageView*", "pView")]),
+ Proto("VkResult", "DestroyImageView",
+ [Param("VkDevice", "device"),
+ Param("VkImageView", "imageView")]),
+
Proto("VkResult", "CreateAttachmentView",
[Param("VkDevice", "device"),
Param("const VkAttachmentViewCreateInfo*", "pCreateInfo"),
Param("VkAttachmentView*", "pView")]),
+ Proto("VkResult", "DestroyAttachmentView",
+ [Param("VkDevice", "device"),
+ Param("VkAttachmentView", "attachmentView")]),
+
Proto("VkResult", "CreateShaderModule",
[Param("VkDevice", "device"),
Param("const VkShaderModuleCreateInfo*", "pCreateInfo"),
Param("VkShaderModule*", "pShaderModule")]),
+ Proto("VkResult", "DestroyShaderModule",
+ [Param("VkDevice", "device"),
+ Param("VkShaderModule", "shaderModule")]),
+
Proto("VkResult", "CreateShader",
[Param("VkDevice", "device"),
Param("const VkShaderCreateInfo*", "pCreateInfo"),
Param("VkShader*", "pShader")]),
+ Proto("VkResult", "DestroyShader",
+ [Param("VkDevice", "device"),
+ Param("VkShader", "shader")]),
+
Proto("VkResult", "CreatePipelineCache",
[Param("VkDevice", "device"),
Param("const VkPipelineCacheCreateInfo*", "pCreateInfo"),
@@ -545,21 +591,37 @@
Param("const VkComputePipelineCreateInfo*", "pCreateInfos"),
Param("VkPipeline*", "pPipelines")]),
+ Proto("VkResult", "DestroyPipeline",
+ [Param("VkDevice", "device"),
+ Param("VkPipeline", "pipeline")]),
+
Proto("VkResult", "CreatePipelineLayout",
[Param("VkDevice", "device"),
Param("const VkPipelineLayoutCreateInfo*", "pCreateInfo"),
Param("VkPipelineLayout*", "pPipelineLayout")]),
+ Proto("VkResult", "DestroyPipelineLayout",
+ [Param("VkDevice", "device"),
+ Param("VkPipelineLayout", "pipelineLayout")]),
+
Proto("VkResult", "CreateSampler",
[Param("VkDevice", "device"),
Param("const VkSamplerCreateInfo*", "pCreateInfo"),
Param("VkSampler*", "pSampler")]),
+ Proto("VkResult", "DestroySampler",
+ [Param("VkDevice", "device"),
+ Param("VkSampler", "sampler")]),
+
Proto("VkResult", "CreateDescriptorSetLayout",
[Param("VkDevice", "device"),
Param("const VkDescriptorSetLayoutCreateInfo*", "pCreateInfo"),
Param("VkDescriptorSetLayout*", "pSetLayout")]),
+ Proto("VkResult", "DestroyDescriptorSetLayout",
+ [Param("VkDevice", "device"),
+ Param("VkDescriptorSetLayout", "descriptorSetLayout")]),
+
Proto("VkResult", "CreateDescriptorPool",
[Param("VkDevice", "device"),
Param("VkDescriptorPoolUsage", "poolUsage"),
@@ -567,6 +629,10 @@
Param("const VkDescriptorPoolCreateInfo*", "pCreateInfo"),
Param("VkDescriptorPool*", "pDescriptorPool")]),
+ Proto("VkResult", "DestroyDescriptorPool",
+ [Param("VkDevice", "device"),
+ Param("VkDescriptorPool", "descriptorPool")]),
+
Proto("VkResult", "ResetDescriptorPool",
[Param("VkDevice", "device"),
Param("VkDescriptorPool", "descriptorPool")]),
@@ -589,29 +655,49 @@
Proto("VkResult", "CreateDynamicViewportState",
[Param("VkDevice", "device"),
- Param("const VkDynamicVpStateCreateInfo*", "pCreateInfo"),
- Param("VkDynamicVpState*", "pState")]),
+ Param("const VkDynamicViewportStateCreateInfo*", "pCreateInfo"),
+ Param("VkDynamicViewportState*", "pState")]),
+
+ Proto("VkResult", "DestroyDynamicViewportState",
+ [Param("VkDevice", "device"),
+ Param("VkDynamicViewportState", "dynamicViewportState")]),
Proto("VkResult", "CreateDynamicRasterState",
[Param("VkDevice", "device"),
- Param("const VkDynamicRsStateCreateInfo*", "pCreateInfo"),
- Param("VkDynamicRsState*", "pState")]),
+ Param("const VkDynamicRasterStateCreateInfo*", "pCreateInfo"),
+ Param("VkDynamicRasterState*", "pState")]),
+
+ Proto("VkResult", "DestroyDynamicRasterState",
+ [Param("VkDevice", "device"),
+ Param("VkDynamicRasterState", "dynamicRasterState")]),
Proto("VkResult", "CreateDynamicColorBlendState",
[Param("VkDevice", "device"),
- Param("const VkDynamicCbStateCreateInfo*", "pCreateInfo"),
- Param("VkDynamicCbState*", "pState")]),
+ Param("const VkDynamicColorBlendStateCreateInfo*", "pCreateInfo"),
+ Param("VkDynamicColorBlendState*", "pState")]),
+
+ Proto("VkResult", "DestroyDynamicColorBlendState",
+ [Param("VkDevice", "device"),
+ Param("VkDynamicColorBlendState", "dynamicColorBlendState")]),
Proto("VkResult", "CreateDynamicDepthStencilState",
[Param("VkDevice", "device"),
- Param("const VkDynamicDsStateCreateInfo*", "pCreateInfo"),
- Param("VkDynamicDsState*", "pState")]),
+ Param("const VkDynamicDepthStencilStateCreateInfo*", "pCreateInfo"),
+ Param("VkDynamicDepthStencilState*", "pState")]),
+
+ Proto("VkResult", "DestroyDynamicDepthStencilState",
+ [Param("VkDevice", "device"),
+ Param("VkDynamicDepthStencilState", "dynamicDepthStencilState")]),
Proto("VkResult", "CreateCommandBuffer",
[Param("VkDevice", "device"),
Param("const VkCmdBufferCreateInfo*", "pCreateInfo"),
Param("VkCmdBuffer*", "pCmdBuffer")]),
+ Proto("VkResult", "DestroyCommandBuffer",
+ [Param("VkDevice", "device"),
+ Param("VkCmdBuffer", "cmdBuffer")]),
+
Proto("VkResult", "BeginCommandBuffer",
[Param("VkCmdBuffer", "cmdBuffer"),
Param("const VkCmdBufferBeginInfo*", "pBeginInfo")]),
@@ -627,10 +713,21 @@
Param("VkPipelineBindPoint", "pipelineBindPoint"),
Param("VkPipeline", "pipeline")]),
- Proto("void", "CmdBindDynamicStateObject",
+ Proto("void", "CmdBindDynamicViewportState",
[Param("VkCmdBuffer", "cmdBuffer"),
- Param("VkStateBindPoint", "stateBindPoint"),
- Param("VkDynamicStateObject", "state")]),
+ Param("VkDynamicViewportState", "dynamicViewportState")]),
+
+ Proto("void", "CmdBindDynamicRasterState",
+ [Param("VkCmdBuffer", "cmdBuffer"),
+ Param("VkDynamicRasterState", "dynamicRasterState")]),
+
+ Proto("void", "CmdBindDynamicColorBlendState",
+ [Param("VkCmdBuffer", "cmdBuffer"),
+ Param("VkDynamicColorBlendState", "dynamicColorBlendState")]),
+
+ Proto("void", "CmdBindDynamicDepthStencilState",
+ [Param("VkCmdBuffer", "cmdBuffer"),
+ Param("VkDynamicDepthStencilState", "dynamicDepthStencilState")]),
Proto("void", "CmdBindDescriptorSets",
[Param("VkCmdBuffer", "cmdBuffer"),
@@ -649,7 +746,6 @@
Param("const VkBuffer*", "pBuffers"),
Param("const VkDeviceSize*", "pOffsets")]),
-
Proto("void", "CmdBindIndexBuffer",
[Param("VkCmdBuffer", "cmdBuffer"),
Param("VkBuffer", "buffer"),
@@ -860,11 +956,19 @@
Param("const VkFramebufferCreateInfo*", "pCreateInfo"),
Param("VkFramebuffer*", "pFramebuffer")]),
+ Proto("VkResult", "DestroyFramebuffer",
+ [Param("VkDevice", "device"),
+ Param("VkFramebuffer", "framebuffer")]),
+
Proto("VkResult", "CreateRenderPass",
[Param("VkDevice", "device"),
Param("const VkRenderPassCreateInfo*", "pCreateInfo"),
Param("VkRenderPass*", "pRenderPass")]),
+ Proto("VkResult", "DestroyRenderPass",
+ [Param("VkDevice", "device"),
+ Param("VkRenderPass", "renderPass")]),
+
Proto("void", "CmdBeginRenderPass",
[Param("VkCmdBuffer", "cmdBuffer"),
Param("const VkRenderPassBeginInfo*", "pRenderPassBegin"),
@@ -933,7 +1037,6 @@
"VkDevice",
"VkQueue",
"VkDeviceMemory",
- "VkObject"
]
object_list = [
@@ -961,16 +1064,14 @@
]
object_dynamic_state_list = [
- "VkDynamicVpState",
- "VkDynamicRsState",
- "VkDynamicCbState",
- "VkDynamicDsState"
+ "VkDynamicViewportState",
+ "VkDynamicRasterState",
+ "VkDynamicColorBlendState",
+ "VkDynamicDepthStencilState"
]
object_type_list = object_root_list + object_base_list + object_list + object_dynamic_state_list
-object_parent_list = ["VkObject", "VkDynamicStateObject"]
-
headers = []
objects = []
protos = []