1
0
mirror of https://github.com/wolfpld/tracy synced 2025-05-01 21:23:52 +00:00

Add "no grouping" mode to find zone zones list.

This commit is contained in:
Bartosz Taudul 2019-10-04 12:42:05 +02:00
parent 9e1935f070
commit b913c17f5b
2 changed files with 11 additions and 1 deletions

View File

@ -7260,6 +7260,8 @@ uint64_t View::GetSelectionTarget( const Worker::ZoneThreadData& ev, FindZone::G
return ev.Zone()->text.Active() ? ev.Zone()->text.Idx() : std::numeric_limits<uint64_t>::max(); return ev.Zone()->text.Active() ? ev.Zone()->text.Idx() : std::numeric_limits<uint64_t>::max();
case FindZone::GroupBy::Callstack: case FindZone::GroupBy::Callstack:
return ev.Zone()->callstack.Val(); return ev.Zone()->callstack.Val();
case FindZone::GroupBy::NoGrouping:
return 0;
default: default:
assert( false ); assert( false );
return 0; return 0;
@ -8217,6 +8219,8 @@ void View::DrawFindZone()
groupChanged |= ImGui::RadioButton( "User text", (int*)( &m_findZone.groupBy ), (int)FindZone::GroupBy::UserText ); groupChanged |= ImGui::RadioButton( "User text", (int*)( &m_findZone.groupBy ), (int)FindZone::GroupBy::UserText );
ImGui::SameLine(); ImGui::SameLine();
groupChanged |= ImGui::RadioButton( "Call stacks", (int*)( &m_findZone.groupBy ), (int)FindZone::GroupBy::Callstack ); groupChanged |= ImGui::RadioButton( "Call stacks", (int*)( &m_findZone.groupBy ), (int)FindZone::GroupBy::Callstack );
ImGui::SameLine();
groupChanged |= ImGui::RadioButton( "No grouping", (int*)( &m_findZone.groupBy ), (int)FindZone::GroupBy::NoGrouping );
if( groupChanged ) if( groupChanged )
{ {
m_findZone.selGroup = m_findZone.Unselected; m_findZone.selGroup = m_findZone.Unselected;
@ -8290,6 +8294,9 @@ void View::DrawFindZone()
case FindZone::GroupBy::Callstack: case FindZone::GroupBy::Callstack:
group = &m_findZone.groups[ev.Zone()->callstack.Val()]; group = &m_findZone.groups[ev.Zone()->callstack.Val()];
break; break;
case FindZone::GroupBy::NoGrouping:
group = &m_findZone.groups[0];
break;
default: default:
group = nullptr; group = nullptr;
assert( false ); assert( false );
@ -8480,6 +8487,9 @@ void View::DrawFindZone()
hdrString = m_worker.GetString( frameData.data[frameData.size-1].name ); hdrString = m_worker.GetString( frameData.data[frameData.size-1].name );
} }
break; break;
case FindZone::GroupBy::NoGrouping:
hdrString = "Zone list";
break;
default: default:
hdrString = nullptr; hdrString = nullptr;
assert( false ); assert( false );

View File

@ -363,7 +363,7 @@ private:
struct FindZone { struct FindZone {
enum : uint64_t { Unselected = std::numeric_limits<uint64_t>::max() - 1 }; enum : uint64_t { Unselected = std::numeric_limits<uint64_t>::max() - 1 };
enum class GroupBy : int { Thread, UserText, Callstack }; enum class GroupBy : int { Thread, UserText, Callstack, NoGrouping };
enum class SortBy : int { Order, Count, Time, Mtpc }; enum class SortBy : int { Order, Count, Time, Mtpc };
enum class TableSortBy : int { Starttime, Runtime, Name }; enum class TableSortBy : int { Starttime, Runtime, Name };