diff --git a/buildAndroid/android-generate.sh b/buildAndroid/android-generate.sh
index e1ee4d9..e3e59e9 100755
--- a/buildAndroid/android-generate.sh
+++ b/buildAndroid/android-generate.sh
@@ -18,11 +18,11 @@
 mkdir -p generated
 python ../vk-generate.py dispatch-table-ops layer > generated/vk_dispatch_table_helper.h
 
-python ../vk_helper.py --gen_enum_string_helper ../include/vulkan.h --abs_out_dir generated
-python ../vk_helper.py --gen_struct_wrappers ../include/vulkan.h --abs_out_dir generated
+python ../vk_helper.py --gen_enum_string_helper ../include/vulkan/vulkan.h --abs_out_dir generated
+python ../vk_helper.py --gen_struct_wrappers ../include/vulkan/vulkan.h --abs_out_dir generated
 
-python ../vk-layer-generate.py Generic ../include/vulkan.h > generated/generic_layer.cpp
-python ../vk-layer-generate.py APIDump ../include/vulkan.h > generated/api_dump.cpp
-python ../vk-layer-generate.py ObjectTracker ../include/vulkan.h > generated/object_track.cpp
-python ../vk-layer-generate.py Threading ../include/vulkan.h > generated/threading.cpp
+python ../vk-layer-generate.py Generic ../include/vulkan/vulkan.h > generated/generic_layer.cpp
+python ../vk-layer-generate.py APIDump ../include/vulkan/vulkan.h > generated/api_dump.cpp
+python ../vk-layer-generate.py ObjectTracker ../include/vulkan/vulkan.h > generated/object_track.cpp
+python ../vk-layer-generate.py Threading ../include/vulkan/vulkan.h > generated/threading.cpp
 
diff --git a/demos/cube.c b/demos/cube.c
index 3eafd30..25ca9b2 100644
--- a/demos/cube.c
+++ b/demos/cube.c
@@ -40,12 +40,12 @@
 #include <xcb/xcb.h>
 #endif // _WIN32
 
-#include <vulkan.h>
-#include <vk_ext_khr_swapchain.h>
-#include <vk_ext_khr_device_swapchain.h>
-#include "vk_debug_report_lunarg.h"
+#include <vulkan/vulkan.h>
+#include <vulkan/vk_ext_khr_swapchain.h>
+#include <vulkan/vk_ext_khr_device_swapchain.h>
+#include "vulkan/vk_debug_report_lunarg.h"
 
-#include "vk_sdk_platform.h"
+#include "vulkan/vk_sdk_platform.h"
 #include "linmath.h"
 
 #define DEMO_TEXTURE_COUNT 1
diff --git a/demos/tri.c b/demos/tri.c
index e059d53..bbfb3cd 100644
--- a/demos/tri.c
+++ b/demos/tri.c
@@ -47,10 +47,10 @@
 #include <xcb/xcb.h>
 #endif // _WIN32
 
-#include <vulkan.h>
-#include "vk_debug_report_lunarg.h"
-#include <vk_ext_khr_swapchain.h>
-#include <vk_ext_khr_device_swapchain.h>
+#include <vulkan/vulkan.h>
+#include "vulkan/vk_debug_report_lunarg.h"
+#include <vulkan/vk_ext_khr_swapchain.h>
+#include <vulkan/vk_ext_khr_device_swapchain.h>
 
 #define DEMO_TEXTURE_COUNT 1
 #define VERTEX_BUFFER_BIND_ID 0
diff --git a/demos/vulkaninfo.c b/demos/vulkaninfo.c
index 6e2888a..7ee75b7 100644
--- a/demos/vulkaninfo.c
+++ b/demos/vulkaninfo.c
@@ -37,10 +37,10 @@
 #include <io.h>
 #endif
 
-#include "vk_ext_khr_swapchain.h"
-#include "vk_ext_khr_device_swapchain.h"
+#include "vulkan/vk_ext_khr_swapchain.h"
+#include "vulkan/vk_ext_khr_device_swapchain.h"
 
-#include <vulkan.h>
+#include <vulkan/vulkan.h>
 
 #define ERR(err) printf("%s:%d: failed with %s\n", \
     __FILE__, __LINE__, vk_result_string(err));
diff --git a/icd/common/icd.h b/icd/common/icd.h
index 3fc5e3e..ac1c8ca 100644
--- a/icd/common/icd.h
+++ b/icd/common/icd.h
@@ -30,12 +30,12 @@
 #ifndef ICD_H
 #define ICD_H
 
-#include <vulkan.h>
-#include <vk_platform.h>
-#include <vk_debug_report_lunarg.h>
-#include "vk_ext_khr_swapchain.h"
-#include "vk_ext_khr_device_swapchain.h"
-#include "vk_sdk_platform.h"
+#include <vulkan/vulkan.h>
+#include <vulkan/vk_platform.h>
+#include <vulkan/vk_debug_report_lunarg.h>
+#include "vulkan/vk_ext_khr_swapchain.h"
+#include "vulkan/vk_ext_khr_device_swapchain.h"
+#include "vulkan/vk_sdk_platform.h"
 
 #if defined(__GNUC__) && __GNUC__ >= 4
 #  define ICD_EXPORT __attribute__((visibility("default")))
diff --git a/icd/intel/cmd.c b/icd/intel/cmd.c
index 41d5104..e88f496 100644
--- a/icd/intel/cmd.c
+++ b/icd/intel/cmd.c
@@ -33,7 +33,7 @@
 #include "obj.h"
 #include "cmd_priv.h"
 #include "fb.h"
-#include "vk_debug_marker_lunarg.h"
+#include "vulkan/vk_debug_marker_lunarg.h"
 
 /**
  * Free all resources used by a writer.  Note that the initial size is not
diff --git a/icd/intel/gpu.c b/icd/intel/gpu.c
index a2736b1..c020805 100644
--- a/icd/intel/gpu.c
+++ b/icd/intel/gpu.c
@@ -41,8 +41,8 @@
 #include "gpu.h"
 #include "instance.h"
 #include "wsi.h"
-#include "vk_debug_report_lunarg.h"
-#include "vk_debug_marker_lunarg.h"
+#include "vulkan/vk_debug_report_lunarg.h"
+#include "vulkan/vk_debug_marker_lunarg.h"
 
 static int gpu_open_primary_node(struct intel_gpu *gpu)
 {
diff --git a/icd/intel/intel.h b/icd/intel/intel.h
index 58bb57e..4e560ad 100644
--- a/icd/intel/intel.h
+++ b/icd/intel/intel.h
@@ -38,9 +38,9 @@
 #include <string.h>
 #include <assert.h>
 
-#include <vulkan.h>
-#include <vk_icd.h>
-#include <vk_debug_report_lunarg.h>
+#include <vulkan/vulkan.h>
+#include <vulkan/vk_icd.h>
+#include <vulkan/vk_debug_report_lunarg.h>
 
 #include "icd.h"
 #include "icd-spv.h"
diff --git a/icd/intel/obj.c b/icd/intel/obj.c
index c82cf41..4d2af30 100644
--- a/icd/intel/obj.c
+++ b/icd/intel/obj.c
@@ -30,7 +30,7 @@
 #include "gpu.h"
 #include "mem.h"
 #include "obj.h"
-#include "vk_debug_marker_lunarg.h"
+#include "vulkan/vk_debug_marker_lunarg.h"
 
 VkResult intel_base_get_memory_requirements(struct intel_base *base, VkMemoryRequirements* pRequirements)
 {
diff --git a/icd/nulldrv/nulldrv.h b/icd/nulldrv/nulldrv.h
index 4300127..5bb528f 100644
--- a/icd/nulldrv/nulldrv.h
+++ b/icd/nulldrv/nulldrv.h
@@ -32,11 +32,11 @@
 #include <string.h>
 #include <assert.h>
 
-#include <vulkan.h>
-#include <vk_debug_report_lunarg.h>
-#include <vk_icd.h>
-#include "vk_ext_khr_swapchain.h"
-#include "vk_ext_khr_device_swapchain.h"
+#include <vulkan/vulkan.h>
+#include <vulkan/vk_debug_report_lunarg.h>
+#include <vulkan/vk_icd.h>
+#include "vulkan/vk_ext_khr_swapchain.h"
+#include "vulkan/vk_ext_khr_device_swapchain.h"
 
 #include "icd.h"
 
diff --git a/include/vk_debug_marker_layer.h b/include/vulkan/vk_debug_marker_layer.h
similarity index 98%
rename from include/vk_debug_marker_layer.h
rename to include/vulkan/vk_debug_marker_layer.h
index d9b1d7d..0eede38 100644
--- a/include/vk_debug_marker_layer.h
+++ b/include/vulkan/vk_debug_marker_layer.h
@@ -30,7 +30,7 @@
 
 #pragma once
 
-#include "vulkan.h"
+#include "vulkan/vulkan.h"
 #include "vk_debug_marker_lunarg.h"
 #include "vk_layer.h"
 
diff --git a/include/vk_debug_marker_lunarg.h b/include/vulkan/vk_debug_marker_lunarg.h
similarity index 97%
rename from include/vk_debug_marker_lunarg.h
rename to include/vulkan/vk_debug_marker_lunarg.h
index cc53cc7..92a9549 100644
--- a/include/vk_debug_marker_lunarg.h
+++ b/include/vulkan/vk_debug_marker_lunarg.h
@@ -31,8 +31,8 @@
 #ifndef __VK_DEBUG_MARKER_H__
 #define __VK_DEBUG_MARKER_H__
 
-#include "vulkan.h"
-#include "vk_debug_report_lunarg.h"
+#include "vulkan/vulkan.h"
+#include "vulkan/vk_debug_report_lunarg.h"
 
 #define VK_DEBUG_MARKER_EXTENSION_NUMBER 6
 #define VK_DEBUG_MARKER_EXTENSION_REVISION 1
diff --git a/include/vk_debug_report_lunarg.h b/include/vulkan/vk_debug_report_lunarg.h
similarity index 99%
rename from include/vk_debug_report_lunarg.h
rename to include/vulkan/vk_debug_report_lunarg.h
index 27f2b87..6b4425e 100644
--- a/include/vk_debug_report_lunarg.h
+++ b/include/vulkan/vk_debug_report_lunarg.h
@@ -32,7 +32,7 @@
 #ifndef __VK_DEBUG_REPORT_LUNARG_H__
 #define __VK_DEBUG_REPORT_LUNARG_H__
 
-#include "vulkan.h"
+#include "vulkan/vulkan.h"
 
 #define VK_DEBUG_REPORT_EXTENSION_NUMBER 5
 #define VK_DEBUG_REPORT_EXTENSION_REVISION 1
diff --git a/include/vk_ext_khr_device_swapchain.h b/include/vulkan/vk_ext_khr_device_swapchain.h
similarity index 99%
rename from include/vk_ext_khr_device_swapchain.h
rename to include/vulkan/vk_ext_khr_device_swapchain.h
index af95ff0..a46f91a 100644
--- a/include/vk_ext_khr_device_swapchain.h
+++ b/include/vulkan/vk_ext_khr_device_swapchain.h
@@ -27,7 +27,7 @@
 #ifndef __VK_EXT_KHR_DEVICE_SWAPCHAIN_H__
 #define __VK_EXT_KHR_DEVICE_SWAPCHAIN_H__
 
-#include "vulkan.h"
+#include "vulkan/vulkan.h"
 
 #define VK_EXT_KHR_DEVICE_SWAPCHAIN_REVISION         53
 #define VK_EXT_KHR_DEVICE_SWAPCHAIN_EXTENSION_NUMBER 2
diff --git a/include/vk_ext_khr_swapchain.h b/include/vulkan/vk_ext_khr_swapchain.h
similarity index 99%
rename from include/vk_ext_khr_swapchain.h
rename to include/vulkan/vk_ext_khr_swapchain.h
index 862b4d5..a52414d 100644
--- a/include/vk_ext_khr_swapchain.h
+++ b/include/vulkan/vk_ext_khr_swapchain.h
@@ -27,7 +27,7 @@
 #ifndef __VK_EXT_KHR_SWAPCHAIN_H__
 #define __VK_EXT_KHR_SWAPCHAIN_H__
 
-#include "vulkan.h"
+#include "vulkan/vulkan.h"
 
 #define VK_EXT_KHR_SWAPCHAIN_REVISION         17
 #define VK_EXT_KHR_SWAPCHAIN_EXTENSION_NUMBER 1
diff --git a/include/vk_icd.h b/include/vulkan/vk_icd.h
similarity index 100%
rename from include/vk_icd.h
rename to include/vulkan/vk_icd.h
diff --git a/include/vk_layer.h b/include/vulkan/vk_layer.h
similarity index 97%
rename from include/vk_layer.h
rename to include/vulkan/vk_layer.h
index 491750b..4777cbb 100644
--- a/include/vk_layer.h
+++ b/include/vulkan/vk_layer.h
@@ -4,11 +4,11 @@
  */
 #pragma once
 
-#include "vulkan.h"
-#include "vk_debug_report_lunarg.h"
+#include "vulkan/vulkan.h"
+#include "vulkan/vk_debug_report_lunarg.h"
 #include "vk_debug_marker_lunarg.h"
-#include "vk_ext_khr_swapchain.h"
-#include "vk_ext_khr_device_swapchain.h"
+#include "vulkan/vk_ext_khr_swapchain.h"
+#include "vulkan/vk_ext_khr_device_swapchain.h"
 #if defined(__GNUC__) && __GNUC__ >= 4
 #  define VK_LAYER_EXPORT __attribute__((visibility("default")))
 #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
diff --git a/include/vk_platform.h b/include/vulkan/vk_platform.h
similarity index 100%
rename from include/vk_platform.h
rename to include/vulkan/vk_platform.h
diff --git a/include/vk_sdk_platform.h b/include/vulkan/vk_sdk_platform.h
similarity index 100%
rename from include/vk_sdk_platform.h
rename to include/vulkan/vk_sdk_platform.h
diff --git a/include/vulkan.h b/include/vulkan/vulkan.h
similarity index 100%
rename from include/vulkan.h
rename to include/vulkan/vulkan.h
diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt
index 77177b0..d00f834 100644
--- a/layers/CMakeLists.txt
+++ b/layers/CMakeLists.txt
@@ -2,15 +2,15 @@
 
 macro(run_vk_helper subcmd)
 	add_custom_command(OUTPUT ${ARGN}
-		COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/vk_helper.py --${subcmd} ${PROJECT_SOURCE_DIR}/include/vulkan.h --abs_out_dir ${CMAKE_CURRENT_BINARY_DIR}
-		DEPENDS ${PROJECT_SOURCE_DIR}/vk_helper.py ${PROJECT_SOURCE_DIR}/include/vulkan.h
+		COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/vk_helper.py --${subcmd} ${PROJECT_SOURCE_DIR}/include/vulkan/vulkan.h --abs_out_dir ${CMAKE_CURRENT_BINARY_DIR}
+		DEPENDS ${PROJECT_SOURCE_DIR}/vk_helper.py ${PROJECT_SOURCE_DIR}/include/vulkan/vulkan.h
 	)
 endmacro()
 
 macro(run_vk_layer_generate subcmd output)
 	add_custom_command(OUTPUT ${output}
-		COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/vk-layer-generate.py ${subcmd} ${PROJECT_SOURCE_DIR}/include/vulkan.h > ${output}
-		DEPENDS ${PROJECT_SOURCE_DIR}/vk-layer-generate.py ${PROJECT_SOURCE_DIR}/include/vulkan.h ${PROJECT_SOURCE_DIR}/vulkan.py
+		COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/vk-layer-generate.py ${subcmd} ${PROJECT_SOURCE_DIR}/include/vulkan/vulkan.h > ${output}
+		DEPENDS ${PROJECT_SOURCE_DIR}/vk-layer-generate.py ${PROJECT_SOURCE_DIR}/include/vulkan/vulkan.h ${PROJECT_SOURCE_DIR}/vulkan.py
 	)
 endmacro()
 
@@ -82,6 +82,7 @@
 include_directories(
 	${CMAKE_CURRENT_SOURCE_DIR}
 	${CMAKE_CURRENT_SOURCE_DIR}/../loader
+	${CMAKE_CURRENT_SOURCE_DIR}/../include/vulkan
 	${CMAKE_CURRENT_BINARY_DIR}
 )
 
diff --git a/layers/apidump.h b/layers/apidump.h
index 41a10c1..e5f4ff8 100644
--- a/layers/apidump.h
+++ b/layers/apidump.h
@@ -26,7 +26,7 @@
  */
 #pragma once
 
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 
 /*
  * This file contains static functions for the generated layer Generic
diff --git a/layers/basic.cpp b/layers/basic.cpp
index 21f93a1..9b58f92 100644
--- a/layers/basic.cpp
+++ b/layers/basic.cpp
@@ -28,7 +28,7 @@
 #include <stdlib.h>
 #include <assert.h>
 #include "vk_dispatch_table_helper.h"
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 #include "vk_layer_table.h"
 #include "vk_layer_extension_utils.h"
 
diff --git a/layers/device_limits.h b/layers/device_limits.h
index a426c5d..77de294 100644
--- a/layers/device_limits.h
+++ b/layers/device_limits.h
@@ -22,9 +22,9 @@
  *
  * Author: Tobin Ehlis <tobin@lunarg.com>
  */
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 #include <vector>
-#include "vk_debug_report_lunarg.h"
+#include "vulkan/vk_debug_report_lunarg.h"
 
 using namespace std;
 
diff --git a/layers/draw_state.h b/layers/draw_state.h
index 2dc8df5..db05bac 100755
--- a/layers/draw_state.h
+++ b/layers/draw_state.h
@@ -23,10 +23,10 @@
  * Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
  * Author: Tobin Ehlis <tobin@lunarg.com>
  */
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 #include <vector>
 #include <memory>
-#include "vk_debug_report_lunarg.h"
+#include "vulkan/vk_debug_report_lunarg.h"
 
 using namespace std;
 
diff --git a/layers/generic.h b/layers/generic.h
index 636bfc1..9f73eaa 100644
--- a/layers/generic.h
+++ b/layers/generic.h
@@ -27,7 +27,7 @@
 
 #ifndef GENERIC_H
 #define GENERIC_H
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 
 /*
  * This file contains static functions for the generated layer Generic
diff --git a/layers/image.h b/layers/image.h
index 57fb85c..2ddd4eb 100644
--- a/layers/image.h
+++ b/layers/image.h
@@ -26,7 +26,7 @@
  */
 #ifndef IMAGE_H
 #define IMAGE_H
-#include "vulkan.h"
+#include "vulkan/vulkan.h"
 #include "vk_layer_config.h"
 #include "vk_layer_logging.h"
 
diff --git a/layers/mem_tracker.h b/layers/mem_tracker.h
index 8cfcb0c..1963b38 100644
--- a/layers/mem_tracker.h
+++ b/layers/mem_tracker.h
@@ -25,8 +25,8 @@
  */
 #pragma once
 #include <vector>
-#include "vk_layer.h"
-#include "vk_debug_report_lunarg.h"
+#include "vulkan/vk_layer.h"
+#include "vulkan/vk_debug_report_lunarg.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/layers/multi.cpp b/layers/multi.cpp
index 256fbfe..a43a842 100644
--- a/layers/multi.cpp
+++ b/layers/multi.cpp
@@ -29,7 +29,7 @@
 #include <assert.h>
 #include <unordered_map>
 #include "vk_loader_platform.h"
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 #include "vk_layer_table.h"
 
 #ifdef __cplusplus
diff --git a/layers/object_track.h b/layers/object_track.h
index f166a04..51f406c 100644
--- a/layers/object_track.h
+++ b/layers/object_track.h
@@ -25,7 +25,7 @@
  * Author: Tobin Ehlis <tobin@lunarg.com>
  */
 
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 #include "vk_layer_extension_utils.h"
 #include "vk_enum_string_helper.h"
 
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index 528a73d..1f96ca8 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -36,7 +36,7 @@
 #include <vector>
 
 #include "vk_loader_platform.h"
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 #include "vk_layer_config.h"
 #include "vk_enum_validate_helper.h"
 #include "vk_struct_validate_helper.h"
diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp
index c930b85..a92854f 100644
--- a/layers/shader_checker.cpp
+++ b/layers/shader_checker.cpp
@@ -35,7 +35,7 @@
 #include <iostream>
 #include "vk_loader_platform.h"
 #include "vk_dispatch_table_helper.h"
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 #include "vk_layer_utils.h"
 #include "vk_layer_config.h"
 #include "vk_layer_table.h"
diff --git a/layers/shader_checker.h b/layers/shader_checker.h
index 32739ba..6a1ef65 100644
--- a/layers/shader_checker.h
+++ b/layers/shader_checker.h
@@ -22,8 +22,8 @@
  *
  * Author: Chris Forbes <chrisf@ijw.co.nz>
  */
-#include "vk_layer.h"
-#include "vk_debug_report_lunarg.h"
+#include "vulkan/vk_layer.h"
+#include "vulkan/vk_debug_report_lunarg.h"
 #include "vk_layer_logging.h"
 
 /* Shader checker error codes */
diff --git a/layers/swapchain.h b/layers/swapchain.h
index cc2337d..3820f92 100644
--- a/layers/swapchain.h
+++ b/layers/swapchain.h
@@ -27,8 +27,8 @@
 #ifndef SWAPCHAIN_H
 #define SWAPCHAIN_H
 
-#include "vk_layer.h"
-#include "vk_debug_report_lunarg.h"
+#include "vulkan/vk_layer.h"
+#include "vulkan/vk_debug_report_lunarg.h"
 #include "vk_layer_config.h"
 #include "vk_layer_logging.h"
 #include <vector>
diff --git a/layers/vk_layer_config.cpp b/layers/vk_layer_config.cpp
index a03d399..5374835 100755
--- a/layers/vk_layer_config.cpp
+++ b/layers/vk_layer_config.cpp
@@ -30,10 +30,10 @@
 #include <string>
 #include <map>
 #include <string.h>
-#include <vk_layer.h>
+#include <vulkan/vk_layer.h>
 #include <iostream>
 #include "vk_layer_config.h"
-#include "vk_sdk_platform.h"
+#include "vulkan/vk_sdk_platform.h"
 
 #define MAX_CHARS_PER_LINE 4096
 
diff --git a/layers/vk_layer_extension_utils.h b/layers/vk_layer_extension_utils.h
index 15880a4..6e6252f 100644
--- a/layers/vk_layer_extension_utils.h
+++ b/layers/vk_layer_extension_utils.h
@@ -24,7 +24,7 @@
  *
  */
 
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 
 #ifndef LAYER_EXTENSION_UTILS_H
 #define LAYER_EXTENSION_UTILS_H
diff --git a/layers/vk_layer_logging.h b/layers/vk_layer_logging.h
index 6eb1fe1..28a5201 100644
--- a/layers/vk_layer_logging.h
+++ b/layers/vk_layer_logging.h
@@ -34,7 +34,7 @@
 #include <unordered_map>
 #include <inttypes.h>
 #include "vk_loader_platform.h"
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 #include "vk_layer_data.h"
 #include "vk_layer_table.h"
 
diff --git a/layers/vk_layer_table.cpp b/layers/vk_layer_table.cpp
index 7429a1d..1c4fa13 100644
--- a/layers/vk_layer_table.cpp
+++ b/layers/vk_layer_table.cpp
@@ -25,7 +25,7 @@
 #include <assert.h>
 #include <unordered_map>
 #include "vk_dispatch_table_helper.h"
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 #include "vk_layer_table.h"
 static device_table_map tableMap;
 static instance_table_map tableInstanceMap;
diff --git a/layers/vk_layer_utils.cpp b/layers/vk_layer_utils.cpp
index 11a7739..66d8323 100644
--- a/layers/vk_layer_utils.cpp
+++ b/layers/vk_layer_utils.cpp
@@ -25,7 +25,7 @@
  */
 
 #include <string.h>
-#include "vulkan.h"
+#include "vulkan/vulkan.h"
 #include "vk_layer_utils.h"
 
 typedef struct _VULKAN_FORMAT_INFO {
diff --git a/loader/debug_report.c b/loader/debug_report.c
index 6ede98c..0e85ff7 100644
--- a/loader/debug_report.c
+++ b/loader/debug_report.c
@@ -35,7 +35,7 @@
 #endif
 #include "vk_loader_platform.h"
 #include "debug_report.h"
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 
 typedef void (VKAPI *PFN_stringCallback)(char *message);
 
diff --git a/loader/debug_report.h b/loader/debug_report.h
index 00c97e6..62969c2 100644
--- a/loader/debug_report.h
+++ b/loader/debug_report.h
@@ -27,7 +27,7 @@
 
 #include "vk_loader_platform.h"
 #include "loader.h"
-#include "vk_debug_report_lunarg.h"
+#include "vulkan/vk_debug_report_lunarg.h"
     /*
      * CreateMsgCallback is global and needs to be
      * applied to all layers and ICDs.
diff --git a/loader/loader.c b/loader/loader.c
index 5cef300..e19923d 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -44,7 +44,7 @@
 #include "gpa_helper.h"
 #include "table_ops.h"
 #include "debug_report.h"
-#include "vk_icd.h"
+#include "vulkan/vk_icd.h"
 #include "cJSON.h"
 
 static loader_platform_dl_handle loader_add_layer_lib(
diff --git a/loader/loader.h b/loader/loader.h
index f27b892..db03f9d 100644
--- a/loader/loader.h
+++ b/loader/loader.h
@@ -32,11 +32,11 @@
 #ifndef LOADER_H
 #define LOADER_H
 
-#include <vulkan.h>
-#include <vk_debug_report_lunarg.h>
-#include <vk_ext_khr_swapchain.h>
-#include <vk_layer.h>
-#include <vk_icd.h>
+#include <vulkan/vulkan.h>
+#include <vulkan/vk_debug_report_lunarg.h>
+#include <vulkan/vk_ext_khr_swapchain.h>
+#include <vulkan/vk_layer.h>
+#include <vulkan/vk_icd.h>
 #include <assert.h>
 
 #if defined(__GNUC__) && __GNUC__ >= 4
diff --git a/loader/table_ops.h b/loader/table_ops.h
index d582fd4..2b113e3 100644
--- a/loader/table_ops.h
+++ b/loader/table_ops.h
@@ -25,8 +25,8 @@
  * Author: Tony Barbour <tony@LunarG.com>
  */
 
-#include <vulkan.h>
-#include <vk_layer.h>
+#include <vulkan/vulkan.h>
+#include <vulkan/vk_layer.h>
 #include <string.h>
 #include "loader.h"
 #include "vk_loader_platform.h"
diff --git a/loader/vk-loader-generate.py b/loader/vk-loader-generate.py
index 15bd253..143af61 100755
--- a/loader/vk-loader-generate.py
+++ b/loader/vk-loader-generate.py
@@ -222,7 +222,7 @@
         super().run()
 
     def generate_header(self):
-        return "\n".join(["#include <vulkan.h>",
+        return "\n".join(["#include <vulkan/vulkan.h>",
                           "#include <vkLayer.h>",
                           "#include <string.h>",
                           "#include \"loader_platform.h\""])
diff --git a/loader/vk_loader_platform.h b/loader/vk_loader_platform.h
index 4fecaed..530546d 100644
--- a/loader/vk_loader_platform.h
+++ b/loader/vk_loader_platform.h
@@ -29,8 +29,8 @@
  */
 #pragma once
 
-#include "vk_platform.h"
-#include "vk_sdk_platform.h"
+#include "vulkan/vk_platform.h"
+#include "vulkan/vk_sdk_platform.h"
 
 #if defined(__linux__)
 /* Linux-specific common code: */
diff --git a/loader/wsi_swapchain.h b/loader/wsi_swapchain.h
index c263ca9..acf46a0 100644
--- a/loader/wsi_swapchain.h
+++ b/loader/wsi_swapchain.h
@@ -26,7 +26,7 @@
 
 #include "vk_loader_platform.h"
 #include "loader.h"
-#include "vk_ext_khr_swapchain.h"
+#include "vulkan/vk_ext_khr_swapchain.h"
 
 void wsi_swapchain_add_instance_extensions(
         const struct loader_instance *inst,
diff --git a/tests/image_tests.cpp b/tests/image_tests.cpp
index 24206f7..62d6a23 100644
--- a/tests/image_tests.cpp
+++ b/tests/image_tests.cpp
@@ -61,7 +61,7 @@
 #include <stdbool.h>
 #include <string.h>
 
-#include <vulkan.h>
+#include <vulkan/vulkan.h>
 #include "vktestbinding.h"
 #include "test_common.h"
 
diff --git a/tests/init.cpp b/tests/init.cpp
index 9a08800..5a96441 100644
--- a/tests/init.cpp
+++ b/tests/init.cpp
@@ -60,7 +60,7 @@
 #include <stdbool.h>
 #include <string.h>
 
-#include <vulkan.h>
+#include <vulkan/vulkan.h>
 
 #include "vktestbinding.h"
 #include "test_common.h"
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index fb2101f..1349f9c 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -1,5 +1,5 @@
-#include <vulkan.h>
-#include "vk_debug_report_lunarg.h"
+#include <vulkan/vulkan.h>
+#include "vulkan/vk_debug_report_lunarg.h"
 #include "test_common.h"
 #include "vkrenderframework.h"
 #include "vk_layer_config.h"
diff --git a/tests/render_tests.cpp b/tests/render_tests.cpp
index 1f4ec6c..5b79813 100644
--- a/tests/render_tests.cpp
+++ b/tests/render_tests.cpp
@@ -66,7 +66,7 @@
 #include <fstream>
 using namespace std;
 
-#include <vulkan.h>
+#include <vulkan/vulkan.h>
 #ifdef DUMP_STATE_DOT
 #include "../layers/draw_state.h"
 #endif
@@ -74,7 +74,7 @@
 #include "../layers/object_track.h"
 #endif
 #ifdef DEBUG_CALLBACK
-#include <vk_debug_report_lunarg.h>
+#include <vulkan/vk_debug_report_lunarg.h>
 #endif
 #include "test_common.h"
 
diff --git a/tests/test_common.h b/tests/test_common.h
index 5c3a3f0..9c76d1b 100644
--- a/tests/test_common.h
+++ b/tests/test_common.h
@@ -7,8 +7,8 @@
 #include <string.h>
 #include <assert.h>
 
-#include <vulkan.h>
-#include <vk_sdk_platform.h>
+#include <vulkan/vulkan.h>
+#include <vulkan/vk_sdk_platform.h>
 
 #ifdef WIN32
 #pragma warning( push )
diff --git a/tests/test_environment.cpp b/tests/test_environment.cpp
index 1a5ca34..8ca7559 100644
--- a/tests/test_environment.cpp
+++ b/tests/test_environment.cpp
@@ -1,8 +1,8 @@
 #include "test_common.h"
 #include "vktestbinding.h"
 #include "test_environment.h"
-#include "vk_ext_khr_swapchain.h"
-#include "vk_ext_khr_device_swapchain.h"
+#include "vulkan/vk_ext_khr_swapchain.h"
+#include "vulkan/vk_ext_khr_device_swapchain.h"
 
 #if defined(NDEBUG) && defined(__GNUC__)
 #define U_ASSERT_ONLY __attribute__((unused))
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index cbe1d0e..563680b 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -26,8 +26,8 @@
  */
 
 #include "vkrenderframework.h"
-#include <vk_ext_khr_swapchain.h>
-#include <vk_ext_khr_device_swapchain.h>
+#include <vulkan/vk_ext_khr_swapchain.h>
+#include <vulkan/vk_ext_khr_device_swapchain.h>
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 #define GET_DEVICE_PROC_ADDR(dev, entrypoint)                           \
diff --git a/tests/vkrenderframework.h b/tests/vkrenderframework.h
index 99be654..dd56af5 100644
--- a/tests/vkrenderframework.h
+++ b/tests/vkrenderframework.h
@@ -28,8 +28,8 @@
 #define VKRENDERFRAMEWORK_H
 
 #include "vktestframework.h"
-#include "vk_debug_report_lunarg.h"
-#include "vk_debug_marker_lunarg.h"
+#include "vulkan/vk_debug_report_lunarg.h"
+#include "vulkan/vk_debug_marker_lunarg.h"
 
 
 class VkDeviceObj : public vk_testing::Device
diff --git a/tests/vktestbinding.h b/tests/vktestbinding.h
index 06c695c..f5589f1 100644
--- a/tests/vktestbinding.h
+++ b/tests/vktestbinding.h
@@ -28,7 +28,7 @@
 #include <vector>
 #include <assert.h>
 
-#include "vulkan.h"
+#include "vulkan/vulkan.h"
 
 namespace vk_testing {
 
diff --git a/tests/vktestframework.cpp b/tests/vktestframework.cpp
index 8b770ae..a19f053 100644
--- a/tests/vktestframework.cpp
+++ b/tests/vktestframework.cpp
@@ -33,8 +33,8 @@
 #ifndef _WIN32
 #include <xcb/xcb.h>
 #endif
-#include "vk_ext_khr_swapchain.h"
-#include "vk_ext_khr_device_swapchain.h"
+#include "vulkan/vk_ext_khr_swapchain.h"
+#include "vulkan/vk_ext_khr_device_swapchain.h"
 
 #if defined(PATH_MAX) && !defined(MAX_PATH)
 #define MAX_PATH PATH_MAX
diff --git a/vk-generate.py b/vk-generate.py
index 8f42521..07503ae 100755
--- a/vk-generate.py
+++ b/vk-generate.py
@@ -107,8 +107,8 @@
         super(DispatchTableOpsSubcommand, self).run()
 
     def generate_header(self):
-        return "\n".join(["#include <vulkan.h>",
-                          "#include <vk_layer.h>",
+        return "\n".join(["#include <vulkan/vulkan.h>",
+                          "#include <vulkan/vk_layer.h>",
                           "#include <string.h>"])
 
     def _generate_init_dispatch(self, type):
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index 979f8c8..9ca9b11 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -624,7 +624,7 @@
 
 class LayerFuncsSubcommand(Subcommand):
     def generate_header(self):
-        return '#include <vk_layer.h>\n#include "loader.h"'
+        return '#include <vulkan/vk_layer.h>\n#include "loader.h"'
 
     def generate_body(self):
         return self._generate_dispatch_entrypoints("static")
@@ -638,7 +638,7 @@
         gen_header.append('#include <string.h>')
         gen_header.append('#include <unordered_map>')
         gen_header.append('#include "vk_loader_platform.h"')
-        gen_header.append('#include "vk_layer.h"')
+        gen_header.append('#include "vulkan/vk_layer.h"')
         gen_header.append('#include "vk_layer_config.h"')
         gen_header.append('#include "vk_layer_logging.h"')
         gen_header.append('#include "vk_layer_table.h"')
@@ -782,7 +782,7 @@
         header_txt.append('#include <string.h>')
         header_txt.append('')
         header_txt.append('#include "vk_loader_platform.h"')
-        header_txt.append('#include "vk_layer.h"')
+        header_txt.append('#include "vulkan/vk_layer.h"')
         header_txt.append('#include "vk_struct_string_helper_cpp.h"')
         header_txt.append('#include "vk_layer_table.h"')
         header_txt.append('#include "vk_layer_extension_utils.h"')
@@ -1189,14 +1189,14 @@
         header_txt.append('#include <string.h>')
         header_txt.append('#include <inttypes.h>')
         header_txt.append('')
-        header_txt.append('#include "vulkan.h"')
+        header_txt.append('#include "vulkan/vulkan.h"')
         header_txt.append('#include "vk_loader_platform.h"')
         header_txt.append('')
         header_txt.append('#include <unordered_map>')
         header_txt.append('using namespace std;')
-        header_txt.append('#include "vk_layer.h"')
+        header_txt.append('#include "vulkan/vk_layer.h"')
         header_txt.append('#include "vk_layer_config.h"')
-        header_txt.append('#include "vk_debug_report_lunarg.h"')
+        header_txt.append('#include "vulkan/vk_debug_report_lunarg.h"')
         header_txt.append('#include "vk_layer_table.h"')
         header_txt.append('#include "vk_layer_data.h"')
         header_txt.append('#include "vk_layer_logging.h"')
@@ -1809,7 +1809,7 @@
         header_txt.append('#include <string.h>')
         header_txt.append('#include <unordered_map>')
         header_txt.append('#include "vk_loader_platform.h"')
-        header_txt.append('#include "vk_layer.h"')
+        header_txt.append('#include "vulkan/vk_layer.h"')
         header_txt.append('#include "threading.h"')
         header_txt.append('#include "vk_layer_config.h"')
         header_txt.append('#include "vk_layer_extension_utils.h"')
diff --git a/vk_helper.py b/vk_helper.py
index 17f0151..6da4144 100755
--- a/vk_helper.py
+++ b/vk_helper.py
@@ -1363,8 +1363,8 @@
     def _generateSizeHelperHeaderC(self):
         header = []
         header.append('#include "vk_struct_size_helper.h"')
-        header.append('#include "vk_ext_khr_swapchain.h"')
-        header.append('#include "vk_ext_khr_device_swapchain.h"')
+        header.append('#include "vulkan/vk_ext_khr_swapchain.h"')
+        header.append('#include "vulkan/vk_ext_khr_device_swapchain.h"')
         header.append('#include <string.h>')
         header.append('#include <assert.h>')
         header.append('\n// Function definitions\n')
@@ -1489,7 +1489,7 @@
         header.append('#ifdef _WIN32\n')
         header.append('#pragma warning( disable : 4065 )\n')
         header.append('#endif\n')
-        header.append('#include <%s>\n\n\n' % self.in_file)
+        header.append('#include <vulkan/%s>\n\n\n' % self.in_file)
         return "\n".join(header)
 
 
@@ -1850,12 +1850,12 @@
         sw.generateStringHelperCpp()
         sw.set_no_addr(False)
         sw.generateStringHelperCpp()
-        sw.set_include_headers(["stdio.h", "stdlib.h", "vulkan.h"])
+        sw.set_include_headers(["stdio.h", "stdlib.h", "vulkan/vulkan.h"])
         sw.generateSizeHelper()
         sw.generateSizeHelperC()
     if opts.gen_struct_sizes:
         st = StructWrapperGen(struct_dict, os.path.basename(opts.input_file).strip(".h"), os.path.dirname(enum_sh_filename))
-        st.set_include_headers(["stdio.h", "stdlib.h", "vulkan.h"])
+        st.set_include_headers(["stdio.h", "stdlib.h", "vulkan/vulkan.h"])
         st.generateSizeHelper()
         st.generateSizeHelperC()
     if opts.gen_cmake:
diff --git a/vktrace/CMakeLists.txt b/vktrace/CMakeLists.txt
index b355bea..0b756ea 100644
--- a/vktrace/CMakeLists.txt
+++ b/vktrace/CMakeLists.txt
@@ -25,6 +25,10 @@
     message(FATAL_ERROR "Missing PythonInterp. Install python interpreter 2.7 (on linux use cmd: sudo apt-get install python2.7)")
 endif()
 
+include_directories(
+	${CMAKE_CURRENT_SOURCE_DIR}/../include/vulkan
+)
+
 message("")
 message("cmake options:")
 message("  -DCMAKE_BUILD_TYPE='${CMAKE_BUILD_TYPE}': Build debug or release. (Debug|Release)")
diff --git a/vktrace/src/vktrace_extensions/vktracevulkan/CMakeLists.txt b/vktrace/src/vktrace_extensions/vktracevulkan/CMakeLists.txt
index 040fdba..335279d 100644
--- a/vktrace/src/vktrace_extensions/vktracevulkan/CMakeLists.txt
+++ b/vktrace/src/vktrace_extensions/vktracevulkan/CMakeLists.txt
@@ -15,8 +15,8 @@
 #    message(STATUS "Using external Vulkan header and library.")
 #    set(VKTRACE_VULKAN_LIB vulkan)
     set(VKTRACE_VULKAN_DRIVER_DIR ${CMAKE_SOURCE_DIR})
-    set(VKTRACE_VULKAN_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include)
-    set(VKTRACE_VULKAN_HEADER ${CMAKE_SOURCE_DIR}/include/vulkan.h)
+    set(VKTRACE_VULKAN_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include/vulkan)
+    set(VKTRACE_VULKAN_HEADER ${CMAKE_SOURCE_DIR}/include/vulkan/vulkan.h)
     set(VKTRACE_VULKAN_DEBUG_REPORT_LUNARG_HEADER ${VKTRACE_VULKAN_INCLUDE_DIR}/vk_debug_report_lunarg.h)
     set(VKTRACE_VULKAN_DEBUG_MARKER_LUNARG_HEADER ${VKTRACE_VULKAN_INCLUDE_DIR}/vk_debug_marker_lunarg.h)
     set(VKTRACE_VULKAN_KHR_SWAPCHAIN_HEADER ${VKTRACE_VULKAN_INCLUDE_DIR}/vk_ext_khr_swapchain.h)
@@ -26,7 +26,7 @@
 #    message(STATUS "Using Vktrace-supplied Vulkan header and library.")
 #    set(VKTRACE_VULKAN_DRIVER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vulkan)
 #    set(VKTRACE_VULKAN_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vulkan/include)
-#    set(VKTRACE_VULKAN_HEADER ${VKTRACE_VULKAN_INCLUDE_DIR}/vulkan.h)
+#    set(VKTRACE_VULKAN_HEADER ${VKTRACE_VULKAN_INCLUDE_DIR}/vulkan/vulkan.h)
 #    set(VKTRACE_VULKAN_DEBUG_REPORT_LUNARG_HEADER ${VKTRACE_VULKAN_INCLUDE_DIR}/vk_debug_report_lunarg.h)
 #    set(VKTRACE_VULKAN_KHR_SWAPCHAIN_HEADER ${VKTRACE_VULKAN_INCLUDE_DIR}/vk_ext_khr_swapchain.h)
 #    set(VKTRACE_VULKAN_KHR_DEVICE_SWAPCHAIN_HEADER ${VKTRACE_VULKAN_INCLUDE_DIR}/vk_ext_khr_device_swapchain.h)
diff --git a/vktrace/src/vktrace_extensions/vktracevulkan/layers/vktrace_snapshot.h b/vktrace/src/vktrace_extensions/vktracevulkan/layers/vktrace_snapshot.h
index c770a9d..bdeafcb 100644
--- a/vktrace/src/vktrace_extensions/vktracevulkan/layers/vktrace_snapshot.h
+++ b/vktrace/src/vktrace_extensions/vktracevulkan/layers/vktrace_snapshot.h
@@ -26,7 +26,7 @@
  */
 
 #include "vkLayer.h"
-#include "vulkan.h"
+#include "vulkan/vulkan.h"
 // VkTrace Snapshot ERROR codes
 typedef enum _VKTRACE_SNAPSHOT_ERROR
 {
diff --git a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay.h b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay.h
index 9a1237f..39ff3b1 100644
--- a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay.h
+++ b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay.h
@@ -28,7 +28,7 @@
 #include "vkreplay_window.h"
 #include "vkreplay_factory.h"
 #include "vkreplay_settings.h"
-#include "vk_debug_report_lunarg.h"
+#include "vulkan/vk_debug_report_lunarg.h"
 
 
 extern void VkReplaySetLogCallback(VKTRACE_REPORT_CALLBACK_FUNCTION pCallback);
diff --git a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_settings.cpp b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_settings.cpp
index dcbe17d..aee1f8a 100644
--- a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_settings.cpp
+++ b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_settings.cpp
@@ -25,7 +25,7 @@
  * Author: Jon Ashburn <jon@lunarg.com>
  * Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
  **************************************************************************/
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 
 #include "vkreplay_settings.h"
 // declared as extern in header
diff --git a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_settings.h b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_settings.h
index 33fb623..3d1da75 100644
--- a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_settings.h
+++ b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_settings.h
@@ -33,7 +33,7 @@
 #include "vktrace_settings.h"
 }
 
-#include <vulkan.h>
+#include <vulkan/vulkan.h>
 
 typedef struct vkreplay_settings
 {
diff --git a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.cpp b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.cpp
index bdb6ab1..4c7b52b 100644
--- a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.cpp
+++ b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.cpp
@@ -28,7 +28,7 @@
  * Author: Tobin Ehlis <tobin@lunarg.com>
  */
 
-#include "vulkan.h"
+#include "vulkan/vulkan.h"
 #include "vkreplay_vkreplay.h"
 #include "vkreplay.h"
 #include "vkreplay_settings.h"
diff --git a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.h b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.h
index 2bd11cd..35bd6c0 100644
--- a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.h
+++ b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.h
@@ -49,10 +49,10 @@
 // TODO138 : Need to add packets files for new wsi headers
 }
 
-#include "vulkan.h"
-#include "vk_debug_report_lunarg.h"
-#include "vk_ext_khr_swapchain.h"
-#include "vk_ext_khr_device_swapchain.h"
+#include "vulkan/vulkan.h"
+#include "vulkan/vk_debug_report_lunarg.h"
+#include "vulkan/vk_ext_khr_swapchain.h"
+#include "vulkan/vk_ext_khr_device_swapchain.h"
 #include "vkreplay_vkdisplay.h"
 #include "vkreplay_vk_func_ptrs.h"
 #include "vkreplay_vk_objmapper.h"
diff --git a/vktrace/src/vktrace_layer/vktrace_lib_helpers.h b/vktrace/src/vktrace_layer/vktrace_lib_helpers.h
index ec6cf5b..3b6db92 100644
--- a/vktrace/src/vktrace_layer/vktrace_lib_helpers.h
+++ b/vktrace/src/vktrace_layer/vktrace_lib_helpers.h
@@ -27,7 +27,7 @@
  */
 #pragma once
 #include <unordered_map>
-#include "vk_layer.h"
+#include "vulkan/vk_layer.h"
 #include "vktrace_platform.h"
 #include "vktrace_vk_vk.h"
 #include "vk_struct_size_helper.h"
diff --git a/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp b/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp
index 6669788..d02c49b 100644
--- a/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp
+++ b/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp
@@ -28,7 +28,7 @@
  */
 #include <stdbool.h>
 #include <unordered_map>
-#include "vulkan.h"
+#include "vulkan/vulkan.h"
 #include "vktrace_platform.h"
 #include "vk_dispatch_table_helper.h"
 #include "vktrace_common.h"
diff --git a/vktrace/src/vktrace_layer/vktrace_vk_exts.cpp b/vktrace/src/vktrace_layer/vktrace_vk_exts.cpp
index 68dbad1..91a4104 100644
--- a/vktrace/src/vktrace_layer/vktrace_vk_exts.cpp
+++ b/vktrace/src/vktrace_layer/vktrace_vk_exts.cpp
@@ -23,11 +23,11 @@
  *
  * Author: Jon Ashburn <jon@lunarg.com>
  */
-#include "vk_debug_marker_lunarg.h"
-#include "vk_debug_report_lunarg.h"
-#include "vk_ext_khr_swapchain.h"
-#include "vk_ext_khr_device_swapchain.h"
-#include "vk_layer.h"
+#include "vulkan/vk_debug_marker_lunarg.h"
+#include "vulkan/vk_debug_report_lunarg.h"
+#include "vulkan/vk_ext_khr_swapchain.h"
+#include "vulkan/vk_ext_khr_device_swapchain.h"
+#include "vulkan/vk_layer.h"
 #include "vktrace_lib_helpers.h"
 
 void ext_init_create_instance(
@@ -86,4 +86,4 @@
             devData->KHRDeviceSwapchainEnabled = true;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/vktrace/src/vktrace_layer/vktrace_vk_exts.h b/vktrace/src/vktrace_layer/vktrace_vk_exts.h
index b92d20a..4d9f649 100644
--- a/vktrace/src/vktrace_layer/vktrace_vk_exts.h
+++ b/vktrace/src/vktrace_layer/vktrace_vk_exts.h
@@ -25,11 +25,11 @@
  */
 #pragma once
 
-#include "vk_debug_marker_lunarg.h"
-#include "vk_debug_report_lunarg.h"
-#include "vk_ext_khr_swapchain.h"
-#include "vk_ext_khr_device_swapchain.h"
-#include "vk_layer.h"
+#include "vulkan/vk_debug_marker_lunarg.h"
+#include "vulkan/vk_debug_report_lunarg.h"
+#include "vulkan/vk_ext_khr_swapchain.h"
+#include "vulkan/vk_ext_khr_device_swapchain.h"
+#include "vulkan/vk_layer.h"
 #include "vktrace_lib_helpers.h"
 
 void ext_init_create_instance(
diff --git a/vktrace/vktrace_generate.py b/vktrace/vktrace_generate.py
index b43d407..d4e0c13 100755
--- a/vktrace/vktrace_generate.py
+++ b/vktrace/vktrace_generate.py
@@ -1828,7 +1828,7 @@
     def generate_header(self, extensionName):
         header_txt = []
         header_txt.append('#pragma once\n')
-        header_txt.append('#include "vulkan.h"')
+        header_txt.append('#include "vulkan/vulkan.h"')
         header_txt.append('#include "vktrace_trace_packet_utils.h"\n')
         return "\n".join(header_txt)
 
@@ -1842,7 +1842,7 @@
     def generate_header(self, extensionName):
         header_txt = []
         header_txt.append('#pragma once\n')
-        header_txt.append('#include "vulkan.h"')
+        header_txt.append('#include "vulkan/vulkan.h"')
         header_txt.append('#include "%s.h"' % extensionName.lower())
         return "\n".join(header_txt)
 
@@ -1857,7 +1857,7 @@
         header_txt.append('#include "vktrace_platform.h"')
         header_txt.append('#include "vktrace_common.h"')
         if extensionName == "vk_ext_khr_device_swapchain":
-            header_txt.append('#include "vk_ext_khr_swapchain.h"')
+            header_txt.append('#include "vulkan/vk_ext_khr_swapchain.h"')
         header_txt.append('#include "vktrace_vk_%s.h"' % extensionName.lower())
         header_txt.append('#include "vktrace_vk_%s_packets.h"' % extensionName.lower())
         header_txt.append('#include "vktrace_vk_packet_id.h"')
@@ -1894,11 +1894,11 @@
         header_txt.append('#if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)')
         header_txt.append('#include <xcb/xcb.h>\n')
         header_txt.append('#endif')
-        header_txt.append('#include "vulkan.h"')
-        header_txt.append('#include "vk_debug_report_lunarg.h"')
+        header_txt.append('#include "vulkan/vulkan.h"')
+        header_txt.append('#include "vulkan/vk_debug_report_lunarg.h"')
         header_txt.append('#include "vk_debug_marker_lunarg.h"')
-        header_txt.append('#include "vk_ext_khr_swapchain.h"')
-        header_txt.append('#include "vk_ext_khr_device_swapchain.h"')
+        header_txt.append('#include "vulkan/vk_ext_khr_swapchain.h"')
+        header_txt.append('#include "vulkan/vk_ext_khr_device_swapchain.h"')
 
     def generate_body(self):
         body = [self._generate_replay_func_ptrs()]
@@ -1912,11 +1912,11 @@
         header_txt.append('#include <map>')
         header_txt.append('#include <vector>')
         header_txt.append('#include <string>')
-        header_txt.append('#include "vulkan.h"')
-        header_txt.append('#include "vk_debug_report_lunarg.h"')
+        header_txt.append('#include "vulkan/vulkan.h"')
+        header_txt.append('#include "vulkan/vk_debug_report_lunarg.h"')
         header_txt.append('#include "vk_debug_marker_lunarg.h"')
-        header_txt.append('#include "vk_ext_khr_swapchain.h"')
-        header_txt.append('#include "vk_ext_khr_device_swapchain.h"')
+        header_txt.append('#include "vulkan/vk_ext_khr_swapchain.h"')
+        header_txt.append('#include "vulkan/vk_ext_khr_device_swapchain.h"')
         return "\n".join(header_txt)
 
     def generate_body(self):
diff --git a/vulkan.py b/vulkan.py
index 84dc6bb..f6350db 100755
--- a/vulkan.py
+++ b/vulkan.py
@@ -186,7 +186,7 @@
 # VK core API
 core = Extension(
     name="VK_CORE",
-    headers=["vulkan.h", "vk_debug_report_lunarg.h"],
+    headers=["vulkan/vulkan.h", "vulkan/vk_debug_report_lunarg.h"],
     objects=[
         "VkInstance",
         "VkPhysicalDevice",
@@ -1006,7 +1006,7 @@
 
 ext_khr_swapchain = Extension(
     name="VK_EXT_KHR_swapchain",
-    headers=["vk_ext_khr_swapchain.h"],
+    headers=["vulkan/vk_ext_khr_swapchain.h"],
     objects=[],
     protos=[
         Proto("VkResult", "GetPhysicalDeviceSurfaceSupportKHR",
@@ -1087,7 +1087,7 @@
 )
 debug_marker_lunarg = Extension(
     name="VK_DEBUG_MARKER_LunarG",
-    headers=["vk_debug_marker_lunarg.h"],
+    headers=["vulkan/vk_debug_marker_lunarg.h"],
     objects=[],
     protos=[
         Proto("void", "CmdDbgMarkerBegin",
@@ -1210,7 +1210,7 @@
 
     # make them an extension and print
     ext = Extension("VK_CORE",
-            headers=["vulkan.h", "vk_debug_report_lunarg.h"],
+            headers=["vulkan/vulkan.h", "vk_debug_report_lunarg.h"],
             objects=object_lines,
             protos=protos)
     print("core =", str(ext))
@@ -1223,4 +1223,4 @@
     print("} VkLayerDispatchTable;")
 
 if __name__ == "__main__":
-    parse_vk_h("include/vulkan.h")
+    parse_vk_h("include/vulkan/vulkan.h")
