111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* THIS FILE IS GENERATED.  DO NOT EDIT. */
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/*
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Vulkan
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Copyright (c) 2015-2016 The Khronos Group Inc.
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Copyright (c) 2015-2016 Valve Corporation.
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Copyright (c) 2015-2016 LunarG, Inc.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Copyright (c) 2015-2016 Google Inc.
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Licensed under the Apache License, Version 2.0 (the "License");
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * you may not use this file except in compliance with the License.
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * You may obtain a copy of the License at
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *     http://www.apache.org/licenses/LICENSE-2.0
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Unless required by applicable law or agreed to in writing, software
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * distributed under the License is distributed on an "AS IS" BASIS,
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * See the License for the specific language governing permissions and
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * limitations under the License.
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Author: Tobin Ehlis <tobin@lunarg.com>
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert//#includes, #defines, globals and such...
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <stdio.h>
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <vk_struct_wrappers.h>
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <vk_enum_string_helper.h>
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkallocationcallbacks_struct_wrapper class definition
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkallocationcallbacks_struct_wrapper::vkallocationcallbacks_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkallocationcallbacks_struct_wrapper::vkallocationcallbacks_struct_wrapper(VkAllocationCallbacks* pInStruct) : m_indent(0), m_dummy_prefix('\0')
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkallocationcallbacks_struct_wrapper::vkallocationcallbacks_struct_wrapper(const VkAllocationCallbacks* pInStruct) : m_indent(0), m_dummy_prefix('\0')
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkallocationcallbacks_struct_wrapper::~vkallocationcallbacks_struct_wrapper() {}
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkallocationcallbacks_struct_wrapper::display_single_txt()
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkAllocationCallbacks = 0x%p", m_indent, "", (void*)m_origStructAddr);
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkallocationcallbacks_struct_wrapper::display_struct_members()
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spUserData = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pUserData));
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spfnAllocation = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pfnAllocation));
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spfnReallocation = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pfnReallocation));
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spfnFree = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pfnFree));
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spfnInternalAllocation = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pfnInternalAllocation));
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spfnInternalFree = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pfnInternalFree));
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkallocationcallbacks_struct_wrapper::display_txt()
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkAllocationCallbacks struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkallocationcallbacks_struct_wrapper::display_full_txt()
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkAllocationCallbacks struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkandroidsurfacecreateinfokhr_struct_wrapper class definition
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkandroidsurfacecreateinfokhr_struct_wrapper::vkandroidsurfacecreateinfokhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkandroidsurfacecreateinfokhr_struct_wrapper::vkandroidsurfacecreateinfokhr_struct_wrapper(VkAndroidSurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkandroidsurfacecreateinfokhr_struct_wrapper::vkandroidsurfacecreateinfokhr_struct_wrapper(const VkAndroidSurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkandroidsurfacecreateinfokhr_struct_wrapper::~vkandroidsurfacecreateinfokhr_struct_wrapper() {}
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkandroidsurfacecreateinfokhr_struct_wrapper::display_single_txt()
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkAndroidSurfaceCreateInfoKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkandroidsurfacecreateinfokhr_struct_wrapper::display_struct_members()
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swindow = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.window));
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkandroidsurfacecreateinfokhr_struct_wrapper::display_txt()
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkAndroidSurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkandroidsurfacecreateinfokhr_struct_wrapper::display_full_txt()
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkAndroidSurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkapplicationinfo_struct_wrapper class definition
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkapplicationinfo_struct_wrapper::vkapplicationinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkapplicationinfo_struct_wrapper::vkapplicationinfo_struct_wrapper(VkApplicationInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkapplicationinfo_struct_wrapper::vkapplicationinfo_struct_wrapper(const VkApplicationInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkapplicationinfo_struct_wrapper::~vkapplicationinfo_struct_wrapper() {}
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkapplicationinfo_struct_wrapper::display_single_txt()
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkApplicationInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkapplicationinfo_struct_wrapper::display_struct_members()
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spApplicationName = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pApplicationName));
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sapplicationVersion = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.applicationVersion));
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spEngineName = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pEngineName));
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sengineVersion = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.engineVersion));
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sapiVersion = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.apiVersion));
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkapplicationinfo_struct_wrapper::display_txt()
15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkApplicationInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkapplicationinfo_struct_wrapper::display_full_txt()
16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkApplicationInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkattachmentdescription_struct_wrapper class definition
17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkattachmentdescription_struct_wrapper::vkattachmentdescription_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkattachmentdescription_struct_wrapper::vkattachmentdescription_struct_wrapper(VkAttachmentDescription* pInStruct) : m_indent(0), m_dummy_prefix('\0')
17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkattachmentdescription_struct_wrapper::vkattachmentdescription_struct_wrapper(const VkAttachmentDescription* pInStruct) : m_indent(0), m_dummy_prefix('\0')
17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkattachmentdescription_struct_wrapper::~vkattachmentdescription_struct_wrapper() {}
18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkattachmentdescription_struct_wrapper::display_single_txt()
18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkAttachmentDescription = 0x%p", m_indent, "", (void*)m_origStructAddr);
18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkattachmentdescription_struct_wrapper::display_struct_members()
19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sformat = %s\n", m_indent, "", &m_dummy_prefix, string_VkFormat(m_struct.format));
19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssamples = %s\n", m_indent, "", &m_dummy_prefix, string_VkSampleCountFlagBits(m_struct.samples));
19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sloadOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkAttachmentLoadOp(m_struct.loadOp));
19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstoreOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkAttachmentStoreOp(m_struct.storeOp));
19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstencilLoadOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkAttachmentLoadOp(m_struct.stencilLoadOp));
19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstencilStoreOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkAttachmentStoreOp(m_struct.stencilStoreOp));
20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sinitialLayout = %s\n", m_indent, "", &m_dummy_prefix, string_VkImageLayout(m_struct.initialLayout));
20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sfinalLayout = %s\n", m_indent, "", &m_dummy_prefix, string_VkImageLayout(m_struct.finalLayout));
20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkattachmentdescription_struct_wrapper::display_txt()
20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkAttachmentDescription struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkattachmentdescription_struct_wrapper::display_full_txt()
21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkAttachmentDescription struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
21911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkattachmentreference_struct_wrapper class definition
22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkattachmentreference_struct_wrapper::vkattachmentreference_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkattachmentreference_struct_wrapper::vkattachmentreference_struct_wrapper(VkAttachmentReference* pInStruct) : m_indent(0), m_dummy_prefix('\0')
22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkattachmentreference_struct_wrapper::vkattachmentreference_struct_wrapper(const VkAttachmentReference* pInStruct) : m_indent(0), m_dummy_prefix('\0')
22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
23111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkattachmentreference_struct_wrapper::~vkattachmentreference_struct_wrapper() {}
23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkattachmentreference_struct_wrapper::display_single_txt()
23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkAttachmentReference = 0x%p", m_indent, "", (void*)m_origStructAddr);
23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
23911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkattachmentreference_struct_wrapper::display_struct_members()
24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sattachment = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.attachment));
24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slayout = %s\n", m_indent, "", &m_dummy_prefix, string_VkImageLayout(m_struct.layout));
24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
24411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkattachmentreference_struct_wrapper::display_txt()
24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkAttachmentReference struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkattachmentreference_struct_wrapper::display_full_txt()
25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
25511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkAttachmentReference struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
25611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
25711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
25811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
25911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
26011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkbindsparseinfo_struct_wrapper class definition
26111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbindsparseinfo_struct_wrapper::vkbindsparseinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
26211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbindsparseinfo_struct_wrapper::vkbindsparseinfo_struct_wrapper(VkBindSparseInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
26311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
26411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
26511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
26611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
26711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbindsparseinfo_struct_wrapper::vkbindsparseinfo_struct_wrapper(const VkBindSparseInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
26811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
26911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
27011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
27111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
27211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbindsparseinfo_struct_wrapper::~vkbindsparseinfo_struct_wrapper() {}
27311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
27411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbindsparseinfo_struct_wrapper::display_single_txt()
27511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
27611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkBindSparseInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
27711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
27811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
27911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
28011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbindsparseinfo_struct_wrapper::display_struct_members()
28111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
28211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
28311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
28411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swaitSemaphoreCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.waitSemaphoreCount));
28511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
28611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<waitSemaphoreCount; i++) {
28711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spWaitSemaphores[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pWaitSemaphores)[i]);
28811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
28911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbufferBindCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.bufferBindCount));
29011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<bufferBindCount; i++) {
29111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spBufferBinds[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pBufferBinds)[i]);
29211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
29311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageOpaqueBindCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.imageOpaqueBindCount));
29411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<imageOpaqueBindCount; i++) {
29511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spImageOpaqueBinds[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pImageOpaqueBinds)[i]);
29611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
29711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageBindCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.imageBindCount));
29811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<imageBindCount; i++) {
29911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spImageBinds[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pImageBinds)[i]);
30011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
30111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssignalSemaphoreCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.signalSemaphoreCount));
30211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<signalSemaphoreCount; i++) {
30311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spSignalSemaphores[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pSignalSemaphores)[i]);
30411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
30511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
30611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
30711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
30811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbindsparseinfo_struct_wrapper::display_txt()
30911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
31011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBindSparseInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
31111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
31211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
31311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
31411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
31511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbindsparseinfo_struct_wrapper::display_full_txt()
31611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
31711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBindSparseInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
31811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
31911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
32011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<imageBindCount; i++) {
32111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vksparseimagememorybindinfo_struct_wrapper class0(&(m_struct.pImageBinds[i]));
32211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
32311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
32411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
32511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<imageOpaqueBindCount; i++) {
32611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vksparseimageopaquememorybindinfo_struct_wrapper class1(&(m_struct.pImageOpaqueBinds[i]));
32711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.set_indent(m_indent + 4);
32811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.display_full_txt();
32911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
33011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<bufferBindCount; i++) {
33111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vksparsebuffermemorybindinfo_struct_wrapper class2(&(m_struct.pBufferBinds[i]));
33211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class2.set_indent(m_indent + 4);
33311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class2.display_full_txt();
33411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
33511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
33611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
33711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
33811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
33911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
34011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
34111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkbuffercopy_struct_wrapper class definition
34211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffercopy_struct_wrapper::vkbuffercopy_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
34311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffercopy_struct_wrapper::vkbuffercopy_struct_wrapper(VkBufferCopy* pInStruct) : m_indent(0), m_dummy_prefix('\0')
34411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
34511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
34611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
34711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
34811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffercopy_struct_wrapper::vkbuffercopy_struct_wrapper(const VkBufferCopy* pInStruct) : m_indent(0), m_dummy_prefix('\0')
34911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
35011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
35111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
35211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
35311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffercopy_struct_wrapper::~vkbuffercopy_struct_wrapper() {}
35411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
35511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffercopy_struct_wrapper::display_single_txt()
35611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
35711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkBufferCopy = 0x%p", m_indent, "", (void*)m_origStructAddr);
35811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
35911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
36011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
36111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffercopy_struct_wrapper::display_struct_members()
36211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
36311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcOffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.srcOffset));
36411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstOffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.dstOffset));
36511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.size));
36611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
36711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
36811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
36911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffercopy_struct_wrapper::display_txt()
37011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
37111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBufferCopy struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
37211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
37311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
37411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
37511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
37611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffercopy_struct_wrapper::display_full_txt()
37711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
37811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBufferCopy struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
37911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
38011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
38111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
38211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
38311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkbuffercreateinfo_struct_wrapper class definition
38411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffercreateinfo_struct_wrapper::vkbuffercreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
38511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffercreateinfo_struct_wrapper::vkbuffercreateinfo_struct_wrapper(VkBufferCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
38611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
38711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
38811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
38911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
39011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffercreateinfo_struct_wrapper::vkbuffercreateinfo_struct_wrapper(const VkBufferCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
39111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
39211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
39311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
39411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
39511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffercreateinfo_struct_wrapper::~vkbuffercreateinfo_struct_wrapper() {}
39611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
39711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffercreateinfo_struct_wrapper::display_single_txt()
39811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
39911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkBufferCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
40011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
40111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
40211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
40311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffercreateinfo_struct_wrapper::display_struct_members()
40411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
40511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
40611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
40711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
40811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.size));
40911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %susage = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.usage));
41011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssharingMode = %s\n", m_indent, "", &m_dummy_prefix, string_VkSharingMode(m_struct.sharingMode));
41111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeueFamilyIndexCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.queueFamilyIndexCount));
41211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
41311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<queueFamilyIndexCount; i++) {
41411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spQueueFamilyIndices[%u] = %u\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pQueueFamilyIndices)[i]);
41511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
41611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
41711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
41811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
41911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffercreateinfo_struct_wrapper::display_txt()
42011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
42111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBufferCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
42211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
42311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
42411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
42511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
42611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffercreateinfo_struct_wrapper::display_full_txt()
42711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
42811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBufferCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
42911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
43011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
43111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
43211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
43311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
43411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
43511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
43611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkbufferimagecopy_struct_wrapper class definition
43711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbufferimagecopy_struct_wrapper::vkbufferimagecopy_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
43811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbufferimagecopy_struct_wrapper::vkbufferimagecopy_struct_wrapper(VkBufferImageCopy* pInStruct) : m_indent(0), m_dummy_prefix('\0')
43911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
44011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
44111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
44211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
44311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbufferimagecopy_struct_wrapper::vkbufferimagecopy_struct_wrapper(const VkBufferImageCopy* pInStruct) : m_indent(0), m_dummy_prefix('\0')
44411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
44511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
44611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
44711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
44811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbufferimagecopy_struct_wrapper::~vkbufferimagecopy_struct_wrapper() {}
44911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
45011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbufferimagecopy_struct_wrapper::display_single_txt()
45111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
45211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkBufferImageCopy = 0x%p", m_indent, "", (void*)m_origStructAddr);
45311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
45411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
45511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
45611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbufferimagecopy_struct_wrapper::display_struct_members()
45711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
45811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbufferOffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.bufferOffset));
45911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbufferRowLength = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.bufferRowLength));
46011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbufferImageHeight = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.bufferImageHeight));
46111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageSubresource = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.imageSubresource));
46211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageOffset = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.imageOffset));
46311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageExtent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.imageExtent));
46411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
46511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
46611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
46711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbufferimagecopy_struct_wrapper::display_txt()
46811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
46911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBufferImageCopy struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
47011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
47111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
47211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
47311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
47411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbufferimagecopy_struct_wrapper::display_full_txt()
47511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
47611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBufferImageCopy struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
47711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
47811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.imageExtent) {
47911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent3d_struct_wrapper class0(&m_struct.imageExtent);
48011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
48111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
48211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
48311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.imageOffset) {
48411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkoffset3d_struct_wrapper class1(&m_struct.imageOffset);
48511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
48611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
48711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
48811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.imageSubresource) {
48911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkimagesubresourcelayers_struct_wrapper class2(&m_struct.imageSubresource);
49011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.set_indent(m_indent + 4);
49111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.display_full_txt();
49211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
49311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
49411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
49511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
49611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkbuffermemorybarrier_struct_wrapper class definition
49711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffermemorybarrier_struct_wrapper::vkbuffermemorybarrier_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
49811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffermemorybarrier_struct_wrapper::vkbuffermemorybarrier_struct_wrapper(VkBufferMemoryBarrier* pInStruct) : m_indent(0), m_dummy_prefix('\0')
49911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
50011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
50111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
50211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
50311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffermemorybarrier_struct_wrapper::vkbuffermemorybarrier_struct_wrapper(const VkBufferMemoryBarrier* pInStruct) : m_indent(0), m_dummy_prefix('\0')
50411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
50511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
50611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
50711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
50811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbuffermemorybarrier_struct_wrapper::~vkbuffermemorybarrier_struct_wrapper() {}
50911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
51011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffermemorybarrier_struct_wrapper::display_single_txt()
51111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
51211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkBufferMemoryBarrier = 0x%p", m_indent, "", (void*)m_origStructAddr);
51311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
51411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
51511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
51611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffermemorybarrier_struct_wrapper::display_struct_members()
51711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
51811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
51911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
52011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcAccessMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.srcAccessMask));
52111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstAccessMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstAccessMask));
52211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcQueueFamilyIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.srcQueueFamilyIndex));
52311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstQueueFamilyIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstQueueFamilyIndex));
52411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbuffer = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.buffer));
52511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.offset));
52611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.size));
52711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
52811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
52911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
53011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffermemorybarrier_struct_wrapper::display_txt()
53111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
53211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBufferMemoryBarrier struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
53311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
53411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
53511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
53611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
53711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbuffermemorybarrier_struct_wrapper::display_full_txt()
53811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
53911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBufferMemoryBarrier struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
54011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
54111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
54211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
54311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
54411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
54511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
54611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
54711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkbufferviewcreateinfo_struct_wrapper class definition
54811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbufferviewcreateinfo_struct_wrapper::vkbufferviewcreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
54911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbufferviewcreateinfo_struct_wrapper::vkbufferviewcreateinfo_struct_wrapper(VkBufferViewCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
55011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
55111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
55211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
55311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
55411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbufferviewcreateinfo_struct_wrapper::vkbufferviewcreateinfo_struct_wrapper(const VkBufferViewCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
55511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
55611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
55711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
55811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
55911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkbufferviewcreateinfo_struct_wrapper::~vkbufferviewcreateinfo_struct_wrapper() {}
56011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
56111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbufferviewcreateinfo_struct_wrapper::display_single_txt()
56211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
56311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkBufferViewCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
56411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
56511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
56611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
56711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbufferviewcreateinfo_struct_wrapper::display_struct_members()
56811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
56911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
57011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
57111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
57211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbuffer = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.buffer));
57311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sformat = %s\n", m_indent, "", &m_dummy_prefix, string_VkFormat(m_struct.format));
57411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.offset));
57511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srange = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.range));
57611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
57711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
57811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
57911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbufferviewcreateinfo_struct_wrapper::display_txt()
58011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
58111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBufferViewCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
58211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
58311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
58411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
58511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
58611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkbufferviewcreateinfo_struct_wrapper::display_full_txt()
58711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
58811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkBufferViewCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
58911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
59011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
59111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
59211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
59311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
59411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
59511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
59611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkclearattachment_struct_wrapper class definition
59711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearattachment_struct_wrapper::vkclearattachment_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
59811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearattachment_struct_wrapper::vkclearattachment_struct_wrapper(VkClearAttachment* pInStruct) : m_indent(0), m_dummy_prefix('\0')
59911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
60011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
60111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
60211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
60311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearattachment_struct_wrapper::vkclearattachment_struct_wrapper(const VkClearAttachment* pInStruct) : m_indent(0), m_dummy_prefix('\0')
60411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
60511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
60611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
60711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
60811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearattachment_struct_wrapper::~vkclearattachment_struct_wrapper() {}
60911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
61011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearattachment_struct_wrapper::display_single_txt()
61111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
61211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkClearAttachment = 0x%p", m_indent, "", (void*)m_origStructAddr);
61311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
61411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
61511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
61611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearattachment_struct_wrapper::display_struct_members()
61711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
61811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %saspectMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.aspectMask));
61911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scolorAttachment = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.colorAttachment));
62011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sclearValue = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.clearValue));
62111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
62211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
62311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
62411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearattachment_struct_wrapper::display_txt()
62511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
62611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkClearAttachment struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
62711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
62811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
62911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
63011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
63111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearattachment_struct_wrapper::display_full_txt()
63211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
63311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkClearAttachment struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
63411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
63511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.clearValue) {
63611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkclearvalue_struct_wrapper class0(&m_struct.clearValue);
63711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
63811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
63911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
64011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
64111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
64211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
64311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkclearcolorvalue_struct_wrapper class definition
64411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearcolorvalue_struct_wrapper::vkclearcolorvalue_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
64511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearcolorvalue_struct_wrapper::vkclearcolorvalue_struct_wrapper(VkClearColorValue* pInStruct) : m_indent(0), m_dummy_prefix('\0')
64611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
64711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
64811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
64911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
65011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearcolorvalue_struct_wrapper::vkclearcolorvalue_struct_wrapper(const VkClearColorValue* pInStruct) : m_indent(0), m_dummy_prefix('\0')
65111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
65211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
65311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
65411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
65511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearcolorvalue_struct_wrapper::~vkclearcolorvalue_struct_wrapper() {}
65611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
65711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearcolorvalue_struct_wrapper::display_single_txt()
65811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
65911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkClearColorValue = 0x%p", m_indent, "", (void*)m_origStructAddr);
66011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
66111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
66211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
66311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearcolorvalue_struct_wrapper::display_struct_members()
66411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
66511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
66611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<4; i++) {
66711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sfloat32[%u] = %f\n", m_indent, "", &m_dummy_prefix, i, (m_struct.float32)[i]);
66811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
66911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<4; i++) {
67011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sint32[%u] = %i\n", m_indent, "", &m_dummy_prefix, i, (m_struct.int32)[i]);
67111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
67211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<4; i++) {
67311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %suint32[%u] = %u\n", m_indent, "", &m_dummy_prefix, i, (m_struct.uint32)[i]);
67411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
67511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
67611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
67711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
67811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearcolorvalue_struct_wrapper::display_txt()
67911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
68011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkClearColorValue struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
68111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
68211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
68311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
68411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
68511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearcolorvalue_struct_wrapper::display_full_txt()
68611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
68711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkClearColorValue struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
68811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
68911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
69011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
69111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
69211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkcleardepthstencilvalue_struct_wrapper class definition
69311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcleardepthstencilvalue_struct_wrapper::vkcleardepthstencilvalue_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
69411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcleardepthstencilvalue_struct_wrapper::vkcleardepthstencilvalue_struct_wrapper(VkClearDepthStencilValue* pInStruct) : m_indent(0), m_dummy_prefix('\0')
69511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
69611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
69711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
69811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
69911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcleardepthstencilvalue_struct_wrapper::vkcleardepthstencilvalue_struct_wrapper(const VkClearDepthStencilValue* pInStruct) : m_indent(0), m_dummy_prefix('\0')
70011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
70111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
70211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
70311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
70411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcleardepthstencilvalue_struct_wrapper::~vkcleardepthstencilvalue_struct_wrapper() {}
70511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
70611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcleardepthstencilvalue_struct_wrapper::display_single_txt()
70711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
70811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkClearDepthStencilValue = 0x%p", m_indent, "", (void*)m_origStructAddr);
70911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
71011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
71111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
71211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcleardepthstencilvalue_struct_wrapper::display_struct_members()
71311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
71411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepth = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.depth));
71511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstencil = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.stencil));
71611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
71711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
71811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
71911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcleardepthstencilvalue_struct_wrapper::display_txt()
72011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
72111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkClearDepthStencilValue struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
72211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
72311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
72411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
72511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
72611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcleardepthstencilvalue_struct_wrapper::display_full_txt()
72711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
72811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkClearDepthStencilValue struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
72911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
73011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
73111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
73211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
73311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkclearrect_struct_wrapper class definition
73411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearrect_struct_wrapper::vkclearrect_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
73511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearrect_struct_wrapper::vkclearrect_struct_wrapper(VkClearRect* pInStruct) : m_indent(0), m_dummy_prefix('\0')
73611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
73711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
73811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
73911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
74011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearrect_struct_wrapper::vkclearrect_struct_wrapper(const VkClearRect* pInStruct) : m_indent(0), m_dummy_prefix('\0')
74111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
74211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
74311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
74411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
74511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearrect_struct_wrapper::~vkclearrect_struct_wrapper() {}
74611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
74711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearrect_struct_wrapper::display_single_txt()
74811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
74911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkClearRect = 0x%p", m_indent, "", (void*)m_origStructAddr);
75011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
75111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
75211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
75311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearrect_struct_wrapper::display_struct_members()
75411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
75511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srect = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.rect));
75611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbaseArrayLayer = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.baseArrayLayer));
75711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slayerCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.layerCount));
75811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
75911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
76011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
76111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearrect_struct_wrapper::display_txt()
76211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
76311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkClearRect struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
76411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
76511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
76611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
76711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
76811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearrect_struct_wrapper::display_full_txt()
76911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
77011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkClearRect struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
77111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
77211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.rect) {
77311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkrect2d_struct_wrapper class0(&m_struct.rect);
77411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
77511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
77611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
77711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
77811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
77911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
78011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkclearvalue_struct_wrapper class definition
78111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearvalue_struct_wrapper::vkclearvalue_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
78211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearvalue_struct_wrapper::vkclearvalue_struct_wrapper(VkClearValue* pInStruct) : m_indent(0), m_dummy_prefix('\0')
78311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
78411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
78511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
78611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
78711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearvalue_struct_wrapper::vkclearvalue_struct_wrapper(const VkClearValue* pInStruct) : m_indent(0), m_dummy_prefix('\0')
78811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
78911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
79011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
79111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
79211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkclearvalue_struct_wrapper::~vkclearvalue_struct_wrapper() {}
79311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
79411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearvalue_struct_wrapper::display_single_txt()
79511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
79611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkClearValue = 0x%p", m_indent, "", (void*)m_origStructAddr);
79711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
79811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
79911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
80011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearvalue_struct_wrapper::display_struct_members()
80111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
80211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scolor = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.color));
80311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthStencil = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.depthStencil));
80411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
80511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
80611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
80711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearvalue_struct_wrapper::display_txt()
80811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
80911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkClearValue struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
81011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
81111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
81211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
81311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
81411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkclearvalue_struct_wrapper::display_full_txt()
81511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
81611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkClearValue struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
81711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
81811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.depthStencil) {
81911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkcleardepthstencilvalue_struct_wrapper class0(&m_struct.depthStencil);
82011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
82111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
82211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
82311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.color) {
82411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkclearcolorvalue_struct_wrapper class1(&m_struct.color);
82511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
82611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
82711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
82811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
82911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
83011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
83111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkcommandbufferallocateinfo_struct_wrapper class definition
83211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferallocateinfo_struct_wrapper::vkcommandbufferallocateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
83311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferallocateinfo_struct_wrapper::vkcommandbufferallocateinfo_struct_wrapper(VkCommandBufferAllocateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
83411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
83511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
83611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
83711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
83811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferallocateinfo_struct_wrapper::vkcommandbufferallocateinfo_struct_wrapper(const VkCommandBufferAllocateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
83911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
84011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
84111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
84211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
84311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferallocateinfo_struct_wrapper::~vkcommandbufferallocateinfo_struct_wrapper() {}
84411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
84511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferallocateinfo_struct_wrapper::display_single_txt()
84611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
84711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkCommandBufferAllocateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
84811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
84911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
85011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
85111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferallocateinfo_struct_wrapper::display_struct_members()
85211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
85311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
85411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
85511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scommandPool = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.commandPool));
85611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slevel = %s\n", m_indent, "", &m_dummy_prefix, string_VkCommandBufferLevel(m_struct.level));
85711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scommandBufferCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.commandBufferCount));
85811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
85911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
86011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
86111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferallocateinfo_struct_wrapper::display_txt()
86211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
86311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkCommandBufferAllocateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
86411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
86511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
86611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
86711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
86811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferallocateinfo_struct_wrapper::display_full_txt()
86911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
87011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkCommandBufferAllocateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
87111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
87211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
87311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
87411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
87511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
87611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
87711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
87811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkcommandbufferbegininfo_struct_wrapper class definition
87911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferbegininfo_struct_wrapper::vkcommandbufferbegininfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
88011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferbegininfo_struct_wrapper::vkcommandbufferbegininfo_struct_wrapper(VkCommandBufferBeginInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
88111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
88211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
88311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
88411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
88511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferbegininfo_struct_wrapper::vkcommandbufferbegininfo_struct_wrapper(const VkCommandBufferBeginInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
88611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
88711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
88811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
88911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
89011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferbegininfo_struct_wrapper::~vkcommandbufferbegininfo_struct_wrapper() {}
89111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
89211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferbegininfo_struct_wrapper::display_single_txt()
89311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
89411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkCommandBufferBeginInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
89511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
89611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
89711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
89811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferbegininfo_struct_wrapper::display_struct_members()
89911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
90011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
90111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
90211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
90311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spInheritanceInfo = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pInheritanceInfo));
90411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
90511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
90611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
90711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferbegininfo_struct_wrapper::display_txt()
90811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
90911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkCommandBufferBeginInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
91011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
91111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
91211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
91311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
91411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferbegininfo_struct_wrapper::display_full_txt()
91511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
91611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkCommandBufferBeginInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
91711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
91811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pInheritanceInfo) {
91911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkcommandbufferinheritanceinfo_struct_wrapper class0(m_struct.pInheritanceInfo);
92011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
92111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
92211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
92311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
92411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
92511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
92611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
92711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
92811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
92911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkcommandbufferinheritanceinfo_struct_wrapper class definition
93011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferinheritanceinfo_struct_wrapper::vkcommandbufferinheritanceinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
93111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferinheritanceinfo_struct_wrapper::vkcommandbufferinheritanceinfo_struct_wrapper(VkCommandBufferInheritanceInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
93211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
93311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
93411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
93511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
93611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferinheritanceinfo_struct_wrapper::vkcommandbufferinheritanceinfo_struct_wrapper(const VkCommandBufferInheritanceInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
93711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
93811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
93911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
94011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
94111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandbufferinheritanceinfo_struct_wrapper::~vkcommandbufferinheritanceinfo_struct_wrapper() {}
94211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
94311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferinheritanceinfo_struct_wrapper::display_single_txt()
94411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
94511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkCommandBufferInheritanceInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
94611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
94711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
94811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
94911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferinheritanceinfo_struct_wrapper::display_struct_members()
95011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
95111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
95211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
95311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srenderPass = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.renderPass));
95411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssubpass = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.subpass));
95511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sframebuffer = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.framebuffer));
95611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %socclusionQueryEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.occlusionQueryEnable) ? "TRUE" : "FALSE");
95711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeryFlags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.queryFlags));
95811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spipelineStatistics = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.pipelineStatistics));
95911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
96011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
96111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
96211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferinheritanceinfo_struct_wrapper::display_txt()
96311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
96411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkCommandBufferInheritanceInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
96511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
96611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
96711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
96811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
96911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandbufferinheritanceinfo_struct_wrapper::display_full_txt()
97011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
97111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkCommandBufferInheritanceInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
97211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
97311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
97411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
97511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
97611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
97711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
97811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
97911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkcommandpoolcreateinfo_struct_wrapper class definition
98011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandpoolcreateinfo_struct_wrapper::vkcommandpoolcreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
98111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandpoolcreateinfo_struct_wrapper::vkcommandpoolcreateinfo_struct_wrapper(VkCommandPoolCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
98211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
98311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
98411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
98511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
98611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandpoolcreateinfo_struct_wrapper::vkcommandpoolcreateinfo_struct_wrapper(const VkCommandPoolCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
98711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
98811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
98911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
99011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
99111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcommandpoolcreateinfo_struct_wrapper::~vkcommandpoolcreateinfo_struct_wrapper() {}
99211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
99311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandpoolcreateinfo_struct_wrapper::display_single_txt()
99411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
99511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkCommandPoolCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
99611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
99711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
99811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
99911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandpoolcreateinfo_struct_wrapper::display_struct_members()
100011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
100111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
100211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
100311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
100411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeueFamilyIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.queueFamilyIndex));
100511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
100611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
100711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
100811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandpoolcreateinfo_struct_wrapper::display_txt()
100911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
101011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkCommandPoolCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
101111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
101211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
101311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
101411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
101511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcommandpoolcreateinfo_struct_wrapper::display_full_txt()
101611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
101711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkCommandPoolCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
101811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
101911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
102011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
102111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
102211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
102311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
102411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
102511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkcomponentmapping_struct_wrapper class definition
102611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcomponentmapping_struct_wrapper::vkcomponentmapping_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
102711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcomponentmapping_struct_wrapper::vkcomponentmapping_struct_wrapper(VkComponentMapping* pInStruct) : m_indent(0), m_dummy_prefix('\0')
102811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
102911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
103011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
103111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
103211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcomponentmapping_struct_wrapper::vkcomponentmapping_struct_wrapper(const VkComponentMapping* pInStruct) : m_indent(0), m_dummy_prefix('\0')
103311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
103411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
103511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
103611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
103711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcomponentmapping_struct_wrapper::~vkcomponentmapping_struct_wrapper() {}
103811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
103911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcomponentmapping_struct_wrapper::display_single_txt()
104011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
104111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkComponentMapping = 0x%p", m_indent, "", (void*)m_origStructAddr);
104211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
104311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
104411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
104511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcomponentmapping_struct_wrapper::display_struct_members()
104611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
104711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sr = %s\n", m_indent, "", &m_dummy_prefix, string_VkComponentSwizzle(m_struct.r));
104811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sg = %s\n", m_indent, "", &m_dummy_prefix, string_VkComponentSwizzle(m_struct.g));
104911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sb = %s\n", m_indent, "", &m_dummy_prefix, string_VkComponentSwizzle(m_struct.b));
105011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sa = %s\n", m_indent, "", &m_dummy_prefix, string_VkComponentSwizzle(m_struct.a));
105111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
105211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
105311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
105411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcomponentmapping_struct_wrapper::display_txt()
105511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
105611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkComponentMapping struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
105711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
105811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
105911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
106011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
106111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcomponentmapping_struct_wrapper::display_full_txt()
106211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
106311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkComponentMapping struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
106411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
106511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
106611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
106711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
106811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkcomputepipelinecreateinfo_struct_wrapper class definition
106911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcomputepipelinecreateinfo_struct_wrapper::vkcomputepipelinecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
107011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcomputepipelinecreateinfo_struct_wrapper::vkcomputepipelinecreateinfo_struct_wrapper(VkComputePipelineCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
107111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
107211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
107311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
107411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
107511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcomputepipelinecreateinfo_struct_wrapper::vkcomputepipelinecreateinfo_struct_wrapper(const VkComputePipelineCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
107611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
107711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
107811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
107911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
108011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcomputepipelinecreateinfo_struct_wrapper::~vkcomputepipelinecreateinfo_struct_wrapper() {}
108111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
108211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcomputepipelinecreateinfo_struct_wrapper::display_single_txt()
108311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
108411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkComputePipelineCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
108511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
108611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
108711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
108811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcomputepipelinecreateinfo_struct_wrapper::display_struct_members()
108911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
109011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
109111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
109211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
109311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstage = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.stage));
109411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slayout = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.layout));
109511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbasePipelineHandle = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.basePipelineHandle));
109611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbasePipelineIndex = %i\n", m_indent, "", &m_dummy_prefix, (m_struct.basePipelineIndex));
109711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
109811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
109911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
110011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcomputepipelinecreateinfo_struct_wrapper::display_txt()
110111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
110211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkComputePipelineCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
110311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
110411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
110511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
110611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
110711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcomputepipelinecreateinfo_struct_wrapper::display_full_txt()
110811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
110911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkComputePipelineCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
111011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
111111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.stage) {
111211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkpipelineshaderstagecreateinfo_struct_wrapper class0(&m_struct.stage);
111311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
111411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
111511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
111611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
111711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
111811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
111911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
112011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
112111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
112211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkcopydescriptorset_struct_wrapper class definition
112311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcopydescriptorset_struct_wrapper::vkcopydescriptorset_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
112411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcopydescriptorset_struct_wrapper::vkcopydescriptorset_struct_wrapper(VkCopyDescriptorSet* pInStruct) : m_indent(0), m_dummy_prefix('\0')
112511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
112611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
112711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
112811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
112911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcopydescriptorset_struct_wrapper::vkcopydescriptorset_struct_wrapper(const VkCopyDescriptorSet* pInStruct) : m_indent(0), m_dummy_prefix('\0')
113011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
113111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
113211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
113311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
113411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkcopydescriptorset_struct_wrapper::~vkcopydescriptorset_struct_wrapper() {}
113511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
113611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcopydescriptorset_struct_wrapper::display_single_txt()
113711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
113811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkCopyDescriptorSet = 0x%p", m_indent, "", (void*)m_origStructAddr);
113911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
114011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
114111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
114211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcopydescriptorset_struct_wrapper::display_struct_members()
114311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
114411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
114511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
114611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcSet = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.srcSet));
114711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcBinding = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.srcBinding));
114811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcArrayElement = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.srcArrayElement));
114911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstSet = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.dstSet));
115011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstBinding = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstBinding));
115111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstArrayElement = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstArrayElement));
115211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdescriptorCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.descriptorCount));
115311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
115411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
115511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
115611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcopydescriptorset_struct_wrapper::display_txt()
115711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
115811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkCopyDescriptorSet struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
115911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
116011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
116111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
116211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
116311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkcopydescriptorset_struct_wrapper::display_full_txt()
116411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
116511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkCopyDescriptorSet struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
116611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
116711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
116811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
116911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
117011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
117111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
117211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
117311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdebugmarkermarkerinfoext_struct_wrapper class definition
117411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkermarkerinfoext_struct_wrapper::vkdebugmarkermarkerinfoext_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
117511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkermarkerinfoext_struct_wrapper::vkdebugmarkermarkerinfoext_struct_wrapper(VkDebugMarkerMarkerInfoEXT* pInStruct) : m_indent(0), m_dummy_prefix('\0')
117611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
117711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
117811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
117911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
118011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkermarkerinfoext_struct_wrapper::vkdebugmarkermarkerinfoext_struct_wrapper(const VkDebugMarkerMarkerInfoEXT* pInStruct) : m_indent(0), m_dummy_prefix('\0')
118111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
118211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
118311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
118411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
118511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkermarkerinfoext_struct_wrapper::~vkdebugmarkermarkerinfoext_struct_wrapper() {}
118611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
118711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkermarkerinfoext_struct_wrapper::display_single_txt()
118811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
118911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDebugMarkerMarkerInfoEXT = 0x%p", m_indent, "", (void*)m_origStructAddr);
119011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
119111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
119211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
119311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkermarkerinfoext_struct_wrapper::display_struct_members()
119411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
119511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
119611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
119711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spMarkerName = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pMarkerName));
119811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
119911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<4; i++) {
120011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %scolor[%u] = %f\n", m_indent, "", &m_dummy_prefix, i, (m_struct.color)[i]);
120111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
120211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
120311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
120411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
120511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkermarkerinfoext_struct_wrapper::display_txt()
120611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
120711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDebugMarkerMarkerInfoEXT struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
120811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
120911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
121011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
121111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
121211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkermarkerinfoext_struct_wrapper::display_full_txt()
121311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
121411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDebugMarkerMarkerInfoEXT struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
121511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
121611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
121711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
121811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
121911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
122011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
122111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
122211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdebugmarkerobjectnameinfoext_struct_wrapper class definition
122311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkerobjectnameinfoext_struct_wrapper::vkdebugmarkerobjectnameinfoext_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
122411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkerobjectnameinfoext_struct_wrapper::vkdebugmarkerobjectnameinfoext_struct_wrapper(VkDebugMarkerObjectNameInfoEXT* pInStruct) : m_indent(0), m_dummy_prefix('\0')
122511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
122611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
122711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
122811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
122911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkerobjectnameinfoext_struct_wrapper::vkdebugmarkerobjectnameinfoext_struct_wrapper(const VkDebugMarkerObjectNameInfoEXT* pInStruct) : m_indent(0), m_dummy_prefix('\0')
123011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
123111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
123211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
123311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
123411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkerobjectnameinfoext_struct_wrapper::~vkdebugmarkerobjectnameinfoext_struct_wrapper() {}
123511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
123611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkerobjectnameinfoext_struct_wrapper::display_single_txt()
123711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
123811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDebugMarkerObjectNameInfoEXT = 0x%p", m_indent, "", (void*)m_origStructAddr);
123911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
124011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
124111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
124211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkerobjectnameinfoext_struct_wrapper::display_struct_members()
124311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
124411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
124511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
124611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sobjectType = %s\n", m_indent, "", &m_dummy_prefix, string_VkDebugReportObjectTypeEXT(m_struct.objectType));
124711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sobject = %" PRId64 "\n", m_indent, "", &m_dummy_prefix, (m_struct.object));
124811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spObjectName = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pObjectName));
124911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
125011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
125111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
125211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkerobjectnameinfoext_struct_wrapper::display_txt()
125311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
125411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDebugMarkerObjectNameInfoEXT struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
125511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
125611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
125711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
125811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
125911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkerobjectnameinfoext_struct_wrapper::display_full_txt()
126011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
126111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDebugMarkerObjectNameInfoEXT struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
126211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
126311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
126411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
126511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
126611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
126711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
126811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
126911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdebugmarkerobjecttaginfoext_struct_wrapper class definition
127011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkerobjecttaginfoext_struct_wrapper::vkdebugmarkerobjecttaginfoext_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
127111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkerobjecttaginfoext_struct_wrapper::vkdebugmarkerobjecttaginfoext_struct_wrapper(VkDebugMarkerObjectTagInfoEXT* pInStruct) : m_indent(0), m_dummy_prefix('\0')
127211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
127311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
127411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
127511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
127611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkerobjecttaginfoext_struct_wrapper::vkdebugmarkerobjecttaginfoext_struct_wrapper(const VkDebugMarkerObjectTagInfoEXT* pInStruct) : m_indent(0), m_dummy_prefix('\0')
127711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
127811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
127911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
128011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
128111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugmarkerobjecttaginfoext_struct_wrapper::~vkdebugmarkerobjecttaginfoext_struct_wrapper() {}
128211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
128311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkerobjecttaginfoext_struct_wrapper::display_single_txt()
128411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
128511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDebugMarkerObjectTagInfoEXT = 0x%p", m_indent, "", (void*)m_origStructAddr);
128611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
128711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
128811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
128911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkerobjecttaginfoext_struct_wrapper::display_struct_members()
129011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
129111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
129211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
129311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sobjectType = %s\n", m_indent, "", &m_dummy_prefix, string_VkDebugReportObjectTypeEXT(m_struct.objectType));
129411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sobject = %" PRId64 "\n", m_indent, "", &m_dummy_prefix, (m_struct.object));
129511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stagName = %" PRId64 "\n", m_indent, "", &m_dummy_prefix, (m_struct.tagName));
129611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stagSize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.tagSize));
129711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spTag = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pTag));
129811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
129911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
130011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
130111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkerobjecttaginfoext_struct_wrapper::display_txt()
130211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
130311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDebugMarkerObjectTagInfoEXT struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
130411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
130511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
130611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
130711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
130811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugmarkerobjecttaginfoext_struct_wrapper::display_full_txt()
130911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
131011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDebugMarkerObjectTagInfoEXT struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
131111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
131211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
131311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
131411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
131511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
131611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
131711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
131811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdebugreportcallbackcreateinfoext_struct_wrapper class definition
131911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugreportcallbackcreateinfoext_struct_wrapper::vkdebugreportcallbackcreateinfoext_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
132011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugreportcallbackcreateinfoext_struct_wrapper::vkdebugreportcallbackcreateinfoext_struct_wrapper(VkDebugReportCallbackCreateInfoEXT* pInStruct) : m_indent(0), m_dummy_prefix('\0')
132111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
132211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
132311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
132411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
132511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugreportcallbackcreateinfoext_struct_wrapper::vkdebugreportcallbackcreateinfoext_struct_wrapper(const VkDebugReportCallbackCreateInfoEXT* pInStruct) : m_indent(0), m_dummy_prefix('\0')
132611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
132711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
132811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
132911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
133011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdebugreportcallbackcreateinfoext_struct_wrapper::~vkdebugreportcallbackcreateinfoext_struct_wrapper() {}
133111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
133211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugreportcallbackcreateinfoext_struct_wrapper::display_single_txt()
133311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
133411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDebugReportCallbackCreateInfoEXT = 0x%p", m_indent, "", (void*)m_origStructAddr);
133511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
133611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
133711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
133811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugreportcallbackcreateinfoext_struct_wrapper::display_struct_members()
133911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
134011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
134111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
134211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
134311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spfnCallback = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pfnCallback));
134411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spUserData = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pUserData));
134511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
134611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
134711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
134811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugreportcallbackcreateinfoext_struct_wrapper::display_txt()
134911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
135011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDebugReportCallbackCreateInfoEXT struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
135111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
135211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
135311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
135411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
135511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdebugreportcallbackcreateinfoext_struct_wrapper::display_full_txt()
135611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
135711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDebugReportCallbackCreateInfoEXT struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
135811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
135911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
136011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
136111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
136211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
136311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
136411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
136511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdescriptorbufferinfo_struct_wrapper class definition
136611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorbufferinfo_struct_wrapper::vkdescriptorbufferinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
136711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorbufferinfo_struct_wrapper::vkdescriptorbufferinfo_struct_wrapper(VkDescriptorBufferInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
136811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
136911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
137011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
137111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
137211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorbufferinfo_struct_wrapper::vkdescriptorbufferinfo_struct_wrapper(const VkDescriptorBufferInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
137311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
137411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
137511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
137611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
137711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorbufferinfo_struct_wrapper::~vkdescriptorbufferinfo_struct_wrapper() {}
137811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
137911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorbufferinfo_struct_wrapper::display_single_txt()
138011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
138111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDescriptorBufferInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
138211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
138311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
138411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
138511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorbufferinfo_struct_wrapper::display_struct_members()
138611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
138711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbuffer = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.buffer));
138811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.offset));
138911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srange = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.range));
139011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
139111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
139211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
139311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorbufferinfo_struct_wrapper::display_txt()
139411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
139511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorBufferInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
139611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
139711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
139811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
139911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
140011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorbufferinfo_struct_wrapper::display_full_txt()
140111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
140211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorBufferInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
140311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
140411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
140511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
140611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
140711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdescriptorimageinfo_struct_wrapper class definition
140811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorimageinfo_struct_wrapper::vkdescriptorimageinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
140911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorimageinfo_struct_wrapper::vkdescriptorimageinfo_struct_wrapper(VkDescriptorImageInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
141011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
141111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
141211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
141311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
141411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorimageinfo_struct_wrapper::vkdescriptorimageinfo_struct_wrapper(const VkDescriptorImageInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
141511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
141611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
141711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
141811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
141911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorimageinfo_struct_wrapper::~vkdescriptorimageinfo_struct_wrapper() {}
142011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
142111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorimageinfo_struct_wrapper::display_single_txt()
142211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
142311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDescriptorImageInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
142411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
142511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
142611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
142711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorimageinfo_struct_wrapper::display_struct_members()
142811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
142911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssampler = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.sampler));
143011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageView = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.imageView));
143111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageLayout = %s\n", m_indent, "", &m_dummy_prefix, string_VkImageLayout(m_struct.imageLayout));
143211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
143311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
143411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
143511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorimageinfo_struct_wrapper::display_txt()
143611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
143711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorImageInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
143811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
143911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
144011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
144111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
144211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorimageinfo_struct_wrapper::display_full_txt()
144311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
144411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorImageInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
144511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
144611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
144711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
144811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
144911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdescriptorpoolcreateinfo_struct_wrapper class definition
145011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorpoolcreateinfo_struct_wrapper::vkdescriptorpoolcreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
145111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorpoolcreateinfo_struct_wrapper::vkdescriptorpoolcreateinfo_struct_wrapper(VkDescriptorPoolCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
145211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
145311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
145411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
145511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
145611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorpoolcreateinfo_struct_wrapper::vkdescriptorpoolcreateinfo_struct_wrapper(const VkDescriptorPoolCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
145711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
145811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
145911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
146011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
146111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorpoolcreateinfo_struct_wrapper::~vkdescriptorpoolcreateinfo_struct_wrapper() {}
146211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
146311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorpoolcreateinfo_struct_wrapper::display_single_txt()
146411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
146511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDescriptorPoolCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
146611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
146711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
146811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
146911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorpoolcreateinfo_struct_wrapper::display_struct_members()
147011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
147111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
147211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
147311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
147411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxSets = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxSets));
147511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spoolSizeCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.poolSizeCount));
147611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
147711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<poolSizeCount; i++) {
147811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spPoolSizes[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pPoolSizes)[i]);
147911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
148011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
148111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
148211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
148311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorpoolcreateinfo_struct_wrapper::display_txt()
148411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
148511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorPoolCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
148611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
148711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
148811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
148911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
149011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorpoolcreateinfo_struct_wrapper::display_full_txt()
149111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
149211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorPoolCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
149311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
149411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
149511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<poolSizeCount; i++) {
149611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkdescriptorpoolsize_struct_wrapper class0(&(m_struct.pPoolSizes[i]));
149711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
149811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
149911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
150011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
150111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
150211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
150311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
150411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
150511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
150611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdescriptorpoolsize_struct_wrapper class definition
150711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorpoolsize_struct_wrapper::vkdescriptorpoolsize_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
150811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorpoolsize_struct_wrapper::vkdescriptorpoolsize_struct_wrapper(VkDescriptorPoolSize* pInStruct) : m_indent(0), m_dummy_prefix('\0')
150911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
151011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
151111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
151211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
151311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorpoolsize_struct_wrapper::vkdescriptorpoolsize_struct_wrapper(const VkDescriptorPoolSize* pInStruct) : m_indent(0), m_dummy_prefix('\0')
151411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
151511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
151611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
151711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
151811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorpoolsize_struct_wrapper::~vkdescriptorpoolsize_struct_wrapper() {}
151911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
152011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorpoolsize_struct_wrapper::display_single_txt()
152111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
152211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDescriptorPoolSize = 0x%p", m_indent, "", (void*)m_origStructAddr);
152311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
152411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
152511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
152611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorpoolsize_struct_wrapper::display_struct_members()
152711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
152811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stype = %s\n", m_indent, "", &m_dummy_prefix, string_VkDescriptorType(m_struct.type));
152911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdescriptorCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.descriptorCount));
153011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
153111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
153211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
153311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorpoolsize_struct_wrapper::display_txt()
153411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
153511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorPoolSize struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
153611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
153711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
153811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
153911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
154011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorpoolsize_struct_wrapper::display_full_txt()
154111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
154211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorPoolSize struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
154311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
154411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
154511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
154611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
154711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdescriptorsetallocateinfo_struct_wrapper class definition
154811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetallocateinfo_struct_wrapper::vkdescriptorsetallocateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
154911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetallocateinfo_struct_wrapper::vkdescriptorsetallocateinfo_struct_wrapper(VkDescriptorSetAllocateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
155011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
155111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
155211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
155311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
155411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetallocateinfo_struct_wrapper::vkdescriptorsetallocateinfo_struct_wrapper(const VkDescriptorSetAllocateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
155511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
155611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
155711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
155811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
155911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetallocateinfo_struct_wrapper::~vkdescriptorsetallocateinfo_struct_wrapper() {}
156011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
156111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetallocateinfo_struct_wrapper::display_single_txt()
156211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
156311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDescriptorSetAllocateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
156411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
156511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
156611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
156711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetallocateinfo_struct_wrapper::display_struct_members()
156811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
156911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
157011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
157111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdescriptorPool = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.descriptorPool));
157211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdescriptorSetCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.descriptorSetCount));
157311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
157411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<descriptorSetCount; i++) {
157511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spSetLayouts[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pSetLayouts)[i]);
157611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
157711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
157811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
157911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
158011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetallocateinfo_struct_wrapper::display_txt()
158111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
158211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorSetAllocateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
158311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
158411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
158511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
158611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
158711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetallocateinfo_struct_wrapper::display_full_txt()
158811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
158911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorSetAllocateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
159011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
159111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
159211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
159311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
159411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
159511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
159611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
159711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdescriptorsetlayoutbinding_struct_wrapper class definition
159811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetlayoutbinding_struct_wrapper::vkdescriptorsetlayoutbinding_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
159911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetlayoutbinding_struct_wrapper::vkdescriptorsetlayoutbinding_struct_wrapper(VkDescriptorSetLayoutBinding* pInStruct) : m_indent(0), m_dummy_prefix('\0')
160011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
160111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
160211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
160311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
160411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetlayoutbinding_struct_wrapper::vkdescriptorsetlayoutbinding_struct_wrapper(const VkDescriptorSetLayoutBinding* pInStruct) : m_indent(0), m_dummy_prefix('\0')
160511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
160611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
160711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
160811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
160911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetlayoutbinding_struct_wrapper::~vkdescriptorsetlayoutbinding_struct_wrapper() {}
161011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
161111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetlayoutbinding_struct_wrapper::display_single_txt()
161211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
161311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDescriptorSetLayoutBinding = 0x%p", m_indent, "", (void*)m_origStructAddr);
161411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
161511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
161611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
161711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetlayoutbinding_struct_wrapper::display_struct_members()
161811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
161911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbinding = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.binding));
162011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdescriptorType = %s\n", m_indent, "", &m_dummy_prefix, string_VkDescriptorType(m_struct.descriptorType));
162111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdescriptorCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.descriptorCount));
162211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstageFlags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.stageFlags));
162311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
162411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<descriptorCount; i++) {
162511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spImmutableSamplers[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pImmutableSamplers)[i]);
162611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
162711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
162811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
162911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
163011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetlayoutbinding_struct_wrapper::display_txt()
163111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
163211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorSetLayoutBinding struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
163311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
163411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
163511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
163611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
163711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetlayoutbinding_struct_wrapper::display_full_txt()
163811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
163911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorSetLayoutBinding struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
164011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
164111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
164211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
164311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
164411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdescriptorsetlayoutcreateinfo_struct_wrapper class definition
164511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetlayoutcreateinfo_struct_wrapper::vkdescriptorsetlayoutcreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
164611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetlayoutcreateinfo_struct_wrapper::vkdescriptorsetlayoutcreateinfo_struct_wrapper(VkDescriptorSetLayoutCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
164711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
164811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
164911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
165011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
165111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetlayoutcreateinfo_struct_wrapper::vkdescriptorsetlayoutcreateinfo_struct_wrapper(const VkDescriptorSetLayoutCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
165211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
165311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
165411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
165511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
165611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdescriptorsetlayoutcreateinfo_struct_wrapper::~vkdescriptorsetlayoutcreateinfo_struct_wrapper() {}
165711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
165811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetlayoutcreateinfo_struct_wrapper::display_single_txt()
165911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
166011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDescriptorSetLayoutCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
166111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
166211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
166311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
166411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetlayoutcreateinfo_struct_wrapper::display_struct_members()
166511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
166611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
166711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
166811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
166911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbindingCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.bindingCount));
167011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
167111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<bindingCount; i++) {
167211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spBindings[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pBindings)[i]);
167311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
167411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
167511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
167611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
167711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetlayoutcreateinfo_struct_wrapper::display_txt()
167811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
167911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorSetLayoutCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
168011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
168111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
168211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
168311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
168411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdescriptorsetlayoutcreateinfo_struct_wrapper::display_full_txt()
168511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
168611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDescriptorSetLayoutCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
168711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
168811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
168911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<bindingCount; i++) {
169011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkdescriptorsetlayoutbinding_struct_wrapper class0(&(m_struct.pBindings[i]));
169111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
169211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
169311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
169411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
169511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
169611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
169711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
169811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
169911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
170011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdevicecreateinfo_struct_wrapper class definition
170111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdevicecreateinfo_struct_wrapper::vkdevicecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
170211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdevicecreateinfo_struct_wrapper::vkdevicecreateinfo_struct_wrapper(VkDeviceCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
170311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
170411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
170511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
170611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
170711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdevicecreateinfo_struct_wrapper::vkdevicecreateinfo_struct_wrapper(const VkDeviceCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
170811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
170911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
171011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
171111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
171211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdevicecreateinfo_struct_wrapper::~vkdevicecreateinfo_struct_wrapper() {}
171311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
171411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdevicecreateinfo_struct_wrapper::display_single_txt()
171511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
171611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDeviceCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
171711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
171811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
171911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
172011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdevicecreateinfo_struct_wrapper::display_struct_members()
172111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
172211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
172311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
172411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
172511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeueCreateInfoCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.queueCreateInfoCount));
172611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
172711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<queueCreateInfoCount; i++) {
172811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spQueueCreateInfos[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pQueueCreateInfos)[i]);
172911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
173011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %senabledLayerCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.enabledLayerCount));
173111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<enabledLayerCount; i++) {
173211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sppEnabledLayerNames = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.ppEnabledLayerNames)[0]);
173311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
173411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %senabledExtensionCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.enabledExtensionCount));
173511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<enabledExtensionCount; i++) {
173611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sppEnabledExtensionNames = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.ppEnabledExtensionNames)[0]);
173711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
173811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spEnabledFeatures = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pEnabledFeatures));
173911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
174011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
174111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
174211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdevicecreateinfo_struct_wrapper::display_txt()
174311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
174411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDeviceCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
174511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
174611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
174711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
174811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
174911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdevicecreateinfo_struct_wrapper::display_full_txt()
175011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
175111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDeviceCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
175211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
175311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pEnabledFeatures) {
175411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkphysicaldevicefeatures_struct_wrapper class0(m_struct.pEnabledFeatures);
175511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
175611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
175711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
175811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
175911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<queueCreateInfoCount; i++) {
176011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkdevicequeuecreateinfo_struct_wrapper class1(&(m_struct.pQueueCreateInfos[i]));
176111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.set_indent(m_indent + 4);
176211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.display_full_txt();
176311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
176411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
176511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
176611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
176711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
176811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
176911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
177011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdevicequeuecreateinfo_struct_wrapper class definition
177111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdevicequeuecreateinfo_struct_wrapper::vkdevicequeuecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
177211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdevicequeuecreateinfo_struct_wrapper::vkdevicequeuecreateinfo_struct_wrapper(VkDeviceQueueCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
177311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
177411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
177511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
177611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
177711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdevicequeuecreateinfo_struct_wrapper::vkdevicequeuecreateinfo_struct_wrapper(const VkDeviceQueueCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
177811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
177911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
178011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
178111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
178211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdevicequeuecreateinfo_struct_wrapper::~vkdevicequeuecreateinfo_struct_wrapper() {}
178311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
178411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdevicequeuecreateinfo_struct_wrapper::display_single_txt()
178511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
178611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDeviceQueueCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
178711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
178811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
178911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
179011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdevicequeuecreateinfo_struct_wrapper::display_struct_members()
179111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
179211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
179311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
179411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
179511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeueFamilyIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.queueFamilyIndex));
179611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeueCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.queueCount));
179711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
179811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<queueCount; i++) {
179911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spQueuePriorities[%u] = %f\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pQueuePriorities)[i]);
180011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
180111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
180211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
180311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
180411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdevicequeuecreateinfo_struct_wrapper::display_txt()
180511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
180611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDeviceQueueCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
180711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
180811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
180911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
181011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
181111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdevicequeuecreateinfo_struct_wrapper::display_full_txt()
181211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
181311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDeviceQueueCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
181411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
181511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
181611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
181711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
181811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
181911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
182011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
182111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdispatchindirectcommand_struct_wrapper class definition
182211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdispatchindirectcommand_struct_wrapper::vkdispatchindirectcommand_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
182311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdispatchindirectcommand_struct_wrapper::vkdispatchindirectcommand_struct_wrapper(VkDispatchIndirectCommand* pInStruct) : m_indent(0), m_dummy_prefix('\0')
182411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
182511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
182611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
182711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
182811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdispatchindirectcommand_struct_wrapper::vkdispatchindirectcommand_struct_wrapper(const VkDispatchIndirectCommand* pInStruct) : m_indent(0), m_dummy_prefix('\0')
182911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
183011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
183111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
183211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
183311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdispatchindirectcommand_struct_wrapper::~vkdispatchindirectcommand_struct_wrapper() {}
183411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
183511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdispatchindirectcommand_struct_wrapper::display_single_txt()
183611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
183711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDispatchIndirectCommand = 0x%p", m_indent, "", (void*)m_origStructAddr);
183811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
183911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
184011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
184111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdispatchindirectcommand_struct_wrapper::display_struct_members()
184211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
184311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sx = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.x));
184411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sy = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.y));
184511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sz = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.z));
184611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
184711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
184811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
184911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdispatchindirectcommand_struct_wrapper::display_txt()
185011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
185111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDispatchIndirectCommand struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
185211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
185311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
185411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
185511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
185611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdispatchindirectcommand_struct_wrapper::display_full_txt()
185711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
185811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDispatchIndirectCommand struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
185911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
186011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
186111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
186211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
186311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdisplaymodecreateinfokhr_struct_wrapper class definition
186411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodecreateinfokhr_struct_wrapper::vkdisplaymodecreateinfokhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
186511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodecreateinfokhr_struct_wrapper::vkdisplaymodecreateinfokhr_struct_wrapper(VkDisplayModeCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
186611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
186711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
186811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
186911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
187011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodecreateinfokhr_struct_wrapper::vkdisplaymodecreateinfokhr_struct_wrapper(const VkDisplayModeCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
187111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
187211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
187311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
187411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
187511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodecreateinfokhr_struct_wrapper::~vkdisplaymodecreateinfokhr_struct_wrapper() {}
187611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
187711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodecreateinfokhr_struct_wrapper::display_single_txt()
187811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
187911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDisplayModeCreateInfoKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
188011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
188111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
188211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
188311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodecreateinfokhr_struct_wrapper::display_struct_members()
188411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
188511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
188611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
188711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
188811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sparameters = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.parameters));
188911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
189011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
189111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
189211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodecreateinfokhr_struct_wrapper::display_txt()
189311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
189411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayModeCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
189511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
189611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
189711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
189811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
189911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodecreateinfokhr_struct_wrapper::display_full_txt()
190011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
190111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayModeCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
190211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
190311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.parameters) {
190411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkdisplaymodeparameterskhr_struct_wrapper class0(&m_struct.parameters);
190511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
190611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
190711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
190811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
190911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
191011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
191111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
191211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
191311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
191411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdisplaymodeparameterskhr_struct_wrapper class definition
191511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodeparameterskhr_struct_wrapper::vkdisplaymodeparameterskhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
191611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodeparameterskhr_struct_wrapper::vkdisplaymodeparameterskhr_struct_wrapper(VkDisplayModeParametersKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
191711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
191811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
191911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
192011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
192111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodeparameterskhr_struct_wrapper::vkdisplaymodeparameterskhr_struct_wrapper(const VkDisplayModeParametersKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
192211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
192311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
192411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
192511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
192611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodeparameterskhr_struct_wrapper::~vkdisplaymodeparameterskhr_struct_wrapper() {}
192711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
192811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodeparameterskhr_struct_wrapper::display_single_txt()
192911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
193011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDisplayModeParametersKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
193111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
193211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
193311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
193411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodeparameterskhr_struct_wrapper::display_struct_members()
193511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
193611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %svisibleRegion = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.visibleRegion));
193711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srefreshRate = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.refreshRate));
193811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
193911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
194011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
194111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodeparameterskhr_struct_wrapper::display_txt()
194211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
194311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayModeParametersKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
194411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
194511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
194611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
194711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
194811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodeparameterskhr_struct_wrapper::display_full_txt()
194911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
195011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayModeParametersKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
195111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
195211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.visibleRegion) {
195311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class0(&m_struct.visibleRegion);
195411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
195511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
195611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
195711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
195811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
195911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
196011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdisplaymodepropertieskhr_struct_wrapper class definition
196111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodepropertieskhr_struct_wrapper::vkdisplaymodepropertieskhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
196211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodepropertieskhr_struct_wrapper::vkdisplaymodepropertieskhr_struct_wrapper(VkDisplayModePropertiesKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
196311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
196411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
196511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
196611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
196711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodepropertieskhr_struct_wrapper::vkdisplaymodepropertieskhr_struct_wrapper(const VkDisplayModePropertiesKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
196811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
196911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
197011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
197111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
197211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaymodepropertieskhr_struct_wrapper::~vkdisplaymodepropertieskhr_struct_wrapper() {}
197311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
197411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodepropertieskhr_struct_wrapper::display_single_txt()
197511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
197611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDisplayModePropertiesKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
197711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
197811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
197911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
198011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodepropertieskhr_struct_wrapper::display_struct_members()
198111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
198211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdisplayMode = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.displayMode));
198311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sparameters = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.parameters));
198411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
198511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
198611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
198711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodepropertieskhr_struct_wrapper::display_txt()
198811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
198911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayModePropertiesKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
199011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
199111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
199211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
199311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
199411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaymodepropertieskhr_struct_wrapper::display_full_txt()
199511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
199611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayModePropertiesKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
199711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
199811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.parameters) {
199911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkdisplaymodeparameterskhr_struct_wrapper class0(&m_struct.parameters);
200011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
200111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
200211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
200311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
200411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
200511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
200611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdisplayplanecapabilitieskhr_struct_wrapper class definition
200711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplayplanecapabilitieskhr_struct_wrapper::vkdisplayplanecapabilitieskhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
200811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplayplanecapabilitieskhr_struct_wrapper::vkdisplayplanecapabilitieskhr_struct_wrapper(VkDisplayPlaneCapabilitiesKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
200911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
201011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
201111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
201211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
201311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplayplanecapabilitieskhr_struct_wrapper::vkdisplayplanecapabilitieskhr_struct_wrapper(const VkDisplayPlaneCapabilitiesKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
201411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
201511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
201611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
201711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
201811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplayplanecapabilitieskhr_struct_wrapper::~vkdisplayplanecapabilitieskhr_struct_wrapper() {}
201911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
202011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplayplanecapabilitieskhr_struct_wrapper::display_single_txt()
202111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
202211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDisplayPlaneCapabilitiesKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
202311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
202411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
202511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
202611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplayplanecapabilitieskhr_struct_wrapper::display_struct_members()
202711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
202811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssupportedAlpha = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.supportedAlpha));
202911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminSrcPosition = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.minSrcPosition));
203011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxSrcPosition = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.maxSrcPosition));
203111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminSrcExtent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.minSrcExtent));
203211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxSrcExtent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.maxSrcExtent));
203311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminDstPosition = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.minDstPosition));
203411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDstPosition = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.maxDstPosition));
203511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminDstExtent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.minDstExtent));
203611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDstExtent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.maxDstExtent));
203711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
203811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
203911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
204011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplayplanecapabilitieskhr_struct_wrapper::display_txt()
204111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
204211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayPlaneCapabilitiesKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
204311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
204411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
204511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
204611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
204711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplayplanecapabilitieskhr_struct_wrapper::display_full_txt()
204811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
204911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayPlaneCapabilitiesKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
205011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
205111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.maxDstExtent) {
205211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class0(&m_struct.maxDstExtent);
205311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
205411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
205511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
205611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.minDstExtent) {
205711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class1(&m_struct.minDstExtent);
205811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
205911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
206011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
206111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.maxDstPosition) {
206211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkoffset2d_struct_wrapper class2(&m_struct.maxDstPosition);
206311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.set_indent(m_indent + 4);
206411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.display_full_txt();
206511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
206611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.minDstPosition) {
206711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkoffset2d_struct_wrapper class3(&m_struct.minDstPosition);
206811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class3.set_indent(m_indent + 4);
206911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class3.display_full_txt();
207011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
207111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.maxSrcExtent) {
207211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class4(&m_struct.maxSrcExtent);
207311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class4.set_indent(m_indent + 4);
207411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class4.display_full_txt();
207511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
207611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.minSrcExtent) {
207711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class5(&m_struct.minSrcExtent);
207811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class5.set_indent(m_indent + 4);
207911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class5.display_full_txt();
208011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
208111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.maxSrcPosition) {
208211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkoffset2d_struct_wrapper class6(&m_struct.maxSrcPosition);
208311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class6.set_indent(m_indent + 4);
208411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class6.display_full_txt();
208511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
208611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.minSrcPosition) {
208711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkoffset2d_struct_wrapper class7(&m_struct.minSrcPosition);
208811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class7.set_indent(m_indent + 4);
208911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class7.display_full_txt();
209011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
209111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
209211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
209311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
209411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdisplayplanepropertieskhr_struct_wrapper class definition
209511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplayplanepropertieskhr_struct_wrapper::vkdisplayplanepropertieskhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
209611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplayplanepropertieskhr_struct_wrapper::vkdisplayplanepropertieskhr_struct_wrapper(VkDisplayPlanePropertiesKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
209711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
209811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
209911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
210011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
210111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplayplanepropertieskhr_struct_wrapper::vkdisplayplanepropertieskhr_struct_wrapper(const VkDisplayPlanePropertiesKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
210211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
210311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
210411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
210511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
210611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplayplanepropertieskhr_struct_wrapper::~vkdisplayplanepropertieskhr_struct_wrapper() {}
210711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
210811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplayplanepropertieskhr_struct_wrapper::display_single_txt()
210911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
211011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDisplayPlanePropertiesKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
211111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
211211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
211311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
211411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplayplanepropertieskhr_struct_wrapper::display_struct_members()
211511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
211611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scurrentDisplay = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.currentDisplay));
211711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scurrentStackIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.currentStackIndex));
211811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
211911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
212011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
212111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplayplanepropertieskhr_struct_wrapper::display_txt()
212211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
212311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayPlanePropertiesKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
212411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
212511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
212611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
212711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
212811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplayplanepropertieskhr_struct_wrapper::display_full_txt()
212911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
213011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayPlanePropertiesKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
213111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
213211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
213311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
213411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
213511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdisplaypresentinfokhr_struct_wrapper class definition
213611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaypresentinfokhr_struct_wrapper::vkdisplaypresentinfokhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
213711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaypresentinfokhr_struct_wrapper::vkdisplaypresentinfokhr_struct_wrapper(VkDisplayPresentInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
213811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
213911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
214011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
214111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
214211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaypresentinfokhr_struct_wrapper::vkdisplaypresentinfokhr_struct_wrapper(const VkDisplayPresentInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
214311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
214411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
214511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
214611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
214711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaypresentinfokhr_struct_wrapper::~vkdisplaypresentinfokhr_struct_wrapper() {}
214811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
214911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaypresentinfokhr_struct_wrapper::display_single_txt()
215011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
215111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDisplayPresentInfoKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
215211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
215311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
215411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
215511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaypresentinfokhr_struct_wrapper::display_struct_members()
215611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
215711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
215811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
215911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcRect = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.srcRect));
216011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstRect = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.dstRect));
216111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spersistent = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.persistent) ? "TRUE" : "FALSE");
216211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
216311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
216411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
216511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaypresentinfokhr_struct_wrapper::display_txt()
216611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
216711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayPresentInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
216811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
216911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
217011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
217111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
217211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaypresentinfokhr_struct_wrapper::display_full_txt()
217311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
217411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayPresentInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
217511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
217611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.dstRect) {
217711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkrect2d_struct_wrapper class0(&m_struct.dstRect);
217811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
217911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
218011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
218111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.srcRect) {
218211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkrect2d_struct_wrapper class1(&m_struct.srcRect);
218311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
218411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
218511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
218611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
218711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
218811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
218911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
219011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
219111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
219211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdisplaypropertieskhr_struct_wrapper class definition
219311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaypropertieskhr_struct_wrapper::vkdisplaypropertieskhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
219411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaypropertieskhr_struct_wrapper::vkdisplaypropertieskhr_struct_wrapper(VkDisplayPropertiesKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
219511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
219611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
219711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
219811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
219911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaypropertieskhr_struct_wrapper::vkdisplaypropertieskhr_struct_wrapper(const VkDisplayPropertiesKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
220011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
220111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
220211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
220311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
220411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaypropertieskhr_struct_wrapper::~vkdisplaypropertieskhr_struct_wrapper() {}
220511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
220611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaypropertieskhr_struct_wrapper::display_single_txt()
220711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
220811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDisplayPropertiesKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
220911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
221011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
221111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
221211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaypropertieskhr_struct_wrapper::display_struct_members()
221311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
221411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdisplay = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.display));
221511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdisplayName = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.displayName));
221611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sphysicalDimensions = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.physicalDimensions));
221711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sphysicalResolution = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.physicalResolution));
221811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssupportedTransforms = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.supportedTransforms));
221911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %splaneReorderPossible = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.planeReorderPossible) ? "TRUE" : "FALSE");
222011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spersistentContent = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.persistentContent) ? "TRUE" : "FALSE");
222111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
222211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
222311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
222411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaypropertieskhr_struct_wrapper::display_txt()
222511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
222611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayPropertiesKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
222711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
222811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
222911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
223011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
223111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaypropertieskhr_struct_wrapper::display_full_txt()
223211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
223311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplayPropertiesKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
223411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
223511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.physicalResolution) {
223611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class0(&m_struct.physicalResolution);
223711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
223811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
223911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
224011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.physicalDimensions) {
224111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class1(&m_struct.physicalDimensions);
224211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
224311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
224411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
224511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
224611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
224711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
224811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdisplaysurfacecreateinfokhr_struct_wrapper class definition
224911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaysurfacecreateinfokhr_struct_wrapper::vkdisplaysurfacecreateinfokhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
225011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaysurfacecreateinfokhr_struct_wrapper::vkdisplaysurfacecreateinfokhr_struct_wrapper(VkDisplaySurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
225111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
225211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
225311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
225411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
225511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaysurfacecreateinfokhr_struct_wrapper::vkdisplaysurfacecreateinfokhr_struct_wrapper(const VkDisplaySurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
225611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
225711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
225811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
225911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
226011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdisplaysurfacecreateinfokhr_struct_wrapper::~vkdisplaysurfacecreateinfokhr_struct_wrapper() {}
226111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
226211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaysurfacecreateinfokhr_struct_wrapper::display_single_txt()
226311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
226411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDisplaySurfaceCreateInfoKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
226511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
226611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
226711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
226811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaysurfacecreateinfokhr_struct_wrapper::display_struct_members()
226911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
227011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
227111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
227211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
227311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdisplayMode = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.displayMode));
227411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %splaneIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.planeIndex));
227511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %splaneStackIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.planeStackIndex));
227611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stransform = %s\n", m_indent, "", &m_dummy_prefix, string_VkSurfaceTransformFlagBitsKHR(m_struct.transform));
227711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sglobalAlpha = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.globalAlpha));
227811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %salphaMode = %s\n", m_indent, "", &m_dummy_prefix, string_VkDisplayPlaneAlphaFlagBitsKHR(m_struct.alphaMode));
227911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageExtent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.imageExtent));
228011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
228111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
228211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
228311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaysurfacecreateinfokhr_struct_wrapper::display_txt()
228411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
228511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplaySurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
228611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
228711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
228811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
228911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
229011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdisplaysurfacecreateinfokhr_struct_wrapper::display_full_txt()
229111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
229211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDisplaySurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
229311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
229411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.imageExtent) {
229511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class0(&m_struct.imageExtent);
229611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
229711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
229811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
229911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
230011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
230111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
230211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
230311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
230411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
230511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdrawindexedindirectcommand_struct_wrapper class definition
230611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdrawindexedindirectcommand_struct_wrapper::vkdrawindexedindirectcommand_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
230711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdrawindexedindirectcommand_struct_wrapper::vkdrawindexedindirectcommand_struct_wrapper(VkDrawIndexedIndirectCommand* pInStruct) : m_indent(0), m_dummy_prefix('\0')
230811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
230911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
231011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
231111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
231211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdrawindexedindirectcommand_struct_wrapper::vkdrawindexedindirectcommand_struct_wrapper(const VkDrawIndexedIndirectCommand* pInStruct) : m_indent(0), m_dummy_prefix('\0')
231311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
231411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
231511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
231611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
231711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdrawindexedindirectcommand_struct_wrapper::~vkdrawindexedindirectcommand_struct_wrapper() {}
231811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
231911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdrawindexedindirectcommand_struct_wrapper::display_single_txt()
232011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
232111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDrawIndexedIndirectCommand = 0x%p", m_indent, "", (void*)m_origStructAddr);
232211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
232311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
232411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
232511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdrawindexedindirectcommand_struct_wrapper::display_struct_members()
232611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
232711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sindexCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.indexCount));
232811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sinstanceCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.instanceCount));
232911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sfirstIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.firstIndex));
233011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %svertexOffset = %i\n", m_indent, "", &m_dummy_prefix, (m_struct.vertexOffset));
233111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sfirstInstance = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.firstInstance));
233211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
233311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
233411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
233511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdrawindexedindirectcommand_struct_wrapper::display_txt()
233611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
233711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDrawIndexedIndirectCommand struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
233811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
233911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
234011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
234111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
234211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdrawindexedindirectcommand_struct_wrapper::display_full_txt()
234311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
234411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDrawIndexedIndirectCommand struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
234511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
234611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
234711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
234811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
234911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkdrawindirectcommand_struct_wrapper class definition
235011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdrawindirectcommand_struct_wrapper::vkdrawindirectcommand_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
235111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdrawindirectcommand_struct_wrapper::vkdrawindirectcommand_struct_wrapper(VkDrawIndirectCommand* pInStruct) : m_indent(0), m_dummy_prefix('\0')
235211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
235311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
235411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
235511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
235611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdrawindirectcommand_struct_wrapper::vkdrawindirectcommand_struct_wrapper(const VkDrawIndirectCommand* pInStruct) : m_indent(0), m_dummy_prefix('\0')
235711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
235811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
235911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
236011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
236111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkdrawindirectcommand_struct_wrapper::~vkdrawindirectcommand_struct_wrapper() {}
236211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
236311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdrawindirectcommand_struct_wrapper::display_single_txt()
236411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
236511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkDrawIndirectCommand = 0x%p", m_indent, "", (void*)m_origStructAddr);
236611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
236711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
236811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
236911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdrawindirectcommand_struct_wrapper::display_struct_members()
237011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
237111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %svertexCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.vertexCount));
237211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sinstanceCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.instanceCount));
237311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sfirstVertex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.firstVertex));
237411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sfirstInstance = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.firstInstance));
237511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
237611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
237711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
237811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdrawindirectcommand_struct_wrapper::display_txt()
237911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
238011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDrawIndirectCommand struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
238111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
238211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
238311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
238411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
238511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkdrawindirectcommand_struct_wrapper::display_full_txt()
238611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
238711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkDrawIndirectCommand struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
238811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
238911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
239011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
239111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
239211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkeventcreateinfo_struct_wrapper class definition
239311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkeventcreateinfo_struct_wrapper::vkeventcreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
239411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkeventcreateinfo_struct_wrapper::vkeventcreateinfo_struct_wrapper(VkEventCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
239511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
239611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
239711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
239811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
239911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkeventcreateinfo_struct_wrapper::vkeventcreateinfo_struct_wrapper(const VkEventCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
240011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
240111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
240211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
240311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
240411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkeventcreateinfo_struct_wrapper::~vkeventcreateinfo_struct_wrapper() {}
240511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
240611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkeventcreateinfo_struct_wrapper::display_single_txt()
240711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
240811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkEventCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
240911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
241011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
241111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
241211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkeventcreateinfo_struct_wrapper::display_struct_members()
241311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
241411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
241511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
241611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
241711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
241811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
241911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
242011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkeventcreateinfo_struct_wrapper::display_txt()
242111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
242211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkEventCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
242311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
242411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
242511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
242611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
242711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkeventcreateinfo_struct_wrapper::display_full_txt()
242811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
242911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkEventCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
243011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
243111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
243211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
243311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
243411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
243511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
243611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
243711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkextensionproperties_struct_wrapper class definition
243811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextensionproperties_struct_wrapper::vkextensionproperties_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
243911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextensionproperties_struct_wrapper::vkextensionproperties_struct_wrapper(VkExtensionProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
244011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
244111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
244211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
244311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
244411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextensionproperties_struct_wrapper::vkextensionproperties_struct_wrapper(const VkExtensionProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
244511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
244611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
244711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
244811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
244911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextensionproperties_struct_wrapper::~vkextensionproperties_struct_wrapper() {}
245011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
245111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextensionproperties_struct_wrapper::display_single_txt()
245211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
245311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkExtensionProperties = 0x%p", m_indent, "", (void*)m_origStructAddr);
245411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
245511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
245611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
245711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextensionproperties_struct_wrapper::display_struct_members()
245811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
245911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
246011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<VK_MAX_EXTENSION_NAME_SIZE; i++) {
246111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sextensionName = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.extensionName));
246211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
246311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sspecVersion = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.specVersion));
246411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
246511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
246611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
246711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextensionproperties_struct_wrapper::display_txt()
246811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
246911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkExtensionProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
247011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
247111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
247211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
247311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
247411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextensionproperties_struct_wrapper::display_full_txt()
247511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
247611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkExtensionProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
247711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
247811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
247911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
248011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
248111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkextent2d_struct_wrapper class definition
248211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextent2d_struct_wrapper::vkextent2d_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
248311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextent2d_struct_wrapper::vkextent2d_struct_wrapper(VkExtent2D* pInStruct) : m_indent(0), m_dummy_prefix('\0')
248411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
248511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
248611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
248711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
248811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextent2d_struct_wrapper::vkextent2d_struct_wrapper(const VkExtent2D* pInStruct) : m_indent(0), m_dummy_prefix('\0')
248911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
249011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
249111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
249211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
249311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextent2d_struct_wrapper::~vkextent2d_struct_wrapper() {}
249411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
249511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextent2d_struct_wrapper::display_single_txt()
249611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
249711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkExtent2D = 0x%p", m_indent, "", (void*)m_origStructAddr);
249811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
249911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
250011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
250111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextent2d_struct_wrapper::display_struct_members()
250211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
250311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swidth = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.width));
250411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sheight = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.height));
250511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
250611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
250711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
250811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextent2d_struct_wrapper::display_txt()
250911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
251011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkExtent2D struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
251111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
251211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
251311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
251411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
251511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextent2d_struct_wrapper::display_full_txt()
251611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
251711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkExtent2D struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
251811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
251911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
252011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
252111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
252211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkextent3d_struct_wrapper class definition
252311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextent3d_struct_wrapper::vkextent3d_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
252411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextent3d_struct_wrapper::vkextent3d_struct_wrapper(VkExtent3D* pInStruct) : m_indent(0), m_dummy_prefix('\0')
252511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
252611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
252711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
252811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
252911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextent3d_struct_wrapper::vkextent3d_struct_wrapper(const VkExtent3D* pInStruct) : m_indent(0), m_dummy_prefix('\0')
253011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
253111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
253211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
253311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
253411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkextent3d_struct_wrapper::~vkextent3d_struct_wrapper() {}
253511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
253611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextent3d_struct_wrapper::display_single_txt()
253711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
253811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkExtent3D = 0x%p", m_indent, "", (void*)m_origStructAddr);
253911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
254011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
254111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
254211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextent3d_struct_wrapper::display_struct_members()
254311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
254411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swidth = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.width));
254511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sheight = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.height));
254611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepth = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.depth));
254711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
254811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
254911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
255011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextent3d_struct_wrapper::display_txt()
255111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
255211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkExtent3D struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
255311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
255411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
255511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
255611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
255711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkextent3d_struct_wrapper::display_full_txt()
255811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
255911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkExtent3D struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
256011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
256111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
256211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
256311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
256411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkfencecreateinfo_struct_wrapper class definition
256511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkfencecreateinfo_struct_wrapper::vkfencecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
256611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkfencecreateinfo_struct_wrapper::vkfencecreateinfo_struct_wrapper(VkFenceCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
256711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
256811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
256911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
257011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
257111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkfencecreateinfo_struct_wrapper::vkfencecreateinfo_struct_wrapper(const VkFenceCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
257211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
257311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
257411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
257511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
257611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkfencecreateinfo_struct_wrapper::~vkfencecreateinfo_struct_wrapper() {}
257711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
257811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkfencecreateinfo_struct_wrapper::display_single_txt()
257911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
258011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkFenceCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
258111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
258211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
258311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
258411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkfencecreateinfo_struct_wrapper::display_struct_members()
258511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
258611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
258711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
258811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
258911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
259011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
259111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
259211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkfencecreateinfo_struct_wrapper::display_txt()
259311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
259411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkFenceCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
259511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
259611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
259711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
259811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
259911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkfencecreateinfo_struct_wrapper::display_full_txt()
260011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
260111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkFenceCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
260211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
260311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
260411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
260511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
260611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
260711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
260811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
260911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkformatproperties_struct_wrapper class definition
261011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkformatproperties_struct_wrapper::vkformatproperties_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
261111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkformatproperties_struct_wrapper::vkformatproperties_struct_wrapper(VkFormatProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
261211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
261311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
261411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
261511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
261611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkformatproperties_struct_wrapper::vkformatproperties_struct_wrapper(const VkFormatProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
261711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
261811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
261911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
262011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
262111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkformatproperties_struct_wrapper::~vkformatproperties_struct_wrapper() {}
262211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
262311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkformatproperties_struct_wrapper::display_single_txt()
262411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
262511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkFormatProperties = 0x%p", m_indent, "", (void*)m_origStructAddr);
262611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
262711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
262811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
262911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkformatproperties_struct_wrapper::display_struct_members()
263011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
263111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slinearTilingFeatures = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.linearTilingFeatures));
263211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soptimalTilingFeatures = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.optimalTilingFeatures));
263311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbufferFeatures = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.bufferFeatures));
263411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
263511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
263611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
263711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkformatproperties_struct_wrapper::display_txt()
263811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
263911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkFormatProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
264011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
264111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
264211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
264311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
264411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkformatproperties_struct_wrapper::display_full_txt()
264511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
264611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkFormatProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
264711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
264811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
264911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
265011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
265111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkframebuffercreateinfo_struct_wrapper class definition
265211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkframebuffercreateinfo_struct_wrapper::vkframebuffercreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
265311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkframebuffercreateinfo_struct_wrapper::vkframebuffercreateinfo_struct_wrapper(VkFramebufferCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
265411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
265511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
265611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
265711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
265811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkframebuffercreateinfo_struct_wrapper::vkframebuffercreateinfo_struct_wrapper(const VkFramebufferCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
265911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
266011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
266111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
266211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
266311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkframebuffercreateinfo_struct_wrapper::~vkframebuffercreateinfo_struct_wrapper() {}
266411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
266511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkframebuffercreateinfo_struct_wrapper::display_single_txt()
266611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
266711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkFramebufferCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
266811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
266911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
267011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
267111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkframebuffercreateinfo_struct_wrapper::display_struct_members()
267211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
267311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
267411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
267511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
267611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srenderPass = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.renderPass));
267711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sattachmentCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.attachmentCount));
267811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
267911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<attachmentCount; i++) {
268011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spAttachments[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pAttachments)[i]);
268111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
268211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swidth = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.width));
268311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sheight = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.height));
268411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slayers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.layers));
268511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
268611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
268711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
268811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkframebuffercreateinfo_struct_wrapper::display_txt()
268911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
269011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkFramebufferCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
269111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
269211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
269311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
269411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
269511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkframebuffercreateinfo_struct_wrapper::display_full_txt()
269611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
269711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkFramebufferCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
269811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
269911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
270011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
270111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
270211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
270311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
270411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
270511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkgraphicspipelinecreateinfo_struct_wrapper class definition
270611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkgraphicspipelinecreateinfo_struct_wrapper::vkgraphicspipelinecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
270711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkgraphicspipelinecreateinfo_struct_wrapper::vkgraphicspipelinecreateinfo_struct_wrapper(VkGraphicsPipelineCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
270811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
270911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
271011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
271111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
271211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkgraphicspipelinecreateinfo_struct_wrapper::vkgraphicspipelinecreateinfo_struct_wrapper(const VkGraphicsPipelineCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
271311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
271411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
271511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
271611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
271711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkgraphicspipelinecreateinfo_struct_wrapper::~vkgraphicspipelinecreateinfo_struct_wrapper() {}
271811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
271911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkgraphicspipelinecreateinfo_struct_wrapper::display_single_txt()
272011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
272111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkGraphicsPipelineCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
272211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
272311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
272411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
272511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkgraphicspipelinecreateinfo_struct_wrapper::display_struct_members()
272611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
272711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
272811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
272911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
273011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstageCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.stageCount));
273111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
273211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<stageCount; i++) {
273311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spStages[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pStages)[i]);
273411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
273511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spVertexInputState = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pVertexInputState));
273611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spInputAssemblyState = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pInputAssemblyState));
273711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spTessellationState = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pTessellationState));
273811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spViewportState = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pViewportState));
273911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spRasterizationState = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pRasterizationState));
274011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spMultisampleState = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pMultisampleState));
274111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spDepthStencilState = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pDepthStencilState));
274211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spColorBlendState = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pColorBlendState));
274311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spDynamicState = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pDynamicState));
274411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slayout = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.layout));
274511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srenderPass = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.renderPass));
274611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssubpass = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.subpass));
274711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbasePipelineHandle = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.basePipelineHandle));
274811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbasePipelineIndex = %i\n", m_indent, "", &m_dummy_prefix, (m_struct.basePipelineIndex));
274911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
275011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
275111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
275211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkgraphicspipelinecreateinfo_struct_wrapper::display_txt()
275311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
275411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkGraphicsPipelineCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
275511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
275611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
275711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
275811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
275911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkgraphicspipelinecreateinfo_struct_wrapper::display_full_txt()
276011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
276111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkGraphicsPipelineCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
276211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
276311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pDynamicState) {
276411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkpipelinedynamicstatecreateinfo_struct_wrapper class0(m_struct.pDynamicState);
276511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
276611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
276711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
276811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pColorBlendState) {
276911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkpipelinecolorblendstatecreateinfo_struct_wrapper class1(m_struct.pColorBlendState);
277011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
277111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
277211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
277311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pDepthStencilState) {
277411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkpipelinedepthstencilstatecreateinfo_struct_wrapper class2(m_struct.pDepthStencilState);
277511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.set_indent(m_indent + 4);
277611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.display_full_txt();
277711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
277811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pMultisampleState) {
277911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkpipelinemultisamplestatecreateinfo_struct_wrapper class3(m_struct.pMultisampleState);
278011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class3.set_indent(m_indent + 4);
278111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class3.display_full_txt();
278211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
278311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pRasterizationState) {
278411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkpipelinerasterizationstatecreateinfo_struct_wrapper class4(m_struct.pRasterizationState);
278511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class4.set_indent(m_indent + 4);
278611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class4.display_full_txt();
278711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
278811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pViewportState) {
278911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkpipelineviewportstatecreateinfo_struct_wrapper class5(m_struct.pViewportState);
279011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class5.set_indent(m_indent + 4);
279111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class5.display_full_txt();
279211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
279311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pTessellationState) {
279411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkpipelinetessellationstatecreateinfo_struct_wrapper class6(m_struct.pTessellationState);
279511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class6.set_indent(m_indent + 4);
279611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class6.display_full_txt();
279711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
279811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pInputAssemblyState) {
279911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkpipelineinputassemblystatecreateinfo_struct_wrapper class7(m_struct.pInputAssemblyState);
280011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class7.set_indent(m_indent + 4);
280111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class7.display_full_txt();
280211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
280311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pVertexInputState) {
280411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkpipelinevertexinputstatecreateinfo_struct_wrapper class8(m_struct.pVertexInputState);
280511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class8.set_indent(m_indent + 4);
280611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class8.display_full_txt();
280711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
280811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
280911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<stageCount; i++) {
281011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkpipelineshaderstagecreateinfo_struct_wrapper class9(&(m_struct.pStages[i]));
281111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class9.set_indent(m_indent + 4);
281211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class9.display_full_txt();
281311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
281411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
281511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
281611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
281711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
281811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
281911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
282011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkimageblit_struct_wrapper class definition
282111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageblit_struct_wrapper::vkimageblit_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
282211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageblit_struct_wrapper::vkimageblit_struct_wrapper(VkImageBlit* pInStruct) : m_indent(0), m_dummy_prefix('\0')
282311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
282411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
282511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
282611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
282711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageblit_struct_wrapper::vkimageblit_struct_wrapper(const VkImageBlit* pInStruct) : m_indent(0), m_dummy_prefix('\0')
282811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
282911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
283011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
283111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
283211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageblit_struct_wrapper::~vkimageblit_struct_wrapper() {}
283311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
283411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageblit_struct_wrapper::display_single_txt()
283511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
283611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkImageBlit = 0x%p", m_indent, "", (void*)m_origStructAddr);
283711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
283811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
283911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
284011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageblit_struct_wrapper::display_struct_members()
284111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
284211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcSubresource = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.srcSubresource));
284311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
284411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<2; i++) {
284511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %ssrcOffsets[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)&(m_struct.srcOffsets)[i]);
284611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
284711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstSubresource = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.dstSubresource));
284811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<2; i++) {
284911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sdstOffsets[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)&(m_struct.dstOffsets)[i]);
285011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
285111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
285211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
285311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
285411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageblit_struct_wrapper::display_txt()
285511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
285611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageBlit struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
285711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
285811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
285911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
286011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
286111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageblit_struct_wrapper::display_full_txt()
286211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
286311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageBlit struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
286411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
286511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
286611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<2; i++) {
286711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkoffset3d_struct_wrapper class0(&(m_struct.dstOffsets[i]));
286811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
286911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
287011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
287111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.dstSubresource) {
287211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkimagesubresourcelayers_struct_wrapper class1(&m_struct.dstSubresource);
287311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
287411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
287511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
287611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<2; i++) {
287711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkoffset3d_struct_wrapper class2(&(m_struct.srcOffsets[i]));
287811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class2.set_indent(m_indent + 4);
287911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class2.display_full_txt();
288011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
288111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.srcSubresource) {
288211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkimagesubresourcelayers_struct_wrapper class3(&m_struct.srcSubresource);
288311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class3.set_indent(m_indent + 4);
288411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class3.display_full_txt();
288511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
288611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
288711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
288811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
288911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkimagecopy_struct_wrapper class definition
289011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagecopy_struct_wrapper::vkimagecopy_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
289111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagecopy_struct_wrapper::vkimagecopy_struct_wrapper(VkImageCopy* pInStruct) : m_indent(0), m_dummy_prefix('\0')
289211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
289311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
289411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
289511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
289611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagecopy_struct_wrapper::vkimagecopy_struct_wrapper(const VkImageCopy* pInStruct) : m_indent(0), m_dummy_prefix('\0')
289711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
289811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
289911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
290011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
290111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagecopy_struct_wrapper::~vkimagecopy_struct_wrapper() {}
290211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
290311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagecopy_struct_wrapper::display_single_txt()
290411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
290511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkImageCopy = 0x%p", m_indent, "", (void*)m_origStructAddr);
290611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
290711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
290811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
290911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagecopy_struct_wrapper::display_struct_members()
291011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
291111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcSubresource = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.srcSubresource));
291211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcOffset = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.srcOffset));
291311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstSubresource = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.dstSubresource));
291411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstOffset = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.dstOffset));
291511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sextent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.extent));
291611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
291711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
291811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
291911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagecopy_struct_wrapper::display_txt()
292011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
292111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageCopy struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
292211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
292311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
292411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
292511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
292611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagecopy_struct_wrapper::display_full_txt()
292711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
292811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageCopy struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
292911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
293011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.extent) {
293111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent3d_struct_wrapper class0(&m_struct.extent);
293211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
293311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
293411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
293511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.dstOffset) {
293611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkoffset3d_struct_wrapper class1(&m_struct.dstOffset);
293711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
293811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
293911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
294011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.dstSubresource) {
294111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkimagesubresourcelayers_struct_wrapper class2(&m_struct.dstSubresource);
294211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.set_indent(m_indent + 4);
294311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.display_full_txt();
294411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
294511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.srcOffset) {
294611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkoffset3d_struct_wrapper class3(&m_struct.srcOffset);
294711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class3.set_indent(m_indent + 4);
294811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class3.display_full_txt();
294911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
295011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.srcSubresource) {
295111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkimagesubresourcelayers_struct_wrapper class4(&m_struct.srcSubresource);
295211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class4.set_indent(m_indent + 4);
295311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class4.display_full_txt();
295411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
295511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
295611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
295711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
295811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkimagecreateinfo_struct_wrapper class definition
295911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagecreateinfo_struct_wrapper::vkimagecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
296011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagecreateinfo_struct_wrapper::vkimagecreateinfo_struct_wrapper(VkImageCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
296111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
296211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
296311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
296411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
296511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagecreateinfo_struct_wrapper::vkimagecreateinfo_struct_wrapper(const VkImageCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
296611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
296711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
296811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
296911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
297011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagecreateinfo_struct_wrapper::~vkimagecreateinfo_struct_wrapper() {}
297111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
297211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagecreateinfo_struct_wrapper::display_single_txt()
297311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
297411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkImageCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
297511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
297611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
297711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
297811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagecreateinfo_struct_wrapper::display_struct_members()
297911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
298011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
298111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
298211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
298311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageType = %s\n", m_indent, "", &m_dummy_prefix, string_VkImageType(m_struct.imageType));
298411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sformat = %s\n", m_indent, "", &m_dummy_prefix, string_VkFormat(m_struct.format));
298511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sextent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.extent));
298611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smipLevels = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.mipLevels));
298711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sarrayLayers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.arrayLayers));
298811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssamples = %s\n", m_indent, "", &m_dummy_prefix, string_VkSampleCountFlagBits(m_struct.samples));
298911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stiling = %s\n", m_indent, "", &m_dummy_prefix, string_VkImageTiling(m_struct.tiling));
299011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %susage = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.usage));
299111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssharingMode = %s\n", m_indent, "", &m_dummy_prefix, string_VkSharingMode(m_struct.sharingMode));
299211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeueFamilyIndexCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.queueFamilyIndexCount));
299311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
299411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<queueFamilyIndexCount; i++) {
299511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spQueueFamilyIndices[%u] = %u\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pQueueFamilyIndices)[i]);
299611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
299711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sinitialLayout = %s\n", m_indent, "", &m_dummy_prefix, string_VkImageLayout(m_struct.initialLayout));
299811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
299911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
300011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
300111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagecreateinfo_struct_wrapper::display_txt()
300211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
300311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
300411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
300511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
300611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
300711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
300811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagecreateinfo_struct_wrapper::display_full_txt()
300911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
301011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
301111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
301211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.extent) {
301311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent3d_struct_wrapper class0(&m_struct.extent);
301411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
301511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
301611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
301711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
301811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
301911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
302011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
302111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
302211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
302311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkimageformatproperties_struct_wrapper class definition
302411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageformatproperties_struct_wrapper::vkimageformatproperties_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
302511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageformatproperties_struct_wrapper::vkimageformatproperties_struct_wrapper(VkImageFormatProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
302611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
302711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
302811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
302911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
303011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageformatproperties_struct_wrapper::vkimageformatproperties_struct_wrapper(const VkImageFormatProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
303111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
303211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
303311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
303411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
303511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageformatproperties_struct_wrapper::~vkimageformatproperties_struct_wrapper() {}
303611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
303711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageformatproperties_struct_wrapper::display_single_txt()
303811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
303911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkImageFormatProperties = 0x%p", m_indent, "", (void*)m_origStructAddr);
304011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
304111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
304211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
304311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageformatproperties_struct_wrapper::display_struct_members()
304411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
304511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxExtent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.maxExtent));
304611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxMipLevels = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxMipLevels));
304711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxArrayLayers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxArrayLayers));
304811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssampleCounts = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.sampleCounts));
304911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxResourceSize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.maxResourceSize));
305011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
305111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
305211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
305311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageformatproperties_struct_wrapper::display_txt()
305411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
305511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageFormatProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
305611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
305711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
305811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
305911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
306011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageformatproperties_struct_wrapper::display_full_txt()
306111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
306211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageFormatProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
306311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
306411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.maxExtent) {
306511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent3d_struct_wrapper class0(&m_struct.maxExtent);
306611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
306711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
306811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
306911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
307011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
307111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
307211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkimagememorybarrier_struct_wrapper class definition
307311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagememorybarrier_struct_wrapper::vkimagememorybarrier_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
307411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagememorybarrier_struct_wrapper::vkimagememorybarrier_struct_wrapper(VkImageMemoryBarrier* pInStruct) : m_indent(0), m_dummy_prefix('\0')
307511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
307611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
307711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
307811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
307911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagememorybarrier_struct_wrapper::vkimagememorybarrier_struct_wrapper(const VkImageMemoryBarrier* pInStruct) : m_indent(0), m_dummy_prefix('\0')
308011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
308111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
308211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
308311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
308411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagememorybarrier_struct_wrapper::~vkimagememorybarrier_struct_wrapper() {}
308511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
308611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagememorybarrier_struct_wrapper::display_single_txt()
308711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
308811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkImageMemoryBarrier = 0x%p", m_indent, "", (void*)m_origStructAddr);
308911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
309011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
309111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
309211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagememorybarrier_struct_wrapper::display_struct_members()
309311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
309411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
309511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
309611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcAccessMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.srcAccessMask));
309711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstAccessMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstAccessMask));
309811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soldLayout = %s\n", m_indent, "", &m_dummy_prefix, string_VkImageLayout(m_struct.oldLayout));
309911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %snewLayout = %s\n", m_indent, "", &m_dummy_prefix, string_VkImageLayout(m_struct.newLayout));
310011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcQueueFamilyIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.srcQueueFamilyIndex));
310111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstQueueFamilyIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstQueueFamilyIndex));
310211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simage = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.image));
310311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssubresourceRange = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.subresourceRange));
310411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
310511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
310611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
310711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagememorybarrier_struct_wrapper::display_txt()
310811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
310911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageMemoryBarrier struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
311011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
311111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
311211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
311311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
311411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagememorybarrier_struct_wrapper::display_full_txt()
311511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
311611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageMemoryBarrier struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
311711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
311811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.subresourceRange) {
311911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkimagesubresourcerange_struct_wrapper class0(&m_struct.subresourceRange);
312011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
312111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
312211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
312311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
312411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
312511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
312611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
312711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
312811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
312911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkimageresolve_struct_wrapper class definition
313011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageresolve_struct_wrapper::vkimageresolve_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
313111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageresolve_struct_wrapper::vkimageresolve_struct_wrapper(VkImageResolve* pInStruct) : m_indent(0), m_dummy_prefix('\0')
313211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
313311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
313411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
313511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
313611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageresolve_struct_wrapper::vkimageresolve_struct_wrapper(const VkImageResolve* pInStruct) : m_indent(0), m_dummy_prefix('\0')
313711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
313811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
313911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
314011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
314111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageresolve_struct_wrapper::~vkimageresolve_struct_wrapper() {}
314211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
314311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageresolve_struct_wrapper::display_single_txt()
314411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
314511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkImageResolve = 0x%p", m_indent, "", (void*)m_origStructAddr);
314611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
314711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
314811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
314911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageresolve_struct_wrapper::display_struct_members()
315011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
315111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcSubresource = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.srcSubresource));
315211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcOffset = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.srcOffset));
315311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstSubresource = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.dstSubresource));
315411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstOffset = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.dstOffset));
315511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sextent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.extent));
315611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
315711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
315811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
315911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageresolve_struct_wrapper::display_txt()
316011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
316111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageResolve struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
316211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
316311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
316411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
316511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
316611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageresolve_struct_wrapper::display_full_txt()
316711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
316811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageResolve struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
316911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
317011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.extent) {
317111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent3d_struct_wrapper class0(&m_struct.extent);
317211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
317311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
317411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
317511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.dstOffset) {
317611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkoffset3d_struct_wrapper class1(&m_struct.dstOffset);
317711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
317811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
317911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
318011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.dstSubresource) {
318111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkimagesubresourcelayers_struct_wrapper class2(&m_struct.dstSubresource);
318211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.set_indent(m_indent + 4);
318311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.display_full_txt();
318411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
318511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.srcOffset) {
318611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkoffset3d_struct_wrapper class3(&m_struct.srcOffset);
318711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class3.set_indent(m_indent + 4);
318811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class3.display_full_txt();
318911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
319011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.srcSubresource) {
319111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkimagesubresourcelayers_struct_wrapper class4(&m_struct.srcSubresource);
319211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class4.set_indent(m_indent + 4);
319311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class4.display_full_txt();
319411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
319511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
319611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
319711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
319811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkimagesubresource_struct_wrapper class definition
319911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresource_struct_wrapper::vkimagesubresource_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
320011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresource_struct_wrapper::vkimagesubresource_struct_wrapper(VkImageSubresource* pInStruct) : m_indent(0), m_dummy_prefix('\0')
320111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
320211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
320311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
320411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
320511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresource_struct_wrapper::vkimagesubresource_struct_wrapper(const VkImageSubresource* pInStruct) : m_indent(0), m_dummy_prefix('\0')
320611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
320711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
320811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
320911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
321011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresource_struct_wrapper::~vkimagesubresource_struct_wrapper() {}
321111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
321211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresource_struct_wrapper::display_single_txt()
321311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
321411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkImageSubresource = 0x%p", m_indent, "", (void*)m_origStructAddr);
321511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
321611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
321711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
321811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresource_struct_wrapper::display_struct_members()
321911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
322011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %saspectMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.aspectMask));
322111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smipLevel = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.mipLevel));
322211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sarrayLayer = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.arrayLayer));
322311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
322411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
322511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
322611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresource_struct_wrapper::display_txt()
322711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
322811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageSubresource struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
322911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
323011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
323111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
323211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
323311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresource_struct_wrapper::display_full_txt()
323411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
323511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageSubresource struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
323611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
323711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
323811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
323911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
324011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkimagesubresourcelayers_struct_wrapper class definition
324111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresourcelayers_struct_wrapper::vkimagesubresourcelayers_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
324211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresourcelayers_struct_wrapper::vkimagesubresourcelayers_struct_wrapper(VkImageSubresourceLayers* pInStruct) : m_indent(0), m_dummy_prefix('\0')
324311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
324411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
324511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
324611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
324711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresourcelayers_struct_wrapper::vkimagesubresourcelayers_struct_wrapper(const VkImageSubresourceLayers* pInStruct) : m_indent(0), m_dummy_prefix('\0')
324811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
324911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
325011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
325111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
325211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresourcelayers_struct_wrapper::~vkimagesubresourcelayers_struct_wrapper() {}
325311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
325411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresourcelayers_struct_wrapper::display_single_txt()
325511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
325611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkImageSubresourceLayers = 0x%p", m_indent, "", (void*)m_origStructAddr);
325711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
325811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
325911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
326011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresourcelayers_struct_wrapper::display_struct_members()
326111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
326211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %saspectMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.aspectMask));
326311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smipLevel = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.mipLevel));
326411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbaseArrayLayer = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.baseArrayLayer));
326511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slayerCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.layerCount));
326611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
326711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
326811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
326911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresourcelayers_struct_wrapper::display_txt()
327011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
327111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageSubresourceLayers struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
327211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
327311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
327411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
327511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
327611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresourcelayers_struct_wrapper::display_full_txt()
327711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
327811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageSubresourceLayers struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
327911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
328011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
328111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
328211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
328311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkimagesubresourcerange_struct_wrapper class definition
328411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresourcerange_struct_wrapper::vkimagesubresourcerange_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
328511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresourcerange_struct_wrapper::vkimagesubresourcerange_struct_wrapper(VkImageSubresourceRange* pInStruct) : m_indent(0), m_dummy_prefix('\0')
328611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
328711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
328811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
328911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
329011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresourcerange_struct_wrapper::vkimagesubresourcerange_struct_wrapper(const VkImageSubresourceRange* pInStruct) : m_indent(0), m_dummy_prefix('\0')
329111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
329211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
329311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
329411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
329511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimagesubresourcerange_struct_wrapper::~vkimagesubresourcerange_struct_wrapper() {}
329611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
329711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresourcerange_struct_wrapper::display_single_txt()
329811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
329911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkImageSubresourceRange = 0x%p", m_indent, "", (void*)m_origStructAddr);
330011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
330111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
330211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
330311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresourcerange_struct_wrapper::display_struct_members()
330411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
330511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %saspectMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.aspectMask));
330611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbaseMipLevel = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.baseMipLevel));
330711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slevelCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.levelCount));
330811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbaseArrayLayer = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.baseArrayLayer));
330911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slayerCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.layerCount));
331011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
331111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
331211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
331311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresourcerange_struct_wrapper::display_txt()
331411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
331511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageSubresourceRange struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
331611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
331711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
331811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
331911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
332011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimagesubresourcerange_struct_wrapper::display_full_txt()
332111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
332211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageSubresourceRange struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
332311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
332411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
332511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
332611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
332711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkimageviewcreateinfo_struct_wrapper class definition
332811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageviewcreateinfo_struct_wrapper::vkimageviewcreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
332911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageviewcreateinfo_struct_wrapper::vkimageviewcreateinfo_struct_wrapper(VkImageViewCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
333011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
333111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
333211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
333311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
333411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageviewcreateinfo_struct_wrapper::vkimageviewcreateinfo_struct_wrapper(const VkImageViewCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
333511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
333611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
333711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
333811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
333911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkimageviewcreateinfo_struct_wrapper::~vkimageviewcreateinfo_struct_wrapper() {}
334011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
334111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageviewcreateinfo_struct_wrapper::display_single_txt()
334211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
334311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkImageViewCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
334411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
334511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
334611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
334711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageviewcreateinfo_struct_wrapper::display_struct_members()
334811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
334911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
335011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
335111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
335211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simage = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.image));
335311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sviewType = %s\n", m_indent, "", &m_dummy_prefix, string_VkImageViewType(m_struct.viewType));
335411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sformat = %s\n", m_indent, "", &m_dummy_prefix, string_VkFormat(m_struct.format));
335511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scomponents = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.components));
335611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssubresourceRange = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.subresourceRange));
335711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
335811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
335911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
336011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageviewcreateinfo_struct_wrapper::display_txt()
336111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
336211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageViewCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
336311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
336411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
336511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
336611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
336711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkimageviewcreateinfo_struct_wrapper::display_full_txt()
336811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
336911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkImageViewCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
337011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
337111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.subresourceRange) {
337211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkimagesubresourcerange_struct_wrapper class0(&m_struct.subresourceRange);
337311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
337411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
337511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
337611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.components) {
337711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkcomponentmapping_struct_wrapper class1(&m_struct.components);
337811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
337911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
338011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
338111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
338211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
338311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
338411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
338511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
338611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
338711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkinstancecreateinfo_struct_wrapper class definition
338811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkinstancecreateinfo_struct_wrapper::vkinstancecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
338911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkinstancecreateinfo_struct_wrapper::vkinstancecreateinfo_struct_wrapper(VkInstanceCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
339011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
339111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
339211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
339311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
339411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkinstancecreateinfo_struct_wrapper::vkinstancecreateinfo_struct_wrapper(const VkInstanceCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
339511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
339611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
339711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
339811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
339911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkinstancecreateinfo_struct_wrapper::~vkinstancecreateinfo_struct_wrapper() {}
340011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
340111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkinstancecreateinfo_struct_wrapper::display_single_txt()
340211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
340311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkInstanceCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
340411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
340511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
340611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
340711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkinstancecreateinfo_struct_wrapper::display_struct_members()
340811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
340911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
341011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
341111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
341211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spApplicationInfo = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pApplicationInfo));
341311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %senabledLayerCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.enabledLayerCount));
341411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
341511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<enabledLayerCount; i++) {
341611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sppEnabledLayerNames = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.ppEnabledLayerNames)[0]);
341711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
341811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %senabledExtensionCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.enabledExtensionCount));
341911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<enabledExtensionCount; i++) {
342011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sppEnabledExtensionNames = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.ppEnabledExtensionNames)[0]);
342111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
342211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
342311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
342411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
342511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkinstancecreateinfo_struct_wrapper::display_txt()
342611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
342711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkInstanceCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
342811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
342911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
343011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
343111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
343211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkinstancecreateinfo_struct_wrapper::display_full_txt()
343311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
343411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkInstanceCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
343511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
343611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pApplicationInfo) {
343711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkapplicationinfo_struct_wrapper class0(m_struct.pApplicationInfo);
343811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
343911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
344011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
344111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
344211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
344311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
344411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
344511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
344611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
344711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vklayerproperties_struct_wrapper class definition
344811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvklayerproperties_struct_wrapper::vklayerproperties_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
344911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvklayerproperties_struct_wrapper::vklayerproperties_struct_wrapper(VkLayerProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
345011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
345111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
345211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
345311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
345411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvklayerproperties_struct_wrapper::vklayerproperties_struct_wrapper(const VkLayerProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
345511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
345611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
345711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
345811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
345911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvklayerproperties_struct_wrapper::~vklayerproperties_struct_wrapper() {}
346011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
346111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vklayerproperties_struct_wrapper::display_single_txt()
346211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
346311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkLayerProperties = 0x%p", m_indent, "", (void*)m_origStructAddr);
346411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
346511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
346611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
346711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vklayerproperties_struct_wrapper::display_struct_members()
346811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
346911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
347011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<VK_MAX_EXTENSION_NAME_SIZE; i++) {
347111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %slayerName = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.layerName));
347211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
347311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sspecVersion = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.specVersion));
347411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simplementationVersion = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.implementationVersion));
347511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<VK_MAX_DESCRIPTION_SIZE; i++) {
347611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sdescription = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.description));
347711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
347811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
347911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
348011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
348111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vklayerproperties_struct_wrapper::display_txt()
348211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
348311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkLayerProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
348411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
348511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
348611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
348711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
348811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vklayerproperties_struct_wrapper::display_full_txt()
348911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
349011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkLayerProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
349111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
349211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
349311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
349411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
349511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkmappedmemoryrange_struct_wrapper class definition
349611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmappedmemoryrange_struct_wrapper::vkmappedmemoryrange_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
349711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmappedmemoryrange_struct_wrapper::vkmappedmemoryrange_struct_wrapper(VkMappedMemoryRange* pInStruct) : m_indent(0), m_dummy_prefix('\0')
349811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
349911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
350011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
350111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
350211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmappedmemoryrange_struct_wrapper::vkmappedmemoryrange_struct_wrapper(const VkMappedMemoryRange* pInStruct) : m_indent(0), m_dummy_prefix('\0')
350311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
350411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
350511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
350611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
350711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmappedmemoryrange_struct_wrapper::~vkmappedmemoryrange_struct_wrapper() {}
350811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
350911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmappedmemoryrange_struct_wrapper::display_single_txt()
351011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
351111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkMappedMemoryRange = 0x%p", m_indent, "", (void*)m_origStructAddr);
351211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
351311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
351411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
351511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmappedmemoryrange_struct_wrapper::display_struct_members()
351611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
351711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
351811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
351911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smemory = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.memory));
352011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.offset));
352111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.size));
352211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
352311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
352411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
352511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmappedmemoryrange_struct_wrapper::display_txt()
352611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
352711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMappedMemoryRange struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
352811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
352911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
353011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
353111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
353211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmappedmemoryrange_struct_wrapper::display_full_txt()
353311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
353411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMappedMemoryRange struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
353511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
353611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
353711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
353811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
353911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
354011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
354111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
354211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkmemoryallocateinfo_struct_wrapper class definition
354311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryallocateinfo_struct_wrapper::vkmemoryallocateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
354411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryallocateinfo_struct_wrapper::vkmemoryallocateinfo_struct_wrapper(VkMemoryAllocateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
354511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
354611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
354711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
354811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
354911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryallocateinfo_struct_wrapper::vkmemoryallocateinfo_struct_wrapper(const VkMemoryAllocateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
355011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
355111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
355211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
355311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
355411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryallocateinfo_struct_wrapper::~vkmemoryallocateinfo_struct_wrapper() {}
355511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
355611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryallocateinfo_struct_wrapper::display_single_txt()
355711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
355811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkMemoryAllocateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
355911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
356011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
356111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
356211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryallocateinfo_struct_wrapper::display_struct_members()
356311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
356411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
356511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
356611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sallocationSize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.allocationSize));
356711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smemoryTypeIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.memoryTypeIndex));
356811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
356911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
357011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
357111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryallocateinfo_struct_wrapper::display_txt()
357211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
357311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMemoryAllocateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
357411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
357511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
357611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
357711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
357811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryallocateinfo_struct_wrapper::display_full_txt()
357911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
358011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMemoryAllocateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
358111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
358211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
358311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
358411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
358511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
358611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
358711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
358811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkmemorybarrier_struct_wrapper class definition
358911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemorybarrier_struct_wrapper::vkmemorybarrier_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
359011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemorybarrier_struct_wrapper::vkmemorybarrier_struct_wrapper(VkMemoryBarrier* pInStruct) : m_indent(0), m_dummy_prefix('\0')
359111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
359211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
359311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
359411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
359511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemorybarrier_struct_wrapper::vkmemorybarrier_struct_wrapper(const VkMemoryBarrier* pInStruct) : m_indent(0), m_dummy_prefix('\0')
359611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
359711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
359811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
359911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
360011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemorybarrier_struct_wrapper::~vkmemorybarrier_struct_wrapper() {}
360111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
360211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemorybarrier_struct_wrapper::display_single_txt()
360311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
360411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkMemoryBarrier = 0x%p", m_indent, "", (void*)m_origStructAddr);
360511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
360611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
360711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
360811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemorybarrier_struct_wrapper::display_struct_members()
360911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
361011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
361111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
361211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcAccessMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.srcAccessMask));
361311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstAccessMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstAccessMask));
361411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
361511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
361611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
361711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemorybarrier_struct_wrapper::display_txt()
361811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
361911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMemoryBarrier struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
362011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
362111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
362211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
362311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
362411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemorybarrier_struct_wrapper::display_full_txt()
362511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
362611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMemoryBarrier struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
362711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
362811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
362911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
363011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
363111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
363211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
363311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
363411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkmemoryheap_struct_wrapper class definition
363511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryheap_struct_wrapper::vkmemoryheap_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
363611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryheap_struct_wrapper::vkmemoryheap_struct_wrapper(VkMemoryHeap* pInStruct) : m_indent(0), m_dummy_prefix('\0')
363711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
363811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
363911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
364011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
364111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryheap_struct_wrapper::vkmemoryheap_struct_wrapper(const VkMemoryHeap* pInStruct) : m_indent(0), m_dummy_prefix('\0')
364211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
364311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
364411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
364511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
364611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryheap_struct_wrapper::~vkmemoryheap_struct_wrapper() {}
364711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
364811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryheap_struct_wrapper::display_single_txt()
364911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
365011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkMemoryHeap = 0x%p", m_indent, "", (void*)m_origStructAddr);
365111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
365211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
365311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
365411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryheap_struct_wrapper::display_struct_members()
365511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
365611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.size));
365711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
365811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
365911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
366011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
366111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryheap_struct_wrapper::display_txt()
366211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
366311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMemoryHeap struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
366411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
366511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
366611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
366711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
366811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryheap_struct_wrapper::display_full_txt()
366911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
367011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMemoryHeap struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
367111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
367211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
367311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
367411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
367511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkmemoryrequirements_struct_wrapper class definition
367611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryrequirements_struct_wrapper::vkmemoryrequirements_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
367711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryrequirements_struct_wrapper::vkmemoryrequirements_struct_wrapper(VkMemoryRequirements* pInStruct) : m_indent(0), m_dummy_prefix('\0')
367811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
367911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
368011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
368111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
368211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryrequirements_struct_wrapper::vkmemoryrequirements_struct_wrapper(const VkMemoryRequirements* pInStruct) : m_indent(0), m_dummy_prefix('\0')
368311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
368411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
368511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
368611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
368711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemoryrequirements_struct_wrapper::~vkmemoryrequirements_struct_wrapper() {}
368811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
368911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryrequirements_struct_wrapper::display_single_txt()
369011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
369111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkMemoryRequirements = 0x%p", m_indent, "", (void*)m_origStructAddr);
369211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
369311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
369411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
369511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryrequirements_struct_wrapper::display_struct_members()
369611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
369711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.size));
369811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %salignment = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.alignment));
369911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smemoryTypeBits = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.memoryTypeBits));
370011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
370111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
370211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
370311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryrequirements_struct_wrapper::display_txt()
370411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
370511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMemoryRequirements struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
370611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
370711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
370811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
370911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
371011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemoryrequirements_struct_wrapper::display_full_txt()
371111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
371211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMemoryRequirements struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
371311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
371411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
371511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
371611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
371711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkmemorytype_struct_wrapper class definition
371811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemorytype_struct_wrapper::vkmemorytype_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
371911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemorytype_struct_wrapper::vkmemorytype_struct_wrapper(VkMemoryType* pInStruct) : m_indent(0), m_dummy_prefix('\0')
372011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
372111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
372211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
372311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
372411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemorytype_struct_wrapper::vkmemorytype_struct_wrapper(const VkMemoryType* pInStruct) : m_indent(0), m_dummy_prefix('\0')
372511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
372611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
372711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
372811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
372911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmemorytype_struct_wrapper::~vkmemorytype_struct_wrapper() {}
373011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
373111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemorytype_struct_wrapper::display_single_txt()
373211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
373311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkMemoryType = 0x%p", m_indent, "", (void*)m_origStructAddr);
373411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
373511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
373611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
373711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemorytype_struct_wrapper::display_struct_members()
373811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
373911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spropertyFlags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.propertyFlags));
374011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sheapIndex = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.heapIndex));
374111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
374211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
374311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
374411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemorytype_struct_wrapper::display_txt()
374511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
374611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMemoryType struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
374711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
374811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
374911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
375011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
375111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmemorytype_struct_wrapper::display_full_txt()
375211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
375311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMemoryType struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
375411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
375511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
375611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
375711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
375811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkmirsurfacecreateinfokhr_struct_wrapper class definition
375911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmirsurfacecreateinfokhr_struct_wrapper::vkmirsurfacecreateinfokhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
376011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmirsurfacecreateinfokhr_struct_wrapper::vkmirsurfacecreateinfokhr_struct_wrapper(VkMirSurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
376111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
376211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
376311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
376411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
376511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmirsurfacecreateinfokhr_struct_wrapper::vkmirsurfacecreateinfokhr_struct_wrapper(const VkMirSurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
376611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
376711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
376811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
376911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
377011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkmirsurfacecreateinfokhr_struct_wrapper::~vkmirsurfacecreateinfokhr_struct_wrapper() {}
377111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
377211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmirsurfacecreateinfokhr_struct_wrapper::display_single_txt()
377311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
377411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkMirSurfaceCreateInfoKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
377511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
377611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
377711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
377811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmirsurfacecreateinfokhr_struct_wrapper::display_struct_members()
377911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
378011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
378111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
378211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
378311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sconnection = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.connection));
378411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smirSurface = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.mirSurface));
378511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
378611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
378711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
378811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmirsurfacecreateinfokhr_struct_wrapper::display_txt()
378911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
379011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMirSurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
379111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
379211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
379311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
379411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
379511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkmirsurfacecreateinfokhr_struct_wrapper::display_full_txt()
379611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
379711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkMirSurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
379811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
379911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
380011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
380111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
380211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
380311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
380411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
380511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkoffset2d_struct_wrapper class definition
380611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkoffset2d_struct_wrapper::vkoffset2d_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
380711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkoffset2d_struct_wrapper::vkoffset2d_struct_wrapper(VkOffset2D* pInStruct) : m_indent(0), m_dummy_prefix('\0')
380811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
380911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
381011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
381111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
381211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkoffset2d_struct_wrapper::vkoffset2d_struct_wrapper(const VkOffset2D* pInStruct) : m_indent(0), m_dummy_prefix('\0')
381311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
381411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
381511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
381611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
381711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkoffset2d_struct_wrapper::~vkoffset2d_struct_wrapper() {}
381811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
381911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkoffset2d_struct_wrapper::display_single_txt()
382011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
382111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkOffset2D = 0x%p", m_indent, "", (void*)m_origStructAddr);
382211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
382311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
382411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
382511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkoffset2d_struct_wrapper::display_struct_members()
382611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
382711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sx = %i\n", m_indent, "", &m_dummy_prefix, (m_struct.x));
382811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sy = %i\n", m_indent, "", &m_dummy_prefix, (m_struct.y));
382911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
383011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
383111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
383211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkoffset2d_struct_wrapper::display_txt()
383311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
383411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkOffset2D struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
383511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
383611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
383711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
383811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
383911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkoffset2d_struct_wrapper::display_full_txt()
384011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
384111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkOffset2D struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
384211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
384311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
384411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
384511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
384611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkoffset3d_struct_wrapper class definition
384711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkoffset3d_struct_wrapper::vkoffset3d_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
384811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkoffset3d_struct_wrapper::vkoffset3d_struct_wrapper(VkOffset3D* pInStruct) : m_indent(0), m_dummy_prefix('\0')
384911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
385011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
385111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
385211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
385311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkoffset3d_struct_wrapper::vkoffset3d_struct_wrapper(const VkOffset3D* pInStruct) : m_indent(0), m_dummy_prefix('\0')
385411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
385511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
385611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
385711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
385811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkoffset3d_struct_wrapper::~vkoffset3d_struct_wrapper() {}
385911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
386011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkoffset3d_struct_wrapper::display_single_txt()
386111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
386211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkOffset3D = 0x%p", m_indent, "", (void*)m_origStructAddr);
386311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
386411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
386511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
386611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkoffset3d_struct_wrapper::display_struct_members()
386711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
386811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sx = %i\n", m_indent, "", &m_dummy_prefix, (m_struct.x));
386911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sy = %i\n", m_indent, "", &m_dummy_prefix, (m_struct.y));
387011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sz = %i\n", m_indent, "", &m_dummy_prefix, (m_struct.z));
387111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
387211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
387311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
387411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkoffset3d_struct_wrapper::display_txt()
387511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
387611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkOffset3D struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
387711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
387811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
387911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
388011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
388111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkoffset3d_struct_wrapper::display_full_txt()
388211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
388311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkOffset3D struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
388411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
388511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
388611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
388711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
388811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkphysicaldevicefeatures_struct_wrapper class definition
388911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicefeatures_struct_wrapper::vkphysicaldevicefeatures_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
389011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicefeatures_struct_wrapper::vkphysicaldevicefeatures_struct_wrapper(VkPhysicalDeviceFeatures* pInStruct) : m_indent(0), m_dummy_prefix('\0')
389111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
389211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
389311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
389411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
389511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicefeatures_struct_wrapper::vkphysicaldevicefeatures_struct_wrapper(const VkPhysicalDeviceFeatures* pInStruct) : m_indent(0), m_dummy_prefix('\0')
389611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
389711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
389811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
389911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
390011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicefeatures_struct_wrapper::~vkphysicaldevicefeatures_struct_wrapper() {}
390111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
390211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicefeatures_struct_wrapper::display_single_txt()
390311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
390411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPhysicalDeviceFeatures = 0x%p", m_indent, "", (void*)m_origStructAddr);
390511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
390611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
390711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
390811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicefeatures_struct_wrapper::display_struct_members()
390911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
391011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srobustBufferAccess = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.robustBufferAccess) ? "TRUE" : "FALSE");
391111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sfullDrawIndexUint32 = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.fullDrawIndexUint32) ? "TRUE" : "FALSE");
391211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageCubeArray = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.imageCubeArray) ? "TRUE" : "FALSE");
391311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sindependentBlend = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.independentBlend) ? "TRUE" : "FALSE");
391411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sgeometryShader = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.geometryShader) ? "TRUE" : "FALSE");
391511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stessellationShader = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.tessellationShader) ? "TRUE" : "FALSE");
391611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssampleRateShading = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.sampleRateShading) ? "TRUE" : "FALSE");
391711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdualSrcBlend = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.dualSrcBlend) ? "TRUE" : "FALSE");
391811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slogicOp = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.logicOp) ? "TRUE" : "FALSE");
391911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smultiDrawIndirect = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.multiDrawIndirect) ? "TRUE" : "FALSE");
392011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdrawIndirectFirstInstance = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.drawIndirectFirstInstance) ? "TRUE" : "FALSE");
392111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthClamp = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.depthClamp) ? "TRUE" : "FALSE");
392211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthBiasClamp = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.depthBiasClamp) ? "TRUE" : "FALSE");
392311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sfillModeNonSolid = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.fillModeNonSolid) ? "TRUE" : "FALSE");
392411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthBounds = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.depthBounds) ? "TRUE" : "FALSE");
392511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swideLines = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.wideLines) ? "TRUE" : "FALSE");
392611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slargePoints = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.largePoints) ? "TRUE" : "FALSE");
392711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %salphaToOne = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.alphaToOne) ? "TRUE" : "FALSE");
392811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smultiViewport = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.multiViewport) ? "TRUE" : "FALSE");
392911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssamplerAnisotropy = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.samplerAnisotropy) ? "TRUE" : "FALSE");
393011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stextureCompressionETC2 = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.textureCompressionETC2) ? "TRUE" : "FALSE");
393111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stextureCompressionASTC_LDR = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.textureCompressionASTC_LDR) ? "TRUE" : "FALSE");
393211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stextureCompressionBC = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.textureCompressionBC) ? "TRUE" : "FALSE");
393311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %socclusionQueryPrecise = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.occlusionQueryPrecise) ? "TRUE" : "FALSE");
393411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spipelineStatisticsQuery = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.pipelineStatisticsQuery) ? "TRUE" : "FALSE");
393511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %svertexPipelineStoresAndAtomics = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.vertexPipelineStoresAndAtomics) ? "TRUE" : "FALSE");
393611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sfragmentStoresAndAtomics = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.fragmentStoresAndAtomics) ? "TRUE" : "FALSE");
393711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderTessellationAndGeometryPointSize = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderTessellationAndGeometryPointSize) ? "TRUE" : "FALSE");
393811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderImageGatherExtended = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderImageGatherExtended) ? "TRUE" : "FALSE");
393911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderStorageImageExtendedFormats = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderStorageImageExtendedFormats) ? "TRUE" : "FALSE");
394011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderStorageImageMultisample = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderStorageImageMultisample) ? "TRUE" : "FALSE");
394111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderStorageImageReadWithoutFormat = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderStorageImageReadWithoutFormat) ? "TRUE" : "FALSE");
394211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderStorageImageWriteWithoutFormat = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderStorageImageWriteWithoutFormat) ? "TRUE" : "FALSE");
394311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderUniformBufferArrayDynamicIndexing = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderUniformBufferArrayDynamicIndexing) ? "TRUE" : "FALSE");
394411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderSampledImageArrayDynamicIndexing = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderSampledImageArrayDynamicIndexing) ? "TRUE" : "FALSE");
394511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderStorageBufferArrayDynamicIndexing = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderStorageBufferArrayDynamicIndexing) ? "TRUE" : "FALSE");
394611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderStorageImageArrayDynamicIndexing = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderStorageImageArrayDynamicIndexing) ? "TRUE" : "FALSE");
394711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderClipDistance = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderClipDistance) ? "TRUE" : "FALSE");
394811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderCullDistance = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderCullDistance) ? "TRUE" : "FALSE");
394911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderFloat64 = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderFloat64) ? "TRUE" : "FALSE");
395011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderInt64 = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderInt64) ? "TRUE" : "FALSE");
395111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderInt16 = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderInt16) ? "TRUE" : "FALSE");
395211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderResourceResidency = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderResourceResidency) ? "TRUE" : "FALSE");
395311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sshaderResourceMinLod = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.shaderResourceMinLod) ? "TRUE" : "FALSE");
395411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssparseBinding = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.sparseBinding) ? "TRUE" : "FALSE");
395511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssparseResidencyBuffer = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.sparseResidencyBuffer) ? "TRUE" : "FALSE");
395611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssparseResidencyImage2D = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.sparseResidencyImage2D) ? "TRUE" : "FALSE");
395711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssparseResidencyImage3D = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.sparseResidencyImage3D) ? "TRUE" : "FALSE");
395811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssparseResidency2Samples = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.sparseResidency2Samples) ? "TRUE" : "FALSE");
395911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssparseResidency4Samples = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.sparseResidency4Samples) ? "TRUE" : "FALSE");
396011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssparseResidency8Samples = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.sparseResidency8Samples) ? "TRUE" : "FALSE");
396111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssparseResidency16Samples = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.sparseResidency16Samples) ? "TRUE" : "FALSE");
396211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssparseResidencyAliased = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.sparseResidencyAliased) ? "TRUE" : "FALSE");
396311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %svariableMultisampleRate = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.variableMultisampleRate) ? "TRUE" : "FALSE");
396411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sinheritedQueries = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.inheritedQueries) ? "TRUE" : "FALSE");
396511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
396611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
396711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
396811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicefeatures_struct_wrapper::display_txt()
396911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
397011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPhysicalDeviceFeatures struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
397111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
397211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
397311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
397411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
397511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicefeatures_struct_wrapper::display_full_txt()
397611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
397711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPhysicalDeviceFeatures struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
397811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
397911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
398011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
398111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
398211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkphysicaldevicelimits_struct_wrapper class definition
398311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicelimits_struct_wrapper::vkphysicaldevicelimits_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
398411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicelimits_struct_wrapper::vkphysicaldevicelimits_struct_wrapper(VkPhysicalDeviceLimits* pInStruct) : m_indent(0), m_dummy_prefix('\0')
398511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
398611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
398711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
398811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
398911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicelimits_struct_wrapper::vkphysicaldevicelimits_struct_wrapper(const VkPhysicalDeviceLimits* pInStruct) : m_indent(0), m_dummy_prefix('\0')
399011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
399111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
399211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
399311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
399411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicelimits_struct_wrapper::~vkphysicaldevicelimits_struct_wrapper() {}
399511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
399611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicelimits_struct_wrapper::display_single_txt()
399711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
399811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPhysicalDeviceLimits = 0x%p", m_indent, "", (void*)m_origStructAddr);
399911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
400011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
400111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
400211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicelimits_struct_wrapper::display_struct_members()
400311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
400411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxImageDimension1D = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxImageDimension1D));
400511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxImageDimension2D = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxImageDimension2D));
400611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxImageDimension3D = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxImageDimension3D));
400711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxImageDimensionCube = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxImageDimensionCube));
400811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxImageArrayLayers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxImageArrayLayers));
400911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxTexelBufferElements = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxTexelBufferElements));
401011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxUniformBufferRange = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxUniformBufferRange));
401111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxStorageBufferRange = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxStorageBufferRange));
401211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxPushConstantsSize = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxPushConstantsSize));
401311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxMemoryAllocationCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxMemoryAllocationCount));
401411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxSamplerAllocationCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxSamplerAllocationCount));
401511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbufferImageGranularity = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.bufferImageGranularity));
401611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssparseAddressSpaceSize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.sparseAddressSpaceSize));
401711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxBoundDescriptorSets = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxBoundDescriptorSets));
401811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxPerStageDescriptorSamplers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxPerStageDescriptorSamplers));
401911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxPerStageDescriptorUniformBuffers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxPerStageDescriptorUniformBuffers));
402011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxPerStageDescriptorStorageBuffers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxPerStageDescriptorStorageBuffers));
402111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxPerStageDescriptorSampledImages = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxPerStageDescriptorSampledImages));
402211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxPerStageDescriptorStorageImages = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxPerStageDescriptorStorageImages));
402311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxPerStageDescriptorInputAttachments = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxPerStageDescriptorInputAttachments));
402411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxPerStageResources = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxPerStageResources));
402511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDescriptorSetSamplers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDescriptorSetSamplers));
402611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDescriptorSetUniformBuffers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDescriptorSetUniformBuffers));
402711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDescriptorSetUniformBuffersDynamic = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDescriptorSetUniformBuffersDynamic));
402811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDescriptorSetStorageBuffers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDescriptorSetStorageBuffers));
402911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDescriptorSetStorageBuffersDynamic = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDescriptorSetStorageBuffersDynamic));
403011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDescriptorSetSampledImages = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDescriptorSetSampledImages));
403111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDescriptorSetStorageImages = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDescriptorSetStorageImages));
403211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDescriptorSetInputAttachments = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDescriptorSetInputAttachments));
403311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxVertexInputAttributes = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxVertexInputAttributes));
403411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxVertexInputBindings = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxVertexInputBindings));
403511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxVertexInputAttributeOffset = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxVertexInputAttributeOffset));
403611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxVertexInputBindingStride = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxVertexInputBindingStride));
403711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxVertexOutputComponents = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxVertexOutputComponents));
403811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxTessellationGenerationLevel = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxTessellationGenerationLevel));
403911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxTessellationPatchSize = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxTessellationPatchSize));
404011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxTessellationControlPerVertexInputComponents = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxTessellationControlPerVertexInputComponents));
404111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxTessellationControlPerVertexOutputComponents = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxTessellationControlPerVertexOutputComponents));
404211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxTessellationControlPerPatchOutputComponents = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxTessellationControlPerPatchOutputComponents));
404311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxTessellationControlTotalOutputComponents = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxTessellationControlTotalOutputComponents));
404411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxTessellationEvaluationInputComponents = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxTessellationEvaluationInputComponents));
404511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxTessellationEvaluationOutputComponents = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxTessellationEvaluationOutputComponents));
404611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxGeometryShaderInvocations = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxGeometryShaderInvocations));
404711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxGeometryInputComponents = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxGeometryInputComponents));
404811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxGeometryOutputComponents = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxGeometryOutputComponents));
404911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxGeometryOutputVertices = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxGeometryOutputVertices));
405011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxGeometryTotalOutputComponents = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxGeometryTotalOutputComponents));
405111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxFragmentInputComponents = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxFragmentInputComponents));
405211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxFragmentOutputAttachments = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxFragmentOutputAttachments));
405311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxFragmentDualSrcAttachments = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxFragmentDualSrcAttachments));
405411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxFragmentCombinedOutputResources = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxFragmentCombinedOutputResources));
405511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxComputeSharedMemorySize = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxComputeSharedMemorySize));
405611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
405711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<3; i++) {
405811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %smaxComputeWorkGroupCount[%u] = %u\n", m_indent, "", &m_dummy_prefix, i, (m_struct.maxComputeWorkGroupCount)[i]);
405911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
406011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxComputeWorkGroupInvocations = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxComputeWorkGroupInvocations));
406111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<3; i++) {
406211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %smaxComputeWorkGroupSize[%u] = %u\n", m_indent, "", &m_dummy_prefix, i, (m_struct.maxComputeWorkGroupSize)[i]);
406311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
406411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssubPixelPrecisionBits = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.subPixelPrecisionBits));
406511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssubTexelPrecisionBits = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.subTexelPrecisionBits));
406611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smipmapPrecisionBits = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.mipmapPrecisionBits));
406711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDrawIndexedIndexValue = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDrawIndexedIndexValue));
406811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDrawIndirectCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDrawIndirectCount));
406911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxSamplerLodBias = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.maxSamplerLodBias));
407011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxSamplerAnisotropy = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.maxSamplerAnisotropy));
407111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxViewports = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxViewports));
407211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<2; i++) {
407311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %smaxViewportDimensions[%u] = %u\n", m_indent, "", &m_dummy_prefix, i, (m_struct.maxViewportDimensions)[i]);
407411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
407511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<2; i++) {
407611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sviewportBoundsRange[%u] = %f\n", m_indent, "", &m_dummy_prefix, i, (m_struct.viewportBoundsRange)[i]);
407711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
407811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sviewportSubPixelBits = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.viewportSubPixelBits));
407911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminMemoryMapAlignment = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.minMemoryMapAlignment));
408011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminTexelBufferOffsetAlignment = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.minTexelBufferOffsetAlignment));
408111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminUniformBufferOffsetAlignment = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.minUniformBufferOffsetAlignment));
408211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminStorageBufferOffsetAlignment = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.minStorageBufferOffsetAlignment));
408311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminTexelOffset = %i\n", m_indent, "", &m_dummy_prefix, (m_struct.minTexelOffset));
408411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxTexelOffset = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxTexelOffset));
408511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminTexelGatherOffset = %i\n", m_indent, "", &m_dummy_prefix, (m_struct.minTexelGatherOffset));
408611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxTexelGatherOffset = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxTexelGatherOffset));
408711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminInterpolationOffset = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.minInterpolationOffset));
408811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxInterpolationOffset = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.maxInterpolationOffset));
408911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssubPixelInterpolationOffsetBits = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.subPixelInterpolationOffsetBits));
409011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxFramebufferWidth = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxFramebufferWidth));
409111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxFramebufferHeight = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxFramebufferHeight));
409211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxFramebufferLayers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxFramebufferLayers));
409311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sframebufferColorSampleCounts = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.framebufferColorSampleCounts));
409411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sframebufferDepthSampleCounts = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.framebufferDepthSampleCounts));
409511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sframebufferStencilSampleCounts = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.framebufferStencilSampleCounts));
409611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sframebufferNoAttachmentsSampleCounts = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.framebufferNoAttachmentsSampleCounts));
409711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxColorAttachments = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxColorAttachments));
409811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssampledImageColorSampleCounts = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.sampledImageColorSampleCounts));
409911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssampledImageIntegerSampleCounts = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.sampledImageIntegerSampleCounts));
410011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssampledImageDepthSampleCounts = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.sampledImageDepthSampleCounts));
410111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssampledImageStencilSampleCounts = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.sampledImageStencilSampleCounts));
410211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstorageImageSampleCounts = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.storageImageSampleCounts));
410311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxSampleMaskWords = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxSampleMaskWords));
410411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stimestampComputeAndGraphics = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.timestampComputeAndGraphics) ? "TRUE" : "FALSE");
410511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stimestampPeriod = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.timestampPeriod));
410611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxClipDistances = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxClipDistances));
410711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxCullDistances = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxCullDistances));
410811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxCombinedClipAndCullDistances = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxCombinedClipAndCullDistances));
410911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdiscreteQueuePriorities = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.discreteQueuePriorities));
411011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<2; i++) {
411111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spointSizeRange[%u] = %f\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pointSizeRange)[i]);
411211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
411311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<2; i++) {
411411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %slineWidthRange[%u] = %f\n", m_indent, "", &m_dummy_prefix, i, (m_struct.lineWidthRange)[i]);
411511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
411611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spointSizeGranularity = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.pointSizeGranularity));
411711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slineWidthGranularity = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.lineWidthGranularity));
411811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstrictLines = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.strictLines) ? "TRUE" : "FALSE");
411911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstandardSampleLocations = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.standardSampleLocations) ? "TRUE" : "FALSE");
412011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soptimalBufferCopyOffsetAlignment = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.optimalBufferCopyOffsetAlignment));
412111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soptimalBufferCopyRowPitchAlignment = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.optimalBufferCopyRowPitchAlignment));
412211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %snonCoherentAtomSize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.nonCoherentAtomSize));
412311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
412411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
412511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
412611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicelimits_struct_wrapper::display_txt()
412711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
412811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPhysicalDeviceLimits struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
412911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
413011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
413111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
413211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
413311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicelimits_struct_wrapper::display_full_txt()
413411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
413511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPhysicalDeviceLimits struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
413611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
413711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
413811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
413911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
414011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkphysicaldevicememoryproperties_struct_wrapper class definition
414111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicememoryproperties_struct_wrapper::vkphysicaldevicememoryproperties_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
414211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicememoryproperties_struct_wrapper::vkphysicaldevicememoryproperties_struct_wrapper(VkPhysicalDeviceMemoryProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
414311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
414411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
414511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
414611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
414711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicememoryproperties_struct_wrapper::vkphysicaldevicememoryproperties_struct_wrapper(const VkPhysicalDeviceMemoryProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
414811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
414911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
415011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
415111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
415211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicememoryproperties_struct_wrapper::~vkphysicaldevicememoryproperties_struct_wrapper() {}
415311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
415411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicememoryproperties_struct_wrapper::display_single_txt()
415511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
415611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPhysicalDeviceMemoryProperties = 0x%p", m_indent, "", (void*)m_origStructAddr);
415711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
415811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
415911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
416011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicememoryproperties_struct_wrapper::display_struct_members()
416111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
416211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smemoryTypeCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.memoryTypeCount));
416311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
416411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<VK_MAX_MEMORY_TYPES; i++) {
416511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %smemoryTypes[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)&(m_struct.memoryTypes)[i]);
416611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
416711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smemoryHeapCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.memoryHeapCount));
416811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<VK_MAX_MEMORY_HEAPS; i++) {
416911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %smemoryHeaps[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)&(m_struct.memoryHeaps)[i]);
417011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
417111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
417211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
417311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
417411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicememoryproperties_struct_wrapper::display_txt()
417511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
417611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPhysicalDeviceMemoryProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
417711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
417811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
417911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
418011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
418111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicememoryproperties_struct_wrapper::display_full_txt()
418211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
418311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPhysicalDeviceMemoryProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
418411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
418511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
418611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<VK_MAX_MEMORY_HEAPS; i++) {
418711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkmemoryheap_struct_wrapper class0(&(m_struct.memoryHeaps[i]));
418811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
418911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
419011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
419111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<VK_MAX_MEMORY_TYPES; i++) {
419211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkmemorytype_struct_wrapper class1(&(m_struct.memoryTypes[i]));
419311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.set_indent(m_indent + 4);
419411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.display_full_txt();
419511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
419611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
419711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
419811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
419911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkphysicaldeviceproperties_struct_wrapper class definition
420011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldeviceproperties_struct_wrapper::vkphysicaldeviceproperties_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
420111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldeviceproperties_struct_wrapper::vkphysicaldeviceproperties_struct_wrapper(VkPhysicalDeviceProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
420211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
420311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
420411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
420511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
420611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldeviceproperties_struct_wrapper::vkphysicaldeviceproperties_struct_wrapper(const VkPhysicalDeviceProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
420711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
420811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
420911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
421011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
421111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldeviceproperties_struct_wrapper::~vkphysicaldeviceproperties_struct_wrapper() {}
421211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
421311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldeviceproperties_struct_wrapper::display_single_txt()
421411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
421511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPhysicalDeviceProperties = 0x%p", m_indent, "", (void*)m_origStructAddr);
421611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
421711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
421811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
421911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldeviceproperties_struct_wrapper::display_struct_members()
422011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
422111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sapiVersion = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.apiVersion));
422211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdriverVersion = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.driverVersion));
422311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %svendorID = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.vendorID));
422411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdeviceID = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.deviceID));
422511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdeviceType = %s\n", m_indent, "", &m_dummy_prefix, string_VkPhysicalDeviceType(m_struct.deviceType));
422611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
422711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<VK_MAX_PHYSICAL_DEVICE_NAME_SIZE; i++) {
422811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sdeviceName = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.deviceName));
422911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
423011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<VK_UUID_SIZE; i++) {
423111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spipelineCacheUUID[%u] = %hu\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pipelineCacheUUID)[i]);
423211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
423311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slimits = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.limits));
423411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssparseProperties = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.sparseProperties));
423511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
423611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
423711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
423811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldeviceproperties_struct_wrapper::display_txt()
423911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
424011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPhysicalDeviceProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
424111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
424211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
424311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
424411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
424511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldeviceproperties_struct_wrapper::display_full_txt()
424611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
424711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPhysicalDeviceProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
424811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
424911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.sparseProperties) {
425011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkphysicaldevicesparseproperties_struct_wrapper class0(&m_struct.sparseProperties);
425111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
425211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
425311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
425411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.limits) {
425511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkphysicaldevicelimits_struct_wrapper class1(&m_struct.limits);
425611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
425711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
425811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
425911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
426011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
426111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
426211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkphysicaldevicesparseproperties_struct_wrapper class definition
426311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicesparseproperties_struct_wrapper::vkphysicaldevicesparseproperties_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
426411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicesparseproperties_struct_wrapper::vkphysicaldevicesparseproperties_struct_wrapper(VkPhysicalDeviceSparseProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
426511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
426611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
426711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
426811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
426911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicesparseproperties_struct_wrapper::vkphysicaldevicesparseproperties_struct_wrapper(const VkPhysicalDeviceSparseProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
427011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
427111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
427211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
427311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
427411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkphysicaldevicesparseproperties_struct_wrapper::~vkphysicaldevicesparseproperties_struct_wrapper() {}
427511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
427611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicesparseproperties_struct_wrapper::display_single_txt()
427711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
427811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPhysicalDeviceSparseProperties = 0x%p", m_indent, "", (void*)m_origStructAddr);
427911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
428011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
428111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
428211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicesparseproperties_struct_wrapper::display_struct_members()
428311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
428411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sresidencyStandard2DBlockShape = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.residencyStandard2DBlockShape) ? "TRUE" : "FALSE");
428511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sresidencyStandard2DMultisampleBlockShape = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.residencyStandard2DMultisampleBlockShape) ? "TRUE" : "FALSE");
428611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sresidencyStandard3DBlockShape = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.residencyStandard3DBlockShape) ? "TRUE" : "FALSE");
428711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sresidencyAlignedMipSize = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.residencyAlignedMipSize) ? "TRUE" : "FALSE");
428811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sresidencyNonResidentStrict = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.residencyNonResidentStrict) ? "TRUE" : "FALSE");
428911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
429011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
429111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
429211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicesparseproperties_struct_wrapper::display_txt()
429311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
429411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPhysicalDeviceSparseProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
429511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
429611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
429711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
429811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
429911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkphysicaldevicesparseproperties_struct_wrapper::display_full_txt()
430011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
430111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPhysicalDeviceSparseProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
430211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
430311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
430411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
430511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
430611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelinecachecreateinfo_struct_wrapper class definition
430711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecachecreateinfo_struct_wrapper::vkpipelinecachecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
430811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecachecreateinfo_struct_wrapper::vkpipelinecachecreateinfo_struct_wrapper(VkPipelineCacheCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
430911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
431011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
431111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
431211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
431311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecachecreateinfo_struct_wrapper::vkpipelinecachecreateinfo_struct_wrapper(const VkPipelineCacheCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
431411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
431511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
431611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
431711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
431811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecachecreateinfo_struct_wrapper::~vkpipelinecachecreateinfo_struct_wrapper() {}
431911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
432011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecachecreateinfo_struct_wrapper::display_single_txt()
432111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
432211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineCacheCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
432311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
432411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
432511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
432611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecachecreateinfo_struct_wrapper::display_struct_members()
432711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
432811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
432911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
433011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
433111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sinitialDataSize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.initialDataSize));
433211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spInitialData = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pInitialData));
433311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
433411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
433511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
433611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecachecreateinfo_struct_wrapper::display_txt()
433711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
433811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineCacheCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
433911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
434011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
434111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
434211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
434311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecachecreateinfo_struct_wrapper::display_full_txt()
434411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
434511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineCacheCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
434611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
434711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
434811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
434911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
435011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
435111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
435211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
435311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelinecolorblendattachmentstate_struct_wrapper class definition
435411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecolorblendattachmentstate_struct_wrapper::vkpipelinecolorblendattachmentstate_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
435511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecolorblendattachmentstate_struct_wrapper::vkpipelinecolorblendattachmentstate_struct_wrapper(VkPipelineColorBlendAttachmentState* pInStruct) : m_indent(0), m_dummy_prefix('\0')
435611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
435711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
435811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
435911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
436011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecolorblendattachmentstate_struct_wrapper::vkpipelinecolorblendattachmentstate_struct_wrapper(const VkPipelineColorBlendAttachmentState* pInStruct) : m_indent(0), m_dummy_prefix('\0')
436111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
436211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
436311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
436411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
436511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecolorblendattachmentstate_struct_wrapper::~vkpipelinecolorblendattachmentstate_struct_wrapper() {}
436611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
436711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecolorblendattachmentstate_struct_wrapper::display_single_txt()
436811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
436911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineColorBlendAttachmentState = 0x%p", m_indent, "", (void*)m_origStructAddr);
437011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
437111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
437211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
437311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecolorblendattachmentstate_struct_wrapper::display_struct_members()
437411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
437511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sblendEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.blendEnable) ? "TRUE" : "FALSE");
437611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcColorBlendFactor = %s\n", m_indent, "", &m_dummy_prefix, string_VkBlendFactor(m_struct.srcColorBlendFactor));
437711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstColorBlendFactor = %s\n", m_indent, "", &m_dummy_prefix, string_VkBlendFactor(m_struct.dstColorBlendFactor));
437811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scolorBlendOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkBlendOp(m_struct.colorBlendOp));
437911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcAlphaBlendFactor = %s\n", m_indent, "", &m_dummy_prefix, string_VkBlendFactor(m_struct.srcAlphaBlendFactor));
438011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstAlphaBlendFactor = %s\n", m_indent, "", &m_dummy_prefix, string_VkBlendFactor(m_struct.dstAlphaBlendFactor));
438111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %salphaBlendOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkBlendOp(m_struct.alphaBlendOp));
438211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scolorWriteMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.colorWriteMask));
438311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
438411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
438511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
438611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecolorblendattachmentstate_struct_wrapper::display_txt()
438711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
438811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineColorBlendAttachmentState struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
438911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
439011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
439111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
439211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
439311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecolorblendattachmentstate_struct_wrapper::display_full_txt()
439411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
439511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineColorBlendAttachmentState struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
439611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
439711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
439811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
439911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
440011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelinecolorblendstatecreateinfo_struct_wrapper class definition
440111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecolorblendstatecreateinfo_struct_wrapper::vkpipelinecolorblendstatecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
440211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecolorblendstatecreateinfo_struct_wrapper::vkpipelinecolorblendstatecreateinfo_struct_wrapper(VkPipelineColorBlendStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
440311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
440411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
440511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
440611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
440711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecolorblendstatecreateinfo_struct_wrapper::vkpipelinecolorblendstatecreateinfo_struct_wrapper(const VkPipelineColorBlendStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
440811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
440911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
441011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
441111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
441211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinecolorblendstatecreateinfo_struct_wrapper::~vkpipelinecolorblendstatecreateinfo_struct_wrapper() {}
441311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
441411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecolorblendstatecreateinfo_struct_wrapper::display_single_txt()
441511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
441611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineColorBlendStateCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
441711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
441811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
441911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
442011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecolorblendstatecreateinfo_struct_wrapper::display_struct_members()
442111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
442211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
442311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
442411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
442511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slogicOpEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.logicOpEnable) ? "TRUE" : "FALSE");
442611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slogicOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkLogicOp(m_struct.logicOp));
442711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sattachmentCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.attachmentCount));
442811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
442911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<attachmentCount; i++) {
443011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spAttachments[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pAttachments)[i]);
443111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
443211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<4; i++) {
443311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %sblendConstants[%u] = %f\n", m_indent, "", &m_dummy_prefix, i, (m_struct.blendConstants)[i]);
443411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
443511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
443611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
443711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
443811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecolorblendstatecreateinfo_struct_wrapper::display_txt()
443911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
444011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineColorBlendStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
444111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
444211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
444311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
444411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
444511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinecolorblendstatecreateinfo_struct_wrapper::display_full_txt()
444611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
444711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineColorBlendStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
444811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
444911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
445011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<attachmentCount; i++) {
445111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkpipelinecolorblendattachmentstate_struct_wrapper class0(&(m_struct.pAttachments[i]));
445211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
445311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
445411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
445511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
445611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
445711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
445811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
445911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
446011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
446111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelinedepthstencilstatecreateinfo_struct_wrapper class definition
446211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinedepthstencilstatecreateinfo_struct_wrapper::vkpipelinedepthstencilstatecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
446311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinedepthstencilstatecreateinfo_struct_wrapper::vkpipelinedepthstencilstatecreateinfo_struct_wrapper(VkPipelineDepthStencilStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
446411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
446511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
446611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
446711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
446811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinedepthstencilstatecreateinfo_struct_wrapper::vkpipelinedepthstencilstatecreateinfo_struct_wrapper(const VkPipelineDepthStencilStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
446911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
447011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
447111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
447211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
447311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinedepthstencilstatecreateinfo_struct_wrapper::~vkpipelinedepthstencilstatecreateinfo_struct_wrapper() {}
447411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
447511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinedepthstencilstatecreateinfo_struct_wrapper::display_single_txt()
447611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
447711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineDepthStencilStateCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
447811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
447911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
448011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
448111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinedepthstencilstatecreateinfo_struct_wrapper::display_struct_members()
448211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
448311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
448411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
448511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
448611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthTestEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.depthTestEnable) ? "TRUE" : "FALSE");
448711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthWriteEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.depthWriteEnable) ? "TRUE" : "FALSE");
448811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthCompareOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkCompareOp(m_struct.depthCompareOp));
448911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthBoundsTestEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.depthBoundsTestEnable) ? "TRUE" : "FALSE");
449011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstencilTestEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.stencilTestEnable) ? "TRUE" : "FALSE");
449111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sfront = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.front));
449211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sback = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.back));
449311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminDepthBounds = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.minDepthBounds));
449411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDepthBounds = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDepthBounds));
449511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
449611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
449711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
449811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinedepthstencilstatecreateinfo_struct_wrapper::display_txt()
449911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
450011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineDepthStencilStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
450111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
450211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
450311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
450411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
450511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinedepthstencilstatecreateinfo_struct_wrapper::display_full_txt()
450611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
450711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineDepthStencilStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
450811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
450911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.back) {
451011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkstencilopstate_struct_wrapper class0(&m_struct.back);
451111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
451211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
451311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
451411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.front) {
451511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkstencilopstate_struct_wrapper class1(&m_struct.front);
451611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
451711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
451811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
451911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
452011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
452111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
452211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
452311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
452411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
452511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelinedynamicstatecreateinfo_struct_wrapper class definition
452611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinedynamicstatecreateinfo_struct_wrapper::vkpipelinedynamicstatecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
452711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinedynamicstatecreateinfo_struct_wrapper::vkpipelinedynamicstatecreateinfo_struct_wrapper(VkPipelineDynamicStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
452811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
452911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
453011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
453111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
453211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinedynamicstatecreateinfo_struct_wrapper::vkpipelinedynamicstatecreateinfo_struct_wrapper(const VkPipelineDynamicStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
453311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
453411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
453511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
453611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
453711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinedynamicstatecreateinfo_struct_wrapper::~vkpipelinedynamicstatecreateinfo_struct_wrapper() {}
453811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
453911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinedynamicstatecreateinfo_struct_wrapper::display_single_txt()
454011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
454111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineDynamicStateCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
454211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
454311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
454411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
454511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinedynamicstatecreateinfo_struct_wrapper::display_struct_members()
454611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
454711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
454811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
454911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
455011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdynamicStateCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dynamicStateCount));
455111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
455211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<dynamicStateCount; i++) {
455311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spDynamicStates[%u] = 0x%s\n", m_indent, "", &m_dummy_prefix, i, string_VkDynamicState(*m_struct.pDynamicStates)[i]);
455411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
455511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
455611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
455711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
455811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinedynamicstatecreateinfo_struct_wrapper::display_txt()
455911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
456011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineDynamicStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
456111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
456211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
456311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
456411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
456511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinedynamicstatecreateinfo_struct_wrapper::display_full_txt()
456611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
456711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineDynamicStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
456811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
456911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
457011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
457111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
457211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
457311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
457411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
457511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelineinputassemblystatecreateinfo_struct_wrapper class definition
457611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineinputassemblystatecreateinfo_struct_wrapper::vkpipelineinputassemblystatecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
457711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineinputassemblystatecreateinfo_struct_wrapper::vkpipelineinputassemblystatecreateinfo_struct_wrapper(VkPipelineInputAssemblyStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
457811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
457911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
458011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
458111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
458211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineinputassemblystatecreateinfo_struct_wrapper::vkpipelineinputassemblystatecreateinfo_struct_wrapper(const VkPipelineInputAssemblyStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
458311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
458411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
458511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
458611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
458711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineinputassemblystatecreateinfo_struct_wrapper::~vkpipelineinputassemblystatecreateinfo_struct_wrapper() {}
458811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
458911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineinputassemblystatecreateinfo_struct_wrapper::display_single_txt()
459011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
459111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineInputAssemblyStateCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
459211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
459311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
459411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
459511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineinputassemblystatecreateinfo_struct_wrapper::display_struct_members()
459611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
459711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
459811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
459911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
460011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stopology = %s\n", m_indent, "", &m_dummy_prefix, string_VkPrimitiveTopology(m_struct.topology));
460111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sprimitiveRestartEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.primitiveRestartEnable) ? "TRUE" : "FALSE");
460211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
460311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
460411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
460511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineinputassemblystatecreateinfo_struct_wrapper::display_txt()
460611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
460711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineInputAssemblyStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
460811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
460911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
461011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
461111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
461211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineinputassemblystatecreateinfo_struct_wrapper::display_full_txt()
461311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
461411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineInputAssemblyStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
461511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
461611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
461711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
461811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
461911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
462011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
462111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
462211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelinelayoutcreateinfo_struct_wrapper class definition
462311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinelayoutcreateinfo_struct_wrapper::vkpipelinelayoutcreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
462411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinelayoutcreateinfo_struct_wrapper::vkpipelinelayoutcreateinfo_struct_wrapper(VkPipelineLayoutCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
462511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
462611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
462711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
462811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
462911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinelayoutcreateinfo_struct_wrapper::vkpipelinelayoutcreateinfo_struct_wrapper(const VkPipelineLayoutCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
463011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
463111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
463211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
463311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
463411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinelayoutcreateinfo_struct_wrapper::~vkpipelinelayoutcreateinfo_struct_wrapper() {}
463511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
463611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinelayoutcreateinfo_struct_wrapper::display_single_txt()
463711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
463811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineLayoutCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
463911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
464011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
464111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
464211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinelayoutcreateinfo_struct_wrapper::display_struct_members()
464311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
464411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
464511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
464611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
464711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssetLayoutCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.setLayoutCount));
464811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
464911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<setLayoutCount; i++) {
465011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spSetLayouts[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pSetLayouts)[i]);
465111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
465211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spushConstantRangeCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.pushConstantRangeCount));
465311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<pushConstantRangeCount; i++) {
465411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spPushConstantRanges[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pPushConstantRanges)[i]);
465511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
465611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
465711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
465811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
465911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinelayoutcreateinfo_struct_wrapper::display_txt()
466011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
466111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineLayoutCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
466211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
466311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
466411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
466511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
466611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinelayoutcreateinfo_struct_wrapper::display_full_txt()
466711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
466811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineLayoutCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
466911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
467011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
467111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<pushConstantRangeCount; i++) {
467211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkpushconstantrange_struct_wrapper class0(&(m_struct.pPushConstantRanges[i]));
467311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
467411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
467511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
467611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
467711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
467811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
467911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
468011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
468111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
468211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelinemultisamplestatecreateinfo_struct_wrapper class definition
468311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinemultisamplestatecreateinfo_struct_wrapper::vkpipelinemultisamplestatecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
468411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinemultisamplestatecreateinfo_struct_wrapper::vkpipelinemultisamplestatecreateinfo_struct_wrapper(VkPipelineMultisampleStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
468511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
468611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
468711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
468811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
468911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinemultisamplestatecreateinfo_struct_wrapper::vkpipelinemultisamplestatecreateinfo_struct_wrapper(const VkPipelineMultisampleStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
469011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
469111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
469211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
469311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
469411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinemultisamplestatecreateinfo_struct_wrapper::~vkpipelinemultisamplestatecreateinfo_struct_wrapper() {}
469511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
469611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinemultisamplestatecreateinfo_struct_wrapper::display_single_txt()
469711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
469811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineMultisampleStateCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
469911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
470011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
470111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
470211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinemultisamplestatecreateinfo_struct_wrapper::display_struct_members()
470311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
470411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
470511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
470611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
470711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srasterizationSamples = %s\n", m_indent, "", &m_dummy_prefix, string_VkSampleCountFlagBits(m_struct.rasterizationSamples));
470811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssampleShadingEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.sampleShadingEnable) ? "TRUE" : "FALSE");
470911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminSampleShading = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.minSampleShading));
471011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spSampleMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.pSampleMask));
471111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %salphaToCoverageEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.alphaToCoverageEnable) ? "TRUE" : "FALSE");
471211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %salphaToOneEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.alphaToOneEnable) ? "TRUE" : "FALSE");
471311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
471411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
471511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
471611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinemultisamplestatecreateinfo_struct_wrapper::display_txt()
471711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
471811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineMultisampleStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
471911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
472011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
472111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
472211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
472311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinemultisamplestatecreateinfo_struct_wrapper::display_full_txt()
472411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
472511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineMultisampleStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
472611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
472711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
472811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
472911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
473011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
473111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
473211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
473311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelinerasterizationstatecreateinfo_struct_wrapper class definition
473411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinerasterizationstatecreateinfo_struct_wrapper::vkpipelinerasterizationstatecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
473511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinerasterizationstatecreateinfo_struct_wrapper::vkpipelinerasterizationstatecreateinfo_struct_wrapper(VkPipelineRasterizationStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
473611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
473711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
473811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
473911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
474011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinerasterizationstatecreateinfo_struct_wrapper::vkpipelinerasterizationstatecreateinfo_struct_wrapper(const VkPipelineRasterizationStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
474111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
474211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
474311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
474411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
474511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinerasterizationstatecreateinfo_struct_wrapper::~vkpipelinerasterizationstatecreateinfo_struct_wrapper() {}
474611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
474711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinerasterizationstatecreateinfo_struct_wrapper::display_single_txt()
474811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
474911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineRasterizationStateCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
475011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
475111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
475211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
475311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinerasterizationstatecreateinfo_struct_wrapper::display_struct_members()
475411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
475511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
475611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
475711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
475811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthClampEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.depthClampEnable) ? "TRUE" : "FALSE");
475911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srasterizerDiscardEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.rasterizerDiscardEnable) ? "TRUE" : "FALSE");
476011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spolygonMode = %s\n", m_indent, "", &m_dummy_prefix, string_VkPolygonMode(m_struct.polygonMode));
476111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scullMode = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.cullMode));
476211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sfrontFace = %s\n", m_indent, "", &m_dummy_prefix, string_VkFrontFace(m_struct.frontFace));
476311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthBiasEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.depthBiasEnable) ? "TRUE" : "FALSE");
476411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthBiasConstantFactor = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.depthBiasConstantFactor));
476511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthBiasClamp = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.depthBiasClamp));
476611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthBiasSlopeFactor = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.depthBiasSlopeFactor));
476711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slineWidth = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.lineWidth));
476811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
476911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
477011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
477111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinerasterizationstatecreateinfo_struct_wrapper::display_txt()
477211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
477311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineRasterizationStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
477411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
477511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
477611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
477711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
477811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinerasterizationstatecreateinfo_struct_wrapper::display_full_txt()
477911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
478011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineRasterizationStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
478111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
478211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
478311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
478411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
478511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
478611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
478711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
478811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelinerasterizationstaterasterizationorderamd_struct_wrapper class definition
478911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinerasterizationstaterasterizationorderamd_struct_wrapper::vkpipelinerasterizationstaterasterizationorderamd_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
479011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinerasterizationstaterasterizationorderamd_struct_wrapper::vkpipelinerasterizationstaterasterizationorderamd_struct_wrapper(VkPipelineRasterizationStateRasterizationOrderAMD* pInStruct) : m_indent(0), m_dummy_prefix('\0')
479111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
479211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
479311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
479411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
479511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinerasterizationstaterasterizationorderamd_struct_wrapper::vkpipelinerasterizationstaterasterizationorderamd_struct_wrapper(const VkPipelineRasterizationStateRasterizationOrderAMD* pInStruct) : m_indent(0), m_dummy_prefix('\0')
479611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
479711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
479811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
479911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
480011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinerasterizationstaterasterizationorderamd_struct_wrapper::~vkpipelinerasterizationstaterasterizationorderamd_struct_wrapper() {}
480111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
480211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinerasterizationstaterasterizationorderamd_struct_wrapper::display_single_txt()
480311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
480411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineRasterizationStateRasterizationOrderAMD = 0x%p", m_indent, "", (void*)m_origStructAddr);
480511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
480611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
480711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
480811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinerasterizationstaterasterizationorderamd_struct_wrapper::display_struct_members()
480911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
481011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
481111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
481211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srasterizationOrder = %s\n", m_indent, "", &m_dummy_prefix, string_VkRasterizationOrderAMD(m_struct.rasterizationOrder));
481311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
481411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
481511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
481611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinerasterizationstaterasterizationorderamd_struct_wrapper::display_txt()
481711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
481811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineRasterizationStateRasterizationOrderAMD struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
481911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
482011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
482111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
482211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
482311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinerasterizationstaterasterizationorderamd_struct_wrapper::display_full_txt()
482411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
482511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineRasterizationStateRasterizationOrderAMD struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
482611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
482711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
482811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
482911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
483011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
483111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
483211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
483311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelineshaderstagecreateinfo_struct_wrapper class definition
483411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineshaderstagecreateinfo_struct_wrapper::vkpipelineshaderstagecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
483511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineshaderstagecreateinfo_struct_wrapper::vkpipelineshaderstagecreateinfo_struct_wrapper(VkPipelineShaderStageCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
483611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
483711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
483811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
483911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
484011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineshaderstagecreateinfo_struct_wrapper::vkpipelineshaderstagecreateinfo_struct_wrapper(const VkPipelineShaderStageCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
484111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
484211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
484311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
484411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
484511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineshaderstagecreateinfo_struct_wrapper::~vkpipelineshaderstagecreateinfo_struct_wrapper() {}
484611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
484711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineshaderstagecreateinfo_struct_wrapper::display_single_txt()
484811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
484911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineShaderStageCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
485011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
485111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
485211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
485311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineshaderstagecreateinfo_struct_wrapper::display_struct_members()
485411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
485511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
485611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
485711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
485811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstage = %s\n", m_indent, "", &m_dummy_prefix, string_VkShaderStageFlagBits(m_struct.stage));
485911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smodule = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.module));
486011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spName = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pName));
486111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spSpecializationInfo = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pSpecializationInfo));
486211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
486311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
486411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
486511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineshaderstagecreateinfo_struct_wrapper::display_txt()
486611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
486711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineShaderStageCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
486811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
486911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
487011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
487111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
487211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineshaderstagecreateinfo_struct_wrapper::display_full_txt()
487311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
487411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineShaderStageCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
487511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
487611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pSpecializationInfo) {
487711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkspecializationinfo_struct_wrapper class0(m_struct.pSpecializationInfo);
487811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
487911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
488011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
488111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
488211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
488311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
488411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
488511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
488611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
488711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelinetessellationstatecreateinfo_struct_wrapper class definition
488811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinetessellationstatecreateinfo_struct_wrapper::vkpipelinetessellationstatecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
488911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinetessellationstatecreateinfo_struct_wrapper::vkpipelinetessellationstatecreateinfo_struct_wrapper(VkPipelineTessellationStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
489011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
489111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
489211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
489311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
489411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinetessellationstatecreateinfo_struct_wrapper::vkpipelinetessellationstatecreateinfo_struct_wrapper(const VkPipelineTessellationStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
489511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
489611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
489711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
489811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
489911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinetessellationstatecreateinfo_struct_wrapper::~vkpipelinetessellationstatecreateinfo_struct_wrapper() {}
490011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
490111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinetessellationstatecreateinfo_struct_wrapper::display_single_txt()
490211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
490311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineTessellationStateCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
490411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
490511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
490611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
490711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinetessellationstatecreateinfo_struct_wrapper::display_struct_members()
490811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
490911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
491011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
491111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
491211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spatchControlPoints = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.patchControlPoints));
491311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
491411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
491511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
491611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinetessellationstatecreateinfo_struct_wrapper::display_txt()
491711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
491811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineTessellationStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
491911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
492011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
492111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
492211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
492311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinetessellationstatecreateinfo_struct_wrapper::display_full_txt()
492411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
492511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineTessellationStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
492611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
492711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
492811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
492911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
493011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
493111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
493211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
493311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelinevertexinputstatecreateinfo_struct_wrapper class definition
493411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinevertexinputstatecreateinfo_struct_wrapper::vkpipelinevertexinputstatecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
493511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinevertexinputstatecreateinfo_struct_wrapper::vkpipelinevertexinputstatecreateinfo_struct_wrapper(VkPipelineVertexInputStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
493611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
493711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
493811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
493911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
494011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinevertexinputstatecreateinfo_struct_wrapper::vkpipelinevertexinputstatecreateinfo_struct_wrapper(const VkPipelineVertexInputStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
494111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
494211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
494311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
494411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
494511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelinevertexinputstatecreateinfo_struct_wrapper::~vkpipelinevertexinputstatecreateinfo_struct_wrapper() {}
494611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
494711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinevertexinputstatecreateinfo_struct_wrapper::display_single_txt()
494811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
494911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineVertexInputStateCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
495011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
495111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
495211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
495311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinevertexinputstatecreateinfo_struct_wrapper::display_struct_members()
495411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
495511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
495611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
495711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
495811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %svertexBindingDescriptionCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.vertexBindingDescriptionCount));
495911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
496011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<vertexBindingDescriptionCount; i++) {
496111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spVertexBindingDescriptions[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pVertexBindingDescriptions)[i]);
496211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
496311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %svertexAttributeDescriptionCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.vertexAttributeDescriptionCount));
496411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<vertexAttributeDescriptionCount; i++) {
496511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spVertexAttributeDescriptions[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pVertexAttributeDescriptions)[i]);
496611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
496711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
496811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
496911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
497011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinevertexinputstatecreateinfo_struct_wrapper::display_txt()
497111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
497211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineVertexInputStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
497311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
497411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
497511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
497611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
497711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelinevertexinputstatecreateinfo_struct_wrapper::display_full_txt()
497811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
497911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineVertexInputStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
498011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
498111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
498211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<vertexAttributeDescriptionCount; i++) {
498311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkvertexinputattributedescription_struct_wrapper class0(&(m_struct.pVertexAttributeDescriptions[i]));
498411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
498511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
498611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
498711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<vertexBindingDescriptionCount; i++) {
498811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkvertexinputbindingdescription_struct_wrapper class1(&(m_struct.pVertexBindingDescriptions[i]));
498911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.set_indent(m_indent + 4);
499011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.display_full_txt();
499111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
499211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
499311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
499411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
499511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
499611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
499711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
499811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpipelineviewportstatecreateinfo_struct_wrapper class definition
499911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineviewportstatecreateinfo_struct_wrapper::vkpipelineviewportstatecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
500011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineviewportstatecreateinfo_struct_wrapper::vkpipelineviewportstatecreateinfo_struct_wrapper(VkPipelineViewportStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
500111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
500211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
500311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
500411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
500511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineviewportstatecreateinfo_struct_wrapper::vkpipelineviewportstatecreateinfo_struct_wrapper(const VkPipelineViewportStateCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
500611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
500711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
500811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
500911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
501011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpipelineviewportstatecreateinfo_struct_wrapper::~vkpipelineviewportstatecreateinfo_struct_wrapper() {}
501111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
501211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineviewportstatecreateinfo_struct_wrapper::display_single_txt()
501311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
501411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPipelineViewportStateCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
501511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
501611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
501711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
501811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineviewportstatecreateinfo_struct_wrapper::display_struct_members()
501911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
502011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
502111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
502211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
502311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sviewportCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.viewportCount));
502411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
502511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<viewportCount; i++) {
502611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spViewports[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pViewports)[i]);
502711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
502811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sscissorCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.scissorCount));
502911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<scissorCount; i++) {
503011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spScissors[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pScissors)[i]);
503111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
503211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
503311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
503411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
503511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineviewportstatecreateinfo_struct_wrapper::display_txt()
503611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
503711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineViewportStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
503811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
503911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
504011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
504111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
504211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpipelineviewportstatecreateinfo_struct_wrapper::display_full_txt()
504311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
504411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPipelineViewportStateCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
504511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
504611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
504711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<scissorCount; i++) {
504811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkrect2d_struct_wrapper class0(&(m_struct.pScissors[i]));
504911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
505011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
505111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
505211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<viewportCount; i++) {
505311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkviewport_struct_wrapper class1(&(m_struct.pViewports[i]));
505411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.set_indent(m_indent + 4);
505511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.display_full_txt();
505611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
505711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
505811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
505911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
506011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
506111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
506211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
506311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpresentinfokhr_struct_wrapper class definition
506411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpresentinfokhr_struct_wrapper::vkpresentinfokhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
506511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpresentinfokhr_struct_wrapper::vkpresentinfokhr_struct_wrapper(VkPresentInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
506611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
506711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
506811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
506911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
507011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpresentinfokhr_struct_wrapper::vkpresentinfokhr_struct_wrapper(const VkPresentInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
507111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
507211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
507311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
507411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
507511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpresentinfokhr_struct_wrapper::~vkpresentinfokhr_struct_wrapper() {}
507611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
507711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpresentinfokhr_struct_wrapper::display_single_txt()
507811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
507911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPresentInfoKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
508011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
508111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
508211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
508311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpresentinfokhr_struct_wrapper::display_struct_members()
508411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
508511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
508611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
508711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swaitSemaphoreCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.waitSemaphoreCount));
508811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
508911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<waitSemaphoreCount; i++) {
509011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spWaitSemaphores[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pWaitSemaphores)[i]);
509111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
509211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sswapchainCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.swapchainCount));
509311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<swapchainCount; i++) {
509411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spSwapchains[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pSwapchains)[i]);
509511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
509611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<swapchainCount; i++) {
509711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spImageIndices[%u] = %u\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pImageIndices)[i]);
509811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
509911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spResults = 0x%s\n", m_indent, "", &m_dummy_prefix, string_VkResult(*m_struct.pResults));
510011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
510111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
510211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
510311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpresentinfokhr_struct_wrapper::display_txt()
510411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
510511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPresentInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
510611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
510711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
510811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
510911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
511011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpresentinfokhr_struct_wrapper::display_full_txt()
511111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
511211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPresentInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
511311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
511411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
511511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
511611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
511711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
511811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
511911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
512011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkpushconstantrange_struct_wrapper class definition
512111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpushconstantrange_struct_wrapper::vkpushconstantrange_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
512211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpushconstantrange_struct_wrapper::vkpushconstantrange_struct_wrapper(VkPushConstantRange* pInStruct) : m_indent(0), m_dummy_prefix('\0')
512311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
512411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
512511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
512611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
512711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpushconstantrange_struct_wrapper::vkpushconstantrange_struct_wrapper(const VkPushConstantRange* pInStruct) : m_indent(0), m_dummy_prefix('\0')
512811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
512911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
513011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
513111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
513211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkpushconstantrange_struct_wrapper::~vkpushconstantrange_struct_wrapper() {}
513311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
513411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpushconstantrange_struct_wrapper::display_single_txt()
513511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
513611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkPushConstantRange = 0x%p", m_indent, "", (void*)m_origStructAddr);
513711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
513811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
513911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
514011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpushconstantrange_struct_wrapper::display_struct_members()
514111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
514211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstageFlags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.stageFlags));
514311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soffset = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.offset));
514411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssize = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.size));
514511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
514611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
514711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
514811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpushconstantrange_struct_wrapper::display_txt()
514911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
515011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPushConstantRange struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
515111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
515211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
515311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
515411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
515511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkpushconstantrange_struct_wrapper::display_full_txt()
515611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
515711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkPushConstantRange struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
515811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
515911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
516011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
516111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
516211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkquerypoolcreateinfo_struct_wrapper class definition
516311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkquerypoolcreateinfo_struct_wrapper::vkquerypoolcreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
516411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkquerypoolcreateinfo_struct_wrapper::vkquerypoolcreateinfo_struct_wrapper(VkQueryPoolCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
516511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
516611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
516711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
516811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
516911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkquerypoolcreateinfo_struct_wrapper::vkquerypoolcreateinfo_struct_wrapper(const VkQueryPoolCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
517011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
517111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
517211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
517311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
517411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkquerypoolcreateinfo_struct_wrapper::~vkquerypoolcreateinfo_struct_wrapper() {}
517511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
517611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkquerypoolcreateinfo_struct_wrapper::display_single_txt()
517711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
517811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkQueryPoolCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
517911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
518011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
518111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
518211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkquerypoolcreateinfo_struct_wrapper::display_struct_members()
518311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
518411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
518511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
518611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
518711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeryType = %s\n", m_indent, "", &m_dummy_prefix, string_VkQueryType(m_struct.queryType));
518811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeryCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.queryCount));
518911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spipelineStatistics = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.pipelineStatistics));
519011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
519111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
519211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
519311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkquerypoolcreateinfo_struct_wrapper::display_txt()
519411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
519511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkQueryPoolCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
519611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
519711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
519811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
519911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
520011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkquerypoolcreateinfo_struct_wrapper::display_full_txt()
520111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
520211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkQueryPoolCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
520311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
520411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
520511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
520611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
520711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
520811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
520911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
521011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkqueuefamilyproperties_struct_wrapper class definition
521111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkqueuefamilyproperties_struct_wrapper::vkqueuefamilyproperties_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
521211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkqueuefamilyproperties_struct_wrapper::vkqueuefamilyproperties_struct_wrapper(VkQueueFamilyProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
521311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
521411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
521511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
521611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
521711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkqueuefamilyproperties_struct_wrapper::vkqueuefamilyproperties_struct_wrapper(const VkQueueFamilyProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
521811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
521911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
522011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
522111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
522211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkqueuefamilyproperties_struct_wrapper::~vkqueuefamilyproperties_struct_wrapper() {}
522311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
522411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkqueuefamilyproperties_struct_wrapper::display_single_txt()
522511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
522611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkQueueFamilyProperties = 0x%p", m_indent, "", (void*)m_origStructAddr);
522711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
522811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
522911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
523011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkqueuefamilyproperties_struct_wrapper::display_struct_members()
523111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
523211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeueFlags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.queueFlags));
523311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeueCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.queueCount));
523411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %stimestampValidBits = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.timestampValidBits));
523511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminImageTransferGranularity = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.minImageTransferGranularity));
523611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
523711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
523811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
523911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkqueuefamilyproperties_struct_wrapper::display_txt()
524011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
524111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkQueueFamilyProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
524211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
524311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
524411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
524511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
524611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkqueuefamilyproperties_struct_wrapper::display_full_txt()
524711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
524811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkQueueFamilyProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
524911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
525011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.minImageTransferGranularity) {
525111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent3d_struct_wrapper class0(&m_struct.minImageTransferGranularity);
525211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
525311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
525411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
525511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
525611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
525711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
525811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkrect2d_struct_wrapper class definition
525911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrect2d_struct_wrapper::vkrect2d_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
526011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrect2d_struct_wrapper::vkrect2d_struct_wrapper(VkRect2D* pInStruct) : m_indent(0), m_dummy_prefix('\0')
526111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
526211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
526311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
526411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
526511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrect2d_struct_wrapper::vkrect2d_struct_wrapper(const VkRect2D* pInStruct) : m_indent(0), m_dummy_prefix('\0')
526611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
526711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
526811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
526911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
527011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrect2d_struct_wrapper::~vkrect2d_struct_wrapper() {}
527111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
527211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrect2d_struct_wrapper::display_single_txt()
527311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
527411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkRect2D = 0x%p", m_indent, "", (void*)m_origStructAddr);
527511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
527611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
527711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
527811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrect2d_struct_wrapper::display_struct_members()
527911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
528011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soffset = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.offset));
528111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sextent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.extent));
528211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
528311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
528411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
528511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrect2d_struct_wrapper::display_txt()
528611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
528711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkRect2D struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
528811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
528911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
529011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
529111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
529211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrect2d_struct_wrapper::display_full_txt()
529311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
529411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkRect2D struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
529511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
529611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.extent) {
529711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class0(&m_struct.extent);
529811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
529911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
530011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
530111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.offset) {
530211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkoffset2d_struct_wrapper class1(&m_struct.offset);
530311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
530411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
530511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
530611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
530711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
530811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
530911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkrenderpassbegininfo_struct_wrapper class definition
531011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrenderpassbegininfo_struct_wrapper::vkrenderpassbegininfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
531111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrenderpassbegininfo_struct_wrapper::vkrenderpassbegininfo_struct_wrapper(VkRenderPassBeginInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
531211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
531311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
531411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
531511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
531611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrenderpassbegininfo_struct_wrapper::vkrenderpassbegininfo_struct_wrapper(const VkRenderPassBeginInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
531711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
531811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
531911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
532011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
532111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrenderpassbegininfo_struct_wrapper::~vkrenderpassbegininfo_struct_wrapper() {}
532211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
532311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrenderpassbegininfo_struct_wrapper::display_single_txt()
532411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
532511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkRenderPassBeginInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
532611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
532711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
532811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
532911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrenderpassbegininfo_struct_wrapper::display_struct_members()
533011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
533111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
533211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
533311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srenderPass = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.renderPass));
533411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sframebuffer = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.framebuffer));
533511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srenderArea = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.renderArea));
533611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sclearValueCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.clearValueCount));
533711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
533811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<clearValueCount; i++) {
533911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spClearValues[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pClearValues)[i]);
534011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
534111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
534211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
534311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
534411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrenderpassbegininfo_struct_wrapper::display_txt()
534511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
534611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkRenderPassBeginInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
534711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
534811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
534911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
535011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
535111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrenderpassbegininfo_struct_wrapper::display_full_txt()
535211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
535311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkRenderPassBeginInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
535411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
535511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
535611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<clearValueCount; i++) {
535711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkclearvalue_struct_wrapper class0(&(m_struct.pClearValues[i]));
535811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
535911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
536011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
536111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.renderArea) {
536211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkrect2d_struct_wrapper class1(&m_struct.renderArea);
536311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
536411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
536511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
536611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
536711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
536811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
536911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
537011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
537111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
537211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkrenderpasscreateinfo_struct_wrapper class definition
537311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrenderpasscreateinfo_struct_wrapper::vkrenderpasscreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
537411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrenderpasscreateinfo_struct_wrapper::vkrenderpasscreateinfo_struct_wrapper(VkRenderPassCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
537511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
537611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
537711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
537811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
537911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrenderpasscreateinfo_struct_wrapper::vkrenderpasscreateinfo_struct_wrapper(const VkRenderPassCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
538011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
538111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
538211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
538311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
538411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkrenderpasscreateinfo_struct_wrapper::~vkrenderpasscreateinfo_struct_wrapper() {}
538511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
538611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrenderpasscreateinfo_struct_wrapper::display_single_txt()
538711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
538811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkRenderPassCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
538911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
539011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
539111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
539211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrenderpasscreateinfo_struct_wrapper::display_struct_members()
539311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
539411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
539511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
539611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
539711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sattachmentCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.attachmentCount));
539811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
539911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<attachmentCount; i++) {
540011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spAttachments[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pAttachments)[i]);
540111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
540211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssubpassCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.subpassCount));
540311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<subpassCount; i++) {
540411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spSubpasses[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pSubpasses)[i]);
540511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
540611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdependencyCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dependencyCount));
540711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<dependencyCount; i++) {
540811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spDependencies[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pDependencies)[i]);
540911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
541011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
541111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
541211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
541311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrenderpasscreateinfo_struct_wrapper::display_txt()
541411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
541511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkRenderPassCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
541611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
541711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
541811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
541911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
542011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkrenderpasscreateinfo_struct_wrapper::display_full_txt()
542111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
542211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkRenderPassCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
542311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
542411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
542511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<dependencyCount; i++) {
542611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vksubpassdependency_struct_wrapper class0(&(m_struct.pDependencies[i]));
542711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
542811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
542911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
543011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<subpassCount; i++) {
543111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vksubpassdescription_struct_wrapper class1(&(m_struct.pSubpasses[i]));
543211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.set_indent(m_indent + 4);
543311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.display_full_txt();
543411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
543511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<attachmentCount; i++) {
543611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkattachmentdescription_struct_wrapper class2(&(m_struct.pAttachments[i]));
543711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class2.set_indent(m_indent + 4);
543811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class2.display_full_txt();
543911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
544011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
544111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
544211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
544311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
544411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
544511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
544611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksamplercreateinfo_struct_wrapper class definition
544711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksamplercreateinfo_struct_wrapper::vksamplercreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
544811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksamplercreateinfo_struct_wrapper::vksamplercreateinfo_struct_wrapper(VkSamplerCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
544911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
545011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
545111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
545211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
545311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksamplercreateinfo_struct_wrapper::vksamplercreateinfo_struct_wrapper(const VkSamplerCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
545411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
545511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
545611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
545711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
545811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksamplercreateinfo_struct_wrapper::~vksamplercreateinfo_struct_wrapper() {}
545911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
546011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksamplercreateinfo_struct_wrapper::display_single_txt()
546111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
546211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSamplerCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
546311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
546411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
546511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
546611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksamplercreateinfo_struct_wrapper::display_struct_members()
546711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
546811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
546911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
547011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
547111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smagFilter = %s\n", m_indent, "", &m_dummy_prefix, string_VkFilter(m_struct.magFilter));
547211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminFilter = %s\n", m_indent, "", &m_dummy_prefix, string_VkFilter(m_struct.minFilter));
547311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smipmapMode = %s\n", m_indent, "", &m_dummy_prefix, string_VkSamplerMipmapMode(m_struct.mipmapMode));
547411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %saddressModeU = %s\n", m_indent, "", &m_dummy_prefix, string_VkSamplerAddressMode(m_struct.addressModeU));
547511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %saddressModeV = %s\n", m_indent, "", &m_dummy_prefix, string_VkSamplerAddressMode(m_struct.addressModeV));
547611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %saddressModeW = %s\n", m_indent, "", &m_dummy_prefix, string_VkSamplerAddressMode(m_struct.addressModeW));
547711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smipLodBias = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.mipLodBias));
547811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sanisotropyEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.anisotropyEnable) ? "TRUE" : "FALSE");
547911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxAnisotropy = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.maxAnisotropy));
548011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scompareEnable = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.compareEnable) ? "TRUE" : "FALSE");
548111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scompareOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkCompareOp(m_struct.compareOp));
548211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminLod = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.minLod));
548311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxLod = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.maxLod));
548411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sborderColor = %s\n", m_indent, "", &m_dummy_prefix, string_VkBorderColor(m_struct.borderColor));
548511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sunnormalizedCoordinates = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.unnormalizedCoordinates) ? "TRUE" : "FALSE");
548611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
548711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
548811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
548911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksamplercreateinfo_struct_wrapper::display_txt()
549011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
549111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSamplerCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
549211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
549311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
549411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
549511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
549611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksamplercreateinfo_struct_wrapper::display_full_txt()
549711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
549811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSamplerCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
549911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
550011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
550111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
550211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
550311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
550411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
550511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
550611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksemaphorecreateinfo_struct_wrapper class definition
550711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksemaphorecreateinfo_struct_wrapper::vksemaphorecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
550811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksemaphorecreateinfo_struct_wrapper::vksemaphorecreateinfo_struct_wrapper(VkSemaphoreCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
550911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
551011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
551111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
551211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
551311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksemaphorecreateinfo_struct_wrapper::vksemaphorecreateinfo_struct_wrapper(const VkSemaphoreCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
551411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
551511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
551611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
551711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
551811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksemaphorecreateinfo_struct_wrapper::~vksemaphorecreateinfo_struct_wrapper() {}
551911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
552011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksemaphorecreateinfo_struct_wrapper::display_single_txt()
552111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
552211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSemaphoreCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
552311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
552411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
552511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
552611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksemaphorecreateinfo_struct_wrapper::display_struct_members()
552711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
552811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
552911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
553011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
553111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
553211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
553311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
553411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksemaphorecreateinfo_struct_wrapper::display_txt()
553511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
553611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSemaphoreCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
553711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
553811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
553911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
554011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
554111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksemaphorecreateinfo_struct_wrapper::display_full_txt()
554211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
554311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSemaphoreCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
554411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
554511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
554611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
554711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
554811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
554911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
555011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
555111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkshadermodulecreateinfo_struct_wrapper class definition
555211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkshadermodulecreateinfo_struct_wrapper::vkshadermodulecreateinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
555311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkshadermodulecreateinfo_struct_wrapper::vkshadermodulecreateinfo_struct_wrapper(VkShaderModuleCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
555411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
555511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
555611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
555711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
555811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkshadermodulecreateinfo_struct_wrapper::vkshadermodulecreateinfo_struct_wrapper(const VkShaderModuleCreateInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
555911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
556011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
556111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
556211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
556311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkshadermodulecreateinfo_struct_wrapper::~vkshadermodulecreateinfo_struct_wrapper() {}
556411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
556511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkshadermodulecreateinfo_struct_wrapper::display_single_txt()
556611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
556711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkShaderModuleCreateInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
556811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
556911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
557011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
557111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkshadermodulecreateinfo_struct_wrapper::display_struct_members()
557211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
557311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
557411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
557511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
557611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scodeSize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.codeSize));
557711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spCode = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.pCode));
557811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
557911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
558011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
558111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkshadermodulecreateinfo_struct_wrapper::display_txt()
558211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
558311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkShaderModuleCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
558411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
558511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
558611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
558711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
558811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkshadermodulecreateinfo_struct_wrapper::display_full_txt()
558911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
559011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkShaderModuleCreateInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
559111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
559211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
559311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
559411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
559511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
559611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
559711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
559811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksparsebuffermemorybindinfo_struct_wrapper class definition
559911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparsebuffermemorybindinfo_struct_wrapper::vksparsebuffermemorybindinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
560011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparsebuffermemorybindinfo_struct_wrapper::vksparsebuffermemorybindinfo_struct_wrapper(VkSparseBufferMemoryBindInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
560111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
560211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
560311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
560411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
560511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparsebuffermemorybindinfo_struct_wrapper::vksparsebuffermemorybindinfo_struct_wrapper(const VkSparseBufferMemoryBindInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
560611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
560711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
560811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
560911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
561011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparsebuffermemorybindinfo_struct_wrapper::~vksparsebuffermemorybindinfo_struct_wrapper() {}
561111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
561211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparsebuffermemorybindinfo_struct_wrapper::display_single_txt()
561311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
561411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSparseBufferMemoryBindInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
561511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
561611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
561711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
561811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparsebuffermemorybindinfo_struct_wrapper::display_struct_members()
561911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
562011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbuffer = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.buffer));
562111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbindCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.bindCount));
562211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
562311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<bindCount; i++) {
562411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spBinds[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pBinds)[i]);
562511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
562611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
562711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
562811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
562911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparsebuffermemorybindinfo_struct_wrapper::display_txt()
563011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
563111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseBufferMemoryBindInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
563211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
563311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
563411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
563511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
563611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparsebuffermemorybindinfo_struct_wrapper::display_full_txt()
563711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
563811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseBufferMemoryBindInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
563911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
564011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
564111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<bindCount; i++) {
564211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vksparsememorybind_struct_wrapper class0(&(m_struct.pBinds[i]));
564311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
564411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
564511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
564611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
564711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
564811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
564911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksparseimageformatproperties_struct_wrapper class definition
565011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimageformatproperties_struct_wrapper::vksparseimageformatproperties_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
565111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimageformatproperties_struct_wrapper::vksparseimageformatproperties_struct_wrapper(VkSparseImageFormatProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
565211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
565311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
565411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
565511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
565611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimageformatproperties_struct_wrapper::vksparseimageformatproperties_struct_wrapper(const VkSparseImageFormatProperties* pInStruct) : m_indent(0), m_dummy_prefix('\0')
565711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
565811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
565911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
566011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
566111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimageformatproperties_struct_wrapper::~vksparseimageformatproperties_struct_wrapper() {}
566211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
566311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimageformatproperties_struct_wrapper::display_single_txt()
566411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
566511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSparseImageFormatProperties = 0x%p", m_indent, "", (void*)m_origStructAddr);
566611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
566711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
566811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
566911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimageformatproperties_struct_wrapper::display_struct_members()
567011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
567111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %saspectMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.aspectMask));
567211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageGranularity = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.imageGranularity));
567311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
567411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
567511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
567611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
567711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimageformatproperties_struct_wrapper::display_txt()
567811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
567911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseImageFormatProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
568011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
568111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
568211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
568311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
568411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimageformatproperties_struct_wrapper::display_full_txt()
568511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
568611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseImageFormatProperties struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
568711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
568811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.imageGranularity) {
568911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent3d_struct_wrapper class0(&m_struct.imageGranularity);
569011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
569111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
569211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
569311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
569411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
569511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
569611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksparseimagememorybind_struct_wrapper class definition
569711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememorybind_struct_wrapper::vksparseimagememorybind_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
569811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememorybind_struct_wrapper::vksparseimagememorybind_struct_wrapper(VkSparseImageMemoryBind* pInStruct) : m_indent(0), m_dummy_prefix('\0')
569911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
570011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
570111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
570211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
570311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememorybind_struct_wrapper::vksparseimagememorybind_struct_wrapper(const VkSparseImageMemoryBind* pInStruct) : m_indent(0), m_dummy_prefix('\0')
570411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
570511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
570611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
570711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
570811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememorybind_struct_wrapper::~vksparseimagememorybind_struct_wrapper() {}
570911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
571011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememorybind_struct_wrapper::display_single_txt()
571111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
571211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSparseImageMemoryBind = 0x%p", m_indent, "", (void*)m_origStructAddr);
571311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
571411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
571511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
571611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememorybind_struct_wrapper::display_struct_members()
571711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
571811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssubresource = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.subresource));
571911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soffset = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.offset));
572011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sextent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.extent));
572111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smemory = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.memory));
572211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smemoryOffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.memoryOffset));
572311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
572411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
572511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
572611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
572711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememorybind_struct_wrapper::display_txt()
572811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
572911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseImageMemoryBind struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
573011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
573111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
573211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
573311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
573411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememorybind_struct_wrapper::display_full_txt()
573511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
573611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseImageMemoryBind struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
573711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
573811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.extent) {
573911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent3d_struct_wrapper class0(&m_struct.extent);
574011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
574111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
574211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
574311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.offset) {
574411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkoffset3d_struct_wrapper class1(&m_struct.offset);
574511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
574611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
574711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
574811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.subresource) {
574911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkimagesubresource_struct_wrapper class2(&m_struct.subresource);
575011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.set_indent(m_indent + 4);
575111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.display_full_txt();
575211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
575311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
575411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
575511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
575611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksparseimagememorybindinfo_struct_wrapper class definition
575711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememorybindinfo_struct_wrapper::vksparseimagememorybindinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
575811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememorybindinfo_struct_wrapper::vksparseimagememorybindinfo_struct_wrapper(VkSparseImageMemoryBindInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
575911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
576011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
576111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
576211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
576311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememorybindinfo_struct_wrapper::vksparseimagememorybindinfo_struct_wrapper(const VkSparseImageMemoryBindInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
576411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
576511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
576611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
576711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
576811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememorybindinfo_struct_wrapper::~vksparseimagememorybindinfo_struct_wrapper() {}
576911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
577011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememorybindinfo_struct_wrapper::display_single_txt()
577111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
577211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSparseImageMemoryBindInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
577311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
577411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
577511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
577611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememorybindinfo_struct_wrapper::display_struct_members()
577711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
577811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simage = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.image));
577911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbindCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.bindCount));
578011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
578111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<bindCount; i++) {
578211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spBinds[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pBinds)[i]);
578311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
578411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
578511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
578611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
578711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememorybindinfo_struct_wrapper::display_txt()
578811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
578911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseImageMemoryBindInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
579011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
579111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
579211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
579311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
579411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememorybindinfo_struct_wrapper::display_full_txt()
579511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
579611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseImageMemoryBindInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
579711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
579811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
579911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<bindCount; i++) {
580011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vksparseimagememorybind_struct_wrapper class0(&(m_struct.pBinds[i]));
580111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
580211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
580311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
580411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
580511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
580611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
580711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksparseimagememoryrequirements_struct_wrapper class definition
580811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememoryrequirements_struct_wrapper::vksparseimagememoryrequirements_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
580911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememoryrequirements_struct_wrapper::vksparseimagememoryrequirements_struct_wrapper(VkSparseImageMemoryRequirements* pInStruct) : m_indent(0), m_dummy_prefix('\0')
581011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
581111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
581211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
581311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
581411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememoryrequirements_struct_wrapper::vksparseimagememoryrequirements_struct_wrapper(const VkSparseImageMemoryRequirements* pInStruct) : m_indent(0), m_dummy_prefix('\0')
581511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
581611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
581711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
581811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
581911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimagememoryrequirements_struct_wrapper::~vksparseimagememoryrequirements_struct_wrapper() {}
582011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
582111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememoryrequirements_struct_wrapper::display_single_txt()
582211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
582311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSparseImageMemoryRequirements = 0x%p", m_indent, "", (void*)m_origStructAddr);
582411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
582511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
582611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
582711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememoryrequirements_struct_wrapper::display_struct_members()
582811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
582911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sformatProperties = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.formatProperties));
583011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageMipTailFirstLod = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.imageMipTailFirstLod));
583111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageMipTailSize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.imageMipTailSize));
583211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageMipTailOffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.imageMipTailOffset));
583311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageMipTailStride = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.imageMipTailStride));
583411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
583511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
583611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
583711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememoryrequirements_struct_wrapper::display_txt()
583811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
583911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseImageMemoryRequirements struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
584011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
584111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
584211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
584311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
584411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimagememoryrequirements_struct_wrapper::display_full_txt()
584511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
584611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseImageMemoryRequirements struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
584711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
584811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.formatProperties) {
584911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vksparseimageformatproperties_struct_wrapper class0(&m_struct.formatProperties);
585011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
585111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
585211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
585311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
585411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
585511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
585611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksparseimageopaquememorybindinfo_struct_wrapper class definition
585711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimageopaquememorybindinfo_struct_wrapper::vksparseimageopaquememorybindinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
585811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimageopaquememorybindinfo_struct_wrapper::vksparseimageopaquememorybindinfo_struct_wrapper(VkSparseImageOpaqueMemoryBindInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
585911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
586011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
586111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
586211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
586311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimageopaquememorybindinfo_struct_wrapper::vksparseimageopaquememorybindinfo_struct_wrapper(const VkSparseImageOpaqueMemoryBindInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
586411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
586511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
586611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
586711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
586811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparseimageopaquememorybindinfo_struct_wrapper::~vksparseimageopaquememorybindinfo_struct_wrapper() {}
586911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
587011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimageopaquememorybindinfo_struct_wrapper::display_single_txt()
587111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
587211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSparseImageOpaqueMemoryBindInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
587311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
587411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
587511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
587611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimageopaquememorybindinfo_struct_wrapper::display_struct_members()
587711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
587811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simage = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.image));
587911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbindCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.bindCount));
588011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
588111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<bindCount; i++) {
588211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spBinds[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pBinds)[i]);
588311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
588411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
588511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
588611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
588711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimageopaquememorybindinfo_struct_wrapper::display_txt()
588811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
588911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseImageOpaqueMemoryBindInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
589011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
589111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
589211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
589311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
589411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparseimageopaquememorybindinfo_struct_wrapper::display_full_txt()
589511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
589611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseImageOpaqueMemoryBindInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
589711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
589811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
589911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<bindCount; i++) {
590011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vksparsememorybind_struct_wrapper class0(&(m_struct.pBinds[i]));
590111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
590211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
590311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
590411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
590511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
590611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
590711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksparsememorybind_struct_wrapper class definition
590811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparsememorybind_struct_wrapper::vksparsememorybind_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
590911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparsememorybind_struct_wrapper::vksparsememorybind_struct_wrapper(VkSparseMemoryBind* pInStruct) : m_indent(0), m_dummy_prefix('\0')
591011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
591111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
591211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
591311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
591411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparsememorybind_struct_wrapper::vksparsememorybind_struct_wrapper(const VkSparseMemoryBind* pInStruct) : m_indent(0), m_dummy_prefix('\0')
591511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
591611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
591711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
591811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
591911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksparsememorybind_struct_wrapper::~vksparsememorybind_struct_wrapper() {}
592011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
592111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparsememorybind_struct_wrapper::display_single_txt()
592211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
592311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSparseMemoryBind = 0x%p", m_indent, "", (void*)m_origStructAddr);
592411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
592511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
592611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
592711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparsememorybind_struct_wrapper::display_struct_members()
592811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
592911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sresourceOffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.resourceOffset));
593011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.size));
593111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smemory = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.memory));
593211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smemoryOffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.memoryOffset));
593311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
593411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
593511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
593611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
593711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparsememorybind_struct_wrapper::display_txt()
593811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
593911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseMemoryBind struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
594011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
594111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
594211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
594311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
594411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksparsememorybind_struct_wrapper::display_full_txt()
594511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
594611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSparseMemoryBind struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
594711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
594811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
594911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
595011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
595111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkspecializationinfo_struct_wrapper class definition
595211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkspecializationinfo_struct_wrapper::vkspecializationinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
595311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkspecializationinfo_struct_wrapper::vkspecializationinfo_struct_wrapper(VkSpecializationInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
595411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
595511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
595611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
595711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
595811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkspecializationinfo_struct_wrapper::vkspecializationinfo_struct_wrapper(const VkSpecializationInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
595911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
596011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
596111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
596211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
596311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkspecializationinfo_struct_wrapper::~vkspecializationinfo_struct_wrapper() {}
596411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
596511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkspecializationinfo_struct_wrapper::display_single_txt()
596611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
596711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSpecializationInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
596811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
596911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
597011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
597111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkspecializationinfo_struct_wrapper::display_struct_members()
597211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
597311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smapEntryCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.mapEntryCount));
597411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
597511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<mapEntryCount; i++) {
597611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spMapEntries[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pMapEntries)[i]);
597711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
597811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdataSize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.dataSize));
597911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spData = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pData));
598011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
598111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
598211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
598311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkspecializationinfo_struct_wrapper::display_txt()
598411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
598511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSpecializationInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
598611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
598711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
598811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
598911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
599011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkspecializationinfo_struct_wrapper::display_full_txt()
599111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
599211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSpecializationInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
599311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
599411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
599511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<mapEntryCount; i++) {
599611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkspecializationmapentry_struct_wrapper class0(&(m_struct.pMapEntries[i]));
599711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
599811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
599911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
600011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
600111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
600211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
600311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkspecializationmapentry_struct_wrapper class definition
600411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkspecializationmapentry_struct_wrapper::vkspecializationmapentry_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
600511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkspecializationmapentry_struct_wrapper::vkspecializationmapentry_struct_wrapper(VkSpecializationMapEntry* pInStruct) : m_indent(0), m_dummy_prefix('\0')
600611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
600711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
600811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
600911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
601011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkspecializationmapentry_struct_wrapper::vkspecializationmapentry_struct_wrapper(const VkSpecializationMapEntry* pInStruct) : m_indent(0), m_dummy_prefix('\0')
601111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
601211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
601311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
601411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
601511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkspecializationmapentry_struct_wrapper::~vkspecializationmapentry_struct_wrapper() {}
601611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
601711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkspecializationmapentry_struct_wrapper::display_single_txt()
601811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
601911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSpecializationMapEntry = 0x%p", m_indent, "", (void*)m_origStructAddr);
602011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
602111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
602211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
602311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkspecializationmapentry_struct_wrapper::display_struct_members()
602411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
602511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sconstantID = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.constantID));
602611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soffset = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.offset));
602711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.size));
602811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
602911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
603011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
603111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkspecializationmapentry_struct_wrapper::display_txt()
603211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
603311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSpecializationMapEntry struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
603411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
603511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
603611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
603711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
603811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkspecializationmapentry_struct_wrapper::display_full_txt()
603911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
604011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSpecializationMapEntry struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
604111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
604211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
604311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
604411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
604511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkstencilopstate_struct_wrapper class definition
604611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkstencilopstate_struct_wrapper::vkstencilopstate_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
604711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkstencilopstate_struct_wrapper::vkstencilopstate_struct_wrapper(VkStencilOpState* pInStruct) : m_indent(0), m_dummy_prefix('\0')
604811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
604911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
605011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
605111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
605211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkstencilopstate_struct_wrapper::vkstencilopstate_struct_wrapper(const VkStencilOpState* pInStruct) : m_indent(0), m_dummy_prefix('\0')
605311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
605411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
605511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
605611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
605711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkstencilopstate_struct_wrapper::~vkstencilopstate_struct_wrapper() {}
605811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
605911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkstencilopstate_struct_wrapper::display_single_txt()
606011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
606111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkStencilOpState = 0x%p", m_indent, "", (void*)m_origStructAddr);
606211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
606311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
606411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
606511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkstencilopstate_struct_wrapper::display_struct_members()
606611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
606711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sfailOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkStencilOp(m_struct.failOp));
606811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spassOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkStencilOp(m_struct.passOp));
606911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthFailOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkStencilOp(m_struct.depthFailOp));
607011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scompareOp = %s\n", m_indent, "", &m_dummy_prefix, string_VkCompareOp(m_struct.compareOp));
607111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scompareMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.compareMask));
607211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swriteMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.writeMask));
607311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sreference = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.reference));
607411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
607511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
607611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
607711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkstencilopstate_struct_wrapper::display_txt()
607811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
607911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkStencilOpState struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
608011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
608111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
608211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
608311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
608411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkstencilopstate_struct_wrapper::display_full_txt()
608511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
608611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkStencilOpState struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
608711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
608811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
608911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
609011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
609111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksubmitinfo_struct_wrapper class definition
609211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubmitinfo_struct_wrapper::vksubmitinfo_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
609311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubmitinfo_struct_wrapper::vksubmitinfo_struct_wrapper(VkSubmitInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
609411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
609511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
609611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
609711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
609811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubmitinfo_struct_wrapper::vksubmitinfo_struct_wrapper(const VkSubmitInfo* pInStruct) : m_indent(0), m_dummy_prefix('\0')
609911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
610011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
610111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
610211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
610311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubmitinfo_struct_wrapper::~vksubmitinfo_struct_wrapper() {}
610411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
610511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubmitinfo_struct_wrapper::display_single_txt()
610611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
610711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSubmitInfo = 0x%p", m_indent, "", (void*)m_origStructAddr);
610811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
610911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
611011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
611111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubmitinfo_struct_wrapper::display_struct_members()
611211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
611311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
611411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
611511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swaitSemaphoreCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.waitSemaphoreCount));
611611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
611711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<waitSemaphoreCount; i++) {
611811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spWaitSemaphores[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pWaitSemaphores)[i]);
611911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
612011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spWaitDstStageMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.pWaitDstStageMask));
612111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scommandBufferCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.commandBufferCount));
612211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<commandBufferCount; i++) {
612311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spCommandBuffers[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pCommandBuffers)[i]);
612411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
612511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssignalSemaphoreCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.signalSemaphoreCount));
612611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<signalSemaphoreCount; i++) {
612711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spSignalSemaphores[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pSignalSemaphores)[i]);
612811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
612911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
613011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
613111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
613211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubmitinfo_struct_wrapper::display_txt()
613311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
613411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSubmitInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
613511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
613611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
613711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
613811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
613911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubmitinfo_struct_wrapper::display_full_txt()
614011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
614111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSubmitInfo struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
614211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
614311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
614411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
614511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
614611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
614711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
614811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
614911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksubpassdependency_struct_wrapper class definition
615011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubpassdependency_struct_wrapper::vksubpassdependency_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
615111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubpassdependency_struct_wrapper::vksubpassdependency_struct_wrapper(VkSubpassDependency* pInStruct) : m_indent(0), m_dummy_prefix('\0')
615211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
615311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
615411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
615511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
615611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubpassdependency_struct_wrapper::vksubpassdependency_struct_wrapper(const VkSubpassDependency* pInStruct) : m_indent(0), m_dummy_prefix('\0')
615711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
615811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
615911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
616011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
616111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubpassdependency_struct_wrapper::~vksubpassdependency_struct_wrapper() {}
616211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
616311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubpassdependency_struct_wrapper::display_single_txt()
616411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
616511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSubpassDependency = 0x%p", m_indent, "", (void*)m_origStructAddr);
616611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
616711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
616811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
616911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubpassdependency_struct_wrapper::display_struct_members()
617011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
617111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcSubpass = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.srcSubpass));
617211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstSubpass = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstSubpass));
617311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcStageMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.srcStageMask));
617411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstStageMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstStageMask));
617511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssrcAccessMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.srcAccessMask));
617611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstAccessMask = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstAccessMask));
617711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdependencyFlags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dependencyFlags));
617811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
617911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
618011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
618111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubpassdependency_struct_wrapper::display_txt()
618211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
618311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSubpassDependency struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
618411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
618511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
618611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
618711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
618811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubpassdependency_struct_wrapper::display_full_txt()
618911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
619011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSubpassDependency struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
619111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
619211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
619311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
619411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
619511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksubpassdescription_struct_wrapper class definition
619611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubpassdescription_struct_wrapper::vksubpassdescription_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
619711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubpassdescription_struct_wrapper::vksubpassdescription_struct_wrapper(VkSubpassDescription* pInStruct) : m_indent(0), m_dummy_prefix('\0')
619811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
619911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
620011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
620111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
620211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubpassdescription_struct_wrapper::vksubpassdescription_struct_wrapper(const VkSubpassDescription* pInStruct) : m_indent(0), m_dummy_prefix('\0')
620311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
620411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
620511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
620611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
620711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubpassdescription_struct_wrapper::~vksubpassdescription_struct_wrapper() {}
620811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
620911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubpassdescription_struct_wrapper::display_single_txt()
621011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
621111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSubpassDescription = 0x%p", m_indent, "", (void*)m_origStructAddr);
621211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
621311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
621411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
621511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubpassdescription_struct_wrapper::display_struct_members()
621611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
621711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
621811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spipelineBindPoint = %s\n", m_indent, "", &m_dummy_prefix, string_VkPipelineBindPoint(m_struct.pipelineBindPoint));
621911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sinputAttachmentCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.inputAttachmentCount));
622011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
622111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<inputAttachmentCount; i++) {
622211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spInputAttachments[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pInputAttachments)[i]);
622311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
622411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scolorAttachmentCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.colorAttachmentCount));
622511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<colorAttachmentCount; i++) {
622611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spColorAttachments[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pColorAttachments)[i]);
622711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
622811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<colorAttachmentCount; i++) {
622911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spResolveAttachments[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pResolveAttachments)[i]);
623011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
623111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spDepthStencilAttachment = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.pDepthStencilAttachment));
623211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spreserveAttachmentCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.preserveAttachmentCount));
623311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<preserveAttachmentCount; i++) {
623411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spPreserveAttachments[%u] = %u\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pPreserveAttachments)[i]);
623511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
623611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
623711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
623811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
623911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubpassdescription_struct_wrapper::display_txt()
624011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
624111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSubpassDescription struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
624211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
624311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
624411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
624511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
624611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubpassdescription_struct_wrapper::display_full_txt()
624711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
624811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSubpassDescription struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
624911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
625011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pDepthStencilAttachment) {
625111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkattachmentreference_struct_wrapper class0(m_struct.pDepthStencilAttachment);
625211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
625311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
625411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
625511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
625611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<colorAttachmentCount; i++) {
625711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkattachmentreference_struct_wrapper class1(&(m_struct.pResolveAttachments[i]));
625811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.set_indent(m_indent + 4);
625911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.display_full_txt();
626011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
626111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<colorAttachmentCount; i++) {
626211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkattachmentreference_struct_wrapper class2(&(m_struct.pColorAttachments[i]));
626311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class2.set_indent(m_indent + 4);
626411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class2.display_full_txt();
626511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
626611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<inputAttachmentCount; i++) {
626711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkattachmentreference_struct_wrapper class3(&(m_struct.pInputAttachments[i]));
626811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class3.set_indent(m_indent + 4);
626911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class3.display_full_txt();
627011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
627111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
627211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
627311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
627411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksubresourcelayout_struct_wrapper class definition
627511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubresourcelayout_struct_wrapper::vksubresourcelayout_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
627611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubresourcelayout_struct_wrapper::vksubresourcelayout_struct_wrapper(VkSubresourceLayout* pInStruct) : m_indent(0), m_dummy_prefix('\0')
627711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
627811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
627911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
628011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
628111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubresourcelayout_struct_wrapper::vksubresourcelayout_struct_wrapper(const VkSubresourceLayout* pInStruct) : m_indent(0), m_dummy_prefix('\0')
628211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
628311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
628411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
628511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
628611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksubresourcelayout_struct_wrapper::~vksubresourcelayout_struct_wrapper() {}
628711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
628811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubresourcelayout_struct_wrapper::display_single_txt()
628911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
629011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSubresourceLayout = 0x%p", m_indent, "", (void*)m_origStructAddr);
629111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
629211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
629311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
629411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubresourcelayout_struct_wrapper::display_struct_members()
629511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
629611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soffset = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.offset));
629711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssize = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.size));
629811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %srowPitch = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.rowPitch));
629911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sarrayPitch = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.arrayPitch));
630011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdepthPitch = " PRINTF_SIZE_T_SPECIFIER "\n", m_indent, "", &m_dummy_prefix, (m_struct.depthPitch));
630111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
630211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
630311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
630411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubresourcelayout_struct_wrapper::display_txt()
630511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
630611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSubresourceLayout struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
630711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
630811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
630911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
631011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
631111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksubresourcelayout_struct_wrapper::display_full_txt()
631211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
631311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSubresourceLayout struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
631411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
631511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
631611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
631711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
631811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksurfacecapabilitieskhr_struct_wrapper class definition
631911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksurfacecapabilitieskhr_struct_wrapper::vksurfacecapabilitieskhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
632011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksurfacecapabilitieskhr_struct_wrapper::vksurfacecapabilitieskhr_struct_wrapper(VkSurfaceCapabilitiesKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
632111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
632211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
632311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
632411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
632511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksurfacecapabilitieskhr_struct_wrapper::vksurfacecapabilitieskhr_struct_wrapper(const VkSurfaceCapabilitiesKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
632611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
632711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
632811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
632911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
633011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksurfacecapabilitieskhr_struct_wrapper::~vksurfacecapabilitieskhr_struct_wrapper() {}
633111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
633211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksurfacecapabilitieskhr_struct_wrapper::display_single_txt()
633311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
633411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSurfaceCapabilitiesKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
633511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
633611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
633711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
633811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksurfacecapabilitieskhr_struct_wrapper::display_struct_members()
633911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
634011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminImageCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.minImageCount));
634111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxImageCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxImageCount));
634211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scurrentExtent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.currentExtent));
634311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminImageExtent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.minImageExtent));
634411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxImageExtent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.maxImageExtent));
634511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxImageArrayLayers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.maxImageArrayLayers));
634611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssupportedTransforms = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.supportedTransforms));
634711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scurrentTransform = %s\n", m_indent, "", &m_dummy_prefix, string_VkSurfaceTransformFlagBitsKHR(m_struct.currentTransform));
634811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssupportedCompositeAlpha = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.supportedCompositeAlpha));
634911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssupportedUsageFlags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.supportedUsageFlags));
635011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
635111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
635211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
635311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksurfacecapabilitieskhr_struct_wrapper::display_txt()
635411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
635511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSurfaceCapabilitiesKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
635611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
635711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
635811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
635911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
636011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksurfacecapabilitieskhr_struct_wrapper::display_full_txt()
636111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
636211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSurfaceCapabilitiesKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
636311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
636411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.maxImageExtent) {
636511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class0(&m_struct.maxImageExtent);
636611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
636711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
636811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
636911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.minImageExtent) {
637011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class1(&m_struct.minImageExtent);
637111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.set_indent(m_indent + 4);
637211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class1.display_full_txt();
637311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
637411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.currentExtent) {
637511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class2(&m_struct.currentExtent);
637611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.set_indent(m_indent + 4);
637711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class2.display_full_txt();
637811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
637911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
638011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
638111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
638211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vksurfaceformatkhr_struct_wrapper class definition
638311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksurfaceformatkhr_struct_wrapper::vksurfaceformatkhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
638411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksurfaceformatkhr_struct_wrapper::vksurfaceformatkhr_struct_wrapper(VkSurfaceFormatKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
638511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
638611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
638711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
638811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
638911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksurfaceformatkhr_struct_wrapper::vksurfaceformatkhr_struct_wrapper(const VkSurfaceFormatKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
639011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
639111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
639211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
639311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
639411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvksurfaceformatkhr_struct_wrapper::~vksurfaceformatkhr_struct_wrapper() {}
639511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
639611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksurfaceformatkhr_struct_wrapper::display_single_txt()
639711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
639811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSurfaceFormatKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
639911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
640011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
640111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
640211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksurfaceformatkhr_struct_wrapper::display_struct_members()
640311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
640411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sformat = %s\n", m_indent, "", &m_dummy_prefix, string_VkFormat(m_struct.format));
640511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scolorSpace = %s\n", m_indent, "", &m_dummy_prefix, string_VkColorSpaceKHR(m_struct.colorSpace));
640611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
640711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
640811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
640911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksurfaceformatkhr_struct_wrapper::display_txt()
641011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
641111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSurfaceFormatKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
641211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
641311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
641411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
641511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
641611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vksurfaceformatkhr_struct_wrapper::display_full_txt()
641711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
641811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSurfaceFormatKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
641911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
642011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
642111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
642211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
642311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkswapchaincreateinfokhr_struct_wrapper class definition
642411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkswapchaincreateinfokhr_struct_wrapper::vkswapchaincreateinfokhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
642511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkswapchaincreateinfokhr_struct_wrapper::vkswapchaincreateinfokhr_struct_wrapper(VkSwapchainCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
642611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
642711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
642811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
642911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
643011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkswapchaincreateinfokhr_struct_wrapper::vkswapchaincreateinfokhr_struct_wrapper(const VkSwapchainCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
643111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
643211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
643311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
643411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
643511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkswapchaincreateinfokhr_struct_wrapper::~vkswapchaincreateinfokhr_struct_wrapper() {}
643611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
643711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkswapchaincreateinfokhr_struct_wrapper::display_single_txt()
643811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
643911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkSwapchainCreateInfoKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
644011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
644111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
644211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
644311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkswapchaincreateinfokhr_struct_wrapper::display_struct_members()
644411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
644511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
644611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
644711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
644811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssurface = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.surface));
644911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminImageCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.minImageCount));
645011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageFormat = %s\n", m_indent, "", &m_dummy_prefix, string_VkFormat(m_struct.imageFormat));
645111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageColorSpace = %s\n", m_indent, "", &m_dummy_prefix, string_VkColorSpaceKHR(m_struct.imageColorSpace));
645211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageExtent = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)&(m_struct.imageExtent));
645311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageArrayLayers = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.imageArrayLayers));
645411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageUsage = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.imageUsage));
645511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %simageSharingMode = %s\n", m_indent, "", &m_dummy_prefix, string_VkSharingMode(m_struct.imageSharingMode));
645611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %squeueFamilyIndexCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.queueFamilyIndexCount));
645711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
645811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<queueFamilyIndexCount; i++) {
645911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spQueueFamilyIndices[%u] = %u\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pQueueFamilyIndices)[i]);
646011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
646111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spreTransform = %s\n", m_indent, "", &m_dummy_prefix, string_VkSurfaceTransformFlagBitsKHR(m_struct.preTransform));
646211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %scompositeAlpha = %s\n", m_indent, "", &m_dummy_prefix, string_VkCompositeAlphaFlagBitsKHR(m_struct.compositeAlpha));
646311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spresentMode = %s\n", m_indent, "", &m_dummy_prefix, string_VkPresentModeKHR(m_struct.presentMode));
646411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sclipped = %s\n", m_indent, "", &m_dummy_prefix, (m_struct.clipped) ? "TRUE" : "FALSE");
646511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soldSwapchain = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.oldSwapchain));
646611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
646711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
646811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
646911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkswapchaincreateinfokhr_struct_wrapper::display_txt()
647011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
647111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSwapchainCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
647211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
647311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
647411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
647511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
647611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkswapchaincreateinfokhr_struct_wrapper::display_full_txt()
647711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
647811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkSwapchainCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
647911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
648011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (&m_struct.imageExtent) {
648111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        vkextent2d_struct_wrapper class0(&m_struct.imageExtent);
648211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.set_indent(m_indent + 4);
648311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        class0.display_full_txt();
648411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
648511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
648611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
648711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
648811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
648911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
649011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
649111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkvertexinputattributedescription_struct_wrapper class definition
649211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkvertexinputattributedescription_struct_wrapper::vkvertexinputattributedescription_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
649311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkvertexinputattributedescription_struct_wrapper::vkvertexinputattributedescription_struct_wrapper(VkVertexInputAttributeDescription* pInStruct) : m_indent(0), m_dummy_prefix('\0')
649411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
649511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
649611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
649711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
649811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkvertexinputattributedescription_struct_wrapper::vkvertexinputattributedescription_struct_wrapper(const VkVertexInputAttributeDescription* pInStruct) : m_indent(0), m_dummy_prefix('\0')
649911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
650011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
650111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
650211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
650311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkvertexinputattributedescription_struct_wrapper::~vkvertexinputattributedescription_struct_wrapper() {}
650411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
650511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkvertexinputattributedescription_struct_wrapper::display_single_txt()
650611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
650711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkVertexInputAttributeDescription = 0x%p", m_indent, "", (void*)m_origStructAddr);
650811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
650911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
651011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
651111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkvertexinputattributedescription_struct_wrapper::display_struct_members()
651211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
651311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %slocation = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.location));
651411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbinding = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.binding));
651511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sformat = %s\n", m_indent, "", &m_dummy_prefix, string_VkFormat(m_struct.format));
651611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %soffset = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.offset));
651711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
651811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
651911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
652011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkvertexinputattributedescription_struct_wrapper::display_txt()
652111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
652211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkVertexInputAttributeDescription struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
652311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
652411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
652511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
652611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
652711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkvertexinputattributedescription_struct_wrapper::display_full_txt()
652811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
652911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkVertexInputAttributeDescription struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
653011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
653111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
653211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
653311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
653411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkvertexinputbindingdescription_struct_wrapper class definition
653511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkvertexinputbindingdescription_struct_wrapper::vkvertexinputbindingdescription_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
653611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkvertexinputbindingdescription_struct_wrapper::vkvertexinputbindingdescription_struct_wrapper(VkVertexInputBindingDescription* pInStruct) : m_indent(0), m_dummy_prefix('\0')
653711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
653811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
653911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
654011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
654111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkvertexinputbindingdescription_struct_wrapper::vkvertexinputbindingdescription_struct_wrapper(const VkVertexInputBindingDescription* pInStruct) : m_indent(0), m_dummy_prefix('\0')
654211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
654311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
654411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
654511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
654611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkvertexinputbindingdescription_struct_wrapper::~vkvertexinputbindingdescription_struct_wrapper() {}
654711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
654811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkvertexinputbindingdescription_struct_wrapper::display_single_txt()
654911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
655011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkVertexInputBindingDescription = 0x%p", m_indent, "", (void*)m_origStructAddr);
655111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
655211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
655311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
655411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkvertexinputbindingdescription_struct_wrapper::display_struct_members()
655511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
655611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sbinding = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.binding));
655711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sstride = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.stride));
655811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sinputRate = %s\n", m_indent, "", &m_dummy_prefix, string_VkVertexInputRate(m_struct.inputRate));
655911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
656011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
656111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
656211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkvertexinputbindingdescription_struct_wrapper::display_txt()
656311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
656411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkVertexInputBindingDescription struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
656511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
656611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
656711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
656811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
656911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkvertexinputbindingdescription_struct_wrapper::display_full_txt()
657011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
657111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkVertexInputBindingDescription struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
657211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
657311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
657411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
657511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
657611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkviewport_struct_wrapper class definition
657711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkviewport_struct_wrapper::vkviewport_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
657811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkviewport_struct_wrapper::vkviewport_struct_wrapper(VkViewport* pInStruct) : m_indent(0), m_dummy_prefix('\0')
657911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
658011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
658111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
658211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
658311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkviewport_struct_wrapper::vkviewport_struct_wrapper(const VkViewport* pInStruct) : m_indent(0), m_dummy_prefix('\0')
658411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
658511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
658611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
658711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
658811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkviewport_struct_wrapper::~vkviewport_struct_wrapper() {}
658911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
659011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkviewport_struct_wrapper::display_single_txt()
659111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
659211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkViewport = 0x%p", m_indent, "", (void*)m_origStructAddr);
659311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
659411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
659511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
659611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkviewport_struct_wrapper::display_struct_members()
659711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
659811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sx = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.x));
659911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sy = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.y));
660011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swidth = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.width));
660111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sheight = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.height));
660211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sminDepth = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.minDepth));
660311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %smaxDepth = %f\n", m_indent, "", &m_dummy_prefix, (m_struct.maxDepth));
660411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
660511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
660611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
660711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkviewport_struct_wrapper::display_txt()
660811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
660911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkViewport struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
661011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
661111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
661211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
661311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
661411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkviewport_struct_wrapper::display_full_txt()
661511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
661611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkViewport struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
661711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
661811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
661911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
662011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
662111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkwaylandsurfacecreateinfokhr_struct_wrapper class definition
662211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwaylandsurfacecreateinfokhr_struct_wrapper::vkwaylandsurfacecreateinfokhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
662311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwaylandsurfacecreateinfokhr_struct_wrapper::vkwaylandsurfacecreateinfokhr_struct_wrapper(VkWaylandSurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
662411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
662511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
662611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
662711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
662811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwaylandsurfacecreateinfokhr_struct_wrapper::vkwaylandsurfacecreateinfokhr_struct_wrapper(const VkWaylandSurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
662911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
663011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
663111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
663211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
663311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwaylandsurfacecreateinfokhr_struct_wrapper::~vkwaylandsurfacecreateinfokhr_struct_wrapper() {}
663411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
663511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwaylandsurfacecreateinfokhr_struct_wrapper::display_single_txt()
663611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
663711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkWaylandSurfaceCreateInfoKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
663811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
663911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
664011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
664111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwaylandsurfacecreateinfokhr_struct_wrapper::display_struct_members()
664211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
664311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
664411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
664511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
664611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdisplay = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.display));
664711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssurface = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.surface));
664811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
664911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
665011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
665111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwaylandsurfacecreateinfokhr_struct_wrapper::display_txt()
665211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
665311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkWaylandSurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
665411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
665511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
665611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
665711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
665811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwaylandsurfacecreateinfokhr_struct_wrapper::display_full_txt()
665911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
666011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkWaylandSurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
666111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
666211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
666311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
666411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
666511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
666611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
666711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
666811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkwin32surfacecreateinfokhr_struct_wrapper class definition
666911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwin32surfacecreateinfokhr_struct_wrapper::vkwin32surfacecreateinfokhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
667011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwin32surfacecreateinfokhr_struct_wrapper::vkwin32surfacecreateinfokhr_struct_wrapper(VkWin32SurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
667111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
667211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
667311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
667411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
667511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwin32surfacecreateinfokhr_struct_wrapper::vkwin32surfacecreateinfokhr_struct_wrapper(const VkWin32SurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
667611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
667711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
667811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
667911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
668011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwin32surfacecreateinfokhr_struct_wrapper::~vkwin32surfacecreateinfokhr_struct_wrapper() {}
668111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
668211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwin32surfacecreateinfokhr_struct_wrapper::display_single_txt()
668311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
668411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkWin32SurfaceCreateInfoKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
668511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
668611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
668711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
668811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwin32surfacecreateinfokhr_struct_wrapper::display_struct_members()
668911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
669011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
669111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
669211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
669311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %shinstance = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.hinstance));
669411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %shwnd = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.hwnd));
669511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
669611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
669711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
669811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwin32surfacecreateinfokhr_struct_wrapper::display_txt()
669911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
670011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkWin32SurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
670111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
670211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
670311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
670411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
670511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwin32surfacecreateinfokhr_struct_wrapper::display_full_txt()
670611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
670711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkWin32SurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
670811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
670911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
671011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
671111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
671211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
671311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
671411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
671511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkwritedescriptorset_struct_wrapper class definition
671611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwritedescriptorset_struct_wrapper::vkwritedescriptorset_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
671711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwritedescriptorset_struct_wrapper::vkwritedescriptorset_struct_wrapper(VkWriteDescriptorSet* pInStruct) : m_indent(0), m_dummy_prefix('\0')
671811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
671911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
672011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
672111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
672211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwritedescriptorset_struct_wrapper::vkwritedescriptorset_struct_wrapper(const VkWriteDescriptorSet* pInStruct) : m_indent(0), m_dummy_prefix('\0')
672311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
672411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
672511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
672611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
672711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkwritedescriptorset_struct_wrapper::~vkwritedescriptorset_struct_wrapper() {}
672811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
672911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwritedescriptorset_struct_wrapper::display_single_txt()
673011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
673111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkWriteDescriptorSet = 0x%p", m_indent, "", (void*)m_origStructAddr);
673211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
673311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
673411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
673511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwritedescriptorset_struct_wrapper::display_struct_members()
673611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
673711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
673811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
673911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstSet = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.dstSet));
674011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstBinding = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstBinding));
674111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdstArrayElement = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.dstArrayElement));
674211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdescriptorCount = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.descriptorCount));
674311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdescriptorType = %s\n", m_indent, "", &m_dummy_prefix, string_VkDescriptorType(m_struct.descriptorType));
674411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
674511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<descriptorCount; i++) {
674611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spImageInfo[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pImageInfo)[i]);
674711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
674811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<descriptorCount; i++) {
674911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spBufferInfo[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (void*)(m_struct.pBufferInfo)[i]);
675011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
675111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<descriptorCount; i++) {
675211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        printf("%*s    %spTexelBufferView[%u] = 0x%p\n", m_indent, "", &m_dummy_prefix, i, (m_struct.pTexelBufferView)[i]);
675311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
675411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
675511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
675611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
675711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwritedescriptorset_struct_wrapper::display_txt()
675811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
675911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkWriteDescriptorSet struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
676011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
676111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
676211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
676311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
676411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkwritedescriptorset_struct_wrapper::display_full_txt()
676511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
676611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkWriteDescriptorSet struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
676711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
676811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    uint32_t i;
676911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<descriptorCount; i++) {
677011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkdescriptorbufferinfo_struct_wrapper class0(&(m_struct.pBufferInfo[i]));
677111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.set_indent(m_indent + 4);
677211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class0.display_full_txt();
677311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
677411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    for (i = 0; i<descriptorCount; i++) {
677511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            vkdescriptorimageinfo_struct_wrapper class1(&(m_struct.pImageInfo[i]));
677611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.set_indent(m_indent + 4);
677711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            class1.display_full_txt();
677811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
677911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
678011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
678111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
678211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
678311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
678411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
678511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkxcbsurfacecreateinfokhr_struct_wrapper class definition
678611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkxcbsurfacecreateinfokhr_struct_wrapper::vkxcbsurfacecreateinfokhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
678711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkxcbsurfacecreateinfokhr_struct_wrapper::vkxcbsurfacecreateinfokhr_struct_wrapper(VkXcbSurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
678811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
678911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
679011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
679111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
679211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkxcbsurfacecreateinfokhr_struct_wrapper::vkxcbsurfacecreateinfokhr_struct_wrapper(const VkXcbSurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
679311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
679411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
679511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
679611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
679711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkxcbsurfacecreateinfokhr_struct_wrapper::~vkxcbsurfacecreateinfokhr_struct_wrapper() {}
679811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
679911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkxcbsurfacecreateinfokhr_struct_wrapper::display_single_txt()
680011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
680111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkXcbSurfaceCreateInfoKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
680211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
680311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
680411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
680511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkxcbsurfacecreateinfokhr_struct_wrapper::display_struct_members()
680611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
680711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
680811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
680911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
681011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sconnection = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.connection));
681111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swindow = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.window));
681211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
681311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
681411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
681511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkxcbsurfacecreateinfokhr_struct_wrapper::display_txt()
681611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
681711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkXcbSurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
681811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
681911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
682011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
682111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
682211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkxcbsurfacecreateinfokhr_struct_wrapper::display_full_txt()
682311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
682411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkXcbSurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
682511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
682611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
682711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
682811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
682911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
683011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
683111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
683211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// vkxlibsurfacecreateinfokhr_struct_wrapper class definition
683311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkxlibsurfacecreateinfokhr_struct_wrapper::vkxlibsurfacecreateinfokhr_struct_wrapper() : m_struct(), m_indent(0), m_dummy_prefix('\0'), m_origStructAddr(NULL) {}
683411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkxlibsurfacecreateinfokhr_struct_wrapper::vkxlibsurfacecreateinfokhr_struct_wrapper(VkXlibSurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
683511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
683611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
683711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
683811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
683911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkxlibsurfacecreateinfokhr_struct_wrapper::vkxlibsurfacecreateinfokhr_struct_wrapper(const VkXlibSurfaceCreateInfoKHR* pInStruct) : m_indent(0), m_dummy_prefix('\0')
684011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
684111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_struct = *pInStruct;
684211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    m_origStructAddr = pInStruct;
684311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
684411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvkxlibsurfacecreateinfokhr_struct_wrapper::~vkxlibsurfacecreateinfokhr_struct_wrapper() {}
684511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output 'structname = struct_address' on a single line
684611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkxlibsurfacecreateinfokhr_struct_wrapper::display_single_txt()
684711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
684811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf(" %*sVkXlibSurfaceCreateInfoKHR = 0x%p", m_indent, "", (void*)m_origStructAddr);
684911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
685011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
685111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Private helper function that displays the members of the wrapped struct
685211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkxlibsurfacecreateinfokhr_struct_wrapper::display_struct_members()
685311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
685411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %ssType = %s\n", m_indent, "", &m_dummy_prefix, string_VkStructureType(m_struct.sType));
685511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %spNext = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.pNext));
685611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sflags = %u\n", m_indent, "", &m_dummy_prefix, (m_struct.flags));
685711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %sdpy = 0x%p\n", m_indent, "", &m_dummy_prefix, (m_struct.dpy));
685811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*s    %swindow = 0x%p\n", m_indent, "", &m_dummy_prefix, (void*)(m_struct.window));
685911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
686011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
686111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, each on their own line
686211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkxlibsurfacecreateinfokhr_struct_wrapper::display_txt()
686311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
686411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkXlibSurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
686511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
686611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
686711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
686811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Output all struct elements, and for any structs pointed to, print complete contents
686911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid vkxlibsurfacecreateinfokhr_struct_wrapper::display_full_txt()
687011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
687111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    printf("%*sVkXlibSurfaceCreateInfoKHR struct contents at 0x%p:\n", m_indent, "", (void*)m_origStructAddr);
687211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    this->display_struct_members();
687311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    if (m_struct.pNext) {
687411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert        dynamic_display_full_txt(m_struct.pNext, m_indent);
687511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    }
687611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}
687711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
687811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert//any footer info for class
6879