Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions layersvt/perfetto/perfetto_helpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
// Define categories used for Perfetto tracing.
// These static strings are registered with Perfetto at initialization time.
PERFETTO_DEFINE_CATEGORIES(
perfetto::Category("CPUTiming/VkInstance").SetDescription("Instance Level Commands"),
perfetto::Category("CPUTiming/VkPhysicalDevice").SetDescription("Physical Device Level Commands"),
perfetto::Category("CPUTiming/VkDevice").SetDescription("Device Level Commands"),
perfetto::Category("CPUTiming/VkQueue").SetDescription("Queue Level Commands"),
perfetto::Category("CPUTiming/VkCommandBuffer").SetDescription("Command Buffer Level Commands"),
perfetto::Category("CPUTiming/Other").SetDescription("Other Commands")
perfetto::Category("VulkanCPUTiming/VkInstance").SetDescription("Instance Level Commands"),
perfetto::Category("VulkanCPUTiming/VkPhysicalDevice").SetDescription("Physical Device Level Commands"),
perfetto::Category("VulkanCPUTiming/VkDevice").SetDescription("Device Level Commands"),
perfetto::Category("VulkanCPUTiming/VkQueue").SetDescription("Queue Level Commands"),
perfetto::Category("VulkanCPUTiming/VkCommandBuffer").SetDescription("Command Buffer Level Commands"),
perfetto::Category("VulkanCPUTiming/Other").SetDescription("Other Commands")
);

// Enum matching the Perfetto categories above.
Expand Down
2 changes: 1 addition & 1 deletion layersvt/test/test_cputiming.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ TEST_F(CpuTimingTests, InitLayer) {

// Verify that we saw creating instance timing
// Expected output format: "vkCreateInstance: <duration> ns"
EXPECT_NE(output.find("CPUTiming/Other vkCreateInstance:"), std::string::npos);
EXPECT_NE(output.find("VulkanCPUTiming/Other vkCreateInstance:"), std::string::npos);
EXPECT_NE(output.find("ns"), std::string::npos);

// If we found a physical device, we should see enumeration timing too
Expand Down
36 changes: 18 additions & 18 deletions layersvt/timer.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,27 +39,27 @@ class Timer {
// helper function here since it would not be a compile-time constexpr.
switch (cat_) {
case CPUTimingCategory::VkInstance: {
TRACE_EVENT_BEGIN("CPUTiming/VkInstance", perfetto::StaticString(name));
TRACE_EVENT_BEGIN("VulkanCPUTiming/VkInstance", perfetto::StaticString(name));
break;
}
case CPUTimingCategory::VkPhysicalDevice: {
TRACE_EVENT_BEGIN("CPUTiming/VkPhysicalDevice", perfetto::StaticString(name));
TRACE_EVENT_BEGIN("VulkanCPUTiming/VkPhysicalDevice", perfetto::StaticString(name));
break;
}
case CPUTimingCategory::VkDevice: {
TRACE_EVENT_BEGIN("CPUTiming/VkDevice", perfetto::StaticString(name));
TRACE_EVENT_BEGIN("VulkanCPUTiming/VkDevice", perfetto::StaticString(name));
break;
}
case CPUTimingCategory::VkQueue: {
TRACE_EVENT_BEGIN("CPUTiming/VkQueue", perfetto::StaticString(name));
TRACE_EVENT_BEGIN("VulkanCPUTiming/VkQueue", perfetto::StaticString(name));
break;
}
case CPUTimingCategory::VkCommandBuffer: {
TRACE_EVENT_BEGIN("CPUTiming/VkCommandBuffer", perfetto::StaticString(name));
TRACE_EVENT_BEGIN("VulkanCPUTiming/VkCommandBuffer", perfetto::StaticString(name));
break;
}
default: {
TRACE_EVENT_BEGIN("CPUTiming/Other", perfetto::StaticString(name));
TRACE_EVENT_BEGIN("VulkanCPUTiming/Other", perfetto::StaticString(name));
break;
}
}
Expand All @@ -68,40 +68,40 @@ class Timer {
~Timer() {
switch (cat_) {
case CPUTimingCategory::VkInstance: {
TRACE_EVENT_END("CPUTiming/VkInstance");
TRACE_EVENT_END("VulkanCPUTiming/VkInstance");
break;
}
case CPUTimingCategory::VkPhysicalDevice: {
TRACE_EVENT_END("CPUTiming/VkPhysicalDevice");
TRACE_EVENT_END("VulkanCPUTiming/VkPhysicalDevice");
break;
}
case CPUTimingCategory::VkDevice: {
TRACE_EVENT_END("CPUTiming/VkDevice");
TRACE_EVENT_END("VulkanCPUTiming/VkDevice");
break;
}
case CPUTimingCategory::VkQueue: {
TRACE_EVENT_END("CPUTiming/VkQueue");
TRACE_EVENT_END("VulkanCPUTiming/VkQueue");
break;
}
case CPUTimingCategory::VkCommandBuffer: {
TRACE_EVENT_END("CPUTiming/VkCommandBuffer");
TRACE_EVENT_END("VulkanCPUTiming/VkCommandBuffer");
break;
}
default: {
TRACE_EVENT_END("CPUTiming/Other");
TRACE_EVENT_END("VulkanCPUTiming/Other");
break;
}
}
#ifndef __ANDROID__
auto end = std::chrono::high_resolution_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start_).count();
const char* cat_str = "CPUTiming/Other";
const char* cat_str = "VulkanCPUTiming/Other";
switch (cat_) {
case CPUTimingCategory::VkInstance: cat_str = "CPUTiming/VkInstance"; break;
case CPUTimingCategory::VkPhysicalDevice: cat_str = "CPUTiming/VkPhysicalDevice"; break;
case CPUTimingCategory::VkDevice: cat_str = "CPUTiming/VkDevice"; break;
case CPUTimingCategory::VkQueue: cat_str = "CPUTiming/VkQueue"; break;
case CPUTimingCategory::VkCommandBuffer: cat_str = "CPUTiming/VkCommandBuffer"; break;
case CPUTimingCategory::VkInstance: cat_str = "VulkanCPUTiming/VkInstance"; break;
case CPUTimingCategory::VkPhysicalDevice: cat_str = "VulkanCPUTiming/VkPhysicalDevice"; break;
case CPUTimingCategory::VkDevice: cat_str = "VulkanCPUTiming/VkDevice"; break;
case CPUTimingCategory::VkQueue: cat_str = "VulkanCPUTiming/VkQueue"; break;
case CPUTimingCategory::VkCommandBuffer: cat_str = "VulkanCPUTiming/VkCommandBuffer"; break;
default: break;
}
std::cout << cat_str << " " << name_ << ": " << duration << " ns" << std::endl;
Expand Down
Loading