Examples: imgui_impl_vulkan: Comments
diff --git a/examples/imgui_impl_vulkan.cpp b/examples/imgui_impl_vulkan.cpp
index 9ec0a12..b653cdc 100644
--- a/examples/imgui_impl_vulkan.cpp
+++ b/examples/imgui_impl_vulkan.cpp
@@ -8,6 +8,9 @@
 // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
 // https://github.com/ocornut/imgui
 
+// The aim of imgui_impl_vulkan.h/.cpp is to be usable in your engine without any modification. 
+// IF YOU FEEL YOU NEED TO MAKE ANY CHANGE TO THIS CODE, please share them and your feedback at https://github.com/ocornut/imgui/
+
 // CHANGELOG
 // (minor and older changes stripped away, please see git history for details)
 //  2018-06-22: Inverted the parameters to ImGui_ImplVulkan_RenderDrawData() to be consistent with other bindings.
@@ -214,8 +217,8 @@
 
     // Upload Vertex and index Data:
     {
-        ImDrawVert* vtx_dst;
-        ImDrawIdx* idx_dst;
+        ImDrawVert* vtx_dst = NULL;
+        ImDrawIdx* idx_dst = NULL;
         err = vkMapMemory(g_Device, fd->VertexBufferMemory, 0, vertex_size, 0, (void**)(&vtx_dst));
         check_vk_result(err);
         err = vkMapMemory(g_Device, fd->IndexBufferMemory, 0, index_size, 0, (void**)(&idx_dst));
@@ -724,7 +727,13 @@
 }
 
 //-------------------------------------------------------------------------
-// Miscellaneous Vulkan Helpers
+// Optional / Miscellaneous Vulkan Helpers
+//-------------------------------------------------------------------------
+// - Those functions do NOT use any of the state used/affected by the regular ImGui_ImplVulkan_XXX functions.
+// - If your application/engine already has code to create all that stuff (swap chain, render pass, frame buffers, etc.) you may ignore those.
+// - Those functions are used by the example main.cpp and will be used by imgui_impl_vulkan.cpp in the upcoming multi-viewport branch (1.70).
+//   Generally we try to not provide any kind of superfluous high-level helpers in the examples, but it is too much code to duplicate 
+//   in the main.cpp of every examples. Since the upcoming multi-viewport will need these, we include them here.
 //-------------------------------------------------------------------------
 
 #include <stdlib.h> // malloc
diff --git a/examples/imgui_impl_vulkan.h b/examples/imgui_impl_vulkan.h
index 73e2688..8bb19e0 100644
--- a/examples/imgui_impl_vulkan.h
+++ b/examples/imgui_impl_vulkan.h
@@ -8,9 +8,12 @@
 // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
 // https://github.com/ocornut/imgui
 
+// The aim of imgui_impl_vulkan.h/.cpp is to be usable in your engine without any modification. 
+// IF YOU FEEL YOU NEED TO MAKE ANY CHANGE TO THIS CODE, please share them and your feedback at https://github.com/ocornut/imgui/
+
 #include <vulkan/vulkan.h>
 
-#define IMGUI_VK_QUEUED_FRAMES 2
+#define IMGUI_VK_QUEUED_FRAMES      2
 
 struct ImGui_ImplVulkan_InitInfo
 {
@@ -25,24 +28,26 @@
     void                            (*CheckVkResultFn)(VkResult err);
 };
 
+// Called by user code
 IMGUI_IMPL_API bool     ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo* info, VkRenderPass render_pass);
 IMGUI_IMPL_API void     ImGui_ImplVulkan_Shutdown();
 IMGUI_IMPL_API void     ImGui_ImplVulkan_NewFrame();
 IMGUI_IMPL_API void     ImGui_ImplVulkan_RenderDrawData(ImDrawData* draw_data, VkCommandBuffer command_buffer);
-
-// Called by Init/NewFrame/Shutdown
-IMGUI_IMPL_API void     ImGui_ImplVulkan_InvalidateFontUploadObjects();
-IMGUI_IMPL_API void     ImGui_ImplVulkan_InvalidateDeviceObjects();
 IMGUI_IMPL_API bool     ImGui_ImplVulkan_CreateFontsTexture(VkCommandBuffer command_buffer);
+IMGUI_IMPL_API void     ImGui_ImplVulkan_InvalidateFontUploadObjects();
+
+// Called by ImGui_ImplVulkan_Init()
 IMGUI_IMPL_API bool     ImGui_ImplVulkan_CreateDeviceObjects();
+IMGUI_IMPL_API void     ImGui_ImplVulkan_InvalidateDeviceObjects();
 
 //-------------------------------------------------------------------------
-// Miscellaneous Vulkan Helpers
-// Generally we try to NOT provide any kind of superfluous high-level helpers in the examples. 
-// But for the upcoming multi-viewport feature, the Vulkan will need this code anyway, so we decided to shared it and use it in the examples' main.cpp
-// If your application/engine already has code to create all that data (swap chain, render pass, frame buffers, etc.) you can ignore all of this.
+// Optional / Miscellaneous Vulkan Helpers
 //-------------------------------------------------------------------------
-// NB: Those functions do NOT use any of the state used/affected by the regular ImGui_ImplVulkan_XXX functions.
+// - Those functions do NOT use any of the state used/affected by the regular ImGui_ImplVulkan_XXX functions.
+// - If your application/engine already has code to create all that stuff (swap chain, render pass, frame buffers, etc.) you may ignore those.
+// - Those functions are used by the example main.cpp and will be used by imgui_impl_vulkan.cpp in the upcoming multi-viewport branch (1.70).
+//   Generally we try to not provide any kind of superfluous high-level helpers in the examples, but it is too much code to duplicate 
+//   in the main.cpp of every examples. Since the upcoming multi-viewport will need these, we include them here.
 //-------------------------------------------------------------------------
 
 struct ImGui_ImplVulkanH_FrameData;