@ -1,4 +1,6 @@
// ImGui GLFW binding with Vulkan + shaders
// ImGui GLFW binding with Vulkan + shaders
// FIXME: Changes of ImTextureID aren't supported by this binding! Please, someone add it!
// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
// If you use this binding you'll need to call 5 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXX_CreateFontsTexture(), ImGui_ImplXXXX_NewFrame(), ImGui_ImplXXXX_Render() and ImGui_ImplXXXX_Shutdown().
// If you use this binding you'll need to call 5 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXX_CreateFontsTexture(), ImGui_ImplXXXX_NewFrame(), ImGui_ImplXXXX_Render() and ImGui_ImplXXXX_Shutdown().
// If you are new to ImGui, see examples/README.txt and documentation at the top of imgui.cpp.
// If you are new to ImGui, see examples/README.txt and documentation at the top of imgui.cpp.
@ -59,168 +61,85 @@ static VkBuffer g_IndexBuffer[IMGUI_VK_QUEUED_FRAMES] = {};
static VkDeviceMemory g_UploadBufferMemory = VK_NULL_HANDLE ;
static VkDeviceMemory g_UploadBufferMemory = VK_NULL_HANDLE ;
static VkBuffer g_UploadBuffer = VK_NULL_HANDLE ;
static VkBuffer g_UploadBuffer = VK_NULL_HANDLE ;
static unsigned char __glsl_shader_vert_spv [ ] =
static uint32_t __glsl_shader_vert_spv [ ] =
{
{
0x03 , 0x02 , 0x23 , 0x07 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x08 , 0x00 ,
0x07230203 , 0x00010000 , 0x00080001 , 0x00000031 , 0x00000000 , 0x00020011 , 0x00000001 , 0x0006000b ,
0x6c , 0x60 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x11 , 0x00 , 0x02 , 0x00 ,
0x00000001 , 0x4c534c47 , 0x6474732e , 0x3035342e , 0x00000000 , 0x0003000e , 0x00000000 , 0x00000001 ,
0x01 , 0x00 , 0x00 , 0x00 , 0x11 , 0x00 , 0x02 , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 ,
0x000a000f , 0x00000000 , 0x00000004 , 0x6e69616d , 0x00000000 , 0x0000000b , 0x0000000f , 0x00000015 ,
0x11 , 0x00 , 0x02 , 0x00 , 0x21 , 0x00 , 0x00 , 0x00 , 0x0b , 0x00 , 0x06 , 0x00 ,
0x0000001e , 0x0000001f , 0x00030003 , 0x00000002 , 0x000001c2 , 0x00040005 , 0x00000004 , 0x6e69616d ,
0x01 , 0x00 , 0x00 , 0x00 , 0x47 , 0x4c , 0x53 , 0x4c , 0x2e , 0x73 , 0x74 , 0x64 ,
0x00000000 , 0x00030005 , 0x00000009 , 0x00000000 , 0x00050006 , 0x00000009 , 0x00000000 , 0x6f6c6f43 ,
0x2e , 0x34 , 0x35 , 0x30 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0e , 0x00 , 0x03 , 0x00 ,
0x00000072 , 0x00040006 , 0x00000009 , 0x00000001 , 0x00005655 , 0x00030005 , 0x0000000b , 0x0074754f ,
0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x0f , 0x00 , 0x0a , 0x00 ,
0x00040005 , 0x0000000f , 0x6c6f4361 , 0x0000726f , 0x00030005 , 0x00000015 , 0x00565561 , 0x00060005 ,
0x00 , 0x00 , 0x00 , 0x00 , 0x1f , 0x16 , 0x00 , 0x00 , 0x6d , 0x61 , 0x69 , 0x6e ,
0x0000001c , 0x505f6c67 , 0x65567265 , 0x78657472 , 0x00000000 , 0x00060006 , 0x0000001c , 0x00000000 ,
0x00 , 0x00 , 0x00 , 0x00 , 0x47 , 0x11 , 0x00 , 0x00 , 0x41 , 0x14 , 0x00 , 0x00 ,
0x505f6c67 , 0x7469736f , 0x006e6f69 , 0x00070006 , 0x0000001c , 0x00000001 , 0x505f6c67 , 0x746e696f ,
0x6a , 0x16 , 0x00 , 0x00 , 0x42 , 0x13 , 0x00 , 0x00 , 0x80 , 0x14 , 0x00 , 0x00 ,
0x657a6953 , 0x00000000 , 0x00070006 , 0x0000001c , 0x00000002 , 0x435f6c67 , 0x4470696c , 0x61747369 ,
0x47 , 0x00 , 0x03 , 0x00 , 0x1a , 0x04 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 ,
0x0065636e , 0x00070006 , 0x0000001c , 0x00000003 , 0x435f6c67 , 0x446c6c75 , 0x61747369 , 0x0065636e ,
0x47 , 0x00 , 0x04 , 0x00 , 0x41 , 0x14 , 0x00 , 0x00 , 0x1e , 0x00 , 0x00 , 0x00 ,
0x00030005 , 0x0000001e , 0x00000000 , 0x00040005 , 0x0000001f , 0x736f5061 , 0x00000000 , 0x00060005 ,
0x02 , 0x00 , 0x00 , 0x00 , 0x47 , 0x00 , 0x04 , 0x00 , 0x6a , 0x16 , 0x00 , 0x00 ,
0x00000021 , 0x73755075 , 0x6e6f4368 , 0x6e617473 , 0x00000074 , 0x00050006 , 0x00000021 , 0x00000000 ,
0x1e , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x48 , 0x00 , 0x05 , 0x00 ,
0x61635375 , 0x0000656c , 0x00060006 , 0x00000021 , 0x00000001 , 0x61725475 , 0x616c736e , 0x00006574 ,
0xb1 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0b , 0x00 , 0x00 , 0x00 ,
0x00030005 , 0x00000023 , 0x00006370 , 0x00040047 , 0x0000000b , 0x0000001e , 0x00000000 , 0x00040047 ,
0x00 , 0x00 , 0x00 , 0x00 , 0x48 , 0x00 , 0x05 , 0x00 , 0xb1 , 0x02 , 0x00 , 0x00 ,
0x0000000f , 0x0000001e , 0x00000002 , 0x00040047 , 0x00000015 , 0x0000001e , 0x00000001 , 0x00050048 ,
0x01 , 0x00 , 0x00 , 0x00 , 0x0b , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 ,
0x0000001c , 0x00000000 , 0x0000000b , 0x00000000 , 0x00050048 , 0x0000001c , 0x00000001 , 0x0000000b ,
0x48 , 0x00 , 0x05 , 0x00 , 0xb1 , 0x02 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 ,
0x00000001 , 0x00050048 , 0x0000001c , 0x00000002 , 0x0000000b , 0x00000003 , 0x00050048 , 0x0000001c ,
0x0b , 0x00 , 0x00 , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 , 0x48 , 0x00 , 0x05 , 0x00 ,
0x00000003 , 0x0000000b , 0x00000004 , 0x00030047 , 0x0000001c , 0x00000002 , 0x00040047 , 0x0000001f ,
0xb1 , 0x02 , 0x00 , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 , 0x0b , 0x00 , 0x00 , 0x00 ,
0x0000001e , 0x00000000 , 0x00050048 , 0x00000021 , 0x00000000 , 0x00000023 , 0x00000000 , 0x00050048 ,
0x04 , 0x00 , 0x00 , 0x00 , 0x47 , 0x00 , 0x03 , 0x00 , 0xb1 , 0x02 , 0x00 , 0x00 ,
0x00000021 , 0x00000001 , 0x00000023 , 0x00000008 , 0x00030047 , 0x00000021 , 0x00000002 , 0x00020013 ,
0x02 , 0x00 , 0x00 , 0x00 , 0x47 , 0x00 , 0x04 , 0x00 , 0x80 , 0x14 , 0x00 , 0x00 ,
0x00000002 , 0x00030021 , 0x00000003 , 0x00000002 , 0x00030016 , 0x00000006 , 0x00000020 , 0x00040017 ,
0x1e , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x48 , 0x00 , 0x05 , 0x00 ,
0x00000007 , 0x00000006 , 0x00000004 , 0x00040017 , 0x00000008 , 0x00000006 , 0x00000002 , 0x0004001e ,
0x06 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x23 , 0x00 , 0x00 , 0x00 ,
0x00000009 , 0x00000007 , 0x00000008 , 0x00040020 , 0x0000000a , 0x00000003 , 0x00000009 , 0x0004003b ,
0x00 , 0x00 , 0x00 , 0x00 , 0x48 , 0x00 , 0x05 , 0x00 , 0x06 , 0x04 , 0x00 , 0x00 ,
0x0000000a , 0x0000000b , 0x00000003 , 0x00040015 , 0x0000000c , 0x00000020 , 0x00000001 , 0x0004002b ,
0x01 , 0x00 , 0x00 , 0x00 , 0x23 , 0x00 , 0x00 , 0x00 , 0x08 , 0x00 , 0x00 , 0x00 ,
0x0000000c , 0x0000000d , 0x00000000 , 0x00040020 , 0x0000000e , 0x00000001 , 0x00000007 , 0x0004003b ,
0x47 , 0x00 , 0x03 , 0x00 , 0x06 , 0x04 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 ,
0x0000000e , 0x0000000f , 0x00000001 , 0x00040020 , 0x00000011 , 0x00000003 , 0x00000007 , 0x0004002b ,
0x47 , 0x00 , 0x04 , 0x00 , 0xfa , 0x16 , 0x00 , 0x00 , 0x22 , 0x00 , 0x00 , 0x00 ,
0x0000000c , 0x00000013 , 0x00000001 , 0x00040020 , 0x00000014 , 0x00000001 , 0x00000008 , 0x0004003b ,
0x00 , 0x00 , 0x00 , 0x00 , 0x13 , 0x00 , 0x02 , 0x00 , 0x08 , 0x00 , 0x00 , 0x00 ,
0x00000014 , 0x00000015 , 0x00000001 , 0x00040020 , 0x00000017 , 0x00000003 , 0x00000008 , 0x00040015 ,
0x21 , 0x00 , 0x03 , 0x00 , 0x02 , 0x05 , 0x00 , 0x00 , 0x08 , 0x00 , 0x00 , 0x00 ,
0x00000019 , 0x00000020 , 0x00000000 , 0x0004002b , 0x00000019 , 0x0000001a , 0x00000001 , 0x0004001c ,
0x16 , 0x00 , 0x03 , 0x00 , 0x0d , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 ,
0x0000001b , 0x00000006 , 0x0000001a , 0x0006001e , 0x0000001c , 0x00000007 , 0x00000006 , 0x0000001b ,
0x17 , 0x00 , 0x04 , 0x00 , 0x1d , 0x00 , 0x00 , 0x00 , 0x0d , 0x00 , 0x00 , 0x00 ,
0x0000001b , 0x00040020 , 0x0000001d , 0x00000003 , 0x0000001c , 0x0004003b , 0x0000001d , 0x0000001e ,
0x04 , 0x00 , 0x00 , 0x00 , 0x17 , 0x00 , 0x04 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 ,
0x00000003 , 0x0004003b , 0x00000014 , 0x0000001f , 0x00000001 , 0x0004001e , 0x00000021 , 0x00000008 ,
0x0d , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x1e , 0x00 , 0x04 , 0x00 ,
0x00000008 , 0x00040020 , 0x00000022 , 0x00000009 , 0x00000021 , 0x0004003b , 0x00000022 , 0x00000023 ,
0x1a , 0x04 , 0x00 , 0x00 , 0x1d , 0x00 , 0x00 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 ,
0x00000009 , 0x00040020 , 0x00000024 , 0x00000009 , 0x00000008 , 0x0004002b , 0x00000006 , 0x0000002b ,
0x20 , 0x00 , 0x04 , 0x00 , 0x97 , 0x06 , 0x00 , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 ,
0x00000000 , 0x0004002b , 0x00000006 , 0x0000002c , 0x3f800000 , 0x00050036 , 0x00000002 , 0x00000004 ,
0x1a , 0x04 , 0x00 , 0x00 , 0x3b , 0x00 , 0x04 , 0x00 , 0x97 , 0x06 , 0x00 , 0x00 ,
0x00000000 , 0x00000003 , 0x000200f8 , 0x00000005 , 0x0004003d , 0x00000007 , 0x00000010 , 0x0000000f ,
0x47 , 0x11 , 0x00 , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 , 0x15 , 0x00 , 0x04 , 0x00 ,
0x00050041 , 0x00000011 , 0x00000012 , 0x0000000b , 0x0000000d , 0x0003003e , 0x00000012 , 0x00000010 ,
0x0c , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 ,
0x0004003d , 0x00000008 , 0x00000016 , 0x00000015 , 0x00050041 , 0x00000017 , 0x00000018 , 0x0000000b ,
0x2b , 0x00 , 0x04 , 0x00 , 0x0c , 0x00 , 0x00 , 0x00 , 0x0b , 0x0a , 0x00 , 0x00 ,
0x00000013 , 0x0003003e , 0x00000018 , 0x00000016 , 0x0004003d , 0x00000008 , 0x00000020 , 0x0000001f ,
0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x04 , 0x00 , 0x9a , 0x02 , 0x00 , 0x00 ,
0x00050041 , 0x00000024 , 0x00000025 , 0x00000023 , 0x0000000d , 0x0004003d , 0x00000008 , 0x00000026 ,
0x01 , 0x00 , 0x00 , 0x00 , 0x1d , 0x00 , 0x00 , 0x00 , 0x3b , 0x00 , 0x04 , 0x00 ,
0x00000025 , 0x00050085 , 0x00000008 , 0x00000027 , 0x00000020 , 0x00000026 , 0x00050041 , 0x00000024 ,
0x9a , 0x02 , 0x00 , 0x00 , 0x41 , 0x14 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 ,
0x00000028 , 0x00000023 , 0x00000013 , 0x0004003d , 0x00000008 , 0x00000029 , 0x00000028 , 0x00050081 ,
0x20 , 0x00 , 0x04 , 0x00 , 0x9b , 0x02 , 0x00 , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 ,
0x00000008 , 0x0000002a , 0x00000027 , 0x00000029 , 0x00050051 , 0x00000006 , 0x0000002d , 0x0000002a ,
0x1d , 0x00 , 0x00 , 0x00 , 0x2b , 0x00 , 0x04 , 0x00 , 0x0c , 0x00 , 0x00 , 0x00 ,
0x00000000 , 0x00050051 , 0x00000006 , 0x0000002e , 0x0000002a , 0x00000001 , 0x00070050 , 0x00000007 ,
0x0e , 0x0a , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x04 , 0x00 ,
0x0000002f , 0x0000002d , 0x0000002e , 0x0000002b , 0x0000002c , 0x00050041 , 0x00000011 , 0x00000030 ,
0x90 , 0x02 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 ,
0x0000001e , 0x0000000d , 0x0003003e , 0x00000030 , 0x0000002f , 0x000100fd , 0x00010038
0x3b , 0x00 , 0x04 , 0x00 , 0x90 , 0x02 , 0x00 , 0x00 , 0x6a , 0x16 , 0x00 , 0x00 ,
0x01 , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x04 , 0x00 , 0x91 , 0x02 , 0x00 , 0x00 ,
0x03 , 0x00 , 0x00 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 , 0x15 , 0x00 , 0x04 , 0x00 ,
0x0b , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
0x2b , 0x00 , 0x04 , 0x00 , 0x0b , 0x00 , 0x00 , 0x00 , 0x0d , 0x0a , 0x00 , 0x00 ,
0x01 , 0x00 , 0x00 , 0x00 , 0x1c , 0x00 , 0x04 , 0x00 , 0x7f , 0x02 , 0x00 , 0x00 ,
0x0d , 0x00 , 0x00 , 0x00 , 0x0d , 0x0a , 0x00 , 0x00 , 0x1e , 0x00 , 0x06 , 0x00 ,
0xb1 , 0x02 , 0x00 , 0x00 , 0x1d , 0x00 , 0x00 , 0x00 , 0x0d , 0x00 , 0x00 , 0x00 ,
0x7f , 0x02 , 0x00 , 0x00 , 0x7f , 0x02 , 0x00 , 0x00 , 0x20 , 0x00 , 0x04 , 0x00 ,
0x2e , 0x05 , 0x00 , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 , 0xb1 , 0x02 , 0x00 , 0x00 ,
0x3b , 0x00 , 0x04 , 0x00 , 0x2e , 0x05 , 0x00 , 0x00 , 0x42 , 0x13 , 0x00 , 0x00 ,
0x03 , 0x00 , 0x00 , 0x00 , 0x3b , 0x00 , 0x04 , 0x00 , 0x90 , 0x02 , 0x00 , 0x00 ,
0x80 , 0x14 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x1e , 0x00 , 0x04 , 0x00 ,
0x06 , 0x04 , 0x00 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 ,
0x20 , 0x00 , 0x04 , 0x00 , 0x83 , 0x06 , 0x00 , 0x00 , 0x09 , 0x00 , 0x00 , 0x00 ,
0x06 , 0x04 , 0x00 , 0x00 , 0x3b , 0x00 , 0x04 , 0x00 , 0x83 , 0x06 , 0x00 , 0x00 ,
0xfa , 0x16 , 0x00 , 0x00 , 0x09 , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x04 , 0x00 ,
0x92 , 0x02 , 0x00 , 0x00 , 0x09 , 0x00 , 0x00 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 ,
0x2b , 0x00 , 0x04 , 0x00 , 0x0d , 0x00 , 0x00 , 0x00 , 0x0c , 0x0a , 0x00 , 0x00 ,
0x00 , 0x00 , 0x00 , 0x00 , 0x2b , 0x00 , 0x04 , 0x00 , 0x0d , 0x00 , 0x00 , 0x00 ,
0x8a , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x80 , 0x3f , 0x36 , 0x00 , 0x05 , 0x00 ,
0x08 , 0x00 , 0x00 , 0x00 , 0x1f , 0x16 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
0x02 , 0x05 , 0x00 , 0x00 , 0xf8 , 0x00 , 0x02 , 0x00 , 0x6b , 0x60 , 0x00 , 0x00 ,
0x3d , 0x00 , 0x04 , 0x00 , 0x1d , 0x00 , 0x00 , 0x00 , 0x71 , 0x4e , 0x00 , 0x00 ,
0x41 , 0x14 , 0x00 , 0x00 , 0x41 , 0x00 , 0x05 , 0x00 , 0x9b , 0x02 , 0x00 , 0x00 ,
0xaa , 0x26 , 0x00 , 0x00 , 0x47 , 0x11 , 0x00 , 0x00 , 0x0b , 0x0a , 0x00 , 0x00 ,
0x3e , 0x00 , 0x03 , 0x00 , 0xaa , 0x26 , 0x00 , 0x00 , 0x71 , 0x4e , 0x00 , 0x00 ,
0x3d , 0x00 , 0x04 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 , 0xda , 0x35 , 0x00 , 0x00 ,
0x6a , 0x16 , 0x00 , 0x00 , 0x41 , 0x00 , 0x05 , 0x00 , 0x91 , 0x02 , 0x00 , 0x00 ,
0xea , 0x50 , 0x00 , 0x00 , 0x47 , 0x11 , 0x00 , 0x00 , 0x0e , 0x0a , 0x00 , 0x00 ,
0x3e , 0x00 , 0x03 , 0x00 , 0xea , 0x50 , 0x00 , 0x00 , 0xda , 0x35 , 0x00 , 0x00 ,
0x3d , 0x00 , 0x04 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 , 0xc7 , 0x35 , 0x00 , 0x00 ,
0x80 , 0x14 , 0x00 , 0x00 , 0x41 , 0x00 , 0x05 , 0x00 , 0x92 , 0x02 , 0x00 , 0x00 ,
0xef , 0x56 , 0x00 , 0x00 , 0xfa , 0x16 , 0x00 , 0x00 , 0x0b , 0x0a , 0x00 , 0x00 ,
0x3d , 0x00 , 0x04 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 , 0xe0 , 0x29 , 0x00 , 0x00 ,
0xef , 0x56 , 0x00 , 0x00 , 0x85 , 0x00 , 0x05 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 ,
0xa0 , 0x22 , 0x00 , 0x00 , 0xc7 , 0x35 , 0x00 , 0x00 , 0xe0 , 0x29 , 0x00 , 0x00 ,
0x41 , 0x00 , 0x05 , 0x00 , 0x92 , 0x02 , 0x00 , 0x00 , 0x42 , 0x2c , 0x00 , 0x00 ,
0xfa , 0x16 , 0x00 , 0x00 , 0x0e , 0x0a , 0x00 , 0x00 , 0x3d , 0x00 , 0x04 , 0x00 ,
0x13 , 0x00 , 0x00 , 0x00 , 0x09 , 0x60 , 0x00 , 0x00 , 0x42 , 0x2c , 0x00 , 0x00 ,
0x81 , 0x00 , 0x05 , 0x00 , 0x13 , 0x00 , 0x00 , 0x00 , 0xd1 , 0x4e , 0x00 , 0x00 ,
0xa0 , 0x22 , 0x00 , 0x00 , 0x09 , 0x60 , 0x00 , 0x00 , 0x51 , 0x00 , 0x05 , 0x00 ,
0x0d , 0x00 , 0x00 , 0x00 , 0xa1 , 0x41 , 0x00 , 0x00 , 0xd1 , 0x4e , 0x00 , 0x00 ,
0x00 , 0x00 , 0x00 , 0x00 , 0x51 , 0x00 , 0x05 , 0x00 , 0x0d , 0x00 , 0x00 , 0x00 ,
0x84 , 0x36 , 0x00 , 0x00 , 0xd1 , 0x4e , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 ,
0x50 , 0x00 , 0x07 , 0x00 , 0x1d , 0x00 , 0x00 , 0x00 , 0x54 , 0x47 , 0x00 , 0x00 ,
0xa1 , 0x41 , 0x00 , 0x00 , 0x84 , 0x36 , 0x00 , 0x00 , 0x0c , 0x0a , 0x00 , 0x00 ,
0x8a , 0x00 , 0x00 , 0x00 , 0x41 , 0x00 , 0x05 , 0x00 , 0x9b , 0x02 , 0x00 , 0x00 ,
0x17 , 0x2f , 0x00 , 0x00 , 0x42 , 0x13 , 0x00 , 0x00 , 0x0b , 0x0a , 0x00 , 0x00 ,
0x3e , 0x00 , 0x03 , 0x00 , 0x17 , 0x2f , 0x00 , 0x00 , 0x54 , 0x47 , 0x00 , 0x00 ,
0xfd , 0x00 , 0x01 , 0x00 , 0x38 , 0x00 , 0x01 , 0x00
} ;
} ;
static unsigned int __glsl_shader_vert_spv_len = 1172 ;
static unsigned char __glsl_shader_frag_spv [ ] =
static uint32_t __glsl_shader_frag_spv [ ] =
{
{
0x03 , 0x02 , 0x23 , 0x07 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x08 , 0x00 ,
0x07230203 , 0x00010000 , 0x00080001 , 0x0000001e , 0x00000000 , 0x00020011 , 0x00000001 , 0x0006000b ,
0x6c , 0x5d , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x11 , 0x00 , 0x02 , 0x00 ,
0x00000001 , 0x4c534c47 , 0x6474732e , 0x3035342e , 0x00000000 , 0x0003000e , 0x00000000 , 0x00000001 ,
0x01 , 0x00 , 0x00 , 0x00 , 0x0b , 0x00 , 0x06 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 ,
0x0007000f , 0x00000004 , 0x00000004 , 0x6e69616d , 0x00000000 , 0x00000009 , 0x0000000d , 0x00030010 ,
0x47 , 0x4c , 0x53 , 0x4c , 0x2e , 0x73 , 0x74 , 0x64 , 0x2e , 0x34 , 0x35 , 0x30 ,
0x00000004 , 0x00000007 , 0x00030003 , 0x00000002 , 0x000001c2 , 0x00040005 , 0x00000004 , 0x6e69616d ,
0x00 , 0x00 , 0x00 , 0x00 , 0x0e , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
0x00000000 , 0x00040005 , 0x00000009 , 0x6c6f4366 , 0x0000726f , 0x00030005 , 0x0000000b , 0x00000000 ,
0x01 , 0x00 , 0x00 , 0x00 , 0x0f , 0x00 , 0x07 , 0x00 , 0x04 , 0x00 , 0x00 , 0x00 ,
0x00050006 , 0x0000000b , 0x00000000 , 0x6f6c6f43 , 0x00000072 , 0x00040006 , 0x0000000b , 0x00000001 ,
0x1f , 0x16 , 0x00 , 0x00 , 0x6d , 0x61 , 0x69 , 0x6e , 0x00 , 0x00 , 0x00 , 0x00 ,
0x00005655 , 0x00030005 , 0x0000000d , 0x00006e49 , 0x00050005 , 0x00000016 , 0x78655473 , 0x65727574 ,
0x7a , 0x0c , 0x00 , 0x00 , 0x35 , 0x16 , 0x00 , 0x00 , 0x10 , 0x00 , 0x03 , 0x00 ,
0x00000000 , 0x00040047 , 0x00000009 , 0x0000001e , 0x00000000 , 0x00040047 , 0x0000000d , 0x0000001e ,
0x1f , 0x16 , 0x00 , 0x00 , 0x07 , 0x00 , 0x00 , 0x00 , 0x47 , 0x00 , 0x04 , 0x00 ,
0x00000000 , 0x00040047 , 0x00000016 , 0x00000022 , 0x00000000 , 0x00040047 , 0x00000016 , 0x00000021 ,
0x7a , 0x0c , 0x00 , 0x00 , 0x1e , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
0x00000000 , 0x00020013 , 0x00000002 , 0x00030021 , 0x00000003 , 0x00000002 , 0x00030016 , 0x00000006 ,
0x47 , 0x00 , 0x04 , 0x00 , 0x7a , 0x0c , 0x00 , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 ,
0x00000020 , 0x00040017 , 0x00000007 , 0x00000006 , 0x00000004 , 0x00040020 , 0x00000008 , 0x00000003 ,
0x00 , 0x00 , 0x00 , 0x00 , 0x47 , 0x00 , 0x03 , 0x00 , 0x1a , 0x04 , 0x00 , 0x00 ,
0x00000007 , 0x0004003b , 0x00000008 , 0x00000009 , 0x00000003 , 0x00040017 , 0x0000000a , 0x00000006 ,
0x02 , 0x00 , 0x00 , 0x00 , 0x47 , 0x00 , 0x04 , 0x00 , 0xec , 0x14 , 0x00 , 0x00 ,
0x00000002 , 0x0004001e , 0x0000000b , 0x00000007 , 0x0000000a , 0x00040020 , 0x0000000c , 0x00000001 ,
0x22 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x47 , 0x00 , 0x04 , 0x00 ,
0x0000000b , 0x0004003b , 0x0000000c , 0x0000000d , 0x00000001 , 0x00040015 , 0x0000000e , 0x00000020 ,
0xec , 0x14 , 0x00 , 0x00 , 0x21 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
0x00000001 , 0x0004002b , 0x0000000e , 0x0000000f , 0x00000000 , 0x00040020 , 0x00000010 , 0x00000001 ,
0x13 , 0x00 , 0x02 , 0x00 , 0x08 , 0x00 , 0x00 , 0x00 , 0x21 , 0x00 , 0x03 , 0x00 ,
0x00000007 , 0x00090019 , 0x00000013 , 0x00000006 , 0x00000001 , 0x00000000 , 0x00000000 , 0x00000000 ,
0x02 , 0x05 , 0x00 , 0x00 , 0x08 , 0x00 , 0x00 , 0x00 , 0x16 , 0x00 , 0x03 , 0x00 ,
0x00000001 , 0x00000000 , 0x0003001b , 0x00000014 , 0x00000013 , 0x00040020 , 0x00000015 , 0x00000000 ,
0x0d , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 , 0x17 , 0x00 , 0x04 , 0x00 ,
0x00000014 , 0x0004003b , 0x00000015 , 0x00000016 , 0x00000000 , 0x0004002b , 0x0000000e , 0x00000018 ,
0x1d , 0x00 , 0x00 , 0x00 , 0x0d , 0x00 , 0x00 , 0x00 , 0x04 , 0x00 , 0x00 , 0x00 ,
0x00000001 , 0x00040020 , 0x00000019 , 0x00000001 , 0x0000000a , 0x00050036 , 0x00000002 , 0x00000004 ,
0x20 , 0x00 , 0x04 , 0x00 , 0x9a , 0x02 , 0x00 , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 ,
0x00000000 , 0x00000003 , 0x000200f8 , 0x00000005 , 0x00050041 , 0x00000010 , 0x00000011 , 0x0000000d ,
0x1d , 0x00 , 0x00 , 0x00 , 0x3b , 0x00 , 0x04 , 0x00 , 0x9a , 0x02 , 0x00 , 0x00 ,
0x0000000f , 0x0004003d , 0x00000007 , 0x00000012 , 0x00000011 , 0x0004003d , 0x00000014 , 0x00000017 ,
0x7a , 0x0c , 0x00 , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 , 0x17 , 0x00 , 0x04 , 0x00 ,
0x00000016 , 0x00050041 , 0x00000019 , 0x0000001a , 0x0000000d , 0x00000018 , 0x0004003d , 0x0000000a ,
0x13 , 0x00 , 0x00 , 0x00 , 0x0d , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 ,
0x0000001b , 0x0000001a , 0x00050057 , 0x00000007 , 0x0000001c , 0x00000017 , 0x0000001b , 0x00050085 ,
0x1e , 0x00 , 0x04 , 0x00 , 0x1a , 0x04 , 0x00 , 0x00 , 0x1d , 0x00 , 0x00 , 0x00 ,
0x00000007 , 0x0000001d , 0x00000012 , 0x0000001c , 0x0003003e , 0x00000009 , 0x0000001d , 0x000100fd ,
0x13 , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x04 , 0x00 , 0x97 , 0x06 , 0x00 , 0x00 ,
0x00010038
0x01 , 0x00 , 0x00 , 0x00 , 0x1a , 0x04 , 0x00 , 0x00 , 0x3b , 0x00 , 0x04 , 0x00 ,
0x97 , 0x06 , 0x00 , 0x00 , 0x35 , 0x16 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 ,
0x15 , 0x00 , 0x04 , 0x00 , 0x0c , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 ,
0x01 , 0x00 , 0x00 , 0x00 , 0x2b , 0x00 , 0x04 , 0x00 , 0x0c , 0x00 , 0x00 , 0x00 ,
0x0b , 0x0a , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x04 , 0x00 ,
0x9b , 0x02 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x1d , 0x00 , 0x00 , 0x00 ,
0x19 , 0x00 , 0x09 , 0x00 , 0x96 , 0x00 , 0x00 , 0x00 , 0x0d , 0x00 , 0x00 , 0x00 ,
0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
0x1b , 0x00 , 0x03 , 0x00 , 0xfe , 0x01 , 0x00 , 0x00 , 0x96 , 0x00 , 0x00 , 0x00 ,
0x20 , 0x00 , 0x04 , 0x00 , 0x7b , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
0xfe , 0x01 , 0x00 , 0x00 , 0x3b , 0x00 , 0x04 , 0x00 , 0x7b , 0x04 , 0x00 , 0x00 ,
0xec , 0x14 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x2b , 0x00 , 0x04 , 0x00 ,
0x0c , 0x00 , 0x00 , 0x00 , 0x0e , 0x0a , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 ,
0x20 , 0x00 , 0x04 , 0x00 , 0x90 , 0x02 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 ,
0x13 , 0x00 , 0x00 , 0x00 , 0x36 , 0x00 , 0x05 , 0x00 , 0x08 , 0x00 , 0x00 , 0x00 ,
0x1f , 0x16 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0x05 , 0x00 , 0x00 ,
0xf8 , 0x00 , 0x02 , 0x00 , 0x6b , 0x5d , 0x00 , 0x00 , 0x41 , 0x00 , 0x05 , 0x00 ,
0x9b , 0x02 , 0x00 , 0x00 , 0x8d , 0x1b , 0x00 , 0x00 , 0x35 , 0x16 , 0x00 , 0x00 ,
0x0b , 0x0a , 0x00 , 0x00 , 0x3d , 0x00 , 0x04 , 0x00 , 0x1d , 0x00 , 0x00 , 0x00 ,
0x0b , 0x40 , 0x00 , 0x00 , 0x8d , 0x1b , 0x00 , 0x00 , 0x3d , 0x00 , 0x04 , 0x00 ,
0xfe , 0x01 , 0x00 , 0x00 , 0xc0 , 0x36 , 0x00 , 0x00 , 0xec , 0x14 , 0x00 , 0x00 ,
0x41 , 0x00 , 0x05 , 0x00 , 0x90 , 0x02 , 0x00 , 0x00 , 0xc2 , 0x43 , 0x00 , 0x00 ,
0x35 , 0x16 , 0x00 , 0x00 , 0x0e , 0x0a , 0x00 , 0x00 , 0x3d , 0x00 , 0x04 , 0x00 ,
0x13 , 0x00 , 0x00 , 0x00 , 0x02 , 0x4e , 0x00 , 0x00 , 0xc2 , 0x43 , 0x00 , 0x00 ,
0x57 , 0x00 , 0x05 , 0x00 , 0x1d , 0x00 , 0x00 , 0x00 , 0xb9 , 0x46 , 0x00 , 0x00 ,
0xc0 , 0x36 , 0x00 , 0x00 , 0x02 , 0x4e , 0x00 , 0x00 , 0x85 , 0x00 , 0x05 , 0x00 ,
0x1d , 0x00 , 0x00 , 0x00 , 0xe4 , 0x23 , 0x00 , 0x00 , 0x0b , 0x40 , 0x00 , 0x00 ,
0xb9 , 0x46 , 0x00 , 0x00 , 0x3e , 0x00 , 0x03 , 0x00 , 0x7a , 0x0c , 0x00 , 0x00 ,
0xe4 , 0x23 , 0x00 , 0x00 , 0xfd , 0x00 , 0x01 , 0x00 , 0x38 , 0x00 , 0x01 , 0x00
} ;
} ;
static unsigned int __glsl_shader_frag_spv_len = 660 ;
static uint32_t ImGui_ImplGlfwVulkan_MemoryType ( VkMemoryPropertyFlags properties , uint32_t type_bits )
static uint32_t ImGui_ImplGlfwVulkan_MemoryType ( VkMemoryPropertyFlags properties , uint32_t type_bits )
{
{
@ -604,13 +523,13 @@ bool ImGui_ImplGlfwVulkan_CreateDeviceObjects()
{
{
VkShaderModuleCreateInfo vert_info = { } ;
VkShaderModuleCreateInfo vert_info = { } ;
vert_info . sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO ;
vert_info . sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO ;
vert_info . codeSize = __glsl_shader_vert_spv_len ;
vert_info . codeSize = sizeof ( __glsl_shader_vert_spv ) ;
vert_info . pCode = ( uint32_t * ) __glsl_shader_vert_spv ;
vert_info . pCode = ( uint32_t * ) __glsl_shader_vert_spv ;
err = vkCreateShaderModule ( g_Device , & vert_info , g_Allocator , & vert_module ) ;
err = vkCreateShaderModule ( g_Device , & vert_info , g_Allocator , & vert_module ) ;
ImGui_ImplGlfwVulkan_VkResult ( err ) ;
ImGui_ImplGlfwVulkan_VkResult ( err ) ;
VkShaderModuleCreateInfo frag_info = { } ;
VkShaderModuleCreateInfo frag_info = { } ;
frag_info . sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO ;
frag_info . sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO ;
frag_info . codeSize = __glsl_shader_frag_spv_len ;
frag_info . codeSize = sizeof ( __glsl_shader_frag_spv ) ;
frag_info . pCode = ( uint32_t * ) __glsl_shader_frag_spv ;
frag_info . pCode = ( uint32_t * ) __glsl_shader_frag_spv ;
err = vkCreateShaderModule ( g_Device , & frag_info , g_Allocator , & frag_module ) ;
err = vkCreateShaderModule ( g_Device , & frag_info , g_Allocator , & frag_module ) ;
ImGui_ImplGlfwVulkan_VkResult ( err ) ;
ImGui_ImplGlfwVulkan_VkResult ( err ) ;
@ -796,33 +715,22 @@ void ImGui_ImplGlfwVulkan_InvalidateFontUploadObjects()
void ImGui_ImplGlfwVulkan_InvalidateDeviceObjects ( )
void ImGui_ImplGlfwVulkan_InvalidateDeviceObjects ( )
{
{
ImGui_ImplGlfwVulkan_InvalidateFontUploadObjects ( ) ;
ImGui_ImplGlfwVulkan_InvalidateFontUploadObjects ( ) ;
for ( int i = 0 ; i < IMGUI_VK_QUEUED_FRAMES ; i + + )
for ( int i = 0 ; i < IMGUI_VK_QUEUED_FRAMES ; i + + )
{
{
if ( g_VertexBuffer [ i ] )
if ( g_VertexBuffer [ i ] ) { vkDestroyBuffer ( g_Device , g_VertexBuffer [ i ] , g_Allocator ) ; g_VertexBuffer [ i ] = VK_NULL_HANDLE ; }
vkDestroyBuffer ( g_Device , g_VertexBuffer [ i ] , g_Allocator ) ;
if ( g_VertexBufferMemory [ i ] ) { vkFreeMemory ( g_Device , g_VertexBufferMemory [ i ] , g_Allocator ) ; g_VertexBufferMemory [ i ] = VK_NULL_HANDLE ; }
if ( g_VertexBufferMemory [ i ] )
if ( g_IndexBuffer [ i ] ) { vkDestroyBuffer ( g_Device , g_IndexBuffer [ i ] , g_Allocator ) ; g_IndexBuffer [ i ] = VK_NULL_HANDLE ; }
vkFreeMemory ( g_Device , g_VertexBufferMemory [ i ] , g_Allocator ) ;
if ( g_IndexBufferMemory [ i ] ) { vkFreeMemory ( g_Device , g_IndexBufferMemory [ i ] , g_Allocator ) ; g_IndexBufferMemory [ i ] = VK_NULL_HANDLE ; }
if ( g_IndexBuffer [ i ] )
vkDestroyBuffer ( g_Device , g_IndexBuffer [ i ] , g_Allocator ) ;
if ( g_IndexBufferMemory [ i ] )
vkFreeMemory ( g_Device , g_IndexBufferMemory [ i ] , g_Allocator ) ;
}
}
if ( g_FontView )
if ( g_FontView ) { vkDestroyImageView ( g_Device , g_FontView , g_Allocator ) ; g_FontView = VK_NULL_HANDLE ; }
vkDestroyImageView ( g_Device , g_FontView , g_Allocator ) ;
if ( g_FontImage ) { vkDestroyImage ( g_Device , g_FontImage , g_Allocator ) ; g_FontImage = VK_NULL_HANDLE ; }
if ( g_FontImage )
if ( g_FontMemory ) { vkFreeMemory ( g_Device , g_FontMemory , g_Allocator ) ; g_FontMemory = VK_NULL_HANDLE ; }
vkDestroyImage ( g_Device , g_FontImage , g_Allocator ) ;
if ( g_FontSampler ) { vkDestroySampler ( g_Device , g_FontSampler , g_Allocator ) ; g_FontSampler = VK_NULL_HANDLE ; }
if ( g_FontMemory )
if ( g_DescriptorSetLayout ) { vkDestroyDescriptorSetLayout ( g_Device , g_DescriptorSetLayout , g_Allocator ) ; g_DescriptorSetLayout = VK_NULL_HANDLE ; }
vkFreeMemory ( g_Device , g_FontMemory , g_Allocator ) ;
if ( g_PipelineLayout ) { vkDestroyPipelineLayout ( g_Device , g_PipelineLayout , g_Allocator ) ; g_PipelineLayout = VK_NULL_HANDLE ; }
if ( g_FontSampler )
if ( g_Pipeline ) { vkDestroyPipeline ( g_Device , g_Pipeline , g_Allocator ) ; g_Pipeline = VK_NULL_HANDLE ; }
vkDestroySampler ( g_Device , g_FontSampler , g_Allocator ) ;
if ( g_DescriptorSetLayout )
vkDestroyDescriptorSetLayout ( g_Device , g_DescriptorSetLayout , g_Allocator ) ;
if ( g_PipelineLayout )
vkDestroyPipelineLayout ( g_Device , g_PipelineLayout , g_Allocator ) ;
if ( g_Pipeline )
vkDestroyPipeline ( g_Device , g_Pipeline , g_Allocator ) ;
}
}
bool ImGui_ImplGlfwVulkan_Init ( GLFWwindow * window , bool install_callbacks , ImGui_ImplGlfwVulkan_Init_Data * init_data )
bool ImGui_ImplGlfwVulkan_Init ( GLFWwindow * window , bool install_callbacks , ImGui_ImplGlfwVulkan_Init_Data * init_data )
@ -930,6 +838,7 @@ void ImGui_ImplGlfwVulkan_NewFrame()
// Start the frame
// Start the frame
ImGui : : NewFrame ( ) ;
ImGui : : NewFrame ( ) ;
}
}
void ImGui_ImplGlfwVulkan_Render ( VkCommandBuffer command_buffer )
void ImGui_ImplGlfwVulkan_Render ( VkCommandBuffer command_buffer )
{
{
g_CommandBuffer = command_buffer ;
g_CommandBuffer = command_buffer ;