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 @@

##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