Skip to content

Conversation

@BenWibking
Copy link

@BenWibking BenWibking commented Dec 30, 2025

Motivation

This PR enables roc-optiq to build on macOS using AppleClang.

Technical Details

  • Clang is stricter than C++ about standard compliance, which had to be fixed in a few places.
  • sysinfo.h is not available on macOS, so that is now guarded by an ifdef. Alternative Mach system calls are used on macOS.
  • The system file dialog can only be opened from the main thread on macOS, so we have to use a non-native dialog

Test Plan

Manually tested on my M1 MacBook.

Test Result

It works.

Submission Checklist

…ping (ROCm#550)

* perf: Moved all time to pixel calculations to a seperate class for better readability and increased performance by reducing the number of individual calculations and validations across timeline_view.

* fix: include <limits> header for linux compatibility.

* fix: Added comments and cleaned up logic to prevent recompute on every loop.

* fix: updated all components in timeline_view to use TimeToPixel convertion tool instead of function level calculations.

* refactor: changed how linechart and flamechart render. No longer pass in variables but pass in the TimePixelTransform class instead.

* refactor: added new transformer to arrow render process, moved all data validation to transformer and ripped out the corresponding validation from timelineview.

* fix: made m_tpt a shared pointer and checked if it exists before using to prevent unexpected behavior.

* Update src/view/src/rocprofvis_time_to_pixel.cpp

Co-authored-by: Copilot <[email protected]>

* Update src/view/src/rocprofvis_time_to_pixel.h

Co-authored-by: Copilot <[email protected]>

* Update src/view/src/rocprofvis_track_item.h

Co-authored-by: Copilot <[email protected]>

* Update src/view/src/rocprofvis_time_to_pixel.cpp

Co-authored-by: Copilot <[email protected]>

* refactor: created m_tpt in track_item removing from line/flame chart also fixed minor formatting errors.

* fix: addressed histogram shudder on zoom level 1 while using arrow keys. also renamed variables in stickynote class to better align with new convention.

* fix: added validation to prevent zooming in beyond our expressed limit. removed redundant validation on timeline_view.

* refactor: moved comments around and addressed redundancy in code.

* refactor: moved comments around and addressed redundancy in code.

* fix: reverted the error of oversimplying logic and split simple zoom and zooming with cursor into seperate distinct functions. Also do a few more verification checks.

* refactor: removed validation used for testing/development. removed redundant variables and did minor code cleanup.

---------

Co-authored-by: Copilot <[email protected]>
@BenWibking BenWibking changed the base branch from main to dev January 2, 2026 20:29
@tomk-amd
Copy link
Collaborator

tomk-amd commented Jan 2, 2026

Thank you for the contribution Ben! We are in the process of evaluating Mac Os support so it might take a bit of time to review and approve this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants