From ced5981fac1fe700973f4ce7ee13f6e5688442c2 Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Fri, 31 Jul 2015 13:47:42 -0600 Subject: layers: Rework APIDump changes to fix windows compilation errors MSVC compiler hated unions of structs with non-default constructors. --- vk-layer-generate.py | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/vk-layer-generate.py b/vk-layer-generate.py index 51f4a27e..21b3f188 100755 --- a/vk-layer-generate.py +++ b/vk-layer-generate.py @@ -752,26 +752,17 @@ class APIDumpSubcommand(Subcommand): header_txt.append('{') header_txt.append(' if (ppMemBarriers) {') header_txt.append(' string tmp_str;') - header_txt.append(' uint32_t i;') - header_txt.append(' for (i = 0; i < memBarrierCount; i++) {') - header_txt.append('') - header_txt.append(' const union worker_union {') - header_txt.append(' VkStructureType type;') - header_txt.append(' VkMemoryBarrier mem;') - header_txt.append(' VkBufferMemoryBarrier buf;') - header_txt.append(' VkImageMemoryBarrier img;') - header_txt.append(' } *umb = (worker_union*)(ppMemBarriers[i]);') - header_txt.append('') - header_txt.append(' switch(umb->type)') + header_txt.append(' for (uint32_t i = 0; i < memBarrierCount; i++) {') + header_txt.append(' switch(*(VkStructureType*)ppMemBarriers[i])') header_txt.append(' {') header_txt.append(' case VK_STRUCTURE_TYPE_MEMORY_BARRIER:') - header_txt.append(' tmp_str = vk_print_vkmemorybarrier(&umb->mem, " ");') + header_txt.append(' tmp_str = vk_print_vkmemorybarrier((VkMemoryBarrier*)ppMemBarriers[i], " ");') header_txt.append(' break;') header_txt.append(' case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:') - header_txt.append(' tmp_str = vk_print_vkbuffermemorybarrier(&umb->buf, " ");') + header_txt.append(' tmp_str = vk_print_vkbuffermemorybarrier((VkBufferMemoryBarrier*)ppMemBarriers[i], " ");') header_txt.append(' break;') header_txt.append(' case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:') - header_txt.append(' tmp_str = vk_print_vkimagememorybarrier(&umb->img, " ");') + header_txt.append(' tmp_str = vk_print_vkimagememorybarrier((VkImageMemoryBarrier*)ppMemBarriers[i], " ");') header_txt.append(' break;') header_txt.append(' default:') header_txt.append(' break;') -- cgit v1.2.3