Skip to content

Commit 354cf3c

Browse files
committed
Unify vkb::Stats and vbk::stats::HPPStats into vkb::stats::Stats<bindingType>
1 parent fa2cf45 commit 354cf3c

File tree

7 files changed

+581
-697
lines changed

7 files changed

+581
-697
lines changed

framework/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,8 @@ set(STATS_FILES
193193
stats/stats_provider.h
194194
stats/frame_time_stats_provider.h
195195
stats/vulkan_stats_provider.h
196-
stats/hpp_stats.h
197196

198197
# Source Files
199-
stats/stats.cpp
200198
stats/stats_provider.cpp
201199
stats/frame_time_stats_provider.cpp
202200
stats/vulkan_stats_provider.cpp)

framework/gui.h

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#include "platform/input_events.h"
3030
#include "platform/window.h"
3131
#include "rendering/hpp_pipeline_state.h"
32-
#include "stats/hpp_stats.h"
3332
#include "stats/stats.h"
3433
#include <glm/glm.hpp>
3534
#include <imgui.h>
@@ -106,7 +105,6 @@ class Gui
106105
using PipelineLayoutType = typename std::conditional<bindingType == BindingType::Cpp, vk::PipelineLayout, VkPipelineLayout>::type;
107106
using PipelineShaderStageCreateInfoType = typename std::conditional<bindingType == BindingType::Cpp, vk::PipelineShaderStageCreateInfo, VkPipelineShaderStageCreateInfo>::type;
108107
using RenderPassType = typename std::conditional<bindingType == BindingType::Cpp, vk::RenderPass, VkRenderPass>::type;
109-
using StatsType = typename std::conditional<bindingType == BindingType::Cpp, vkb::stats::HPPStats, vkb::Stats>::type;
110108

111109
public:
112110
/**
@@ -128,9 +126,9 @@ class Gui
128126
public:
129127
/**
130128
* @brief Constructs a StatsView
131-
* @param stats Const pointer to the Stats data object; may be null
129+
* @param stats Const pointer to the vkb::stats::Stats data object; may be null
132130
*/
133-
StatsView(const StatsType *stats);
131+
StatsView(const vkb::stats::Stats<bindingType> *stats);
134132

135133
float get_graph_height() const;
136134

@@ -165,7 +163,7 @@ class Gui
165163
*/
166164
Gui(vkb::rendering::RenderContext<bindingType> &render_context,
167165
Window const &window,
168-
StatsType const *stats = nullptr,
166+
vkb::stats::Stats<bindingType> const *stats = nullptr,
169167
float font_size = 21.0f,
170168
bool explicit_update = false);
171169

@@ -259,7 +257,7 @@ class Gui
259257
* @param stats Statistics to show (can be null)
260258
* @param debug_info Debug info to show (can be null)
261259
*/
262-
void show_top_window(const std::string &app_name, const StatsType *stats = nullptr, DebugInfo *debug_info = nullptr);
260+
void show_top_window(const std::string &app_name, const vkb::stats::Stats<bindingType> *stats = nullptr, DebugInfo *debug_info = nullptr);
263261

264262
/**
265263
* @brief Updates the Gui
@@ -273,7 +271,7 @@ class Gui
273271
* @brief Shows a child with statistics
274272
* @param stats Statistics to show
275273
*/
276-
void show_stats(const StatsType &stats);
274+
void show_stats(const vkb::stats::Stats<bindingType> &stats);
277275

278276
private:
279277
static constexpr char const *default_font = "Roboto-Regular"; // The name of the default font file to use
@@ -350,7 +348,7 @@ using GuiCpp = Gui<vkb::BindingType::Cpp>;
350348

351349
template <vkb::BindingType bindingType>
352350
inline Gui<bindingType>::Gui(
353-
vkb::rendering::RenderContext<bindingType> &render_context_, Window const &window, StatsType const *stats, float font_size, bool explicit_update) :
351+
vkb::rendering::RenderContext<bindingType> &render_context_, Window const &window, vkb::stats::Stats<bindingType> const *stats, float font_size, bool explicit_update) :
354352
render_context{render_context_},
355353
content_scale_factor{window.get_content_scale_factor()},
356354
dpi_factor{window.get_dpi_factor() * content_scale_factor},
@@ -707,7 +705,7 @@ inline void Gui<bindingType>::draw_impl(vkb::core::CommandBufferCpp &command_buf
707705
.dst_color_blend_factor = vk::BlendFactor::eOneMinusSrcAlpha,
708706
.src_alpha_blend_factor = vk::BlendFactor::eOneMinusSrcAlpha,
709707
.color_write_mask = vk::ColorComponentFlagBits::eR | vk::ColorComponentFlagBits::eG |
710-
vk::ColorComponentFlagBits::eB};
708+
vk::ColorComponentFlagBits::eB};
711709

712710
vkb::rendering::HPPColorBlendState blend_state{.attachments = {color_attachment}};
713711

@@ -1065,7 +1063,7 @@ inline void Gui<bindingType>::prepare_descriptors()
10651063
.imageView = font_image_view->get_handle(),
10661064
.imageLayout = vk::ImageLayout::eShaderReadOnlyOptimal};
10671065
vk::WriteDescriptorSet write_descriptor_set = {
1068-
.dstSet = descriptor_set, .descriptorCount = 1, .descriptorType = vk::DescriptorType::eCombinedImageSampler, .pImageInfo = &font_descriptor};
1066+
.dstSet = descriptor_set, .descriptorCount = 1, .descriptorType = vk::DescriptorType::eCombinedImageSampler, .pImageInfo = &font_descriptor};
10691067
device.updateDescriptorSets(write_descriptor_set, nullptr);
10701068
}
10711069

@@ -1210,7 +1208,7 @@ inline void Gui<bindingType>::show_debug_window(DebugInfo &debug_info, const ImV
12101208

12111209
bool is_open = true;
12121210
const ImGuiWindowFlags flags = ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize |
1213-
ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav;
1211+
ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav;
12141212

12151213
ImGui::Begin("Debug Window", &is_open, flags);
12161214
ImGui::PushFont(font.handle);
@@ -1252,10 +1250,10 @@ inline void Gui<bindingType>::show_options_window(std::function<void()> body, co
12521250
ImGui::SetNextWindowSize(size, ImGuiCond_Always);
12531251
const ImVec2 pos = ImVec2(0.0f, ImGui::GetIO().DisplaySize.y - window_height);
12541252
ImGui::SetNextWindowPos(pos, ImGuiCond_Always);
1255-
const ImGuiWindowFlags flags = ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize |
1256-
ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_AlwaysUseWindowPadding | ImGuiWindowFlags_NoSavedSettings |
1257-
ImGuiWindowFlags_NoFocusOnAppearing;
1258-
bool is_open = true;
1253+
const ImGuiWindowFlags flags = ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize |
1254+
ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_AlwaysUseWindowPadding | ImGuiWindowFlags_NoSavedSettings |
1255+
ImGuiWindowFlags_NoFocusOnAppearing;
1256+
bool is_open = true;
12591257
ImGui::Begin("Options", &is_open, flags);
12601258
body();
12611259
ImGui::End();
@@ -1285,7 +1283,7 @@ inline void Gui<bindingType>::show_simple_window(const std::string &name, uint32
12851283
}
12861284

12871285
template <vkb::BindingType bindingType>
1288-
inline void Gui<bindingType>::show_stats(const StatsType &stats)
1286+
inline void Gui<bindingType>::show_stats(const vkb::stats::Stats<bindingType> &stats)
12891287
{
12901288
for (const auto &stat_index : stats.get_requested_stats())
12911289
{
@@ -1327,7 +1325,7 @@ inline void Gui<bindingType>::show_stats(const StatsType &stats)
13271325
}
13281326

13291327
template <vkb::BindingType bindingType>
1330-
inline void Gui<bindingType>::show_top_window(const std::string &app_name, const StatsType *stats, DebugInfo *debug_info)
1328+
inline void Gui<bindingType>::show_top_window(const std::string &app_name, const vkb::stats::Stats<bindingType> *stats, DebugInfo *debug_info)
13311329
{
13321330
// Transparent background
13331331
ImGui::SetNextWindowBgAlpha(overlay_alpha);
@@ -1501,7 +1499,7 @@ inline void Gui<bindingType>::upload_draw_data(const ImDrawData *draw_data, uint
15011499
}
15021500

15031501
template <vkb::BindingType bindingType>
1504-
inline Gui<bindingType>::StatsView::StatsView(const StatsType *stats)
1502+
inline Gui<bindingType>::StatsView::StatsView(const vkb::stats::Stats<bindingType> *stats)
15051503
{
15061504
if (stats == nullptr)
15071505
{

framework/stats/hpp_stats.h

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)