Merge pull request #212 from billhollings/master

Rename folders and project for Cube demo.
diff --git a/Demos/Demos.xcworkspace/contents.xcworkspacedata b/Demos/Demos.xcworkspace/contents.xcworkspacedata
index c633e37..87886c3 100644
--- a/Demos/Demos.xcworkspace/contents.xcworkspacedata
+++ b/Demos/Demos.xcworkspace/contents.xcworkspacedata
@@ -11,7 +11,7 @@
          location = "group:LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj">
       </FileRef>
       <FileRef
-         location = "group:LunarG-VulkanSamples/Demos/Demos.xcodeproj">
+         location = "group:LunarG-VulkanSamples/Cube/Cube.xcodeproj">
       </FileRef>
       <FileRef
          location = "group:LunarG-VulkanSamples/Hologram/Hologram.xcodeproj">
diff --git a/Demos/LunarG-VulkanSamples/Demos/Demos.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
similarity index 97%
rename from Demos/LunarG-VulkanSamples/Demos/Demos.xcodeproj/project.pbxproj
rename to Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
index 914e26a..217df23 100644
--- a/Demos/LunarG-VulkanSamples/Demos/Demos.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
@@ -55,13 +55,11 @@
 /* End PBXCopyFilesBuildPhase section */
 
 /* Begin PBXFileReference section */
-		A904B4641C99B5950008C013 /* Demos.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Demos.h; sourceTree = "<group>"; };
 		A904B52E1C9A08C90008C013 /* cube-frag.spv */ = {isa = PBXFileReference; lastKnownFileType = file; path = "cube-frag.spv"; sourceTree = "<group>"; };
 		A904B52F1C9A08C90008C013 /* cube-vert.spv */ = {isa = PBXFileReference; lastKnownFileType = file; path = "cube-vert.spv"; sourceTree = "<group>"; };
 		A904B5301C9A08C90008C013 /* cube.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cube.c; sourceTree = "<group>"; };
 		A904B5311C9A08C90008C013 /* cube.frag */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.frag; sourceTree = "<group>"; };
 		A904B5331C9A08C90008C013 /* cube.vert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.vert; sourceTree = "<group>"; };
-		A904B5351C9A08C90008C013 /* lunarg.ppm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = lunarg.ppm; sourceTree = "<group>"; };
 		A9096E501F7EF11A00DFBEA6 /* IOSurface.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOSurface.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/IOSurface.framework; sourceTree = DEVELOPER_DIR; };
 		A91F439F1EDDD46B00733D01 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/iOS/libMoltenVK.dylib; sourceTree = "<group>"; };
 		A91F43A41EDDD5CF00733D01 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/lib/libc++.tbd"; sourceTree = DEVELOPER_DIR; };
@@ -127,7 +125,6 @@
 		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
 			isa = PBXGroup;
 			children = (
-				A904B4641C99B5950008C013 /* Demos.h */,
 				A904B52C1C9A08C80008C013 /* cube */,
 				A9B67B6A1C3AAE9800373FFD /* iOS */,
 				A9B67B811C3AAEA200373FFD /* macOS */,
@@ -145,7 +142,6 @@
 				A904B5301C9A08C90008C013 /* cube.c */,
 				A904B5311C9A08C90008C013 /* cube.frag */,
 				A904B5331C9A08C90008C013 /* cube.vert */,
-				A904B5351C9A08C90008C013 /* lunarg.ppm */,
 			);
 			name = cube;
 			path = "../Vulkan-Tools/cube";
@@ -269,7 +265,7 @@
 					};
 				};
 			};
-			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Demos" */;
+			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Cube" */;
 			compatibilityVersion = "Xcode 8.0";
 			developmentRegion = English;
 			hasScannedForEncodings = 1;
@@ -525,7 +521,7 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
-		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Demos" */ = {
+		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Cube" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
 				C01FCF4F08A954540054247B /* Debug */,
diff --git a/Demos/LunarG-VulkanSamples/Demos/Demos.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
similarity index 92%
rename from Demos/LunarG-VulkanSamples/Demos/Demos.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
rename to Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
index 811a400..545d09d 100644
--- a/Demos/LunarG-VulkanSamples/Demos/Demos.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
@@ -17,7 +17,7 @@
                BlueprintIdentifier = "A9B53B291C3AC15200ABC6F6"
                BuildableName = "Cube.app"
                BlueprintName = "Cube-iOS"
-               ReferencedContainer = "container:Demos.xcodeproj">
+               ReferencedContainer = "container:Cube.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
       </BuildActionEntries>
@@ -35,7 +35,7 @@
             BlueprintIdentifier = "A9B53B291C3AC15200ABC6F6"
             BuildableName = "Cube.app"
             BlueprintName = "Cube-iOS"
-            ReferencedContainer = "container:Demos.xcodeproj">
+            ReferencedContainer = "container:Cube.xcodeproj">
          </BuildableReference>
       </MacroExpansion>
       <AdditionalOptions>
@@ -63,7 +63,7 @@
             BlueprintIdentifier = "A9B53B291C3AC15200ABC6F6"
             BuildableName = "Cube.app"
             BlueprintName = "Cube-iOS"
-            ReferencedContainer = "container:Demos.xcodeproj">
+            ReferencedContainer = "container:Cube.xcodeproj">
          </BuildableReference>
       </BuildableProductRunnable>
       <AdditionalOptions>
@@ -81,7 +81,7 @@
             BlueprintIdentifier = "A9B53B291C3AC15200ABC6F6"
             BuildableName = "Cube.app"
             BlueprintName = "Cube-iOS"
-            ReferencedContainer = "container:Demos.xcodeproj">
+            ReferencedContainer = "container:Cube.xcodeproj">
          </BuildableReference>
       </MacroExpansion>
    </ProfileAction>
diff --git a/Demos/LunarG-VulkanSamples/Demos/Demos.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
similarity index 92%
rename from Demos/LunarG-VulkanSamples/Demos/Demos.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
rename to Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
index 67ed7dd..6f2b551 100644
--- a/Demos/LunarG-VulkanSamples/Demos/Demos.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
@@ -17,7 +17,7 @@
                BlueprintIdentifier = "A9B53B0F1C3AC0BE00ABC6F6"
                BuildableName = "Cube.app"
                BlueprintName = "Cube-macOS"
-               ReferencedContainer = "container:Demos.xcodeproj">
+               ReferencedContainer = "container:Cube.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
       </BuildActionEntries>
@@ -35,7 +35,7 @@
             BlueprintIdentifier = "A9B53B0F1C3AC0BE00ABC6F6"
             BuildableName = "Cube.app"
             BlueprintName = "Cube-macOS"
-            ReferencedContainer = "container:Demos.xcodeproj">
+            ReferencedContainer = "container:Cube.xcodeproj">
          </BuildableReference>
       </MacroExpansion>
       <AdditionalOptions>
@@ -63,7 +63,7 @@
             BlueprintIdentifier = "A9B53B0F1C3AC0BE00ABC6F6"
             BuildableName = "Cube.app"
             BlueprintName = "Cube-macOS"
-            ReferencedContainer = "container:Demos.xcodeproj">
+            ReferencedContainer = "container:Cube.xcodeproj">
          </BuildableReference>
       </BuildableProductRunnable>
       <AdditionalOptions>
@@ -81,7 +81,7 @@
             BlueprintIdentifier = "A9B53B0F1C3AC0BE00ABC6F6"
             BuildableName = "Cube.app"
             BlueprintName = "Cube-macOS"
-            ReferencedContainer = "container:Demos.xcodeproj">
+            ReferencedContainer = "container:Cube.xcodeproj">
          </BuildableReference>
       </MacroExpansion>
    </ProfileAction>
diff --git a/Demos/LunarG-VulkanSamples/Demos/iOS/AppDelegate.h b/Demos/LunarG-VulkanSamples/Cube/iOS/AppDelegate.h
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/iOS/AppDelegate.h
rename to Demos/LunarG-VulkanSamples/Cube/iOS/AppDelegate.h
diff --git a/Demos/LunarG-VulkanSamples/Demos/iOS/AppDelegate.m b/Demos/LunarG-VulkanSamples/Cube/iOS/AppDelegate.m
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/iOS/AppDelegate.m
rename to Demos/LunarG-VulkanSamples/Cube/iOS/AppDelegate.m
diff --git a/Demos/LunarG-VulkanSamples/Demos/iOS/DemoViewController.h b/Demos/LunarG-VulkanSamples/Cube/iOS/DemoViewController.h
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/iOS/DemoViewController.h
rename to Demos/LunarG-VulkanSamples/Cube/iOS/DemoViewController.h
diff --git a/Demos/LunarG-VulkanSamples/Demos/iOS/DemoViewController.m b/Demos/LunarG-VulkanSamples/Cube/iOS/DemoViewController.m
similarity index 95%
rename from Demos/LunarG-VulkanSamples/Demos/iOS/DemoViewController.m
rename to Demos/LunarG-VulkanSamples/Cube/iOS/DemoViewController.m
index 1ae7dec..e4c152d 100644
--- a/Demos/LunarG-VulkanSamples/Demos/iOS/DemoViewController.m
+++ b/Demos/LunarG-VulkanSamples/Cube/iOS/DemoViewController.m
@@ -18,7 +18,8 @@
 
 #import "DemoViewController.h"
 
-#include "../Demos.h"			// The LunarG Vulkan SDK demo code
+#include <MoltenVK/mvk_vulkan.h>
+#include "../../Vulkan-Tools/cube/cube.c"
 
 
 #pragma mark -
diff --git a/Demos/LunarG-VulkanSamples/Demos/iOS/Info.plist b/Demos/LunarG-VulkanSamples/Cube/iOS/Info.plist
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/iOS/Info.plist
rename to Demos/LunarG-VulkanSamples/Cube/iOS/Info.plist
diff --git a/Demos/LunarG-VulkanSamples/Demos/iOS/Prefix.pch b/Demos/LunarG-VulkanSamples/Cube/iOS/Prefix.pch
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/iOS/Prefix.pch
rename to Demos/LunarG-VulkanSamples/Cube/iOS/Prefix.pch
diff --git a/Demos/LunarG-VulkanSamples/Demos/iOS/Resources/Default-568h@2x.png b/Demos/LunarG-VulkanSamples/Cube/iOS/Resources/Default-568h@2x.png
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/iOS/Resources/Default-568h@2x.png
rename to Demos/LunarG-VulkanSamples/Cube/iOS/Resources/Default-568h@2x.png
Binary files differ
diff --git a/Demos/LunarG-VulkanSamples/Demos/iOS/Resources/Default~ipad.png b/Demos/LunarG-VulkanSamples/Cube/iOS/Resources/Default~ipad.png
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/iOS/Resources/Default~ipad.png
rename to Demos/LunarG-VulkanSamples/Cube/iOS/Resources/Default~ipad.png
Binary files differ
diff --git a/Demos/LunarG-VulkanSamples/Demos/iOS/Resources/Icon.png b/Demos/LunarG-VulkanSamples/Cube/iOS/Resources/Icon.png
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/iOS/Resources/Icon.png
rename to Demos/LunarG-VulkanSamples/Cube/iOS/Resources/Icon.png
Binary files differ
diff --git a/Demos/LunarG-VulkanSamples/Demos/iOS/Resources/Main.storyboard b/Demos/LunarG-VulkanSamples/Cube/iOS/Resources/Main.storyboard
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/iOS/Resources/Main.storyboard
rename to Demos/LunarG-VulkanSamples/Cube/iOS/Resources/Main.storyboard
diff --git a/Demos/LunarG-VulkanSamples/Demos/iOS/main.m b/Demos/LunarG-VulkanSamples/Cube/iOS/main.m
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/iOS/main.m
rename to Demos/LunarG-VulkanSamples/Cube/iOS/main.m
diff --git a/Demos/LunarG-VulkanSamples/Demos/include/cube.frag.inc b/Demos/LunarG-VulkanSamples/Cube/include/cube.frag.inc
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/include/cube.frag.inc
rename to Demos/LunarG-VulkanSamples/Cube/include/cube.frag.inc
diff --git a/Demos/LunarG-VulkanSamples/Demos/include/cube.vert.inc b/Demos/LunarG-VulkanSamples/Cube/include/cube.vert.inc
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/include/cube.vert.inc
rename to Demos/LunarG-VulkanSamples/Cube/include/cube.vert.inc
diff --git a/Demos/LunarG-VulkanSamples/Demos/include/vk_enum_string_helper.h b/Demos/LunarG-VulkanSamples/Cube/include/vk_enum_string_helper.h
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/include/vk_enum_string_helper.h
rename to Demos/LunarG-VulkanSamples/Cube/include/vk_enum_string_helper.h
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/AppDelegate.h b/Demos/LunarG-VulkanSamples/Cube/macOS/AppDelegate.h
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/AppDelegate.h
rename to Demos/LunarG-VulkanSamples/Cube/macOS/AppDelegate.h
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/AppDelegate.m b/Demos/LunarG-VulkanSamples/Cube/macOS/AppDelegate.m
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/AppDelegate.m
rename to Demos/LunarG-VulkanSamples/Cube/macOS/AppDelegate.m
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/DemoViewController.h b/Demos/LunarG-VulkanSamples/Cube/macOS/DemoViewController.h
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/DemoViewController.h
rename to Demos/LunarG-VulkanSamples/Cube/macOS/DemoViewController.h
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/DemoViewController.m b/Demos/LunarG-VulkanSamples/Cube/macOS/DemoViewController.m
similarity index 96%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/DemoViewController.m
rename to Demos/LunarG-VulkanSamples/Cube/macOS/DemoViewController.m
index a12b86e..dcdd110 100644
--- a/Demos/LunarG-VulkanSamples/Demos/macOS/DemoViewController.m
+++ b/Demos/LunarG-VulkanSamples/Cube/macOS/DemoViewController.m
@@ -19,7 +19,8 @@
 #import "DemoViewController.h"
 #import <QuartzCore/CAMetalLayer.h>
 
-#include "../Demos.h"			// The LunarG Vulkan SDK demo code
+#include <MoltenVK/mvk_vulkan.h>
+#include "../../Vulkan-Tools/cube/cube.c"
 
 
 #pragma mark -
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/Info.plist b/Demos/LunarG-VulkanSamples/Cube/macOS/Info.plist
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/Info.plist
rename to Demos/LunarG-VulkanSamples/Cube/macOS/Info.plist
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/Prefix.pch b/Demos/LunarG-VulkanSamples/Cube/macOS/Prefix.pch
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/Prefix.pch
rename to Demos/LunarG-VulkanSamples/Cube/macOS/Prefix.pch
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/Resources/Main.storyboard b/Demos/LunarG-VulkanSamples/Cube/macOS/Resources/Main.storyboard
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/Resources/Main.storyboard
rename to Demos/LunarG-VulkanSamples/Cube/macOS/Resources/Main.storyboard
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Contents.json b/Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Contents.json
rename to Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Contents.json
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-128.png b/Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-128.png
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-128.png
rename to Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-128.png
Binary files differ
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-16.png b/Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-16.png
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-16.png
rename to Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-16.png
Binary files differ
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-256.png b/Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-256.png
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-256.png
rename to Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-256.png
Binary files differ
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-32.png b/Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-32.png
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-32.png
rename to Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-32.png
Binary files differ
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-512.png b/Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-512.png
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-512.png
rename to Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/AppIcon.appiconset/Icon-512.png
Binary files differ
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/Contents.json b/Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/Contents.json
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/Resources/macOS.xcassets/Contents.json
rename to Demos/LunarG-VulkanSamples/Cube/macOS/Resources/macOS.xcassets/Contents.json
diff --git a/Demos/LunarG-VulkanSamples/Demos/macOS/main.m b/Demos/LunarG-VulkanSamples/Cube/macOS/main.m
similarity index 100%
rename from Demos/LunarG-VulkanSamples/Demos/macOS/main.m
rename to Demos/LunarG-VulkanSamples/Cube/macOS/main.m
diff --git a/Demos/LunarG-VulkanSamples/Demos/Demos.h b/Demos/LunarG-VulkanSamples/Demos/Demos.h
deleted file mode 100644
index 28ef925..0000000
--- a/Demos/LunarG-VulkanSamples/Demos/Demos.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Demos.h
- *
- * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-/** Loads the appropriate sample code, as indicated by the appropriate compiler build setting. */
-
-#include <MoltenVK/mvk_vulkan.h>
-
-#ifdef MVK_SAMP_CUBE
-#	include "../Vulkan-Tools/cube/cube.c"
-#endif
-
-
diff --git a/Demos/README.md b/Demos/README.md
index 8cb75c6..fff3f5e 100644
--- a/Demos/README.md
+++ b/Demos/README.md
@@ -17,7 +17,7 @@
 -----------------
 
 - [LunarG Vulkan Samples](#lunarg-vulkan-samples)
-	- [*Demos*](#lunarg-vulkan-samples-demos)
+	- [*Cube*](#lunarg-vulkan-samples-cube)
 	- [*API-Samples*](#lunarg-vulkan-samples-api)
 	- [*Hologram*](#lunarg-vulkan-samples-hologram)
 - [Sascha Willems Vulkan Samples](#sascha-willems-vulkan-samples)
@@ -41,17 +41,20 @@
 in the `Demos.xcworkspace` *Xcode* workspace.
 
 
-<a name="lunarg-vulkan-samples-demos"></a>
-### *Demos*
+<a name="lunarg-vulkan-samples-cube"></a>
+### *Cube*
 
 A basic textured cube that spins in place.
 
-The demo can be found in the `LunarG-VulkanSamples/Demos` folder, and in the 
-`LunarG-VulkanSamples/Demos` group in the *Xcode Project Navigator* in the 
-`Demos.xcworkspace` *Xcode* workspace.
+The demo can be found in the `LunarG-VulkanSamples/Cube` folder, and in the 
+`LunarG-VulkanSamples/Cube` group in the *Xcode Project Navigator* in the 
+`Cube.xcworkspace` *Xcode* workspace.
 
 To run this demo, run either the `Cube-iOS` or `Cube-macOS` *Scheme* from within *Xcode*.
 
+This demo includes a sizable window, and represents an example of how to detect, within your
+*Vulkan* code, when a window has been resized, and to modify the *Vulkan* swapchain accordingly.
+
 This demo is a simple example of installing **MoltenVK** as a dynamic library, instead of as
 a statically-linked framework. In this demo, the **MoltenVK** dynamic library is embedded in 
 the application, but it could have been installed as a system library instead.
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index c44c485..e1c3e0c 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -13,10 +13,335 @@
 
 
 
-MoltenVK 1.0.0
+MoltenVK 1.0.17
 ---------------
 
+Released 2018/07/31
+
+- Disable rasterization and return void from vertex shaders that write to resources.
+- Add SPIRVToMSLConverterOptions::isRasterizationDisabled to allow pipeline and 
+  vertex shader to communicate rasterization status.
+- Track layered rendering capability.    
+- Add MVKPhysicalDeviceMetalFeatures::layeredRendering.
+- Add mvkStaticCmdShaderSource() to generate static MSL shader source for commands.
+- Add MVKDevice::getMTLCompileOptions() to consolidate shader compilation options.
+- CreatePipelines return error when fragment MSL translation fails.
+- Add new vertex format VK_FORMAT_A2B10G10R10_SNORM_PACK32.
+- Fix watermark timing.
+- Update MoltenVK spec version to 6.
+- Remove obsolete deprecated licensing functions.
+- Rename folders and project for Cube demo.
+- Update What's New document for earlier releases.
+- Update to latest library dependencies.
+- Update to latest SPIRV-Cross version.
+
+
+MoltenVK 1.0.16
+---------------
+
+Released 2018/07/24
+
+- Fixes to attachment and image clearing to pass CTS tests.
+- MVKCmdClearAttachments support clearing multiple attachment layers.
+- MVKCmdClearImage use renderpass clear, and support clearning multiple image layers.
+- Rename mvkCmdClearImage() to mvkCmdClearColorImage().
+- MVKDevice add getFormatIsSupported() to allow devices to test for format support.
+- MVKFramebuffer support multiple layers.
+- mvk_datatypes.h support both 2D and 3D mipmap calculations and allow
+  mvkMTLPrimitiveTopologyClassFromVkPrimitiveTopology() in iOS.
+- Remove support for VK_FORMAT_B10G11R11_UFLOAT_PACK32 & VK_FORMAT_E5B9G9R9_UFLOAT_PACK32
+  since format components are reversed on Metal.
+- Report correct workgroup sizes from MTLDevice.
+- Retrieve VkPhysicalDeviceLimits::maxComputeWorkGroupSize &
+  maxComputeWorkGroupInvocations & maxComputeSharedMemorySize from MTLDevice.
+- Move OS extension source files to new OS directory.
+- Update to latest SPIRV-Cross version.
+
+
+
+MoltenVK 1.0.15
+---------------
+
+Released 2018/07/12
+
+- Link IOSurface on iOS only if IPHONEOS_DEPLOYMENT_TARGET is at least iOS 11.0.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.14
+---------------
+
+Released 2018/07/04
+
+- vkGetPhysicalDeviceImageFormatProperties() indicate 1D texture limitations.
+- Fix compute shader workgroup size specialization.
+- Support separate specialization for each workgroup dimension.
+- Support zero as a specialization ID value.
+- Set correct value for VkPhysicalDeviceLimits::maxPerStageDescriptorInputAttachments.
+- Cleanup MoltenVKShaderConverterTool.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.13
+---------------
+
+Released 2018/06/28
+
+- Support larger VkBufferViews by using 2D Metal textures.
+- Swapchain return VK_ERROR_OUT_OF_DATE_KHR when window resized.
+- Improve crispness of visuals on macOS Retina displays.
+- Set CAMetalLayer magnificationFilter property to Nearest by default.
+- Add MVKDeviceConfiguration::swapchainMagFilterUseNearest member to allow overrides.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.12
+---------------
+
+Released 2018/06/22
+
+- Sorting Metal devices in the list of physicalDevices by whether they are headless.
+- vkCmdBlitImage() support texture arrays as source and destination targets.
+- vkCmdBlitImage() remove broken support for depth/stencil scaling.
+- vkCmdClearImage() fixes to clearing depth and stencil formats and avoid Metal validation errors.
+- Fix slice index when rendering to cube maps.
+- Fix texture file copy in Cube Demo.
+- fetchDeps: Add flags for pre-built repos.
+- Update to latest library dependencies to match Vulkan SDK 1.1.77.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.11
+---------------
+
+Released 2018/06/12
+
+- Avoid fragment shader tracking interacting with vertex attributes.
+- Restrict allowed linear tiling features for pixel formats.
+- Fix bad logic when testing allowed linear tiling usage.
+- Fix copying 4-byte 32-bit depth/stencil formats between buffers and textures.
+- Fix MSL compilation failures on macOS 10.14 Mojave Beta.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.10
+---------------
+
+Released 2018/06/05
+
+- Support mapping and filling device memory before binding an image to it.
+- Fix vsync not being enabled in IMMEDIATE present mode. MVK_MACOS was not being defined.
+- Avoid Metal validation error on MTLBuffer.contents access from private storage.
+- Support using Metal texel buffer for linear images to increase host coherency. 
+- MVKDeviceMemory track MVKImages and MVKBuffers separately.
+- Per Vulkan spec, restrict linear images to 2D, non-array, single mipmap.
+- Use texel buffer if possible for texture on coherent device memory.
+- Only flush MVKImages (not MVKBuffers) when device memory mapped.
+- Do not flush texel buffer images.
+- Replace dependency on Vulkan-LoaderAndValidationLayers with Vulkan-Headers and Vulkan-Tools. 
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.9
+--------------
+
+Released 2018/05/23
+
+- Fix an issue where the depth format in MVKCmdClearImage was not getting set correctly.
+- Move surface access to UI components to main thread.
+- Fix deadlock possibility between MVKFence and MVKFenceSitter.
+- Fix handling of locking on deferred-destruction objects.
+- vkGetPhysicalDeviceImageFormatProperties returns VK_ERROR_FORMAT_NOT_SUPPORTED 
+  if the format is not supported.
+- Default value of MVKDeviceConfiguration::metalCompileTimeout set to infinite.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.8
+--------------
+
+Released 2018/05/18
+
+- Allow queue processing to be optionally handled on the submitting (render) thread.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.7
+--------------
+
+Released 2018/05/14
+
+- Cache MTLCommandQueues for reuse to handle long delays in creating new VkDevices and VkQueues.
+- Handle multiple MVKResources mapped to the same region of a single MVKDeviceMemory.
+- Add Metal library, function and pipeline compilation timeout limits.
+- Create copies of MVKShaderLibraries when merging pipeline caches.
+- Handle NULLs when freeing command buffers.
+- Replace delete with call to destroy() for all MVK objects.
+- Handle null pointers in vkDestroy...() functions.
+- Set default value of MVKDeviceConfiguration::supportLargeQueryPools to true by default.
+- Fixes to run Vulkan CTS without crashes.
+- Remove mutex locks on MVKDescriptorPool.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.5
+--------------
+
+Released 2018/05/04
+
+- Add features to support Vulkan CTS.
+- Dynamically create frag shaders for clearning attachments and images.
+- Dynamically create frag shaders for blitting scaled images.
+- MVKGraphicsPipeline don't create MTLRenderPipelineState if vertex function conversion fails.
+- MVKComputePipeline don't create MTLComputePipelineState if compute function conversion fails.
+- Handle SPIRV-Cross errors thrown during SPIR-V parsing in compiler construction.
+- Set undefined property limits to large, but not max, values to avoid casting issues in app.
+- Mark multiDrawIndirect features as available.
+- Support VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.
+- Separate categories from MVKOSExtensions.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.4
+--------------
+
+Released 2018/04/22
+
+- Support depth clip mode only from MTLFeatureSet_iOS_GPUFamily2_v4 onwards.
+- MVKCmdClearAttachments & MVKCmdClearImage support multisampled attachments and images.
+- Don't use CAMetalLayer displaySyncEnabled property if it is not available.
+- Update python brew install command.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.3
+--------------
+
+Released 2018/04/18
+
+- Add support for VK_PRESENT_MODE_IMMEDIATE_KHR swapchain presentation mode.
+- Round up row and layer byte counts when copying compressed images with sizes 
+  that are not integer multiples of block size.
+- Queue and device wait idle handled by internal fence instead of semaphore.
+- vkCmdCopyBufferToImage() & vkCmdCopyImageToBuffer() support a VkBuffer
+  that is bound to an offseted position in a VkDeviceMemory.
+- MVKImage::getArrayLayers() reports only layer count and excludes depth.
+- Add workaround for apps that use one semaphore for all swapchain images.
+- Support deferred secondary signaling of semaphore & fence acquired while image is free.
+- Update to latest cube.c version.
+- Use ninja if available to build dependencies.
+- Build the demos in Travis-CI.
+- Update to latest V-LVL, glslang & SPIRV-Tools.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.2
+--------------
+
+Released 2018/04/02
+
+- Add support for caching converted MSL shader code offline from pipeline cache
+  via vkGetPipelineCacheData(), vkCreatePipelineCache() & vkMergePipelineCaches().
+- Present using command buffer by default.
+- Support SPIR-V containing multiple entry points.
+- Add option for per-frame performance logging via un-commentable logging code.
+- VkPhysicalDeviceProperties::pipelineCacheUUID value derived from MoltenVK 
+  version and highest supported Metal feature set.
+- vkCmdClearAttachments() don't attempt to clear non-existing depth & stencil attachments.
+- Always clamp scissors to render area to avoid Metal validation error.
+- Move fetchDependencies to top directory.
+- Turn caching of Externals off in .travis.yml.
+- Add instructions in README.md about building MoltenVK via the command line.
+- Update to latest SPIRV-Cross.
+
+
+
+MoltenVK 1.0.1
+--------------
+
+Released 2018/03/19
+
+- Add support for Vulkan Loader and Validation Layer API version 5.
+- Add support for LunarG Vulkan Loader ICD API.
+- Add Vulkan Loader and Validation Layer ICD JSON file.
+- Fix vkGetInstanceProcAddr to work with 1.1 loader.
+- Use fetchDependencies script instead of submodules.
+- Align versioning of external libraries with those used by LunarG SDK.
+- Combine multiple VkCommandBuffers into a single MTLCommandBuffer.
+- On command buffer submission, defer waiting on semaphores until just before 
+  MTLCommandBuffer is committed.
+- Retrieve heap size from MTLDevice on macOS and from free shared system memory on iOS.
+- Allow color attachment on depth-only rendering.
+- Allow color attachment when clearing depth only.
+- Support DXT1 RGB texture compression.
+- Support VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT on VkFormats that are not supported 
+  as texture formats under Metal.
+- Don't check if texture is coherent on macOS, since it never is.
+- Setup push constants for compute shaders.
+- Check if storage mode is not shared when checking if synchronize is needed.
+- Log which GPU is attached to a VkDevice.
+- Sort multiple GPU's to put higher-power GPU's at front of list.
+- Populate VkPhysicalDeviceProperties vendorID, deviceID and pipelineCacheUUID.
+- Ensure scissors fit inside renderpass area to avoid Metal validation assertions.
+- Consolidate setting of viewport and scissors by pipeline and command.
+- Make MVKBuffer::getMTLBuffer() thread-safe.
+- Fix Metal validation error with a renderpass with no depth attachment.
+- Use pipelineStatisticsQuery feature to determine whether pipeline stats are available.
+- Modify MVKImageView to fix MTLTexture used for renderpasses.
+- Fix vkBindImageMemory crash when multiple simultaneous threads are binding to 
+  different offsets in the of the same VkDeviceMemory.
+- Don't align push constant buffer.
+- Fix vkCmdCopyBuffer when copying unaligned regions.
+- Added workgroup size specialization constants
+- Fix SPIRV-Cross OOM conditions with multiple consecutive two-vector OpVectorShuffles.
+- Support non-square row-major matrix conversions.
+- Fix vkCmdBlitImage between images of different sizes.
+- Add ability to write SPIR-V to file for debugging purposes.
+- Update ThirdPartyConfig.md to latest use of SPIRV-Cross testability.
+- Fixes to compute workgroup sizes and barriers.
+- Improved extraction of entry point name and workgroup size from SPIR-V.
+- Consolidate to a single ThirdPartyConfig.md document.
+- MSL enhancements to nested function use of globals.
+- Support customizing MSL based on iOS or macOS platform.
+- MSL threadgroup barrier memory scope only on iOS MSL 2.0.
+- MVKBufferView add lock when creating MTLTexture.
+- MVKDeviceMemory add lock when creating MTLBuffer during memory mapping.
+- MVKMTLBufferAllocator does not need to be threadsafe.
+- Cleanup syntax on other lock handling to add consistency.
+- Consolidate timestamps and performance tracking.
+- Derive vkCmdCopyBuffer() alignment requirement at runtime.
+- Don't log error from vkGetPhysicalDeviceFormatProperties() if format not supported.
+- Add printf-like macros to MVKLogImpl and mvkNotifyErrorWithText.
+- Updates to dylib building process. Use clang instead of libtool.
+- Allow MoltenVK to be installed and built without asciidoctor.
+- Add CI support using Travis CI.
+- Automatically install demo apps.
+- Cube demo generate SPIR-V as part of demo project build.
+- Disable watermark in debug builds.
+- Add build and runtime OS and device requirements to documentation.
+- Add Compliance and Contribution sections to README.md.
+- Remove executable permissions from non-executable files.
+- Update to latest SPRIV-Cross.
+- Update copyright dates to 2018.
+
+
+
+MoltenVK 1.0.0
+--------------
+
 Released 2018/02/26
 
-#### Initial open-source release!
+Initial open-source release!
 
diff --git a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
index bf98a3d..7bc9d7d 100644
--- a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
+++ b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
@@ -345,12 +345,6 @@
 typedef uint32_t MVKMSLSPIRVHeader;
 
 
-#pragma mark Deprecated license functions
-__attribute__((deprecated("MoltenVK no longer requires a runtime license.")))
-VKAPI_ATTR VkResult VKAPI_CALL vkActivateMoltenVKLicenseMVK(const char* licenseID, const char* licenseKey, VkBool32 acceptLicenseTermsAndConditions);
-__attribute__((deprecated("MoltenVK no longer requires a runtime license.")))
-VKAPI_ATTR static inline void VKAPI_CALL vkActivateMoltenVKLicensesMVK()  {}
-
 #endif // VK_NO_PROTOTYPES
 
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
index bdb3e04..2bfe8a6 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
@@ -259,12 +259,6 @@
 #ifdef VK_USE_PLATFORM_MACOS_MVK
 	ADD_PROC_ADDR(vkCreateMacOSSurfaceMVK);
 #endif
-
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-    ADD_PROC_ADDR(vkActivateMoltenVKLicenseMVK);    // Deprecated
-    ADD_PROC_ADDR(vkActivateMoltenVKLicensesMVK);   // Deprecated
-#pragma clang diagnostic pop
 }
 
 void MVKInstance::logVersions() {
diff --git a/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm b/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm
index f75c83e..611a280 100644
--- a/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm
+++ b/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm
@@ -134,6 +134,3 @@
     *pIOSurface = mvkImg->getIOSurface();
 }
 
-// Deprecated license function
-MVK_PUBLIC_SYMBOL VkResult vkActivateMoltenVKLicenseMVK(const char* licenseID, const char* licenseKey, VkBool32 acceptLicenseTermsAndConditions) { return VK_SUCCESS; }
-