Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Metal back-end #1

Closed
wants to merge 436 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
436 commits
Select commit Hold shift + click to select a range
b64389b
Display memory limit in notification area.
wolfpld May 5, 2024
89f1fb4
Terminate connection when memory limit is exceeded.
wolfpld May 5, 2024
6847338
Indicate that memory limit was hit with notification triangle color.
wolfpld May 5, 2024
6748d11
Fix capture utility.
wolfpld May 5, 2024
ee56e1f
Allow setting memory limit in capture utility.
wolfpld May 5, 2024
c31bf6f
Add blue ANSI color macro.
wolfpld May 5, 2024
5730884
Print memory limit in capture utility, if appropriate.
wolfpld May 5, 2024
4f1c4c9
Update NEWS.
wolfpld May 5, 2024
e8c3cb1
Update manual.
wolfpld May 5, 2024
d6b059f
Download up-to-date glfw and freetype.
wolfpld May 5, 2024
839cf6e
Add thread sorting.
wolfpld May 6, 2024
f4d27a4
Update NEWS.
wolfpld May 6, 2024
dcb3837
Update manual.
wolfpld May 6, 2024
da8c234
Support adjusting plot height.
mcourteaux May 7, 2024
b879f5b
Save plot height view data.
mcourteaux May 8, 2024
11eee61
Merge pull request #786 from mcourteaux/plot-height
wolfpld May 8, 2024
4b14d96
Add LLDB summary for Vector.
wolfpld May 6, 2024
1a971d8
Fix dtl.
wolfpld May 12, 2024
813f424
Restrict using mold linker to clang.
wolfpld May 12, 2024
63da288
Enable multi-processor compilation in Visual Studio projects
M4T1A5 May 18, 2024
8983e14
Merge pull request #794 from M4T1A5/cmake-multiprocess-compilation
wolfpld May 18, 2024
73f09de
Fix savings calculation.
mcourteaux May 21, 2024
f704c57
Clearer and more detailed comparison in terms of slow down or speed u…
mcourteaux May 21, 2024
717e545
Improve time comparing display.
mcourteaux May 21, 2024
ec7fc9f
Cleanup
mcourteaux May 21, 2024
86717de
Improve time comparing display.
mcourteaux May 21, 2024
abdbaed
Simplify time comparing display.
mcourteaux May 21, 2024
bd00c6a
Improve time comparing display with better colors.
mcourteaux May 21, 2024
60ae46a
Merge pull request #796 from mcourteaux/master
wolfpld May 21, 2024
cf23441
Cosmetics.
wolfpld May 21, 2024
216a4b7
Support Create() not creating an item.
wolfpld May 23, 2024
afe5c8d
Don't try to create FrameData in ProcessFrameMarkEnd().
wolfpld May 23, 2024
b405370
Add lldb pretty printers for ShortPtr, Vector, Int24, Int48.
wolfpld May 23, 2024
c5e64a1
Do not "eliminate unused debug types". It's broken.
wolfpld May 23, 2024
005d092
Don't set debug flags in non-debug builds (to shut up the compiler).
wolfpld May 23, 2024
d3da7dc
Fix out-of-bounds access on non-continuous frames.
wolfpld May 24, 2024
535a2c8
Add pretty-printer for ZoneEvent.
wolfpld May 24, 2024
6e14d1f
Add summary printer for robin hood.
wolfpld May 24, 2024
55b29ff
Cleanup.
wolfpld May 24, 2024
17b4e83
Update NEWS.
wolfpld May 25, 2024
f0d3eb1
Right-align image name + base address in symbol view.
wolfpld May 25, 2024
071d440
Show number of inlined functions in a symbol.
wolfpld May 25, 2024
0333b9f
Hide "propagate inlines" checkbox if there are no inlined functions.
wolfpld May 25, 2024
56b4424
Be consistent with how statistics shows inline counts.
wolfpld May 25, 2024
d5064aa
Try to prevent reallocs when building kernel symbols table.
wolfpld May 25, 2024
64aad9e
Load all kernel symbols, mark non-code sections with null name.
wolfpld May 25, 2024
82aecbd
Calculate size of kernel code sections.
wolfpld May 25, 2024
7fa2c6c
add availability flag to vkGetQueryPoolResults (vulkan profiler)
heyallnorahere May 25, 2024
f8524f8
Merge pull request #799 from heyallnorahere/fix-vulkan-timestamps
wolfpld May 25, 2024
1ff73ed
Add linux kernel symbol code retrieval.
wolfpld May 26, 2024
aae58fb
Update NEWS.
wolfpld May 26, 2024
cbea6d7
Fix 32-bit builds.
wolfpld May 28, 2024
da9b9f8
Fix wrong parameter in TracyCLContextName
kubouch May 29, 2024
608ff35
Merge pull request #801 from kubouch/patch-1
wolfpld May 29, 2024
207e065
Protect against empty program name.
wolfpld May 30, 2024
15145aa
Fix Gitea actions.
wolfpld May 30, 2024
0c7cbd1
Fix for assert in GetGpuSourceLocationZonesCntReal
AWoloszyn May 30, 2024
026a34a
Merge pull request #804 from AWoloszyn/fix-gpu-src-assert
wolfpld May 30, 2024
eba17d0
fix TracyD3D11 "on demand"
slomp May 31, 2024
4db02dd
Merge pull request #806 from slomp/slomp/d3d11-on-demand-fix
wolfpld May 31, 2024
982d6dd
Update zstd to 1.5.6.
wolfpld May 31, 2024
0d5bd53
Update imgui to 1.90.7-docking.
wolfpld May 31, 2024
07c6e12
Measure load and save time separately in tracy-update.
wolfpld May 31, 2024
9dea830
Move file compression enum out of FileWrite.
wolfpld May 31, 2024
9c3a4e5
Separate compression from writing data to file.
wolfpld May 31, 2024
3bf4a67
Use multiple compression streams when writing trace files.
wolfpld Jun 2, 2024
095df5f
Expose streams in tracy-update.
wolfpld Jun 2, 2024
eb1cbb4
Move common file buffer sizes to a separate header.
wolfpld Jun 2, 2024
048ff82
Support loading single-stream new format traces.
wolfpld Jun 2, 2024
bb1e717
Update magic string to look for in tracy files.
wolfpld Jun 2, 2024
ce240dd
Loading multi-stream data.
wolfpld Jun 2, 2024
277ec25
Spin when waiting for decompressed data instead of using lock + cv.
wolfpld Jun 2, 2024
455738a
Default to zstd level 3 with 4 streams in tracy-capture.
wolfpld Jun 2, 2024
3a18688
Added compression streams to save trace UI.
wolfpld Jun 2, 2024
870959e
Update NEWS.
wolfpld Jun 2, 2024
0a187a6
Update manual.
wolfpld Jun 2, 2024
abf12f7
Set the default save config also in tracy-update.
wolfpld Jun 2, 2024
8d67c79
Add self-profiling option.
wolfpld Jun 4, 2024
5454f75
Windows for ARM support
Jun 5, 2024
a17c218
Merge pull request #809 from Ravbug/master
wolfpld Jun 5, 2024
5d52427
Two minor fixes.
mcourteaux Jun 7, 2024
5e211fb
Merge pull request #812 from mcourteaux/master
wolfpld Jun 7, 2024
2cea570
Add initial achievements popup.
wolfpld Jun 5, 2024
f6f8fb3
Set dark background.
wolfpld Jun 6, 2024
8051cea
Add a basic achievements manager.
wolfpld Jun 6, 2024
3886111
Add achievements notification.
wolfpld Jun 6, 2024
bf0226f
Update screen only when achievements notification is animating.
wolfpld Jun 6, 2024
2e2e625
Show/hide achievements list window.
wolfpld Jun 7, 2024
02ad97f
Disable achievements UI on emscripten.
wolfpld Jun 7, 2024
b5fda4f
Add achievement data structure definitions.
wolfpld Jun 7, 2024
d2e9954
Add initial achievements data.
wolfpld Jun 7, 2024
cddab58
Add achievements processing logic.
wolfpld Jun 7, 2024
aff60a6
Mark the initial achievement as achieved on startup.
wolfpld Jun 7, 2024
6aa9401
Add achievement wrapper function to TracyView.
wolfpld Jun 7, 2024
efdd28f
Add achievement for connecting to a client.
wolfpld Jun 7, 2024
d474f21
Add a check for being connected to "connect to client" achievement.
wolfpld Jun 7, 2024
139dc44
Hook up save / load trace achievements.
wolfpld Jun 7, 2024
ba154e0
Allow checking if achievements need attention.
wolfpld Jun 7, 2024
3f2d284
Animate achievements star button when attention is needed.
wolfpld Jun 7, 2024
a3b63bb
Save / load state of achievements.
wolfpld Jun 7, 2024
d9fe3ed
Add CMake option to not use parallel STL.
wolfpld Jun 7, 2024
a8e427f
Locked achievements can't be done.
wolfpld Jun 8, 2024
1247f36
Improve some achievement descriptions.
wolfpld Jun 8, 2024
6cc772e
Unlock any eligible new achievements that may have been added.
wolfpld Jun 8, 2024
9d7222e
Add unfinished instrumentation achievement and category.
wolfpld Jun 8, 2024
fde874e
Introduce unlocks list, hook things up.
wolfpld Jun 8, 2024
7401a72
Process unlock list, unlock achievement categories.
wolfpld Jun 8, 2024
a6b9369
Allow checking if achievement category needs attention.
wolfpld Jun 8, 2024
16bc015
Mark categories that need attention.
wolfpld Jun 8, 2024
ef1c8e8
Allow parsing arbitrary source code fragments.
wolfpld Jun 8, 2024
e09379b
Add source code printer helper.
wolfpld Jun 8, 2024
03e9c89
Finish instrumentation intro achievement description.
wolfpld Jun 8, 2024
7dbb3c5
Fine-tune achievements window size.
wolfpld Jun 8, 2024
b38ac8b
Hook up instrumentation intro achievement.
wolfpld Jun 8, 2024
51ee663
Add category getter for an achievement item.
wolfpld Jun 8, 2024
fc08f09
Switch the achievement category to show the selected achievement.
wolfpld Jun 8, 2024
739b626
Update NEWS.
wolfpld Jun 8, 2024
65576a2
Add sampling achievements category.
wolfpld Jun 10, 2024
3cb7fd8
More efficient way to check if there are zones.
wolfpld Jun 10, 2024
72cf230
Add sampling achievement check.
wolfpld Jun 10, 2024
2edd23f
More verbose achievement names.
wolfpld Jun 10, 2024
3589b46
Don't try to shorten zone names starting with '['.
wolfpld Jun 12, 2024
f04d844
Use strlen to calculate end of string in ShortenZoneName().
wolfpld Jun 12, 2024
c5c0fce
Add instrumentation statistics achievement.
wolfpld Jun 14, 2024
915a138
Add 100 million zones achievement.
wolfpld Jun 16, 2024
959ab53
Add global settings achievement.
wolfpld Jun 16, 2024
50f5345
Add a help marker for the target FPS setting.
wolfpld Jun 16, 2024
9f0f3a7
Save achievements data after each completion.
wolfpld Jun 16, 2024
be40c1e
Use strlen instead of pointer walking in the rest of places.
wolfpld Jun 16, 2024
4bbe973
Fix source location payload source file string length calculation
M4T1A5 Jun 19, 2024
d4a4b62
Merge pull request #817 from M4T1A5/fix/worker_add_source_loc
wolfpld Jun 19, 2024
dfbf065
libbacktrace: update elf.cpp
eltociear Jun 30, 2024
4a933d0
Merge pull request #821 from eltociear/patch-1
wolfpld Jun 30, 2024
938ab3b
Move config setup to a separate function.
wolfpld Jun 30, 2024
3c34d9d
Remove redundancy.
wolfpld Jun 30, 2024
f8023ba
Setup config before loading user data state that may want to overwrit…
wolfpld Jun 30, 2024
9688152
Add dynamic colors, force colors, shorten name to global options.
wolfpld Jun 30, 2024
9cf61d6
[build-system] Migrate test/ directory to CMakeLists
Jul 3, 2024
bad4a4e
debuginfod enabled by default
Jul 3, 2024
6d1deb5
Merge pull request #824 from Arpafaucon/cmake-config-test
wolfpld Jul 3, 2024
c383e7a
Add EnsureReadable() implementation for Windows.
wolfpld Jul 8, 2024
5b7b4a6
Update NEWS.
wolfpld Jul 8, 2024
6f17cf1
Use double quotes in achievements texts.
wolfpld Jul 8, 2024
1a7eefc
Add find zones achievement.
wolfpld Jul 8, 2024
e4cda51
Unlock new top-level achievements in already unlocked categories.
wolfpld Jul 8, 2024
69c50cb
Add frame instrumentation achievement.
wolfpld Jul 8, 2024
ec455c8
Add frame images achievement.
wolfpld Jul 8, 2024
1458a6a
Don't assert on a workarounded bad case.
wolfpld Jul 11, 2024
521e371
Ignore CMake build directories.
wolfpld Jul 12, 2024
9a88b8f
Merge import-* folders
Jul 12, 2024
0753956
Release 0.11.0.
wolfpld Jul 16, 2024
3274fd4
Link against Python libraries for compatibility with pybind11 >= v2.13
SeeChange-CI Jul 17, 2024
c0f93b1
Merge pull request #830 from Chekov2k/python_libs
wolfpld Jul 17, 2024
a8704b4
Set CXX standard for older compilers
SeeChange-CI Jul 17, 2024
22a0898
Merge pull request #831 from Chekov2k/llvm
wolfpld Jul 17, 2024
34d40a5
Add missing make line to python instructions
SeeChange-CI Jul 17, 2024
c9e5790
Merge pull request #832 from Chekov2k/manual
wolfpld Jul 17, 2024
82fd407
[test] Trigger failures via USR1/USR2
Jul 17, 2024
a636950
Fix wrong printf.
wolfpld Jul 17, 2024
7a74d38
(review) use signal.h
Jul 17, 2024
5634c15
Merge pull request #833 from Arpafaucon/trigger-failures-in-test
wolfpld Jul 17, 2024
8937546
Fix achievement mgr crashing on uninitialized data
Aldarrion Jul 17, 2024
68357bd
Merge pull request #834 from Aldarrion/fix-achievement-init-order-crash
wolfpld Jul 17, 2024
5098fc2
No mold on emscripten.
wolfpld Jul 17, 2024
93b4ea2
Merge pull request #826 from Arpafaucon/merge-import-utilities
wolfpld Jul 18, 2024
90adf00
fix CpuId when compiling with clang on windows
Techatrix Jul 18, 2024
f81e089
Merge pull request #836 from Techatrix/fix-windows-clang
wolfpld Jul 19, 2024
20d67a1
tentative clang-format
Jul 17, 2024
c9063fb
Expose TRACY_VERBOSE in cmake for debug
Jul 21, 2024
751545e
Merge pull request #839 from Arpafaucon/cmake-add-verbose
wolfpld Jul 21, 2024
d9a182b
Find libunwind if requested so we can link to it.
Jul 23, 2024
684cee5
Merge pull request #841 from aluaces/pr-find-libunwind
wolfpld Jul 23, 2024
0aa025c
Fix for #847
tksuoran Jul 26, 2024
ffb98a9
Merge pull request #848 from tksuoran/msys2_clang64_link_fix
wolfpld Jul 26, 2024
fb18a81
Add support for reading TRACY_SAMPLING_HZ from an env variable.
wolfpld Jul 30, 2024
3658c0c
Add thread group hint to ThreadNameData.
wolfpld Aug 3, 2024
5e22410
Allow direct access to ThreadNameData.
wolfpld Aug 3, 2024
70a468e
Protocol version 66 was used by 0.11.0.
wolfpld Aug 3, 2024
beb42a3
Change group hint from unsigned to signed.
wolfpld Aug 3, 2024
8cea63c
Send thread group hint message.
wolfpld Aug 3, 2024
9a9f1c2
Set plot thread group hint to -1 in the test application.
wolfpld Aug 3, 2024
28a9750
Process thread group hints.
wolfpld Aug 3, 2024
bdacfe7
Add a list of pending thread hints.
wolfpld Aug 3, 2024
dbf6274
Remove threads that had group hint changed from thread order list.
wolfpld Aug 3, 2024
1390c8c
Take group hint into account when sorting threads.
wolfpld Aug 3, 2024
a1064a3
Observe thread grouping hint when a new thread appears.
wolfpld Aug 3, 2024
0b74b14
Save thread group hint.
wolfpld Aug 3, 2024
ecb05f7
Document thread group hints.
wolfpld Aug 3, 2024
46852a7
Update NEWS.
wolfpld Aug 3, 2024
37bfde5
Add fiber enter API with group hint.
wolfpld Aug 3, 2024
835ba9f
Pass fiber group hint to NewThread().
wolfpld Aug 3, 2024
f773065
Update manual.
wolfpld Aug 3, 2024
60042d1
Print context switch event data.
wolfpld Aug 6, 2024
30cbc77
Update CPM to 0.40.2.
wolfpld Aug 8, 2024
b18796c
Add text formatting function to test.
wolfpld Aug 8, 2024
ee65a45
Vararg functions can't be inlined.
wolfpld Aug 8, 2024
b2ee226
remove constexpr from GetSamplingInterval
PatrickMoffett Aug 9, 2024
a51f0d0
Merge pull request #858 from PatrickMoffett/master
wolfpld Aug 9, 2024
81d7e9d
only use first 255 characters of source location
brakhane Aug 9, 2024
0c6803e
Merge pull request #859 from brakhane/lua-fix
wolfpld Aug 10, 2024
5c1cc80
Bump capstone to 5.0.3.
wolfpld Aug 21, 2024
b6eb08b
Use algorithmic and vectorizable BC1 index fixup.
wolfpld Aug 21, 2024
f5bc9a9
adds target export to allow use in projects using exports
eyck Aug 21, 2024
c8dbace
adds transient zone with name and color
eyck Aug 21, 2024
dc4aa7a
Merge pull request #866 from Minres/master
wolfpld Aug 21, 2024
fb617fe
Zero-initialize CPU topology data structure.
wolfpld Aug 21, 2024
353545a
Add die to topology data.
wolfpld Aug 21, 2024
8893c2b
Update NEWS.
wolfpld Aug 22, 2024
5d542dc
Release 0.11.1.
wolfpld Aug 22, 2024
e947aeb
Read CPU die information on Linux.
wolfpld Aug 21, 2024
357b557
Add die to CPU topology data structures.
wolfpld Aug 21, 2024
2716311
Store die number in CpuThreadTopology.
wolfpld Aug 24, 2024
46e979e
Display die information on CPU data graph.
wolfpld Aug 24, 2024
844bc1e
Display die jumps in wait regions list.
wolfpld Aug 24, 2024
50bb383
Display CPU topology data in zone wait regions list.
wolfpld Aug 24, 2024
be92ae7
Add tooltips for thread jumps.
wolfpld Aug 24, 2024
f7b810a
Mark hyperthread jumps.
wolfpld Aug 24, 2024
8f3b312
Get CPU die information on windows.
wolfpld Aug 24, 2024
ba79ded
libbacktrace: it's OK if zstd decompressor sees no backward bits (4ea…
wolfpld Aug 24, 2024
ef21f58
libbacktrace: correctly gather Mach-O symbol table (3fda5a8)
wolfpld Aug 24, 2024
12c8592
libbacktrace: fix UBSAN issues (5aa9254)
wolfpld Aug 24, 2024
0d0e56d
libbacktrace: avoid infinite recursion (febbb9b)
wolfpld Aug 24, 2024
e26c343
libbacktrace: support FDPIC (1dd5c40)
wolfpld Aug 24, 2024
1dfc926
Metal back-end WIP
Feb 5, 2024
47180db
basing metal zone scopes on MTLComputePassDescriptor
Feb 7, 2024
4b695cc
debugging timestamps...
Feb 7, 2024
fd1e60e
fixing cpu timestamp baseline
Feb 7, 2024
94407db
giving up on calibration, for now
Feb 8, 2024
3d69c48
fixing timestamp mapping range
Feb 8, 2024
6d04913
stale comments
Feb 8, 2024
c6cc424
collecting/resolving timestamps in pairs
Feb 8, 2024
c374440
adding blit pass and render pass interfaces
Feb 8, 2024
a953879
more debugging
Feb 8, 2024
ad2c2ef
fixing collect wrap-around
Feb 9, 2024
b11e665
debugging
Feb 9, 2024
04cf494
bugfixes
Feb 12, 2024
91ca0f2
improved panic macro (supports print args)
May 10, 2024
5f09d45
blargh
May 10, 2024
cef49c2
blarg again...
May 14, 2024
638fa1f
blarg3
May 15, 2024
5ec7565
cleanup
May 16, 2024
06b23cc
more cleanup
May 16, 2024
ea65b14
adding wiretap for debugging purposes
May 16, 2024
799360d
Collect pending timestamps during shutdown
May 17, 2024
aa85824
comments about the decisions and behavior of the Metal back-end
May 17, 2024
fe51f02
cleanup and comments
May 17, 2024
0ffa0be
addressing code review comments
Sep 3, 2024
19f376a
fixixng interface macros
Sep 10, 2024
bd061d1
removing unsupported macro interfaces
Sep 10, 2024
c168ff6
updating documentation
Sep 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 18 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Empirical format config, based on observed style guide
# Use this only as an help to fit the surrounding code style - don't reformat whole files at once
---
BasedOnStyle: LLVM
AllowShortIfStatementsOnASingleLine: WithoutElse
AllowShortLoopsOnASingleLine: true
AlwaysBreakTemplateDeclarations: Yes
BreakBeforeBraces: Allman
BreakConstructorInitializers: BeforeComma
BreakStringLiterals: false
ColumnLimit: 120
FixNamespaceComments: false
IndentPPDirectives: AfterHash
IndentWidth: 4
PointerAlignment: Left
SpaceBeforeParens: Never
SpacesInParentheses: true
TabWidth: 4
78 changes: 78 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: build

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
build:
strategy:
matrix:
os: [ windows-latest, macos-latest ]

runs-on: ${{ matrix.os }}
continue-on-error: true
steps:
- uses: actions/checkout@v4
- if: startsWith(matrix.os, 'windows')
uses: microsoft/setup-msbuild@v2
- if: startsWith(matrix.os, 'windows')
uses: actions/setup-python@v2
with:
python-version: '3.x'
- if: startsWith(matrix.os, 'windows')
run: pip install meson ninja
- if: startsWith(matrix.os, 'macos')
name: Install macos dependencies
run: brew install pkg-config glfw meson
- name: Profiler GUI
run: |
cmake -B profiler/build -S profiler -DCMAKE_BUILD_TYPE=Release
cmake --build profiler/build --parallel --config Release
- name: Update utility
run: |
cmake -B update/build -S update -DCMAKE_BUILD_TYPE=Release
cmake --build update/build --parallel --config Release
- name: Capture utility
run: |
cmake -B capture/build -S capture -DCMAKE_BUILD_TYPE=Release
cmake --build capture/build --parallel --config Release
- name: Csvexport utility
run: |
cmake -B csvexport/build -S csvexport -DCMAKE_BUILD_TYPE=Release
cmake --build csvexport/build --parallel --config Release
- name: Import utilities
run: |
cmake -B import/build -S import -DCMAKE_BUILD_TYPE=Release
cmake --build import/build --parallel --config Release
- if: ${{ !startsWith(matrix.os, 'windows') }}
name: Library
run: meson setup -Dprefix=$GITHUB_WORKSPACE/bin/lib build && meson compile -C build && meson install -C build
- if: ${{ !startsWith(matrix.os, 'windows') }}
name: Find Artifacts
id: find_artifacts
run: |
mkdir -p bin
cp profiler/build/tracy-profiler bin
cp update/build/tracy-update bin
cp capture/build/tracy-capture bin
cp csvexport/build/tracy-csvexport bin
cp import/build/tracy-import-chrome bin
cp import/build/tracy-import-fuchsia bin
- if: startsWith(matrix.os, 'windows')
name: Find Artifacts
id: find_artifacts_windows
run: |
mkdir bin
copy profiler\build\Release\tracy-profiler.exe bin
copy update\build\Release\tracy-update.exe bin
copy capture\build\Release\tracy-capture.exe bin
copy csvexport\build\Release\tracy-csvexport.exe bin
copy import\build\Release\tracy-import-chrome.exe bin
copy import\build\Release\tracy-import-fuchsia.exe bin
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}
path: bin
7 changes: 3 additions & 4 deletions .github/workflows/latex.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,16 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Fix stupidity
run: |
cp AUTHORS AUTHORS.
cp LICENSE LICENSE.
- name: Compile LaTeX
uses: xu-cheng/latex-action@v2
uses: xu-cheng/latex-action@v3
with:
working_directory: manual
root_file: tracy.tex
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
with:
name: manual
path: manual/tracy.pdf
78 changes: 56 additions & 22 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,68 @@ on:

jobs:
build:

runs-on: ubuntu-22.04
runs-on: ubuntu-latest
container: archlinux:base-devel
steps:
- uses: actions/checkout@v2
- name: Install linux libraries
run: pacman -Syu --noconfirm && pacman -S --noconfirm --needed freetype2 capstone tbb debuginfod wayland dbus libxkbcommon libglvnd meson
- name: Install dependencies
run: pacman -Syu --noconfirm && pacman -S --noconfirm --needed freetype2 tbb debuginfod wayland dbus libxkbcommon libglvnd meson cmake git wayland-protocols nodejs
- uses: actions/checkout@v4
- name: Profiler GUI
run: make -j`nproc` -C profiler/build/unix debug release
run: |
cmake -B profiler/build -S profiler -DCMAKE_BUILD_TYPE=Release
cmake --build profiler/build --parallel
- name: Update utility
run: make -j`nproc` -C update/build/unix debug release
run: |
cmake -B update/build -S update -DCMAKE_BUILD_TYPE=Release
cmake --build update/build --parallel
- name: Capture utility
run: make -j`nproc` -C capture/build/unix debug release
run: |
cmake -B capture/build -S capture -DCMAKE_BUILD_TYPE=Release
cmake --build capture/build --parallel
- name: Csvexport utility
run: make -j`nproc` -C csvexport/build/unix debug release
- name: Import-chrome utility
run: make -j`nproc` -C import-chrome/build/unix debug release
- name: Import-fuchsia utility
run: make -j`nproc` -C import-fuchsia/build/unix debug release
run: |
cmake -B csvexport/build -S csvexport -DCMAKE_BUILD_TYPE=Release
cmake --build csvexport/build --parallel
- name: Import utilities
run: |
cmake -B import/build -S import -DCMAKE_BUILD_TYPE=Release
cmake --build import/build --parallel
- name: Library
run: make -j`nproc` -C library/unix debug release
- name: Library (meson)
run: meson setup -Dprefix=$PWD/install build && meson compile -C build && meson install -C build
run: meson setup -Dprefix=$GITHUB_WORKSPACE/bin/lib build && meson compile -C build && meson install -C build
- name: Test application
run: |
make -j`nproc` -C test
make -j`nproc` -C test clean
make -j`nproc` -C test TRACYFLAGS=-DTRACY_ON_DEMAND
make -j`nproc` -C test clean
make -j`nproc` -C test TRACYFLAGS="-DTRACY_DELAYED_INIT -DTRACY_MANUAL_LIFETIME"
make -C test -B ../public/TracyClient.o DEFINES='-DTRACY_DEMANGLE'
# test compilation with different flags
# we clean the build folder to reset cached variables between runs
cmake -B test/build -S test -DCMAKE_BUILD_TYPE=Release
cmake --build test/build --parallel
rm -rf test/build

# same with TRACY_ON_DEMAND
cmake -B test/build -S test -DCMAKE_BUILD_TYPE=Release -DTRACY_ON_DEMAND=ON .
cmake --build test/build --parallel
rm -rf test/build

# same with TRACY_DELAYED_INIT TRACY_MANUAL_LIFETIME
cmake -B test/build -S test -DCMAKE_BUILD_TYPE=Release -DTRACY_DELAYED_INIT=ON -DTRACY_MANUAL_LIFETIME=ON .
cmake --build test/build --parallel
rm -rf test/build

# same with TRACY_DEMANGLE
cmake -B test/build -S test -DCMAKE_BUILD_TYPE=Release -DTRACY_DEMANGLE=ON .
cmake --build test/build --parallel
rm -rf test/build
- name: Find Artifacts
id: find_artifacts
run: |
mkdir -p bin
cp profiler/build/tracy-profiler bin
cp update/build/tracy-update bin
cp capture/build/tracy-capture bin
cp csvexport/build/tracy-csvexport bin
cp import/build/tracy-import-chrome bin
cp import/build/tracy-import-fuchsia bin
strip bin/tracy-*
- uses: actions/upload-artifact@v4
with:
name: arch-linux
path: bin
40 changes: 0 additions & 40 deletions .github/workflows/macos.yml

This file was deleted.

76 changes: 0 additions & 76 deletions .github/workflows/msvc.yml

This file was deleted.

16 changes: 3 additions & 13 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
.vs
*.opendb
*.db
*.vcxproj.user
x64
Release
Debug
_build
_compiler
tools/*
Expand All @@ -25,21 +19,17 @@ manual/t*.synctex.gz
manual/t*.toc
manual/t*.bbl
manual/t*.blg
manual/t*.fdb_latexmk
manual/t*.fls
profiler/build/win32/packages
profiler/build/win32/Tracy.aps
# include the vcpkg install script but not the files it produces
vcpkg/*
!vcpkg/install_vcpkg_dependencies.bat
/vcpkg_installed
.deps/
.dirstamp
.vscode/

/_*/**
/**/__pycache__/**
extra/vswhere.exe
extra/tracy-build
/.cache
.cache
compile_commands.json
profiler/build/wasm/Tracy-release.*
profiler/build/wasm/Tracy-debug.*
Expand Down
17 changes: 0 additions & 17 deletions .vscode/c_cpp_properties.json

This file was deleted.

7 changes: 7 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"recommendations": [
"llvm-vs-code-extensions.vscode-clangd",
"vadimcn.vscode-lldb",
"ms-vscode.cmake-tools"
]
}
Loading
Loading