glave: Rename XGL to vulkan
diff --git a/tools/glave/CMakeLists.txt b/tools/glave/CMakeLists.txt
index e246ed1..a134152 100644
--- a/tools/glave/CMakeLists.txt
+++ b/tools/glave/CMakeLists.txt
@@ -35,9 +35,9 @@
     message(WARNING "Missing Qt5 development libraries: sudo apt-get install qt5-default libqt5svg5-dev")
 endif()
 
-set(CODE_GEN_DIR "glv_extensions/glave_xgl_gen")
+set(CODE_GEN_DIR "glv_extensions/glave_vk_gen")
 
-#execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../../xgl-helper.py --abs_out_dir ${CMAKE_CURRENT_SOURCE_DIR}/src/${CODE_GEN_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../../include/xgl.h)
+#execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../../vk-helper.py --abs_out_dir ${CMAKE_CURRENT_SOURCE_DIR}/src/${CODE_GEN_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../../include/vulkan.h)
 
 
 message("")
diff --git a/tools/glave/CMakeLists.txt.user b/tools/glave/CMakeLists.txt.user
new file mode 100644
index 0000000..f8420d2
--- /dev/null
+++ b/tools/glave/CMakeLists.txt.user
@@ -0,0 +1,627 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 3.3.0, 2015-02-26T11:56:46. -->
+<qtcreator>
+ <data>
+  <variable>EnvironmentId</variable>
+  <value type="QByteArray">{bd2554c5-9f47-4da0-b0f5-1df40cfa0f43}</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>
+  <value type="int">1</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.EditorSettings</variable>
+  <valuemap type="QVariantMap">
+   <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+   <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+   <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+    <value type="QString" key="language">Cpp</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+    </valuemap>
+   </valuemap>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+    <value type="QString" key="language">QmlJS</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+    </valuemap>
+   </valuemap>
+   <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+   <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+   <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+   <value type="int" key="EditorConfiguration.IndentSize">4</value>
+   <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+   <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+   <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+   <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+   <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+   <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+   <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+   <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+   <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+   <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+   <value type="int" key="EditorConfiguration.TabSize">8</value>
+   <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+   <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+   <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+   <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+   <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+   <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.PluginSettings</variable>
+  <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.0</variable>
+  <valuemap type="QVariantMap">
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.4.0 GCC 64bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.4.0 GCC 64bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.54.gcc_64_kit</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">2</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+    <value type="bool" key="CMakeProjectManager.CMakeBuildConfiguration.UseNinja">false</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/peterl/LunarG/GL-Next/dbuild/tools/glave</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
+      <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="CMakeProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="CMakeProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments">clean</value>
+      <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="CMakeProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="CMakeProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">all</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">glvtrace</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">glvtrace</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.glvtrace</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">glvreplay</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">glvreplay</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.glvreplay</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">glvdebug</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">0</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes">
+     <value type="QString">LD_LIBRARY_PATH=/home/peterl/LunarG/GL-Next/dbuild/loader</value>
+     <value type="QString">LIBXGL_DRIVERS_PATH=/home/peterl/LunarG/GL-Next/dbuild/icd/intel</value>
+     <value type="QString">LIBXGL_LAYERS_PATH=/home/peterl/LunarG/GL-Next/dbuild/layers</value>
+    </valuelist>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">glvdebug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.glvdebug</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">3</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.1</variable>
+  <valuemap type="QVariantMap">
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.3 GCC 64bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.3 GCC 64bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.53.gcc_64_kit</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">2</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+    <value type="bool" key="CMakeProjectManager.CMakeBuildConfiguration.UseNinja">false</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/peterl/LunarG/GL-Next/dbuild/tools/glave</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
+      <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
+       <value type="QString">all</value>
+      </valuelist>
+      <value type="bool" key="CMakeProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="CMakeProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments">clean</value>
+      <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="CMakeProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="CMakeProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Default</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+    <value type="bool" key="CMakeProjectManager.CMakeBuildConfiguration.UseNinja">false</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/peterl/LunarG/GL-Next/build/tools/glave</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
+      <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
+       <value type="QString">all</value>
+      </valuelist>
+      <value type="bool" key="CMakeProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="CMakeProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments">clean</value>
+      <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="CMakeProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="CMakeProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Default</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">glvtrace</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">glvtrace</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.glvtrace</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">glvreplay</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes">
+     <value type="QString">LIBXGL_DRIVERS_PATH=/home/peterl/LunarG/GL-Next/dbuild/icd/intel</value>
+     <value type="QString">LIBXGL_LAYERS_PATH=/home/peterl/LunarG/GL-Next/dbuild/layers</value>
+     <value type="QString">LD_LIBRARY_PATH=/home/peterl/LunarG/GL-Next/dbuild/loader</value>
+    </valuelist>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">glvreplay</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.glvreplay</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">glvdebug</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">true</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory">/home/peterl/LunarG/GL-Next/dbuild/tools/glave/</value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes">
+     <value type="QString">LD_LIBRARY_PATH=/home/peterl/LunarG/GL-Next/dbuild/loader</value>
+     <value type="QString">LIBXGL_DRIVERS_PATH=/home/peterl/LunarG/GL-Next/dbuild/icd/intel</value>
+     <value type="QString">LIBXGL_LAYERS_PATH=/home/peterl/LunarG/GL-Next/dbuild/layers</value>
+    </valuelist>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">glvdebug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.glvdebug</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.3">
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">glvdebug</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
+    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">true</value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory">/home/peterl/LunarG/GL-Next/build/tools/glave/</value>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes">
+     <value type="QString">LD_LIBRARY_PATH=/home/peterl/LunarG/GL-Next/build/loader</value>
+     <value type="QString">LIBXGL_DRIVERS_PATH=/home/peterl/LunarG/GL-Next/build/icd/intel</value>
+     <value type="QString">LIBXGL_LAYERS_PATH=/home/peterl/LunarG/GL-Next/build/layers</value>
+    </valuelist>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">glvdebug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">glvdebug Release</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.glvdebug</value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">4</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.TargetCount</variable>
+  <value type="int">2</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+  <value type="int">18</value>
+ </data>
+ <data>
+  <variable>Version</variable>
+  <value type="int">18</value>
+ </data>
+</qtcreator>
diff --git a/tools/glave/README.md b/tools/glave/README.md
index ebd87d6..16d4614 100644
--- a/tools/glave/README.md
+++ b/tools/glave/README.md
@@ -32,15 +32,15 @@
 ![ScreenShot5](../../docs/images/Glave-SearchForMemory.png "Search For Memory")
 
 ##Glave Status for Tracing and Replay##
-Based on xgl.h Version 47.1
+Based on vulkan.h Version 74
 
 * cube             -works
 * tri              -works but SEG FAULT  on closing window (XCB connection)
-* xgl\_image\_tests  -works, nothing rendered by this test
-* xglbase          -works, nothing rendered by this test
-* xglinfo          -works, nothing rendered by this test
-* xgl\_blit\_tests   -crashes due to improper handling of PipelineBarrier
-* xgl\_render\_tests -crashes
+* vk\_image\_tests -works, nothing rendered by this test
+* vkbase           -works, nothing rendered by this test
+* vulkaninfo       -works, nothing rendered by this test
+* vk\_blit\_tests  -crashes due to improper handling of PipelineBarrier
+* vk\_render\_test -crashes
 
 ##Using Glave on Linux###
 Glave builds three binaries with associated XGL libraries: a tracer with XGL
@@ -54,17 +54,17 @@
 option. The "-l<number>" option specifies a Glave tracing library to listen for
 socket connections.
 ```
-cd <xgl build directory>/tools/glave
+cd <vulkan build directory>/tools/glave
 ./glvtrace64 <options>
 Example to trace spinning cube demo.
 export LIBXGL_DRIVERS_PATH=/home/jon/dbuild/icd/intel
 export LD_LIBRARY_PATH=/home/jon/dbuild/loader
-./glvtrace64 -l0 /home/jon/xgl/dbuild/tools/glave/libglvtrace_xgl64.so -o glvtrace_cube.glv
+./glvtrace64 -l0 /home/jon/vulkan/dbuild/tools/glave/libglvtrace_vk64.so -o glvtrace_cube.glv
 ```
 
 In a separate terminal run your app, the cube demo in this example:
 ```
-cd /home/jon/xgl/dbuild/demos
+cd /home/jon/vulkan/dbuild/demos
 export LIBXGL_DRIVERS_PATH=/home/jon/dbuild/icd/intel
 export LD_LIBRARY_PATH=/home/jon/dbuild/loader
 LD_PRELOAD=/home/jon/xgl/dbuild/tools/glave/libglvtrace_xgl64.so ./cube
diff --git a/tools/glave/scripts/code_gen.py b/tools/glave/scripts/code_gen.py
index 4efb8a7..86fb8aa 100644
--- a/tools/glave/scripts/code_gen.py
+++ b/tools/glave/scripts/code_gen.py
@@ -4,7 +4,7 @@
 
 # code_gen.py overview
 # This script generates code based on input headers
-# Initially it's intended to support Mantle and XGL headers and
+# Initially it's intended to support Mantle and Vulkan headers and
 #  generate wrappers functions that can be used to display
 #  structs in a human-readable txt format, as well as utility functions
 #  to print enum values as strings
@@ -333,7 +333,7 @@
         
     def _generateClassDefinition(self):
         class_def = []
-        if 'xgl' == self.api: # Mantle doesn't have pNext to worry about
+        if 'vulkan' == self.api: # Mantle doesn't have pNext to worry about
             class_def.append(self._generateDynamicPrintFunctions())
         for s in self.struct_dict:
             class_def.append("\n// %s class definition" % self.get_class_name(s))
@@ -356,7 +356,7 @@
     def _generateDynamicPrintFunctions(self):
         dp_funcs = []
         dp_funcs.append("\nvoid dynamic_display_full_txt(const void* pStruct, uint32_t indent)\n{\n    // Cast to APP_INFO ptr initially just to pull sType off struct")
-        dp_funcs.append("    XGL_STRUCTURE_TYPE sType = ((XGL_APPLICATION_INFO*)pStruct)->sType;    switch (sType)\n    {")
+        dp_funcs.append("    VK_STRUCTURE_TYPE sType = ((VK_APPLICATION_INFO*)pStruct)->sType;    switch (sType)\n    {")
         for e in enum_type_dict:
             class_num = 0
             if "_STRUCTURE_TYPE" in e:
@@ -364,13 +364,13 @@
                     struct_name = v.replace("_STRUCTURE_TYPE", "")
                     class_name = self.get_class_name(struct_name)
                     # TODO : Hand-coded fixes for some exceptions
-                    if 'XGL_PIPELINE_CB_STATE_CREATE_INFO' in struct_name:
-                        struct_name = 'XGL_PIPELINE_CB_STATE'
-                    elif 'XGL_SEMAPHORE_CREATE_INFO' in struct_name:
-                        struct_name = 'XGL_SEMAPHORE_CREATE_INFO'
+                    if 'VK_PIPELINE_CB_STATE_CREATE_INFO' in struct_name:
+                        struct_name = 'VK_PIPELINE_CB_STATE'
+                    elif 'VK_SEMAPHORE_CREATE_INFO' in struct_name:
+                        struct_name = 'VK_SEMAPHORE_CREATE_INFO'
                         class_name = self.get_class_name(struct_name)
-                    elif 'XGL_SEMAPHORE_OPEN_INFO' in struct_name:
-                        struct_name = 'XGL_SEMAPHORE_OPEN_INFO'
+                    elif 'VK_SEMAPHORE_OPEN_INFO' in struct_name:
+                        struct_name = 'VK_SEMAPHORE_OPEN_INFO'
                         class_name = self.get_class_name(struct_name)
                     instance_name = "swc%i" % class_num
                     dp_funcs.append("        case %s:\n        {" % (v))
@@ -817,12 +817,12 @@
 #}
 
 # Dynamic print function
-# void dynamic_display_full_txt(XGL_STRUCTURE_TYPE sType, void* pStruct, uint32_t indent)
+# void dynamic_display_full_txt(VK_STRUCTURE_TYPE sType, void* pStruct, uint32_t indent)
 # {
 #     switch (sType)
 #     {
-#         case XGL_STRUCTURE_TYPE_COLOR_BLEND_STATE_CREATE_INFO:
-#             xgl_color_blend_state_create_info_struct_wrapper swc((XGL_COLOR_BLEND_STATE_CREATE_INFO*)pStruct);
+#         case VK_STRUCTURE_TYPE_COLOR_BLEND_STATE_CREATE_INFO:
+#             vk_color_blend_state_create_info_struct_wrapper swc((VK_COLOR_BLEND_STATE_CREATE_INFO*)pStruct);
 #             swc.set_indent(indent);
 #             swc.display_full_txt();
 #     }
diff --git a/tools/glave/scripts/vk_generate.py b/tools/glave/scripts/vk_generate.py
index 570a203..386a7cc 100755
--- a/tools/glave/scripts/vk_generate.py
+++ b/tools/glave/scripts/vk_generate.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 #
-# XGL
+# Vulkan
 #
 # Copyright (C) 2014 LunarG, Inc.
 #
@@ -25,18 +25,18 @@
 
 import os, sys
 
-# add main repo directory so xgl.py can be imported. This needs to be a complete path.
+# add main repo directory so vulkan.py can be imported. This needs to be a complete path.
 glv_scripts_path = os.path.dirname(os.path.abspath(__file__))
 main_path = os.path.abspath(glv_scripts_path + "/../../../")
 sys.path.append(main_path)
 
-import xgl
+import vulkan
 
 class Subcommand(object):
     def __init__(self, argv):
         self.argv = argv
-        self.headers = xgl.headers
-        self.protos = xgl.protos
+        self.headers = vulkan.headers
+        self.protos = vulkan.protos
 
     def run(self):
         print(self.generate())
@@ -63,7 +63,7 @@
         return """/* THIS FILE IS GENERATED.  DO NOT EDIT. */
 
 /*
- * XGL
+ * Vulkan
  *
  * Copyright (C) 2014 LunarG, Inc.
  *
@@ -96,31 +96,35 @@
         pass
 
     # Return set of printf '%' qualifier, input to that qualifier, and any dereference
-    def _get_printf_params(self, xgl_type, name, output_param):
+    def _get_printf_params(self, vk_type, name, output_param):
         deref = ""
         # TODO : Need ENUM and STRUCT checks here
-        if "_TYPE" in xgl_type: # TODO : This should be generic ENUM check
-            return ("%s", "string_%s(%s)" % (xgl_type.replace('const ', '').strip('*'), name), deref)
-        if "char*" == xgl_type:
+        if "VK_IMAGE_LAYOUT" in vk_type:
+            return ("%s", "string_%s(%s)" % (vk_type.replace('const ', '').strip('*'), name), deref)
+        if "VK_CLEAR_COLOR" in vk_type:
+            return ("%p", "(void*)&%s" % name, deref)
+        if "_type" in vk_type.lower(): # TODO : This should be generic ENUM check
+            return ("%s", "string_%s(%s)" % (vk_type.replace('const ', '').strip('*'), name), deref)
+        if "char*" == vk_type:
             return ("%s", name, "*")
-        if "uint64_t" in xgl_type:
-            if '*' in xgl_type:
+        if "uint64_t" in vk_type:
+            if '*' in vk_type:
                 return ("%lu",  "(%s == NULL) ? 0 : *(%s)" % (name, name), "*")
             return ("%lu", name, deref)
-        if "size_t" in xgl_type:
-            if '*' in xgl_type:
+        if "size_t" in vk_type:
+            if '*' in vk_type:
                 return ("%zu", "(%s == NULL) ? 0 : *(%s)" % (name, name), "*")
             return ("%zu", name, deref)
-        if "float" in xgl_type:
-            if '[' in xgl_type: # handle array, current hard-coded to 4 (TODO: Make this dynamic)
+        if "float" in vk_type:
+            if '[' in vk_type: # handle array, current hard-coded to 4 (TODO: Make this dynamic)
                 return ("[%f, %f, %f, %f]", "%s[0], %s[1], %s[2], %s[3]" % (name, name, name, name), deref)
             return ("%f", name, deref)
-        if "bool" in xgl_type or 'xcb_randr_crtc_t' in xgl_type:
+        if "bool" in vk_type or 'xcb_randr_crtc_t' in vk_type:
             return ("%u", name, deref)
-        if True in [t in xgl_type for t in ["int", "FLAGS", "MASK", "xcb_window_t"]]:
-            if '[' in xgl_type: # handle array, current hard-coded to 4 (TODO: Make this dynamic)
+        if True in [t in vk_type.lower() for t in ["int", "flags", "mask", "xcb_window_t"]]:
+            if '[' in vk_type: # handle array, current hard-coded to 4 (TODO: Make this dynamic)
                 return ("[%i, %i, %i, %i]", "%s[0], %s[1], %s[2], %s[3]" % (name, name, name, name), deref)
-            if '*' in xgl_type:
+            if '*' in vk_type:
                 return ("%i", "(%s == NULL) ? 0 : *(%s)" % (name, name), "*")
             return ("%i", name, deref)
         if output_param:
@@ -134,13 +138,13 @@
         func_ptrs.append('extern INIT_ONCE gInitOnce;')
         for proto in self.protos:
             if True not in [skip_str in proto.name for skip_str in ['Dbg', 'Wsi']]: #Dbg' not in proto.name and 'Wsi' not in proto.name:
-                func_ptrs.append('#define __HOOKED_xgl%s hooked_xgl%s' % (proto.name, proto.name))
+                func_ptrs.append('#define __HOOKED_vk%s hooked_vk%s' % (proto.name, proto.name))
 
         func_ptrs.append('\n#elif defined(PLATFORM_LINUX)')
         func_ptrs.append('extern pthread_once_t gInitOnce;')
         for proto in self.protos:
             if True not in [skip_str in proto.name for skip_str in ['Dbg', 'Wsi']]:
-                func_ptrs.append('#define __HOOKED_xgl%s xgl%s' % (proto.name, proto.name))
+                func_ptrs.append('#define __HOOKED_vk%s vk%s' % (proto.name, proto.name))
 
         func_ptrs.append('#endif\n')
         return "\n".join(func_ptrs)
@@ -150,12 +154,12 @@
         func_ptrs.append('#ifdef WIN32')
         for proto in self.protos:
             if func_class in proto.name:
-                func_ptrs.append('#define __HOOKED_xgl%s hooked_xgl%s' % (proto.name, proto.name))
+                func_ptrs.append('#define __HOOKED_vk%s hooked_vk%s' % (proto.name, proto.name))
 
         func_ptrs.append('#elif defined(__linux__)')
         for proto in self.protos:
             if func_class in proto.name:
-                func_ptrs.append('#define __HOOKED_xgl%s xgl%s' % (proto.name, proto.name))
+                func_ptrs.append('#define __HOOKED_vk%s vk%s' % (proto.name, proto.name))
 
         func_ptrs.append('#endif\n')
         return "\n".join(func_ptrs)
@@ -165,7 +169,7 @@
         func_protos.append('// Hooked function prototypes\n')
         for proto in self.protos:
             if 'Dbg' not in proto.name and 'Wsi' not in proto.name:
-                func_protos.append('GLVTRACER_EXPORT %s;' % proto.c_func(prefix="__HOOKED_xgl", attr="XGLAPI"))
+                func_protos.append('GLVTRACER_EXPORT %s;' % proto.c_func(prefix="__HOOKED_vk", attr="VKAPI"))
 
         return "\n".join(func_protos)
 
@@ -174,7 +178,7 @@
         func_protos.append('// Hooked function prototypes\n')
         for proto in self.protos:
             if func_class in proto.name:
-                func_protos.append('GLVTRACER_EXPORT %s;' % proto.c_func(prefix="__HOOKED_xgl", attr="XGLAPI"))
+                func_protos.append('GLVTRACER_EXPORT %s;' % proto.c_func(prefix="__HOOKED_vk", attr="VKAPI"))
 
         return "\n".join(func_protos)
 
@@ -184,9 +188,9 @@
         func_ptr_assign.append('')
         for proto in self.protos:
             if 'Dbg' not in proto.name and 'Wsi' not in proto.name:
-                func_ptr_assign.append('extern %s( XGLAPI * real_xgl%s)(' % (proto.ret, proto.name))
+                func_ptr_assign.append('extern %s( VKAPI * real_vk%s)(' % (proto.ret, proto.name))
                 for p in proto.params:
-                    if 'color' == p.name and 'XGL_CLEAR_COLOR' != p.ty:
+                    if 'color' == p.name:
                         func_ptr_assign.append('    %s %s[4],' % (p.ty.replace('[4]', ''), p.name))
                     else:
                         func_ptr_assign.append('    %s %s,' % (p.ty, p.name))
@@ -197,13 +201,13 @@
         func_ptr_assign = []
         for proto in self.protos:
             if 'Dbg' not in proto.name and 'Wsi' not in proto.name:
-                func_ptr_assign.append('%s( XGLAPI * real_xgl%s)(' % (proto.ret, proto.name))
+                func_ptr_assign.append('%s( VKAPI * real_vk%s)(' % (proto.ret, proto.name))
                 for p in proto.params:
-                    if 'color' == p.name and 'XGL_CLEAR_COLOR' != p.ty:
+                    if 'color' == p.name:
                         func_ptr_assign.append('    %s %s[4],' % (p.ty.replace('[4]', ''), p.name))
                     else:
                         func_ptr_assign.append('    %s %s,' % (p.ty, p.name))
-                func_ptr_assign[-1] = func_ptr_assign[-1].replace(',', ') = xgl%s;\n' % (proto.name))
+                func_ptr_assign[-1] = func_ptr_assign[-1].replace(',', ') = vk%s;\n' % (proto.name))
         return "\n".join(func_ptr_assign)
 
 
@@ -211,110 +215,110 @@
         func_ptr_assign = []
         for proto in self.protos:
             if func_class in proto.name:
-                func_ptr_assign.append('static %s( XGLAPI * real_xgl%s)(' % (proto.ret, proto.name))
+                func_ptr_assign.append('static %s( VKAPI * real_vk%s)(' % (proto.ret, proto.name))
                 for p in proto.params:
                     func_ptr_assign.append('    %s %s,' % (p.ty, p.name))
-                func_ptr_assign[-1] = func_ptr_assign[-1].replace(',', ') = xgl%s;\n' % (proto.name))
+                func_ptr_assign[-1] = func_ptr_assign[-1].replace(',', ') = vk%s;\n' % (proto.name))
         return "\n".join(func_ptr_assign)
 
     def _generate_attach_hooks(self):
         hooks_txt = []
-        hooks_txt.append('// declared as extern in glvtrace_xgl_helpers.h')
+        hooks_txt.append('// declared as extern in glvtrace_vk_helpers.h')
         hooks_txt.append('BOOL isHooked = FALSE;\n')
         hooks_txt.append('void AttachHooks()\n{\n   BOOL hookSuccess = TRUE;\n#if defined(WIN32)')
         hooks_txt.append('    Mhook_BeginMultiOperation(FALSE);')
         # TODO : Verify if CreateInstance is appropriate to key off of here
-        hooks_txt.append('    if (real_xglCreateInstance != NULL)')
+        hooks_txt.append('    if (real_vkCreateInstance != NULL)')
         hooks_txt.append('    {\n        isHooked = TRUE;')
         hook_operator = '='
         for proto in self.protos:
             if 'Dbg' not in proto.name and 'Wsi' not in proto.name:
-                hooks_txt.append('        hookSuccess %s Mhook_SetHook((PVOID*)&real_xgl%s, hooked_xgl%s);' % (hook_operator, proto.name, proto.name))
+                hooks_txt.append('        hookSuccess %s Mhook_SetHook((PVOID*)&real_vk%s, hooked_vk%s);' % (hook_operator, proto.name, proto.name))
                 hook_operator = '&='
         hooks_txt.append('    }\n')
         hooks_txt.append('    if (!hookSuccess)\n    {')
-        hooks_txt.append('        glv_LogError("Failed to hook XGL.");\n    }\n')
+        hooks_txt.append('        glv_LogError("Failed to hook Vulkan.");\n    }\n')
         hooks_txt.append('    Mhook_EndMultiOperation();\n')
         hooks_txt.append('#elif defined(__linux__)')
-        hooks_txt.append('    if (real_xglCreateInstance == xglCreateInstance)')
-        hooks_txt.append('        hookSuccess = glv_platform_get_next_lib_sym((PVOID*)&real_xglCreateInstance,"xglCreateInstance");')
+        hooks_txt.append('    if (real_vkCreateInstance == vkCreateInstance)')
+        hooks_txt.append('        hookSuccess = glv_platform_get_next_lib_sym((PVOID*)&real_vkCreateInstance,"vkCreateInstance");')
         hooks_txt.append('    isHooked = TRUE;')
         for proto in self.protos:
             if 'Dbg' not in proto.name and 'Wsi' not in proto.name and 'CreateInstance' not in proto.name:
-                hooks_txt.append('    hookSuccess %s glv_platform_get_next_lib_sym((PVOID*)&real_xgl%s, "xgl%s");' % (hook_operator, proto.name, proto.name))
+                hooks_txt.append('    hookSuccess %s glv_platform_get_next_lib_sym((PVOID*)&real_vk%s, "vk%s");' % (hook_operator, proto.name, proto.name))
         hooks_txt.append('    if (!hookSuccess)\n    {')
-        hooks_txt.append('        glv_LogError("Failed to hook XGL.");\n    }\n')
+        hooks_txt.append('        glv_LogError("Failed to hook Vulkan.");\n    }\n')
         hooks_txt.append('#endif\n}\n')
         return "\n".join(hooks_txt)
 
     def _generate_attach_hooks_ext(self, func_class='Wsi'):
-        func_ext_dict = {'Wsi': '_xglwsix11ext', 'Dbg': '_xgldbg'}
+        func_ext_dict = {'Wsi': '_vkwsix11ext', 'Dbg': '_vkdbg'}
         first_proto_dict = {'Wsi': 'WsiX11AssociateConnection', 'Dbg': 'DbgSetValidationLevel'}
         hooks_txt = []
         hooks_txt.append('void AttachHooks%s()\n{\n    BOOL hookSuccess = TRUE;\n#if defined(WIN32)' % func_ext_dict[func_class])
         hooks_txt.append('    Mhook_BeginMultiOperation(FALSE);')
-        hooks_txt.append('    if (real_xgl%s != NULL)' % first_proto_dict[func_class])
+        hooks_txt.append('    if (real_vk%s != NULL)' % first_proto_dict[func_class])
         hooks_txt.append('    {')
         hook_operator = '='
         for proto in self.protos:
             if func_class in proto.name:
-                hooks_txt.append('        hookSuccess %s Mhook_SetHook((PVOID*)&real_xgl%s, hooked_xgl%s);' % (hook_operator, proto.name, proto.name))
+                hooks_txt.append('        hookSuccess %s Mhook_SetHook((PVOID*)&real_vk%s, hooked_vk%s);' % (hook_operator, proto.name, proto.name))
                 hook_operator = '&='
         hooks_txt.append('    }\n')
         hooks_txt.append('    if (!hookSuccess)\n    {')
-        hooks_txt.append('        glv_LogError("Failed to hook XGL ext %s.");\n    }\n' % func_class)
+        hooks_txt.append('        glv_LogError("Failed to hook Vulkan ext %s.");\n    }\n' % func_class)
         hooks_txt.append('    Mhook_EndMultiOperation();\n')
         hooks_txt.append('#elif defined(__linux__)')
-        hooks_txt.append('    hookSuccess = glv_platform_get_next_lib_sym((PVOID*)&real_xgl%s, "xgl%s");' % (first_proto_dict[func_class], first_proto_dict[func_class]))
+        hooks_txt.append('    hookSuccess = glv_platform_get_next_lib_sym((PVOID*)&real_vk%s, "vk%s");' % (first_proto_dict[func_class], first_proto_dict[func_class]))
         for proto in self.protos:
             if func_class in proto.name and first_proto_dict[func_class] not in proto.name:
-                hooks_txt.append('    hookSuccess %s glv_platform_get_next_lib_sym((PVOID*)&real_xgl%s, "xgl%s");' % (hook_operator, proto.name, proto.name))
+                hooks_txt.append('    hookSuccess %s glv_platform_get_next_lib_sym((PVOID*)&real_vk%s, "vk%s");' % (hook_operator, proto.name, proto.name))
         hooks_txt.append('    if (!hookSuccess)\n    {')
-        hooks_txt.append('        glv_LogError("Failed to hook XGL ext %s.");\n    }\n' % func_class)
+        hooks_txt.append('        glv_LogError("Failed to hook Vulkan ext %s.");\n    }\n' % func_class)
         hooks_txt.append('#endif\n}\n')
         return "\n".join(hooks_txt)
 
     def _generate_detach_hooks(self):
         hooks_txt = []
         hooks_txt.append('void DetachHooks()\n{\n#ifdef __linux__\n    return;\n#elif defined(WIN32)')
-        hooks_txt.append('    BOOL unhookSuccess = TRUE;\n    if (real_xglGetGpuInfo != NULL)\n    {')
+        hooks_txt.append('    BOOL unhookSuccess = TRUE;\n    if (real_vkGetGpuInfo != NULL)\n    {')
         hook_operator = '='
         for proto in self.protos:
             if 'Dbg' not in proto.name and 'Wsi' not in proto.name:
-                hooks_txt.append('        unhookSuccess %s Mhook_Unhook((PVOID*)&real_xgl%s);' % (hook_operator, proto.name))
+                hooks_txt.append('        unhookSuccess %s Mhook_Unhook((PVOID*)&real_vk%s);' % (hook_operator, proto.name))
                 hook_operator = '&='
         hooks_txt.append('    }\n    isHooked = FALSE;')
         hooks_txt.append('    if (!unhookSuccess)\n    {')
-        hooks_txt.append('        glv_LogError("Failed to unhook XGL.");\n    }')
+        hooks_txt.append('        glv_LogError("Failed to unhook Vulkan.");\n    }')
         hooks_txt.append('#endif\n}')
         hooks_txt.append('#ifdef WIN32\nINIT_ONCE gInitOnce = INIT_ONCE_STATIC_INIT;\n#elif defined(PLATFORM_LINUX)\npthread_once_t gInitOnce = PTHREAD_ONCE_INIT;\n#endif\n')
         return "\n".join(hooks_txt)
 
     def _generate_detach_hooks_ext(self, func_class='Wsi'):
-        func_ext_dict = {'Wsi': '_xglwsix11ext', 'Dbg': '_xgldbg'}
+        func_ext_dict = {'Wsi': '_vkwsix11ext', 'Dbg': '_vkdbg'}
         first_proto_dict = {'Wsi': 'WsiX11AssociateConnection', 'Dbg': 'DbgSetValidationLevel'}
         hooks_txt = []
         hooks_txt.append('void DetachHooks%s()\n{\n#ifdef WIN32' % func_ext_dict[func_class])
-        hooks_txt.append('    BOOL unhookSuccess = TRUE;\n    if (real_xgl%s != NULL)\n    {' % first_proto_dict[func_class])
+        hooks_txt.append('    BOOL unhookSuccess = TRUE;\n    if (real_vk%s != NULL)\n    {' % first_proto_dict[func_class])
         hook_operator = '='
         for proto in self.protos:
             if func_class in proto.name:
-                hooks_txt.append('        unhookSuccess %s Mhook_Unhook((PVOID*)&real_xgl%s);' % (hook_operator, proto.name))
+                hooks_txt.append('        unhookSuccess %s Mhook_Unhook((PVOID*)&real_vk%s);' % (hook_operator, proto.name))
                 hook_operator = '&='
         hooks_txt.append('    }')
         hooks_txt.append('    if (!unhookSuccess)\n    {')
-        hooks_txt.append('        glv_LogError("Failed to unhook XGL ext %s.");\n    }' % func_class)
+        hooks_txt.append('        glv_LogError("Failed to unhook Vulkan ext %s.");\n    }' % func_class)
         hooks_txt.append('#elif defined(__linux__)\n    return;\n#endif\n}\n')
         return "\n".join(hooks_txt)
 
     def _generate_init_funcs(self):
         init_tracer = []
-        init_tracer.append('void send_xgl_api_version_packet()\n{')
-        init_tracer.append('    struct_xglApiVersion* pPacket;')
+        init_tracer.append('void send_vk_api_version_packet()\n{')
+        init_tracer.append('    struct_vkApiVersion* pPacket;')
         init_tracer.append('    glv_trace_packet_header* pHeader;')
-        init_tracer.append('    pHeader = glv_create_trace_packet(GLV_TID_XGL, GLV_TPI_XGL_xglApiVersion, sizeof(struct_xglApiVersion), 0);')
-        init_tracer.append('    pPacket = interpret_body_as_xglApiVersion(pHeader, FALSE);')
-        init_tracer.append('    pPacket->version = XGL_API_VERSION;')
+        init_tracer.append('    pHeader = glv_create_trace_packet(GLV_TID_VULKAN, GLV_TPI_VK_vkApiVersion, sizeof(struct_vkApiVersion), 0);')
+        init_tracer.append('    pPacket = interpret_body_as_vkApiVersion(pHeader, FALSE);')
+        init_tracer.append('    pPacket->version = VK_API_VERSION;')
         init_tracer.append('    FINISH_TRACE_PACKET();\n}\n')
 
         init_tracer.append('extern GLV_CRITICAL_SECTION g_memInfoLock;')
@@ -322,12 +326,12 @@
         init_tracer.append('    char *ipAddr = glv_get_global_var("GLVLIB_TRACE_IPADDR");')
         init_tracer.append('    if (ipAddr == NULL)')
         init_tracer.append('        ipAddr = "127.0.0.1";')
-        init_tracer.append('    gMessageStream = glv_MessageStream_create(FALSE, ipAddr, GLV_BASE_PORT + GLV_TID_XGL);')
+        init_tracer.append('    gMessageStream = glv_MessageStream_create(FALSE, ipAddr, GLV_BASE_PORT + GLV_TID_VULKAN);')
         init_tracer.append('    glv_trace_set_trace_file(glv_FileLike_create_msg(gMessageStream));')
         init_tracer.append('//    glv_tracelog_set_log_file(glv_FileLike_create_file(fopen("glv_log_traceside.txt","w")));')
-        init_tracer.append('    glv_tracelog_set_tracer_id(GLV_TID_XGL);')
+        init_tracer.append('    glv_tracelog_set_tracer_id(GLV_TID_VULKAN);')
         init_tracer.append('    glv_create_critical_section(&g_memInfoLock);')
-        init_tracer.append('    send_xgl_api_version_packet();\n}\n')
+        init_tracer.append('    send_vk_api_version_packet();\n}\n')
         return "\n".join(init_tracer)
 
     # Take a list of params and return a list of dicts w/ ptr param details
@@ -336,11 +340,11 @@
         # TODO : This is a slightly nicer way to handle custom cases than initial code, however
         #   this can still be further generalized to eliminate more custom code
         #   big case to handle is when ptrs to structs have embedded data that needs to be accounted for in packet
-        custom_ptr_dict = {'XGL_DEVICE_CREATE_INFO': {'add_txt': 'add_XGL_DEVICE_CREATE_INFO_to_packet(pHeader, (XGL_DEVICE_CREATE_INFO**) &(pPacket->pCreateInfo), pCreateInfo)',
+        custom_ptr_dict = {'VK_DEVICE_CREATE_INFO': {'add_txt': 'add_VK_DEVICE_CREATE_INFO_to_packet(pHeader, (VK_DEVICE_CREATE_INFO**) &(pPacket->pCreateInfo), pCreateInfo)',
                                                   'finalize_txt': ''},
-                           'XGL_INSTANCE_CREATE_INFO': {'add_txt': 'add_XGL_INSTANCE_CREATE_INFO_to_packet(pHeader, (XGL_INSTANCE_CREATE_INFO**)&(pPacket->pCreateInfo), pCreateInfo)',
+                           'VK_APPLICATION_INFO': {'add_txt': 'add_VK_APPLICATION_INFO_to_packet(pHeader, (VK_APPLICATION_INFO**)&(pPacket->pAppInfo), pAppInfo)',
                                                 'finalize_txt': ''},
-                           'XGL_PHYSICAL_GPU': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pGpus), *pGpuCount*sizeof(XGL_PHYSICAL_GPU), pGpus)',
+                           'VK_PHYSICAL_GPU': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pGpus), *pGpuCount*sizeof(VK_PHYSICAL_GPU), pGpus)',
                                                 'finalize_txt': 'default'},
                            'pDataSize': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDataSize), sizeof(size_t), &_dataSize)',
                                          'finalize_txt': 'glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pDataSize))'},
@@ -352,25 +356,27 @@
                                         'finalize_txt': 'default'},
                            'pDescriptorSets': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDescriptorSets), customSize, pDescriptorSets)',
                                                'finalize_txt': 'default'},
-                           'XGL_SHADER_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(XGL_SHADER_CREATE_INFO), pCreateInfo);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pCode), ((pCreateInfo != NULL) ? pCreateInfo->codeSize : 0), pCreateInfo->pCode)',
+                           'pUpdateChain': {'add_txt': 'add_update_descriptors_to_trace_packet(pHeader, (void**)&(pPacket->pUpdateChain), pUpdateChain)',
+                                            'finalize_txt': 'default'},
+                           'VK_SHADER_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(VK_SHADER_CREATE_INFO), pCreateInfo);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pCode), ((pCreateInfo != NULL) ? pCreateInfo->codeSize : 0), pCreateInfo->pCode)',
                                                       'finalize_txt': 'glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pCode));\n    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo))'},
-                           'XGL_FRAMEBUFFER_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(XGL_FRAMEBUFFER_CREATE_INFO), pCreateInfo);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pColorAttachments), colorCount * sizeof(XGL_COLOR_ATTACHMENT_BIND_INFO), pCreateInfo->pColorAttachments);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pDepthStencilAttachment), dsSize, pCreateInfo->pDepthStencilAttachment)',
+                           'VK_FRAMEBUFFER_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(VK_FRAMEBUFFER_CREATE_INFO), pCreateInfo);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pColorAttachments), colorCount * sizeof(VK_COLOR_ATTACHMENT_BIND_INFO), pCreateInfo->pColorAttachments);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pDepthStencilAttachment), dsSize, pCreateInfo->pDepthStencilAttachment)',
                                                            'finalize_txt': 'glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pColorAttachments));\n    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pDepthStencilAttachment));\n    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo))'},
-                           'XGL_RENDER_PASS_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(XGL_RENDER_PASS_CREATE_INFO), pCreateInfo);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pColorLoadOps), colorCount * sizeof(XGL_ATTACHMENT_LOAD_OP), pCreateInfo->pColorLoadOps);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pColorStoreOps), colorCount * sizeof(XGL_ATTACHMENT_STORE_OP), pCreateInfo->pColorStoreOps);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pColorLoadClearValues), colorCount * sizeof(XGL_CLEAR_COLOR), pCreateInfo->pColorLoadClearValues)',
+                           'VK_RENDER_PASS_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(VK_RENDER_PASS_CREATE_INFO), pCreateInfo);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pColorLoadOps), colorCount * sizeof(VK_ATTACHMENT_LOAD_OP), pCreateInfo->pColorLoadOps);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pColorStoreOps), colorCount * sizeof(VK_ATTACHMENT_STORE_OP), pCreateInfo->pColorStoreOps);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pColorLoadClearValues), colorCount * sizeof(VK_CLEAR_COLOR), pCreateInfo->pColorLoadClearValues)',
                                                           'finalize_txt': 'glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pColorLoadOps));\n    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pColorStoreOps));\n    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pColorLoadClearValues));\n    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo))'},
-                           'XGL_CMD_BUFFER_BEGIN_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pBeginInfo), sizeof(XGL_CMD_BUFFER_BEGIN_INFO), pBeginInfo);\n    add_begin_cmdbuf_to_trace_packet(pHeader, (void**)&(pPacket->pBeginInfo->pNext), pBeginInfo->pNext)',
+                           'VK_CMD_BUFFER_BEGIN_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pBeginInfo), sizeof(VK_CMD_BUFFER_BEGIN_INFO), pBeginInfo);\n    add_begin_cmdbuf_to_trace_packet(pHeader, (void**)&(pPacket->pBeginInfo->pNext), pBeginInfo->pNext)',
                                                          'finalize_txt': 'glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pBeginInfo))'},
-                           'XGL_DYNAMIC_VP_STATE_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(XGL_DYNAMIC_VP_STATE_CREATE_INFO), pCreateInfo);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pViewports), vpsCount * sizeof(XGL_VIEWPORT), pCreateInfo->pViewports);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pScissors), vpsCount * sizeof(XGL_RECT), pCreateInfo->pScissors)',
+                           'VK_DYNAMIC_VP_STATE_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(VK_DYNAMIC_VP_STATE_CREATE_INFO), pCreateInfo);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pViewports), vpsCount * sizeof(VK_VIEWPORT), pCreateInfo->pViewports);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pScissors), vpsCount * sizeof(VK_RECT), pCreateInfo->pScissors)',
                                                                 'finalize_txt': 'glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pViewports));\n    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pScissors));\n    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo))'},
-                           'XGL_MEMORY_ALLOC_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pAllocInfo), sizeof(XGL_MEMORY_ALLOC_INFO), pAllocInfo);\n    add_alloc_memory_to_trace_packet(pHeader, (void**)&(pPacket->pAllocInfo->pNext), pAllocInfo->pNext)',
+                           'VK_MEMORY_ALLOC_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pAllocInfo), sizeof(VK_MEMORY_ALLOC_INFO), pAllocInfo);\n    add_alloc_memory_to_trace_packet(pHeader, (void**)&(pPacket->pAllocInfo->pNext), pAllocInfo->pNext)',
                                                      'finalize_txt': 'glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pAllocInfo))'},
-                           'XGL_GRAPHICS_PIPELINE_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(XGL_GRAPHICS_PIPELINE_CREATE_INFO), pCreateInfo);\n    add_pipeline_state_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pNext), pCreateInfo->pNext)',
+                           'VK_GRAPHICS_PIPELINE_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(VK_GRAPHICS_PIPELINE_CREATE_INFO), pCreateInfo);\n    add_pipeline_state_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pNext), pCreateInfo->pNext)',
                                                                  'finalize_txt': 'glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo))'},
-                           'XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO': {'add_txt': 'if (pCreateInfo)\n        add_create_ds_layout_to_trace_packet(pHeader, &(pPacket->pCreateInfo), pCreateInfo)',
-                                                                     'finalize_txt': '// pCreateInfo finalized in add_create_ds_layout_to_trace_packet'},
-                           'XGL_DESCRIPTOR_POOL_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(XGL_DESCRIPTOR_POOL_CREATE_INFO), pCreateInfo);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pTypeCount), rgCount * sizeof(XGL_DESCRIPTOR_TYPE_COUNT), pCreateInfo->pTypeCount)',
+                           'VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSetLayoutInfoList), sizeof(VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO), pSetLayoutInfoList);\n    if (pSetLayoutInfoList)\n        add_create_ds_layout_to_trace_packet(pHeader, (void**)&(pPacket->pSetLayoutInfoList->pNext), pSetLayoutInfoList->pNext)',
+                                                                     'finalize_txt': 'glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pSetLayoutInfoList))'},
+                           'VK_DESCRIPTOR_REGION_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(VK_DESCRIPTOR_REGION_CREATE_INFO), pCreateInfo);\n    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pTypeCount), rgCount * sizeof(VK_DESCRIPTOR_TYPE_COUNT), pCreateInfo->pTypeCount)',
                                                                  'finalize_txt': 'glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pTypeCount));\n    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo))'},
-                           'XGL_COMPUTE_PIPELINE_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(XGL_COMPUTE_PIPELINE_CREATE_INFO), pCreateInfo);\n    add_pipeline_state_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pNext), pCreateInfo->pNext);\n    add_pipeline_shader_to_trace_packet(pHeader, (XGL_PIPELINE_SHADER*)&pPacket->pCreateInfo->cs, &pCreateInfo->cs)',
+                           'VK_COMPUTE_PIPELINE_CREATE_INFO': {'add_txt': 'glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(VK_COMPUTE_PIPELINE_CREATE_INFO), pCreateInfo);\n    add_pipeline_state_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pNext), pCreateInfo->pNext);\n    add_pipeline_shader_to_trace_packet(pHeader, (VK_PIPELINE_SHADER*)&pPacket->pCreateInfo->cs, &pCreateInfo->cs)',
                                                                 'finalize_txt': 'finalize_pipeline_shader_address(pHeader, &pPacket->pCreateInfo->cs);\n    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo))'},
                                                   }
         for p in params:
@@ -399,11 +405,17 @@
     def _get_packet_size(self, params):
         ps = [] # List of elements to be added together to account for packet size for given params
         skip_list = [] # store params that are already accounted for so we don't count them twice
+        # Dict of specific params with unique custom sizes
+        custom_size_dict = {'pSetBindPoints': '(VK_SHADER_STAGE_COMPUTE * sizeof(uint32_t))', # Accounting for largest possible array
+                            }
         for p in params:
             #First handle custom cases
-            if p.name in ['pCreateInfo', 'pBeginInfo', 'pAllocInfo']:
+            if p.name in ['pCreateInfo', 'pUpdateChain', 'pSetLayoutInfoList', 'pBeginInfo', 'pAllocInfo']:
                 ps.append('get_struct_chain_size((void*)%s)' % p.name)
                 skip_list.append(p.name)
+            elif p.name in custom_size_dict:
+                ps.append(custom_size_dict[p.name])
+                skip_list.append(p.name)
             # Skip any params already handled
             if p.name in skip_list:
                 continue
@@ -434,7 +446,7 @@
                 elif 'pDataSize' in p.name:
                     ps.append('((pDataSize != NULL) ? sizeof(size_t) : 0)')
                 elif 'IMAGE_SUBRESOURCE' in p.ty and 'pSubresource' == p.name:
-                    ps.append('((pSubresource != NULL) ? sizeof(XGL_IMAGE_SUBRESOURCE) : 0)')
+                    ps.append('((pSubresource != NULL) ? sizeof(VK_IMAGE_SUBRESOURCE) : 0)')
                 else:
                     ps.append('sizeof(%s)' % (p.ty.strip('*').replace('const ', '')))
         return ps
@@ -456,14 +468,14 @@
                                          'CmdPipelineBarrier', 'CmdWaitEvents']
         for proto in self.protos:
             if proto.name in manually_written_hooked_funcs:
-                func_body.append( '// __HOOKED_xgl%s is manually written. Look in glvtrace_xgl_trace.c\n' % proto.name)
+                func_body.append( '// __HOOKED_vk%s is manually written. Look in glvtrace_vk_trace.c\n' % proto.name)
             elif 'Dbg' not in proto.name and 'Wsi' not in proto.name:
                 raw_packet_update_list = [] # non-ptr elements placed directly into packet
                 ptr_packet_update_list = [] # ptr elements to be updated into packet
                 return_txt = ''
                 packet_size = []
                 in_data_size = False # flag when we need to capture local input size variable for in/out size
-                func_body.append('GLVTRACER_EXPORT %s XGLAPI __HOOKED_xgl%s(' % (proto.ret, proto.name))
+                func_body.append('GLVTRACER_EXPORT %s VKAPI __HOOKED_vk%s(' % (proto.ret, proto.name))
                 for p in proto.params: # TODO : For all of the ptr types, check them for NULL and return 0 if NULL
                     if '[' in p.ty: # Correctly declare static arrays in function parameters
                         func_body.append('    %s %s[%s],' % (p.ty[:p.ty.find('[')], p.name, p.ty[p.ty.find('[')+1:p.ty.find(']')]))
@@ -489,74 +501,48 @@
                     return_txt = 'result = '
                 if in_data_size:
                     func_body.append('    size_t _dataSize;')
-                func_body.append('    struct_xgl%s* pPacket = NULL;' % proto.name)
+                func_body.append('    struct_vk%s* pPacket = NULL;' % proto.name)
                 # functions that have non-standard sequence of  packet creation and calling real function
                 # NOTE: Anytime we call the function before CREATE_TRACE_PACKET, need to add custom code for correctly tracking API call time
                 if proto.name in ['CreateFramebuffer', 'CreateRenderPass', 'CreateDynamicViewportState',
-                                  'CreateDescriptorPool', 'UpdateDescriptors']:
+                                  'CreateDescriptorRegion']:
                     # these are regular case as far as sequence of tracing but have some custom size element
                     if 'CreateFramebuffer' == proto.name:
-                        func_body.append('    int dsSize = (pCreateInfo != NULL && pCreateInfo->pDepthStencilAttachment != NULL) ? sizeof(XGL_DEPTH_STENCIL_BIND_INFO) : 0;')
+                        func_body.append('    int dsSize = (pCreateInfo != NULL && pCreateInfo->pDepthStencilAttachment != NULL) ? sizeof(VK_DEPTH_STENCIL_BIND_INFO) : 0;')
                         func_body.append('    uint32_t colorCount = (pCreateInfo != NULL && pCreateInfo->pColorAttachments != NULL) ? pCreateInfo->colorAttachmentCount : 0;')
-                        func_body.append('    CREATE_TRACE_PACKET(xglCreateFramebuffer, get_struct_chain_size((void*)pCreateInfo) + sizeof(XGL_FRAMEBUFFER));')
+                        func_body.append('    CREATE_TRACE_PACKET(vkCreateFramebuffer, get_struct_chain_size((void*)pCreateInfo) + sizeof(VK_FRAMEBUFFER));')
                     elif 'CreateRenderPass' == proto.name:
                         func_body.append('    uint32_t colorCount = (pCreateInfo != NULL && (pCreateInfo->pColorLoadOps != NULL || pCreateInfo->pColorStoreOps != NULL || pCreateInfo->pColorLoadClearValues != NULL)) ? pCreateInfo->colorAttachmentCount : 0;')
-                        func_body.append('    size_t customSize;')
-                        func_body.append('    customSize = colorCount * ((pCreateInfo->pColorFormats != NULL) ? sizeof(XGL_FORMAT) : 0);')
-                        func_body.append('    customSize += colorCount * ((pCreateInfo->pColorLayouts != NULL) ? sizeof(XGL_IMAGE_LAYOUT) : 0);')
-                        func_body.append('    customSize += colorCount * ((pCreateInfo->pColorLoadOps != NULL) ? sizeof(XGL_ATTACHMENT_LOAD_OP) : 0);')
-                        func_body.append('    customSize += colorCount * ((pCreateInfo->pColorStoreOps != NULL) ? sizeof(XGL_ATTACHMENT_STORE_OP) : 0);')
-                        func_body.append('    customSize += colorCount * ((pCreateInfo->pColorLoadClearValues != NULL) ? sizeof(XGL_CLEAR_COLOR) : 0);')
-                        func_body.append('    CREATE_TRACE_PACKET(xglCreateRenderPass, sizeof(XGL_RENDER_PASS_CREATE_INFO) + sizeof(XGL_RENDER_PASS) + customSize);')
-                    elif 'BeginCommandBuffer' == proto.name:
-                        func_body.append('    customSize = calculate_begin_cmdbuf_size(pBeginInfo->pNext);')
-                        func_body.append('    CREATE_TRACE_PACKET(xglBeginCommandBuffer, sizeof(XGL_CMD_BUFFER_BEGIN_INFO) + customSize);')
+                        func_body.append('    CREATE_TRACE_PACKET(vkCreateRenderPass, get_struct_chain_size((void*)pCreateInfo) + sizeof(VK_RENDER_PASS));')
                     elif 'CreateDynamicViewportState' == proto.name:
                         func_body.append('    uint32_t vpsCount = (pCreateInfo != NULL && pCreateInfo->pViewports != NULL) ? pCreateInfo->viewportAndScissorCount : 0;')
-                        func_body.append('    CREATE_TRACE_PACKET(xglCreateDynamicViewportState,  get_struct_chain_size((void*)pCreateInfo) + sizeof(XGL_DYNAMIC_VP_STATE_OBJECT));')
-                    elif 'CreateDescriptorPool' == proto.name:
+                        func_body.append('    CREATE_TRACE_PACKET(vkCreateDynamicViewportState,  get_struct_chain_size((void*)pCreateInfo) + sizeof(VK_DYNAMIC_VP_STATE_OBJECT));')
+                    elif 'CreateDescriptorRegion' == proto.name:
                         func_body.append('    uint32_t rgCount = (pCreateInfo != NULL && pCreateInfo->pTypeCount != NULL) ? pCreateInfo->count : 0;')
-                        func_body.append('    CREATE_TRACE_PACKET(xglCreateDescriptorPool,  get_struct_chain_size((void*)pCreateInfo) + sizeof(XGL_DESCRIPTOR_POOL));')
-                    elif 'UpdateDescriptors' == proto.name:
-                        func_body.append('    uint32_t i;')
-                        func_body.append('    size_t customSize=0;')
-                        func_body.append('    for (i = 0; i < updateCount; i++)')
-                        func_body.append('    {')
-                        func_body.append('        customSize += get_struct_chain_size(ppUpdateArray[i]);')
-                        func_body.append('        customSize += sizeof(intptr_t);')
-                        func_body.append('    }')
-                        func_body.append('    CREATE_TRACE_PACKET(xglUpdateDescriptors,  customSize);')
-                    func_body.append('    %sreal_xgl%s;' % (return_txt, proto.c_call()))
+                        func_body.append('    CREATE_TRACE_PACKET(vkCreateDescriptorRegion,  get_struct_chain_size((void*)pCreateInfo) + sizeof(VK_DESCRIPTOR_REGION));')
+                    func_body.append('    %sreal_vk%s;' % (return_txt, proto.c_call()))
                 else:
                     if (0 == len(packet_size)):
-                        func_body.append('    CREATE_TRACE_PACKET(xgl%s, 0);' % (proto.name))
+                        func_body.append('    CREATE_TRACE_PACKET(vk%s, 0);' % (proto.name))
                     else:
-                        func_body.append('    CREATE_TRACE_PACKET(xgl%s, %s);' % (proto.name, ' + '.join(packet_size)))
-                    func_body.append('    %sreal_xgl%s;' % (return_txt, proto.c_call()))
+                        func_body.append('    CREATE_TRACE_PACKET(vk%s, %s);' % (proto.name, ' + '.join(packet_size)))
+                    func_body.append('    %sreal_vk%s;' % (return_txt, proto.c_call()))
                 if in_data_size:
                     func_body.append('    _dataSize = (pDataSize == NULL || pData == NULL) ? 0 : *pDataSize;')
-                func_body.append('    pPacket = interpret_body_as_xgl%s(pHeader);' % proto.name)
+                func_body.append('    pPacket = interpret_body_as_vk%s(pHeader);' % proto.name)
                 func_body.append('\n'.join(raw_packet_update_list))
-                if 'UpdateDescriptors' == proto.name:
-                    func_body.append('    // add buffer which is an array of pointers')
-                    func_body.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->ppUpdateArray), updateCount * sizeof(intptr_t), ppUpdateArray);')
-                    func_body.append('    // add all the sub buffers with descriptor updates')
-                    func_body.append('    add_update_descriptors_to_trace_packet(pHeader, updateCount, (void ***) &pPacket->ppUpdateArray, ppUpdateArray);')
-                    func_body.append('    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->ppUpdateArray));')
-                    func_body.append('    FINISH_TRACE_PACKET();')
-                else:
-                    for pp_dict in ptr_packet_update_list: #buff_ptr_indices:
-                        func_body.append('    %s;' % (pp_dict['add_txt']))
-                    if 'void' not in proto.ret or '*' in proto.ret:
-                        func_body.append('    pPacket->result = result;')
-                    for pp_dict in ptr_packet_update_list:
-                        if ('DEVICE_CREATE_INFO' not in proto.params[pp_dict['index']].ty) and ('INSTANCE_CREATE_INFO' not in proto.params[pp_dict['index']].ty) and ('ppUpdateArray' != proto.params[pp_dict['index']].name):
-                            func_body.append('    %s;' % (pp_dict['finalize_txt']))
-                    func_body.append('    FINISH_TRACE_PACKET();')
-                    if 'AllocMemory' in proto.name:
-                        func_body.append('    add_new_handle_to_mem_info(*pMem, pAllocInfo->allocationSize, NULL);')
-                    elif 'FreeMemory' in proto.name:
-                        func_body.append('    rm_handle_from_mem_info(mem);')
+                for pp_dict in ptr_packet_update_list: #buff_ptr_indices:
+                    func_body.append('    %s;' % (pp_dict['add_txt']))
+                if 'void' not in proto.ret or '*' in proto.ret:
+                    func_body.append('    pPacket->result = result;')
+                for pp_dict in ptr_packet_update_list:
+                    if ('DEVICE_CREATE_INFO' not in proto.params[pp_dict['index']].ty) and ('APPLICATION_INFO' not in proto.params[pp_dict['index']].ty) and ('pUpdateChain' != proto.params[pp_dict['index']].name):
+                        func_body.append('    %s;' % (pp_dict['finalize_txt']))
+                func_body.append('    FINISH_TRACE_PACKET();')
+                if 'AllocMemory' in proto.name:
+                    func_body.append('    add_new_handle_to_mem_info(*pMem, pAllocInfo->allocationSize, NULL);')
+                elif 'FreeMemory' in proto.name:
+                    func_body.append('    rm_handle_from_mem_info(mem);')
                 if 'void' not in proto.ret or '*' in proto.ret:
                     func_body.append('    return result;')
                 func_body.append('}\n')
@@ -571,7 +557,7 @@
                 return_txt = ''
                 packet_size = ''
                 buff_ptr_indices = []
-                func_body.append('GLVTRACER_EXPORT %s XGLAPI __HOOKED_xgl%s(' % (proto.ret, proto.name))
+                func_body.append('GLVTRACER_EXPORT %s VKAPI __HOOKED_vk%s(' % (proto.ret, proto.name))
                 for p in proto.params: # TODO : For all of the ptr types, check them for NULL and return 0 is NULL
                     func_body.append('    %s %s,' % (p.ty, p.name))
                     if 'Size' in p.name:
@@ -595,16 +581,16 @@
                 if 'void' not in proto.ret or '*' in proto.ret:
                     func_body.append('    %s result;' % proto.ret)
                     return_txt = 'result = '
-                func_body.append('    struct_xgl%s* pPacket = NULL;' % proto.name)
+                func_body.append('    struct_vk%s* pPacket = NULL;' % proto.name)
                 if proto.name in thread_once_funcs:
                     func_body.append('    glv_platform_thread_once(&gInitOnce, InitTracer);')
-                func_body.append('    SEND_ENTRYPOINT_ID(xgl%s);' % proto.name)
+                func_body.append('    SEND_ENTRYPOINT_ID(vk%s);' % proto.name)
                 if 'DbgRegisterMsgCallback' in proto.name:
-                    func_body.append('    CREATE_TRACE_PACKET(xgl%s, sizeof(char));' % proto.name)
+                    func_body.append('    CREATE_TRACE_PACKET(vk%s, sizeof(char));' % proto.name)
                 else:
-                    func_body.append('    CREATE_TRACE_PACKET(xgl%s, %s);' % (proto.name, packet_size))
-                func_body.append('    %sreal_xgl%s;' % (return_txt, proto.c_call()))
-                func_body.append('    pPacket = interpret_body_as_xgl%s(pHeader);' % proto.name)
+                    func_body.append('    CREATE_TRACE_PACKET(vk%s, %s);' % (proto.name, packet_size))
+                func_body.append('    %sreal_vk%s;' % (return_txt, proto.c_call()))
+                func_body.append('    pPacket = interpret_body_as_vk%s(pHeader);' % proto.name)
                 func_body.append(packet_update_txt.strip('\n'))
                 for idx in buff_ptr_indices:
                     if 'char' in proto.params[idx].ty:
@@ -632,35 +618,35 @@
 
     def _generate_packet_id_enum(self):
         pid_enum = []
-        pid_enum.append('enum GLV_TRACE_PACKET_ID_XGL')
+        pid_enum.append('enum GLV_TRACE_PACKET_ID_VK')
         pid_enum.append('{')
         first_func = True
         for proto in self.protos:
             if first_func:
                 first_func = False
-                pid_enum.append('    GLV_TPI_XGL_xglApiVersion = GLV_TPI_BEGIN_API_HERE,')
-                pid_enum.append('    GLV_TPI_XGL_xgl%s,' % proto.name)
+                pid_enum.append('    GLV_TPI_VK_vkApiVersion = GLV_TPI_BEGIN_API_HERE,')
+                pid_enum.append('    GLV_TPI_VK_vk%s,' % proto.name)
             else:
-                pid_enum.append('    GLV_TPI_XGL_xgl%s,' % proto.name)
+                pid_enum.append('    GLV_TPI_VK_vk%s,' % proto.name)
         pid_enum.append('};\n')
         return "\n".join(pid_enum)
 
     def _generate_stringify_func(self):
         func_body = []
-        func_body.append('static const char *stringify_xgl_packet_id(const enum GLV_TRACE_PACKET_ID_XGL id, const glv_trace_packet_header* pHeader)')
+        func_body.append('static const char *stringify_vk_packet_id(const enum GLV_TRACE_PACKET_ID_VK id, const glv_trace_packet_header* pHeader)')
         func_body.append('{')
         func_body.append('    static char str[1024];')
         func_body.append('    switch(id) {')
-        func_body.append('    case GLV_TPI_XGL_xglApiVersion:')
+        func_body.append('    case GLV_TPI_VK_vkApiVersion:')
         func_body.append('    {')
-        func_body.append('        struct_xglApiVersion* pPacket = (struct_xglApiVersion*)(pHeader->pBody);')
-        func_body.append('        snprintf(str, 1024, "xglApiVersion = 0x%x", pPacket->version);')
+        func_body.append('        struct_vkApiVersion* pPacket = (struct_vkApiVersion*)(pHeader->pBody);')
+        func_body.append('        snprintf(str, 1024, "vkApiVersion = 0x%x", pPacket->version);')
         func_body.append('        return str;')
         func_body.append('    }')
         for proto in self.protos:
-            func_body.append('    case GLV_TPI_XGL_xgl%s:' % proto.name)
+            func_body.append('    case GLV_TPI_VK_vk%s:' % proto.name)
             func_body.append('    {')
-            func_str = 'xgl%s(' % proto.name
+            func_str = 'vk%s(' % proto.name
             print_vals = ''
             create_func = False
             if 'Create' in proto.name or 'Alloc' in proto.name or 'MapMemory' in proto.name:
@@ -676,13 +662,10 @@
                 if last_param == True:
                     func_str += '%s%s = %s)' % (ptr, p.name, pft)
                     print_vals += ', %s' % (pfi)
-                elif 'XGL_CLEAR_COLOR' == p.ty:
-                    func_str += '%s%s = %s, ' % (ptr, p.name, pft)
-                    print_vals += ', (void *) &pPacket->%s' % (p.name)
                 else:
                     func_str += '%s%s = %s, ' % (ptr, p.name, pft)
                     print_vals += ', %s' % (pfi)
-            func_body.append('        struct_xgl%s* pPacket = (struct_xgl%s*)(pHeader->pBody);' % (proto.name, proto.name))
+            func_body.append('        struct_vk%s* pPacket = (struct_vk%s*)(pHeader->pBody);' % (proto.name, proto.name))
             func_body.append('        snprintf(str, 1024, "%s"%s);' % (func_str, print_vals))
             func_body.append('        return str;')
             func_body.append('    }')
@@ -694,7 +677,7 @@
 
     def _generate_interp_func(self):
         interp_func_body = []
-        interp_func_body.append('static glv_trace_packet_header* interpret_trace_packet_xgl(glv_trace_packet_header* pHeader)')
+        interp_func_body.append('static glv_trace_packet_header* interpret_trace_packet_vk(glv_trace_packet_header* pHeader)')
         interp_func_body.append('{')
         interp_func_body.append('    if (pHeader == NULL)')
         interp_func_body.append('    {')
@@ -702,14 +685,14 @@
         interp_func_body.append('    }')
         interp_func_body.append('    switch (pHeader->packet_id)')
         interp_func_body.append('    {')
-        interp_func_body.append('        case GLV_TPI_XGL_xglApiVersion:\n        {')
-        interp_func_body.append('            return interpret_body_as_xglApiVersion(pHeader, TRUE)->header;\n        }')
+        interp_func_body.append('        case GLV_TPI_VK_vkApiVersion:\n        {')
+        interp_func_body.append('            return interpret_body_as_vkApiVersion(pHeader, TRUE)->header;\n        }')
         for proto in self.protos:
-            interp_func_body.append('        case GLV_TPI_XGL_xgl%s:\n        {' % proto.name)
+            interp_func_body.append('        case GLV_TPI_VK_vk%s:\n        {' % proto.name)
             header_prefix = 'h'
             if 'Wsi' in proto.name or 'Dbg' in proto.name:
                 header_prefix = 'pH'
-            interp_func_body.append('            return interpret_body_as_xgl%s(pHeader)->%seader;\n        }' % (proto.name, header_prefix))
+            interp_func_body.append('            return interpret_body_as_vk%s(pHeader)->%seader;\n        }' % (proto.name, header_prefix))
         interp_func_body.append('        default:')
         interp_func_body.append('            return NULL;')
         interp_func_body.append('    }')
@@ -720,22 +703,22 @@
     def _generate_struct_util_funcs(self):
         pid_enum = []
         pid_enum.append('//=============================================================================')
-        pid_enum.append('static void add_XGL_APPLICATION_INFO_to_packet(glv_trace_packet_header*  pHeader, XGL_APPLICATION_INFO** ppStruct, const XGL_APPLICATION_INFO *pInStruct)')
+        pid_enum.append('static void add_VK_APPLICATION_INFO_to_packet(glv_trace_packet_header*  pHeader, VK_APPLICATION_INFO** ppStruct, const VK_APPLICATION_INFO *pInStruct)')
         pid_enum.append('{')
-        pid_enum.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)ppStruct, sizeof(XGL_APPLICATION_INFO), pInStruct);')
+        pid_enum.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)ppStruct, sizeof(VK_APPLICATION_INFO), pInStruct);')
         pid_enum.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)&((*ppStruct)->pAppName), strlen(pInStruct->pAppName) + 1, pInStruct->pAppName);')
         pid_enum.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)&((*ppStruct)->pEngineName), strlen(pInStruct->pEngineName) + 1, pInStruct->pEngineName);')
         pid_enum.append('    glv_finalize_buffer_address(pHeader, (void**)&((*ppStruct)->pAppName));')
         pid_enum.append('    glv_finalize_buffer_address(pHeader, (void**)&((*ppStruct)->pEngineName));')
         pid_enum.append('    glv_finalize_buffer_address(pHeader, (void**)&*ppStruct);')
         pid_enum.append('};\n')
-        pid_enum.append('static void add_XGL_INSTANCE_CREATE_INFO_to_packet(glv_trace_packet_header*  pHeader, XGL_INSTANCE_CREATE_INFO** ppStruct, const XGL_INSTANCE_CREATE_INFO *pInStruct)')
+        pid_enum.append('//=============================================================================\n')
+        pid_enum.append('static void add_VK_DEVICE_CREATE_INFO_to_packet(glv_trace_packet_header*  pHeader, VK_DEVICE_CREATE_INFO** ppStruct, const VK_DEVICE_CREATE_INFO *pInStruct)')
         pid_enum.append('{')
-        pid_enum.append('    uint32_t i = 0;')
-        pid_enum.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)ppStruct, sizeof(XGL_INSTANCE_CREATE_INFO), pInStruct);')
-        pid_enum.append('    add_XGL_APPLICATION_INFO_to_packet(pHeader, (XGL_APPLICATION_INFO**) &((*ppStruct)->pAppInfo), pInStruct->pAppInfo);')
-        pid_enum.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)&((*ppStruct)->pAllocCb), sizeof(XGL_ALLOC_CALLBACKS), pInStruct->pAllocCb);')
-        pid_enum.append('    glv_finalize_buffer_address(pHeader, (void**)&((*ppStruct)->pAllocCb));')
+        pid_enum.append('    uint32_t i;')
+        pid_enum.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)ppStruct, sizeof(VK_DEVICE_CREATE_INFO), pInStruct);')
+        pid_enum.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)&(*ppStruct)->pRequestedQueues, pInStruct->queueRecordCount*sizeof(VK_DEVICE_QUEUE_CREATE_INFO), pInStruct->pRequestedQueues);')
+        pid_enum.append('    glv_finalize_buffer_address(pHeader, (void**)&(*ppStruct)->pRequestedQueues);')
         pid_enum.append('    if (pInStruct->extensionCount > 0) ')
         pid_enum.append('    {')
         pid_enum.append('        glv_add_buffer_to_trace_packet(pHeader, (void**)(&(*ppStruct)->ppEnabledExtensionNames), pInStruct->extensionCount * sizeof(char *), pInStruct->ppEnabledExtensionNames);')
@@ -746,33 +729,14 @@
         pid_enum.append('        }')
         pid_enum.append('        glv_finalize_buffer_address(pHeader, (void **)&(*ppStruct)->ppEnabledExtensionNames);')
         pid_enum.append('    }')
-        pid_enum.append('    glv_finalize_buffer_address(pHeader, (void**)&*ppStruct);')
-        pid_enum.append('};\n')
-        pid_enum.append('//=============================================================================\n')
-        pid_enum.append('static void add_XGL_DEVICE_CREATE_INFO_to_packet(glv_trace_packet_header*  pHeader, XGL_DEVICE_CREATE_INFO** ppStruct, const XGL_DEVICE_CREATE_INFO *pInStruct)')
-        pid_enum.append('{')
-        pid_enum.append('    uint32_t i;')
-        pid_enum.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)ppStruct, sizeof(XGL_DEVICE_CREATE_INFO), pInStruct);')
-        pid_enum.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)&(*ppStruct)->pRequestedQueues, pInStruct->queueRecordCount*sizeof(XGL_DEVICE_QUEUE_CREATE_INFO), pInStruct->pRequestedQueues);')
-        pid_enum.append('    glv_finalize_buffer_address(pHeader, (void**)&(*ppStruct)->pRequestedQueues);')
-        pid_enum.append('    if (pInStruct->extensionCount > 0)')
-        pid_enum.append('    {')
-        pid_enum.append('        glv_add_buffer_to_trace_packet(pHeader, (void**)(&(*ppStruct)->ppEnabledExtensionNames), pInStruct->extensionCount * sizeof(char *), pInStruct->ppEnabledExtensionNames);')
-        pid_enum.append('        for (i = 0; i < pInStruct->extensionCount; i++)')
-        pid_enum.append('        {')
-        pid_enum.append('            glv_add_buffer_to_trace_packet(pHeader, (void**)(&((*ppStruct)->ppEnabledExtensionNames[i])), strlen(pInStruct->ppEnabledExtensionNames[i]) + 1, pInStruct->ppEnabledExtensionNames[i]);')
-        pid_enum.append('            glv_finalize_buffer_address(pHeader, (void**)(&((*ppStruct)->ppEnabledExtensionNames[i])));')
-        pid_enum.append('        }')
-        pid_enum.append('        glv_finalize_buffer_address(pHeader, (void **)&(*ppStruct)->ppEnabledExtensionNames);')
-        pid_enum.append('    }')
-        pid_enum.append('    XGL_LAYER_CREATE_INFO *pNext = ( XGL_LAYER_CREATE_INFO *) pInStruct->pNext;')
+        pid_enum.append('    VK_LAYER_CREATE_INFO *pNext = ( VK_LAYER_CREATE_INFO *) pInStruct->pNext;')
         pid_enum.append('    while (pNext != NULL)')
         pid_enum.append('    {')
-        pid_enum.append('        if ((pNext->sType == XGL_STRUCTURE_TYPE_LAYER_CREATE_INFO) && pNext->layerCount > 0)')
+        pid_enum.append('        if ((pNext->sType == VK_STRUCTURE_TYPE_LAYER_CREATE_INFO) && pNext->layerCount > 0)')
         pid_enum.append('        {')
-        pid_enum.append('            glv_add_buffer_to_trace_packet(pHeader, (void**)(&((*ppStruct)->pNext)), sizeof(XGL_LAYER_CREATE_INFO), pNext);')
+        pid_enum.append('            glv_add_buffer_to_trace_packet(pHeader, (void**)(&((*ppStruct)->pNext)), sizeof(VK_LAYER_CREATE_INFO), pNext);')
         pid_enum.append('            glv_finalize_buffer_address(pHeader, (void**)(&((*ppStruct)->pNext)));')
-        pid_enum.append('            XGL_LAYER_CREATE_INFO **ppOutStruct = (XGL_LAYER_CREATE_INFO **) &((*ppStruct)->pNext);')
+        pid_enum.append('            VK_LAYER_CREATE_INFO **ppOutStruct = (VK_LAYER_CREATE_INFO **) &((*ppStruct)->pNext);')
         pid_enum.append('            glv_add_buffer_to_trace_packet(pHeader, (void**)(&(*ppOutStruct)->ppActiveLayerNames), pNext->layerCount * sizeof(char *), pNext->ppActiveLayerNames);')
         pid_enum.append('            for (i = 0; i < pNext->layerCount; i++)')
         pid_enum.append('            {')
@@ -781,31 +745,31 @@
         pid_enum.append('            }')
         pid_enum.append('            glv_finalize_buffer_address(pHeader, (void **)&(*ppOutStruct)->ppActiveLayerNames);')
         pid_enum.append('        }')
-        pid_enum.append('        pNext = ( XGL_LAYER_CREATE_INFO *) pNext->pNext;')
+        pid_enum.append('        pNext = ( VK_LAYER_CREATE_INFO *) pNext->pNext;')
         pid_enum.append('    }')
         pid_enum.append('    glv_finalize_buffer_address(pHeader, (void**)ppStruct);')
         pid_enum.append('}\n')
-        pid_enum.append('static XGL_DEVICE_CREATE_INFO* interpret_XGL_DEVICE_CREATE_INFO(glv_trace_packet_header*  pHeader, intptr_t ptr_variable)')
+        pid_enum.append('static VK_DEVICE_CREATE_INFO* interpret_VK_DEVICE_CREATE_INFO(glv_trace_packet_header*  pHeader, intptr_t ptr_variable)')
         pid_enum.append('{')
-        pid_enum.append('    XGL_DEVICE_CREATE_INFO* pXGL_DEVICE_CREATE_INFO = (XGL_DEVICE_CREATE_INFO*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)ptr_variable);\n')
-        pid_enum.append('    if (pXGL_DEVICE_CREATE_INFO != NULL)')
+        pid_enum.append('    VK_DEVICE_CREATE_INFO* pVK_DEVICE_CREATE_INFO = (VK_DEVICE_CREATE_INFO*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)ptr_variable);\n')
+        pid_enum.append('    if (pVK_DEVICE_CREATE_INFO != NULL)')
         pid_enum.append('    {')
         pid_enum.append('            uint32_t i;')
         pid_enum.append('            const char** pNames;')
-        pid_enum.append('        pXGL_DEVICE_CREATE_INFO->pRequestedQueues = (const XGL_DEVICE_QUEUE_CREATE_INFO*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pXGL_DEVICE_CREATE_INFO->pRequestedQueues);\n')
-        pid_enum.append('        if (pXGL_DEVICE_CREATE_INFO->extensionCount > 0)')
+        pid_enum.append('        pVK_DEVICE_CREATE_INFO->pRequestedQueues = (const VK_DEVICE_QUEUE_CREATE_INFO*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVK_DEVICE_CREATE_INFO->pRequestedQueues);\n')
+        pid_enum.append('        if (pVK_DEVICE_CREATE_INFO->extensionCount > 0)')
         pid_enum.append('        {')
-        pid_enum.append('            pXGL_DEVICE_CREATE_INFO->ppEnabledExtensionNames = (const char *const*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pXGL_DEVICE_CREATE_INFO->ppEnabledExtensionNames);')
-        pid_enum.append('            pNames = (const char**)pXGL_DEVICE_CREATE_INFO->ppEnabledExtensionNames;')
-        pid_enum.append('            for (i = 0; i < pXGL_DEVICE_CREATE_INFO->extensionCount; i++)')
+        pid_enum.append('            pVK_DEVICE_CREATE_INFO->ppEnabledExtensionNames = (const char *const*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVK_DEVICE_CREATE_INFO->ppEnabledExtensionNames);')
+        pid_enum.append('            pNames = (const char**)pVK_DEVICE_CREATE_INFO->ppEnabledExtensionNames;')
+        pid_enum.append('            for (i = 0; i < pVK_DEVICE_CREATE_INFO->extensionCount; i++)')
         pid_enum.append('            {')
-        pid_enum.append('                pNames[i] = (const char*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)(pXGL_DEVICE_CREATE_INFO->ppEnabledExtensionNames[i]));')
+        pid_enum.append('                pNames[i] = (const char*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)(pVK_DEVICE_CREATE_INFO->ppEnabledExtensionNames[i]));')
         pid_enum.append('            }')
         pid_enum.append('        }')
-        pid_enum.append('        XGL_LAYER_CREATE_INFO *pNext = ( XGL_LAYER_CREATE_INFO *) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pXGL_DEVICE_CREATE_INFO->pNext);')
+        pid_enum.append('        VK_LAYER_CREATE_INFO *pNext = ( VK_LAYER_CREATE_INFO *) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVK_DEVICE_CREATE_INFO->pNext);')
         pid_enum.append('        while (pNext != NULL)')
         pid_enum.append('        {')
-        pid_enum.append('            if ((pNext->sType == XGL_STRUCTURE_TYPE_LAYER_CREATE_INFO) && pNext->layerCount > 0)')
+        pid_enum.append('            if ((pNext->sType == VK_STRUCTURE_TYPE_LAYER_CREATE_INFO) && pNext->layerCount > 0)')
         pid_enum.append('            {')
         pid_enum.append('                pNext->ppActiveLayerNames = (const char**) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)(pNext->ppActiveLayerNames));')
         pid_enum.append('                pNames = (const char**)pNext->ppActiveLayerNames;')
@@ -814,12 +778,12 @@
         pid_enum.append('                    pNames[i] = (const char*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)(pNext->ppActiveLayerNames[i]));')
         pid_enum.append('                }')
         pid_enum.append('            }')
-        pid_enum.append('            pNext = ( XGL_LAYER_CREATE_INFO *) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);')
+        pid_enum.append('            pNext = ( VK_LAYER_CREATE_INFO *) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);')
         pid_enum.append('        }')
         pid_enum.append('    }\n')
-        pid_enum.append('    return pXGL_DEVICE_CREATE_INFO;')
+        pid_enum.append('    return pVK_DEVICE_CREATE_INFO;')
         pid_enum.append('}\n')
-        pid_enum.append('static void interpret_pipeline_shader(glv_trace_packet_header*  pHeader, XGL_PIPELINE_SHADER* pShader)')
+        pid_enum.append('static void interpret_pipeline_shader(glv_trace_packet_header*  pHeader, VK_PIPELINE_SHADER* pShader)')
         pid_enum.append('{')
         pid_enum.append('    if (pShader != NULL)')
         pid_enum.append('    {')
@@ -827,10 +791,10 @@
         pid_enum.append('        if (pShader->linkConstBufferCount > 0)')
         pid_enum.append('        {')
         pid_enum.append('            uint32_t i;')
-        pid_enum.append('            pShader->pLinkConstBufferInfo = (const XGL_LINK_CONST_BUFFER*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pShader->pLinkConstBufferInfo);')
+        pid_enum.append('            pShader->pLinkConstBufferInfo = (const VK_LINK_CONST_BUFFER*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pShader->pLinkConstBufferInfo);')
         pid_enum.append('            for (i = 0; i < pShader->linkConstBufferCount; i++)')
         pid_enum.append('            {')
-        pid_enum.append('                XGL_LINK_CONST_BUFFER* pBuffer = (XGL_LINK_CONST_BUFFER*)pShader->pLinkConstBufferInfo;')
+        pid_enum.append('                VK_LINK_CONST_BUFFER* pBuffer = (VK_LINK_CONST_BUFFER*)pShader->pLinkConstBufferInfo;')
         pid_enum.append('                pBuffer[i].pBufferData = (const void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pShader->pLinkConstBufferInfo[i].pBufferData);')
         pid_enum.append('            }')
         pid_enum.append('        }')
@@ -844,64 +808,50 @@
     def _generate_interp_funcs(self):
         # Custom txt for given function and parameter.  First check if param is NULL, then insert txt if not
         # TODO : This code is now too large and complex, need to make codegen smarter for pointers embedded in struct params to handle those cases automatically
-        custom_case_dict = { 'CreateInstance' : {'param': 'pCreateInfo', 'txt': ['XGL_INSTANCE_CREATE_INFO *pInfo = (XGL_INSTANCE_CREATE_INFO *) pPacket->pCreateInfo;\n',
-                                                       'XGL_APPLICATION_INFO **ppAppInfo = (XGL_APPLICATION_INFO**) &pInfo->pAppInfo;\n',
-                                                       '*ppAppInfo = (XGL_APPLICATION_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t) pInfo->pAppInfo);\n',
-                                                       '(*ppAppInfo)->pAppName = (const char*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)(*ppAppInfo)->pAppName);\n',
-                                                       '(*ppAppInfo)->pEngineName = (const char*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)(*ppAppInfo)->pEngineName);',
-                                                       'if (pInfo->extensionCount > 0)\n',
-                                                       '{',
-                                                       '    pInfo->ppEnabledExtensionNames = (const char *const*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pInfo->ppEnabledExtensionNames);\n',
-                                                       '    const char **pNames = (const char**)pInfo->ppEnabledExtensionNames;\n',
-                                                       '    uint32_t i;\n'
-                                                       '    for (i = 0; i < pInfo->extensionCount; i++)\n',
-                                                       '    {\n',
-                                                       '        pNames[i] = (const char*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)(pInfo->ppEnabledExtensionNames[i]));\n',
-                                                       '    }\n',
-                                                       '}']},
-                             'CreateShader' : {'param': 'pCreateInfo', 'txt': ['XGL_SHADER_CREATE_INFO* pInfo = (XGL_SHADER_CREATE_INFO*)pPacket->pCreateInfo;\n',
+        custom_case_dict = { 'CreateInstance' : {'param': 'pAppInfo', 'txt': ['VK_APPLICATION_INFO* pInfo = (VK_APPLICATION_INFO*)pPacket->pAppInfo;\n',
+                                                       'pInfo->pAppName = (const char*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pAppInfo->pAppName);\n',
+                                                       'pInfo->pEngineName = (const char*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pAppInfo->pEngineName);']},
+                             'CreateShader' : {'param': 'pCreateInfo', 'txt': ['VK_SHADER_CREATE_INFO* pInfo = (VK_SHADER_CREATE_INFO*)pPacket->pCreateInfo;\n',
                                                'pInfo->pCode = glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pCode);']},
-                             'CreateDynamicViewportState' : {'param': 'pCreateInfo', 'txt': ['XGL_DYNAMIC_VP_STATE_CREATE_INFO* pInfo = (XGL_DYNAMIC_VP_STATE_CREATE_INFO*)pPacket->pCreateInfo;\n',
-                                                                                             'pInfo->pViewports = (XGL_VIEWPORT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pViewports);\n',
-                                                                                             'pInfo->pScissors = (XGL_RECT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pScissors);']},
-                             'CreateFramebuffer' : {'param': 'pCreateInfo', 'txt': ['XGL_FRAMEBUFFER_CREATE_INFO* pInfo = (XGL_FRAMEBUFFER_CREATE_INFO*)pPacket->pCreateInfo;\n',
-                                                    'pInfo->pColorAttachments = (XGL_COLOR_ATTACHMENT_BIND_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pColorAttachments);\n',
-                                                    'pInfo->pDepthStencilAttachment = (XGL_DEPTH_STENCIL_BIND_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pDepthStencilAttachment);\n']},
-                             'CreateRenderPass' : {'param': 'pCreateInfo', 'txt': ['XGL_RENDER_PASS_CREATE_INFO* pInfo = (XGL_RENDER_PASS_CREATE_INFO*)pPacket->pCreateInfo;\n',
-                                                   'pInfo->pColorFormats = (XGL_FORMAT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pColorFormats);\n',
-                                                   'pInfo->pColorLayouts = (XGL_IMAGE_LAYOUT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pColorLayouts);\n',
-                                                   'pInfo->pColorLoadOps = (XGL_ATTACHMENT_LOAD_OP*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pColorLoadOps);\n',
-                                                   'pInfo->pColorStoreOps = (XGL_ATTACHMENT_STORE_OP*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pColorStoreOps);\n',
-                                                   'pInfo->pColorLoadClearValues = (XGL_CLEAR_COLOR*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pColorLoadClearValues);\n']},
-                             'CreateDescriptorPool' : {'param': 'pCreateInfo', 'txt': ['XGL_DESCRIPTOR_POOL_CREATE_INFO* pInfo = (XGL_DESCRIPTOR_POOL_CREATE_INFO*)pPacket->pCreateInfo;\n',
-                                                                                             'pInfo->pTypeCount = (XGL_DESCRIPTOR_TYPE_COUNT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pTypeCount);\n']},
-                             'CmdWaitEvents' : {'param': 'pWaitInfo', 'txt': ['XGL_EVENT_WAIT_INFO* pInfo = (XGL_EVENT_WAIT_INFO*)pPacket->pWaitInfo;\n',
-                                                                          'pInfo->pEvents = (XGL_EVENT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pWaitInfo->pEvents);\n',
+                             'CreateDynamicViewportState' : {'param': 'pCreateInfo', 'txt': ['VK_DYNAMIC_VP_STATE_CREATE_INFO* pInfo = (VK_DYNAMIC_VP_STATE_CREATE_INFO*)pPacket->pCreateInfo;\n',
+                                                                                             'pInfo->pViewports = (VK_VIEWPORT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pViewports);\n',
+                                                                                             'pInfo->pScissors = (VK_RECT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pScissors);']},
+                             'CreateFramebuffer' : {'param': 'pCreateInfo', 'txt': ['VK_FRAMEBUFFER_CREATE_INFO* pInfo = (VK_FRAMEBUFFER_CREATE_INFO*)pPacket->pCreateInfo;\n',
+                                                    'pInfo->pColorAttachments = (VK_COLOR_ATTACHMENT_BIND_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pColorAttachments);\n',
+                                                    'pInfo->pDepthStencilAttachment = (VK_DEPTH_STENCIL_BIND_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pDepthStencilAttachment);\n']},
+                             'CreateRenderPass' : {'param': 'pCreateInfo', 'txt': ['VK_RENDER_PASS_CREATE_INFO* pInfo = (VK_RENDER_PASS_CREATE_INFO*)pPacket->pCreateInfo;\n',
+                                                   'pInfo->pColorLoadOps = (VK_ATTACHMENT_LOAD_OP*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pColorLoadOps);\n',
+                                                   'pInfo->pColorStoreOps = (VK_ATTACHMENT_STORE_OP*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pColorStoreOps);\n',
+                                                   'pInfo->pColorLoadClearValues = (VK_CLEAR_COLOR*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pColorLoadClearValues);\n']},
+                             'CreateDescriptorRegion' : {'param': 'pCreateInfo', 'txt': ['VK_DESCRIPTOR_REGION_CREATE_INFO* pInfo = (VK_DESCRIPTOR_REGION_CREATE_INFO*)pPacket->pCreateInfo;\n',
+                                                                                             'pInfo->pTypeCount = (VK_DESCRIPTOR_TYPE_COUNT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pTypeCount);\n']},
+                             'CmdWaitEvents' : {'param': 'pWaitInfo', 'txt': ['VK_EVENT_WAIT_INFO* pInfo = (VK_EVENT_WAIT_INFO*)pPacket->pWaitInfo;\n',
+                                                                          'pInfo->pEvents = (VK_EVENT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pWaitInfo->pEvents);\n',
                                                                           'pInfo->ppMemBarriers = (const void**) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pWaitInfo->ppMemBarriers);\n',
                                                                           'uint32_t i;\n',
                                                                           'for (i = 0; i < pInfo->memBarrierCount; i++) {\n',
                                                                           '    void** ppLocalMemBarriers = (void**)&pInfo->ppMemBarriers[i];\n',
                                                                           '    *ppLocalMemBarriers = (void*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pInfo->ppMemBarriers[i]);\n',
                                                                           '}']},
-                             'CmdPipelineBarrier' : {'param': 'pBarrier', 'txt': ['XGL_PIPELINE_BARRIER* pBarrier = (XGL_PIPELINE_BARRIER*)pPacket->pBarrier;\n',
-                                                                          'pBarrier->pEvents = (XGL_PIPE_EVENT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pBarrier->pEvents);\n',
+                             'CmdPipelineBarrier' : {'param': 'pBarrier', 'txt': ['VK_PIPELINE_BARRIER* pBarrier = (VK_PIPELINE_BARRIER*)pPacket->pBarrier;\n',
+                                                                          'pBarrier->pEvents = (VK_PIPE_EVENT*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pBarrier->pEvents);\n',
                                                                           'pBarrier->ppMemBarriers = (const void**) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pBarrier->ppMemBarriers);\n',
                                                                           'uint32_t i;\n',
                                                                           'for (i = 0; i < pBarrier->memBarrierCount; i++) {\n',
                                                                           '    void** ppLocalMemBarriers = (void**)&pBarrier->ppMemBarriers[i];\n',
                                                                           '    *ppLocalMemBarriers = (void*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pBarrier->ppMemBarriers[i]);\n',
                                                                           '}']},
-                             'CreateDescriptorSetLayout' : {'param': 'pCreateInfo', 'txt': ['if (pPacket->pCreateInfo->sType == XGL_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO) {\n',
-                                                                                         '    XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO* pNext = (XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO*)pPacket->pCreateInfo;\n',
-                                                                                         '    do\n', '    {\n',
-                                                                                         '        // need to make a non-const pointer to the pointer so that we can properly change the original pointer to the interpretted one\n',
-                                                                                         '        void** ppNextVoidPtr = (void**)&(pNext->pNext);\n',
-                                                                                         '        *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
+                             'CreateDescriptorSetLayout' : {'param': 'pSetLayoutInfoList', 'txt': ['if (pPacket->pSetLayoutInfoList->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO) {\n',
+                                                                                         '    // need to make a non-const pointer to the pointer so that we can properly change the original pointer to the interpretted one\n',
+                                                                                         '    void** ppNextVoidPtr = (void**)&(pPacket->pSetLayoutInfoList->pNext);\n',
+                                                                                         '    *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pSetLayoutInfoList->pNext);\n',
+                                                                                         '    VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO* pNext = (VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO*)pPacket->pSetLayoutInfoList->pNext;\n',
+                                                                                         '    while (NULL != pNext)\n', '    {\n',
                                                                                          '        switch(pNext->sType)\n', '        {\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO:\n',
                                                                                          '            {\n' ,
-                                                                                         '                XGL_DESCRIPTOR_SET_LAYOUT_BINDING** ppBinding = (XGL_DESCRIPTOR_SET_LAYOUT_BINDING**)&pNext->pBinding;\n',
-                                                                                         '                *ppBinding = (XGL_DESCRIPTOR_SET_LAYOUT_BINDING*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pBinding);\n',
+                                                                                         '                void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
+                                                                                         '                *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
                                                                                          '                break;\n',
                                                                                          '            }\n',
                                                                                          '            default:\n',
@@ -911,24 +861,24 @@
                                                                                          '                pNext->pNext = NULL;\n',
                                                                                          '            }\n',
                                                                                          '        }\n',
-                                                                                         '        pNext = (XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO*)pNext->pNext;\n',
-                                                                                         '     }  while (NULL != pNext);\n',
+                                                                                         '        pNext = (VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO*)pNext->pNext;\n',
+                                                                                         '     }\n',
                                                                                          '} else {\n',
                                                                                          '     // This is unexpected.\n',
-                                                                                         '     glv_LogError("CreateDescriptorSetLayout must have LayoutInfoList stype of XGL_STRCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO\\n");\n',
+                                                                                         '     glv_LogError("CreateDescriptorSetLayout must have LayoutInfoList stype of VK_STRCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO\\n");\n',
                                                                                          '     pPacket->header = NULL;\n',
                                                                                          '}']},
-                             'BeginCommandBuffer' : {'param': 'pBeginInfo', 'txt': ['if (pPacket->pBeginInfo->sType == XGL_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO) {\n',
+                             'BeginCommandBuffer' : {'param': 'pBeginInfo', 'txt': ['if (pPacket->pBeginInfo->sType == VK_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO) {\n',
                                                                                          '    // need to make a non-const pointer to the pointer so that we can properly change the original pointer to the interpretted one\n',
-                                                                                         '    XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO** ppNext = (XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO**)&(pPacket->pBeginInfo->pNext);\n',
-                                                                                         '    *ppNext = (XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pBeginInfo->pNext);\n',
-                                                                                         '    XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO* pNext = *ppNext;\n',
+                                                                                         '    VK_CMD_BUFFER_GRAPHICS_BEGIN_INFO** ppNext = (VK_CMD_BUFFER_GRAPHICS_BEGIN_INFO**)&(pPacket->pBeginInfo->pNext);\n',
+                                                                                         '    *ppNext = (VK_CMD_BUFFER_GRAPHICS_BEGIN_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pBeginInfo->pNext);\n',
+                                                                                         '    VK_CMD_BUFFER_GRAPHICS_BEGIN_INFO* pNext = *ppNext;\n',
                                                                                          '    while (NULL != pNext)\n', '    {\n',
                                                                                          '        switch(pNext->sType)\n', '        {\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_CMD_BUFFER_GRAPHICS_BEGIN_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_CMD_BUFFER_GRAPHICS_BEGIN_INFO:\n',
                                                                                          '            {\n',
-                                                                                         '                ppNext = (XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO**) &pNext->pNext;\n',
-                                                                                         '                *ppNext = (XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
+                                                                                         '                ppNext = (VK_CMD_BUFFER_GRAPHICS_BEGIN_INFO**) &pNext->pNext;\n',
+                                                                                         '                *ppNext = (VK_CMD_BUFFER_GRAPHICS_BEGIN_INFO*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
                                                                                          '                break;\n',
                                                                                          '            }\n',
                                                                                          '            default:\n',
@@ -938,24 +888,24 @@
                                                                                          '                pNext->pNext = NULL;\n',
                                                                                          '            }\n',
                                                                                          '        }\n',
-                                                                                         '        pNext = (XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO*)pNext->pNext;\n',
+                                                                                         '        pNext = (VK_CMD_BUFFER_GRAPHICS_BEGIN_INFO*)pNext->pNext;\n',
                                                                                          '    }\n',
                                                                                          '} else {\n',
                                                                                          '    // This is unexpected.\n',
-                                                                                         '    glv_LogError("BeginCommandBuffer must have BeginInfo stype of XGL_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO.\\n");\n',
+                                                                                         '    glv_LogError("BeginCommandBuffer must have BeginInfo stype of VK_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO.\\n");\n',
                                                                                          '    pPacket->header = NULL;\n',
                                                                                          '}']},
-                             'AllocMemory' : {'param': 'pAllocInfo', 'txt': ['if (pPacket->pAllocInfo->sType == XGL_STRUCTURE_TYPE_MEMORY_ALLOC_INFO) {\n',
-                                                                                         '    XGL_MEMORY_ALLOC_INFO** ppNext = (XGL_MEMORY_ALLOC_INFO**) &(pPacket->pAllocInfo->pNext);\n',
-                                                                                         '    *ppNext = (XGL_MEMORY_ALLOC_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pAllocInfo->pNext);\n',
-                                                                                         '    XGL_MEMORY_ALLOC_INFO* pNext = (XGL_MEMORY_ALLOC_INFO*) *ppNext;\n',
+                             'AllocMemory' : {'param': 'pAllocInfo', 'txt': ['if (pPacket->pAllocInfo->sType == VK_STRUCTURE_TYPE_MEMORY_ALLOC_INFO) {\n',
+                                                                                         '    VK_MEMORY_ALLOC_INFO** ppNext = (VK_MEMORY_ALLOC_INFO**) &(pPacket->pAllocInfo->pNext);\n',
+                                                                                         '    *ppNext = (VK_MEMORY_ALLOC_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pAllocInfo->pNext);\n',
+                                                                                         '    VK_MEMORY_ALLOC_INFO* pNext = (VK_MEMORY_ALLOC_INFO*) *ppNext;\n',
                                                                                          '    while (NULL != pNext)\n', '    {\n',
                                                                                          '        switch(pNext->sType)\n', '        {\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_MEMORY_ALLOC_BUFFER_INFO:\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_MEMORY_ALLOC_IMAGE_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_MEMORY_ALLOC_BUFFER_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_MEMORY_ALLOC_IMAGE_INFO:\n',
                                                                                          '            {\n',
-                                                                                         '                ppNext = (XGL_MEMORY_ALLOC_INFO **) &(pNext->pNext);\n',
-                                                                                         '                *ppNext = (XGL_MEMORY_ALLOC_INFO*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
+                                                                                         '                ppNext = (VK_MEMORY_ALLOC_INFO **) &(pNext->pNext);\n',
+                                                                                         '                *ppNext = (VK_MEMORY_ALLOC_INFO*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
                                                                                          '                break;\n',
                                                                                          '            }\n',
                                                                                          '            default:\n',
@@ -965,113 +915,120 @@
                                                                                          '               pNext->pNext = NULL;\n',
                                                                                          '            }\n',
                                                                                          '        }\n',
-                                                                                         '        pNext = (XGL_MEMORY_ALLOC_INFO*)pNext->pNext;\n',
+                                                                                         '        pNext = (VK_MEMORY_ALLOC_INFO*)pNext->pNext;\n',
                                                                                          '    }\n',
                                                                                          '} else {\n',
                                                                                          '    // This is unexpected.\n',
-                                                                                         '    glv_LogError("AllocMemory must have AllocInfo stype of XGL_STRUCTURE_TYPE_MEMORY_ALLOC_INFO.\\n");\n',
+                                                                                         '    glv_LogError("AllocMemory must have AllocInfo stype of VK_STRUCTURE_TYPE_MEMORY_ALLOC_INFO.\\n");\n',
                                                                                          '    pPacket->header = NULL;\n',
                                                                                          '}']},
-                             'UpdateDescriptors' : {'param': 'ppUpdateArray', 'txt': ['size_t i;\n',
-                                                                                         'for (i = 0; i < pPacket->updateCount; i++)\n', '{\n',
-                                                                                         '    XGL_UPDATE_SAMPLERS** ppUpItem = (XGL_UPDATE_SAMPLERS**) &pPacket->ppUpdateArray[i];\n',
-                                                                                         '    *ppUpItem = (XGL_UPDATE_SAMPLERS *) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t) pPacket->ppUpdateArray[i]);\n',
-                                                                                         '    XGL_UPDATE_SAMPLERS* pNext = *ppUpItem;\n',
+                             'UpdateDescriptors' : {'param': 'pUpdateChain', 'txt': ['VK_UPDATE_SAMPLERS* pNext = (VK_UPDATE_SAMPLERS*)pPacket->pUpdateChain;\n',
+                                                                                         'while ((NULL != pNext) && (VK_NULL_HANDLE != pNext))\n', '{\n',
                                                                                          '    switch(pNext->sType)\n', '    {\n',
-                                                                                         '        case XGL_STRUCTURE_TYPE_UPDATE_AS_COPY:\n',
+                                                                                         '        case VK_STRUCTURE_TYPE_UPDATE_AS_COPY:\n',
                                                                                          '        {\n',
                                                                                          '            void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
                                                                                          '            *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
                                                                                          '            break;\n',
                                                                                          '        }\n',
-                                                                                         '        case XGL_STRUCTURE_TYPE_UPDATE_SAMPLERS:\n',
+                                                                                         '        case VK_STRUCTURE_TYPE_UPDATE_SAMPLERS:\n',
                                                                                          '        {\n',
                                                                                          '            void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
-                                                                                         '            XGL_UPDATE_SAMPLERS* pUS = (XGL_UPDATE_SAMPLERS*)pNext;\n',
+                                                                                         '            VK_UPDATE_SAMPLERS* pUS = (VK_UPDATE_SAMPLERS*)pNext;\n',
                                                                                          '            *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
-                                                                                         '            pUS->pSamplers = (XGL_SAMPLER*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUS->pSamplers);\n',
+                                                                                         '            pUS->pSamplers = (VK_SAMPLER*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUS->pSamplers);\n',
                                                                                          '            break;\n',
                                                                                          '        }\n',
-                                                                                         '        case XGL_STRUCTURE_TYPE_UPDATE_SAMPLER_TEXTURES:\n',
+                                                                                         '        case VK_STRUCTURE_TYPE_UPDATE_SAMPLER_TEXTURES:\n',
                                                                                          '        {\n',
                                                                                          '            void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
-                                                                                         '            XGL_UPDATE_SAMPLER_TEXTURES* pUST = (XGL_UPDATE_SAMPLER_TEXTURES*)pNext;\n',
+                                                                                         '            VK_UPDATE_SAMPLER_TEXTURES* pUST = (VK_UPDATE_SAMPLER_TEXTURES*)pNext;\n',
                                                                                          '            *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
-                                                                                         '            pUST->pSamplerImageViews = (XGL_SAMPLER_IMAGE_VIEW_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUST->pSamplerImageViews);\n',
+                                                                                         '            pUST->pSamplerImageViews = (VK_SAMPLER_IMAGE_VIEW_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUST->pSamplerImageViews);\n',
                                                                                          '            uint32_t i;\n',
                                                                                          '            for (i = 0; i < pUST->count; i++) {\n',
-                                                                                         '                XGL_IMAGE_VIEW_ATTACH_INFO** ppLocalImageView = (XGL_IMAGE_VIEW_ATTACH_INFO**)&pUST->pSamplerImageViews[i].pImageView;\n',
-                                                                                         '                *ppLocalImageView = (XGL_IMAGE_VIEW_ATTACH_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUST->pSamplerImageViews[i].pImageView);\n',
+                                                                                         '                VK_IMAGE_VIEW_ATTACH_INFO** ppLocalImageView = (VK_IMAGE_VIEW_ATTACH_INFO**)&pUST->pSamplerImageViews[i].pImageView;\n',
+                                                                                         '                *ppLocalImageView = (VK_IMAGE_VIEW_ATTACH_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUST->pSamplerImageViews[i].pImageView);\n',
                                                                                          '            }\n',
                                                                                          '            break;\n',
                                                                                          '        }\n',
-                                                                                         '        case XGL_STRUCTURE_TYPE_UPDATE_IMAGES:\n',
+                                                                                         '        case VK_STRUCTURE_TYPE_UPDATE_IMAGES:\n',
                                                                                          '        {\n',
                                                                                          '            void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
-                                                                                         '            XGL_UPDATE_IMAGES* pUI = (XGL_UPDATE_IMAGES*)pNext;\n',
+                                                                                         '            VK_UPDATE_IMAGES* pUI = (VK_UPDATE_IMAGES*)pNext;\n',
                                                                                          '            *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
-                                                                                         '            XGL_IMAGE_VIEW_ATTACH_INFO** ppLocalImageView = (XGL_IMAGE_VIEW_ATTACH_INFO**)&pUI->pImageViews;\n',
-                                                                                         '            *ppLocalImageView = (XGL_IMAGE_VIEW_ATTACH_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUI->pImageViews);\n',
+                                                                                         '            VK_IMAGE_VIEW_ATTACH_INFO** ppLocalImageView = (VK_IMAGE_VIEW_ATTACH_INFO**)&pUI->pImageViews;\n',
+                                                                                         '            *ppLocalImageView = (VK_IMAGE_VIEW_ATTACH_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUI->pImageViews);\n',
+                                                                                         '            uint32_t i;\n',
+                                                                                         '            for (i = 0; i < pUI->count; i++) {\n',
+                                                                                         '                VK_IMAGE_VIEW_ATTACH_INFO** ppLocalImageViews = (VK_IMAGE_VIEW_ATTACH_INFO**)&pUI->pImageViews[i];\n',
+                                                                                         '                *ppLocalImageViews = (VK_IMAGE_VIEW_ATTACH_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUI->pImageViews[i]);\n',
+                                                                                         '            }\n',
                                                                                          '            break;\n',
                                                                                          '        }\n',
-                                                                                         '        case XGL_STRUCTURE_TYPE_UPDATE_BUFFERS:\n',
+                                                                                         '        case VK_STRUCTURE_TYPE_UPDATE_BUFFERS:\n',
                                                                                          '        {\n',
                                                                                          '            void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
-                                                                                         '            XGL_UPDATE_BUFFERS* pUB = (XGL_UPDATE_BUFFERS*)pNext;\n',
+                                                                                         '            VK_UPDATE_BUFFERS* pUB = (VK_UPDATE_BUFFERS*)pNext;\n',
                                                                                          '            *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
-                                                                                         '            XGL_BUFFER_VIEW_ATTACH_INFO** ppLocalBufferView = (XGL_BUFFER_VIEW_ATTACH_INFO**)&pUB->pBufferViews;\n',
-                                                                                         '            *ppLocalBufferView = (XGL_BUFFER_VIEW_ATTACH_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUB->pBufferViews);\n',
+                                                                                         '            VK_BUFFER_VIEW_ATTACH_INFO** ppLocalBufferView = (VK_BUFFER_VIEW_ATTACH_INFO**)&pUB->pBufferViews;\n',
+                                                                                         '            *ppLocalBufferView = (VK_BUFFER_VIEW_ATTACH_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUB->pBufferViews);\n',
+                                                                                         '            uint32_t i;\n',
+                                                                                         '            for (i = 0; i < pUB->count; i++) {\n',
+                                                                                         '                VK_BUFFER_VIEW_ATTACH_INFO** ppLocalBufferViews = (VK_BUFFER_VIEW_ATTACH_INFO**)&pUB->pBufferViews[i];\n',
+                                                                                         '                *ppLocalBufferViews = (VK_BUFFER_VIEW_ATTACH_INFO*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pUB->pBufferViews[i]);\n',
+                                                                                         '            }\n',
                                                                                          '            break;\n',
                                                                                          '        }\n',
                                                                                          '        default:\n',
                                                                                          '        {\n',
-                                                                                         '           glv_LogError("Encountered an unexpected type in update descriptors ppUpdateArray.\\n");\n',
+                                                                                         '           glv_LogError("Encountered an unexpected type in update descriptors pUpdateChain.\\n");\n',
                                                                                          '           pPacket->header = NULL;\n',
                                                                                          '           pNext->pNext = NULL;\n',
                                                                                          '        }\n',
                                                                                          '    }\n',
-                                                                                         '    pNext = (XGL_UPDATE_SAMPLERS*)pNext->pNext;\n',
+                                                                                         '    pNext = (VK_UPDATE_SAMPLERS*)pNext->pNext;\n',
                                                                                          '}']},
-                             'CreateGraphicsPipeline' : {'param': 'pCreateInfo', 'txt': ['if (pPacket->pCreateInfo->sType == XGL_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO) {\n',
+                             'CreateGraphicsPipeline' : {'param': 'pCreateInfo', 'txt': ['if (pPacket->pCreateInfo->sType == VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO) {\n',
                                                                                          '    // need to make a non-const pointer to the pointer so that we can properly change the original pointer to the interpretted one\n',
                                                                                          '    void** ppNextVoidPtr = (void**)&pPacket->pCreateInfo->pNext;\n',
                                                                                          '    *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pNext);\n',
-                                                                                         '    XGL_PIPELINE_SHADER_STAGE_CREATE_INFO* pNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pPacket->pCreateInfo->pNext;\n',
-                                                                                         '    while ((NULL != pNext) && (XGL_NULL_HANDLE != pNext))\n', '{\n',
+                                                                                         '    VK_PIPELINE_SHADER_STAGE_CREATE_INFO* pNext = (VK_PIPELINE_SHADER_STAGE_CREATE_INFO*)pPacket->pCreateInfo->pNext;\n',
+                                                                                         '    while ((NULL != pNext) && (VK_NULL_HANDLE != pNext))\n', '{\n',
                                                                                          '        switch(pNext->sType)\n', '    {\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_IA_STATE_CREATE_INFO:\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_TESS_STATE_CREATE_INFO:\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_RS_STATE_CREATE_INFO:\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_VP_STATE_CREATE_INFO:\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_MS_STATE_CREATE_INFO:\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_DS_STATE_CREATE_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_PIPELINE_IA_STATE_CREATE_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_PIPELINE_TESS_STATE_CREATE_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_PIPELINE_RS_STATE_CREATE_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_PIPELINE_VP_STATE_CREATE_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_PIPELINE_MS_STATE_CREATE_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_PIPELINE_DS_STATE_CREATE_INFO:\n',
                                                                                          '            {\n',
                                                                                          '                void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
                                                                                          '                *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
                                                                                          '                break;\n',
                                                                                          '            }\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_CB_STATE_CREATE_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_PIPELINE_CB_STATE_CREATE_INFO:\n',
                                                                                          '            {\n',
                                                                                          '                void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
-                                                                                         '                XGL_PIPELINE_CB_STATE_CREATE_INFO *pCb = (XGL_PIPELINE_CB_STATE_CREATE_INFO *) pNext;\n',
+                                                                                         '                VK_PIPELINE_CB_STATE_CREATE_INFO *pCb = (VK_PIPELINE_CB_STATE_CREATE_INFO *) pNext;\n',
                                                                                          '                *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
-                                                                                         '                pCb->pAttachments = (XGL_PIPELINE_CB_ATTACHMENT_STATE*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pCb->pAttachments);\n',
+                                                                                         '                pCb->pAttachments = (VK_PIPELINE_CB_ATTACHMENT_STATE*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pCb->pAttachments);\n',
                                                                                          '                break;\n',
                                                                                          '            }\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO:\n',
                                                                                          '            {\n',
                                                                                          '                void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
                                                                                          '                *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
                                                                                          '                interpret_pipeline_shader(pHeader, &pNext->shader);\n',
                                                                                          '                break;\n',
                                                                                          '            }\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_CREATE_INFO:\n',
+                                                                                         '            case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_CREATE_INFO:\n',
                                                                                          '            {\n',
                                                                                          '                void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
-                                                                                         '                XGL_PIPELINE_VERTEX_INPUT_CREATE_INFO *pVi = (XGL_PIPELINE_VERTEX_INPUT_CREATE_INFO *) pNext;\n',
+                                                                                         '                VK_PIPELINE_VERTEX_INPUT_CREATE_INFO *pVi = (VK_PIPELINE_VERTEX_INPUT_CREATE_INFO *) pNext;\n',
                                                                                          '                *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
-                                                                                         '                pVi->pVertexBindingDescriptions = (XGL_VERTEX_INPUT_BINDING_DESCRIPTION*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVi->pVertexBindingDescriptions);\n',
-                                                                                         '                pVi->pVertexAttributeDescriptions = (XGL_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVi->pVertexAttributeDescriptions);\n',
+                                                                                         '                pVi->pVertexBindingDescriptions = (VK_VERTEX_INPUT_BINDING_DESCRIPTION*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVi->pVertexBindingDescriptions);\n',
+                                                                                         '                pVi->pVertexAttributeDescriptions = (VK_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVi->pVertexAttributeDescriptions);\n',
                                                                                          '                break;\n',
                                                                                          '            }\n',
                                                                                          '            default:\n',
@@ -1081,88 +1038,32 @@
                                                                                          '               pNext->pNext = NULL;\n',
                                                                                          '            }\n',
                                                                                          '        }\n',
-                                                                                         '        pNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pNext->pNext;\n',
+                                                                                         '        pNext = (VK_PIPELINE_SHADER_STAGE_CREATE_INFO*)pNext->pNext;\n',
                                                                                          '    }\n',
                                                                                          '} else {\n',
                                                                                          '    // This is unexpected.\n',
-                                                                                         '    glv_LogError("CreateGraphicsPipeline must have CreateInfo stype of XGL_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO.\\n");\n',
+                                                                                         '    glv_LogError("CreateGraphicsPipeline must have CreateInfo stype of VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO.\\n");\n',
                                                                                          '    pPacket->header = NULL;\n',
                                                                                          '}']},
-                             'CreateGraphicsPipelineDerivative' : {'param': 'pCreateInfo', 'txt': ['if (pPacket->pCreateInfo->sType == XGL_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO) {\n',
-                                                                                         '    // need to make a non-const pointer to the pointer so that we can properly change the original pointer to the interpretted one\n',
-                                                                                         '    void** ppNextVoidPtr = (void**)&pPacket->pCreateInfo->pNext;\n',
-                                                                                         '    *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pNext);\n',
-                                                                                         '    XGL_PIPELINE_SHADER_STAGE_CREATE_INFO* pNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pPacket->pCreateInfo->pNext;\n',
-                                                                                         '    while ((NULL != pNext) && (XGL_NULL_HANDLE != pNext))\n', '{\n',
-                                                                                         '        switch(pNext->sType)\n', '    {\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_IA_STATE_CREATE_INFO:\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_TESS_STATE_CREATE_INFO:\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_RS_STATE_CREATE_INFO:\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_VP_STATE_CREATE_INFO:\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_MS_STATE_CREATE_INFO:\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_DS_STATE_CREATE_INFO:\n',
-                                                                                         '            {\n',
-                                                                                         '                void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
-                                                                                         '                *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
-                                                                                         '                break;\n',
-                                                                                         '            }\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_CB_STATE_CREATE_INFO:\n',
-                                                                                         '            {\n',
-                                                                                         '                void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
-                                                                                         '                XGL_PIPELINE_CB_STATE_CREATE_INFO *pCb = (XGL_PIPELINE_CB_STATE_CREATE_INFO *) pNext;\n',
-                                                                                         '                *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
-                                                                                         '                pCb->pAttachments = (XGL_PIPELINE_CB_ATTACHMENT_STATE*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pCb->pAttachments);\n',
-                                                                                         '                break;\n',
-                                                                                         '            }\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO:\n',
-                                                                                         '            {\n',
-                                                                                         '                void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
-                                                                                         '                *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
-                                                                                         '                interpret_pipeline_shader(pHeader, &pNext->shader);\n',
-                                                                                         '                break;\n',
-                                                                                         '            }\n',
-                                                                                         '            case XGL_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_CREATE_INFO:\n',
-                                                                                         '            {\n',
-                                                                                         '                void** ppNextVoidPtr = (void**)&pNext->pNext;\n',
-                                                                                         '                XGL_PIPELINE_VERTEX_INPUT_CREATE_INFO *pVi = (XGL_PIPELINE_VERTEX_INPUT_CREATE_INFO *) pNext;\n',
-                                                                                         '                *ppNextVoidPtr = (void*)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pNext);\n',
-                                                                                         '                pVi->pVertexBindingDescriptions = (XGL_VERTEX_INPUT_BINDING_DESCRIPTION*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVi->pVertexBindingDescriptions);\n',
-                                                                                         '                pVi->pVertexAttributeDescriptions = (XGL_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION*) glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVi->pVertexAttributeDescriptions);\n',
-                                                                                         '                break;\n',
-                                                                                         '            }\n',
-                                                                                         '            default:\n',
-                                                                                         '            {\n',
-                                                                                         '               glv_LogError("Encountered an unexpected type in pipeline state list.\\n");\n',
-                                                                                         '               pPacket->header = NULL;\n',
-                                                                                         '               pNext->pNext = NULL;\n',
-                                                                                         '            }\n',
-                                                                                         '        }\n',
-                                                                                         '        pNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pNext->pNext;\n',
-                                                                                         '    }\n',
-                                                                                         '} else {\n',
-                                                                                         '    // This is unexpected.\n',
-                                                                                         '    glv_LogError("CreateGraphicsPipelineDerivative must have CreateInfo stype of XGL_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO.\\n");\n',
-                                                                                         '    pPacket->header = NULL;\n',
-                                                                                         '}']},
-                             'CreateComputePipeline' : {'param': 'pCreateInfo', 'txt': ['interpret_pipeline_shader(pHeader, (XGL_PIPELINE_SHADER*)(&pPacket->pCreateInfo->cs));']}}
+                             'CreateComputePipeline' : {'param': 'pCreateInfo', 'txt': ['interpret_pipeline_shader(pHeader, (VK_PIPELINE_SHADER*)(&pPacket->pCreateInfo->cs));']}}
         if_body = []
-        if_body.append('typedef struct struct_xglApiVersion {')
+        if_body.append('typedef struct struct_vkApiVersion {')
         if_body.append('    glv_trace_packet_header* header;')
         if_body.append('    uint32_t version;')
-        if_body.append('} struct_xglApiVersion;\n')
-        if_body.append('static struct_xglApiVersion* interpret_body_as_xglApiVersion(glv_trace_packet_header* pHeader, BOOL check_version)')
+        if_body.append('} struct_vkApiVersion;\n')
+        if_body.append('static struct_vkApiVersion* interpret_body_as_vkApiVersion(glv_trace_packet_header* pHeader, BOOL check_version)')
         if_body.append('{')
-        if_body.append('    struct_xglApiVersion* pPacket = (struct_xglApiVersion*)pHeader->pBody;')
+        if_body.append('    struct_vkApiVersion* pPacket = (struct_vkApiVersion*)pHeader->pBody;')
         if_body.append('    pPacket->header = pHeader;')
-        if_body.append('    if (check_version && pPacket->version != XGL_API_VERSION)')
-        if_body.append('        glv_LogError("Trace file from older XGL version 0x%x, xgl replayer built from version 0x%x, replayer may fail\\n", pPacket->version, XGL_API_VERSION);')
+        if_body.append('    if (check_version && pPacket->version != VK_API_VERSION)')
+        if_body.append('        glv_LogError("Trace file from older VK version 0x%x, vk replayer built from version 0x%x, replayer may fail\\n", pPacket->version, VK_API_VERSION);')
         if_body.append('    return pPacket;')
         if_body.append('}\n')
         for proto in self.protos:
             if 'Wsi' not in proto.name and 'Dbg' not in proto.name:
                 if 'UnmapMemory' == proto.name:
-                    proto.params.append(xgl.Param("void*", "pData"))
-                if_body.append('typedef struct struct_xgl%s {' % proto.name)
+                    proto.params.append(vulkan.Param("void*", "pData"))
+                if_body.append('typedef struct struct_vk%s {' % proto.name)
                 if_body.append('    glv_trace_packet_header* header;')
                 for p in proto.params:
                     if '[4]' in p.ty:
@@ -1171,15 +1072,15 @@
                         if_body.append('    %s %s;' % (p.ty, p.name))
                 if 'void' != proto.ret:
                     if_body.append('    %s result;' % proto.ret)
-                if_body.append('} struct_xgl%s;\n' % proto.name)
-                if_body.append('static struct_xgl%s* interpret_body_as_xgl%s(glv_trace_packet_header* pHeader)' % (proto.name, proto.name))
+                if_body.append('} struct_vk%s;\n' % proto.name)
+                if_body.append('static struct_vk%s* interpret_body_as_vk%s(glv_trace_packet_header* pHeader)' % (proto.name, proto.name))
                 if_body.append('{')
-                if_body.append('    struct_xgl%s* pPacket = (struct_xgl%s*)pHeader->pBody;' % (proto.name, proto.name))
+                if_body.append('    struct_vk%s* pPacket = (struct_vk%s*)pHeader->pBody;' % (proto.name, proto.name))
                 if_body.append('    pPacket->header = pHeader;')
                 for p in proto.params:
                     if '*' in p.ty:
                         if 'DEVICE_CREATE_INFO' in p.ty:
-                            if_body.append('    pPacket->%s = interpret_XGL_DEVICE_CREATE_INFO(pHeader, (intptr_t)pPacket->%s);' % (p.name, p.name))
+                            if_body.append('    pPacket->%s = interpret_VK_DEVICE_CREATE_INFO(pHeader, (intptr_t)pPacket->%s);' % (p.name, p.name))
                         else:
                             if_body.append('    pPacket->%s = (%s)glv_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->%s);' % (p.name, p.ty, p.name))
                         # TODO : Generalize this custom code to kill dict data struct above.
@@ -1197,16 +1098,16 @@
         if_body = []
         for proto in self.protos:
             if func_class in proto.name:
-                if_body.append('typedef struct struct_xgl%s {' % proto.name)
+                if_body.append('typedef struct struct_vk%s {' % proto.name)
                 if_body.append('    glv_trace_packet_header* pHeader;')
                 for p in proto.params:
                     if_body.append('    %s %s;' % (p.ty, p.name))
                 if 'void' != proto.ret:
                     if_body.append('    %s result;' % proto.ret)
-                if_body.append('} struct_xgl%s;\n' % proto.name)
-                if_body.append('static struct_xgl%s* interpret_body_as_xgl%s(glv_trace_packet_header* pHeader)' % (proto.name, proto.name))
+                if_body.append('} struct_vk%s;\n' % proto.name)
+                if_body.append('static struct_vk%s* interpret_body_as_vk%s(glv_trace_packet_header* pHeader)' % (proto.name, proto.name))
                 if_body.append('{')
-                if_body.append('    struct_xgl%s* pPacket = (struct_xgl%s*)pHeader->pBody;' % (proto.name, proto.name))
+                if_body.append('    struct_vk%s* pPacket = (struct_vk%s*)pHeader->pBody;' % (proto.name, proto.name))
                 if_body.append('    pPacket->pHeader = pHeader;')
                 for p in proto.params:
                     if '*' in p.ty:
@@ -1217,18 +1118,18 @@
 
     def _generate_replay_func_ptrs(self):
         xf_body = []
-        xf_body.append('struct xglFuncs {')
+        xf_body.append('struct vkFuncs {')
         xf_body.append('    void init_funcs(void * libHandle);')
         xf_body.append('    void *m_libHandle;\n')
         for proto in self.protos:
-            xf_body.append('    typedef %s( XGLAPI * type_xgl%s)(' % (proto.ret, proto.name))
+            xf_body.append('    typedef %s( VKAPI * type_vk%s)(' % (proto.ret, proto.name))
             for p in proto.params:
                 if '[4]' in p.ty:
                     xf_body.append('        %s %s[4],' % (p.ty.strip('[4]'), p.name))
                 else:
                     xf_body.append('        %s %s,' % (p.ty, p.name))
             xf_body[-1] = xf_body[-1].replace(',', ');')
-            xf_body.append('    type_xgl%s real_xgl%s;' % (proto.name, proto.name))
+            xf_body.append('    type_vk%s real_vk%s;' % (proto.name, proto.name))
         xf_body.append('};')
         return "\n".join(xf_body)
 
@@ -1250,7 +1151,7 @@
     def _remap_decl(self, ty, name):
         txt = '    %s remap(const %s& value)\n    {\n' % (ty, ty)
         txt += '        std::map<%s, %s>::const_iterator q = %s.find(value);\n' % (ty, ty, name)
-        txt += '        return (q == %s.end()) ? XGL_NULL_HANDLE : q->second;\n    }\n' % name
+        txt += '        return (q == %s.end()) ? VK_NULL_HANDLE : q->second;\n    }\n' % name
         return txt
 
     def _generate_replay_objMemory_funcs(self):
@@ -1262,7 +1163,7 @@
         rof_body.append('        return m_pendingAlloc;')
         rof_body.append('    }')
         rof_body.append('')
-        rof_body.append('    void setAllocInfo(const XGL_MEMORY_ALLOC_INFO *info, const bool pending)')
+        rof_body.append('    void setAllocInfo(const VK_MEMORY_ALLOC_INFO *info, const bool pending)')
         rof_body.append('    {')
         rof_body.append('        m_pendingAlloc = pending;')
         rof_body.append('        m_allocInfo = *info;')
@@ -1322,20 +1223,20 @@
         return "\n".join(rof_body)
 
     def _generate_replay_objmapper_class(self):
-        # Create dict mapping member var names to XGL type (i.e. 'm_imageViews' : 'XGL_IMAGE_VIEW')
+        # Create dict mapping member var names to VK type (i.e. 'm_imageViews' : 'VK_IMAGE_VIEW')
         obj_map_dict = {}
-        for ty in xgl.object_type_list:
-            if ty in xgl.object_parent_list:
+        for ty in vulkan.object_type_list:
+            if ty in vulkan.object_parent_list:
                 continue
-            mem_var = ty.replace('XGL_', '').lower()
+            mem_var = ty.replace('VK_', '').lower()
             mem_var_list = mem_var.split('_')
             mem_var = 'm_%s%ss' % (mem_var_list[0], "".join([m.title() for m in mem_var_list[1:]]))
             obj_map_dict[mem_var] = ty
         rc_body = []
-        rc_body.append('typedef struct _XGLAllocInfo {')
-        rc_body.append('    XGL_GPU_SIZE size;')
+        rc_body.append('typedef struct _VKAllocInfo {')
+        rc_body.append('    VK_GPU_SIZE size;')
         rc_body.append('    void *pData;')
-        rc_body.append('} XGLAllocInfo;')
+        rc_body.append('} VKAllocInfo;')
         rc_body.append('')
         rc_body.append('class objMemory {')
         rc_body.append('public:')
@@ -1345,13 +1246,13 @@
         rc_body.append('    {')
         rc_body.append('        m_numAllocations = num;')
         rc_body.append('    }\n')
-        rc_body.append('    void setReqs(const XGL_MEMORY_REQUIREMENTS *pReqs, const uint32_t num)')
+        rc_body.append('    void setReqs(const VK_MEMORY_REQUIREMENTS *pReqs, const uint32_t num)')
         rc_body.append('    {')
         rc_body.append('        if (m_numAllocations != num && m_numAllocations != 0)')
         rc_body.append('            glv_LogError("objMemory::setReqs, internal mismatch on number of allocations");')
         rc_body.append('        if (m_pMemReqs == NULL && pReqs != NULL)')
         rc_body.append('        {')
-        rc_body.append('            m_pMemReqs = (XGL_MEMORY_REQUIREMENTS *) glv_malloc(num * sizeof(XGL_MEMORY_REQUIREMENTS));')
+        rc_body.append('            m_pMemReqs = (VK_MEMORY_REQUIREMENTS *) glv_malloc(num * sizeof(VK_MEMORY_REQUIREMENTS));')
         rc_body.append('            if (m_pMemReqs == NULL)')
         rc_body.append('            {')
         rc_body.append('                glv_LogError("objMemory::setReqs out of memory");')
@@ -1362,7 +1263,7 @@
         rc_body.append('    }\n')
         rc_body.append('private:')
         rc_body.append('    uint32_t m_numAllocations;')
-        rc_body.append('    XGL_MEMORY_REQUIREMENTS *m_pMemReqs;')
+        rc_body.append('    VK_MEMORY_REQUIREMENTS *m_pMemReqs;')
         rc_body.append('};')
         rc_body.append('')
         rc_body.append('class gpuMemory {')
@@ -1371,7 +1272,7 @@
         rc_body.append('    ~gpuMemory() {}')
         rc_body.append(self._generate_replay_objMemory_funcs())
 #        rc_body.append('    bool isPendingAlloc();')
-#        rc_body.append('    void setAllocInfo(const XGL_MEMORY_ALLOC_INFO *info, const bool pending);')
+#        rc_body.append('    void setAllocInfo(const VK_MEMORY_ALLOC_INFO *info, const bool pending);')
 #        rc_body.append('    void setMemoryDataAddr(void* pBuf);')
 #        rc_body.append('    void setMemoryMapRange(void* pBuf, const size_t size, const size_t offset, const bool pending);')
 #        rc_body.append('    void copyMappingData(const void *pSrcData);')
@@ -1385,42 +1286,42 @@
         rc_body.append('        void* pData;')
         rc_body.append('    };')
         rc_body.append('    std::vector<MapRange> m_mapRange;')
-        rc_body.append('    XGL_MEMORY_ALLOC_INFO m_allocInfo;')
+        rc_body.append('    VK_MEMORY_ALLOC_INFO m_allocInfo;')
         rc_body.append('};')
         rc_body.append('')
         rc_body.append('typedef struct _imageObj {')
         rc_body.append('     objMemory imageMem;')
-        rc_body.append('     XGL_IMAGE replayImage;')
+        rc_body.append('     VK_IMAGE replayImage;')
         rc_body.append(' } imageObj;')
         rc_body.append('')
         rc_body.append('typedef struct _bufferObj {')
         rc_body.append('     objMemory bufferMem;')
-        rc_body.append('     XGL_BUFFER replayBuffer;')
+        rc_body.append('     VK_BUFFER replayBuffer;')
         rc_body.append(' } bufferObj;')
         rc_body.append('')
         rc_body.append('typedef struct _gpuMemObj {')
         rc_body.append('     gpuMemory *pGpuMem;')
-        rc_body.append('     XGL_GPU_MEMORY replayGpuMem;')
+        rc_body.append('     VK_GPU_MEMORY replayGpuMem;')
         rc_body.append(' } gpuMemObj;')
         rc_body.append('')
-        rc_body.append('class xglReplayObjMapper {')
+        rc_body.append('class vkReplayObjMapper {')
         rc_body.append('public:')
-        rc_body.append('    xglReplayObjMapper() {}')
-        rc_body.append('    ~xglReplayObjMapper() {}')
+        rc_body.append('    vkReplayObjMapper() {}')
+        rc_body.append('    ~vkReplayObjMapper() {}')
         rc_body.append('')
         rc_body.append(' bool m_adjustForGPU; // true if replay adjusts behavior based on GPU')
         # Code for memory objects for handling replay GPU != trace GPU object memory requirements
-        rc_body.append(' void init_objMemCount(const XGL_BASE_OBJECT& object, const uint32_t &num)\n {')
-        rc_body.append('     XGL_IMAGE img = static_cast <XGL_IMAGE> (object);')
-        rc_body.append('     std::map<XGL_IMAGE, imageObj>::const_iterator it = m_images.find(img);')
+        rc_body.append(' void init_objMemCount(const VK_BASE_OBJECT& object, const uint32_t &num)\n {')
+        rc_body.append('     VK_IMAGE img = static_cast <VK_IMAGE> (object);')
+        rc_body.append('     std::map<VK_IMAGE, imageObj>::const_iterator it = m_images.find(img);')
         rc_body.append('     if (it != m_images.end())')
         rc_body.append('     {')
         rc_body.append('         objMemory obj = it->second.imageMem;')
         rc_body.append('         obj.setCount(num);')
         rc_body.append('         return;')
         rc_body.append('     }')
-        rc_body.append('     XGL_BUFFER buf = static_cast <XGL_BUFFER> (object);')
-        rc_body.append('     std::map<XGL_BUFFER, bufferObj>::const_iterator itb = m_buffers.find(buf);')
+        rc_body.append('     VK_BUFFER buf = static_cast <VK_BUFFER> (object);')
+        rc_body.append('     std::map<VK_BUFFER, bufferObj>::const_iterator itb = m_buffers.find(buf);')
         rc_body.append('     if (itb != m_buffers.end())')
         rc_body.append('     {')
         rc_body.append('         objMemory obj = itb->second.bufferMem;')
@@ -1429,17 +1330,17 @@
         rc_body.append('     }')
         rc_body.append('     return;')
         rc_body.append(' }\n')
-        rc_body.append('    void init_objMemReqs(const XGL_BASE_OBJECT& object, const XGL_MEMORY_REQUIREMENTS *pMemReqs, const unsigned int num)\n    {')
-        rc_body.append('        XGL_IMAGE img = static_cast <XGL_IMAGE> (object);')
-        rc_body.append('        std::map<XGL_IMAGE, imageObj>::const_iterator it = m_images.find(img);')
+        rc_body.append('    void init_objMemReqs(const VK_BASE_OBJECT& object, const VK_MEMORY_REQUIREMENTS *pMemReqs, const unsigned int num)\n    {')
+        rc_body.append('        VK_IMAGE img = static_cast <VK_IMAGE> (object);')
+        rc_body.append('        std::map<VK_IMAGE, imageObj>::const_iterator it = m_images.find(img);')
         rc_body.append('        if (it != m_images.end())')
         rc_body.append('        {')
         rc_body.append('            objMemory obj = it->second.imageMem;')
         rc_body.append('            obj.setReqs(pMemReqs, num);')
         rc_body.append('            return;')
         rc_body.append('        }')
-        rc_body.append('        XGL_BUFFER buf = static_cast <XGL_BUFFER> (object);')
-        rc_body.append('        std::map<XGL_BUFFER, bufferObj>::const_iterator itb = m_buffers.find(buf);')
+        rc_body.append('        VK_BUFFER buf = static_cast <VK_BUFFER> (object);')
+        rc_body.append('        std::map<VK_BUFFER, bufferObj>::const_iterator itb = m_buffers.find(buf);')
         rc_body.append('        if (itb != m_buffers.end())')
         rc_body.append('        {')
         rc_body.append('            objMemory obj = itb->second.bufferMem;')
@@ -1454,85 +1355,85 @@
             rc_body.append('        %s.clear();' % var)
         rc_body.append('    }\n')
         for var in sorted(obj_map_dict):
-            if obj_map_dict[var] == 'XGL_IMAGE':
+            if obj_map_dict[var] == 'VK_IMAGE':
                 rc_body.append(self._map_decl(obj_map_dict[var], 'imageObj', var))
                 rc_body.append(self._add_to_map_decl(obj_map_dict[var], 'imageObj', var))
                 rc_body.append(self._rm_from_map_decl(obj_map_dict[var], var))
-                rc_body.append('    XGL_IMAGE remap(const XGL_IMAGE& value)')
+                rc_body.append('    VK_IMAGE remap(const VK_IMAGE& value)')
                 rc_body.append('    {')
-                rc_body.append('        std::map<XGL_IMAGE, imageObj>::const_iterator q = m_images.find(value);')
-                rc_body.append('        return (q == m_images.end()) ? XGL_NULL_HANDLE : q->second.replayImage;')
+                rc_body.append('        std::map<VK_IMAGE, imageObj>::const_iterator q = m_images.find(value);')
+                rc_body.append('        return (q == m_images.end()) ? VK_NULL_HANDLE : q->second.replayImage;')
                 rc_body.append('    }\n')
-            elif obj_map_dict[var] == 'XGL_BUFFER':
+            elif obj_map_dict[var] == 'VK_BUFFER':
                 rc_body.append(self._map_decl(obj_map_dict[var], 'bufferObj', var))
                 rc_body.append(self._add_to_map_decl(obj_map_dict[var], 'bufferObj', var))
                 rc_body.append(self._rm_from_map_decl(obj_map_dict[var], var))
-                rc_body.append('    XGL_BUFFER remap(const XGL_BUFFER& value)')
+                rc_body.append('    VK_BUFFER remap(const VK_BUFFER& value)')
                 rc_body.append('    {')
-                rc_body.append('        std::map<XGL_BUFFER, bufferObj>::const_iterator q = m_buffers.find(value);')
-                rc_body.append('        return (q == m_buffers.end()) ? XGL_NULL_HANDLE : q->second.replayBuffer;')
+                rc_body.append('        std::map<VK_BUFFER, bufferObj>::const_iterator q = m_buffers.find(value);')
+                rc_body.append('        return (q == m_buffers.end()) ? VK_NULL_HANDLE : q->second.replayBuffer;')
                 rc_body.append('    }\n')
-            elif obj_map_dict[var] == 'XGL_GPU_MEMORY':
+            elif obj_map_dict[var] == 'VK_GPU_MEMORY':
                 rc_body.append(self._map_decl(obj_map_dict[var], 'gpuMemObj', var))
                 rc_body.append(self._add_to_map_decl(obj_map_dict[var], 'gpuMemObj', var))
                 rc_body.append(self._rm_from_map_decl(obj_map_dict[var], var))
-                rc_body.append('    XGL_GPU_MEMORY remap(const XGL_GPU_MEMORY& value)')
+                rc_body.append('    VK_GPU_MEMORY remap(const VK_GPU_MEMORY& value)')
                 rc_body.append('    {')
-                rc_body.append('        std::map<XGL_GPU_MEMORY, gpuMemObj>::const_iterator q = m_gpuMemorys.find(value);')
-                rc_body.append('        return (q == m_gpuMemorys.end()) ? XGL_NULL_HANDLE : q->second.replayGpuMem;')
+                rc_body.append('        std::map<VK_GPU_MEMORY, gpuMemObj>::const_iterator q = m_gpuMemorys.find(value);')
+                rc_body.append('        return (q == m_gpuMemorys.end()) ? VK_NULL_HANDLE : q->second.replayGpuMem;')
                 rc_body.append('    }\n')
             else:
                 rc_body.append(self._map_decl(obj_map_dict[var], obj_map_dict[var], var))
                 rc_body.append(self._add_to_map_decl(obj_map_dict[var], obj_map_dict[var], var))
                 rc_body.append(self._rm_from_map_decl(obj_map_dict[var], var))
                 rc_body.append(self._remap_decl(obj_map_dict[var], var))
-        # XGL_DYNAMIC_STATE_OBJECT code
-        state_obj_remap_types = xgl.object_dynamic_state_list
-        rc_body.append('    XGL_DYNAMIC_STATE_OBJECT remap(const XGL_DYNAMIC_STATE_OBJECT& state)\n    {')
-        rc_body.append('        XGL_DYNAMIC_STATE_OBJECT obj;')
+        # VK_DYNAMIC_STATE_OBJECT code
+        state_obj_remap_types = vulkan.object_dynamic_state_list
+        rc_body.append('    VK_DYNAMIC_STATE_OBJECT remap(const VK_DYNAMIC_STATE_OBJECT& state)\n    {')
+        rc_body.append('        VK_DYNAMIC_STATE_OBJECT obj;')
         for t in state_obj_remap_types:
-            rc_body.append('        if ((obj = remap(static_cast <%s> (state))) != XGL_NULL_HANDLE)' % t)
+            rc_body.append('        if ((obj = remap(static_cast <%s> (state))) != VK_NULL_HANDLE)' % t)
             rc_body.append('            return obj;')
-        rc_body.append('        return XGL_NULL_HANDLE;\n    }')
-        rc_body.append('    void rm_from_map(const XGL_DYNAMIC_STATE_OBJECT& state)\n    {')
+        rc_body.append('        return VK_NULL_HANDLE;\n    }')
+        rc_body.append('    void rm_from_map(const VK_DYNAMIC_STATE_OBJECT& state)\n    {')
         for t in state_obj_remap_types:
             rc_body.append('        rm_from_map(static_cast <%s> (state));' % t)
         rc_body.append('    }')
         rc_body.append('')
         # OBJECT code
-        rc_body.append('    XGL_OBJECT remap(const XGL_OBJECT& object)\n    {')
-        rc_body.append('        XGL_OBJECT obj;')
-        obj_remap_types = xgl.object_list
+        rc_body.append('    VK_OBJECT remap(const VK_OBJECT& object)\n    {')
+        rc_body.append('        VK_OBJECT obj;')
+        obj_remap_types = vulkan.object_list
         for var in obj_remap_types:
-            rc_body.append('        if ((obj = remap(static_cast <%s> (object))) != XGL_NULL_HANDLE)' % (var))
+            rc_body.append('        if ((obj = remap(static_cast <%s> (object))) != VK_NULL_HANDLE)' % (var))
             rc_body.append('            return obj;')
-        rc_body.append('        return XGL_NULL_HANDLE;\n    }')
-        rc_body.append('    void rm_from_map(const XGL_OBJECT & objKey)\n    {')
+        rc_body.append('        return VK_NULL_HANDLE;\n    }')
+        rc_body.append('    void rm_from_map(const VK_OBJECT & objKey)\n    {')
         for var in obj_remap_types:
             rc_body.append('        rm_from_map(static_cast <%s> (objKey));' % (var))
         rc_body.append('    }')
-        rc_body.append('    XGL_BASE_OBJECT remap(const XGL_BASE_OBJECT& object)\n    {')
-        rc_body.append('        XGL_BASE_OBJECT obj;')
-        base_obj_remap_types = ['XGL_DEVICE', 'XGL_QUEUE', 'XGL_GPU_MEMORY', 'XGL_OBJECT']
+        rc_body.append('    VK_BASE_OBJECT remap(const VK_BASE_OBJECT& object)\n    {')
+        rc_body.append('        VK_BASE_OBJECT obj;')
+        base_obj_remap_types = ['VK_DEVICE', 'VK_QUEUE', 'VK_GPU_MEMORY', 'VK_OBJECT']
         for t in base_obj_remap_types:
-            rc_body.append('        if ((obj = remap(static_cast <%s> (object))) != XGL_NULL_HANDLE)' % t)
+            rc_body.append('        if ((obj = remap(static_cast <%s> (object))) != VK_NULL_HANDLE)' % t)
             rc_body.append('            return obj;')
-        rc_body.append('        return XGL_NULL_HANDLE;')
+        rc_body.append('        return VK_NULL_HANDLE;')
         rc_body.append('    }')
         rc_body.append('};')
         return "\n".join(rc_body)
 
     def _generate_replay_init_funcs(self):
         rif_body = []
-        rif_body.append('void xglFuncs::init_funcs(void * handle)\n{\n    m_libHandle = handle;')
+        rif_body.append('void vkFuncs::init_funcs(void * handle)\n{\n    m_libHandle = handle;')
         for proto in self.protos:
-            rif_body.append('    real_xgl%s = (type_xgl%s)(glv_platform_get_library_entrypoint(handle, "xgl%s"));' % (proto.name, proto.name, proto.name))
+            rif_body.append('    real_vk%s = (type_vk%s)(glv_platform_get_library_entrypoint(handle, "vk%s"));' % (proto.name, proto.name, proto.name))
         rif_body.append('}')
         return "\n".join(rif_body)
 
     def _get_packet_param(self, t, n):
         # list of types that require remapping
-        remap_list = xgl.object_type_list
+        remap_list = vulkan.object_type_list
         param_exclude_list = ['p1', 'p2', 'pGpus', 'pDescriptorSets']
         if t.strip('*').replace('const ', '') in remap_list and n not in param_exclude_list:
             if '*' in t:
@@ -1545,44 +1446,44 @@
 
     def _gen_replay_enum_gpus(self):
         ieg_body = []
-        ieg_body.append('            returnValue = manually_handle_xglEnumerateGpus(pPacket);')
+        ieg_body.append('            returnValue = manually_handle_vkEnumerateGpus(pPacket);')
         return "\n".join(ieg_body)
 
     def _gen_replay_get_gpu_info(self):
         ggi_body = []
-        ggi_body.append('            returnValue = manually_handle_xglGetGpuInfo(pPacket);')
+        ggi_body.append('            returnValue = manually_handle_vkGetGpuInfo(pPacket);')
         return "\n".join(ggi_body)
 
     def _gen_replay_create_device(self):
         cd_body = []
-        cd_body.append('            returnValue = manually_handle_xglCreateDevice(pPacket);')
+        cd_body.append('            returnValue = manually_handle_vkCreateDevice(pPacket);')
         return "\n".join(cd_body)
 
     def _gen_replay_get_extension_support(self):
         ges_body = []
-        ges_body.append('            returnValue = manually_handle_xglGetExtensionSupport(pPacket);')
+        ges_body.append('            returnValue = manually_handle_vkGetExtensionSupport(pPacket);')
         return "\n".join(ges_body)
 
     def _gen_replay_queue_submit(self):
         qs_body = []
-        qs_body.append('            returnValue = manually_handle_xglQueueSubmit(pPacket);')
+        qs_body.append('            returnValue = manually_handle_vkQueueSubmit(pPacket);')
         return "\n".join(qs_body)
 
     def _gen_replay_get_object_info(self):
         goi_body = []
-        goi_body.append('            returnValue = manually_handle_xglGetObjectInfo(pPacket);')
+        goi_body.append('            returnValue = manually_handle_vkGetObjectInfo(pPacket);')
         return "\n".join(goi_body)
 
     def _gen_replay_get_format_info(self):
         gfi_body = []
-        gfi_body.append('            returnValue = manually_handle_xglGetFormatInfo(pPacket);')
+        gfi_body.append('            returnValue = manually_handle_vkGetFormatInfo(pPacket);')
         return "\n".join(gfi_body)
 
     def _gen_replay_create_image(self):
         ci_body = []
         ci_body.append('            imageObj local_imageObj;')
-        ci_body.append('            replayResult = m_xglFuncs.real_xglCreateImage(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &local_imageObj.replayImage);')
-        ci_body.append('            if (replayResult == XGL_SUCCESS)')
+        ci_body.append('            replayResult = m_vkFuncs.real_vkCreateImage(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &local_imageObj.replayImage);')
+        ci_body.append('            if (replayResult == VK_SUCCESS)')
         ci_body.append('            {')
         ci_body.append('                m_objMapper.add_to_map(pPacket->pImage, &local_imageObj);')
         ci_body.append('            }')
@@ -1591,8 +1492,8 @@
     def _gen_replay_create_buffer(self):
         cb_body = []
         cb_body.append('            bufferObj local_bufferObj;')
-        cb_body.append('            replayResult = m_xglFuncs.real_xglCreateBuffer(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &local_bufferObj.replayBuffer);')
-        cb_body.append('            if (replayResult == XGL_SUCCESS)')
+        cb_body.append('            replayResult = m_vkFuncs.real_vkCreateBuffer(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &local_bufferObj.replayBuffer);')
+        cb_body.append('            if (replayResult == VK_SUCCESS)')
         cb_body.append('            {')
         cb_body.append('                m_objMapper.add_to_map(pPacket->pBuffer, &local_bufferObj);')
         cb_body.append('            }')
@@ -1600,224 +1501,95 @@
 
     def _gen_replay_get_image_subresource_info(self):
         isi_body = []
-        isi_body.append('            returnValue = manually_handle_xglGetImageSubresourceInfo(pPacket);')
+        isi_body.append('            returnValue = manually_handle_vkGetImageSubresourceInfo(pPacket);')
         return "\n".join(isi_body)
 
     def _gen_replay_update_descriptors(self):
         ud_body = []
-        ud_body.append('            returnValue = manually_handle_xglUpdateDescriptors(pPacket);')
+        ud_body.append('            returnValue = manually_handle_vkUpdateDescriptors(pPacket);')
         return "\n".join(ud_body)
 
     def _gen_replay_create_descriptor_set_layout(self):
         cdsl_body = []
-        cdsl_body.append('            returnValue = manually_handle_xglCreateDescriptorSetLayout(pPacket);')
+        cdsl_body.append('            returnValue = manually_handle_vkCreateDescriptorSetLayout(pPacket);')
         return "\n".join(cdsl_body)
 
-    def _gen_replay_create_descriptor_set_layout_chain(self):
-        cdslc_body = []
-        cdslc_body.append('           XGL_DESCRIPTOR_SET_LAYOUT_CHAIN local_pLayoutChain;')
-        cdslc_body.append('           XGL_DESCRIPTOR_SET_LAYOUT *saveSetLayoutArray = (XGL_DESCRIPTOR_SET_LAYOUT *) glv_malloc(pPacket->setLayoutArrayCount * sizeof(XGL_DESCRIPTOR_SET_LAYOUT));')
-        cdslc_body.append('           XGL_DESCRIPTOR_SET_LAYOUT *pSetLayoutOrig = (XGL_DESCRIPTOR_SET_LAYOUT *) pPacket->pSetLayoutArray;')
-        cdslc_body.append('           uint32_t i;')
-        cdslc_body.append('           for (i = 0; i < pPacket->setLayoutArrayCount && pPacket->pSetLayoutArray != NULL; i++)')
-        cdslc_body.append('           {')
-        cdslc_body.append('               saveSetLayoutArray[i] = pPacket->pSetLayoutArray[i];')
-        cdslc_body.append('               *pSetLayoutOrig++ = m_objMapper.remap(pPacket->pSetLayoutArray[i]);')
-        cdslc_body.append('           }')
-        cdslc_body.append('           replayResult = m_xglFuncs.real_xglCreateDescriptorSetLayoutChain(m_objMapper.remap(pPacket->device), pPacket->setLayoutArrayCount, pPacket->pSetLayoutArray, &local_pLayoutChain);')
-        cdslc_body.append('           pSetLayoutOrig = (XGL_DESCRIPTOR_SET_LAYOUT *) pPacket->pSetLayoutArray;')
-        cdslc_body.append('           for (i = 0; i < pPacket->setLayoutArrayCount && pPacket->pSetLayoutArray != NULL; i++)')
-        cdslc_body.append('           {')
-        cdslc_body.append('               *pSetLayoutOrig++ = saveSetLayoutArray[i];')
-        cdslc_body.append('           }')
-        cdslc_body.append('           if (replayResult == XGL_SUCCESS)')
-        cdslc_body.append('           {')
-        cdslc_body.append('               m_objMapper.add_to_map(pPacket->pLayoutChain, &local_pLayoutChain);')
-        cdslc_body.append('           }')
-        cdslc_body.append('           free(saveSetLayoutArray);')
-        return "\n".join(cdslc_body)
-
     def _gen_replay_create_graphics_pipeline(self):
         cgp_body = []
-        cgp_body.append('            returnValue = manually_handle_xglCreateGraphicsPipeline(pPacket);')
-        return "\n".join(cgp_body)
-
-    def _gen_replay_create_graphics_pipeline_derivative(self):
-        cgp_body = []
-        cgp_body.append('            XGL_GRAPHICS_PIPELINE_CREATE_INFO createInfo;')
-        cgp_body.append('            struct shaderPair saveShader[10];')
-        cgp_body.append('            unsigned int idx = 0;')
-        cgp_body.append('            memcpy(&createInfo, pPacket->pCreateInfo, sizeof(XGL_GRAPHICS_PIPELINE_CREATE_INFO));')
-        cgp_body.append('            createInfo.pSetLayoutChain = m_objMapper.remap(createInfo.pSetLayoutChain);')
-        cgp_body.append('            // Cast to shader type, as those are of primariy interest and all structs in LL have same header w/ sType & pNext')
-        cgp_body.append('            XGL_PIPELINE_SHADER_STAGE_CREATE_INFO* pPacketNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pPacket->pCreateInfo->pNext;')
-        cgp_body.append('            XGL_PIPELINE_SHADER_STAGE_CREATE_INFO* pNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)createInfo.pNext;')
-        cgp_body.append('            while (XGL_NULL_HANDLE != pPacketNext)')
-        cgp_body.append('            {')
-        cgp_body.append('                if (XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO == pNext->sType)')
-        cgp_body.append('                {')
-        cgp_body.append('                    saveShader[idx].val = pNext->shader.shader;')
-        cgp_body.append('                    saveShader[idx++].addr = &(pNext->shader.shader);')
-        cgp_body.append('                    pNext->shader.shader = m_objMapper.remap(pPacketNext->shader.shader);')
-        cgp_body.append('                }')
-        cgp_body.append('                pPacketNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pPacketNext->pNext;')
-        cgp_body.append('                pNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pNext->pNext;')
-        cgp_body.append('            }')
-        cgp_body.append('            XGL_PIPELINE pipeline;')
-        cgp_body.append('            replayResult = m_xglFuncs.real_xglCreateGraphicsPipelineDerivative(m_objMapper.remap(pPacket->device), &createInfo, m_objMapper.remap(pPacket->basePipeline), &pipeline);')
-        cgp_body.append('            if (replayResult == XGL_SUCCESS)')
-        cgp_body.append('            {')
-        cgp_body.append('                m_objMapper.add_to_map(pPacket->pPipeline, &pipeline);')
-        cgp_body.append('            }')
-        cgp_body.append('            for (unsigned int i = 0; i < idx; i++)')
-        cgp_body.append('                *(saveShader[i].addr) = saveShader[i].val;')
+        cgp_body.append('            returnValue = manually_handle_vkCreateGraphicsPipeline(pPacket);')
         return "\n".join(cgp_body)
 
     def _gen_replay_cmd_wait_events(self):
         cwe_body = []
-        cwe_body.append('            returnValue = manually_handle_xglCmdWaitEvents(pPacket);')
+        cwe_body.append('            returnValue = manually_handle_vkCmdWaitEvents(pPacket);')
         return "\n".join(cwe_body)
 
-    def _gen_replay_create_graphics_pipeline_derivative(self):
-        cgp_body = []
-        cgp_body.append('            XGL_GRAPHICS_PIPELINE_CREATE_INFO createInfo;')
-        cgp_body.append('            struct shaderPair saveShader[10];')
-        cgp_body.append('            unsigned int idx = 0;')
-        cgp_body.append('            memcpy(&createInfo, pPacket->pCreateInfo, sizeof(XGL_GRAPHICS_PIPELINE_CREATE_INFO));')
-        cgp_body.append('            createInfo.pSetLayoutChain = m_objMapper.remap(createInfo.pSetLayoutChain);')
-        cgp_body.append('            // Cast to shader type, as those are of primariy interest and all structs in LL have same header w/ sType & pNext')
-        cgp_body.append('            XGL_PIPELINE_SHADER_STAGE_CREATE_INFO* pPacketNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pPacket->pCreateInfo->pNext;')
-        cgp_body.append('            XGL_PIPELINE_SHADER_STAGE_CREATE_INFO* pNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)createInfo.pNext;')
-        cgp_body.append('            while (XGL_NULL_HANDLE != pPacketNext)')
-        cgp_body.append('            {')
-        cgp_body.append('                if (XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO == pNext->sType)')
-        cgp_body.append('                {')
-        cgp_body.append('                    saveShader[idx].val = pNext->shader.shader;')
-        cgp_body.append('                    saveShader[idx++].addr = &(pNext->shader.shader);')
-        cgp_body.append('                    pNext->shader.shader = m_objMapper.remap(pPacketNext->shader.shader);')
-        cgp_body.append('                }')
-        cgp_body.append('                pPacketNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pPacketNext->pNext;')
-        cgp_body.append('                pNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pNext->pNext;')
-        cgp_body.append('            }')
-        cgp_body.append('            XGL_PIPELINE pipeline;')
-        cgp_body.append('            replayResult = m_xglFuncs.real_xglCreateGraphicsPipelineDerivative(m_objMapper.remap(pPacket->device), &createInfo, m_objMapper.remap(pPacket->basePipeline), &pipeline);')
-        cgp_body.append('            if (replayResult == XGL_SUCCESS)')
-        cgp_body.append('            {')
-        cgp_body.append('                m_objMapper.add_to_map(pPacket->pPipeline, &pipeline);')
-        cgp_body.append('            }')
-        cgp_body.append('            for (unsigned int i = 0; i < idx; i++)')
-        cgp_body.append('                *(saveShader[i].addr) = saveShader[i].val;')
-        return "\n".join(cgp_body)
-
-    def _gen_replay_cmd_bind_descriptor_sets(self):
-        cbds_body = []
-        cbds_body.append('            XGL_DESCRIPTOR_SET *pSaveSets = (XGL_DESCRIPTOR_SET *) glv_malloc(sizeof(XGL_DESCRIPTOR_SET) * pPacket->count);')
-        cbds_body.append('            if (pSaveSets == NULL)')
-        cbds_body.append('            {')
-        cbds_body.append('                glv_LogError("replay of CmdBindDescriptorSets out of memory\\n");')
-        cbds_body.append('            }')
-        cbds_body.append('            for (uint32_t idx = 0; idx < pPacket->count && pPacket->pDescriptorSets != NULL; idx++)')
-        cbds_body.append('            {')
-        cbds_body.append('                XGL_DESCRIPTOR_SET *pSet = (XGL_DESCRIPTOR_SET *) &(pPacket->pDescriptorSets[idx]);')
-        cbds_body.append('                pSaveSets[idx] = pPacket->pDescriptorSets[idx];')
-        cbds_body.append('                *pSet = m_objMapper.remap(pPacket->pDescriptorSets[idx]);')
-        cbds_body.append('            }')
-        cbds_body.append('            m_xglFuncs.real_xglCmdBindDescriptorSets(m_objMapper.remap(pPacket->cmdBuffer), pPacket->pipelineBindPoint, m_objMapper.remap(pPacket->layoutChain), pPacket->layoutChainSlot, pPacket->count, pPacket->pDescriptorSets, pPacket->pUserData);')
-        cbds_body.append('            for (uint32_t idx = 0; idx < pPacket->count && pPacket->pDescriptorSets != NULL; idx++)')
-        cbds_body.append('            {')
-        cbds_body.append('                XGL_DESCRIPTOR_SET *pSet = (XGL_DESCRIPTOR_SET *) &(pPacket->pDescriptorSets[idx]);')
-        cbds_body.append('                *pSet = pSaveSets[idx];')
-        cbds_body.append('            }')
-        cbds_body.append('            glv_free(pSaveSets);')
-        return "\n".join(cbds_body)
-
     def _gen_replay_cmd_pipeline_barrier(self):
         cpb_body = []
-        cpb_body.append('            returnValue = manually_handle_xglCmdPipelineBarrier(pPacket);')
+        cpb_body.append('            returnValue = manually_handle_vkCmdPipelineBarrier(pPacket);')
         return "\n".join(cpb_body)
 
     def _gen_replay_create_framebuffer(self):
         cf_body = []
-        cf_body.append('            returnValue = manually_handle_xglCreateFramebuffer(pPacket);')
+        cf_body.append('            returnValue = manually_handle_vkCreateFramebuffer(pPacket);')
         return "\n".join(cf_body)
 
     def _gen_replay_create_renderpass(self):
         cr_body = []
-        cr_body.append('            returnValue = manually_handle_xglCreateRenderPass(pPacket);')
+        cr_body.append('            returnValue = manually_handle_vkCreateRenderPass(pPacket);')
         return "\n".join(cr_body)
 
     def _gen_replay_begin_command_buffer(self):
         bcb_body = []
-        bcb_body.append('            returnValue = manually_handle_xglBeginCommandBuffer(pPacket);')
+        bcb_body.append('            returnValue = manually_handle_vkBeginCommandBuffer(pPacket);')
         return "\n".join(bcb_body)
 
-    def _gen_replay_begin_render_pass(self):
-        cbrp_body = []
-        cbrp_body.append('            XGL_RENDER_PASS_BEGIN savedRPB, *pRPB = (XGL_RENDER_PASS_BEGIN *) pPacket->pRenderPassBegin;')
-        cbrp_body.append('            savedRPB = *(pPacket->pRenderPassBegin);')
-        cbrp_body.append('            pRPB->renderPass = m_objMapper.remap(savedRPB.renderPass);')
-        cbrp_body.append('            pRPB->framebuffer = m_objMapper.remap(savedRPB.framebuffer);')
-        cbrp_body.append('            m_xglFuncs.real_xglCmdBeginRenderPass(m_objMapper.remap(pPacket->cmdBuffer), pPacket->pRenderPassBegin);')
-        cbrp_body.append('            *pRPB = savedRPB;')
-        return "\n".join(cbrp_body)
-
     def _gen_replay_store_pipeline(self):
         sp_body = []
-        sp_body.append('            returnValue = manually_handle_xglStorePipeline(pPacket);')
+        sp_body.append('            returnValue = manually_handle_vkStorePipeline(pPacket);')
         return "\n".join(sp_body)
 
     def _gen_replay_get_multi_gpu_compatibility(self):
         gmgc_body = []
-        gmgc_body.append('            returnValue = manually_handle_xglGetMultiGpuCompatibility(pPacket);')
+        gmgc_body.append('            returnValue = manually_handle_vkGetMultiGpuCompatibility(pPacket);')
         return "\n".join(gmgc_body)
 
     def _gen_replay_destroy_object(self):
         do_body = []
-        do_body.append('            returnValue = manually_handle_xglDestroyObject(pPacket);')
+        do_body.append('            returnValue = manually_handle_vkDestroyObject(pPacket);')
         return "\n".join(do_body)
 
     def _gen_replay_wait_for_fences(self):
         wf_body = []
-        wf_body.append('            returnValue = manually_handle_xglWaitForFences(pPacket);')
-        return "\n".join(wf_body)
-
-    def _gen_replay_reset_fences(self):
-        wf_body = []
-        wf_body.append('            XGL_FENCE *pFence = GLV_NEW_ARRAY(XGL_FENCE, pPacket->fenceCount);')
-        wf_body.append('            for (uint32_t i = 0; i < pPacket->fenceCount; i++)')
-        wf_body.append('            {')
-        wf_body.append('                *(pFence + i) = m_objMapper.remap(*(pPacket->pFences + i));')
-        wf_body.append('            }')
-        wf_body.append('            replayResult = m_xglFuncs.real_xglResetFences(m_objMapper.remap(pPacket->device), pPacket->fenceCount, pFence);')
-        wf_body.append('            GLV_DELETE(pFence);')
+        wf_body.append('            returnValue = manually_handle_vkWaitForFences(pPacket);')
         return "\n".join(wf_body)
 
     def _gen_replay_wsi_associate_connection(self):
         wac_body = []
-        wac_body.append('            returnValue = manually_handle_xglWsiX11AssociateConnection(pPacket);')
+        wac_body.append('            returnValue = manually_handle_vkWsiX11AssociateConnection(pPacket);')
         return "\n".join(wac_body)
 
     def _gen_replay_wsi_get_msc(self):
         wgm_body = []
-        wgm_body.append('            returnValue = manually_handle_xglWsiX11GetMSC(pPacket);')
+        wgm_body.append('            returnValue = manually_handle_vkWsiX11GetMSC(pPacket);')
         return "\n".join(wgm_body)
 
     def _gen_replay_wsi_create_presentable_image(self):
         cpi_body = []
-        cpi_body.append('            returnValue = manually_handle_xglWsiX11CreatePresentableImage(pPacket);')
+        cpi_body.append('            returnValue = manually_handle_vkWsiX11CreatePresentableImage(pPacket);')
         return "\n".join(cpi_body)
 
     def _gen_replay_wsi_queue_present(self):
         wqp_body = []
-        wqp_body.append('            returnValue = manually_handle_xglWsiX11QueuePresent(pPacket);')
+        wqp_body.append('            returnValue = manually_handle_vkWsiX11QueuePresent(pPacket);')
         return "\n".join(wqp_body)
 
     def _gen_replay_alloc_memory(self):
         am_body = []
         am_body.append('            gpuMemObj local_mem;')
         am_body.append('            if (!m_objMapper.m_adjustForGPU)')
-        am_body.append('                replayResult = m_xglFuncs.real_xglAllocMemory(m_objMapper.remap(pPacket->device), pPacket->pAllocInfo, &local_mem.replayGpuMem);')
-        am_body.append('            if (replayResult == XGL_SUCCESS || m_objMapper.m_adjustForGPU)')
+        am_body.append('                replayResult = m_vkFuncs.real_vkAllocMemory(m_objMapper.remap(pPacket->device), pPacket->pAllocInfo, &local_mem.replayGpuMem);')
+        am_body.append('            if (replayResult == VK_SUCCESS || m_objMapper.m_adjustForGPU)')
         am_body.append('            {')
         am_body.append('                local_mem.pGpuMem = new (gpuMemory);')
         am_body.append('                if (local_mem.pGpuMem)')
@@ -1828,35 +1600,35 @@
 
     def _gen_replay_free_memory(self):
         fm_body = []
-        fm_body.append('            returnValue = manually_handle_xglFreeMemory(pPacket);')
+        fm_body.append('            returnValue = manually_handle_vkFreeMemory(pPacket);')
         return "\n".join(fm_body)
 
     def _gen_replay_map_memory(self):
         mm_body = []
-        mm_body.append('            returnValue = manually_handle_xglMapMemory(pPacket);')
+        mm_body.append('            returnValue = manually_handle_vkMapMemory(pPacket);')
         return "\n".join(mm_body)
-        
+
     def _gen_replay_unmap_memory(self):
         um_body = []
-        um_body.append('            returnValue = manually_handle_xglUnmapMemory(pPacket);')
+        um_body.append('            returnValue = manually_handle_vkUnmapMemory(pPacket);')
         return "\n".join(um_body)
 
     def _gen_replay_pin_system_memory(self):
         psm_body = []
         psm_body.append('            gpuMemObj local_mem;')
         psm_body.append('            /* TODO do we need to skip (make pending) this call for m_adjustForGPU */')
-        psm_body.append('            replayResult = m_xglFuncs.real_xglPinSystemMemory(m_objMapper.remap(pPacket->device), pPacket->pSysMem, pPacket->memSize, &local_mem.replayGpuMem);')
-        psm_body.append('            if (replayResult == XGL_SUCCESS)')
+        psm_body.append('            replayResult = m_vkFuncs.real_vkPinSystemMemory(m_objMapper.remap(pPacket->device), pPacket->pSysMem, pPacket->memSize, &local_mem.replayGpuMem);')
+        psm_body.append('            if (replayResult == VK_SUCCESS)')
         psm_body.append('                m_objMapper.add_to_map(pPacket->pMem, &local_mem);')
         return "\n".join(psm_body)
 
-    # I don't think this function is being generated anymore (ie, it may have been removed from XGL)
+    # I don't think this function is being generated anymore (ie, it may have been removed from VK)
     def _gen_replay_bind_dynamic_memory_view(self):
         bdmv_body = []
-        bdmv_body.append('            XGL_MEMORY_VIEW_ATTACH_INFO memView;')
-        bdmv_body.append('            memcpy(&memView, pPacket->pMemView, sizeof(XGL_MEMORY_VIEW_ATTACH_INFO));')
+        bdmv_body.append('            VK_MEMORY_VIEW_ATTACH_INFO memView;')
+        bdmv_body.append('            memcpy(&memView, pPacket->pMemView, sizeof(VK_MEMORY_VIEW_ATTACH_INFO));')
         bdmv_body.append('            memView.mem = m_objMapper.remap(pPacket->pMemView->mem);')
-        bdmv_body.append('            m_xglFuncs.real_xglCmdBindDynamicMemoryView(m_objMapper.remap(pPacket->cmdBuffer), pPacket->pipelineBindPoint, &memView);')
+        bdmv_body.append('            m_vkFuncs.real_vkCmdBindDynamicMemoryView(m_objMapper.remap(pPacket->cmdBuffer), pPacket->pipelineBindPoint, &memView);')
         return "\n".join(bdmv_body)
 
     # Generate main replay case statements where actual replay API call is dispatched based on input packet data
@@ -1873,16 +1645,13 @@
                             'CreateBuffer': self._gen_replay_create_buffer,
                             'GetImageSubresourceInfo': self._gen_replay_get_image_subresource_info,
                             'CreateGraphicsPipeline': self._gen_replay_create_graphics_pipeline,
-                            'CreateGraphicsPipelineDerivative': self._gen_replay_create_graphics_pipeline_derivative,
                             'CreateFramebuffer': self._gen_replay_create_framebuffer,
                             'CreateRenderPass': self._gen_replay_create_renderpass,
                             'BeginCommandBuffer': self._gen_replay_begin_command_buffer,
-                            'CmdBeginRenderPass': self._gen_replay_begin_render_pass,
                             'StorePipeline': self._gen_replay_store_pipeline,
                             'GetMultiGpuCompatibility': self._gen_replay_get_multi_gpu_compatibility,
                             'DestroyObject': self._gen_replay_destroy_object,
                             'WaitForFences': self._gen_replay_wait_for_fences,
-                            'ResetFences': self._gen_replay_reset_fences,
                             'WsiX11AssociateConnection': self._gen_replay_wsi_associate_connection,
                             'WsiX11GetMSC': self._gen_replay_wsi_get_msc,
                             'WsiX11CreatePresentableImage': self._gen_replay_wsi_create_presentable_image,
@@ -1895,11 +1664,9 @@
                             'CmdBindDynamicMemoryView': self._gen_replay_bind_dynamic_memory_view,
                             'UpdateDescriptors': self._gen_replay_update_descriptors,
                             'CreateDescriptorSetLayout': self._gen_replay_create_descriptor_set_layout,
-                            'CreateDescriptorSetLayoutChain': self._gen_replay_create_descriptor_set_layout_chain,
-                            'CmdBindDescriptorSets': self._gen_replay_cmd_bind_descriptor_sets,
                             'CmdWaitEvents': self._gen_replay_cmd_wait_events,
                             'CmdPipelineBarrier': self._gen_replay_cmd_pipeline_barrier}
-        # TODO : Need to guard CreateInstance with "if (!m_display->m_initedXGL)" check
+        # TODO : Need to guard CreateInstance with "if (!m_display->m_initedVK)" check
         # Despite returning a value, don't check these funcs b/c custom code includes check already
         custom_check_ret_val = ['EnumerateGpus', 'GetGpuInfo', 'CreateDevice', 'GetExtensionSupport', 'QueueSubmit', 'GetObjectInfo',
                                 'GetFormatInfo', 'GetImageSubresourceInfo', 'CreateDescriptorSetLayout', 'CreateGraphicsPipeline',
@@ -1908,23 +1675,23 @@
                                 'WsiX11AssociateConnection', 'WsiX11GetMSC', 'WsiX11CreatePresentableImage', 'WsiX11QueuePresent']
         # multi-gpu Open funcs w/ list of local params to create
         custom_open_params = {'OpenSharedMemory': (-1,),
-                              'OpenSharedSemaphore': (-1,),
+                              'OpenSharedQueueSemaphore': (-1,),
                               'OpenPeerMemory': (-1,),
                               'OpenPeerImage': (-1, -2,)}
         # Functions that create views are unique from other create functions
         create_view_list = ['CreateBufferView', 'CreateImageView', 'CreateColorAttachmentView', 'CreateDepthStencilView', 'CreateComputePipeline']
         # Functions to treat as "Create' that don't have 'Create' in the name
-        special_create_list = ['LoadPipeline', 'LoadPipelineDerivative', 'AllocMemory', 'GetDeviceQueue', 'PinSystemMemory', 'AllocDescriptorSets']
+        special_create_list = ['LoadPipeline', 'AllocMemory', 'GetDeviceQueue', 'PinSystemMemory', 'AllocDescriptorSets']
         # A couple funcs use do while loops
-        do_while_dict = {'GetFenceStatus': 'replayResult != pPacket->result  && pPacket->result == XGL_SUCCESS', 'GetEventStatus': '(pPacket->result == XGL_EVENT_SET || pPacket->result == XGL_EVENT_RESET) && replayResult != pPacket->result'}
+        do_while_dict = {'GetFenceStatus': 'replayResult != pPacket->result  && pPacket->result == VK_SUCCESS', 'GetEventStatus': '(pPacket->result == VK_EVENT_SET || pPacket->result == VK_EVENT_RESET) && replayResult != pPacket->result'}
         rbody = []
-        rbody.append('glv_replay::GLV_REPLAY_RESULT xglReplay::replay(glv_trace_packet_header *packet)')
+        rbody.append('glv_replay::GLV_REPLAY_RESULT vkReplay::replay(glv_trace_packet_header *packet)')
         rbody.append('{')
         rbody.append('    glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;')
-        rbody.append('    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;')
+        rbody.append('    VK_RESULT replayResult = VK_ERROR_UNKNOWN;')
         rbody.append('    switch (packet->packet_id)')
         rbody.append('    {')
-        rbody.append('        case GLV_TPI_XGL_xglApiVersion:')
+        rbody.append('        case GLV_TPI_VK_vkApiVersion:')
         rbody.append('            break;  // nothing to replay on the version packet')
         for proto in self.protos:
             ret_value = False
@@ -1937,14 +1704,14 @@
                 create_view = True
             elif 'Create' in proto.name or proto.name in special_create_list:
                 create_func = True
-            rbody.append('        case GLV_TPI_XGL_xgl%s:' % proto.name)
+            rbody.append('        case GLV_TPI_VK_vk%s:' % proto.name)
             rbody.append('        {')
-            rbody.append('            struct_xgl%s* pPacket = (struct_xgl%s*)(packet->pBody);' % (proto.name, proto.name))
+            rbody.append('            struct_vk%s* pPacket = (struct_vk%s*)(packet->pBody);' % (proto.name, proto.name))
             if proto.name in custom_body_dict:
                 rbody.append(custom_body_dict[proto.name]())
             else:
                 if proto.name in custom_open_params:
-                    rbody.append('            XGL_DEVICE handle;')
+                    rbody.append('            VK_DEVICE handle;')
                     for pidx in custom_open_params[proto.name]:
                         rbody.append('            %s local_%s;' % (proto.params[pidx].ty.replace('const ', '').strip('*'), proto.params[pidx].name))
                     rbody.append('            handle = m_objMapper.remap(pPacket->device);')
@@ -1961,17 +1728,15 @@
                 elif create_func: # Declare local var to store created handle into
                     rbody.append('            %s local_%s;' % (proto.params[-1].ty.strip('*').replace('const ', ''), proto.params[-1].name))
                     if 'AllocDescriptorSets' == proto.name:
-                        # TODO should malloc and free here rather than fixed size array
                         rbody.append('            %s local_%s[100];' % (proto.params[-2].ty.strip('*').replace('const ', ''), proto.params[-2].name))
-                        rbody.append('            XGL_DESCRIPTOR_SET_LAYOUT localDescSets[100];')
+                        rbody.append('            VK_DESCRIPTOR_SET_LAYOUT localDescSets[100];')
                         rbody.append('            assert(pPacket->count <= 100);')
                         rbody.append('            for (uint32_t i = 0; i < pPacket->count; i++)')
                         rbody.append('            {')
                         rbody.append('                localDescSets[i] = m_objMapper.remap(pPacket->%s[i]);' % (proto.params[-3].name))
                         rbody.append('            }')
                 elif proto.name == 'ClearDescriptorSets':
-                    # TODO should malloc and free here rather than fixed size array
-                    rbody.append('            XGL_DESCRIPTOR_SET localDescSets[100];')
+                    rbody.append('            VK_DESCRIPTOR_SET localDescSets[100];')
                     rbody.append('            assert(pPacket->count <= 100);')
                     rbody.append('            for (uint32_t i = 0; i < pPacket->count; i++)')
                     rbody.append('            {')
@@ -1985,11 +1750,11 @@
                     rbody.append('            for (unsigned int i = 0; i < pPacket->maxLayerCount; i++)')
                     rbody.append('                bufptr[i] = GLV_NEW_ARRAY(char, pPacket->maxStringSize);')
                 elif proto.name == 'DestroyInstance':
-                    rbody.append('            xglDbgUnregisterMsgCallback(m_objMapper.remap(pPacket->instance), g_fpDbgMsgCallback);')
+                    rbody.append('            vkDbgUnregisterMsgCallback(g_fpDbgMsgCallback);')
                 rr_string = '            '
                 if ret_value:
                     rr_string = '            replayResult = '
-                rr_string += 'm_xglFuncs.real_xgl%s(' % proto.name
+                rr_string += 'm_vkFuncs.real_vk%s(' % proto.name
                 for p in proto.params:
                     # For last param of Create funcs, pass address of param
                     if create_func:
@@ -2024,30 +1789,30 @@
                     rr_string = rr_string.replace('pPacket->pSetLayouts', 'localDescSets')
                 rbody.append(rr_string)
                 if 'DestroyDevice' in proto.name:
-                    rbody.append('            if (replayResult == XGL_SUCCESS)')
+                    rbody.append('            if (replayResult == VK_SUCCESS)')
                     rbody.append('            {')
                     rbody.append('                m_pCBDump = NULL;')
                     rbody.append('                m_pDSDump = NULL;')
                     rbody.append('                m_pGlvSnapshotPrint = NULL;')
                     rbody.append('                m_objMapper.rm_from_map(pPacket->device);')
-                    rbody.append('                m_display->m_initedXGL = false;')
+                    rbody.append('                m_display->m_initedVK = false;')
                     rbody.append('            }')
                 if 'DestroyInstance' in proto.name:
-                    rbody.append('            if (replayResult == XGL_SUCCESS)')
+                    rbody.append('            if (replayResult == VK_SUCCESS)')
                     rbody.append('            {')
                     rbody.append('                // TODO need to handle multiple instances and only clearing maps within an instance.')
                     rbody.append('                // TODO this only works with a single instance used at any given time.')
                     rbody.append('                m_objMapper.clear_all_map_handles();')
                     rbody.append('            }')
                 elif 'AllocDescriptorSets' in proto.name:
-                    rbody.append('            if (replayResult == XGL_SUCCESS)')
+                    rbody.append('            if (replayResult == VK_SUCCESS)')
                     rbody.append('            {')
                     rbody.append('                for (uint32_t i = 0; i < local_pCount; i++) {')
                     rbody.append('                    m_objMapper.add_to_map(&pPacket->%s[i], &local_%s[i]);' % (proto.params[-2].name, proto.params[-2].name))
                     rbody.append('                }')
                     rbody.append('            }')
                 elif create_func: # save handle mapping if create successful
-                    rbody.append('            if (replayResult == XGL_SUCCESS)')
+                    rbody.append('            if (replayResult == VK_SUCCESS)')
                     rbody.append('            {')
                     rbody.append('                m_objMapper.add_to_map(pPacket->%s, &local_%s);' % (proto.params[-1].name, proto.params[-1].name))
                     if 'AllocMemory' == proto.name:
@@ -2056,12 +1821,12 @@
                 elif proto.name in do_while_dict:
                     rbody[-1] = '    %s' % rbody[-1]
                     rbody.append('            } while (%s);' % do_while_dict[proto.name])
-                    rbody.append('            if (pPacket->result != XGL_NOT_READY || replayResult != XGL_SUCCESS)')
+                    rbody.append('            if (pPacket->result != VK_NOT_READY || replayResult != VK_SUCCESS)')
                 elif proto.name == 'EnumerateLayers':
                     rbody.append('            for (unsigned int i = 0; i < pPacket->maxLayerCount; i++)')
                     rbody.append('                GLV_DELETE(bufptr[i]);')
             if ret_value:
-                rbody.append('            CHECK_RETURN_VALUE(xgl%s);' % proto.name)
+                rbody.append('            CHECK_RETURN_VALUE(vk%s);' % proto.name)
             if 'MsgCallback' in proto.name:
                 rbody.pop()
                 rbody.pop()
@@ -2100,13 +1865,13 @@
         header_txt = []
         header_txt.append('#include "glv_platform.h"')
         header_txt.append('#include "glv_common.h"')
-        header_txt.append('#include "glvtrace_xgl_helpers.h"')
-        header_txt.append('#include "glvtrace_xgl_xgl.h"')
-        header_txt.append('#include "glvtrace_xgl_xgldbg.h"')
-        header_txt.append('#include "glvtrace_xgl_xglwsix11ext.h"')
+        header_txt.append('#include "glvtrace_vk_helpers.h"')
+        header_txt.append('#include "glvtrace_vk_vk.h"')
+        header_txt.append('#include "glvtrace_vk_vkdbg.h"')
+        header_txt.append('#include "glvtrace_vk_vkwsix11ext.h"')
         header_txt.append('#include "glv_interconnect.h"')
         header_txt.append('#include "glv_filelike.h"')
-        header_txt.append('#include "xgl_struct_size_helper.h"')
+        header_txt.append('#include "vk_struct_size_helper.h"')
         header_txt.append('#ifdef WIN32')
         header_txt.append('#include "mhook/mhook-lib/mhook.h"')
         header_txt.append('#endif')
@@ -2133,7 +1898,7 @@
         header_txt.append('#include "glv_vk_vk_structs.h"')
         header_txt.append('#include "glv_vk_vkdbg_structs.h"')
         header_txt.append('#include "glv_vk_vkwsix11ext_structs.h"')
-        header_txt.append('#include "xgl_enum_string_helper.h"')
+        header_txt.append('#include "vk_enum_string_helper.h"')
         header_txt.append('#if defined(WIN32)')
         header_txt.append('#define snprintf _snprintf')
         header_txt.append('#endif')
@@ -2142,7 +1907,7 @@
         header_txt.append('#define SEND_ENTRYPOINT_PARAMS(entrypoint, ...) ;')
         header_txt.append('//#define SEND_ENTRYPOINT_PARAMS(entrypoint, ...) glv_TraceInfo(entrypoint, __VA_ARGS__);\n')
         header_txt.append('#define CREATE_TRACE_PACKET(entrypoint, buffer_bytes_needed) \\')
-        header_txt.append('    pHeader = glv_create_trace_packet(GLV_TID_XGL, GLV_TPI_XGL_##entrypoint, sizeof(struct_##entrypoint), buffer_bytes_needed);\n')
+        header_txt.append('    pHeader = glv_create_trace_packet(GLV_TID_VULKAN, GLV_TPI_VK_##entrypoint, sizeof(struct_##entrypoint), buffer_bytes_needed);\n')
         header_txt.append('#define FINISH_TRACE_PACKET() \\')
         header_txt.append('    glv_finalize_trace_packet(pHeader); \\')
         header_txt.append('    glv_write_trace_packet(pHeader, glv_trace_get_trace_file()); \\')
@@ -2160,7 +1925,7 @@
     def generate_header(self):
         header_txt = []
         header_txt.append('#pragma once\n')
-        header_txt.append('#include "xgl.h"')
+        header_txt.append('#include "vulkan.h"')
         header_txt.append('#include "glv_trace_packet_utils.h"\n')
         return "\n".join(header_txt)
 
@@ -2174,14 +1939,14 @@
     def generate_header(self):
         header_txt = []
         header_txt.append('#pragma once\n')
-        header_txt.append('#include "xgl.h"')
+        header_txt.append('#include "vulkan.h"')
         header_txt.append('#if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)')
-        header_txt.append('#include "xglWsiX11Ext.h"\n')
+        header_txt.append('#include "vkWsiX11Ext.h"\n')
         header_txt.append('#else')
-        header_txt.append('#include "xglWsiWinExt.h"')
+        header_txt.append('#include "vkWsiWinExt.h"')
         header_txt.append('#endif')
-        header_txt.append('void AttachHooks_xglwsix11ext();')
-        header_txt.append('void DetachHooks_xglwsix11ext();')
+        header_txt.append('void AttachHooks_vkwsix11ext();')
+        header_txt.append('void DetachHooks_vkwsix11ext();')
         return "\n".join(header_txt)
 
     def generate_body(self):
@@ -2195,7 +1960,7 @@
         header_txt = []
         header_txt.append('#include "glv_platform.h"')
         header_txt.append('#include "glv_common.h"')
-        header_txt.append('#include "glvtrace_xgl_xglwsix11ext.h"')
+        header_txt.append('#include "glvtrace_vk_vkwsix11ext.h"')
         header_txt.append('#include "glv_vk_vkwsix11ext_structs.h"')
         header_txt.append('#include "glv_vk_packet_id.h"')
         header_txt.append('#ifdef WIN32')
@@ -2216,9 +1981,9 @@
         header_txt = []
         header_txt.append('#pragma once\n')
         header_txt.append('#if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)')
-        header_txt.append('#include "xglWsiX11Ext.h"')
+        header_txt.append('#include "vkWsiX11Ext.h"')
         header_txt.append('#else')
-        header_txt.append('#include "xglWsiWinExt.h"')
+        header_txt.append('#include "vkWsiWinExt.h"')
         header_txt.append('#endif')
         header_txt.append('#include "glv_trace_packet_utils.h"\n')
         return "\n".join(header_txt)
@@ -2232,10 +1997,10 @@
     def generate_header(self):
         header_txt = []
         header_txt.append('#pragma once\n')
-        header_txt.append('#include "xgl.h"')
-        header_txt.append('#include "xglDbg.h"\n')
-        header_txt.append('void AttachHooks_xgldbg();')
-        header_txt.append('void DetachHooks_xgldbg();')
+        header_txt.append('#include "vulkan.h"')
+        header_txt.append('#include "vkDbg.h"\n')
+        header_txt.append('void AttachHooks_vkdbg();')
+        header_txt.append('void DetachHooks_vkdbg();')
         return "\n".join(header_txt)
 
     def generate_body(self):
@@ -2249,8 +2014,8 @@
         header_txt = []
         header_txt.append('#include "glv_platform.h"')
         header_txt.append('#include "glv_common.h"')
-        header_txt.append('#include "glvtrace_xgl_xgl.h"')
-        header_txt.append('#include "glvtrace_xgl_xgldbg.h"')
+        header_txt.append('#include "glvtrace_vk_vk.h"')
+        header_txt.append('#include "glvtrace_vk_vkdbg.h"')
         header_txt.append('#include "glv_vk_vkdbg_structs.h"')
         header_txt.append('#include "glv_vk_packet_id.h"')
         header_txt.append('#ifdef WIN32')
@@ -2270,7 +2035,7 @@
     def generate_header(self):
         header_txt = []
         header_txt.append('#pragma once\n')
-        header_txt.append('#include "xglDbg.h"')
+        header_txt.append('#include "vkDbg.h"')
         header_txt.append('#include "glv_trace_packet_utils.h"\n')
         return "\n".join(header_txt)
 
@@ -2279,19 +2044,19 @@
 
         return "\n".join(body)
 
-class GlaveReplayXglFuncPtrs(Subcommand):
+class GlaveReplayVkFuncPtrs(Subcommand):
     def generate_header(self):
         header_txt = []
         header_txt.append('#pragma once\n')
         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 "xgl.h"')
-        header_txt.append('#include "xglDbg.h"')
+        header_txt.append('#include "vulkan.h"')
+        header_txt.append('#include "vkDbg.h"')
         header_txt.append('#if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)')
-        header_txt.append('#include "xglWsiX11Ext.h"')
+        header_txt.append('#include "vkWsiX11Ext.h"')
         header_txt.append('#else')
-        header_txt.append('#include "xglWsiWinExt.h"')
+        header_txt.append('#include "vkWsiWinExt.h"')
         header_txt.append('#endif')
 
     def generate_body(self):
@@ -2306,12 +2071,12 @@
         header_txt.append('#include <map>')
         header_txt.append('#include <vector>')
         header_txt.append('#include <string>')
-        header_txt.append('#include "xgl.h"')
-        header_txt.append('#include "xglDbg.h"')
+        header_txt.append('#include "vulkan.h"')
+        header_txt.append('#include "vkDbg.h"')
         header_txt.append('#if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)')
-        header_txt.append('#include "xglWsiX11Ext.h"')
+        header_txt.append('#include "vkWsiX11Ext.h"')
         header_txt.append('#else')
-        header_txt.append('#include "xglWsiWinExt.h"')
+        header_txt.append('#include "vkWsiWinExt.h"')
         header_txt.append('#endif')
         return "\n".join(header_txt)
 
@@ -2323,8 +2088,8 @@
 class GlaveReplayC(Subcommand):
     def generate_header(self):
         header_txt = []
-        header_txt.append('#include "glvreplay_xgl_xglreplay.h"\n')
-        header_txt.append('#include "glvreplay_xgl.h"\n')
+        header_txt.append('#include "glvreplay_vk_vkreplay.h"\n')
+        header_txt.append('#include "glvreplay_vk.h"\n')
         header_txt.append('#include "glvreplay_main.h"\n')
         header_txt.append('#include <algorithm>')
         header_txt.append('#include <queue>')
@@ -2334,8 +2099,8 @@
         header_txt.append('#include "glv_vk_vkdbg_structs.h"')
         header_txt.append('#include "glv_vk_vkwsix11ext_structs.h"')
         header_txt.append('#include "glv_vk_packet_id.h"')
-        header_txt.append('#include "xgl_enum_string_helper.h"\n}\n')
-        header_txt.append('#define APP_NAME "glvreplay_xgl"')
+        header_txt.append('#include "vk_enum_string_helper.h"\n}\n')
+        header_txt.append('#define APP_NAME "glvreplay_vk"')
         header_txt.append('#define IDI_ICON 101\n')
 
         return "\n".join(header_txt)
@@ -2358,7 +2123,7 @@
             "glave-dbg-trace-h" : GlaveDbgHeader,
             "glave-dbg-trace-c" : GlaveDbgC,
             "glave-dbg-trace-structs" : GlaveDbgStructs,
-            "glave-replay-xgl-funcs" : GlaveReplayXglFuncPtrs,
+            "glave-replay-vk-funcs" : GlaveReplayVkFuncPtrs,
             "glave-replay-obj-mapper-h" : GlaveReplayObjMapperHeader,
             "glave-replay-c" : GlaveReplayC,
     }
diff --git a/tools/glave/src/glv_extensions/glvdebug_vk/CMakeLists.txt b/tools/glave/src/glv_extensions/glvdebug_vk/CMakeLists.txt
index 89d5fa9..70f682d 100644
--- a/tools/glave/src/glv_extensions/glvdebug_vk/CMakeLists.txt
+++ b/tools/glave/src/glv_extensions/glvdebug_vk/CMakeLists.txt
@@ -3,7 +3,7 @@
 # this project is currently only available on Linux
 #if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 
-project(glvdebug_xgl)
+project(glvdebug_vk)
 
 include("${SRC_DIR}/build_options.cmake")
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/../../..)
@@ -13,7 +13,7 @@
 if(NOT Qt5_FOUND)
 # After Qt5.3 is installed, you may need to add the following to the cmake command line:
 # -DQt5_DIR=/home/<username>/Qt/5.3/gcc_64/lib/cmake/Qt5
-message(WARNING "WARNING: glvdebug_xgl will be excluded because Qt5 was not found.")
+message(WARNING "WARNING: glvdebug_vk will be excluded because Qt5 was not found.")
 else()
 
 include_directories(${CMAKE_CURRENT_BINARY_DIR} ${SRC_DIR}/../../../include)
@@ -24,36 +24,36 @@
                           ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glv_vk_vk_structs.h
                           ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glv_vk_vkwsix11ext_structs.h
                           ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glv_vk_vkdbg_structs.h
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/xgl_enum_string_helper.h
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/vk_enum_string_helper.h
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-packet-id > glv_vk_packet_id.h
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-core-structs > glv_vk_vk_structs.h
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-wsi-trace-structs > glv_vk_vkwsix11ext_structs.h
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-dbg-trace-structs > glv_vk_vkdbg_structs.h
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../../../xgl_helper.py --gen_enum_string_helper ${SRC_DIR}/../../../include/xgl.h --abs_out_dir ${CMAKE_CURRENT_SOURCE_DIR}/codegen
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../../../vk_helper.py --gen_enum_string_helper ${SRC_DIR}/../../../include/vulkan.h --abs_out_dir ${CMAKE_CURRENT_SOURCE_DIR}/codegen
                    DEPENDS ${SRC_DIR}/../scripts/vk_generate.py
-                           ${SRC_DIR}/../../../xgl_helper.py
+                           ${SRC_DIR}/../../../vk_helper.py
                    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/codegen)
 
 if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
-    set(PATH_TO_WIN_XGL ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/${CMAKE_CFG_INTDIR})
+    set(PATH_TO_WIN_VULKAN ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/${CMAKE_CFG_INTDIR})
     set(OS_REPLAYER_LIBS
-        ${PATH_TO_WIN_XGL}/XGL.lib
+        ${PATH_TO_WIN_VULKAN}/vulkan.lib
 )
 endif()
 
 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 set(OS_REPLAYER_LIBS
-    ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/libXGL.so
+    ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/libvulkan.so
     xcb
 )
 endif()
 
 set(SRC_LIST
     ${SRC_LIST}
-    glvdebug_xgl.cpp
-    glvdebug_xgl_settings.cpp
-    glvdebug_xgl_qcontroller.cpp
-    glvdebug_xgl_qfile_model.cpp
+    glvdebug_vk.cpp
+    glvdebug_vk_settings.cpp
+    glvdebug_vk_qcontroller.cpp
+    glvdebug_vk_qfile_model.cpp
     ${SRC_DIR}/glvdebug/glvdebug_QReplayWorker.cpp
     ${SRC_DIR}/glvreplay/glvreplay_factory.cpp
 )
@@ -61,9 +61,9 @@
 # This should only contain headers that define a QOBJECT
 # Typically that means just headers for UI objects
 set(UI_HEADER_LIST
-    glvdebug_xgl_qcontroller.h
-    glvdebug_xgl_qfile_model.h
-    glvdebug_xgl_qgroupframesproxymodel.h
+    glvdebug_vk_qcontroller.h
+    glvdebug_vk_qfile_model.h
+    glvdebug_vk_qgroupframesproxymodel.h
     ${SRC_DIR}/glvdebug/glvdebug_qgroupthreadsproxymodel.h
     ${SRC_DIR}/glvdebug/glvdebug_qimageviewer.h
     ${SRC_DIR}/glvdebug/glvdebug_qsvgviewer.h
@@ -73,8 +73,8 @@
 )
 
 set(HDR_LIST
-    glvdebug_xgl_settings.h
-    glvdebug_xgl_qgroupframesproxymodel.h
+    glvdebug_vk_settings.h
+    glvdebug_vk_qgroupframesproxymodel.h
     codegen/glv_vk_packet_id.h
     codegen/glv_vk_vk_structs.h
     codegen/glv_vk_vkwsix11ext_structs.h
diff --git a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk.cpp b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk.cpp
index a04fea8..ac8654c 100755
--- a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk.cpp
+++ b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk.cpp
@@ -21,13 +21,13 @@
  * THE SOFTWARE.

  *

  *************************************************************************/

-#include "glvdebug_xgl_qcontroller.h"

-#include "glvdebug_xgl_settings.h"

+#include "glvdebug_vk_qcontroller.h"

+#include "glvdebug_vk_settings.h"

 #include "glvdebug_controller.h"

 

-static glvdebug_xgl_QController* s_pQController;

+static glvdebug_vk_QController* s_pQController;

 

-#define CREATE_CONTROLLER() if(s_pQController == NULL) { s_pQController = new glvdebug_xgl_QController(); }

+#define CREATE_CONTROLLER() if(s_pQController == NULL) { s_pQController = new glvdebug_vk_QController(); }

 

 extern "C"

 {

@@ -35,7 +35,7 @@
 {

     CREATE_CONTROLLER()

 

-    return &g_xglDebugSettingGroup;

+    return &g_vkDebugSettingGroup;

 }

 

 GLVTRACER_EXPORT void GLVTRACER_CDECL glvdebug_controller_update_from_settings(glv_SettingGroup* pSettingGroups, unsigned int numSettingGroups)

diff --git a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qcontroller.cpp b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qcontroller.cpp
index c3e12a2..e599806 100644
--- a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qcontroller.cpp
+++ b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qcontroller.cpp
@@ -26,8 +26,8 @@
 #include "glv_vk_packet_id.h"
 }
 
-#include "glvdebug_xgl_settings.h"
-#include "glvdebug_xgl_qcontroller.h"
+#include "glvdebug_vk_settings.h"
+#include "glvdebug_vk_qcontroller.h"
 
 #include <assert.h>
 #include <QFileInfo>
@@ -39,7 +39,7 @@
 #include "glvdebug_view.h"
 #include "glvreplay_seq.h"
 
-glvdebug_xgl_QController::glvdebug_xgl_QController()
+glvdebug_vk_QController::glvdebug_vk_QController()
     : m_pView(NULL),
       m_pTraceFileInfo(NULL),
       m_pDrawStateDiagram(NULL),
@@ -48,26 +48,26 @@
       m_pTraceFileModel(NULL)
 {
     initialize_default_settings();
-    glv_SettingGroup_reset_defaults(&g_xglDebugSettingGroup);
+    glv_SettingGroup_reset_defaults(&g_vkDebugSettingGroup);
 }
 
-glvdebug_xgl_QController::~glvdebug_xgl_QController()
+glvdebug_vk_QController::~glvdebug_vk_QController()
 {
 }
 
-glv_trace_packet_header* glvdebug_xgl_QController::InterpretTracePacket(glv_trace_packet_header* pHeader)
+glv_trace_packet_header* glvdebug_vk_QController::InterpretTracePacket(glv_trace_packet_header* pHeader)
 {
-    // Attempt to interpret the packet as an XGL packet
-    glv_trace_packet_header* pInterpretedHeader = interpret_trace_packet_xgl(pHeader);
+    // Attempt to interpret the packet as a Vulkan packet
+    glv_trace_packet_header* pInterpretedHeader = interpret_trace_packet_vk(pHeader);
     if (pInterpretedHeader == NULL)
     {
-        glv_LogWarn("Unrecognized XGL packet_id: %u\n", pHeader->packet_id);
+        glv_LogWarn("Unrecognized Vulkan packet_id: %u\n", pHeader->packet_id);
     }
 
     return pInterpretedHeader;
 }
 
-bool glvdebug_xgl_QController::LoadTraceFile(glvdebug_trace_file_info* pTraceFileInfo, glvdebug_view* pView)
+bool glvdebug_vk_QController::LoadTraceFile(glvdebug_trace_file_info* pTraceFileInfo, glvdebug_view* pView)
 {
     assert(pTraceFileInfo != NULL);
     assert(pView != NULL);
@@ -80,9 +80,9 @@
     {
         // load available replayers
         if (!m_replayWorker.load_replayers(pTraceFileInfo, m_pReplayWidget->GetReplayWindow(),
-            g_xglDebugSettings.replay_window_width,
-            g_xglDebugSettings.replay_window_height,
-            g_xglDebugSettings.separate_replay_window))
+            g_vkDebugSettings.replay_window_width,
+            g_vkDebugSettings.replay_window_height,
+            g_vkDebugSettings.separate_replay_window))
         {
             m_pView->output_error("Failed to load necessary replayers.");
             delete m_pReplayWidget;
@@ -105,7 +105,7 @@
     }
 
     assert(m_pTraceFileModel == NULL);
-    m_pTraceFileModel = new glvdebug_xgl_QFileModel(NULL, pTraceFileInfo);
+    m_pTraceFileModel = new glvdebug_vk_QFileModel(NULL, pTraceFileInfo);
     updateCallTreeBasedOnSettings();
 
     deleteStateDumps();
@@ -113,14 +113,14 @@
     return true;
 }
 
-void glvdebug_xgl_QController::updateCallTreeBasedOnSettings()
+void glvdebug_vk_QController::updateCallTreeBasedOnSettings()
 {
     if (m_pTraceFileModel == NULL)
     {
         return;
     }
 
-    if (g_xglDebugSettings.groupByFrame)
+    if (g_vkDebugSettings.groupByFrame)
     {
         if (m_groupByFramesProxy.sourceModel() != m_pTraceFileModel)
         {
@@ -128,7 +128,7 @@
         }
         m_pView->set_calltree_model(m_pTraceFileModel, &m_groupByFramesProxy);
     }
-    else if (g_xglDebugSettings.groupByThread)
+    else if (g_vkDebugSettings.groupByThread)
     {
         if (m_groupByThreadsProxy.sourceModel() != m_pTraceFileModel)
         {
@@ -142,7 +142,7 @@
     }
 }
 
-void glvdebug_xgl_QController::deleteStateDumps() const
+void glvdebug_vk_QController::deleteStateDumps() const
 {
     QFile::remove("pipeline_dump.dot");
     QFile::remove("pipeline_dump.svg");
@@ -150,7 +150,7 @@
     QFile::remove("cb_dump.svg");
 }
 
-void glvdebug_xgl_QController::setStateWidgetsEnabled(bool bEnabled)
+void glvdebug_vk_QController::setStateWidgetsEnabled(bool bEnabled)
 {
     if(m_pDrawStateDiagram != NULL)
     {
@@ -163,7 +163,7 @@
     }
 }
 
-void glvdebug_xgl_QController::onReplayStarted()
+void glvdebug_vk_QController::onReplayStarted()
 {
     m_pView->output_message(QString("Replay Started"));
     deleteStateDumps();
@@ -171,7 +171,7 @@
     m_pView->on_replay_state_changed(true);
 }
 
-void glvdebug_xgl_QController::onReplayPaused(uint64_t packetIndex)
+void glvdebug_vk_QController::onReplayPaused(uint64_t packetIndex)
 {
     m_pView->output_message(QString("Replay Paused at packet index %1").arg(packetIndex));
     m_pView->on_replay_state_changed(false);
@@ -181,11 +181,11 @@
     m_pView->select_call_at_packet_index(packetIndex);
 
     // Dump state data from the replayer
-    glv_replay::glv_trace_packet_replay_library* pXglReplayer = m_replayWorker.getReplayer(GLV_TID_XGL);
-    if (pXglReplayer != NULL)
+    glv_replay::glv_trace_packet_replay_library* pVkReplayer = m_replayWorker.getReplayer(GLV_TID_VULKAN);
+    if (pVkReplayer != NULL)
     {
         int err;
-        err = pXglReplayer->Dump();
+        err = pVkReplayer->Dump();
         if (err)
         {
             m_pView->output_warning("Replayer couldn't output state data.");
@@ -244,7 +244,7 @@
     }
 }
 
-void glvdebug_xgl_QController::onReplayContinued()
+void glvdebug_vk_QController::onReplayContinued()
 {
     m_pView->output_message(QString("Replay Continued"));
     deleteStateDumps();
@@ -252,7 +252,7 @@
     m_pView->on_replay_state_changed(true);
 }
 
-void glvdebug_xgl_QController::onReplayStopped(uint64_t packetIndex)
+void glvdebug_vk_QController::onReplayStopped(uint64_t packetIndex)
 {
     m_pView->output_message(QString("Replay Stopped at packet index %1").arg(packetIndex));
     m_pView->on_replay_state_changed(false);
@@ -263,7 +263,7 @@
     m_pView->select_call_at_packet_index(0);
 }
 
-void glvdebug_xgl_QController::onReplayFinished(uint64_t packetIndex)
+void glvdebug_vk_QController::onReplayFinished(uint64_t packetIndex)
 {
     m_pView->output_message(QString("Replay Finished"));
     m_pView->on_replay_state_changed(false);
@@ -273,39 +273,39 @@
     m_pView->select_call_at_packet_index(packetIndex);
 }
 
-void glvdebug_xgl_QController::OnOutputMessage(const QString& msg)
+void glvdebug_vk_QController::OnOutputMessage(const QString& msg)
 {
     m_pView->output_message(msg);
 }
 
-void glvdebug_xgl_QController::OnOutputError(const QString& msg)
+void glvdebug_vk_QController::OnOutputError(const QString& msg)
 {
     m_pView->output_error(msg);
 }
 
-void glvdebug_xgl_QController::OnOutputWarning(const QString& msg)
+void glvdebug_vk_QController::OnOutputWarning(const QString& msg)
 {
     m_pView->output_warning(msg);
 }
 
-void glvdebug_xgl_QController::onSettingsUpdated(glv_SettingGroup *pGroups, unsigned int numGroups)
+void glvdebug_vk_QController::onSettingsUpdated(glv_SettingGroup *pGroups, unsigned int numGroups)
 {
-    glv_SettingGroup_Apply_Overrides(&g_xglDebugSettingGroup, pGroups, numGroups);
+    glv_SettingGroup_Apply_Overrides(&g_vkDebugSettingGroup, pGroups, numGroups);
 
-    m_replayWorker.setPrintReplayMessages(g_xglDebugSettings.printReplayInfoMsgs,
-                                          g_xglDebugSettings.printReplayWarningMsgs,
-                                          g_xglDebugSettings.printReplayErrorMsgs);
+    m_replayWorker.setPrintReplayMessages(g_vkDebugSettings.printReplayInfoMsgs,
+                                          g_vkDebugSettings.printReplayWarningMsgs,
+                                          g_vkDebugSettings.printReplayErrorMsgs);
 
-    m_replayWorker.setPauseOnReplayMessages(g_xglDebugSettings.pauseOnReplayInfo,
-                                            g_xglDebugSettings.pauseOnReplayWarning,
-                                            g_xglDebugSettings.pauseOnReplayError);
+    m_replayWorker.setPauseOnReplayMessages(g_vkDebugSettings.pauseOnReplayInfo,
+                                            g_vkDebugSettings.pauseOnReplayWarning,
+                                            g_vkDebugSettings.pauseOnReplayError);
 
     m_replayWorker.onSettingsUpdated(pGroups, numGroups);
 
     updateCallTreeBasedOnSettings();
 }
 
-void glvdebug_xgl_QController::UnloadTraceFile(void)
+void glvdebug_vk_QController::UnloadTraceFile(void)
 {
     if (m_pView != NULL)
     {
diff --git a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qcontroller.h b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qcontroller.h
index fb36d8f..acd2dab 100644
--- a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qcontroller.h
+++ b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qcontroller.h
@@ -21,26 +21,26 @@
  * THE SOFTWARE.
  *
  *************************************************************************/
-#ifndef GLVDEBUG_XGL_QCONTROLLER_H
-#define GLVDEBUG_XGL_QCONTROLLER_H
+#ifndef GLVDEBUG_VK_QCONTROLLER_H
+#define GLVDEBUG_VK_QCONTROLLER_H
 
 #include "glv_trace_packet_identifiers.h"
-#include "glvdebug_xgl_qgroupframesproxymodel.h"
+#include "glvdebug_vk_qgroupframesproxymodel.h"
 #include "glvdebug_qgroupthreadsproxymodel.h"
 #include "glvdebug_qsvgviewer.h"
 #include "glvdebug_QReplayWidget.h"
 #include "glvdebug_QReplayWorker.h"
-#include "glvdebug_xgl_qfile_model.h"
+#include "glvdebug_vk_qfile_model.h"
 #include <QObject>
 #include <QLabel>
 #include <QScrollArea>
 
-class glvdebug_xgl_QController : public QObject
+class glvdebug_vk_QController : public QObject
 {
     Q_OBJECT
 public:
-    glvdebug_xgl_QController();
-    virtual ~glvdebug_xgl_QController();
+    glvdebug_vk_QController();
+    virtual ~glvdebug_vk_QController();
 
     glv_trace_packet_header* InterpretTracePacket(glv_trace_packet_header* pHeader);
     bool LoadTraceFile(glvdebug_trace_file_info* pTraceFileInfo, glvdebug_view* pView);
@@ -72,8 +72,8 @@
     glvdebug_qsvgviewer* m_pDrawStateDiagram;
     glvdebug_qsvgviewer* m_pCommandBuffersDiagram;
     glvdebug_QReplayWidget* m_pReplayWidget;
-    glvdebug_xgl_QFileModel* m_pTraceFileModel;
-    glvdebug_xgl_QGroupFramesProxyModel m_groupByFramesProxy;
+    glvdebug_vk_QFileModel* m_pTraceFileModel;
+    glvdebug_vk_QGroupFramesProxyModel m_groupByFramesProxy;
     glvdebug_QGroupThreadsProxyModel m_groupByThreadsProxy;
 
     void setStateWidgetsEnabled(bool bEnabled);
@@ -81,4 +81,4 @@
     void deleteStateDumps() const;
 };
 
-#endif // GLVDEBUG_XGL_QCONTROLLER_H
+#endif // GLVDEBUG_VK_QCONTROLLER_H
diff --git a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.cpp b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.cpp
index d62f8d4..f6645c8 100644
--- a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.cpp
+++ b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.cpp
@@ -27,18 +27,18 @@
 #include "glv_vk_packet_id.h"
 }
 
-#include "glvdebug_xgl_qfile_model.h"
+#include "glvdebug_vk_qfile_model.h"
 
-glvdebug_xgl_QFileModel::glvdebug_xgl_QFileModel(QObject* parent, glvdebug_trace_file_info* pTraceFileInfo)
+glvdebug_vk_QFileModel::glvdebug_vk_QFileModel(QObject* parent, glvdebug_trace_file_info* pTraceFileInfo)
         : glvdebug_QTraceFileModel(parent, pTraceFileInfo)
 {
 }
 
-glvdebug_xgl_QFileModel::~glvdebug_xgl_QFileModel()
+glvdebug_vk_QFileModel::~glvdebug_vk_QFileModel()
 {
 }
 
-QString glvdebug_xgl_QFileModel::get_packet_string(const glv_trace_packet_header* pHeader) const
+QString glvdebug_vk_QFileModel::get_packet_string(const glv_trace_packet_header* pHeader) const
 {
     if (pHeader->packet_id < GLV_TPI_BEGIN_API_HERE)
     {
@@ -46,34 +46,32 @@
     }
     else
     {
-        QString packetString = stringify_xgl_packet_id((const enum GLV_TRACE_PACKET_ID_XGL) pHeader->packet_id, pHeader);
-        // TODO: temporarily replace xgl with vk for demo purposes.
-        return packetString.replace("xgl", "vk").replace("XGL", "VK");
+        QString packetString = stringify_vk_packet_id((const enum GLV_TRACE_PACKET_ID_VK) pHeader->packet_id, pHeader);
     }
 }
 
-bool glvdebug_xgl_QFileModel::isDrawCall(const GLV_TRACE_PACKET_ID packetId) const
+bool glvdebug_vk_QFileModel::isDrawCall(const GLV_TRACE_PACKET_ID packetId) const
 {
     // TODO : Update this based on latest API updates
     bool isDraw = false;
-    switch((GLV_TRACE_PACKET_ID_XGL)packetId)
+    switch((GLV_TRACE_PACKET_ID_VK)packetId)
     {
-        case GLV_TPI_XGL_xglCmdDraw:
-        case GLV_TPI_XGL_xglCmdDrawIndexed:
-        case GLV_TPI_XGL_xglCmdDrawIndirect:
-        case GLV_TPI_XGL_xglCmdDrawIndexedIndirect:
-        case GLV_TPI_XGL_xglCmdDispatch:
-        case GLV_TPI_XGL_xglCmdDispatchIndirect:
-        case GLV_TPI_XGL_xglCmdCopyBuffer:
-        case GLV_TPI_XGL_xglCmdCopyImage:
-        case GLV_TPI_XGL_xglCmdCopyBufferToImage:
-        case GLV_TPI_XGL_xglCmdCopyImageToBuffer:
-        case GLV_TPI_XGL_xglCmdCloneImageData:
-        case GLV_TPI_XGL_xglCmdUpdateBuffer:
-        case GLV_TPI_XGL_xglCmdFillBuffer:
-        case GLV_TPI_XGL_xglCmdClearColorImage:
-        case GLV_TPI_XGL_xglCmdClearDepthStencil:
-        case GLV_TPI_XGL_xglCmdResolveImage:
+        case GLV_TPI_VK_vkCmdDraw:
+        case GLV_TPI_VK_vkCmdDrawIndexed:
+        case GLV_TPI_VK_vkCmdDrawIndirect:
+        case GLV_TPI_VK_vkCmdDrawIndexedIndirect:
+        case GLV_TPI_VK_vkCmdDispatch:
+        case GLV_TPI_VK_vkCmdDispatchIndirect:
+        case GLV_TPI_VK_vkCmdCopyBuffer:
+        case GLV_TPI_VK_vkCmdCopyImage:
+        case GLV_TPI_VK_vkCmdCopyBufferToImage:
+        case GLV_TPI_VK_vkCmdCopyImageToBuffer:
+        case GLV_TPI_VK_vkCmdCloneImageData:
+        case GLV_TPI_VK_vkCmdUpdateBuffer:
+        case GLV_TPI_VK_vkCmdFillBuffer:
+        case GLV_TPI_VK_vkCmdClearColorImage:
+        case GLV_TPI_VK_vkCmdClearDepthStencil:
+        case GLV_TPI_VK_vkCmdResolveImage:
         {
             isDraw = true;
             break;
diff --git a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.h b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.h
index 5e4e590..7d4a0d6 100644
--- a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.h
+++ b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qfile_model.h
@@ -28,12 +28,12 @@
 #include "glvdebug_QTraceFileModel.h"
 #include <QObject>
 
-class glvdebug_xgl_QFileModel : public glvdebug_QTraceFileModel
+class glvdebug_vk_QFileModel : public glvdebug_QTraceFileModel
 {
     Q_OBJECT
 public:
-    glvdebug_xgl_QFileModel(QObject * parent, glvdebug_trace_file_info *);
-    virtual ~glvdebug_xgl_QFileModel();
+    glvdebug_vk_QFileModel(QObject * parent, glvdebug_trace_file_info *);
+    virtual ~glvdebug_vk_QFileModel();
 
     virtual QString get_packet_string(const glv_trace_packet_header* pHeader) const;
 
diff --git a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qgroupframesproxymodel.h b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qgroupframesproxymodel.h
index 1c448f4..8bb5ba3 100644
--- a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qgroupframesproxymodel.h
+++ b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_qgroupframesproxymodel.h
@@ -22,8 +22,8 @@
  * THE SOFTWARE.
  *
  **************************************************************************/
-#ifndef GLVDEBUG_XGL_QGROUPFRAMESPROXYMODEL_H
-#define GLVDEBUG_XGL_QGROUPFRAMESPROXYMODEL_H
+#ifndef GLVDEBUG_VK_QGROUPFRAMESPROXYMODEL_H
+#define GLVDEBUG_VK_QGROUPFRAMESPROXYMODEL_H
 
 #include "glv_vk_packet_id.h"
 
@@ -40,18 +40,18 @@
     QList<int> mapChildRowToSourceRow;
 };
 
-class glvdebug_xgl_QGroupFramesProxyModel : public QAbstractProxyModel
+class glvdebug_vk_QGroupFramesProxyModel : public QAbstractProxyModel
 {
     Q_OBJECT
 public:
-    glvdebug_xgl_QGroupFramesProxyModel(QObject *parent = 0)
+    glvdebug_vk_QGroupFramesProxyModel(QObject *parent = 0)
         : QAbstractProxyModel(parent),
           m_curFrameCount(0)
     {
         buildGroups();
     }
 
-    virtual ~glvdebug_xgl_QGroupFramesProxyModel()
+    virtual ~glvdebug_vk_QGroupFramesProxyModel()
     {
     }
 
@@ -350,7 +350,7 @@
                 QModelIndex tmpIndex = sourceModel()->index(srcRow, 0);
                 assert(tmpIndex.isValid());
                 glv_trace_packet_header* pHeader = (glv_trace_packet_header*)tmpIndex.internalPointer();
-                if (pHeader != NULL && pHeader->tracer_id == GLV_TID_XGL && pHeader->packet_id == GLV_TPI_XGL_xglWsiX11QueuePresent)
+                if (pHeader != NULL && pHeader->tracer_id == GLV_TID_VULKAN && pHeader->packet_id == GLV_TPI_VK_vkWsiX11QueuePresent)
                 {
                     pCurFrame = addNewFrame();
                 }
@@ -359,4 +359,4 @@
     }
 };
 
-#endif // GLVDEBUG_XGL_QGROUPFRAMESPROXYMODEL_H
+#endif // GLVDEBUG_VK_QGROUPFRAMESPROXYMODEL_H
diff --git a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_settings.cpp b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_settings.cpp
index 57a9ce0..36f2d59 100644
--- a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_settings.cpp
+++ b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_settings.cpp
@@ -22,45 +22,45 @@
  *
  *************************************************************************/
 
-#include "glvdebug_xgl_settings.h"
+#include "glvdebug_vk_settings.h"
 
 // declared as extern in header
-glvdebug_xgl_settings g_xglDebugSettings;
-static glvdebug_xgl_settings s_defaultXglSettings;
+glvdebug_vk_settings g_vkDebugSettings;
+static glvdebug_vk_settings s_defaultVkSettings;
 
 glv_SettingInfo g_settings_info[] =
 {
-    { "ri", "PrintReplayInfoMsgs", GLV_SETTING_BOOL, &g_xglDebugSettings.printReplayInfoMsgs, &s_defaultXglSettings.printReplayInfoMsgs, TRUE, "Print info messages reported when replaying trace file."},
-    { "rw", "PrintReplayWarningMsgs", GLV_SETTING_BOOL, &g_xglDebugSettings.printReplayWarningMsgs, &s_defaultXglSettings.printReplayWarningMsgs, TRUE, "Print warning messages reported when replaying trace file."},
-    { "re", "PrintReplayErrorMsgs", GLV_SETTING_BOOL, &g_xglDebugSettings.printReplayErrorMsgs, &s_defaultXglSettings.printReplayErrorMsgs, TRUE, "Print error messages reported when replaying trace file."},
-    { "pi", "PauseOnReplayInfo", GLV_SETTING_BOOL, &g_xglDebugSettings.pauseOnReplayInfo, &s_defaultXglSettings.pauseOnReplayInfo, TRUE, "Pause replay if an info message is reported."},
-    { "pw", "PauseOnReplayWarning", GLV_SETTING_BOOL, &g_xglDebugSettings.pauseOnReplayWarning, &s_defaultXglSettings.pauseOnReplayWarning, TRUE, "Pause replay if a warning message is reported."},
-    { "pe", "PauseOnReplayError", GLV_SETTING_BOOL, &g_xglDebugSettings.pauseOnReplayError, &s_defaultXglSettings.pauseOnReplayError, TRUE, "Pause replay if an error message is reported."},
-    { "gf", "GroupByFrame", GLV_SETTING_BOOL, &g_xglDebugSettings.groupByFrame, &s_defaultXglSettings.groupByFrame, TRUE, "Group API calls by frame."},
-    { "gt", "GroupByThread", GLV_SETTING_BOOL, &g_xglDebugSettings.groupByThread, &s_defaultXglSettings.groupByThread, TRUE, "Group API calls by the CPU thread Id on which they executed."},
-    { "rw", "replay_window_width", GLV_SETTING_INT, &g_xglDebugSettings.replay_window_width, &s_defaultXglSettings.replay_window_width, TRUE, "Width of replay window on startup."},
-    { "rh", "replay_window_height", GLV_SETTING_INT, &g_xglDebugSettings.replay_window_height, &s_defaultXglSettings.replay_window_height, TRUE, "Height of replay window on startup."},
-    { "sr", "separate_replay_window", GLV_SETTING_BOOL, &g_xglDebugSettings.separate_replay_window, &s_defaultXglSettings.separate_replay_window, TRUE, "Use a separate replay window."},
+    { "ri", "PrintReplayInfoMsgs", GLV_SETTING_BOOL, &g_vkDebugSettings.printReplayInfoMsgs, &s_defaultVkSettings.printReplayInfoMsgs, TRUE, "Print info messages reported when replaying trace file."},
+    { "rw", "PrintReplayWarningMsgs", GLV_SETTING_BOOL, &g_vkDebugSettings.printReplayWarningMsgs, &s_defaultVkSettings.printReplayWarningMsgs, TRUE, "Print warning messages reported when replaying trace file."},
+    { "re", "PrintReplayErrorMsgs", GLV_SETTING_BOOL, &g_vkDebugSettings.printReplayErrorMsgs, &s_defaultVkSettings.printReplayErrorMsgs, TRUE, "Print error messages reported when replaying trace file."},
+    { "pi", "PauseOnReplayInfo", GLV_SETTING_BOOL, &g_vkDebugSettings.pauseOnReplayInfo, &s_defaultVkSettings.pauseOnReplayInfo, TRUE, "Pause replay if an info message is reported."},
+    { "pw", "PauseOnReplayWarning", GLV_SETTING_BOOL, &g_vkDebugSettings.pauseOnReplayWarning, &s_defaultVkSettings.pauseOnReplayWarning, TRUE, "Pause replay if a warning message is reported."},
+    { "pe", "PauseOnReplayError", GLV_SETTING_BOOL, &g_vkDebugSettings.pauseOnReplayError, &s_defaultVkSettings.pauseOnReplayError, TRUE, "Pause replay if an error message is reported."},
+    { "gf", "GroupByFrame", GLV_SETTING_BOOL, &g_vkDebugSettings.groupByFrame, &s_defaultVkSettings.groupByFrame, TRUE, "Group API calls by frame."},
+    { "gt", "GroupByThread", GLV_SETTING_BOOL, &g_vkDebugSettings.groupByThread, &s_defaultVkSettings.groupByThread, TRUE, "Group API calls by the CPU thread Id on which they executed."},
+    { "rw", "replay_window_width", GLV_SETTING_INT, &g_vkDebugSettings.replay_window_width, &s_defaultVkSettings.replay_window_width, TRUE, "Width of replay window on startup."},
+    { "rh", "replay_window_height", GLV_SETTING_INT, &g_vkDebugSettings.replay_window_height, &s_defaultVkSettings.replay_window_height, TRUE, "Height of replay window on startup."},
+    { "sr", "separate_replay_window", GLV_SETTING_BOOL, &g_vkDebugSettings.separate_replay_window, &s_defaultVkSettings.separate_replay_window, TRUE, "Use a separate replay window."},
 };
 
-glv_SettingGroup g_xglDebugSettingGroup =
+glv_SettingGroup g_vkDebugSettingGroup =
 {
-    "glvdebug_xgl",
+    "glvdebug_vk",
     sizeof(g_settings_info) / sizeof(g_settings_info[0]),
     &g_settings_info[0]
 };
 
 void initialize_default_settings()
 {
-    s_defaultXglSettings.printReplayInfoMsgs = FALSE;
-    s_defaultXglSettings.printReplayWarningMsgs = TRUE;
-    s_defaultXglSettings.printReplayErrorMsgs = TRUE;
-    s_defaultXglSettings.pauseOnReplayInfo = FALSE;
-    s_defaultXglSettings.pauseOnReplayWarning = FALSE;
-    s_defaultXglSettings.pauseOnReplayError = TRUE;
-    s_defaultXglSettings.groupByFrame = FALSE;
-    s_defaultXglSettings.groupByThread = FALSE;
-    s_defaultXglSettings.replay_window_width = 1024;
-    s_defaultXglSettings.replay_window_height = 768;
-    s_defaultXglSettings.separate_replay_window = FALSE;
+    s_defaultVkSettings.printReplayInfoMsgs = FALSE;
+    s_defaultVkSettings.printReplayWarningMsgs = TRUE;
+    s_defaultVkSettings.printReplayErrorMsgs = TRUE;
+    s_defaultVkSettings.pauseOnReplayInfo = FALSE;
+    s_defaultVkSettings.pauseOnReplayWarning = FALSE;
+    s_defaultVkSettings.pauseOnReplayError = TRUE;
+    s_defaultVkSettings.groupByFrame = FALSE;
+    s_defaultVkSettings.groupByThread = FALSE;
+    s_defaultVkSettings.replay_window_width = 1024;
+    s_defaultVkSettings.replay_window_height = 768;
+    s_defaultVkSettings.separate_replay_window = FALSE;
 };
diff --git a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_settings.h b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_settings.h
index 12e2796..f88c7bd 100644
--- a/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_settings.h
+++ b/tools/glave/src/glv_extensions/glvdebug_vk/glvdebug_vk_settings.h
@@ -21,14 +21,14 @@
  * THE SOFTWARE.
  *
  *************************************************************************/
-#ifndef GLVDEBUG_XGL_SETTINGS_H
-#define GLVDEBUG_XGL_SETTINGS_H
+#ifndef GLVDEBUG_VK_SETTINGS_H
+#define GLVDEBUG_VK_SETTINGS_H
 
 extern "C" {
 #include "glv_settings.h"
 }
 
-typedef struct glvdebug_xgl_settings
+typedef struct glvdebug_vk_settings
 {
     BOOL printReplayInfoMsgs;
     BOOL printReplayWarningMsgs;
@@ -41,12 +41,12 @@
     int replay_window_width;
     int replay_window_height;
     BOOL separate_replay_window;
-} glvdebug_xgl_settings;
+} glvdebug_vk_settings;
 
-extern glvdebug_xgl_settings g_xglDebugSettings;
-extern glv_SettingGroup g_xglDebugSettingGroup;
+extern glvdebug_vk_settings g_vkDebugSettings;
+extern glv_SettingGroup g_vkDebugSettingGroup;
 
 void initialize_default_settings();
 
-#endif // GLVDEBUG_XGL_SETTINGS_H
+#endif // GLVDEBUG_VK_SETTINGS_H
 
diff --git a/tools/glave/src/glv_extensions/glvreplay_vk/CMakeLists.txt b/tools/glave/src/glv_extensions/glvreplay_vk/CMakeLists.txt
index 28449c7..6cc469f 100644
--- a/tools/glave/src/glv_extensions/glvreplay_vk/CMakeLists.txt
+++ b/tools/glave/src/glv_extensions/glvreplay_vk/CMakeLists.txt
@@ -1,60 +1,60 @@
 cmake_minimum_required(VERSION 2.8)
 
-project(glvreplay_xgl)
+project(glvreplay_vk)
 
 include("${SRC_DIR}/build_options.cmake")
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/../../..)
 
-include_directories(${CMAKE_CURRENT_BINARY_DIR} ${SRC_DIR}/../../../include ${SRC_DIR}/../../../layers ${SRC_DIR}/glv_extensions/glvreplay_xgl)
+include_directories(${CMAKE_CURRENT_BINARY_DIR} ${SRC_DIR}/../../../include ${SRC_DIR}/../../../layers ${SRC_DIR}/glv_extensions/glvreplay_vk)
 
 file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/codegen)
 
 add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glv_vk_packet_id.h
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/xgl_enum_string_helper.h
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/vk_enum_string_helper.h
                           ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glv_vk_vk_structs.h
                           ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glv_vk_vkwsix11ext_structs.h
                           ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glv_vk_vkdbg_structs.h
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvreplay_xgl_func_ptrs.h
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvreplay_xgl_replay_gen.cpp
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvreplay_xgl_objmapper.h
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvreplay_vk_func_ptrs.h
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvreplay_vk_replay_gen.cpp
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvreplay_vk_objmapper.h
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-packet-id > glv_vk_packet_id.h
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-core-structs > glv_vk_vk_structs.h
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-wsi-trace-structs > glv_vk_vkwsix11ext_structs.h
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-dbg-trace-structs > glv_vk_vkdbg_structs.h
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-replay-xgl-funcs > glvreplay_xgl_func_ptrs.h
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-replay-c > glvreplay_xgl_replay_gen.cpp
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-replay-obj-mapper-h > glvreplay_xgl_objmapper.h
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../../../xgl_helper.py --gen_enum_string_helper ${SRC_DIR}/../../../include/xgl.h --abs_out_dir ${CMAKE_CURRENT_SOURCE_DIR}/codegen
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-replay-vk-funcs > glvreplay_vk_func_ptrs.h
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-replay-c > glvreplay_vk_replay_gen.cpp
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-replay-obj-mapper-h > glvreplay_vk_objmapper.h
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../../../vk_helper.py --gen_enum_string_helper ${SRC_DIR}/../../../include/vulkan.h --abs_out_dir ${CMAKE_CURRENT_SOURCE_DIR}/codegen
                    DEPENDS ${SRC_DIR}/../scripts/vk_generate.py
-                           ${SRC_DIR}/../../../xgl_helper.py
+                           ${SRC_DIR}/../../../vk_helper.py
                    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/codegen)
 
 if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
     set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXCB_NVIDIA")
     set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DXCB_NVIDIA")
-    set(PATH_TO_WIN_XGL ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/${CMAKE_CFG_INTDIR})
+    set(PATH_TO_WIN_VULKAN ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/${CMAKE_CFG_INTDIR})
     set(OS_REPLAYER_LIBS
-        ${PATH_TO_WIN_XGL}/XGL.lib
+        ${PATH_TO_WIN_VULKAN}/vulkan.lib
         xcb_nvidia
     )
 endif()
 
 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 set(OS_REPLAYER_LIBS
-    ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/libXGL.so
+    ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/libvulkan.so
     xcb
 )
 endif()
 
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DXGL_PROTOTYPES")
+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVK_PROTOTYPES")
 
 set(SRC_LIST
     ${SRC_LIST}
-    glvreplay_xgl.cpp
-    glvreplay_xgl_settings.cpp
-    glvreplay_xgl_xglreplay.cpp
-    glvreplay_xgl_xgldisplay.cpp
-    codegen/glvreplay_xgl_replay_gen.cpp
+    glvreplay_vk.cpp
+    glvreplay_vk_settings.cpp
+    glvreplay_vk_vkreplay.cpp
+    glvreplay_vk_vkdisplay.cpp
+    codegen/glvreplay_vk_replay_gen.cpp
 )
 
 set (HDR_LIST
@@ -62,13 +62,13 @@
     codegen/glv_vk_vk_structs.h
     codegen/glv_vk_vkwsix11ext_structs.h
     codegen/glv_vk_vkdbg_structs.h
-    codegen/xgl_enum_string_helper.h
-    glvreplay_xgl.h
-    glvreplay_xgl_settings.h
-    glvreplay_xgl_xgldisplay.h
-    glvreplay_xgl_xglreplay.h
-    codegen/glvreplay_xgl_func_ptrs.h
-    codegen/glvreplay_xgl_objmapper.h
+    codegen/vk_enum_string_helper.h
+    glvreplay_vk.h
+    glvreplay_vk_settings.h
+    glvreplay_vk_vkdisplay.h
+    glvreplay_vk_vkreplay.h
+    codegen/glvreplay_vk_func_ptrs.h
+    codegen/glvreplay_vk_objmapper.h
 )
 
 include_directories(
@@ -76,7 +76,7 @@
     ${SRC_DIR}/glvreplay
     ${SRC_DIR}/glvcommon
     ${SRC_DIR}/thirdparty
-    ${SRC_DIR}/glv_extensions/glvtrace_xgl
+    ${SRC_DIR}/glv_extensions/glvtrace_vk
 )
 
 add_library(${PROJECT_NAME} SHARED ${SRC_LIST} ${HDR_LIST})
@@ -91,7 +91,7 @@
 if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
     add_custom_command(TARGET ${PROJECT_NAME}
         POST_BUILD
-        COMMAND ${CMAKE_COMMAND} -E copy_if_different "${PATH_TO_WIN_XGL}/XGL.dll" $<TARGET_FILE_DIR:${PROJECT_NAME}>
+        COMMAND ${CMAKE_COMMAND} -E copy_if_different "${PATH_TO_WIN_VULKAN}/vulkan.dll" $<TARGET_FILE_DIR:${PROJECT_NAME}>
     )
 endif()
 
diff --git a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk.cpp b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk.cpp
index 4faa14c..4332826 100644
--- a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk.cpp
+++ b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk.cpp
@@ -22,23 +22,23 @@
  * THE SOFTWARE.
  *
  **************************************************************************/
-#include "glvreplay_xgl.h"
-#include "glvreplay_xgl_xglreplay.h"
+#include "glvreplay_vk.h"
+#include "glvreplay_vk_vkreplay.h"
 
 extern "C"
 {
 #include "glv_vk_packet_id.h"
 }
 
-xglReplay* g_pReplayer = NULL;
+vkReplay* g_pReplayer = NULL;
 GLV_CRITICAL_SECTION g_handlerLock;
-XGL_DBG_MSG_CALLBACK_FUNCTION g_fpDbgMsgCallback;
+VK_DBG_MSG_CALLBACK_FUNCTION g_fpDbgMsgCallback;
 glv_replay::GLV_DBG_MSG_CALLBACK_FUNCTION g_fpGlvCallback = NULL;
 
-static void XGLAPI xglErrorHandler(
-                                            XGL_DBG_MSG_TYPE     msgType,
-                                            XGL_VALIDATION_LEVEL validationLevel,
-                                            XGL_BASE_OBJECT      srcObject,
+static void VKAPI vkErrorHandler(
+                                            VK_DBG_MSG_TYPE     msgType,
+                                            VK_VALIDATION_LEVEL validationLevel,
+                                            VK_BASE_OBJECT      srcObject,
                                             size_t               location,
                                             int32_t              msgCode,
                                             const char*          pMsg,
@@ -46,7 +46,7 @@
 {
     glv_enter_critical_section(&g_handlerLock);
     switch (msgType) {
-        case XGL_DBG_MSG_ERROR:
+        case VK_DBG_MSG_ERROR:
             glv_LogError("Validation level %d with object %p, location %u returned msgCode %d and msg %s\n",
                          validationLevel, srcObject, location, msgCode, (char *) pMsg);
             g_pReplayer->push_validation_msg(validationLevel, srcObject, location, msgCode, (char *) pMsg);
@@ -55,8 +55,8 @@
                 g_fpGlvCallback(glv_replay::GLV_DBG_MSG_ERROR, pMsg);
             }
             break;
-        case XGL_DBG_MSG_WARNING:
-        case XGL_DBG_MSG_PERF_WARNING:
+        case VK_DBG_MSG_WARNING:
+        case VK_DBG_MSG_PERF_WARNING:
             //glv_LogWarn("Validation level %d with object %p, location %u returned msgCode %d and msg %s\n",
             //            validationLevel, srcObject, location, msgCode, (char *) pMsg);
             if (g_fpGlvCallback != NULL)
@@ -88,32 +88,32 @@
     static BOOL bFirstTime = TRUE;
     if (bFirstTime == TRUE)
     {
-        glv_SettingGroup_reset_defaults(&g_xglReplaySettingGroup);
+        glv_SettingGroup_reset_defaults(&g_vkReplaySettingGroup);
         bFirstTime = FALSE;
     }
 
-    return &g_xglReplaySettingGroup;
+    return &g_vkReplaySettingGroup;
 }
 
 GLVTRACER_EXPORT void GLVTRACER_CDECL UpdateFromSettings(glv_SettingGroup* pSettingGroups, unsigned int numSettingGroups)
 {
-    glv_SettingGroup_Apply_Overrides(&g_xglReplaySettingGroup, pSettingGroups, numSettingGroups);
+    glv_SettingGroup_Apply_Overrides(&g_vkReplaySettingGroup, pSettingGroups, numSettingGroups);
 }
 
 GLVTRACER_EXPORT int GLVTRACER_CDECL Initialize(glv_replay::Display* pDisplay, glvreplay_settings *pReplaySettings)
 {
     try
     {
-        g_pReplayer = new xglReplay(pReplaySettings);
+        g_pReplayer = new vkReplay(pReplaySettings);
     }
     catch (int e)
     {
-        glv_LogError("Failed to create xglReplay, probably out of memory. Error %d\n", e);
+        glv_LogError("Failed to create vkReplay, probably out of memory. Error %d\n", e);
         return -1;
     }
 
     glv_create_critical_section(&g_handlerLock);
-    g_fpDbgMsgCallback = xglErrorHandler;
+    g_fpDbgMsgCallback = vkErrorHandler;
     int result = g_pReplayer->init(*pDisplay);
     return result;
 }
@@ -130,11 +130,11 @@
 
 GLVTRACER_EXPORT glv_trace_packet_header* GLVTRACER_CDECL Interpret(glv_trace_packet_header* pPacket)
 {
-    // Attempt to interpret the packet as an XGL packet
-    glv_trace_packet_header* pInterpretedHeader = interpret_trace_packet_xgl(pPacket);
+    // Attempt to interpret the packet as a Vulkan packet
+    glv_trace_packet_header* pInterpretedHeader = interpret_trace_packet_vk(pPacket);
     if (pInterpretedHeader == NULL)
     {
-        glv_LogWarn("Unrecognized XGL packet_id: %u\n", pPacket->packet_id);
+        glv_LogWarn("Unrecognized Vulkan packet_id: %u\n", pPacket->packet_id);
     }
 
     return pInterpretedHeader;
diff --git a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk.h b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk.h
index ed6a417..107af11 100644
--- a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk.h
+++ b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk.h
@@ -25,8 +25,8 @@
 #pragma once
 #include "glvreplay_window.h"
 #include "glvreplay_factory.h"
-#include "glvreplay_xgl_settings.h"
-#include "xglDbg.h"
+#include "glvreplay_vk_settings.h"
+#include "vkDbg.h"
 
 extern "C"
 {
@@ -40,4 +40,4 @@
 GLVTRACER_EXPORT int GLVTRACER_CDECL Dump();
 }
 
-extern XGL_DBG_MSG_CALLBACK_FUNCTION g_fpDbgMsgCallback;
+extern VK_DBG_MSG_CALLBACK_FUNCTION g_fpDbgMsgCallback;
diff --git a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_settings.cpp b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_settings.cpp
index 5ceba76..52d7747 100644
--- a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_settings.cpp
+++ b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_settings.cpp
@@ -22,52 +22,52 @@
  * THE SOFTWARE.
  *
  **************************************************************************/
-#include <xglLayer.h>
+#include <vkLayer.h>
 
-#include "glvreplay_xgl_settings.h"
+#include "glvreplay_vk_settings.h"
 #include "layers_config.h"
 // declared as extern in header
-static glvreplay_xgl_settings s_defaultXglReplaySettings = { 1, "DrawState,ObjectTracker",
-                                                            STRINGIFY(XGL_DBG_LAYER_LEVEL_ERROR), STRINGIFY(XGL_DBG_LAYER_ACTION_CALLBACK),
-                                                            STRINGIFY(XGL_DBG_LAYER_LEVEL_ERROR), STRINGIFY(XGL_DBG_LAYER_ACTION_CALLBACK),
-                                                            STRINGIFY(XGL_DBG_LAYER_LEVEL_ERROR), STRINGIFY(XGL_DBG_LAYER_ACTION_CALLBACK)};
-glvreplay_xgl_settings g_xglReplaySettings;
+static glvreplay_vk_settings s_defaultVkReplaySettings = { 1, "DrawState,ObjectTracker",
+                                                            STRINGIFY(VK_DBG_LAYER_LEVEL_ERROR), STRINGIFY(VK_DBG_LAYER_ACTION_CALLBACK),
+                                                            STRINGIFY(VK_DBG_LAYER_LEVEL_ERROR), STRINGIFY(VK_DBG_LAYER_ACTION_CALLBACK),
+                                                            STRINGIFY(VK_DBG_LAYER_LEVEL_ERROR), STRINGIFY(VK_DBG_LAYER_ACTION_CALLBACK)};
+glvreplay_vk_settings g_vkReplaySettings;
 
 glv_SettingInfo g_settings_info[] =
 {
-    { "dl", "DebugLevel", GLV_SETTING_UINT, &g_xglReplaySettings.debugLevel, &s_defaultXglReplaySettings.debugLevel, FALSE, "Sets the Debug Level of the Mantle validation layers."},
-    { "e", "EnableLayers", GLV_SETTING_STRING, &g_xglReplaySettings.enableLayers, &s_defaultXglReplaySettings.enableLayers, TRUE, "Comma separated list of xgl layers to enable."},
-    { "dsrl", "DrawStateReportLevel", GLV_SETTING_STRING, &g_xglReplaySettings.drawStateReportLevel, &s_defaultXglReplaySettings.drawStateReportLevel, TRUE, "DrawState Layer reporting level"},
-    { "dsda", "DrawStateDebugAction", GLV_SETTING_STRING, &g_xglReplaySettings.drawStateDebugAction, &s_defaultXglReplaySettings.drawStateDebugAction, TRUE, "DrawState Layer debug action"},
-    { "mtrl", "MemTrackerReportLevel", GLV_SETTING_STRING, &g_xglReplaySettings.memTrackerReportLevel, &s_defaultXglReplaySettings.memTrackerReportLevel, TRUE, "MemTracker Layer reporting level"},
-    { "mtda", "MemTrackerDebugAction", GLV_SETTING_STRING, &g_xglReplaySettings.memTrackerDebugAction, &s_defaultXglReplaySettings.memTrackerDebugAction, TRUE, "MemTracker Layer debug action"},
-    { "dsrl", "ObjectTrackerReportLevel", GLV_SETTING_STRING, &g_xglReplaySettings.objectTrackerReportLevel, &s_defaultXglReplaySettings.objectTrackerReportLevel, TRUE, "ObjectTracker Layer reporting level"},
-    { "dsda", "ObjectTrackerDebugAction", GLV_SETTING_STRING, &g_xglReplaySettings.objectTrackerDebugAction, &s_defaultXglReplaySettings.objectTrackerDebugAction, TRUE, "ObjectTracker Layer debug action"},};
-glv_SettingGroup g_xglReplaySettingGroup =
+    { "dl", "DebugLevel", GLV_SETTING_UINT, &g_vkReplaySettings.debugLevel, &s_defaultVkReplaySettings.debugLevel, FALSE, "Sets the Debug Level of the Vulkan validation layers."},
+    { "e", "EnableLayers", GLV_SETTING_STRING, &g_vkReplaySettings.enableLayers, &s_defaultVkReplaySettings.enableLayers, TRUE, "Comma separated list of Vulkan layers to enable."},
+    { "dsrl", "DrawStateReportLevel", GLV_SETTING_STRING, &g_vkReplaySettings.drawStateReportLevel, &s_defaultVkReplaySettings.drawStateReportLevel, TRUE, "DrawState Layer reporting level"},
+    { "dsda", "DrawStateDebugAction", GLV_SETTING_STRING, &g_vkReplaySettings.drawStateDebugAction, &s_defaultVkReplaySettings.drawStateDebugAction, TRUE, "DrawState Layer debug action"},
+    { "mtrl", "MemTrackerReportLevel", GLV_SETTING_STRING, &g_vkReplaySettings.memTrackerReportLevel, &s_defaultVkReplaySettings.memTrackerReportLevel, TRUE, "MemTracker Layer reporting level"},
+    { "mtda", "MemTrackerDebugAction", GLV_SETTING_STRING, &g_vkReplaySettings.memTrackerDebugAction, &s_defaultVkReplaySettings.memTrackerDebugAction, TRUE, "MemTracker Layer debug action"},
+    { "dsrl", "ObjectTrackerReportLevel", GLV_SETTING_STRING, &g_vkReplaySettings.objectTrackerReportLevel, &s_defaultVkReplaySettings.objectTrackerReportLevel, TRUE, "ObjectTracker Layer reporting level"},
+    { "dsda", "ObjectTrackerDebugAction", GLV_SETTING_STRING, &g_vkReplaySettings.objectTrackerDebugAction, &s_defaultVkReplaySettings.objectTrackerDebugAction, TRUE, "ObjectTracker Layer debug action"},};
+glv_SettingGroup g_vkReplaySettingGroup =
 {
-    "glvreplay_xgl",
+    "glvreplay_vk",
     sizeof(g_settings_info) / sizeof(g_settings_info[0]),
     &g_settings_info[0]
 };
 
 void apply_layerSettings_overrides()
 {
-    setLayerOptionEnum("DrawStateReportLevel", g_xglReplaySettings.drawStateReportLevel);
-    setLayerOptionEnum("DrawStateDebugAction", g_xglReplaySettings.drawStateDebugAction);
-    setLayerOptionEnum("MemTrackerReportLevel", g_xglReplaySettings.memTrackerReportLevel);
-    setLayerOptionEnum("MemTrackerDebugAction", g_xglReplaySettings.memTrackerDebugAction);
-    setLayerOptionEnum("ObjectTrackerReportLevel", g_xglReplaySettings.objectTrackerReportLevel);
-    setLayerOptionEnum("ObjectTrackerDebugAction", g_xglReplaySettings.objectTrackerDebugAction);
+    setLayerOptionEnum("DrawStateReportLevel", g_vkReplaySettings.drawStateReportLevel);
+    setLayerOptionEnum("DrawStateDebugAction", g_vkReplaySettings.drawStateDebugAction);
+    setLayerOptionEnum("MemTrackerReportLevel", g_vkReplaySettings.memTrackerReportLevel);
+    setLayerOptionEnum("MemTrackerDebugAction", g_vkReplaySettings.memTrackerDebugAction);
+    setLayerOptionEnum("ObjectTrackerReportLevel", g_vkReplaySettings.objectTrackerReportLevel);
+    setLayerOptionEnum("ObjectTrackerDebugAction", g_vkReplaySettings.objectTrackerDebugAction);
 }
 
 char** get_enableLayers_list(unsigned int *pNumLayers)
 {
     char** pList = NULL;
-    size_t len = strlen(g_xglReplaySettings.enableLayers);
+    size_t len = strlen(g_vkReplaySettings.enableLayers);
     assert(pNumLayers != NULL);
     *pNumLayers = 0;
 
-    if (g_xglReplaySettings.enableLayers != NULL && len > 0)
+    if (g_vkReplaySettings.enableLayers != NULL && len > 0)
     {
         // The string contains 1 layer + another layer for each comma
         *pNumLayers = 1;
@@ -77,7 +77,7 @@
         // count number of commas to determine number of layers
         for (c = 0; c < len; c++)
         {
-            if (g_xglReplaySettings.enableLayers[c] == ',')
+            if (g_vkReplaySettings.enableLayers[c] == ',')
             {
                 (*pNumLayers)++;
             }
@@ -88,7 +88,7 @@
 
         // copy the entire string to the first element in the list to keep
         // the layer names localized in memory.
-        pList[0] = (char*)glv_allocate_and_copy(g_xglReplaySettings.enableLayers);
+        pList[0] = (char*)glv_allocate_and_copy(g_vkReplaySettings.enableLayers);
 
         // now walk the string and replace commas with NULL and record
         // the pointers in the pList array.
diff --git a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_settings.h b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_settings.h
index 2d92c12..4d1badf 100644
--- a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_settings.h
+++ b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_settings.h
@@ -22,17 +22,17 @@
  * THE SOFTWARE.
  *
  **************************************************************************/
-#ifndef GLVREPLAY_XGL_SETTINGS_H
-#define GLVREPLAY_XGL_SETTINGS_H
+#ifndef GLVREPLAY_VK_SETTINGS_H
+#define GLVREPLAY_VK_SETTINGS_H
 
 extern "C"
 {
 #include "glv_settings.h"
 }
 
-#include <xgl.h>
+#include <vulkan.h>
 
-typedef struct glvreplay_xgl_settings
+typedef struct glvreplay_vk_settings
 {
     uint32_t debugLevel;
     const char* enableLayers;
@@ -42,13 +42,13 @@
     const char* memTrackerDebugAction;
     const char* objectTrackerReportLevel;
     const char* objectTrackerDebugAction;
-} glvreplay_xgl_settings;
+} glvreplay_vk_settings;
 
-extern glvreplay_xgl_settings g_xglReplaySettings;
-extern glv_SettingGroup g_xglReplaySettingGroup;
+extern glvreplay_vk_settings g_vkReplaySettings;
+extern glv_SettingGroup g_vkReplaySettingGroup;
 
 void apply_layerSettings_overrides();
 char** get_enableLayers_list(unsigned int* pNumLayers);
 void release_enableLayer_list(char** pList);
 
-#endif // GLVREPLAY_XGL_SETTINGS_H
+#endif // GLVREPLAY_VK_SETTINGS_H
diff --git a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkdisplay.cpp b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkdisplay.cpp
index 7da4860..cab9d8b 100644
--- a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkdisplay.cpp
+++ b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkdisplay.cpp
@@ -23,10 +23,10 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-#include "glvreplay_xgl_xglreplay.h"
+#include "glvreplay_vk_vkreplay.h"
 
-xglDisplay::xglDisplay()
-    : m_initedXGL(false),
+vkDisplay::vkDisplay()
+    : m_initedVK(false),
     m_windowWidth(0),
     m_windowHeight(0)
 {
@@ -41,7 +41,7 @@
 #endif
 }
 
-xglDisplay::~xglDisplay()
+vkDisplay::~vkDisplay()
 {
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
     if (m_XcbWindow != 0)
@@ -55,31 +55,31 @@
 #endif
 }
 
-XGL_RESULT xglDisplay::init_xgl(unsigned int gpu_idx)
+VK_RESULT vkDisplay::init_vk(unsigned int gpu_idx)
 {
 #if 0
-    XGL_APPLICATION_INFO appInfo = {};
+    VK_APPLICATION_INFO appInfo = {};
     appInfo.pAppName = APP_NAME;
     appInfo.pEngineName = "";
-    appInfo.apiVersion = XGL_API_VERSION;
-    XGL_RESULT res = xglInitAndEnumerateGpus(&appInfo, NULL, XGL_MAX_PHYSICAL_GPUS, &m_gpuCount, m_gpus);
-    if ( res == XGL_SUCCESS ) {
+    appInfo.apiVersion = VK_API_VERSION;
+    VK_RESULT res = vkInitAndEnumerateGpus(&appInfo, NULL, VK_MAX_PHYSICAL_GPUS, &m_gpuCount, m_gpus);
+    if ( res == VK_SUCCESS ) {
         // retrieve the GPU information for all GPUs
         for( uint32_t gpu = 0; gpu < m_gpuCount; gpu++)
         {
             size_t gpuInfoSize = sizeof(m_gpuProps[0]);
 
             // get the GPU physical properties:
-            res = xglGetGpuInfo( m_gpus[gpu], XGL_INFO_TYPE_PHYSICAL_GPU_PROPERTIES, &gpuInfoSize, &m_gpuProps[gpu]);
-            if (res != XGL_SUCCESS)
+            res = vkGetGpuInfo( m_gpus[gpu], VK_INFO_TYPE_PHYSICAL_GPU_PROPERTIES, &gpuInfoSize, &m_gpuProps[gpu]);
+            if (res != VK_SUCCESS)
                 glv_LogWarn("Failed to retrieve properties for gpu[%d] result %d\n", gpu, res);
         }
-        res = XGL_SUCCESS;
+        res = VK_SUCCESS;
     } else if ((gpu_idx + 1) > m_gpuCount) {
-        glv_LogError("xglInitAndEnumerate number of gpus does not include requested index: num %d, requested %d\n", m_gpuCount, gpu_idx);
+        glv_LogError("vkInitAndEnumerate number of gpus does not include requested index: num %d, requested %d\n", m_gpuCount, gpu_idx);
         return -1;
     } else {
-        glv_LogError("xglInitAndEnumerate failed\n");
+        glv_LogError("vkInitAndEnumerate failed\n");
         return res;
     }
     // TODO add multi-gpu support always use gpu[gpu_idx] for now
@@ -88,51 +88,51 @@
     bool foundWSIExt = false;
     for( int ext = 0; ext < sizeof( extensions ) / sizeof( extensions[0] ); ext++)
     {
-        res = xglGetExtensionSupport( m_gpus[gpu_idx], extensions[ext] );
-        if (res == XGL_SUCCESS) {
+        res = vkGetExtensionSupport( m_gpus[gpu_idx], extensions[ext] );
+        if (res == VK_SUCCESS) {
             m_extensions.push_back((char *) extensions[ext]);
-            if (!strcmp(extensions[ext], "XGL_WSI_WINDOWS"))
+            if (!strcmp(extensions[ext], "VK_WSI_WINDOWS"))
                 foundWSIExt = true;
         }
     }
     if (!foundWSIExt) {
-        glv_LogError("XGL_WSI_WINDOWS extension not supported by gpu[%d]\n", gpu_idx);
-        return XGL_ERROR_INCOMPATIBLE_DEVICE;
+        glv_LogError("VK_WSI_WINDOWS extension not supported by gpu[%d]\n", gpu_idx);
+        return VK_ERROR_INCOMPATIBLE_DEVICE;
     }
     // TODO generalize this: use one universal queue for now
-    XGL_DEVICE_QUEUE_CREATE_INFO dqci = {};
+    VK_DEVICE_QUEUE_CREATE_INFO dqci = {};
     dqci.queueCount = 1;
-    dqci.queueType = XGL_QUEUE_UNIVERSAL;
+    dqci.queueType = VK_QUEUE_UNIVERSAL;
     // create the device enabling validation level 4
     const char * const * extNames = &m_extensions[0];
-    XGL_DEVICE_CREATE_INFO info = {};
+    VK_DEVICE_CREATE_INFO info = {};
     info.queueRecordCount = 1;
     info.pRequestedQueues = &dqci;
     info.extensionCount = static_cast <uint32_t> (m_extensions.size());
     info.ppEnabledExtensionNames = extNames;
-    info.flags = XGL_DEVICE_CREATE_VALIDATION;
-    info.maxValidationLevel = XGL_VALIDATION_LEVEL_4;
-    bool32_t xglTrue = XGL_TRUE;
-    res = xglDbgSetGlobalOption( XGL_DBG_OPTION_BREAK_ON_ERROR, sizeof( xglTrue ), &xglTrue );
-    if (res != XGL_SUCCESS)
+    info.flags = VK_DEVICE_CREATE_VALIDATION;
+    info.maxValidationLevel = VK_VALIDATION_LEVEL_4;
+    bool32_t vkTrue = VK_TRUE;
+    res = vkDbgSetGlobalOption( VK_DBG_OPTION_BREAK_ON_ERROR, sizeof( vkTrue ), &vkTrue );
+    if (res != VK_SUCCESS)
         glv_LogWarn("Could not set debug option break on error\n");
-    res = xglCreateDevice( m_gpus[0], &info, &m_dev[gpu_idx]);
+    res = vkCreateDevice( m_gpus[0], &info, &m_dev[gpu_idx]);
     return res;
 #else
-    return XGL_ERROR_INITIALIZATION_FAILED;
+    return VK_ERROR_INITIALIZATION_FAILED;
 #endif
 }
 
-int xglDisplay::init(const unsigned int gpu_idx)
+int vkDisplay::init(const unsigned int gpu_idx)
 {
     //m_gpuIdx = gpu_idx;
 #if 0
-    XGL_RESULT result = init_xgl(gpu_idx);
-    if (result != XGL_SUCCESS) {
-        glv_LogError("could not init xgl library");
+    VK_RESULT result = init_vk(gpu_idx);
+    if (result != VK_SUCCESS) {
+        glv_LogError("could not init vulkan library");
         return -1;
     } else {
-        m_initedXGL = true;
+        m_initedVK = true;
     }
 #endif
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
@@ -153,7 +153,7 @@
 }
 
 #if defined(WIN32)
-LRESULT WINAPI WindowProcXgl( HWND window, unsigned int msg, WPARAM wp, LPARAM lp)
+LRESULT WINAPI WindowProcVk( HWND window, unsigned int msg, WPARAM wp, LPARAM lp)
 {
     switch(msg)
     {
@@ -169,7 +169,7 @@
 }
 #endif
 
-int xglDisplay::set_window(glv_window_handle hWindow, unsigned int width, unsigned int height)
+int vkDisplay::set_window(glv_window_handle hWindow, unsigned int width, unsigned int height)
 {
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
     m_XcbWindow = hWindow;
@@ -181,7 +181,7 @@
     return 0;
 }
 
-int xglDisplay::create_window(const unsigned int width, const unsigned int height)
+int vkDisplay::create_window(const unsigned int width, const unsigned int height)
 {
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
 
@@ -209,7 +209,7 @@
     WNDCLASSEX wcex = {};
     wcex.cbSize = sizeof( WNDCLASSEX);
     wcex.style = CS_HREDRAW | CS_VREDRAW;
-    wcex.lpfnWndProc = WindowProcXgl;
+    wcex.lpfnWndProc = WindowProcVk;
     wcex.cbClsExtra = 0;
     wcex.cbWndExtra = 0;
     wcex.hInstance = GetModuleHandle(0);
@@ -242,7 +242,7 @@
 #endif
 }
 
-void xglDisplay::resize_window(const unsigned int width, const unsigned int height)
+void vkDisplay::resize_window(const unsigned int width, const unsigned int height)
 {
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
     if (width != m_windowWidth || height != m_windowHeight)
@@ -264,6 +264,6 @@
 #endif
 }
 
-void xglDisplay::process_event()
+void vkDisplay::process_event()
 {
 }
diff --git a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkdisplay.h b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkdisplay.h
index c59c954..f561a04 100644
--- a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkdisplay.h
+++ b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkdisplay.h
@@ -25,29 +25,29 @@
 
 #pragma once
 
-#include "glvreplay_xgl_xglreplay.h"
+#include "glvreplay_vk_vkreplay.h"
 
-class xglDisplay: public glv_replay::DisplayImp {
-friend class xglReplay;
+class vkDisplay: public glv_replay::DisplayImp {
+friend class vkReplay;
 public:
-    xglDisplay();
-    ~xglDisplay();
+    vkDisplay();
+    ~vkDisplay();
     int init(const unsigned int gpu_idx);
     int set_window(glv_window_handle hWindow, unsigned int width, unsigned int height);
     int create_window(const unsigned int width, const unsigned int height);
     void resize_window(const unsigned int width, const unsigned int height);
     void process_event();
-    // XGL_DEVICE get_device() { return m_dev[m_gpuIdx];}
+    // VK_DEVICE get_device() { return m_dev[m_gpuIdx];}
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
     xcb_window_t get_window_handle() { return m_XcbWindow; }
 #elif defined(WIN32)
     HWND get_window_handle() { return m_windowHandle; }
 #endif
 private:
-    XGL_RESULT init_xgl(const unsigned int gpu_idx);
-    bool m_initedXGL;
+    VK_RESULT init_vk(const unsigned int gpu_idx);
+    bool m_initedVK;
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
-    XGL_WSI_X11_CONNECTION_INFO m_WsiConnection;
+    VK_WSI_X11_CONNECTION_INFO m_WsiConnection;
     xcb_screen_t *m_pXcbScreen;
     xcb_window_t m_XcbWindow;
 #elif defined(WIN32)
@@ -58,14 +58,14 @@
     unsigned int m_frameNumber;
     std::vector<uint32_t> imageWidth;
     std::vector<uint32_t> imageHeight;
-    std::vector<XGL_IMAGE> imageHandles;
-    std::vector<XGL_GPU_MEMORY> imageMemory;
+    std::vector<VK_IMAGE> imageHandles;
+    std::vector<VK_GPU_MEMORY> imageMemory;
 #if 0
-    XGL_DEVICE m_dev[XGL_MAX_PHYSICAL_GPUS];
+    VK_DEVICE m_dev[VK_MAX_PHYSICAL_GPUS];
     uint32_t m_gpuCount;
     unsigned int m_gpuIdx;
-    XGL_PHYSICAL_GPU m_gpus[XGL_MAX_PHYSICAL_GPUS];
-    XGL_PHYSICAL_GPU_PROPERTIES m_gpuProps[XGL_MAX_PHYSICAL_GPUS];
+    VK_PHYSICAL_GPU m_gpus[VK_MAX_PHYSICAL_GPUS];
+    VK_PHYSICAL_GPU_PROPERTIES m_gpuProps[VK_MAX_PHYSICAL_GPUS];
 #endif
     std::vector<char *>m_extensions;
 };
diff --git a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkreplay.cpp b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkreplay.cpp
index cd4aae2..1ea8c6c 100644
--- a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkreplay.cpp
+++ b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkreplay.cpp
@@ -23,69 +23,70 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-#include "xgl.h"
-#include "glvreplay_xgl_xglreplay.h"
-#include "glvreplay_xgl.h"
-#include "glvreplay_xgl_settings.h"
-#include "glvreplay_xgl_write_ppm.h"
+#include "vulkan.h"
+#include "glvreplay_vk_vkreplay.h"
+#include "glvreplay_vk.h"
+#include "glvreplay_vk_settings.h"
+#include "glvreplay_vk_write_ppm.h"
 
 #include <algorithm>
 #include <queue>
 
 extern "C" {
 #include "glv_vk_vk_structs.h"
-#include "xgl_enum_string_helper.h"
+#include "vk_enum_string_helper.h"
 }
 
 glvreplay_settings *g_pReplaySettings;
 
 static const char* g_extensions[] =
 {
-        "XGL_WSI_WINDOWS",
-        "XGL_TIMER_QUEUE",
-        "XGL_GPU_TIMESTAMP_CALIBRATION",
-        "XGL_DMA_QUEUE",
-        "XGL_COMMAND_BUFFER_CONTROL_FLOW",
-        "XGL_COPY_OCCLUSION_QUERY_DATA",
-        "XGL_ADVANCED_MULTISAMPLING",
-        "XGL_BORDER_COLOR_PALETTE"
+        "VK_WSI_WINDOWS",
+        "VK_TIMER_QUEUE",
+        "VK_GPU_TIMESTAMP_CALIBRATION",
+        "VK_DMA_QUEUE",
+        "VK_COMMAND_BUFFER_CONTROL_FLOW",
+        "VK_COPY_OCCLUSION_QUERY_DATA",
+        "VK_ADVANCED_MULTISAMPLING",
+        "VK_BORDER_COLOR_PALETTE"
 };
 
-xglReplay::xglReplay(glvreplay_settings *pReplaySettings)
+vkReplay::vkReplay(glvreplay_settings *pReplaySettings)
 {
     g_pReplaySettings = pReplaySettings;
-    m_display = new xglDisplay();
+    m_display = new vkDisplay();
     m_pDSDump = NULL;
     m_pCBDump = NULL;
     m_pGlvSnapshotPrint = NULL;
+    m_objMapper.m_adjustForGPU = false;
     if (g_pReplaySettings && g_pReplaySettings->screenshotList) {
         process_screenshot_list(g_pReplaySettings->screenshotList);
     }
 }
 
-xglReplay::~xglReplay()
+vkReplay::~vkReplay()
 {
     delete m_display;
-    glv_platform_close_library(m_xglFuncs.m_libHandle);
+    glv_platform_close_library(m_vkFuncs.m_libHandle);
 }
 
-int xglReplay::init(glv_replay::Display & disp)
+int vkReplay::init(glv_replay::Display & disp)
 {
     int err;
 #if defined PLATFORM_LINUX
-    void * handle = dlopen("libXGL.so", RTLD_LAZY);
+    void * handle = dlopen("libvulkan.so", RTLD_LAZY);
 #else
-    HMODULE handle = LoadLibrary("xgl.dll" );
+    HMODULE handle = LoadLibrary("vulkan.dll" );
 #endif
 
     if (handle == NULL) {
-        glv_LogError("Failed to open xgl library.\n");
+        glv_LogError("Failed to open vulkan library.\n");
         return -1;
     }
-    m_xglFuncs.init_funcs(handle);
+    m_vkFuncs.init_funcs(handle);
     disp.set_implementation(m_display);
     if ((err = m_display->init(disp.get_gpu())) != 0) {
-        glv_LogError("Failed to init XGL display.\n");
+        glv_LogError("Failed to init vulkan display.\n");
         return err;
     }
     if (disp.get_window_handle() == 0)
@@ -106,23 +107,23 @@
     return 0;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::handle_replay_errors(const char* entrypointName, const XGL_RESULT resCall, const XGL_RESULT resTrace, const glv_replay::GLV_REPLAY_RESULT resIn)
+glv_replay::GLV_REPLAY_RESULT vkReplay::handle_replay_errors(const char* entrypointName, const VK_RESULT resCall, const VK_RESULT resTrace, const glv_replay::GLV_REPLAY_RESULT resIn)
 {
     glv_replay::GLV_REPLAY_RESULT res = resIn;
     if (resCall != resTrace) {
         glv_LogWarn("Mismatched return from API call (%s) traced result %s, replay result %s\n", entrypointName,
-                string_XGL_RESULT((XGL_RESULT)resTrace), string_XGL_RESULT((XGL_RESULT)resCall));
+                string_VK_RESULT((VK_RESULT)resTrace), string_VK_RESULT((VK_RESULT)resCall));
         res = glv_replay::GLV_REPLAY_BAD_RETURN;
     }
 #if 0
-    if (resCall != XGL_SUCCESS) {
-        glv_LogWarn("API call (%s) returned failed result %s\n", entrypointName, string_XGL_RESULT(resCall));
+    if (resCall != VK_SUCCESS) {
+        glv_LogWarn("API call (%s) returned failed result %s\n", entrypointName, string_VK_RESULT(resCall));
     }
 #endif
     return res;
 }
 
-void xglReplay::push_validation_msg(XGL_VALIDATION_LEVEL validationLevel, XGL_BASE_OBJECT srcObject, size_t location, int32_t msgCode, const char * pMsg)
+void vkReplay::push_validation_msg(VK_VALIDATION_LEVEL validationLevel, VK_BASE_OBJECT srcObject, size_t location, int32_t msgCode, const char * pMsg)
 {
     struct validationMsg msgObj;
     msgObj.validationLevel = validationLevel;
@@ -134,7 +135,7 @@
     m_validationMsgs.push_back(msgObj);
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::pop_validation_msgs()
+glv_replay::GLV_REPLAY_RESULT vkReplay::pop_validation_msgs()
 {
     if (m_validationMsgs.size() == 0)
         return glv_replay::GLV_REPLAY_SUCCESS;
@@ -142,62 +143,65 @@
     return glv_replay::GLV_REPLAY_VALIDATION_ERROR;
 }
 
-int xglReplay::dump_validation_data()
+int vkReplay::dump_validation_data()
 {
-   if  (m_pDSDump && m_pCBDump)
-   {
-      m_pDSDump((char *) "pipeline_dump.dot");
-      m_pCBDump((char *) "cb_dump.dot");
-   }
-   if (m_pGlvSnapshotPrint != NULL) { m_pGlvSnapshotPrint(); }
+    if  (m_pDSDump && m_pCBDump)
+    {
+        m_pDSDump((char *) "pipeline_dump.dot");
+        m_pCBDump((char *) "cb_dump.dot");
+    }
+    if (m_pGlvSnapshotPrint != NULL)
+    {
+        m_pGlvSnapshotPrint();
+    }
    return 0;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglCreateDevice(struct_xglCreateDevice* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkCreateDevice(struct_vkCreateDevice* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    if (!m_display->m_initedXGL)
+    if (!m_display->m_initedVK)
     {
-        XGL_DEVICE device;
-        if (g_xglReplaySettings.debugLevel > 0)
+        VK_DEVICE device;
+        if (g_vkReplaySettings.debugLevel > 0)
         {
-            XGL_DEVICE_CREATE_INFO cInfo, *ci, *pCreateInfoSaved;
+            VK_DEVICE_CREATE_INFO cInfo, *ci, *pCreateInfoSaved;
             unsigned int numLayers = 0;
             char ** layersStr = get_enableLayers_list(&numLayers);
             apply_layerSettings_overrides();
-            XGL_LAYER_CREATE_INFO layerInfo;
-            pCreateInfoSaved = (XGL_DEVICE_CREATE_INFO *) pPacket->pCreateInfo;
-            ci = (XGL_DEVICE_CREATE_INFO *) pPacket->pCreateInfo;
+            VK_LAYER_CREATE_INFO layerInfo;
+            pCreateInfoSaved = (VK_DEVICE_CREATE_INFO *) pPacket->pCreateInfo;
+            ci = (VK_DEVICE_CREATE_INFO *) pPacket->pCreateInfo;
             if (layersStr != NULL && numLayers > 0)
             {
                 while (ci->pNext != NULL)
-                    ci = (XGL_DEVICE_CREATE_INFO *) ci->pNext;
+                    ci = (VK_DEVICE_CREATE_INFO *) ci->pNext;
                 ci->pNext = &layerInfo;
-                layerInfo.sType = XGL_STRUCTURE_TYPE_LAYER_CREATE_INFO;
+                layerInfo.sType = VK_STRUCTURE_TYPE_LAYER_CREATE_INFO;
                 layerInfo.pNext = 0;
                 layerInfo.layerCount = numLayers;
                 layerInfo.ppActiveLayerNames = layersStr;
             }
-            memcpy(&cInfo, pPacket->pCreateInfo, sizeof(XGL_DEVICE_CREATE_INFO));
-            cInfo.flags = pPacket->pCreateInfo->flags | XGL_DEVICE_CREATE_VALIDATION_BIT;
-            cInfo.maxValidationLevel = (XGL_VALIDATION_LEVEL)((g_xglReplaySettings.debugLevel <= 4) ? (unsigned int) XGL_VALIDATION_LEVEL_0 + g_xglReplaySettings.debugLevel : (unsigned int) XGL_VALIDATION_LEVEL_0);
+            memcpy(&cInfo, pPacket->pCreateInfo, sizeof(VK_DEVICE_CREATE_INFO));
+            cInfo.flags = pPacket->pCreateInfo->flags | VK_DEVICE_CREATE_VALIDATION_BIT;
+            cInfo.maxValidationLevel = (VK_VALIDATION_LEVEL)((g_vkReplaySettings.debugLevel <= 4) ? (unsigned int) VK_VALIDATION_LEVEL_0 + g_vkReplaySettings.debugLevel : (unsigned int) VK_VALIDATION_LEVEL_0);
             pPacket->pCreateInfo = &cInfo;
-            replayResult = m_xglFuncs.real_xglCreateDevice(m_objMapper.remap(pPacket->gpu), pPacket->pCreateInfo, &device);
+            replayResult = m_vkFuncs.real_vkCreateDevice(m_objMapper.remap(pPacket->gpu), pPacket->pCreateInfo, &device);
             // restore the packet for next replay
             ci->pNext = NULL;
             pPacket->pCreateInfo = pCreateInfoSaved;
             release_enableLayer_list(layersStr);
 #if !defined(_WIN32)
-            m_pDSDump = (void (*)(char*)) m_xglFuncs.real_xglGetProcAddr(m_objMapper.remap(pPacket->gpu), "drawStateDumpDotFile");
-            m_pCBDump = (void (*)(char*)) m_xglFuncs.real_xglGetProcAddr(m_objMapper.remap(pPacket->gpu), "drawStateDumpCommandBufferDotFile");
-            m_pGlvSnapshotPrint = (GLVSNAPSHOT_PRINT_OBJECTS) m_xglFuncs.real_xglGetProcAddr(m_objMapper.remap(pPacket->gpu), "glvSnapshotPrintObjects");
+            m_pDSDump = (void (*)(char*)) m_vkFuncs.real_vkGetProcAddr(m_objMapper.remap(pPacket->gpu), "drawStateDumpDotFile");
+            m_pCBDump = (void (*)(char*)) m_vkFuncs.real_vkGetProcAddr(m_objMapper.remap(pPacket->gpu), "drawStateDumpCommandBufferDotFile");
+            m_pGlvSnapshotPrint = (GLVSNAPSHOT_PRINT_OBJECTS) m_vkFuncs.real_vkGetProcAddr(m_objMapper.remap(pPacket->gpu), "glvSnapshotPrintObjects");
 #endif
         }
         else
-            replayResult = m_xglFuncs.real_xglCreateDevice(m_objMapper.remap(pPacket->gpu), pPacket->pCreateInfo, &device);
-        CHECK_RETURN_VALUE(xglCreateDevice);
-        if (replayResult == XGL_SUCCESS)
+            replayResult = m_vkFuncs.real_vkCreateDevice(m_objMapper.remap(pPacket->gpu), pPacket->pCreateInfo, &device);
+        CHECK_RETURN_VALUE(vkCreateDevice);
+        if (replayResult == VK_SUCCESS)
         {
             m_objMapper.add_to_map(pPacket->pDevice, &device);
         }
@@ -205,17 +209,17 @@
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglEnumerateGpus(struct_xglEnumerateGpus* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkEnumerateGpus(struct_vkEnumerateGpus* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    if (!m_display->m_initedXGL)
+    if (!m_display->m_initedVK)
     {
         uint32_t gpuCount;
-        XGL_PHYSICAL_GPU gpus[XGL_MAX_PHYSICAL_GPUS];
-        uint32_t maxGpus = (pPacket->maxGpus < XGL_MAX_PHYSICAL_GPUS) ? pPacket->maxGpus : XGL_MAX_PHYSICAL_GPUS;
-        replayResult = m_xglFuncs.real_xglEnumerateGpus(m_objMapper.remap(pPacket->instance), maxGpus, &gpuCount, &gpus[0]);
-        CHECK_RETURN_VALUE(xglEnumerateGpus);
+        VK_PHYSICAL_GPU gpus[VK_MAX_PHYSICAL_GPUS];
+        uint32_t maxGpus = (pPacket->maxGpus < VK_MAX_PHYSICAL_GPUS) ? pPacket->maxGpus : VK_MAX_PHYSICAL_GPUS;
+        replayResult = m_vkFuncs.real_vkEnumerateGpus(m_objMapper.remap(pPacket->instance), maxGpus, &gpuCount, &gpus[0]);
+        CHECK_RETURN_VALUE(vkEnumerateGpus);
         //TODO handle different number of gpus in trace versus replay
         if (gpuCount != *(pPacket->pGpuCount))
         {
@@ -223,7 +227,7 @@
         }
         else if (gpuCount == 0)
         {
-             glv_LogError("xglEnumerateGpus number of gpus is zero\n");
+             glv_LogError("vkEnumerateGpus number of gpus is zero\n");
         }
         else
         {
@@ -235,26 +239,26 @@
             if (pPacket->pGpus)
                 m_objMapper.add_to_map(&(pPacket->pGpus[i]), &(gpus[i]));
         }
-        if (xglDbgRegisterMsgCallback(m_objMapper.remap(pPacket->instance),
-                   g_fpDbgMsgCallback, NULL) != XGL_SUCCESS) {
-           glv_LogError("Failed to register xgl callback for replayer error handling\\n");
-        }
+    }
+    if (vkDbgRegisterMsgCallback(m_objMapper.remap(pPacket->instance), g_fpDbgMsgCallback, NULL) != VK_SUCCESS)
+    {
+        glv_LogError("Failed to register vulkan callback for replayer error handling\\n");
     }
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglGetGpuInfo(struct_xglGetGpuInfo* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkGetGpuInfo(struct_vkGetGpuInfo* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    if (!m_display->m_initedXGL)
+    if (!m_display->m_initedVK)
     {
         switch (pPacket->infoType) {
-        case XGL_INFO_TYPE_PHYSICAL_GPU_PROPERTIES:
+        case VK_INFO_TYPE_PHYSICAL_GPU_PROPERTIES:
         {
-            XGL_PHYSICAL_GPU_PROPERTIES gpuProps;
-            size_t dataSize = sizeof(XGL_PHYSICAL_GPU_PROPERTIES);
-            replayResult = m_xglFuncs.real_xglGetGpuInfo(m_objMapper.remap(pPacket->gpu), pPacket->infoType, &dataSize,
+            VK_PHYSICAL_GPU_PROPERTIES gpuProps;
+            size_t dataSize = sizeof(VK_PHYSICAL_GPU_PROPERTIES);
+            replayResult = m_vkFuncs.real_vkGetGpuInfo(m_objMapper.remap(pPacket->gpu), pPacket->infoType, &dataSize,
                             (pPacket->pData == NULL) ? NULL : &gpuProps);
             if (pPacket->pData != NULL)
             {
@@ -264,11 +268,11 @@
             }
             break;
         }
-        case XGL_INFO_TYPE_PHYSICAL_GPU_PERFORMANCE:
+        case VK_INFO_TYPE_PHYSICAL_GPU_PERFORMANCE:
         {
-            XGL_PHYSICAL_GPU_PERFORMANCE gpuPerfs;
-            size_t dataSize = sizeof(XGL_PHYSICAL_GPU_PERFORMANCE);
-            replayResult = m_xglFuncs.real_xglGetGpuInfo(m_objMapper.remap(pPacket->gpu), pPacket->infoType, &dataSize,
+            VK_PHYSICAL_GPU_PERFORMANCE gpuPerfs;
+            size_t dataSize = sizeof(VK_PHYSICAL_GPU_PERFORMANCE);
+            replayResult = m_vkFuncs.real_vkGetGpuInfo(m_objMapper.remap(pPacket->gpu), pPacket->infoType, &dataSize,
                             (pPacket->pData == NULL) ? NULL : &gpuPerfs);
             if (pPacket->pData != NULL)
             {
@@ -278,20 +282,20 @@
             }
             break;
         }
-        case XGL_INFO_TYPE_PHYSICAL_GPU_QUEUE_PROPERTIES:
+        case VK_INFO_TYPE_PHYSICAL_GPU_QUEUE_PROPERTIES:
         {
-            XGL_PHYSICAL_GPU_QUEUE_PROPERTIES *pGpuQueue, *pQ;
-            size_t dataSize = sizeof(XGL_PHYSICAL_GPU_QUEUE_PROPERTIES);
+            VK_PHYSICAL_GPU_QUEUE_PROPERTIES *pGpuQueue, *pQ;
+            size_t dataSize = sizeof(VK_PHYSICAL_GPU_QUEUE_PROPERTIES);
             size_t numQueues = 1;
             assert(pPacket->pDataSize);
             if ((*(pPacket->pDataSize) % dataSize) != 0)
-                glv_LogWarn("xglGetGpuInfo() for GPU_QUEUE_PROPERTIES not an integral data size assuming 1\n");
+                glv_LogWarn("vkGetGpuInfo() for GPU_QUEUE_PROPERTIES not an integral data size assuming 1\n");
             else
                 numQueues = *(pPacket->pDataSize) / dataSize;
             dataSize = numQueues * dataSize;
-            pQ = static_cast < XGL_PHYSICAL_GPU_QUEUE_PROPERTIES *> (glv_malloc(dataSize));
+            pQ = static_cast < VK_PHYSICAL_GPU_QUEUE_PROPERTIES *> (glv_malloc(dataSize));
             pGpuQueue = pQ;
-            replayResult = m_xglFuncs.real_xglGetGpuInfo(m_objMapper.remap(pPacket->gpu), pPacket->infoType, &dataSize,
+            replayResult = m_vkFuncs.real_vkGetGpuInfo(m_objMapper.remap(pPacket->gpu), pPacket->infoType, &dataSize,
                             (pPacket->pData == NULL) ? NULL : pGpuQueue);
             if (pPacket->pData != NULL)
             {
@@ -314,35 +318,35 @@
                 size = *pPacket->pDataSize;
                 pData = glv_malloc(*pPacket->pDataSize);
             }
-            replayResult = m_xglFuncs.real_xglGetGpuInfo(m_objMapper.remap(pPacket->gpu), pPacket->infoType, &size, pData);
-            if (replayResult == XGL_SUCCESS)
+            replayResult = m_vkFuncs.real_vkGetGpuInfo(m_objMapper.remap(pPacket->gpu), pPacket->infoType, &size, pData);
+            if (replayResult == VK_SUCCESS)
             {
                 if (size != *pPacket->pDataSize && pData != NULL)
                 {
-                    glv_LogWarn("xglGetGpuInfo returned a differing data size: replay (%d bytes) vs trace (%d bytes)\n", size, *pPacket->pDataSize);
+                    glv_LogWarn("vkGetGpuInfo returned a differing data size: replay (%d bytes) vs trace (%d bytes)\n", size, *pPacket->pDataSize);
                 }
                 else if (pData != NULL && memcmp(pData, pPacket->pData, size) != 0)
                 {
-                    glv_LogWarn("xglGetGpuInfo returned differing data contents than the trace file contained.\n");
+                    glv_LogWarn("vkGetGpuInfo returned differing data contents than the trace file contained.\n");
                 }
             }
             glv_free(pData);
             break;
         }
         };
-        CHECK_RETURN_VALUE(xglGetGpuInfo);
+        CHECK_RETURN_VALUE(vkGetGpuInfo);
     }
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglGetExtensionSupport(struct_xglGetExtensionSupport* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkGetExtensionSupport(struct_vkGetExtensionSupport* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    if (!m_display->m_initedXGL) {
-        replayResult = m_xglFuncs.real_xglGetExtensionSupport(m_objMapper.remap(pPacket->gpu), pPacket->pExtName);
-        CHECK_RETURN_VALUE(xglGetExtensionSupport);
-        if (replayResult == XGL_SUCCESS) {
+    if (!m_display->m_initedVK) {
+        replayResult = m_vkFuncs.real_vkGetExtensionSupport(m_objMapper.remap(pPacket->gpu), pPacket->pExtName);
+        CHECK_RETURN_VALUE(vkGetExtensionSupport);
+        if (replayResult == VK_SUCCESS) {
             for (unsigned int ext = 0; ext < sizeof(g_extensions) / sizeof(g_extensions[0]); ext++)
             {
                 if (!strncmp(g_extensions[ext], pPacket->pExtName, strlen(g_extensions[ext]))) {
@@ -362,31 +366,31 @@
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglQueueSubmit(struct_xglQueueSubmit* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkQueueSubmit(struct_vkQueueSubmit* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    XGL_CMD_BUFFER *remappedBuffers = NULL;
+    VK_CMD_BUFFER *remappedBuffers = NULL;
     if (pPacket->pCmdBuffers != NULL)
     {
-        remappedBuffers = GLV_NEW_ARRAY( XGL_CMD_BUFFER, pPacket->cmdBufferCount);
+        remappedBuffers = GLV_NEW_ARRAY( VK_CMD_BUFFER, pPacket->cmdBufferCount);
         for (uint32_t i = 0; i < pPacket->cmdBufferCount; i++)
         {
             *(remappedBuffers + i) = m_objMapper.remap(*(pPacket->pCmdBuffers + i));
         }
     }
-    replayResult = m_xglFuncs.real_xglQueueSubmit(m_objMapper.remap(pPacket->queue),
+    replayResult = m_vkFuncs.real_vkQueueSubmit(m_objMapper.remap(pPacket->queue),
                                                   pPacket->cmdBufferCount,
                                                   remappedBuffers,
                                                   m_objMapper.remap(pPacket->fence));
     GLV_DELETE(remappedBuffers);
-    CHECK_RETURN_VALUE(xglQueueSubmit);
+    CHECK_RETURN_VALUE(vkQueueSubmit);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglGetObjectInfo(struct_xglGetObjectInfo* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkGetObjectInfo(struct_vkGetObjectInfo* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
     size_t size = 0;
     void* pData = NULL;
@@ -397,43 +401,44 @@
         memcpy(pData, pPacket->pData, *pPacket->pDataSize);
     }
     // TODO only search for object once rather than at remap() and init_objMemXXX()
-    replayResult = m_xglFuncs.real_xglGetObjectInfo(m_objMapper.remap(pPacket->object), pPacket->infoType, &size, pData);
-    if (replayResult == XGL_SUCCESS)
+    replayResult = m_vkFuncs.real_vkGetObjectInfo(m_objMapper.remap(pPacket->object), pPacket->infoType, &size, pData);
+    if (replayResult == VK_SUCCESS)
     {
         if (size != *pPacket->pDataSize && pData != NULL)
         {
-            glv_LogWarn("xglGetObjectInfo returned a differing data size: replay (%d bytes) vs trace (%d bytes)\\n", size, *pPacket->pDataSize);
-        } else if (pData != NULL)
+            glv_LogWarn("vkGetObjectInfo returned a differing data size: replay (%d bytes) vs trace (%d bytes)\\n", size, *pPacket->pDataSize);
+        } 
+        else if (pData != NULL)
         {
             switch (pPacket->infoType)
             {
-                case XGL_INFO_TYPE_MEMORY_ALLOCATION_COUNT:
+                case VK_INFO_TYPE_MEMORY_ALLOCATION_COUNT:
                 {
                     uint32_t traceCount = *((uint32_t *) pPacket->pData);
                     uint32_t replayCount = *((uint32_t *) pData);
                     if (traceCount != replayCount)
-                        glv_LogWarn("xglGetObjectInfo(INFO_TYPE_MEMORY_ALLOCATION_COUNT) mismatch: trace count %u, replay count %u\\n", traceCount, replayCount);
+                        glv_LogWarn("vkGetObjectInfo(INFO_TYPE_MEMORY_ALLOCATION_COUNT) mismatch: trace count %u, replay count %u\\n", traceCount, replayCount);
                     if (m_objMapper.m_adjustForGPU)
                         m_objMapper.init_objMemCount(pPacket->object, replayCount);
                     break;
                 }
-                case XGL_INFO_TYPE_MEMORY_REQUIREMENTS:
+                case VK_INFO_TYPE_MEMORY_REQUIREMENTS:
                 {
-                    XGL_MEMORY_REQUIREMENTS *traceReqs = (XGL_MEMORY_REQUIREMENTS *) pPacket->pData;
-                    XGL_MEMORY_REQUIREMENTS *replayReqs = (XGL_MEMORY_REQUIREMENTS *) pData;
-                    unsigned int num = size / sizeof(XGL_MEMORY_REQUIREMENTS);
+                    VK_MEMORY_REQUIREMENTS *traceReqs = (VK_MEMORY_REQUIREMENTS *) pPacket->pData;
+                    VK_MEMORY_REQUIREMENTS *replayReqs = (VK_MEMORY_REQUIREMENTS *) pData;
+                    unsigned int num = size / sizeof(VK_MEMORY_REQUIREMENTS);
                     for (unsigned int i = 0; i < num; i++)
                     {
                         if (traceReqs->size != replayReqs->size)
-                            glv_LogWarn("xglGetObjectInfo(INFO_TYPE_MEMORY_REQUIREMENTS) mismatch: trace size %u, replay size %u\\n", traceReqs->size, replayReqs->size);
+                            glv_LogWarn("vkGetObjectInfo(INFO_TYPE_MEMORY_REQUIREMENTS) mismatch: trace size %u, replay size %u\\n", traceReqs->size, replayReqs->size);
                         if (traceReqs->alignment != replayReqs->alignment)
-                            glv_LogWarn("xglGetObjectInfo(INFO_TYPE_MEMORY_REQUIREMENTS) mismatch: trace alignment %u, replay aligmnent %u\\n", traceReqs->alignment, replayReqs->alignment);
+                            glv_LogWarn("vkGetObjectInfo(INFO_TYPE_MEMORY_REQUIREMENTS) mismatch: trace alignment %u, replay aligmnent %u\\n", traceReqs->alignment, replayReqs->alignment);
                         if (traceReqs->granularity != replayReqs->granularity)
-                            glv_LogWarn("xglGetObjectInfo(INFO_TYPE_MEMORY_REQUIREMENTS) mismatch: trace granularity %u, replay granularity %u\\n", traceReqs->granularity, replayReqs->granularity);
+                            glv_LogWarn("vkGetObjectInfo(INFO_TYPE_MEMORY_REQUIREMENTS) mismatch: trace granularity %u, replay granularity %u\\n", traceReqs->granularity, replayReqs->granularity);
                         if (traceReqs->memProps != replayReqs->memProps)
-                            glv_LogWarn("xglGetObjectInfo(INFO_TYPE_MEMORY_REQUIREMENTS) mismatch: trace memProps %u, replay memProps %u\\n", traceReqs->memProps, replayReqs->memProps);
+                            glv_LogWarn("vkGetObjectInfo(INFO_TYPE_MEMORY_REQUIREMENTS) mismatch: trace memProps %u, replay memProps %u\\n", traceReqs->memProps, replayReqs->memProps);
                         if (traceReqs->memType != replayReqs->memType)
-                            glv_LogWarn("xglGetObjectInfo(INFO_TYPE_MEMORY_REQUIREMENTS) mismatch: trace memType %u, replay memType %u\\n", traceReqs->memType, replayReqs->memType);
+                            glv_LogWarn("vkGetObjectInfo(INFO_TYPE_MEMORY_REQUIREMENTS) mismatch: trace memType %u, replay memType %u\\n", traceReqs->memType, replayReqs->memType);
                         traceReqs++;
                         replayReqs++;
                     }
@@ -443,18 +448,18 @@
                 }
                 default:
                     if (memcmp(pData, pPacket->pData, size) != 0)
-                        glv_LogWarn("xglGetObjectInfo() mismatch on *pData: between trace and replay *pDataSize %u\\n", size);
+                        glv_LogWarn("vkGetObjectInfo() mismatch on *pData: between trace and replay *pDataSize %u\\n", size);
             }
         }
     }
     glv_free(pData);
-    CHECK_RETURN_VALUE(xglGetObjectInfo);
+    CHECK_RETURN_VALUE(vkGetObjectInfo);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglGetFormatInfo(struct_xglGetFormatInfo* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkGetFormatInfo(struct_vkGetFormatInfo* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
     size_t size = 0;
     void* pData = NULL;
@@ -463,26 +468,26 @@
         size = *pPacket->pDataSize;
         pData = glv_malloc(*pPacket->pDataSize);
     }
-    replayResult = m_xglFuncs.real_xglGetFormatInfo(m_objMapper.remap(pPacket->device), pPacket->format, pPacket->infoType, &size, pData);
-    if (replayResult == XGL_SUCCESS)
+    replayResult = m_vkFuncs.real_vkGetFormatInfo(m_objMapper.remap(pPacket->device), pPacket->format, pPacket->infoType, &size, pData);
+    if (replayResult == VK_SUCCESS)
     {
         if (size != *pPacket->pDataSize && pData != NULL)
         {
-            glv_LogWarn("xglGetFormatInfo returned a differing data size: replay (%d bytes) vs trace (%d bytes)\n", size, *pPacket->pDataSize);
+            glv_LogWarn("vkGetFormatInfo returned a differing data size: replay (%d bytes) vs trace (%d bytes)\n", size, *pPacket->pDataSize);
         }
         else if (pData != NULL && memcmp(pData, pPacket->pData, size) != 0)
         {
-            glv_LogWarn("xglGetFormatInfo returned differing data contents than the trace file contained.\n");
+            glv_LogWarn("vkGetFormatInfo returned differing data contents than the trace file contained.\n");
         }
     }
     glv_free(pData);
-    CHECK_RETURN_VALUE(xglGetFormatInfo);
+    CHECK_RETURN_VALUE(vkGetFormatInfo);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglGetImageSubresourceInfo(struct_xglGetImageSubresourceInfo* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkGetImageSubresourceInfo(struct_vkGetImageSubresourceInfo* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
     size_t size = 0;
     void* pData = NULL;
@@ -491,85 +496,85 @@
         size = *pPacket->pDataSize;
         pData = glv_malloc(*pPacket->pDataSize);
     }
-    replayResult = m_xglFuncs.real_xglGetImageSubresourceInfo(m_objMapper.remap(pPacket->image), pPacket->pSubresource, pPacket->infoType, &size, pData);
-    if (replayResult == XGL_SUCCESS)
+    replayResult = m_vkFuncs.real_vkGetImageSubresourceInfo(m_objMapper.remap(pPacket->image), pPacket->pSubresource, pPacket->infoType, &size, pData);
+    if (replayResult == VK_SUCCESS)
     {
         if (size != *pPacket->pDataSize && pData != NULL)
         {
-            glv_LogWarn("xglGetImageSubresourceInfo returned a differing data size: replay (%d bytes) vs trace (%d bytes)\n", size, *pPacket->pDataSize);
+            glv_LogWarn("vkGetImageSubresourceInfo returned a differing data size: replay (%d bytes) vs trace (%d bytes)\n", size, *pPacket->pDataSize);
         }
         else if (pData != NULL && memcmp(pData, pPacket->pData, size) != 0)
         {
-            glv_LogWarn("xglGetImageSubresourceInfo returned differing data contents than the trace file contained.\n");
+            glv_LogWarn("vkGetImageSubresourceInfo returned differing data contents than the trace file contained.\n");
         }
     }
     glv_free(pData);
-    CHECK_RETURN_VALUE(xglGetImageSubresourceInfo);
+    CHECK_RETURN_VALUE(vkGetImageSubresourceInfo);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglUpdateDescriptors(struct_xglUpdateDescriptors* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkUpdateDescriptors(struct_vkUpdateDescriptors* pPacket)
 {
     // We have to remap handles internal to the structures so save the handles prior to remap and then restore
     // Rather than doing a deep memcpy of the entire struct and fixing any intermediate pointers, do save and restores via STL queue
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    std::queue<XGL_SAMPLER> saveSamplers;
-    std::queue<XGL_BUFFER_VIEW> saveBufferViews;
-    std::queue<XGL_IMAGE_VIEW> saveImageViews;
-    std::queue<XGL_DESCRIPTOR_SET> saveDescSets;
+    std::queue<VK_SAMPLER> saveSamplers;
+    std::queue<VK_BUFFER_VIEW> saveBufferViews;
+    std::queue<VK_IMAGE_VIEW> saveImageViews;
+    std::queue<VK_DESCRIPTOR_SET> saveDescSets;
     uint32_t j;
     for (j = 0; j < pPacket->updateCount; j++)
     {
-        XGL_UPDATE_SAMPLERS* pUpdateArray = (XGL_UPDATE_SAMPLERS*)pPacket->ppUpdateArray[j];
+        VK_UPDATE_SAMPLERS* pUpdateArray = (VK_UPDATE_SAMPLERS*)pPacket->ppUpdateArray[j];
         switch(pUpdateArray->sType)
         {
-            case XGL_STRUCTURE_TYPE_UPDATE_SAMPLERS:
+            case VK_STRUCTURE_TYPE_UPDATE_SAMPLERS:
             {
-                for (uint32_t i = 0; i < ((XGL_UPDATE_SAMPLERS*)pUpdateArray)->count; i++)
+                for (uint32_t i = 0; i < ((VK_UPDATE_SAMPLERS*)pUpdateArray)->count; i++)
                 {
-                    XGL_SAMPLER* pLocalSampler = (XGL_SAMPLER*) &((XGL_UPDATE_SAMPLERS*)pUpdateArray)->pSamplers[i];
+                    VK_SAMPLER* pLocalSampler = (VK_SAMPLER*) &((VK_UPDATE_SAMPLERS*)pUpdateArray)->pSamplers[i];
                     saveSamplers.push(*pLocalSampler);
-                    *pLocalSampler = m_objMapper.remap(((XGL_UPDATE_SAMPLERS*)pUpdateArray)->pSamplers[i]);
+                    *pLocalSampler = m_objMapper.remap(((VK_UPDATE_SAMPLERS*)pUpdateArray)->pSamplers[i]);
                 }
                 break;
             }
-            case XGL_STRUCTURE_TYPE_UPDATE_SAMPLER_TEXTURES:
+            case VK_STRUCTURE_TYPE_UPDATE_SAMPLER_TEXTURES:
             {
-                XGL_UPDATE_SAMPLER_TEXTURES *pUST = (XGL_UPDATE_SAMPLER_TEXTURES *) pUpdateArray;
+                VK_UPDATE_SAMPLER_TEXTURES *pUST = (VK_UPDATE_SAMPLER_TEXTURES *) pUpdateArray;
                 for (uint32_t i = 0; i < pUST->count; i++) {
-                    XGL_SAMPLER *pLocalSampler = (XGL_SAMPLER *) &pUST->pSamplerImageViews[i].sampler;
+                    VK_SAMPLER *pLocalSampler = (VK_SAMPLER *) &pUST->pSamplerImageViews[i].sampler;
                     saveSamplers.push(*pLocalSampler);
                     *pLocalSampler = m_objMapper.remap(pUST->pSamplerImageViews[i].sampler);
-                    XGL_IMAGE_VIEW *pLocalView = (XGL_IMAGE_VIEW *) &pUST->pSamplerImageViews[i].pImageView->view;
+                    VK_IMAGE_VIEW *pLocalView = (VK_IMAGE_VIEW *) &pUST->pSamplerImageViews[i].pImageView->view;
                     saveImageViews.push(*pLocalView);
                     *pLocalView = m_objMapper.remap(pUST->pSamplerImageViews[i].pImageView->view);
                 }
                 break;
             }
-            case XGL_STRUCTURE_TYPE_UPDATE_IMAGES:
+            case VK_STRUCTURE_TYPE_UPDATE_IMAGES:
             {
-                XGL_UPDATE_IMAGES *pUI = (XGL_UPDATE_IMAGES*) pUpdateArray;
+                VK_UPDATE_IMAGES *pUI = (VK_UPDATE_IMAGES*) pUpdateArray;
                 for (uint32_t i = 0; i < pUI->count; i++) {
-                    XGL_IMAGE_VIEW* pLocalView = (XGL_IMAGE_VIEW*) &pUI->pImageViews[i].view;
+                    VK_IMAGE_VIEW* pLocalView = (VK_IMAGE_VIEW*) &pUI->pImageViews[i].view;
                     saveImageViews.push(*pLocalView);
                     *pLocalView = m_objMapper.remap(pUI->pImageViews[i].view);
                 }
                 break;
             }
-            case XGL_STRUCTURE_TYPE_UPDATE_BUFFERS:
+            case VK_STRUCTURE_TYPE_UPDATE_BUFFERS:
             {
-                XGL_UPDATE_BUFFERS *pUB = (XGL_UPDATE_BUFFERS *) pUpdateArray;
+                VK_UPDATE_BUFFERS *pUB = (VK_UPDATE_BUFFERS *) pUpdateArray;
                 for (uint32_t i = 0; i < pUB->count; i++) {
-                    XGL_BUFFER_VIEW* pLocalView = (XGL_BUFFER_VIEW*) &pUB->pBufferViews[i].view;
+                    VK_BUFFER_VIEW* pLocalView = (VK_BUFFER_VIEW*) &pUB->pBufferViews[i].view;
                     saveBufferViews.push(*pLocalView);
                     *pLocalView = m_objMapper.remap(pUB->pBufferViews[i].view);
                 }
                 break;
             }
-            case XGL_STRUCTURE_TYPE_UPDATE_AS_COPY:
+            case VK_STRUCTURE_TYPE_UPDATE_AS_COPY:
             {
-                saveDescSets.push(((XGL_UPDATE_AS_COPY*)pUpdateArray)->descriptorSet);
-                ((XGL_UPDATE_AS_COPY*)pUpdateArray)->descriptorSet = m_objMapper.remap(((XGL_UPDATE_AS_COPY*)pUpdateArray)->descriptorSet);
+                saveDescSets.push(((VK_UPDATE_AS_COPY*)pUpdateArray)->descriptorSet);
+                ((VK_UPDATE_AS_COPY*)pUpdateArray)->descriptorSet = m_objMapper.remap(((VK_UPDATE_AS_COPY*)pUpdateArray)->descriptorSet);
                 break;
             }
             default:
@@ -578,251 +583,251 @@
                 break;
             }
         }
-        pUpdateArray = (XGL_UPDATE_SAMPLERS*) pUpdateArray->pNext;
+        pUpdateArray = (VK_UPDATE_SAMPLERS*) pUpdateArray->pNext;
     }
-    m_xglFuncs.real_xglUpdateDescriptors(m_objMapper.remap(pPacket->descriptorSet), pPacket->updateCount, pPacket->ppUpdateArray);
+    m_vkFuncs.real_vkUpdateDescriptors(m_objMapper.remap(pPacket->descriptorSet), pPacket->updateCount, pPacket->ppUpdateArray);
     for (j = 0; j < pPacket->updateCount; j++)
     {
-        XGL_UPDATE_SAMPLERS* pUpdateArray = (XGL_UPDATE_SAMPLERS*)pPacket->ppUpdateArray[j];
+        VK_UPDATE_SAMPLERS* pUpdateArray = (VK_UPDATE_SAMPLERS*)pPacket->ppUpdateArray[j];
         switch(pUpdateArray->sType)
         {
-            case XGL_STRUCTURE_TYPE_UPDATE_SAMPLERS:
-                for (uint32_t i = 0; i < ((XGL_UPDATE_SAMPLERS*)pUpdateArray)->count; i++) {
-                    XGL_SAMPLER* pLocalSampler = (XGL_SAMPLER*) &((XGL_UPDATE_SAMPLERS*)pUpdateArray)->pSamplers[i];
+            case VK_STRUCTURE_TYPE_UPDATE_SAMPLERS:
+                for (uint32_t i = 0; i < ((VK_UPDATE_SAMPLERS*)pUpdateArray)->count; i++) {
+                    VK_SAMPLER* pLocalSampler = (VK_SAMPLER*) &((VK_UPDATE_SAMPLERS*)pUpdateArray)->pSamplers[i];
                     *pLocalSampler = saveSamplers.front();
                     saveSamplers.pop();
                 }
                 break;
-            case XGL_STRUCTURE_TYPE_UPDATE_SAMPLER_TEXTURES:
+            case VK_STRUCTURE_TYPE_UPDATE_SAMPLER_TEXTURES:
             {
-                XGL_UPDATE_SAMPLER_TEXTURES *pUST = (XGL_UPDATE_SAMPLER_TEXTURES *) pUpdateArray;
+                VK_UPDATE_SAMPLER_TEXTURES *pUST = (VK_UPDATE_SAMPLER_TEXTURES *) pUpdateArray;
                 for (uint32_t i = 0; i < pUST->count; i++) {
-                    XGL_SAMPLER *plocalSampler = (XGL_SAMPLER *) &pUST->pSamplerImageViews[i].sampler;
+                    VK_SAMPLER *plocalSampler = (VK_SAMPLER *) &pUST->pSamplerImageViews[i].sampler;
                     *plocalSampler = saveSamplers.front();
                     saveSamplers.pop();
-                    XGL_IMAGE_VIEW *pLocalView = (XGL_IMAGE_VIEW *) &pUST->pSamplerImageViews[i].pImageView->view;
+                    VK_IMAGE_VIEW *pLocalView = (VK_IMAGE_VIEW *) &pUST->pSamplerImageViews[i].pImageView->view;
                     *pLocalView = saveImageViews.front();
                     saveImageViews.pop();
                 }
                 break;
             }
-            case XGL_STRUCTURE_TYPE_UPDATE_IMAGES:
+            case VK_STRUCTURE_TYPE_UPDATE_IMAGES:
             {
-                XGL_UPDATE_IMAGES *pUI = (XGL_UPDATE_IMAGES*) pUpdateArray;
+                VK_UPDATE_IMAGES *pUI = (VK_UPDATE_IMAGES*) pUpdateArray;
                 for (uint32_t i = 0; i < pUI->count; i++) {
-                    XGL_IMAGE_VIEW* pLocalView = (XGL_IMAGE_VIEW*) &pUI->pImageViews[i].view;
+                    VK_IMAGE_VIEW* pLocalView = (VK_IMAGE_VIEW*) &pUI->pImageViews[i].view;
                     *pLocalView = saveImageViews.front();
                     saveImageViews.pop();
                 }
                 break;
             }
-            case XGL_STRUCTURE_TYPE_UPDATE_BUFFERS:
+            case VK_STRUCTURE_TYPE_UPDATE_BUFFERS:
             {
-                XGL_UPDATE_BUFFERS *pUB = (XGL_UPDATE_BUFFERS *) pUpdateArray;
+                VK_UPDATE_BUFFERS *pUB = (VK_UPDATE_BUFFERS *) pUpdateArray;
                 for (uint32_t i = 0; i < pUB->count; i++) {
-                    XGL_BUFFER_VIEW* pLocalView = (XGL_BUFFER_VIEW*) &pUB->pBufferViews[i].view;
+                    VK_BUFFER_VIEW* pLocalView = (VK_BUFFER_VIEW*) &pUB->pBufferViews[i].view;
                     *pLocalView = saveBufferViews.front();
                     saveBufferViews.pop();
                 }
                 break;
             }
-            case XGL_STRUCTURE_TYPE_UPDATE_AS_COPY:
-                ((XGL_UPDATE_AS_COPY*)pUpdateArray)->descriptorSet = saveDescSets.front();
+            case VK_STRUCTURE_TYPE_UPDATE_AS_COPY:
+                ((VK_UPDATE_AS_COPY*)pUpdateArray)->descriptorSet = saveDescSets.front();
                 saveDescSets.pop();
-                //pLocalUpdateChain = (void*)((XGL_UPDATE_SAMPLERS*)pLocalUpdateChain)->pNext;
+                //pLocalUpdateChain = (void*)((VK_UPDATE_SAMPLERS*)pLocalUpdateChain)->pNext;
                 break;
             default:
                 assert(0);
                 break;
         }
-        pUpdateArray = (XGL_UPDATE_SAMPLERS*) pUpdateArray->pNext;
+        pUpdateArray = (VK_UPDATE_SAMPLERS*) pUpdateArray->pNext;
     }
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglCreateDescriptorSetLayout(struct_xglCreateDescriptorSetLayout* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkCreateDescriptorSetLayout(struct_vkCreateDescriptorSetLayout* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    XGL_SAMPLER *pSaveSampler;
-    XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO *pInfo = (XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO *) pPacket->pCreateInfo;
+    VK_SAMPLER *pSaveSampler;
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO *pInfo = (VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO *) pPacket->pCreateInfo;
     if (pInfo != NULL)
     {
         size_t bytesAlloc = 0;
         for (unsigned int i = 0; i < pInfo->count; i++)
         {
-            XGL_DESCRIPTOR_SET_LAYOUT_BINDING *pLayoutBind = (XGL_DESCRIPTOR_SET_LAYOUT_BINDING *) &pInfo->pBinding[i];
-            bytesAlloc += pLayoutBind->count * sizeof(XGL_SAMPLER);
+            VK_DESCRIPTOR_SET_LAYOUT_BINDING *pLayoutBind = (VK_DESCRIPTOR_SET_LAYOUT_BINDING *) &pInfo->pBinding[i];
+            bytesAlloc += pLayoutBind->count * sizeof(VK_SAMPLER);
         }
-        pSaveSampler = (XGL_SAMPLER *) glv_malloc(bytesAlloc);
-        XGL_SAMPLER *pArray = pSaveSampler;
+        pSaveSampler = (VK_SAMPLER *) glv_malloc(bytesAlloc);
+        VK_SAMPLER *pArray = pSaveSampler;
         for (unsigned int i = 0; i < pInfo->count; i++)
         {
-            XGL_DESCRIPTOR_SET_LAYOUT_BINDING *pLayoutBind = (XGL_DESCRIPTOR_SET_LAYOUT_BINDING *) &pInfo->pBinding[i];
+            VK_DESCRIPTOR_SET_LAYOUT_BINDING *pLayoutBind = (VK_DESCRIPTOR_SET_LAYOUT_BINDING *) &pInfo->pBinding[i];
             for (unsigned int j = 0; j < pLayoutBind->count; j++)
             {
-                XGL_SAMPLER *pOrigSampler = (XGL_SAMPLER *) pLayoutBind->pImmutableSamplers + j;
-                *pArray++ = *((XGL_SAMPLER *) pLayoutBind->pImmutableSamplers + j);
+                VK_SAMPLER *pOrigSampler = (VK_SAMPLER *) pLayoutBind->pImmutableSamplers + j;
+                *pArray++ = *((VK_SAMPLER *) pLayoutBind->pImmutableSamplers + j);
                 *pOrigSampler = m_objMapper.remap(*pOrigSampler);
             }
         }
     }
-    XGL_DESCRIPTOR_SET_LAYOUT setLayout;
-    replayResult = m_xglFuncs.real_xglCreateDescriptorSetLayout(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &setLayout);
-    if (replayResult == XGL_SUCCESS)
+    VK_DESCRIPTOR_SET_LAYOUT setLayout;
+    replayResult = m_vkFuncs.real_vkCreateDescriptorSetLayout(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &setLayout);
+    if (replayResult == VK_SUCCESS)
     {
         m_objMapper.add_to_map(pPacket->pSetLayout, &setLayout);
     }
     if (pPacket->pCreateInfo != NULL)
     {
-        XGL_SAMPLER *pArray = pSaveSampler;
+        VK_SAMPLER *pArray = pSaveSampler;
         for (unsigned int i = 0; i < pInfo->count; i++)
         {
-            XGL_DESCRIPTOR_SET_LAYOUT_BINDING *pLayoutBind = (XGL_DESCRIPTOR_SET_LAYOUT_BINDING *) &pInfo->pBinding[i];
-            for (unsigned int j = 0; j < pLayoutBind->count; j++)
+            VK_DESCRIPTOR_SET_LAYOUT_BINDING *pLayoutBind = (VK_DESCRIPTOR_SET_LAYOUT_BINDING *) &pInfo->pBinding[i];
+            for (unsigned int j = 0; j < pLayoutBind->count && pLayoutBind->pImmutableSamplers != NULL; j++)
             {
-                XGL_SAMPLER *pOrigSampler = (XGL_SAMPLER *) pLayoutBind->pImmutableSamplers + j;
+                VK_SAMPLER *pOrigSampler = (VK_SAMPLER *) pLayoutBind->pImmutableSamplers + j;
                 *pOrigSampler = *pArray++;
             }
         }
         glv_free(pSaveSampler);
     }
-    CHECK_RETURN_VALUE(xglCreateDescriptorSetLayout);
+    CHECK_RETURN_VALUE(vkCreateDescriptorSetLayout);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglCreateGraphicsPipeline(struct_xglCreateGraphicsPipeline* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkCreateGraphicsPipeline(struct_vkCreateGraphicsPipeline* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    XGL_GRAPHICS_PIPELINE_CREATE_INFO createInfo;
+    VK_GRAPHICS_PIPELINE_CREATE_INFO createInfo;
     struct shaderPair saveShader[10];
     unsigned int idx = 0;
-    memcpy(&createInfo, pPacket->pCreateInfo, sizeof(XGL_GRAPHICS_PIPELINE_CREATE_INFO));
+    memcpy(&createInfo, pPacket->pCreateInfo, sizeof(VK_GRAPHICS_PIPELINE_CREATE_INFO));
     createInfo.pSetLayoutChain = m_objMapper.remap(createInfo.pSetLayoutChain);
     // Cast to shader type, as those are of primariy interest and all structs in LL have same header w/ sType & pNext
-    XGL_PIPELINE_SHADER_STAGE_CREATE_INFO* pPacketNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pPacket->pCreateInfo->pNext;
-    XGL_PIPELINE_SHADER_STAGE_CREATE_INFO* pNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)createInfo.pNext;
-    while (XGL_NULL_HANDLE != pPacketNext)
+    VK_PIPELINE_SHADER_STAGE_CREATE_INFO* pPacketNext = (VK_PIPELINE_SHADER_STAGE_CREATE_INFO*)pPacket->pCreateInfo->pNext;
+    VK_PIPELINE_SHADER_STAGE_CREATE_INFO* pNext = (VK_PIPELINE_SHADER_STAGE_CREATE_INFO*)createInfo.pNext;
+    while (VK_NULL_HANDLE != pPacketNext)
     {
-        if (XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO == pNext->sType)
+        if (VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO == pNext->sType)
         {
             saveShader[idx].val = pNext->shader.shader;
             saveShader[idx++].addr = &(pNext->shader.shader);
             pNext->shader.shader = m_objMapper.remap(pPacketNext->shader.shader);
         }
-        pPacketNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pPacketNext->pNext;
-        pNext = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*)pNext->pNext;
+        pPacketNext = (VK_PIPELINE_SHADER_STAGE_CREATE_INFO*)pPacketNext->pNext;
+        pNext = (VK_PIPELINE_SHADER_STAGE_CREATE_INFO*)pNext->pNext;
     }
-    XGL_PIPELINE pipeline;
-    replayResult = m_xglFuncs.real_xglCreateGraphicsPipeline(m_objMapper.remap(pPacket->device), &createInfo, &pipeline);
-    if (replayResult == XGL_SUCCESS)
+    VK_PIPELINE pipeline;
+    replayResult = m_vkFuncs.real_vkCreateGraphicsPipeline(m_objMapper.remap(pPacket->device), &createInfo, &pipeline);
+    if (replayResult == VK_SUCCESS)
     {
         m_objMapper.add_to_map(pPacket->pPipeline, &pipeline);
     }
     for (unsigned int i = 0; i < idx; i++)
         *(saveShader[i].addr) = saveShader[i].val;
-    CHECK_RETURN_VALUE(xglCreateGraphicsPipeline);
+    CHECK_RETURN_VALUE(vkCreateGraphicsPipeline);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglCmdWaitEvents(struct_xglCmdWaitEvents* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkCmdWaitEvents(struct_vkCmdWaitEvents* pPacket)
 {
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    XGL_EVENT saveEvent[100];
+    VK_EVENT saveEvent[100];
     uint32_t idx, numRemapBuf=0, numRemapImg=0;
     assert(pPacket->pWaitInfo && pPacket->pWaitInfo->eventCount <= 100);
     for (idx = 0; idx < pPacket->pWaitInfo->eventCount; idx++)
     {
-        XGL_EVENT *pEvent = (XGL_EVENT *) &(pPacket->pWaitInfo->pEvents[idx]);
+        VK_EVENT *pEvent = (VK_EVENT *) &(pPacket->pWaitInfo->pEvents[idx]);
         saveEvent[idx] = pPacket->pWaitInfo->pEvents[idx];
         *pEvent = m_objMapper.remap(pPacket->pWaitInfo->pEvents[idx]);
     }
 
-    XGL_BUFFER saveBuf[100];
-    XGL_IMAGE saveImg[100];
+    VK_BUFFER saveBuf[100];
+    VK_IMAGE saveImg[100];
     for (idx = 0; idx < pPacket->pWaitInfo->memBarrierCount; idx++)
     {
-        XGL_MEMORY_BARRIER *pNext = (XGL_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
+        VK_MEMORY_BARRIER *pNext = (VK_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
         assert(pNext);
-        if (pNext->sType == XGL_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER) {
-            XGL_BUFFER_MEMORY_BARRIER *pNextBuf = (XGL_BUFFER_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
+        if (pNext->sType == VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER) {
+            VK_BUFFER_MEMORY_BARRIER *pNextBuf = (VK_BUFFER_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
             assert(numRemapBuf < 100);
             saveBuf[numRemapBuf++] = pNextBuf->buffer;
             pNextBuf->buffer = m_objMapper.remap(pNextBuf->buffer);
-        } else if (pNext->sType == XGL_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER) {
-            XGL_IMAGE_MEMORY_BARRIER *pNextImg = (XGL_IMAGE_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
+        } else if (pNext->sType == VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER) {
+            VK_IMAGE_MEMORY_BARRIER *pNextImg = (VK_IMAGE_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
             assert(numRemapImg < 100);
             saveImg[numRemapImg++] = pNextImg->image;
             pNextImg->image = m_objMapper.remap(pNextImg->image);
         }
     }
-    m_xglFuncs.real_xglCmdWaitEvents(m_objMapper.remap(pPacket->cmdBuffer), pPacket->pWaitInfo);
+    m_vkFuncs.real_vkCmdWaitEvents(m_objMapper.remap(pPacket->cmdBuffer), pPacket->pWaitInfo);
     for (idx = 0; idx < pPacket->pWaitInfo->memBarrierCount; idx++) {
-        XGL_MEMORY_BARRIER *pNext = (XGL_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
-        if (pNext->sType == XGL_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER) {
-            XGL_BUFFER_MEMORY_BARRIER *pNextBuf = (XGL_BUFFER_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
+        VK_MEMORY_BARRIER *pNext = (VK_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
+        if (pNext->sType == VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER) {
+            VK_BUFFER_MEMORY_BARRIER *pNextBuf = (VK_BUFFER_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
             pNextBuf->buffer = saveBuf[idx];
-        } else if (pNext->sType == XGL_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER) {
-            XGL_IMAGE_MEMORY_BARRIER *pNextImg = (XGL_IMAGE_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
+        } else if (pNext->sType == VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER) {
+            VK_IMAGE_MEMORY_BARRIER *pNextImg = (VK_IMAGE_MEMORY_BARRIER *) pPacket->pWaitInfo->ppMemBarriers[idx];
             pNextImg->image = saveImg[idx];
         }
     }
     for (idx = 0; idx < pPacket->pWaitInfo->eventCount; idx++) {
-        XGL_EVENT *pEvent = (XGL_EVENT *) &(pPacket->pWaitInfo->pEvents[idx]);
+        VK_EVENT *pEvent = (VK_EVENT *) &(pPacket->pWaitInfo->pEvents[idx]);
         *pEvent = saveEvent[idx];
     }
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglCmdPipelineBarrier(struct_xglCmdPipelineBarrier* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkCmdPipelineBarrier(struct_vkCmdPipelineBarrier* pPacket)
 {
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
     uint32_t idx, numRemapBuf=0, numRemapImg=0;
-    XGL_BUFFER saveBuf[100];
-    XGL_IMAGE saveImg[100];
+    VK_BUFFER saveBuf[100];
+    VK_IMAGE saveImg[100];
     for (idx = 0; idx < pPacket->pBarrier->memBarrierCount; idx++)
     {
-        XGL_MEMORY_BARRIER *pNext = (XGL_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
+        VK_MEMORY_BARRIER *pNext = (VK_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
         assert(pNext);
-        if (pNext->sType == XGL_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER) {
-            XGL_BUFFER_MEMORY_BARRIER *pNextBuf = (XGL_BUFFER_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
+        if (pNext->sType == VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER) {
+            VK_BUFFER_MEMORY_BARRIER *pNextBuf = (VK_BUFFER_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
             assert(numRemapBuf < 100);
             saveBuf[numRemapBuf++] = pNextBuf->buffer;
             pNextBuf->buffer = m_objMapper.remap(pNextBuf->buffer);
-        } else if (pNext->sType == XGL_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER) {
-            XGL_IMAGE_MEMORY_BARRIER *pNextImg = (XGL_IMAGE_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
+        } else if (pNext->sType == VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER) {
+            VK_IMAGE_MEMORY_BARRIER *pNextImg = (VK_IMAGE_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
             assert(numRemapImg < 100);
             saveImg[numRemapImg++] = pNextImg->image;
             pNextImg->image = m_objMapper.remap(pNextImg->image);
         }
     }
-    m_xglFuncs.real_xglCmdPipelineBarrier(m_objMapper.remap(pPacket->cmdBuffer), pPacket->pBarrier);
+    m_vkFuncs.real_vkCmdPipelineBarrier(m_objMapper.remap(pPacket->cmdBuffer), pPacket->pBarrier);
     for (idx = 0; idx < pPacket->pBarrier->memBarrierCount; idx++) {
-        XGL_MEMORY_BARRIER *pNext = (XGL_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
-        if (pNext->sType == XGL_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER) {
-            XGL_BUFFER_MEMORY_BARRIER *pNextBuf = (XGL_BUFFER_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
+        VK_MEMORY_BARRIER *pNext = (VK_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
+        if (pNext->sType == VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER) {
+            VK_BUFFER_MEMORY_BARRIER *pNextBuf = (VK_BUFFER_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
             pNextBuf->buffer = saveBuf[idx];
-        } else if (pNext->sType == XGL_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER) {
-            XGL_IMAGE_MEMORY_BARRIER *pNextImg = (XGL_IMAGE_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
+        } else if (pNext->sType == VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER) {
+            VK_IMAGE_MEMORY_BARRIER *pNextImg = (VK_IMAGE_MEMORY_BARRIER *) pPacket->pBarrier->ppMemBarriers[idx];
             pNextImg->image = saveImg[idx];
         }
     }
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglCreateFramebuffer(struct_xglCreateFramebuffer* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkCreateFramebuffer(struct_vkCreateFramebuffer* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    XGL_FRAMEBUFFER_CREATE_INFO *pInfo = (XGL_FRAMEBUFFER_CREATE_INFO *) pPacket->pCreateInfo;
-    XGL_COLOR_ATTACHMENT_BIND_INFO *pColorAttachments, *pSavedColor = (XGL_COLOR_ATTACHMENT_BIND_INFO*)pInfo->pColorAttachments;
+    VK_FRAMEBUFFER_CREATE_INFO *pInfo = (VK_FRAMEBUFFER_CREATE_INFO *) pPacket->pCreateInfo;
+    VK_COLOR_ATTACHMENT_BIND_INFO *pColorAttachments, *pSavedColor = (VK_COLOR_ATTACHMENT_BIND_INFO*)pInfo->pColorAttachments;
     bool allocatedColorAttachments = false;
     if (pSavedColor != NULL)
     {
         allocatedColorAttachments = true;
-        pColorAttachments = GLV_NEW_ARRAY(XGL_COLOR_ATTACHMENT_BIND_INFO, pInfo->colorAttachmentCount);
-        memcpy(pColorAttachments, pSavedColor, sizeof(XGL_COLOR_ATTACHMENT_BIND_INFO) * pInfo->colorAttachmentCount);
+        pColorAttachments = GLV_NEW_ARRAY(VK_COLOR_ATTACHMENT_BIND_INFO, pInfo->colorAttachmentCount);
+        memcpy(pColorAttachments, pSavedColor, sizeof(VK_COLOR_ATTACHMENT_BIND_INFO) * pInfo->colorAttachmentCount);
         for (uint32_t i = 0; i < pInfo->colorAttachmentCount; i++)
         {
             pColorAttachments[i].view = m_objMapper.remap(pInfo->pColorAttachments[i].view);
@@ -830,19 +835,19 @@
         pInfo->pColorAttachments = pColorAttachments;
     }
     // remap depth stencil target
-    const XGL_DEPTH_STENCIL_BIND_INFO *pSavedDS = pInfo->pDepthStencilAttachment;
-    XGL_DEPTH_STENCIL_BIND_INFO depthTarget;
+    const VK_DEPTH_STENCIL_BIND_INFO *pSavedDS = pInfo->pDepthStencilAttachment;
+    VK_DEPTH_STENCIL_BIND_INFO depthTarget;
     if (pSavedDS != NULL)
     {
-        memcpy(&depthTarget, pSavedDS, sizeof(XGL_DEPTH_STENCIL_BIND_INFO));
+        memcpy(&depthTarget, pSavedDS, sizeof(VK_DEPTH_STENCIL_BIND_INFO));
         depthTarget.view = m_objMapper.remap(pSavedDS->view);
         pInfo->pDepthStencilAttachment = &depthTarget;
     }
-    XGL_FRAMEBUFFER local_framebuffer;
-    replayResult = m_xglFuncs.real_xglCreateFramebuffer(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &local_framebuffer);
+    VK_FRAMEBUFFER local_framebuffer;
+    replayResult = m_vkFuncs.real_vkCreateFramebuffer(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &local_framebuffer);
     pInfo->pColorAttachments = pSavedColor;
     pInfo->pDepthStencilAttachment = pSavedDS;
-    if (replayResult == XGL_SUCCESS)
+    if (replayResult == VK_SUCCESS)
     {
         m_objMapper.add_to_map(pPacket->pFramebuffer, &local_framebuffer);
     }
@@ -850,56 +855,55 @@
     {
         GLV_DELETE((void*)pColorAttachments);
     }
-    CHECK_RETURN_VALUE(xglCreateFramebuffer);
+    CHECK_RETURN_VALUE(vkCreateFramebuffer);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglCreateRenderPass(struct_xglCreateRenderPass* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkCreateRenderPass(struct_vkCreateRenderPass* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    XGL_RENDER_PASS local_renderpass;
-    replayResult = m_xglFuncs.real_xglCreateRenderPass(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &local_renderpass);
-    if (replayResult == XGL_SUCCESS)
+    VK_RENDER_PASS local_renderpass;
+    replayResult = m_vkFuncs.real_vkCreateRenderPass(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &local_renderpass);
+    if (replayResult == VK_SUCCESS)
     {
         m_objMapper.add_to_map(pPacket->pRenderPass, &local_renderpass);
     }
-    CHECK_RETURN_VALUE(xglCreateRenderPass);
+    CHECK_RETURN_VALUE(vkCreateRenderPass);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglBeginCommandBuffer(struct_xglBeginCommandBuffer* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkBeginCommandBuffer(struct_vkBeginCommandBuffer* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    XGL_CMD_BUFFER_BEGIN_INFO* pInfo = (XGL_CMD_BUFFER_BEGIN_INFO*)pPacket->pBeginInfo;
+    VK_CMD_BUFFER_BEGIN_INFO* pInfo = (VK_CMD_BUFFER_BEGIN_INFO*)pPacket->pBeginInfo;
     // assume only zero or one graphics_begin_info in the chain
-    XGL_RENDER_PASS_BEGIN savedRP, *pRP;
-    XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO *pGInfo = NULL;
+    VK_RENDER_PASS_BEGIN savedRP, *pRP;
+    VK_CMD_BUFFER_GRAPHICS_BEGIN_INFO *pGInfo = NULL;
     while (pInfo != NULL)
     {
-
-        if (pInfo->sType == XGL_STRUCTURE_TYPE_CMD_BUFFER_GRAPHICS_BEGIN_INFO)
+        if (pInfo->sType == VK_STRUCTURE_TYPE_CMD_BUFFER_GRAPHICS_BEGIN_INFO)
         {
-            pGInfo = (XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO *) pInfo;
+            pGInfo = (VK_CMD_BUFFER_GRAPHICS_BEGIN_INFO *) pInfo;
             savedRP = pGInfo->renderPassContinue;
             pRP = &(pGInfo->renderPassContinue);
             pRP->renderPass = m_objMapper.remap(savedRP.renderPass);
             pRP->framebuffer = m_objMapper.remap(savedRP.framebuffer);
             break;
         }
-        pInfo = (XGL_CMD_BUFFER_BEGIN_INFO*) pInfo->pNext;
+        pInfo = (VK_CMD_BUFFER_BEGIN_INFO*) pInfo->pNext;
     }
-    replayResult = m_xglFuncs.real_xglBeginCommandBuffer(m_objMapper.remap(pPacket->cmdBuffer), pPacket->pBeginInfo);
+    replayResult = m_vkFuncs.real_vkBeginCommandBuffer(m_objMapper.remap(pPacket->cmdBuffer), pPacket->pBeginInfo);
     if (pGInfo != NULL)
         pGInfo->renderPassContinue = savedRP;
-    CHECK_RETURN_VALUE(xglBeginCommandBuffer);
+    CHECK_RETURN_VALUE(vkBeginCommandBuffer);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglStorePipeline(struct_xglStorePipeline* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkStorePipeline(struct_vkStorePipeline* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
     size_t size = 0;
     void* pData = NULL;
@@ -908,91 +912,91 @@
         size = *pPacket->pDataSize;
         pData = glv_malloc(*pPacket->pDataSize);
     }
-    replayResult = m_xglFuncs.real_xglStorePipeline(m_objMapper.remap(pPacket->pipeline), &size, pData);
-    if (replayResult == XGL_SUCCESS)
+    replayResult = m_vkFuncs.real_vkStorePipeline(m_objMapper.remap(pPacket->pipeline), &size, pData);
+    if (replayResult == VK_SUCCESS)
     {
         if (size != *pPacket->pDataSize && pData != NULL)
         {
-            glv_LogWarn("xglStorePipeline returned a differing data size: replay (%d bytes) vs trace (%d bytes)\n", size, *pPacket->pDataSize);
+            glv_LogWarn("vkStorePipeline returned a differing data size: replay (%d bytes) vs trace (%d bytes)\n", size, *pPacket->pDataSize);
         }
         else if (pData != NULL && memcmp(pData, pPacket->pData, size) != 0)
         {
-            glv_LogWarn("xglStorePipeline returned differing data contents than the trace file contained.\n");
+            glv_LogWarn("vkStorePipeline returned differing data contents than the trace file contained.\n");
         }
     }
     glv_free(pData);
-    CHECK_RETURN_VALUE(xglStorePipeline);
+    CHECK_RETURN_VALUE(vkStorePipeline);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglGetMultiGpuCompatibility(struct_xglGetMultiGpuCompatibility* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkGetMultiGpuCompatibility(struct_vkGetMultiGpuCompatibility* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    XGL_GPU_COMPATIBILITY_INFO cInfo;
-    XGL_PHYSICAL_GPU handle0, handle1;
+    VK_GPU_COMPATIBILITY_INFO cInfo;
+    VK_PHYSICAL_GPU handle0, handle1;
     handle0 = m_objMapper.remap(pPacket->gpu0);
     handle1 = m_objMapper.remap(pPacket->gpu1);
-    replayResult = m_xglFuncs.real_xglGetMultiGpuCompatibility(handle0, handle1, &cInfo);
-    CHECK_RETURN_VALUE(xglGetMultiGpuCompatibility);
+    replayResult = m_vkFuncs.real_vkGetMultiGpuCompatibility(handle0, handle1, &cInfo);
+    CHECK_RETURN_VALUE(vkGetMultiGpuCompatibility);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglDestroyObject(struct_xglDestroyObject* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkDestroyObject(struct_vkDestroyObject* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    XGL_OBJECT object = m_objMapper.remap(pPacket->object);
-    if (object != XGL_NULL_HANDLE)
-        replayResult = m_xglFuncs.real_xglDestroyObject(object);
-    if (replayResult == XGL_SUCCESS)
+    VK_OBJECT object = m_objMapper.remap(pPacket->object);
+    if (object != VK_NULL_HANDLE)
+        replayResult = m_vkFuncs.real_vkDestroyObject(object);
+    if (replayResult == VK_SUCCESS)
         m_objMapper.rm_from_map(pPacket->object);
-    CHECK_RETURN_VALUE(xglDestroyObject);
+    CHECK_RETURN_VALUE(vkDestroyObject);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglWaitForFences(struct_xglWaitForFences* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkWaitForFences(struct_vkWaitForFences* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
-    XGL_FENCE *pFence = GLV_NEW_ARRAY(XGL_FENCE, pPacket->fenceCount);
+    VK_FENCE *pFence = GLV_NEW_ARRAY(VK_FENCE, pPacket->fenceCount);
     for (uint32_t i = 0; i < pPacket->fenceCount; i++)
     {
         *(pFence + i) = m_objMapper.remap(*(pPacket->pFences + i));
     }
-    replayResult = m_xglFuncs.real_xglWaitForFences(m_objMapper.remap(pPacket->device), pPacket->fenceCount, pFence, pPacket->waitAll, pPacket->timeout);
+    replayResult = m_vkFuncs.real_vkWaitForFences(m_objMapper.remap(pPacket->device), pPacket->fenceCount, pFence, pPacket->waitAll, pPacket->timeout);
     GLV_DELETE(pFence);
-    CHECK_RETURN_VALUE(xglWaitForFences);
+    CHECK_RETURN_VALUE(vkWaitForFences);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglFreeMemory(struct_xglFreeMemory* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkFreeMemory(struct_vkFreeMemory* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
     gpuMemObj local_mem;
     local_mem = m_objMapper.m_gpuMemorys.find(pPacket->mem)->second;
     // TODO how/when to free pendingAlloc that did not use and existing gpuMemObj
-    replayResult = m_xglFuncs.real_xglFreeMemory(local_mem.replayGpuMem);
-    if (replayResult == XGL_SUCCESS)
+    replayResult = m_vkFuncs.real_vkFreeMemory(local_mem.replayGpuMem);
+    if (replayResult == VK_SUCCESS)
     {
         delete local_mem.pGpuMem;
         m_objMapper.rm_from_map(pPacket->mem);
     }
-    CHECK_RETURN_VALUE(xglFreeMemory);
+    CHECK_RETURN_VALUE(vkFreeMemory);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglMapMemory(struct_xglMapMemory* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkMapMemory(struct_vkMapMemory* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
     gpuMemObj local_mem = m_objMapper.m_gpuMemorys.find(pPacket->mem)->second;
     void* pData;
     if (!local_mem.pGpuMem->isPendingAlloc())
     {
-        replayResult = m_xglFuncs.real_xglMapMemory(local_mem.replayGpuMem, pPacket->flags, &pData);
-        if (replayResult == XGL_SUCCESS)
+        replayResult = m_vkFuncs.real_vkMapMemory(local_mem.replayGpuMem, pPacket->flags, &pData);
+        if (replayResult == VK_SUCCESS)
         {
             if (local_mem.pGpuMem)
             {
@@ -1007,13 +1011,13 @@
             local_mem.pGpuMem->setMemoryMapRange(NULL, 0, 0, true);
         }
     }
-    CHECK_RETURN_VALUE(xglMapMemory);
+    CHECK_RETURN_VALUE(vkMapMemory);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglUnmapMemory(struct_xglUnmapMemory* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkUnmapMemory(struct_vkUnmapMemory* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
     gpuMemObj local_mem = m_objMapper.m_gpuMemorys.find(pPacket->mem)->second;
     if (!local_mem.pGpuMem->isPendingAlloc())
@@ -1022,7 +1026,7 @@
         {
             local_mem.pGpuMem->copyMappingData(pPacket->pData);  // copies data from packet into memory buffer
         }
-        replayResult = m_xglFuncs.real_xglUnmapMemory(local_mem.replayGpuMem);
+        replayResult = m_vkFuncs.real_vkUnmapMemory(local_mem.replayGpuMem);
     }
     else
     {
@@ -1037,80 +1041,80 @@
             local_mem.pGpuMem->copyMappingData(pPacket->pData);
         }
     }
-    CHECK_RETURN_VALUE(xglUnmapMemory);
+    CHECK_RETURN_VALUE(vkUnmapMemory);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglWsiX11AssociateConnection(struct_xglWsiX11AssociateConnection* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkWsiX11AssociateConnection(struct_vkWsiX11AssociateConnection* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
     //associate with the replayers Wsi connection rather than tracers
-    replayResult = m_xglFuncs.real_xglWsiX11AssociateConnection(m_objMapper.remap(pPacket->gpu), &(m_display->m_WsiConnection));
+    replayResult = m_vkFuncs.real_vkWsiX11AssociateConnection(m_objMapper.remap(pPacket->gpu), &(m_display->m_WsiConnection));
 #elif defined(WIN32)
     //TBD
-    replayResult = XGL_SUCCESS;
+    replayResult = VK_SUCCESS;
 #endif
-    CHECK_RETURN_VALUE(xglWsiX11AssociateConnection);
+    CHECK_RETURN_VALUE(vkWsiX11AssociateConnection);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglWsiX11GetMSC(struct_xglWsiX11GetMSC* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkWsiX11GetMSC(struct_vkWsiX11GetMSC* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
     xcb_window_t window = m_display->m_XcbWindow;
-    replayResult = m_xglFuncs.real_xglWsiX11GetMSC(m_objMapper.remap(pPacket->device), window, pPacket->crtc, pPacket->pMsc);
+    replayResult = m_vkFuncs.real_vkWsiX11GetMSC(m_objMapper.remap(pPacket->device), window, pPacket->crtc, pPacket->pMsc);
 #elif defined(WIN32)
     //TBD
-    replayResult = XGL_SUCCESS;
+    replayResult = VK_SUCCESS;
 #else
 #endif
-    CHECK_RETURN_VALUE(xglWsiX11GetMSC);
+    CHECK_RETURN_VALUE(vkWsiX11GetMSC);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglWsiX11CreatePresentableImage(struct_xglWsiX11CreatePresentableImage* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkWsiX11CreatePresentableImage(struct_vkWsiX11CreatePresentableImage* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
     imageObj local_imgObj;
     gpuMemObj local_mem;
     m_display->imageHeight.push_back(pPacket->pCreateInfo->extent.height);
     m_display->imageWidth.push_back(pPacket->pCreateInfo->extent.width);
-    replayResult = m_xglFuncs.real_xglWsiX11CreatePresentableImage(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &local_imgObj.replayImage, &local_mem.replayGpuMem);
-    if (replayResult == XGL_SUCCESS)
+    replayResult = m_vkFuncs.real_vkWsiX11CreatePresentableImage(m_objMapper.remap(pPacket->device), pPacket->pCreateInfo, &local_imgObj.replayImage, &local_mem.replayGpuMem);
+    if (replayResult == VK_SUCCESS)
     {
         if (pPacket->pImage != NULL)
             m_objMapper.add_to_map(pPacket->pImage, &local_imgObj);
-        if(pPacket->pMem != NULL)
+        if (pPacket->pMem != NULL)
             m_objMapper.add_to_map(pPacket->pMem, &local_mem);
         m_display->imageHandles.push_back(local_imgObj.replayImage);
         m_display->imageMemory.push_back(local_mem.replayGpuMem);
     }
 #elif defined(WIN32)
     //TBD
-    replayResult = XGL_SUCCESS;
+    replayResult = VK_SUCCESS;
 #endif
-    CHECK_RETURN_VALUE(xglWsiX11CreatePresentableImage);
+    CHECK_RETURN_VALUE(vkWsiX11CreatePresentableImage);
     return returnValue;
 }
 
-glv_replay::GLV_REPLAY_RESULT xglReplay::manually_handle_xglWsiX11QueuePresent(struct_xglWsiX11QueuePresent* pPacket)
+glv_replay::GLV_REPLAY_RESULT vkReplay::manually_handle_vkWsiX11QueuePresent(struct_vkWsiX11QueuePresent* pPacket)
 {
-    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;
+    VK_RESULT replayResult = VK_ERROR_UNKNOWN;
     glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
-    XGL_WSI_X11_PRESENT_INFO pInfo;
+    VK_WSI_X11_PRESENT_INFO pInfo;
     std::vector<int>::iterator it;
-    memcpy(&pInfo, pPacket->pPresentInfo, sizeof(XGL_WSI_X11_PRESENT_INFO));
+    memcpy(&pInfo, pPacket->pPresentInfo, sizeof(VK_WSI_X11_PRESENT_INFO));
     pInfo.srcImage = m_objMapper.remap(pPacket->pPresentInfo->srcImage);
     // use replayers Xcb window
     pInfo.destWindow = m_display->m_XcbWindow;
-    replayResult = m_xglFuncs.real_xglWsiX11QueuePresent(m_objMapper.remap(pPacket->queue), &pInfo, m_objMapper.remap(pPacket->fence));
+    replayResult = m_vkFuncs.real_vkWsiX11QueuePresent(m_objMapper.remap(pPacket->queue), &pInfo, m_objMapper.remap(pPacket->fence));
     it = std::find(m_screenshotFrames.begin(), m_screenshotFrames.end(), m_display->m_frameNumber);
     if (it != m_screenshotFrames.end())
     {
@@ -1121,17 +1125,17 @@
                 char frameName[32];
                 sprintf(frameName, "%d",m_display->m_frameNumber);
                 glvWritePPM(frameName, m_display->imageWidth[i], m_display->imageHeight[i],
-                    m_display->imageHandles[i], m_display->imageMemory[i], &m_xglFuncs);
+                    m_display->imageHandles[i], m_display->imageMemory[i], &m_vkFuncs);
                 break;
             }
         }
     }
 #elif defined(WIN32)
     //TBD
-    replayResult = XGL_SUCCESS;
+    replayResult = VK_SUCCESS;
 #endif
     m_display->m_frameNumber++;
-    CHECK_RETURN_VALUE(xglWsiX11QueuePresent);
+    CHECK_RETURN_VALUE(vkWsiX11QueuePresent);
     return returnValue;
 }
 
diff --git a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkreplay.h b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkreplay.h
index 2563511..19dd788 100644
--- a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkreplay.h
+++ b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_vkreplay.h
@@ -1,7 +1,7 @@
 /* THIS FILE IS GENERATED.  DO NOT EDIT. */
 
 /*
- * XGL
+ * Vulkan
  *
  * Copyright (C) 2014 LunarG, Inc.
  *
@@ -43,80 +43,80 @@
 #include "glv_vk_vkwsix11ext_structs.h"
 }
 
-#include "xgl.h"
-#include "xglDbg.h"
+#include "vulkan.h"
+#include "vkDbg.h"
 #if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)
-#include "xglWsiX11Ext.h"
+#include "vkWsiX11Ext.h"
 #else
-#include "xglWsiWinExt.h"
+#include "vkWsiWinExt.h"
 #endif
 #include "glave_snapshot.h"
-#include "glvreplay_xgl_xgldisplay.h"
-#include "glvreplay_xgl_func_ptrs.h"
-#include "glvreplay_xgl_objmapper.h"
+#include "glvreplay_vk_vkdisplay.h"
+#include "glvreplay_vk_func_ptrs.h"
+#include "glvreplay_vk_objmapper.h"
 
 #define CHECK_RETURN_VALUE(entrypoint) returnValue = handle_replay_errors(#entrypoint, replayResult, pPacket->result, returnValue);
 
-class xglReplay {
+class vkReplay {
 public:
-    ~xglReplay();
-    xglReplay(glvreplay_settings *pReplaySettings);
+    ~vkReplay();
+    vkReplay(glvreplay_settings *pReplaySettings);
 
     int init(glv_replay::Display & disp);
-    xglDisplay * get_display() {return m_display;}
+    vkDisplay * get_display() {return m_display;}
     glv_replay::GLV_REPLAY_RESULT replay(glv_trace_packet_header *packet);
-    glv_replay::GLV_REPLAY_RESULT handle_replay_errors(const char* entrypointName, const XGL_RESULT resCall, const XGL_RESULT resTrace, const glv_replay::GLV_REPLAY_RESULT resIn);
+    glv_replay::GLV_REPLAY_RESULT handle_replay_errors(const char* entrypointName, const VK_RESULT resCall, const VK_RESULT resTrace, const glv_replay::GLV_REPLAY_RESULT resIn);
 
-    void push_validation_msg(XGL_VALIDATION_LEVEL validationLevel, XGL_BASE_OBJECT srcObject, size_t location, int32_t msgCode, const char* pMsg);
+    void push_validation_msg(VK_VALIDATION_LEVEL validationLevel, VK_BASE_OBJECT srcObject, size_t location, int32_t msgCode, const char* pMsg);
     glv_replay::GLV_REPLAY_RESULT pop_validation_msgs();
     int dump_validation_data();
 private:
-    struct xglFuncs m_xglFuncs;
-    xglReplayObjMapper m_objMapper;
-    void (*m_pDSDump) (char*);
-    void (*m_pCBDump) (char*);
+    struct vkFuncs m_vkFuncs;
+    vkReplayObjMapper m_objMapper;
+    void (*m_pDSDump)(char*);
+    void (*m_pCBDump)(char*);
     GLVSNAPSHOT_PRINT_OBJECTS m_pGlvSnapshotPrint;
-    xglDisplay *m_display;
+    vkDisplay *m_display;
     struct shaderPair {
-        XGL_SHADER *addr;
-        XGL_SHADER val;
+        VK_SHADER *addr;
+        VK_SHADER val;
     };
     struct validationMsg {
-        XGL_VALIDATION_LEVEL validationLevel;
-        XGL_BASE_OBJECT srcObject;
+        VK_VALIDATION_LEVEL validationLevel;
+        VK_BASE_OBJECT srcObject;
         size_t location;
         int32_t msgCode;
         char msg[256];
     };
     std::vector<struct validationMsg> m_validationMsgs;
     std::vector<int> m_screenshotFrames;
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglCreateDevice(struct_xglCreateDevice* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglEnumerateGpus(struct_xglEnumerateGpus* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglGetGpuInfo(struct_xglGetGpuInfo* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglGetExtensionSupport(struct_xglGetExtensionSupport* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglQueueSubmit(struct_xglQueueSubmit* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglGetObjectInfo(struct_xglGetObjectInfo* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglGetFormatInfo(struct_xglGetFormatInfo* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglGetImageSubresourceInfo(struct_xglGetImageSubresourceInfo* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglUpdateDescriptors(struct_xglUpdateDescriptors* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglCreateDescriptorSetLayout(struct_xglCreateDescriptorSetLayout* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglCreateGraphicsPipeline(struct_xglCreateGraphicsPipeline* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglCmdWaitEvents(struct_xglCmdWaitEvents* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglCmdPipelineBarrier(struct_xglCmdPipelineBarrier* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglCreateFramebuffer(struct_xglCreateFramebuffer* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglCreateRenderPass(struct_xglCreateRenderPass* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglBeginCommandBuffer(struct_xglBeginCommandBuffer* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglStorePipeline(struct_xglStorePipeline* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglGetMultiGpuCompatibility(struct_xglGetMultiGpuCompatibility* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglDestroyObject(struct_xglDestroyObject* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglWaitForFences(struct_xglWaitForFences* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglFreeMemory(struct_xglFreeMemory* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglMapMemory(struct_xglMapMemory* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglUnmapMemory(struct_xglUnmapMemory* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglWsiX11AssociateConnection(struct_xglWsiX11AssociateConnection* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglWsiX11GetMSC(struct_xglWsiX11GetMSC* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglWsiX11CreatePresentableImage(struct_xglWsiX11CreatePresentableImage* pPacket);
-    glv_replay::GLV_REPLAY_RESULT manually_handle_xglWsiX11QueuePresent(struct_xglWsiX11QueuePresent* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkCreateDevice(struct_vkCreateDevice* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkEnumerateGpus(struct_vkEnumerateGpus* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkGetGpuInfo(struct_vkGetGpuInfo* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkGetExtensionSupport(struct_vkGetExtensionSupport* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkQueueSubmit(struct_vkQueueSubmit* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkGetObjectInfo(struct_vkGetObjectInfo* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkGetFormatInfo(struct_vkGetFormatInfo* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkGetImageSubresourceInfo(struct_vkGetImageSubresourceInfo* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkUpdateDescriptors(struct_vkUpdateDescriptors* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkCreateDescriptorSetLayout(struct_vkCreateDescriptorSetLayout* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkCreateGraphicsPipeline(struct_vkCreateGraphicsPipeline* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkCmdWaitEvents(struct_vkCmdWaitEvents* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkCmdPipelineBarrier(struct_vkCmdPipelineBarrier* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkCreateFramebuffer(struct_vkCreateFramebuffer* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkCreateRenderPass(struct_vkCreateRenderPass* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkBeginCommandBuffer(struct_vkBeginCommandBuffer* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkStorePipeline(struct_vkStorePipeline* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkGetMultiGpuCompatibility(struct_vkGetMultiGpuCompatibility* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkDestroyObject(struct_vkDestroyObject* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkWaitForFences(struct_vkWaitForFences* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkFreeMemory(struct_vkFreeMemory* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkMapMemory(struct_vkMapMemory* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkUnmapMemory(struct_vkUnmapMemory* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkWsiX11AssociateConnection(struct_vkWsiX11AssociateConnection* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkWsiX11GetMSC(struct_vkWsiX11GetMSC* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkWsiX11CreatePresentableImage(struct_vkWsiX11CreatePresentableImage* pPacket);
+    glv_replay::GLV_REPLAY_RESULT manually_handle_vkWsiX11QueuePresent(struct_vkWsiX11QueuePresent* pPacket);
 
     void process_screenshot_list(const char *list)
     {
diff --git a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_write_ppm.h b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_write_ppm.h
index 56a1700..9f8efd9 100644
--- a/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_write_ppm.h
+++ b/tools/glave/src/glv_extensions/glvreplay_vk/glvreplay_vk_write_ppm.h
@@ -7,29 +7,29 @@
 #include <fstream>
 #include <string>
 
-void glvWritePPM( const char *basename, uint32_t width, uint32_t height, XGL_IMAGE img, XGL_GPU_MEMORY mem, xglFuncs *pXglFuncs)
+void glvWritePPM( const char *basename, uint32_t width, uint32_t height, VK_IMAGE img, VK_GPU_MEMORY mem, vkFuncs *pVkFuncs)
 {
     std::string filename;
-    XGL_RESULT err;
+    VK_RESULT err;
     unsigned int x, y;
 
     filename.append(basename);
     filename.append(".ppm");
 
-    const XGL_IMAGE_SUBRESOURCE sr = {
-        XGL_IMAGE_ASPECT_COLOR, 0, 0
+    const VK_IMAGE_SUBRESOURCE sr = {
+        VK_IMAGE_ASPECT_COLOR, 0, 0
     };
-    XGL_SUBRESOURCE_LAYOUT sr_layout;
+    VK_SUBRESOURCE_LAYOUT sr_layout;
     size_t data_size = sizeof(sr_layout);
 
-    err =  pXglFuncs->real_xglGetImageSubresourceInfo( img, &sr,
-                                      XGL_INFO_TYPE_SUBRESOURCE_LAYOUT,
+    err =  pVkFuncs->real_vkGetImageSubresourceInfo( img, &sr,
+                                      VK_INFO_TYPE_SUBRESOURCE_LAYOUT,
                                       &data_size, &sr_layout);
     assert(!err);
 
     const char *ptr;
 
-    err = pXglFuncs->real_xglMapMemory( mem, 0, (void **) &ptr );
+    err = pVkFuncs->real_vkMapMemory( mem, 0, (void **) &ptr );
     assert(!err);
 
     ptr += sr_layout.offset;
@@ -56,6 +56,6 @@
 
     file.close();
 
-    err = pXglFuncs->real_xglUnmapMemory( mem );
+    err = pVkFuncs->real_vkUnmapMemory( mem );
     assert(!err);
 }
diff --git a/tools/glave/src/glv_extensions/glvtrace_vk/CMakeLists.txt b/tools/glave/src/glv_extensions/glvtrace_vk/CMakeLists.txt
index b37b492..0fa7707 100644
--- a/tools/glave/src/glv_extensions/glvtrace_vk/CMakeLists.txt
+++ b/tools/glave/src/glv_extensions/glvtrace_vk/CMakeLists.txt
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.8)
 
-project(glvtrace_xgl)
+project(glvtrace_vk)
 
 include("${SRC_DIR}/build_options.cmake")
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/../../..)
@@ -9,57 +9,57 @@
 
 file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/codegen)
 
-add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_xgl_xgl.h
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_xgl_xgl.c
+add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_vk_vk.h
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_vk_vk.c
                           ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glv_vk_packet_id.h
                           ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glv_vk_vk_structs.h
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_xgl_xglwsix11ext.h
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_xgl_xglwsix11ext.c
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_vk_vkwsix11ext.h
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_vk_vkwsix11ext.c
                           ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glv_vk_vkwsix11ext_structs.h
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_xgl_xgldbg.h
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_xgl_xgldbg.c
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_vk_vkdbg.h
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glvtrace_vk_vkdbg.c
                           ${CMAKE_CURRENT_SOURCE_DIR}/codegen/glv_vk_vkdbg_structs.h
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/xgl_struct_size_helper.h
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/xgl_struct_size_helper.c
-                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/xgl_enum_string_helper.h
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-trace-h > glvtrace_xgl_xgl.h
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-trace-c > glvtrace_xgl_xgl.c
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/vk_struct_size_helper.h
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/vk_struct_size_helper.c
+                          ${CMAKE_CURRENT_SOURCE_DIR}/codegen/vk_enum_string_helper.h
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-trace-h > glvtrace_vk_vk.h
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-trace-c > glvtrace_vk_vk.c
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-packet-id > glv_vk_packet_id.h
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-core-structs > glv_vk_vk_structs.h
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-wsi-trace-h > glvtrace_xgl_xglwsix11ext.h
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-wsi-trace-c > glvtrace_xgl_xglwsix11ext.c
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-wsi-trace-h > glvtrace_vk_vkwsix11ext.h
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-wsi-trace-c > glvtrace_vk_vkwsix11ext.c
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-wsi-trace-structs > glv_vk_vkwsix11ext_structs.h
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-dbg-trace-h > glvtrace_xgl_xgldbg.h
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-dbg-trace-c > glvtrace_xgl_xgldbg.c
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-dbg-trace-h > glvtrace_vk_vkdbg.h
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-dbg-trace-c > glvtrace_vk_vkdbg.c
         COMMAND ${PYTHON_CMD} ${SRC_DIR}/../scripts/vk_generate.py glave-dbg-trace-structs > glv_vk_vkdbg_structs.h
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../../../xgl_helper.py --gen_struct_wrappers ${SRC_DIR}/../../../include/xgl.h --abs_out_dir ${CMAKE_CURRENT_SOURCE_DIR}/codegen
-        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../../../xgl_helper.py --gen_enum_string_helper ${SRC_DIR}/../../../include/xgl.h --abs_out_dir ${CMAKE_CURRENT_SOURCE_DIR}/codegen
-                   DEPENDS ${SRC_DIR}/../../../xgl_helper.py
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../../../vk_helper.py --gen_struct_wrappers ${SRC_DIR}/../../../include/vulkan.h --abs_out_dir ${CMAKE_CURRENT_SOURCE_DIR}/codegen
+        COMMAND ${PYTHON_CMD} ${SRC_DIR}/../../../vk_helper.py --gen_enum_string_helper ${SRC_DIR}/../../../include/vulkan.h --abs_out_dir ${CMAKE_CURRENT_SOURCE_DIR}/codegen
+                   DEPENDS ${SRC_DIR}/../../../vk_helper.py
                            ${SRC_DIR}/../scripts/vk_generate.py
                    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/codegen)
 
 set(SRC_LIST
     ${SRC_LIST}
-    glvtrace_xgl.c
-    glvtrace_xgl_trace.c
-    codegen/xgl_struct_size_helper.c
-    codegen/glvtrace_xgl_xgl.c
-    codegen/glvtrace_xgl_xgldbg.c
-    codegen/glvtrace_xgl_xglwsix11ext.c
+    glvtrace_vk.c
+    glvtrace_vk_trace.c
+    codegen/vk_struct_size_helper.c
+    codegen/glvtrace_vk_vk.c
+    codegen/glvtrace_vk_vkdbg.c
+    codegen/glvtrace_vk_vkwsix11ext.c
 )
 
 set_source_files_properties( ${SRC_LIST} PROPERTIES LANGUAGE C)
 
 set (HDR_LIST
     codegen/glv_vk_packet_id.h
-    codegen/glvtrace_xgl_xgl.h
+    codegen/glvtrace_vk_vk.h
     codegen/glv_vk_vk_structs.h
-    codegen/glvtrace_xgl_xgldbg.h
+    codegen/glvtrace_vk_vkdbg.h
     codegen/glv_vk_vkdbg_structs.h
-    codegen/glvtrace_xgl_xglwsix11ext.h
+    codegen/glvtrace_vk_vkwsix11ext.h
     codegen/glv_vk_vkwsix11ext_structs.h
-    codegen/xgl_struct_size_helper.h
-    codegen/xgl_enum_string_helper.h
+    codegen/vk_struct_size_helper.h
+    codegen/vk_enum_string_helper.h
 )
 
 include_directories(
@@ -75,20 +75,20 @@
 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 target_link_libraries(${PROJECT_NAME} 
     glvcommon
-    ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/libXGL.so
+    ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/libvulkan.so
     -shared
     -ldl
 )
 endif()
 
 if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
-    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES -DXCB_NVIDIA")
-    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DXGL_PROTOTYPES -DXCB_NVIDIA")
-    set(PATH_TO_WIN_XGL ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/${CMAKE_CFG_INTDIR})
+    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVK_PROTOTYPES -DXCB_NVIDIA")
+    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVK_PROTOTYPES -DXCB_NVIDIA")
+    set(PATH_TO_WIN_VULKAN ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/${CMAKE_CFG_INTDIR})
     set(PATH_TO_MHOOK ${CMAKE_CURRENT_BINARY_DIR}/../../thirdparty/mhook/mhook-lib/${CMAKE_CFG_INTDIR})
     set(PATH_TO_DISASM ${CMAKE_CURRENT_BINARY_DIR}/../../thirdparty/mhook/disasm-lib/${CMAKE_CFG_INTDIR})
     set(OS_REPLAYER_LIBS
-        ${PATH_TO_WIN_XGL}/XGL.lib
+        ${PATH_TO_WIN_VULKAN}/vulkan.lib
         ${PATH_TO_MHOOK}/mhook.lib
         ${PATH_TO_DISASM}/disasm.lib
         xcb_nvidia
@@ -101,4 +101,4 @@
 
 build_options_finalize()
 
-set_target_properties(glvtrace_xgl PROPERTIES LINKER_LANGUAGE C)
+set_target_properties(glvtrace_vk PROPERTIES LINKER_LANGUAGE C)
diff --git a/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk.c b/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk.c
index c5a04fb..c5f3a88 100644
--- a/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk.c
+++ b/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk.c
@@ -29,14 +29,14 @@
 #include "glv_common.h"
 #include "glv_filelike.h"
 #include "glv_interconnect.h"
-#include "glvtrace_xgl_xgl.h"
-#include "glvtrace_xgl_xgldbg.h"
-#include "glvtrace_xgl_xglwsix11ext.h"
+#include "glvtrace_vk_vk.h"
+#include "glvtrace_vk_vkdbg.h"
+#include "glvtrace_vk_vkwsix11ext.h"
 
 // this is needed to be loaded by glvtrace
 GLVTRACER_EXPORT GLV_TRACER_ID GLVTRACER_CDECL GLV_GetTracerId(void)
 {
-    return GLV_TID_XGL;
+    return GLV_TID_VULKAN;
 }
 
 GLVTRACER_LEAVE _Unload(void);
@@ -44,7 +44,7 @@
 #ifdef PLATFORM_LINUX
 static void glv_sighandler(int signum, siginfo_t *info, void *ptr)
 {
-   glv_LogInfo("glvtrace_xgl library handle signal %d\n", signum);
+   glv_LogInfo("glvtrace_vk library handle signal %d\n", signum);
     _Unload();
     kill(0, signum);
 }
@@ -52,7 +52,7 @@
 
 GLVTRACER_EXIT TrapExit(void)
 {
-    glv_LogInfo("glvtrace_xgl TrapExit\n");
+    glv_LogInfo("glvtrace_vk TrapExit\n");
 }
 
 extern
@@ -61,7 +61,7 @@
     // only do the hooking and networking if the tracer is NOT loaded by glvtrace
     if (glv_is_loaded_into_glvtrace() == FALSE)
     {
-        glv_LogInfo("glvtrace_xgl library loaded into PID %d\n", glv_get_pid());
+        glv_LogInfo("glvtrace_vk library loaded into PID %d\n", glv_get_pid());
         atexit(TrapExit);
 
         // If you need to debug startup, build with this set to true, then attach and change it to false.
@@ -73,8 +73,8 @@
     #endif
 #ifndef PLATFORM_LINUX
         AttachHooks();
-        AttachHooks_xgldbg();
-        AttachHooks_xglwsix11ext();
+        AttachHooks_vkdbg();
+        AttachHooks_vkwsix11ext();
 #else
         struct sigaction act;
         memset(&act, 0 , sizeof(act));
@@ -92,10 +92,10 @@
     // only do the hooking and networking if the tracer is NOT loaded by glvtrace
     if (glv_is_loaded_into_glvtrace() == FALSE)
     {
-        glv_LogInfo("glvtrace_xgl library unloaded from PID %d\n", glv_get_pid());
+        glv_LogInfo("glvtrace_vk library unloaded from PID %d\n", glv_get_pid());
         DetachHooks();
-        DetachHooks_xgldbg();
-        DetachHooks_xglwsix11ext();
+        DetachHooks_vkdbg();
+        DetachHooks_vkwsix11ext();
         if (glv_trace_get_trace_file() != NULL) {
             glv_trace_packet_header* pHeader = glv_create_trace_packet(GLV_GetTracerId(), GLV_TPI_MARKER_TERMINATE_PROCESS, 0, 0);
             glv_finalize_trace_packet(pHeader);
diff --git a/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk_helpers.h b/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk_helpers.h
index e6fd0d1..e048601 100644
--- a/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk_helpers.h
+++ b/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk_helpers.h
@@ -25,37 +25,37 @@
 #pragma once
 
 #include "glv_platform.h"
-#include "glvtrace_xgl_xgl.h"
-#include "xgl_struct_size_helper.h"
+#include "glvtrace_vk_vk.h"
+#include "vk_struct_size_helper.h"
 
-// defined in generated file: glvtrace_xgl_xgl.c
+// defined in generated file: glvtrace_vk_vk.c
 extern BOOL isHooked;
 
 // Support for shadowing CPU mapped memory
-typedef struct _XGLAllocInfo {
-    XGL_GPU_SIZE   size;
-    XGL_GPU_MEMORY handle;
+typedef struct _VKAllocInfo {
+    VK_GPU_SIZE   size;
+    VK_GPU_MEMORY handle;
     void           *pData;
     BOOL           valid;
-} XGLAllocInfo;
+} VKAllocInfo;
 
-typedef struct _XGLMemInfo {
+typedef struct _VKMemInfo {
     unsigned int numEntrys;
-    XGLAllocInfo *pEntrys;
-    XGLAllocInfo *pLastMapped;
+    VKAllocInfo *pEntrys;
+    VKAllocInfo *pLastMapped;
     unsigned int capacity;
-} XGLMemInfo;
+} VKMemInfo;
 
-// defined in manually written file: glvtrace_xgl_trace.c
-extern XGLMemInfo g_memInfo;
+// defined in manually written file: glvtrace_vk_trace.c
+extern VKMemInfo g_memInfo;
 extern GLV_CRITICAL_SECTION g_memInfoLock;
 
-static void init_mem_info_entrys(XGLAllocInfo *ptr, const unsigned int num)
+static void init_mem_info_entrys(VKAllocInfo *ptr, const unsigned int num)
 {
     unsigned int i;
     for (i = 0; i < num; i++)
     {
-        XGLAllocInfo *entry = ptr + i;
+        VKAllocInfo *entry = ptr + i;
         entry->pData = NULL;
         entry->size  = 0;
         entry->handle = NULL;
@@ -70,7 +70,7 @@
     g_memInfo.capacity = 4096;
     g_memInfo.pLastMapped = NULL;
 
-    g_memInfo.pEntrys = GLV_NEW_ARRAY(XGLAllocInfo, g_memInfo.capacity);
+    g_memInfo.pEntrys = GLV_NEW_ARRAY(VKAllocInfo, g_memInfo.capacity);
 
     if (g_memInfo.pEntrys == NULL)
         glv_LogError("init_mem_info()  malloc failed\n");
@@ -89,10 +89,10 @@
 }
 
 // caller must hold the g_memInfoLock
-static XGLAllocInfo * get_mem_info_entry()
+static VKAllocInfo * get_mem_info_entry()
 {
     unsigned int i;
-    XGLAllocInfo *entry;
+    VKAllocInfo *entry;
     if (g_memInfo.numEntrys > g_memInfo.capacity)
     {
         glv_LogError("get_mem_info_entry() bad internal state numEntrys %u\n", g_memInfo.numEntrys);
@@ -108,7 +108,7 @@
     if (g_memInfo.numEntrys == g_memInfo.capacity)
     {  // grow the array 2x
         g_memInfo.capacity *= 2;
-        g_memInfo.pEntrys = (XGLAllocInfo *) GLV_REALLOC(g_memInfo.pEntrys, g_memInfo.capacity * sizeof(XGLAllocInfo));
+        g_memInfo.pEntrys = (VKAllocInfo *) GLV_REALLOC(g_memInfo.pEntrys, g_memInfo.capacity * sizeof(VKAllocInfo));
         if (g_memInfo.pEntrys == NULL)
             glv_LogError("get_mem_info_entry() realloc failed\n");
         //glv_LogInfo("realloc memInfo from %u to %u\n", g_memInfo.capacity /2, g_memInfo.capacity);
@@ -124,9 +124,9 @@
 }
 
 // caller must hold the g_memInfoLock
-static XGLAllocInfo * find_mem_info_entry(const XGL_GPU_MEMORY handle)
+static VKAllocInfo * find_mem_info_entry(const VK_GPU_MEMORY handle)
 {
-    XGLAllocInfo *entry;
+    VKAllocInfo *entry;
     unsigned int i;
     entry = g_memInfo.pEntrys;
     if (g_memInfo.pLastMapped && g_memInfo.pLastMapped->handle == handle && g_memInfo.pLastMapped->valid)
@@ -144,18 +144,18 @@
     return NULL;
 }
 
-static XGLAllocInfo * find_mem_info_entry_lock(const XGL_GPU_MEMORY handle)
+static VKAllocInfo * find_mem_info_entry_lock(const VK_GPU_MEMORY handle)
 {
-    XGLAllocInfo *res;
+    VKAllocInfo *res;
     glv_enter_critical_section(&g_memInfoLock);
     res = find_mem_info_entry(handle);
     glv_leave_critical_section(&g_memInfoLock);
     return res;
 }
 
-static void add_new_handle_to_mem_info(const XGL_GPU_MEMORY handle, XGL_GPU_SIZE size, void *pData)
+static void add_new_handle_to_mem_info(const VK_GPU_MEMORY handle, VK_GPU_SIZE size, void *pData)
 {
-    XGLAllocInfo *entry;
+    VKAllocInfo *entry;
 
     glv_enter_critical_section(&g_memInfoLock);
     if (g_memInfo.capacity == 0)
@@ -167,14 +167,14 @@
         entry->valid = TRUE;
         entry->handle = handle;
         entry->size = size;
-        entry->pData = pData;   // NOTE: xglFreeMemory will free this mem, so no malloc()
+        entry->pData = pData;   // NOTE: VKFreeMemory will free this mem, so no malloc()
     }
     glv_leave_critical_section(&g_memInfoLock);
 }
 
-static void add_data_to_mem_info(const XGL_GPU_MEMORY handle, void *pData)
+static void add_data_to_mem_info(const VK_GPU_MEMORY handle, void *pData)
 {
-    XGLAllocInfo *entry;
+    VKAllocInfo *entry;
 
     glv_enter_critical_section(&g_memInfoLock);
     entry = find_mem_info_entry(handle);
@@ -186,9 +186,9 @@
     glv_leave_critical_section(&g_memInfoLock);
 }
 
-static void rm_handle_from_mem_info(const XGL_GPU_MEMORY handle)
+static void rm_handle_from_mem_info(const VK_GPU_MEMORY handle)
 {
-    XGLAllocInfo *entry;
+    VKAllocInfo *entry;
 
     glv_enter_critical_section(&g_memInfoLock);
     entry = find_mem_info_entry(handle);
@@ -216,59 +216,59 @@
 
 static void add_begin_cmdbuf_to_trace_packet(glv_trace_packet_header* pHeader, void** ppOut, const void* pIn)
 {
-    const XGL_CMD_BUFFER_BEGIN_INFO* pInNow = pIn;
-    XGL_CMD_BUFFER_BEGIN_INFO** ppOutNext = (XGL_CMD_BUFFER_BEGIN_INFO**)ppOut;
+    const VK_CMD_BUFFER_BEGIN_INFO* pInNow = pIn;
+    VK_CMD_BUFFER_BEGIN_INFO** ppOutNext = (VK_CMD_BUFFER_BEGIN_INFO**)ppOut;
     while (pInNow != NULL)
     {
-        XGL_CMD_BUFFER_BEGIN_INFO** ppOutNow = ppOutNext;
+        VK_CMD_BUFFER_BEGIN_INFO** ppOutNow = ppOutNext;
         ppOutNext = NULL;
 
         switch (pInNow->sType)
         {
-            case XGL_STRUCTURE_TYPE_CMD_BUFFER_GRAPHICS_BEGIN_INFO:
+            case VK_STRUCTURE_TYPE_CMD_BUFFER_GRAPHICS_BEGIN_INFO:
             {
-                glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO), pInNow);
-                ppOutNext = (XGL_CMD_BUFFER_BEGIN_INFO**)&(*ppOutNow)->pNext;
+                glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_CMD_BUFFER_GRAPHICS_BEGIN_INFO), pInNow);
+                ppOutNext = (VK_CMD_BUFFER_BEGIN_INFO**)&(*ppOutNow)->pNext;
                 glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
                 break;
             }
             default:
                 assert(!"Encountered an unexpected type in cmdbuffer_begin_info list");
         }
-        pInNow = (XGL_CMD_BUFFER_BEGIN_INFO*)pInNow->pNext;
+        pInNow = (VK_CMD_BUFFER_BEGIN_INFO*)pInNow->pNext;
     }
     return;
 }
 
 static void add_alloc_memory_to_trace_packet(glv_trace_packet_header* pHeader, void** ppOut, const void* pIn)
 {
-    const XGL_MEMORY_ALLOC_INFO* pInNow = pIn;
-    XGL_MEMORY_ALLOC_INFO** ppOutNext = (XGL_MEMORY_ALLOC_INFO**)ppOut;
+    const VK_MEMORY_ALLOC_INFO* pInNow = pIn;
+    VK_MEMORY_ALLOC_INFO** ppOutNext = (VK_MEMORY_ALLOC_INFO**)ppOut;
     while (pInNow != NULL)
     {
-        XGL_MEMORY_ALLOC_INFO** ppOutNow = ppOutNext;
+        VK_MEMORY_ALLOC_INFO** ppOutNow = ppOutNext;
         ppOutNext = NULL;
 
         switch (pInNow->sType)
         {
-        case XGL_STRUCTURE_TYPE_MEMORY_ALLOC_BUFFER_INFO:
+        case VK_STRUCTURE_TYPE_MEMORY_ALLOC_BUFFER_INFO:
         {
-            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_MEMORY_ALLOC_BUFFER_INFO), pInNow);
-            ppOutNext = (XGL_MEMORY_ALLOC_INFO**)&(*ppOutNow)->pNext;
+            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_MEMORY_ALLOC_BUFFER_INFO), pInNow);
+            ppOutNext = (VK_MEMORY_ALLOC_INFO**)&(*ppOutNow)->pNext;
             glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
             break;
         }
-        case XGL_STRUCTURE_TYPE_MEMORY_ALLOC_IMAGE_INFO:
+        case VK_STRUCTURE_TYPE_MEMORY_ALLOC_IMAGE_INFO:
         {
-            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_MEMORY_ALLOC_IMAGE_INFO), pInNow);
-            ppOutNext = (XGL_MEMORY_ALLOC_INFO**)&(*ppOutNow)->pNext;
+            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_MEMORY_ALLOC_IMAGE_INFO), pInNow);
+            ppOutNext = (VK_MEMORY_ALLOC_INFO**)&(*ppOutNow)->pNext;
             glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
             break;
         }
         default:
             assert(!"Encountered an unexpected type in memory_alloc_info list");
         }
-        pInNow = (XGL_MEMORY_ALLOC_INFO*)pInNow->pNext;
+        pInNow = (VK_MEMORY_ALLOC_INFO*)pInNow->pNext;
     }
     return;
 }
@@ -277,16 +277,16 @@
 {
     uint32_t i, siz=0;
     for (i = 0; i < mbCount; i++) {
-        XGL_MEMORY_BARRIER *pNext = (XGL_MEMORY_BARRIER *) ppMemBarriers[i];
+        VK_MEMORY_BARRIER *pNext = (VK_MEMORY_BARRIER *) ppMemBarriers[i];
         switch (pNext->sType) {
-            case XGL_STRUCTURE_TYPE_MEMORY_BARRIER:
-                siz += sizeof(XGL_MEMORY_BARRIER);
+            case VK_STRUCTURE_TYPE_MEMORY_BARRIER:
+                siz += sizeof(VK_MEMORY_BARRIER);
                 break;
-            case XGL_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:
-                siz += sizeof(XGL_BUFFER_MEMORY_BARRIER);
+            case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:
+                siz += sizeof(VK_BUFFER_MEMORY_BARRIER);
                 break;
-            case XGL_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:
-                siz += sizeof(XGL_IMAGE_MEMORY_BARRIER);
+            case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:
+                siz += sizeof(VK_IMAGE_MEMORY_BARRIER);
                 break;
             default:
                 assert(0);
@@ -296,13 +296,13 @@
     return siz;
 }
 
-static void add_pipeline_shader_to_trace_packet(glv_trace_packet_header* pHeader, XGL_PIPELINE_SHADER* packetShader, const XGL_PIPELINE_SHADER* paramShader)
+static void add_pipeline_shader_to_trace_packet(glv_trace_packet_header* pHeader, VK_PIPELINE_SHADER* packetShader, const VK_PIPELINE_SHADER* paramShader)
 {
     uint32_t i;
     // constant buffers
     if (paramShader->linkConstBufferCount > 0 && paramShader->pLinkConstBufferInfo != NULL)
     {
-        glv_add_buffer_to_trace_packet(pHeader, (void**)&(packetShader->pLinkConstBufferInfo), sizeof(XGL_LINK_CONST_BUFFER) * paramShader->linkConstBufferCount, paramShader->pLinkConstBufferInfo);
+        glv_add_buffer_to_trace_packet(pHeader, (void**)&(packetShader->pLinkConstBufferInfo), sizeof(VK_LINK_CONST_BUFFER) * paramShader->linkConstBufferCount, paramShader->pLinkConstBufferInfo);
         for (i = 0; i < paramShader->linkConstBufferCount; i++)
         {
             glv_add_buffer_to_trace_packet(pHeader, (void**)&(packetShader->pLinkConstBufferInfo[i].pBufferData), packetShader->pLinkConstBufferInfo[i].bufferSize, paramShader->pLinkConstBufferInfo[i].pBufferData);
@@ -310,7 +310,7 @@
     }
 }
 
-static void finalize_pipeline_shader_address(glv_trace_packet_header* pHeader, const XGL_PIPELINE_SHADER* packetShader)
+static void finalize_pipeline_shader_address(glv_trace_packet_header* pHeader, const VK_PIPELINE_SHADER* packetShader)
 {
     uint32_t i;
     // constant buffers
@@ -324,29 +324,29 @@
     }
 }
 
-static void add_create_ds_layout_to_trace_packet(glv_trace_packet_header* pHeader, const XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO** ppOut, const XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO* pIn)
+static void add_create_ds_layout_to_trace_packet(glv_trace_packet_header* pHeader, const VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO** ppOut, const VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO* pIn)
 {
-    const XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO* pInNow = pIn;
-    XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO** ppOutNext = (XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO**)ppOut;
+    const VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO* pInNow = pIn;
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO** ppOutNext = (VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO**)ppOut;
     while (pInNow != NULL)
     {
-        XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO** ppOutNow = ppOutNext;
+        VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO** ppOutNow = ppOutNext;
         size_t i;
         ppOutNext = NULL;
-        glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO), pInNow);
-        ppOutNext = (XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO**)&(*ppOutNow)->pNext;
+        glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO), pInNow);
+        ppOutNext = (VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO**)&(*ppOutNow)->pNext;
         glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
         for (i = 0; i < pInNow->count; i++)
         {
-            XGL_DESCRIPTOR_SET_LAYOUT_BINDING *pLayoutBinding =  (XGL_DESCRIPTOR_SET_LAYOUT_BINDING *) pInNow->pBinding + i;
-            XGL_DESCRIPTOR_SET_LAYOUT_BINDING *pOutLayoutBinding =  (XGL_DESCRIPTOR_SET_LAYOUT_BINDING *) (*ppOutNow)->pBinding + i;
-            glv_add_buffer_to_trace_packet(pHeader, (void**) &pOutLayoutBinding->pImmutableSamplers, sizeof(XGL_SAMPLER) * pLayoutBinding->count, pLayoutBinding->pImmutableSamplers);
+            VK_DESCRIPTOR_SET_LAYOUT_BINDING *pLayoutBinding =  (VK_DESCRIPTOR_SET_LAYOUT_BINDING *) pInNow->pBinding + i;
+            VK_DESCRIPTOR_SET_LAYOUT_BINDING *pOutLayoutBinding =  (VK_DESCRIPTOR_SET_LAYOUT_BINDING *) (*ppOutNow)->pBinding + i;
+            glv_add_buffer_to_trace_packet(pHeader, (void**) &pOutLayoutBinding->pImmutableSamplers, sizeof(VK_SAMPLER) * pLayoutBinding->count, pLayoutBinding->pImmutableSamplers);
             glv_finalize_buffer_address(pHeader, (void**) &pOutLayoutBinding->pImmutableSamplers);
         }
-        glv_add_buffer_to_trace_packet(pHeader, (void**)&((*ppOutNow)->pBinding), sizeof(XGL_DESCRIPTOR_SET_LAYOUT_BINDING) * pInNow->count, pInNow->pBinding);
+        glv_add_buffer_to_trace_packet(pHeader, (void**)&((*ppOutNow)->pBinding), sizeof(VK_DESCRIPTOR_SET_LAYOUT_BINDING) * pInNow->count, pInNow->pBinding);
         glv_finalize_buffer_address(pHeader, (void**)&((*ppOutNow)->pBinding));
-        ppOutNext = (XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO**)&(*ppOutNow)->pNext;
-        pInNow = (XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO*)pInNow->pNext;
+        ppOutNext = (VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO**)&(*ppOutNow)->pNext;
+        pInNow = (VK_DESCRIPTOR_SET_LAYOUT_CREATE_INFO*)pInNow->pNext;
     }
     return;
 }
@@ -356,57 +356,57 @@
     uint32_t i;
     for (i = 0; i < count; i++)
     {
-        const XGL_UPDATE_SAMPLERS* pInNow = (const XGL_UPDATE_SAMPLERS*)ppUpdateArrayIn[i];
-        XGL_UPDATE_SAMPLERS** ppOut = (XGL_UPDATE_SAMPLERS**)*pppUpdateArrayOut;
-        XGL_UPDATE_SAMPLERS** ppOutNow = &(ppOut[i]);
+        const VK_UPDATE_SAMPLERS* pInNow = (const VK_UPDATE_SAMPLERS*)ppUpdateArrayIn[i];
+        VK_UPDATE_SAMPLERS** ppOut = (VK_UPDATE_SAMPLERS**)*pppUpdateArrayOut;
+        VK_UPDATE_SAMPLERS** ppOutNow = &(ppOut[i]);
         switch (pInNow->sType)
         {
-        case XGL_STRUCTURE_TYPE_UPDATE_SAMPLERS:
+        case VK_STRUCTURE_TYPE_UPDATE_SAMPLERS:
         {
-            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_UPDATE_SAMPLERS), pInNow);
-            XGL_UPDATE_SAMPLERS* pPacket = (XGL_UPDATE_SAMPLERS*)*ppOutNow;
-            glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pSamplers, ((XGL_UPDATE_SAMPLERS*)pInNow)->count * sizeof(XGL_SAMPLER), pInNow->pSamplers);
+            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_UPDATE_SAMPLERS), pInNow);
+            VK_UPDATE_SAMPLERS* pPacket = (VK_UPDATE_SAMPLERS*)*ppOutNow;
+            glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pSamplers, ((VK_UPDATE_SAMPLERS*)pInNow)->count * sizeof(VK_SAMPLER), pInNow->pSamplers);
             glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pSamplers));
             glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
             break;
         }
-        case XGL_STRUCTURE_TYPE_UPDATE_SAMPLER_TEXTURES:
+        case VK_STRUCTURE_TYPE_UPDATE_SAMPLER_TEXTURES:
         {
-//            totalUpdateSize += sizeof(XGL_UPDATE_SAMPLER_TEXTURES) + ((XGL_UPDATE_SAMPLER_TEXTURES*)pNext)->count * (sizeof(XGL_SAMPLER_IMAGE_VIEW_INFO) + sizeof(XGL_IMAGE_VIEW_ATTACH_INFO));
-            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_UPDATE_SAMPLER_TEXTURES), pInNow);
-            XGL_UPDATE_SAMPLER_TEXTURES* pPacket = (XGL_UPDATE_SAMPLER_TEXTURES*)*ppOutNow;
-            glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pSamplerImageViews, ((XGL_UPDATE_SAMPLER_TEXTURES*)pInNow)->count * sizeof(XGL_SAMPLER_IMAGE_VIEW_INFO), ((XGL_UPDATE_SAMPLER_TEXTURES*)pInNow)->pSamplerImageViews);
+//            totalUpdateSize += sizeof(VK_UPDATE_SAMPLER_TEXTURES) + ((VK_UPDATE_SAMPLER_TEXTURES*)pNext)->count * (sizeof(VK_SAMPLER_IMAGE_VIEW_INFO) + sizeof(VK_IMAGE_VIEW_ATTACH_INFO));
+            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_UPDATE_SAMPLER_TEXTURES), pInNow);
+            VK_UPDATE_SAMPLER_TEXTURES* pPacket = (VK_UPDATE_SAMPLER_TEXTURES*)*ppOutNow;
+            glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pSamplerImageViews, ((VK_UPDATE_SAMPLER_TEXTURES*)pInNow)->count * sizeof(VK_SAMPLER_IMAGE_VIEW_INFO), ((VK_UPDATE_SAMPLER_TEXTURES*)pInNow)->pSamplerImageViews);
 // TODO : is the below correct? is pImageView a pointer to a single struct or not?
             uint32_t j;
-            for (j = 0; j < ((XGL_UPDATE_SAMPLER_TEXTURES*)pInNow)->count; j++) {
-                glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pSamplerImageViews[j].pImageView, sizeof(XGL_IMAGE_VIEW_ATTACH_INFO), ((XGL_UPDATE_SAMPLER_TEXTURES*)pInNow)->pSamplerImageViews[j].pImageView);
+            for (j = 0; j < ((VK_UPDATE_SAMPLER_TEXTURES*)pInNow)->count; j++) {
+                glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pSamplerImageViews[j].pImageView, sizeof(VK_IMAGE_VIEW_ATTACH_INFO), ((VK_UPDATE_SAMPLER_TEXTURES*)pInNow)->pSamplerImageViews[j].pImageView);
                 glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pSamplerImageViews[j].pImageView));
             }
             glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pSamplerImageViews));
             glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
             break;
         }
-        case XGL_STRUCTURE_TYPE_UPDATE_IMAGES:
+        case VK_STRUCTURE_TYPE_UPDATE_IMAGES:
         {
-            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_UPDATE_IMAGES), pInNow);
-            XGL_UPDATE_IMAGES* pPacket = (XGL_UPDATE_IMAGES*)*ppOutNow;
-            glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pImageViews, ((XGL_UPDATE_IMAGES*)pInNow)->count * sizeof(XGL_IMAGE_VIEW_ATTACH_INFO), ((XGL_UPDATE_IMAGES*)pInNow)->pImageViews);
+            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_UPDATE_IMAGES), pInNow);
+            VK_UPDATE_IMAGES* pPacket = (VK_UPDATE_IMAGES*)*ppOutNow;
+            glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pImageViews, ((VK_UPDATE_IMAGES*)pInNow)->count * sizeof(VK_IMAGE_VIEW_ATTACH_INFO), ((VK_UPDATE_IMAGES*)pInNow)->pImageViews);
             glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pImageViews));
             glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
             break;
         }
-        case XGL_STRUCTURE_TYPE_UPDATE_BUFFERS:
+        case VK_STRUCTURE_TYPE_UPDATE_BUFFERS:
         {
-            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_UPDATE_BUFFERS), pInNow);
-            XGL_UPDATE_BUFFERS* pPacket = (XGL_UPDATE_BUFFERS*)*ppOutNow;
-            glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pBufferViews, ((XGL_UPDATE_BUFFERS*)pInNow)->count * sizeof(XGL_BUFFER_VIEW_ATTACH_INFO), ((XGL_UPDATE_BUFFERS*)pInNow)->pBufferViews);
+            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_UPDATE_BUFFERS), pInNow);
+            VK_UPDATE_BUFFERS* pPacket = (VK_UPDATE_BUFFERS*)*ppOutNow;
+            glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pBufferViews, ((VK_UPDATE_BUFFERS*)pInNow)->count * sizeof(VK_BUFFER_VIEW_ATTACH_INFO), ((VK_UPDATE_BUFFERS*)pInNow)->pBufferViews);
             glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pBufferViews));
             glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
             break;
         }
-        case XGL_STRUCTURE_TYPE_UPDATE_AS_COPY:
+        case VK_STRUCTURE_TYPE_UPDATE_AS_COPY:
         {
-            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_UPDATE_AS_COPY), pInNow);
+            glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_UPDATE_AS_COPY), pInNow);
             glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
             break;
         }
@@ -415,15 +415,15 @@
             assert(0);
         }
         }
-        pInNow = (XGL_UPDATE_SAMPLERS*)pInNow->pNext;
+        pInNow = (VK_UPDATE_SAMPLERS*)pInNow->pNext;
     }
     return;
 }
 
-#define CASE_XGL_STRUCTURE_TYPE_PIPELINE(type) \
-    case XGL_STRUCTURE_TYPE_PIPELINE_##type: {\
-        glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_PIPELINE_##type), pInNow);\
-        ppOutNext = (XGL_GRAPHICS_PIPELINE_CREATE_INFO**)&(*ppOutNow)->pNext;\
+#define CASE_VK_STRUCTURE_TYPE_PIPELINE(type) \
+    case VK_STRUCTURE_TYPE_PIPELINE_##type: {\
+        glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_PIPELINE_##type), pInNow);\
+        ppOutNext = (VK_GRAPHICS_PIPELINE_CREATE_INFO**)&(*ppOutNow)->pNext;\
         glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));\
         break;\
     }
@@ -431,66 +431,66 @@
 
 static void add_pipeline_state_to_trace_packet(glv_trace_packet_header* pHeader, void** ppOut, const void* pIn)
 {
-    const XGL_GRAPHICS_PIPELINE_CREATE_INFO* pInNow = pIn;
-    XGL_GRAPHICS_PIPELINE_CREATE_INFO** ppOutNext = (XGL_GRAPHICS_PIPELINE_CREATE_INFO**)ppOut;
+    const VK_GRAPHICS_PIPELINE_CREATE_INFO* pInNow = pIn;
+    VK_GRAPHICS_PIPELINE_CREATE_INFO** ppOutNext = (VK_GRAPHICS_PIPELINE_CREATE_INFO**)ppOut;
     while (pInNow != NULL)
     {
-        XGL_GRAPHICS_PIPELINE_CREATE_INFO** ppOutNow = ppOutNext;
+        VK_GRAPHICS_PIPELINE_CREATE_INFO** ppOutNow = ppOutNext;
         ppOutNext = NULL;
 
         switch (pInNow->sType)
         {
-            CASE_XGL_STRUCTURE_TYPE_PIPELINE(IA_STATE_CREATE_INFO)
-            CASE_XGL_STRUCTURE_TYPE_PIPELINE(TESS_STATE_CREATE_INFO)
-            CASE_XGL_STRUCTURE_TYPE_PIPELINE(RS_STATE_CREATE_INFO)
-            CASE_XGL_STRUCTURE_TYPE_PIPELINE(DS_STATE_CREATE_INFO)
-            CASE_XGL_STRUCTURE_TYPE_PIPELINE(VP_STATE_CREATE_INFO)
-            CASE_XGL_STRUCTURE_TYPE_PIPELINE(MS_STATE_CREATE_INFO)
-            case XGL_STRUCTURE_TYPE_PIPELINE_CB_STATE_CREATE_INFO:
+            CASE_VK_STRUCTURE_TYPE_PIPELINE(IA_STATE_CREATE_INFO)
+            CASE_VK_STRUCTURE_TYPE_PIPELINE(TESS_STATE_CREATE_INFO)
+            CASE_VK_STRUCTURE_TYPE_PIPELINE(RS_STATE_CREATE_INFO)
+            CASE_VK_STRUCTURE_TYPE_PIPELINE(DS_STATE_CREATE_INFO)
+            CASE_VK_STRUCTURE_TYPE_PIPELINE(VP_STATE_CREATE_INFO)
+            CASE_VK_STRUCTURE_TYPE_PIPELINE(MS_STATE_CREATE_INFO)
+            case VK_STRUCTURE_TYPE_PIPELINE_CB_STATE_CREATE_INFO:
             {
-                XGL_PIPELINE_CB_STATE_CREATE_INFO *pPacket = NULL;
-                XGL_PIPELINE_CB_STATE_CREATE_INFO *pIn = NULL;
-                glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_PIPELINE_CB_STATE_CREATE_INFO), pInNow);
-                pPacket = (XGL_PIPELINE_CB_STATE_CREATE_INFO*) *ppOutNow;
-                pIn = (XGL_PIPELINE_CB_STATE_CREATE_INFO*) pInNow;
-                glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pAttachments, pIn->attachmentCount * sizeof(XGL_PIPELINE_CB_ATTACHMENT_STATE), pIn->pAttachments);
+                VK_PIPELINE_CB_STATE_CREATE_INFO *pPacket = NULL;
+                VK_PIPELINE_CB_STATE_CREATE_INFO *pIn = NULL;
+                glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_PIPELINE_CB_STATE_CREATE_INFO), pInNow);
+                pPacket = (VK_PIPELINE_CB_STATE_CREATE_INFO*) *ppOutNow;
+                pIn = (VK_PIPELINE_CB_STATE_CREATE_INFO*) pInNow;
+                glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pAttachments, pIn->attachmentCount * sizeof(VK_PIPELINE_CB_ATTACHMENT_STATE), pIn->pAttachments);
                 glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pAttachments));
-                ppOutNext = (XGL_GRAPHICS_PIPELINE_CREATE_INFO**)&(*ppOutNow)->pNext;
+                ppOutNext = (VK_GRAPHICS_PIPELINE_CREATE_INFO**)&(*ppOutNow)->pNext;
                 glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
                 break;
             }
-            case XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO:
+            case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO:
             {
-                XGL_PIPELINE_SHADER_STAGE_CREATE_INFO* pPacket = NULL;
-                XGL_PIPELINE_SHADER_STAGE_CREATE_INFO* pInPacket = NULL;
-                glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_PIPELINE_SHADER_STAGE_CREATE_INFO), pInNow);
-                pPacket = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*) *ppOutNow;
-                pInPacket = (XGL_PIPELINE_SHADER_STAGE_CREATE_INFO*) pInNow;
+                VK_PIPELINE_SHADER_STAGE_CREATE_INFO* pPacket = NULL;
+                VK_PIPELINE_SHADER_STAGE_CREATE_INFO* pInPacket = NULL;
+                glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_PIPELINE_SHADER_STAGE_CREATE_INFO), pInNow);
+                pPacket = (VK_PIPELINE_SHADER_STAGE_CREATE_INFO*) *ppOutNow;
+                pInPacket = (VK_PIPELINE_SHADER_STAGE_CREATE_INFO*) pInNow;
                 add_pipeline_shader_to_trace_packet(pHeader, &pPacket->shader, &pInPacket->shader);
                 finalize_pipeline_shader_address(pHeader, &pPacket->shader);
-                ppOutNext = (XGL_GRAPHICS_PIPELINE_CREATE_INFO**)&(*ppOutNow)->pNext;
+                ppOutNext = (VK_GRAPHICS_PIPELINE_CREATE_INFO**)&(*ppOutNow)->pNext;
                 glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
                 break;
             }
-            case XGL_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_CREATE_INFO:
+            case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_CREATE_INFO:
             {
-                XGL_PIPELINE_VERTEX_INPUT_CREATE_INFO *pPacket = NULL;
-                XGL_PIPELINE_VERTEX_INPUT_CREATE_INFO *pIn = NULL;
-                glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(XGL_PIPELINE_VERTEX_INPUT_CREATE_INFO), pInNow);
-                pPacket = (XGL_PIPELINE_VERTEX_INPUT_CREATE_INFO*) *ppOutNow;
-                pIn = (XGL_PIPELINE_VERTEX_INPUT_CREATE_INFO*) pInNow;
-                glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pVertexBindingDescriptions, pIn->bindingCount * sizeof(XGL_VERTEX_INPUT_BINDING_DESCRIPTION), pIn->pVertexBindingDescriptions);
+                VK_PIPELINE_VERTEX_INPUT_CREATE_INFO *pPacket = NULL;
+                VK_PIPELINE_VERTEX_INPUT_CREATE_INFO *pIn = NULL;
+                glv_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VK_PIPELINE_VERTEX_INPUT_CREATE_INFO), pInNow);
+                pPacket = (VK_PIPELINE_VERTEX_INPUT_CREATE_INFO*) *ppOutNow;
+                pIn = (VK_PIPELINE_VERTEX_INPUT_CREATE_INFO*) pInNow;
+                glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pVertexBindingDescriptions, pIn->bindingCount * sizeof(VK_VERTEX_INPUT_BINDING_DESCRIPTION), pIn->pVertexBindingDescriptions);
                 glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pVertexBindingDescriptions));
-                glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pVertexAttributeDescriptions, pIn->attributeCount * sizeof(XGL_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION), pIn->pVertexAttributeDescriptions);
+                glv_add_buffer_to_trace_packet(pHeader, (void **) &pPacket->pVertexAttributeDescriptions, pIn->attributeCount * sizeof(VK_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION), pIn->pVertexAttributeDescriptions);
                 glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pVertexAttributeDescriptions));
-                ppOutNext = (XGL_GRAPHICS_PIPELINE_CREATE_INFO**)&(*ppOutNow)->pNext;
+                ppOutNext = (VK_GRAPHICS_PIPELINE_CREATE_INFO**)&(*ppOutNow)->pNext;
                 glv_finalize_buffer_address(pHeader, (void**)(ppOutNow));
                 break;
             }
             default:
                 assert(!"Encountered an unexpected type in pipeline state list");
         }
-        pInNow = (XGL_GRAPHICS_PIPELINE_CREATE_INFO*)pInNow->pNext;
+        pInNow = (VK_GRAPHICS_PIPELINE_CREATE_INFO*)pInNow->pNext;
     }
     return;
 }
diff --git a/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk_trace.c b/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk_trace.c
index 3f46c6c..40468af 100644
--- a/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk_trace.c
+++ b/tools/glave/src/glv_extensions/glvtrace_vk/glvtrace_vk_trace.c
@@ -23,13 +23,13 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-#include "xgl.h"
+#include "vulkan.h"
 #include "glv_platform.h"
 #include "glv_common.h"
-#include "glvtrace_xgl_helpers.h"
-#include "glvtrace_xgl_xgl.h"
-#include "glvtrace_xgl_xgldbg.h"
-#include "glvtrace_xgl_xglwsix11ext.h"
+#include "glvtrace_vk_helpers.h"
+#include "glvtrace_vk_vk.h"
+#include "glvtrace_vk_vkdbg.h"
+#include "glvtrace_vk_vkwsix11ext.h"
 #include "glv_interconnect.h"
 #include "glv_filelike.h"
 #ifdef WIN32
@@ -38,45 +38,45 @@
 #include "glv_trace_packet_utils.h"
 #include <stdio.h>
 
-// declared as extern in glvtrace_xgl_helpers.h
+// declared as extern in glvtrace_vk_helpers.h
 GLV_CRITICAL_SECTION g_memInfoLock;
-XGLMemInfo g_memInfo = {0, NULL, NULL, 0};
+VKMemInfo g_memInfo = {0, NULL, NULL, 0};
 
-GLVTRACER_EXPORT XGL_RESULT XGLAPI __HOOKED_xglCreateInstance(
-    const XGL_INSTANCE_CREATE_INFO* pCreateInfo,
-    XGL_INSTANCE* pInstance)
+GLVTRACER_EXPORT VK_RESULT VKAPI __HOOKED_vkCreateInstance(
+    const VK_INSTANCE_CREATE_INFO* pCreateInfo,
+    VK_INSTANCE* pInstance)
 {
     glv_trace_packet_header* pHeader;
-    XGL_RESULT result;
-    struct_xglCreateInstance* pPacket = NULL;
+    VK_RESULT result;
+    struct_vkCreateInstance* pPacket = NULL;
     uint64_t startTime;
     glv_platform_thread_once(&gInitOnce, InitTracer);
-    SEND_ENTRYPOINT_ID(xglCreateInstance);
-    if (real_xglCreateInstance == xglCreateInstance)
+    SEND_ENTRYPOINT_ID(vkCreateInstance);
+    if (real_vkCreateInstance == vkCreateInstance)
     {
-        glv_platform_get_next_lib_sym((void **) &real_xglCreateInstance,"xglCreateInstance");
+        glv_platform_get_next_lib_sym((void **) &real_vkCreateInstance,"vkCreateInstance");
     }
     startTime = glv_get_time();
-    result = real_xglCreateInstance(pCreateInfo, pInstance);
-    CREATE_TRACE_PACKET(xglCreateInstance, sizeof(XGL_INSTANCE) + get_struct_chain_size((void*)pCreateInfo));
+    result = real_vkCreateInstance(pCreateInfo, pInstance);
+    CREATE_TRACE_PACKET(vkCreateInstance, sizeof(VK_INSTANCE) + get_struct_chain_size((void*)pCreateInfo));
     pHeader->entrypoint_begin_time = startTime;
     if (isHooked == FALSE) {
         AttachHooks();
-        AttachHooks_xgldbg();
-        AttachHooks_xglwsix11ext();
+        AttachHooks_vkdbg();
+        AttachHooks_vkwsix11ext();
     }
-    pPacket = interpret_body_as_xglCreateInstance(pHeader);
+    pPacket = interpret_body_as_vkCreateInstance(pHeader);
 
-    add_XGL_INSTANCE_CREATE_INFO_to_packet(pHeader, (XGL_INSTANCE_CREATE_INFO**)&(pPacket->pCreateInfo), pCreateInfo);
-    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pInstance), sizeof(XGL_INSTANCE), pInstance);
+    add_VK_INSTANCE_CREATE_INFO_to_packet(pHeader, (VK_INSTANCE_CREATE_INFO**)&(pPacket->pCreateInfo), pCreateInfo);
+    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pInstance), sizeof(VK_INSTANCE), pInstance);
     pPacket->result = result;
     glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pInstance));
     FINISH_TRACE_PACKET();
     return result;
 }
 
-GLVTRACER_EXPORT XGL_RESULT XGLAPI __HOOKED_xglEnumerateLayers(
-    XGL_PHYSICAL_GPU gpu,
+GLVTRACER_EXPORT VK_RESULT VKAPI __HOOKED_vkEnumerateLayers(
+    VK_PHYSICAL_GPU gpu,
     size_t maxLayerCount,
     size_t maxStringSize,
     size_t* pOutLayerCount,
@@ -84,20 +84,20 @@
     void* pReserved)
 {
     glv_trace_packet_header* pHeader;
-    XGL_RESULT result;
-    struct_xglEnumerateLayers* pPacket = NULL;
+    VK_RESULT result;
+    struct_vkEnumerateLayers* pPacket = NULL;
     uint64_t startTime;
-    SEND_ENTRYPOINT_ID(xglEnumerateLayers);
+    SEND_ENTRYPOINT_ID(vkEnumerateLayers);
     startTime = glv_get_time();
-    result = real_xglEnumerateLayers(gpu, maxLayerCount, maxStringSize, pOutLayerCount, pOutLayers, pReserved);
+    result = real_vkEnumerateLayers(gpu, maxLayerCount, maxStringSize, pOutLayerCount, pOutLayers, pReserved);
     size_t totStringSize = 0;
     uint32_t i = 0;
     for (i = 0; i < *pOutLayerCount; i++) {
         totStringSize += (pOutLayers[i] != NULL) ? strlen(pOutLayers[i]) + 1: 0;
     }
-    CREATE_TRACE_PACKET(xglEnumerateLayers, totStringSize + sizeof(size_t));
+    CREATE_TRACE_PACKET(vkEnumerateLayers, totStringSize + sizeof(size_t));
     pHeader->entrypoint_begin_time = startTime;
-    pPacket = interpret_body_as_xglEnumerateLayers(pHeader);
+    pPacket = interpret_body_as_vkEnumerateLayers(pHeader);
     pPacket->gpu = gpu;
     pPacket->maxLayerCount = maxLayerCount;
     pPacket->maxStringSize = maxStringSize;
@@ -113,26 +113,26 @@
     return result;
 }
 
-GLVTRACER_EXPORT XGL_RESULT XGLAPI __HOOKED_xglEnumerateGpus(
-    XGL_INSTANCE instance,
+GLVTRACER_EXPORT VK_RESULT VKAPI __HOOKED_vkEnumerateGpus(
+    VK_INSTANCE instance,
     uint32_t maxGpus,
     uint32_t* pGpuCount,
-    XGL_PHYSICAL_GPU* pGpus)
+    VK_PHYSICAL_GPU* pGpus)
 {
     glv_trace_packet_header* pHeader;
-    XGL_RESULT result;
-    struct_xglEnumerateGpus* pPacket = NULL;
+    VK_RESULT result;
+    struct_vkEnumerateGpus* pPacket = NULL;
     uint64_t startTime;
-    SEND_ENTRYPOINT_ID(xglEnumerateGpus);
+    SEND_ENTRYPOINT_ID(vkEnumerateGpus);
     startTime = glv_get_time();
-    result = real_xglEnumerateGpus(instance, maxGpus, pGpuCount, pGpus);
-    CREATE_TRACE_PACKET(xglEnumerateGpus, sizeof(uint32_t) + ((pGpus && pGpuCount) ? *pGpuCount * sizeof(XGL_PHYSICAL_GPU) : 0));
+    result = real_vkEnumerateGpus(instance, maxGpus, pGpuCount, pGpus);
+    CREATE_TRACE_PACKET(vkEnumerateGpus, sizeof(uint32_t) + ((pGpus && pGpuCount) ? *pGpuCount * sizeof(VK_PHYSICAL_GPU) : 0));
     pHeader->entrypoint_begin_time = startTime;
-    pPacket = interpret_body_as_xglEnumerateGpus(pHeader);
+    pPacket = interpret_body_as_vkEnumerateGpus(pHeader);
     pPacket->instance = instance;
     pPacket->maxGpus = maxGpus;
     glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pGpuCount), sizeof(uint32_t), pGpuCount);
-    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pGpus), *pGpuCount*sizeof(XGL_PHYSICAL_GPU), pGpus);
+    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pGpus), *pGpuCount*sizeof(VK_PHYSICAL_GPU), pGpus);
     pPacket->result = result;
     glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pGpuCount));
     glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pGpus));
@@ -140,29 +140,29 @@
     return result;
 }
 
-GLVTRACER_EXPORT XGL_RESULT XGLAPI __HOOKED_xglAllocDescriptorSets(
-    XGL_DESCRIPTOR_POOL descriptorPool,
-    XGL_DESCRIPTOR_SET_USAGE setUsage,
+GLVTRACER_EXPORT VK_RESULT VKAPI __HOOKED_vkAllocDescriptorSets(
+    VK_DESCRIPTOR_POOL descriptorPool,
+    VK_DESCRIPTOR_SET_USAGE setUsage,
     uint32_t count,
-    const XGL_DESCRIPTOR_SET_LAYOUT* pSetLayouts,
-    XGL_DESCRIPTOR_SET* pDescriptorSets,
+    const VK_DESCRIPTOR_SET_LAYOUT* pSetLayouts,
+    VK_DESCRIPTOR_SET* pDescriptorSets,
     uint32_t* pCount)
 {
     glv_trace_packet_header* pHeader;
-    XGL_RESULT result;
-    struct_xglAllocDescriptorSets* pPacket = NULL;
+    VK_RESULT result;
+    struct_vkAllocDescriptorSets* pPacket = NULL;
     uint64_t startTime;
-    SEND_ENTRYPOINT_ID(xglAllocDescriptorSets);
+    SEND_ENTRYPOINT_ID(vkAllocDescriptorSets);
     startTime = glv_get_time();
-    result = real_xglAllocDescriptorSets(descriptorPool, setUsage, count, pSetLayouts, pDescriptorSets, pCount);
-    size_t customSize = (*pCount <= 0) ? (sizeof(XGL_DESCRIPTOR_SET)) : (*pCount * sizeof(XGL_DESCRIPTOR_SET));
-    CREATE_TRACE_PACKET(xglAllocDescriptorSets, sizeof(XGL_DESCRIPTOR_SET_LAYOUT) + customSize + sizeof(uint32_t));
+    result = real_vkAllocDescriptorSets(descriptorPool, setUsage, count, pSetLayouts, pDescriptorSets, pCount);
+    size_t customSize = (*pCount <= 0) ? (sizeof(VK_DESCRIPTOR_SET)) : (*pCount * sizeof(VK_DESCRIPTOR_SET));
+    CREATE_TRACE_PACKET(vkAllocDescriptorSets, sizeof(VK_DESCRIPTOR_SET_LAYOUT) + customSize + sizeof(uint32_t));
     pHeader->entrypoint_begin_time = startTime;
-    pPacket = interpret_body_as_xglAllocDescriptorSets(pHeader);
+    pPacket = interpret_body_as_vkAllocDescriptorSets(pHeader);
     pPacket->descriptorPool = descriptorPool;
     pPacket->setUsage = setUsage;
     pPacket->count = count;
-    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSetLayouts), count*sizeof(XGL_DESCRIPTOR_SET_LAYOUT), pSetLayouts);
+    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSetLayouts), count*sizeof(VK_DESCRIPTOR_SET_LAYOUT), pSetLayouts);
     glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDescriptorSets), customSize, pDescriptorSets);
     glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCount), sizeof(uint32_t), pCount);
     pPacket->result = result;
@@ -173,17 +173,17 @@
     return result;
 }
 
-GLVTRACER_EXPORT XGL_RESULT XGLAPI __HOOKED_xglMapMemory(
-    XGL_GPU_MEMORY mem,
-    XGL_FLAGS flags,
+GLVTRACER_EXPORT VK_RESULT VKAPI __HOOKED_vkMapMemory(
+    VK_GPU_MEMORY mem,
+    VK_FLAGS flags,
     void** ppData)
 {
     glv_trace_packet_header* pHeader;
-    XGL_RESULT result;
-    struct_xglMapMemory* pPacket = NULL;
-    CREATE_TRACE_PACKET(xglMapMemory, sizeof(void*));
-    result = real_xglMapMemory(mem, flags, ppData);
-    pPacket = interpret_body_as_xglMapMemory(pHeader);
+    VK_RESULT result;
+    struct_vkMapMemory* pPacket = NULL;
+    CREATE_TRACE_PACKET(vkMapMemory, sizeof(void*));
+    result = real_vkMapMemory(mem, flags, ppData);
+    pPacket = interpret_body_as_vkMapMemory(pHeader);
     pPacket->mem = mem;
     pPacket->flags = flags;
     if (ppData != NULL)
@@ -197,19 +197,19 @@
     return result;
 }
 
-GLVTRACER_EXPORT XGL_RESULT XGLAPI __HOOKED_xglUnmapMemory(XGL_GPU_MEMORY mem)
+GLVTRACER_EXPORT VK_RESULT VKAPI __HOOKED_vkUnmapMemory(VK_GPU_MEMORY mem)
 {
     glv_trace_packet_header* pHeader;
-    XGL_RESULT result;
-    struct_xglUnmapMemory* pPacket;
-    XGLAllocInfo *entry;
-    SEND_ENTRYPOINT_PARAMS("xglUnmapMemory(mem %p)\n", mem);
-    // insert into packet the data that was written by CPU between the xglMapMemory call and here
-    // Note must do this prior to the real xglUnMap() or else may get a FAULT
+    VK_RESULT result;
+    struct_vkUnmapMemory* pPacket;
+    VKAllocInfo *entry;
+    SEND_ENTRYPOINT_PARAMS("vkUnmapMemory(mem %p)\n", mem);
+    // insert into packet the data that was written by CPU between the vkMapMemory call and here
+    // Note must do this prior to the real vkUnMap() or else may get a FAULT
     glv_enter_critical_section(&g_memInfoLock);
     entry = find_mem_info_entry(mem);
-    CREATE_TRACE_PACKET(xglUnmapMemory, (entry) ? entry->size : 0);
-    pPacket = interpret_body_as_xglUnmapMemory(pHeader);
+    CREATE_TRACE_PACKET(vkUnmapMemory, (entry) ? entry->size : 0);
+    pPacket = interpret_body_as_vkUnmapMemory(pHeader);
     if (entry)
     {
         assert(entry->handle == mem);
@@ -218,47 +218,47 @@
         entry->pData = NULL;
     } else
     {
-         glv_LogError("Failed to copy app memory into trace packet (idx = %u) on xglUnmapMemory\n", pHeader->global_packet_index);
+         glv_LogError("Failed to copy app memory into trace packet (idx = %u) on vkUnmapMemory\n", pHeader->global_packet_index);
     }
     glv_leave_critical_section(&g_memInfoLock);
-//    glv_LogError("manual address of xglUnmapMemory: %p\n", real_xglUnmapMemory);
-    result = real_xglUnmapMemory(mem);
+//    glv_LogError("manual address of vkUnmapMemory: %p\n", real_vkUnmapMemory);
+    result = real_vkUnmapMemory(mem);
     pPacket->mem = mem;
     pPacket->result = result;
     FINISH_TRACE_PACKET();
     return result;
 }
 
-GLVTRACER_EXPORT void XGLAPI __HOOKED_xglCmdWaitEvents(
-    XGL_CMD_BUFFER cmdBuffer,
-    const XGL_EVENT_WAIT_INFO* pWaitInfo)
+GLVTRACER_EXPORT void VKAPI __HOOKED_vkCmdWaitEvents(
+    VK_CMD_BUFFER cmdBuffer,
+    const VK_EVENT_WAIT_INFO* pWaitInfo)
 {
     glv_trace_packet_header* pHeader;
-    struct_xglCmdWaitEvents* pPacket = NULL;
+    struct_vkCmdWaitEvents* pPacket = NULL;
     size_t customSize;
     uint32_t eventCount = (pWaitInfo != NULL && pWaitInfo->pEvents != NULL) ? pWaitInfo->eventCount : 0;
     uint32_t mbCount = (pWaitInfo != NULL && pWaitInfo->ppMemBarriers != NULL) ? pWaitInfo->memBarrierCount : 0;
-    customSize = (eventCount * sizeof(XGL_EVENT)) + mbCount * sizeof(void*) + calculate_memory_barrier_size(mbCount, pWaitInfo->ppMemBarriers);
-    CREATE_TRACE_PACKET(xglCmdWaitEvents, sizeof(XGL_EVENT_WAIT_INFO) + customSize);
-    real_xglCmdWaitEvents(cmdBuffer, pWaitInfo);
-    pPacket = interpret_body_as_xglCmdWaitEvents(pHeader);
+    customSize = (eventCount * sizeof(VK_EVENT)) + mbCount * sizeof(void*) + calculate_memory_barrier_size(mbCount, pWaitInfo->ppMemBarriers);
+    CREATE_TRACE_PACKET(vkCmdWaitEvents, sizeof(VK_EVENT_WAIT_INFO) + customSize);
+    real_vkCmdWaitEvents(cmdBuffer, pWaitInfo);
+    pPacket = interpret_body_as_vkCmdWaitEvents(pHeader);
     pPacket->cmdBuffer = cmdBuffer;
-    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pWaitInfo), sizeof(XGL_EVENT_WAIT_INFO), pWaitInfo);
-    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pWaitInfo->pEvents), eventCount * sizeof(XGL_EVENT), pWaitInfo->pEvents);
+    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pWaitInfo), sizeof(VK_EVENT_WAIT_INFO), pWaitInfo);
+    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pWaitInfo->pEvents), eventCount * sizeof(VK_EVENT), pWaitInfo->pEvents);
     glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pWaitInfo->pEvents));
     glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pWaitInfo->ppMemBarriers), mbCount * sizeof(void*), pWaitInfo->ppMemBarriers);
     uint32_t i, siz;
     for (i = 0; i < mbCount; i++) {
-        XGL_MEMORY_BARRIER *pNext = (XGL_MEMORY_BARRIER *) pWaitInfo->ppMemBarriers[i];
+        VK_MEMORY_BARRIER *pNext = (VK_MEMORY_BARRIER *) pWaitInfo->ppMemBarriers[i];
         switch (pNext->sType) {
-            case XGL_STRUCTURE_TYPE_MEMORY_BARRIER:
-                siz = sizeof(XGL_MEMORY_BARRIER);
+            case VK_STRUCTURE_TYPE_MEMORY_BARRIER:
+                siz = sizeof(VK_MEMORY_BARRIER);
                 break;
-            case XGL_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:
-                siz = sizeof(XGL_BUFFER_MEMORY_BARRIER);
+            case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:
+                siz = sizeof(VK_BUFFER_MEMORY_BARRIER);
                 break;
-            case XGL_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:
-                siz = sizeof(XGL_IMAGE_MEMORY_BARRIER);
+            case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:
+                siz = sizeof(VK_IMAGE_MEMORY_BARRIER);
                 break;
             default:
                 assert(0);
@@ -273,36 +273,36 @@
     FINISH_TRACE_PACKET();
 }
 
-GLVTRACER_EXPORT void XGLAPI __HOOKED_xglCmdPipelineBarrier(
-    XGL_CMD_BUFFER cmdBuffer,
-    const XGL_PIPELINE_BARRIER* pBarrier)
+GLVTRACER_EXPORT void VKAPI __HOOKED_vkCmdPipelineBarrier(
+    VK_CMD_BUFFER cmdBuffer,
+    const VK_PIPELINE_BARRIER* pBarrier)
 {
     glv_trace_packet_header* pHeader;
-    struct_xglCmdPipelineBarrier* pPacket = NULL;
+    struct_vkCmdPipelineBarrier* pPacket = NULL;
     size_t customSize;
     uint32_t eventCount = (pBarrier != NULL && pBarrier->pEvents != NULL) ? pBarrier->eventCount : 0;
     uint32_t mbCount = (pBarrier != NULL && pBarrier->ppMemBarriers != NULL) ? pBarrier->memBarrierCount : 0;
-    customSize = (eventCount * sizeof(XGL_PIPE_EVENT)) + mbCount * sizeof(void*) + calculate_memory_barrier_size(mbCount, pBarrier->ppMemBarriers);
-    CREATE_TRACE_PACKET(xglCmdPipelineBarrier, sizeof(XGL_PIPELINE_BARRIER) + customSize);
-    real_xglCmdPipelineBarrier(cmdBuffer, pBarrier);
-    pPacket = interpret_body_as_xglCmdPipelineBarrier(pHeader);
+    customSize = (eventCount * sizeof(VK_PIPE_EVENT)) + mbCount * sizeof(void*) + calculate_memory_barrier_size(mbCount, pBarrier->ppMemBarriers);
+    CREATE_TRACE_PACKET(vkCmdPipelineBarrier, sizeof(VK_PIPELINE_BARRIER) + customSize);
+    real_vkCmdPipelineBarrier(cmdBuffer, pBarrier);
+    pPacket = interpret_body_as_vkCmdPipelineBarrier(pHeader);
     pPacket->cmdBuffer = cmdBuffer;
-    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pBarrier), sizeof(XGL_PIPELINE_BARRIER), pBarrier);
-    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pBarrier->pEvents), eventCount * sizeof(XGL_PIPE_EVENT), pBarrier->pEvents);
+    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pBarrier), sizeof(VK_PIPELINE_BARRIER), pBarrier);
+    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pBarrier->pEvents), eventCount * sizeof(VK_PIPE_EVENT), pBarrier->pEvents);
     glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pBarrier->pEvents));
     glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pBarrier->ppMemBarriers), mbCount * sizeof(void*), pBarrier->ppMemBarriers);
     uint32_t i, siz;
     for (i = 0; i < mbCount; i++) {
-        XGL_MEMORY_BARRIER *pNext = (XGL_MEMORY_BARRIER *) pBarrier->ppMemBarriers[i];
+        VK_MEMORY_BARRIER *pNext = (VK_MEMORY_BARRIER *) pBarrier->ppMemBarriers[i];
         switch (pNext->sType) {
-            case XGL_STRUCTURE_TYPE_MEMORY_BARRIER:
-                siz = sizeof(XGL_MEMORY_BARRIER);
+            case VK_STRUCTURE_TYPE_MEMORY_BARRIER:
+                siz = sizeof(VK_MEMORY_BARRIER);
                 break;
-            case XGL_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:
-                siz = sizeof(XGL_BUFFER_MEMORY_BARRIER);
+            case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:
+                siz = sizeof(VK_BUFFER_MEMORY_BARRIER);
                 break;
-            case XGL_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:
-                siz = sizeof(XGL_IMAGE_MEMORY_BARRIER);
+            case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:
+                siz = sizeof(VK_IMAGE_MEMORY_BARRIER);
                 break;
             default:
                 assert(0);
diff --git a/tools/glave/src/glvcommon/glv_process.c b/tools/glave/src/glvcommon/glv_process.c
index cda4b73..89b0496 100644
--- a/tools/glave/src/glvcommon/glv_process.c
+++ b/tools/glave/src/glvcommon/glv_process.c
@@ -70,7 +70,7 @@
         envp[0] = pInfo->processLDPreload;
         envp[4] = (char *) (NULL);
         static char default_disp[] = "DISPLAY=:0";
-        char * libxgl_drivers_path = (char *) (NULL);
+        char * libvk_drivers_path = (char *) (NULL);
         char * env_display = (char *) NULL;
         char * ld_library_path = (char *) NULL;
         char * args[128];
@@ -103,18 +103,18 @@
         }
 
         // TODO this needs to be generalized for other drivers
-        libxgl_drivers_path = getenv("LIBXGL_DRIVERS_PATH");
-        if (libxgl_drivers_path == NULL)
+        libvk_drivers_path = getenv("LIBVK_DRIVERS_PATH");
+        if (libvk_drivers_path == NULL)
         {
-            glv_LogWarn("LIBXGL_DRIVERS_PATH env var was not set. We recommend that you set it.\n");
+            glv_LogWarn("LIBVK_DRIVERS_PATH env var was not set. We recommend that you set it.\n");
             envp[2] = NULL;
         }
         else
         {
-            char *dPath = malloc(strlen(libxgl_drivers_path) + strlen("LIBXGL_DRIVERS_PATH=") + 1);
+            char *dPath = malloc(strlen(libvk_drivers_path) + strlen("LIBVK_DRIVERS_PATH=") + 1);
             if (dPath == NULL)
                 glv_LogError("Failed to malloc in glv_process_spawn().\n");
-            snprintf(dPath, strlen(libxgl_drivers_path) + strlen("LIBXGL_DRIVERS_PATH=") + 1, "LIBXGL_DRIVERS_PATH=%s", libxgl_drivers_path);
+            snprintf(dPath, strlen(libvk_drivers_path) + strlen("LIBVK_DRIVERS_PATH=") + 1, "LIBVK_DRIVERS_PATH=%s", libvk_drivers_path);
             envp[2] = dPath;
         }
 
diff --git a/tools/glave/src/glvcommon/glv_trace_packet_identifiers.h b/tools/glave/src/glvcommon/glv_trace_packet_identifiers.h
index b35e191..248a1b6 100644
--- a/tools/glave/src/glvcommon/glv_trace_packet_identifiers.h
+++ b/tools/glave/src/glvcommon/glv_trace_packet_identifiers.h
@@ -37,7 +37,7 @@
     GLV_TID_RESERVED = 0,
     GLV_TID_GL_FPS,
     GLV_TID_MANTLE,
-    GLV_TID_XGL,
+    GLV_TID_VULKAN,
     GLV_TID_MANTLE_PERF
     // Max enum must be less than GLV_MAX_TRACER_ID_ARRAY_SIZE
 } GLV_TRACER_ID;
@@ -55,7 +55,7 @@
     {GLV_TID_RESERVED, FALSE, "", ""},
     {GLV_TID_GL_FPS, FALSE, "", ""},
     {GLV_TID_MANTLE, TRUE, GLV_LIBRARY_NAME(glvreplay_mantle), GLV_LIBRARY_NAME(glvdebug_mantle)},
-    {GLV_TID_XGL, TRUE, GLV_LIBRARY_NAME(glvreplay_xgl), GLV_LIBRARY_NAME(glvdebug_xgl)},
+    {GLV_TID_VULKAN, TRUE, GLV_LIBRARY_NAME(glvreplay_vk), GLV_LIBRARY_NAME(glvdebug_vk)},
     {GLV_TID_MANTLE_PERF, FALSE, "", ""},
     {GLV_TID_RESERVED, FALSE, "", ""}, // this can be updated as new tracers are added
     {GLV_TID_RESERVED, FALSE, "", ""}, // this can be updated as new tracers are added