From c394cc204df61d0bdb261685b58271daf5569621 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Wed, 2 May 2018 09:32:56 -0700 Subject: Added .sType member assertions to create functions in VulkanLogicalDevice --- .../src/VulkanUtilities/VulkanLogicalDevice.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'Graphics/GraphicsEngineVulkan') diff --git a/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanLogicalDevice.cpp b/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanLogicalDevice.cpp index 0b7fb004..3a6e8884 100644 --- a/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanLogicalDevice.cpp +++ b/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanLogicalDevice.cpp @@ -96,51 +96,61 @@ namespace VulkanUtilities CommandPoolWrapper VulkanLogicalDevice::CreateCommandPool(const VkCommandPoolCreateInfo &CmdPoolCI, const char *DebugName) const { + VERIFY_EXPR(CmdPoolCI.sType == VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO); return CreateVulkanObject(vkCreateCommandPool, CmdPoolCI, DebugName, "command pool"); } BufferWrapper VulkanLogicalDevice::CreateBuffer(const VkBufferCreateInfo &BufferCI, const char *DebugName)const { + VERIFY_EXPR(BufferCI.sType == VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO); return CreateVulkanObject(vkCreateBuffer, BufferCI, DebugName, "buffer"); } BufferViewWrapper VulkanLogicalDevice::CreateBufferView(const VkBufferViewCreateInfo &BuffViewCI, const char *DebugName)const { + VERIFY_EXPR(BuffViewCI.sType == VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO); return CreateVulkanObject(vkCreateBufferView, BuffViewCI, DebugName, "buffer view"); } ImageWrapper VulkanLogicalDevice::CreateImage(const VkImageCreateInfo &ImageCI, const char *DebugName)const { + VERIFY_EXPR(ImageCI.sType == VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO); return CreateVulkanObject(vkCreateImage, ImageCI, DebugName, "image"); } ImageViewWrapper VulkanLogicalDevice::CreateImageView(const VkImageViewCreateInfo &ImageViewCI, const char *DebugName)const { + VERIFY_EXPR(ImageViewCI.sType == VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO); return CreateVulkanObject(vkCreateImageView, ImageViewCI, DebugName, "image view"); } SamplerWrapper VulkanLogicalDevice::CreateSampler(const VkSamplerCreateInfo &SamplerCI, const char *DebugName)const { + VERIFY_EXPR(SamplerCI.sType == VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO); return CreateVulkanObject(vkCreateSampler, SamplerCI, DebugName, "sampler"); } FenceWrapper VulkanLogicalDevice::CreateFence(const VkFenceCreateInfo &FenceCI, const char *DebugName)const { + VERIFY_EXPR(FenceCI.sType == VK_STRUCTURE_TYPE_FENCE_CREATE_INFO); return CreateVulkanObject(vkCreateFence, FenceCI, DebugName, "fence"); } RenderPassWrapper VulkanLogicalDevice::CreateRenderPass(const VkRenderPassCreateInfo &RenderPassCI, const char *DebugName)const { + VERIFY_EXPR(RenderPassCI.sType == VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO); return CreateVulkanObject(vkCreateRenderPass, RenderPassCI, DebugName, "render pass"); } DeviceMemoryWrapper VulkanLogicalDevice::AllocateDeviceMemory(const VkMemoryAllocateInfo &AllocInfo, const char *DebugName)const { + VERIFY_EXPR(AllocInfo.sType == VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO); + if (DebugName == nullptr) DebugName = ""; @@ -159,6 +169,8 @@ namespace VulkanUtilities VkPipelineCache cache, const char *DebugName)const { + VERIFY_EXPR(PipelineCI.sType == VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO); + if (DebugName == nullptr) DebugName = ""; @@ -176,6 +188,8 @@ namespace VulkanUtilities VkPipelineCache cache, const char *DebugName)const { + VERIFY_EXPR(PipelineCI.sType == VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO); + if (DebugName == nullptr) DebugName = ""; @@ -191,36 +205,44 @@ namespace VulkanUtilities ShaderModuleWrapper VulkanLogicalDevice::CreateShaderModule(const VkShaderModuleCreateInfo &ShaderModuleCI, const char *DebugName)const { + VERIFY_EXPR(ShaderModuleCI.sType == VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO); return CreateVulkanObject(vkCreateShaderModule, ShaderModuleCI, DebugName, "shader module"); } PipelineLayoutWrapper VulkanLogicalDevice::CreatePipelineLayout(const VkPipelineLayoutCreateInfo &PipelineLayoutCI, const char *DebugName)const { + VERIFY_EXPR(PipelineLayoutCI.sType == VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO); return CreateVulkanObject(vkCreatePipelineLayout, PipelineLayoutCI, DebugName, "pipeline layout"); } FramebufferWrapper VulkanLogicalDevice::CreateFramebuffer(const VkFramebufferCreateInfo &FramebufferCI, const char *DebugName)const { + VERIFY_EXPR(FramebufferCI.sType == VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO); return CreateVulkanObject(vkCreateFramebuffer, FramebufferCI, DebugName, "framebuffer"); } DescriptorPoolWrapper VulkanLogicalDevice::CreateDescriptorPool(const VkDescriptorPoolCreateInfo &DescrPoolCI, const char *DebugName)const { + VERIFY_EXPR(DescrPoolCI.sType == VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO); return CreateVulkanObject(vkCreateDescriptorPool, DescrPoolCI, DebugName, "descriptor pool"); } DescriptorSetLayoutWrapper VulkanLogicalDevice::CreateDescriptorSetLayout(const VkDescriptorSetLayoutCreateInfo &LayoutCI, const char *DebugName)const { + VERIFY_EXPR(LayoutCI.sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO); return CreateVulkanObject(vkCreateDescriptorSetLayout, LayoutCI, DebugName, "descriptor set layout"); } SemaphoreWrapper VulkanLogicalDevice::CreateSemaphore(const VkSemaphoreCreateInfo &SemaphoreCI, const char *DebugName)const { + VERIFY_EXPR(SemaphoreCI.sType == VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO); return CreateVulkanObject(vkCreateSemaphore, SemaphoreCI, DebugName, "semaphore"); } VkCommandBuffer VulkanLogicalDevice::AllocateVkCommandBuffer(const VkCommandBufferAllocateInfo &AllocInfo, const char *DebugName)const { + VERIFY_EXPR(AllocInfo.sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO); + if (DebugName == nullptr) DebugName = ""; -- cgit v1.2.3