aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2015-07-31 13:47:42 -0600
committerMark Lobodzinski <mark@lunarg.com>2015-07-31 14:17:24 -0600
commitced5981fac1fe700973f4ce7ee13f6e5688442c2 (patch)
tree92d45afc7d59e34ef48f1ecf1e75626f2c2a6bd9
parentea12567ed28031e1ed1a2240df145a63dc3b2354 (diff)
downloadusermoji-ced5981fac1fe700973f4ce7ee13f6e5688442c2.tar.xz
layers: Rework APIDump changes to fix windows compilation errors
MSVC compiler hated unions of structs with non-default constructors.
-rwxr-xr-xvk-layer-generate.py19
1 files 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;')