Skip to content

Commit f7750e6

Browse files
committed
Add source code for RMV 1.4.1 release.
1 parent 55205a4 commit f7750e6

File tree

15 files changed

+254
-86
lines changed

15 files changed

+254
-86
lines changed

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ IF(WIN32)
4747
ELSEIF(UNIX)
4848
# Use -Wno-missing-field-initializers for CentOS compiler warning
4949
add_compile_options(-std=c++11 -D_LINUX -Wall -Wextra -Werror -Wno-missing-field-initializers)
50+
# Allow executable to be double clicked.
51+
add_link_options(-no-pie)
5052
# Use _DEBUG on Unix for Debug Builds (defined automatically on Windows)
5153
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
5254
ENDIF(WIN32)

source/backend/rmt_data_set.cpp

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ static bool MoveTraceFile(const char* existing_file_path, const char* new_file_p
6868
return MoveFileEx(existing_file_path, new_file_path, MOVEFILE_REPLACE_EXISTING);
6969
#else
7070
bool result = false;
71-
if (CopyTraceFile(existing_file_path, new_file_path))
71+
if (rename(existing_file_path, new_file_path) == 0)
7272
{
73-
result = remove(existing_file_path);
73+
result = true;
7474
}
7575

7676
return result;
@@ -397,7 +397,7 @@ static RmtErrorCode ParseChunks(RmtDataSet* data_set)
397397
}
398398

399399
// Initialize the token heap for k-way merging.
400-
error_code = RmtStreamMergerInitialize(&data_set->stream_merger, data_set->streams, data_set->stream_count);
400+
error_code = RmtStreamMergerInitialize(&data_set->stream_merger, data_set->streams, data_set->stream_count, data_set->file_handle);
401401
RMT_ASSERT(error_code == kRmtOk);
402402
RMT_RETURN_ON_ERROR(error_code == kRmtOk, error_code);
403403

@@ -1385,7 +1385,7 @@ static RmtErrorCode TimelineGeneratorParseData(RmtDataSet* data_set, RmtDataTime
13851385
}
13861386
}
13871387

1388-
RmtStreamMergerReset(&data_set->stream_merger);
1388+
RmtStreamMergerReset(&data_set->stream_merger, data_set->file_handle);
13891389

13901390
// if the heap has something there, then add it.
13911391
int32_t last_value_index = -1;
@@ -1776,7 +1776,7 @@ RmtErrorCode RmtDataSetGenerateSnapshot(RmtDataSet* data_set, RmtSnapshotPoint*
17761776
RMT_ASSERT(error_code == kRmtOk);
17771777

17781778
// Reset the RMT stream parsers ready to load the data.
1779-
RmtStreamMergerReset(&data_set->stream_merger);
1779+
RmtStreamMergerReset(&data_set->stream_merger, data_set->file_handle);
17801780

17811781
// process all the tokens
17821782
while (!RmtStreamMergerIsEmpty(&data_set->stream_merger))
@@ -1956,7 +1956,7 @@ RmtErrorCode RmtDataSetAddSnapshot(RmtDataSet* data_set, const char* name, uint6
19561956
}
19571957

19581958
// guts of removing a snapshot without destroying the cached object, lets this code be shared with rename.
1959-
static void RemoveSnapshot(RmtDataSet* data_set, const int32_t snapshot_index)
1959+
static void RemoveSnapshot(RmtDataSet* data_set, const int32_t snapshot_index, RmtDataSnapshot* open_snapshot)
19601960
{
19611961
if (!data_set->read_only)
19621962
{
@@ -1970,19 +1970,29 @@ static void RemoveSnapshot(RmtDataSet* data_set, const int32_t snapshot_index)
19701970
// remove the snapshot from the list of snapshot points in the dataset.
19711971
const int32_t last_snapshot_index = data_set->snapshot_count - 1;
19721972
memcpy(&data_set->snapshots[snapshot_index], &data_set->snapshots[last_snapshot_index], sizeof(RmtSnapshotPoint));
1973+
1974+
// fix up the snapshot point in the open snapshot (if it needs moving).
1975+
if (open_snapshot)
1976+
{
1977+
if (open_snapshot->snapshot_point == &data_set->snapshots[last_snapshot_index])
1978+
{
1979+
open_snapshot->snapshot_point = &data_set->snapshots[snapshot_index];
1980+
}
1981+
}
1982+
19731983
data_set->snapshot_count--;
19741984
}
19751985

19761986
// remove a snapshot from the data set.
1977-
RmtErrorCode RmtDataSetRemoveSnapshot(RmtDataSet* data_set, const int32_t snapshot_index)
1987+
RmtErrorCode RmtDataSetRemoveSnapshot(RmtDataSet* data_set, const int32_t snapshot_index, RmtDataSnapshot* open_snapshot)
19781988
{
19791989
RMT_RETURN_ON_ERROR(data_set, kRmtErrorInvalidPointer);
19801990
RMT_RETURN_ON_ERROR(snapshot_index < data_set->snapshot_count, kRmtErrorIndexOutOfRange);
19811991

19821992
RmtSnapshotPoint* snapshot_point = &data_set->snapshots[snapshot_index];
19831993
RmtDataSnapshotDestroy(snapshot_point->cached_snapshot);
19841994

1985-
RemoveSnapshot(data_set, snapshot_index);
1995+
RemoveSnapshot(data_set, snapshot_index, open_snapshot);
19861996

19871997
CommitTemporaryFileEdits(data_set, false);
19881998

@@ -2017,7 +2027,7 @@ RmtErrorCode RmtDataSetRenameSnapshot(RmtDataSet* data_set, const int32_t snapsh
20172027
}
20182028

20192029
// remove it also, has the side effect of copying the new thing we just made back to the original location :D
2020-
RemoveSnapshot(data_set, snapshot_index);
2030+
RemoveSnapshot(data_set, snapshot_index, nullptr);
20212031

20222032
CommitTemporaryFileEdits(data_set, false);
20232033

source/backend/rmt_data_set.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//=============================================================================
2-
// Copyright (c) 2019-2021 Advanced Micro Devices, Inc. All rights reserved.
2+
// Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.
33
/// @author AMD Developer Tools Team
44
/// @file
55
/// @brief Structures and functions for working with a data set.
@@ -57,7 +57,7 @@ typedef struct RmtDataSet
5757
{
5858
char file_path[RMT_MAXIMUM_FILE_PATH]; ///< The file path to the file being worked with.
5959
char temporary_file_path[RMT_MAXIMUM_FILE_PATH]; ///< The file path to the safe temporary file being worked with.
60-
void* file_handle; ///< The handle to the RMT file (operates on the temporary).
60+
FILE* file_handle; ///< The handle to the RMT file (operates on the temporary).
6161
size_t file_size_in_bytes; ///< The size of the file pointed to by <c><i>fileHandle</i></c> in bytes.
6262
bool read_only; ///< Whether the dataset is loaded as read-only.
6363
bool sam_enabled; ///< Whether the dataset is SAM (smart access memory) enabled.
@@ -219,12 +219,13 @@ RmtErrorCode RmtDataSetAddSnapshot(RmtDataSet* data_set, const char* name, uint6
219219
///
220220
/// @param [in] data_set A pointer to a <c><i>RmtDataSet</i></c> structure.
221221
/// @param [in] snapshot_index The index of the snapshot to delete.
222+
/// @param [in] open_snapshot A pointer to the open snapshot (or nullptr if no open snapshot)
222223
///
223224
/// @returns
224225
/// kRmtOk The operation completed successfully.
225226
/// @retval
226227
/// kRmtErrorInvalidPointer The operation failed due to <c><i>data_set</i></c> being set to <c><i>NULL</i></c>.
227-
RmtErrorCode RmtDataSetRemoveSnapshot(RmtDataSet* data_set, const int32_t snapshot_index);
228+
RmtErrorCode RmtDataSetRemoveSnapshot(RmtDataSet* data_set, const int32_t snapshot_index, RmtDataSnapshot* open_snapshot);
228229

229230
/// Rename an existing snapshot in the file.
230231
///

source/backend/rmt_data_snapshot.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//=============================================================================
2-
// Copyright (c) 2019-2021 Advanced Micro Devices, Inc. All rights reserved.
2+
// Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.
33
/// @author AMD Developer Tools Team
44
/// @file
55
/// @brief Functions working on a snapshot.
@@ -104,7 +104,7 @@ RmtErrorCode RmtDataSnapshotDumpJsonToFile(const RmtDataSnapshot* snapshot, cons
104104
static RmtErrorCode ProcessTokensIntoResourceHistory(RmtDataSet* data_set, const RmtResource* resource, RmtResourceHistory* out_resource_history)
105105
{
106106
// Reset the RMT stream parsers ready to load the data.
107-
RmtStreamMergerReset(&data_set->stream_merger);
107+
RmtStreamMergerReset(&data_set->stream_merger, data_set->file_handle);
108108

109109
while (!RmtStreamMergerIsEmpty(&data_set->stream_merger))
110110
{

source/frontend/CMakeLists.txt

Lines changed: 47 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -426,44 +426,53 @@ IF(UNIX AND NOT APPLE)
426426
set(QT_ICONENGINES_DST "$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/iconengines")
427427

428428
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
429-
COMMAND ${CMAKE_COMMAND} -E echo "copying QT libs from ${QT_LIB_SRC} to ${QT_LIB_DST}"
430-
COMMAND ${CMAKE_COMMAND} -E make_directory ${QT_LIB_DST}
431-
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/iconengines
432-
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/imageformats
433-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5Core.so.5 ${QT_LIB_DST}
434-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5Gui.so.5 ${QT_LIB_DST}
435-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5Svg.so.5 ${QT_LIB_DST}
436-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5Widgets.so.5 ${QT_LIB_DST}
437-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5XcbQpa.so.5 ${QT_LIB_DST}
438-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5DBus.so.5 ${QT_LIB_DST}
439-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libicudata.so.50 ${QT_LIB_DST}
440-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libicui18n.so.50 ${QT_LIB_DST}
441-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libicuuc.so.50 ${QT_LIB_DST}
442-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb.so.1 ${QT_LIB_DST}
443-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-icccm.so.4 ${QT_LIB_DST}
444-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-image.so.0 ${QT_LIB_DST}
445-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-keysyms.so.1 ${QT_LIB_DST}
446-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-randr.so.0 ${QT_LIB_DST}
447-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-render.so.0 ${QT_LIB_DST}
448-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-render-util.so.0 ${QT_LIB_DST}
449-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-shape.so.0 ${QT_LIB_DST}
450-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-shm.so.0 ${QT_LIB_DST}
451-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-sync.so.1 ${QT_LIB_DST}
452-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-util.so.1 ${QT_LIB_DST}
453-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-xfixes.so.0 ${QT_LIB_DST}
454-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-xinerama.so.0 ${QT_LIB_DST}
455-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-xkb.so.1 ${QT_LIB_DST}
456-
COMMAND ${CMAKE_COMMAND} -E echo "copying QT platform plugins from ${QT_PLATFORM_SRC} to ${QT_PLATFORM_DST}"
457-
COMMAND ${CMAKE_COMMAND} -E make_directory ${QT_PLATFORM_DST}
458-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_PLATFORM_SRC}/libqxcb.so ${QT_PLATFORM_DST}
459-
COMMAND ${CMAKE_COMMAND} -E echo "copying QT imageformat plugins from ${QT_IMAGEFORMATS_SRC} to ${QT_IMAGEFORMATS_DST}"
460-
COMMAND ${CMAKE_COMMAND} -E make_directory ${QT_IMAGEFORMATS_DST}
461-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_IMAGEFORMATS_SRC}/libqsvg.so ${QT_IMAGEFORMATS_DST}
462-
COMMAND ${CMAKE_COMMAND} -E echo "copying QT iconengine plugins from ${QT_ICONENGINES_SRC} to ${QT_ICONENGINES_DST}"
463-
COMMAND ${CMAKE_COMMAND} -E make_directory ${QT_ICONENGINES_DST}
464-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_ICONENGINES_SRC}/libqsvgicon.so ${QT_ICONENGINES_DST}
465-
COMMAND ${CMAKE_COMMAND} -E echo "copying qt.conf to $<TARGET_FILE_DIR:${PROJECT_NAME}>"
466-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/../../build/qt.conf $<TARGET_FILE_DIR:${PROJECT_NAME}>
429+
COMMAND ${CMAKE_COMMAND} -E echo "copying QT libs from ${QT_LIB_SRC} to ${QT_LIB_DST}"
430+
COMMAND ${CMAKE_COMMAND} -E make_directory ${QT_LIB_DST}
431+
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/iconengines
432+
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/imageformats
433+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5Core.so.5 ${QT_LIB_DST}
434+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5Gui.so.5 ${QT_LIB_DST}
435+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5Svg.so.5 ${QT_LIB_DST}
436+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5Widgets.so.5 ${QT_LIB_DST}
437+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5XcbQpa.so.5 ${QT_LIB_DST}
438+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libQt5DBus.so.5 ${QT_LIB_DST}
439+
)
440+
441+
# Copy Additional Qt 5.15.2 library files if needed.
442+
IF(NOT DISABLE_EXTRA_QT_LIB_DEPLOY)
443+
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
444+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libicudata.so.50 ${QT_LIB_DST}
445+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libicui18n.so.50 ${QT_LIB_DST}
446+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libicuuc.so.50 ${QT_LIB_DST}
447+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb.so.1 ${QT_LIB_DST}
448+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-icccm.so.4 ${QT_LIB_DST}
449+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-image.so.0 ${QT_LIB_DST}
450+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-keysyms.so.1 ${QT_LIB_DST}
451+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-randr.so.0 ${QT_LIB_DST}
452+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-render.so.0 ${QT_LIB_DST}
453+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-render-util.so.0 ${QT_LIB_DST}
454+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-shape.so.0 ${QT_LIB_DST}
455+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-shm.so.0 ${QT_LIB_DST}
456+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-sync.so.1 ${QT_LIB_DST}
457+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-util.so.1 ${QT_LIB_DST}
458+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-xfixes.so.0 ${QT_LIB_DST}
459+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-xinerama.so.0 ${QT_LIB_DST}
460+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_LIB_SRC}/libxcb-xkb.so.1 ${QT_LIB_DST}
461+
)
462+
ENDIF(NOT DISABLE_EXTRA_QT_LIB_DEPLOY)
463+
464+
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
465+
COMMAND ${CMAKE_COMMAND} -E echo "copying QT platform plugins from ${QT_PLATFORM_SRC} to ${QT_PLATFORM_DST}"
466+
COMMAND ${CMAKE_COMMAND} -E make_directory ${QT_PLATFORM_DST}
467+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_PLATFORM_SRC}/libqxcb.so ${QT_PLATFORM_DST}
468+
COMMAND ${CMAKE_COMMAND} -E echo "copying QT imageformat plugins from ${QT_IMAGEFORMATS_SRC} to ${QT_IMAGEFORMATS_DST}"
469+
COMMAND ${CMAKE_COMMAND} -E make_directory ${QT_IMAGEFORMATS_DST}
470+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_IMAGEFORMATS_SRC}/libqsvg.so ${QT_IMAGEFORMATS_DST}
471+
COMMAND ${CMAKE_COMMAND} -E echo "copying QT iconengine plugins from ${QT_ICONENGINES_SRC} to ${QT_ICONENGINES_DST}"
472+
COMMAND ${CMAKE_COMMAND} -E make_directory ${QT_ICONENGINES_DST}
473+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_ICONENGINES_SRC}/libqsvgicon.so ${QT_ICONENGINES_DST}
474+
COMMAND ${CMAKE_COMMAND} -E echo "copying qt.conf to $<TARGET_FILE_DIR:${PROJECT_NAME}>"
475+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/../../build/qt.conf $<TARGET_FILE_DIR:${PROJECT_NAME}>
467476
)
468477
# Call chrpath on system to override executable file RPATH.
469478
find_program(CHRPATH_EXECUTABLE NAMES chrpath)

source/frontend/managers/trace_manager.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//==============================================================================
2-
// Copyright (c) 2018-2021 Advanced Micro Devices, Inc. All rights reserved.
2+
// Copyright (c) 2018-2022 Advanced Micro Devices, Inc. All rights reserved.
33
/// @author AMD Developer Tools Team
44
/// @file
55
/// @brief Implementation of the Trace Manager.
@@ -96,7 +96,7 @@ namespace rmv
9696
RmtErrorCode error_code = RmtDataSetInitialize(trace_file_name, &data_set_);
9797
if (error_code != kRmtOk)
9898
{
99-
memset(&data_set_, 0, sizeof(RmtDataSet));
99+
data_set_ = {};
100100
return kTraceLoadReturnFail;
101101
}
102102

@@ -131,7 +131,7 @@ namespace rmv
131131

132132
rmv::SnapshotManager::Get().ClearOpenSnapshot();
133133
rmv::SnapshotManager::Get().ClearCompareSnapshots();
134-
memset(&data_set_, 0, sizeof(RmtDataSet));
134+
data_set_ = {};
135135

136136
active_trace_path_.clear();
137137
}

source/frontend/models/timeline/timeline_model.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,8 @@ namespace rmv
225225
RmtSnapshotPoint* current_snapshot_point = &data_set->snapshots[current_snapshot_point_index];
226226
if (current_snapshot_point == snapshot_point)
227227
{
228-
RmtDataSetRemoveSnapshot(data_set, current_snapshot_point_index);
228+
RmtDataSnapshot* open_snapshot = SnapshotManager::Get().GetOpenSnapshot();
229+
RmtDataSetRemoveSnapshot(data_set, current_snapshot_point_index, open_snapshot);
229230
}
230231
}
231232

source/frontend/util/rmv_util.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,11 @@ QColor rmv_util::GetDeltaChangeColor(DeltaChange delta)
167167

168168
void rmv_util::BuildResourceSizeThresholds(std::vector<uint64_t>& resource_sizes, uint64_t* resource_thresholds)
169169
{
170+
if (resource_sizes.size() == 0)
171+
{
172+
return;
173+
}
174+
170175
std::stable_sort(resource_sizes.begin(), resource_sizes.end());
171176

172177
float step_size = (resource_sizes.size() - 1) / static_cast<float>(rmv::kSizeSliderRange);

source/frontend/util/version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616

1717
#define RMV_MAJOR_VERSION 1 ///< major version number.
1818
#define RMV_MINOR_VERSION 4 ///< minor version number.
19-
#define RMV_BUGFIX_NUMBER 0 ///< bugfix number.
19+
#define RMV_BUGFIX_NUMBER 1 ///< bugfix number.
2020
#define RMV_BUILD_NUMBER 0 ///< build number.
21-
#define RMV_BUILD_DATE_STRING "04/21/2022" ///< build date string.
21+
#define RMV_BUILD_DATE_STRING "06/13/2022" ///< build date string.
2222
#define RMV_BUILD_CURRENT_YEAR 2022 ///< The current year.
2323

2424
#define RMV_COPYRIGHT_STRING "Copyright (C) 2018-" STRINGIFY_VALUE(RMV_BUILD_CURRENT_YEAR) " Advanced Micro Devices, Inc. All rights reserved."

0 commit comments

Comments
 (0)