Bartosz Taudul
e5f673eaa0
Allow viewing callstack from gpu zone info window.
2018-06-22 01:58:25 +02:00
Bartosz Taudul
35dc2f796e
Process GpuZoneBeginCallstack queue event.
2018-06-22 01:56:32 +02:00
Bartosz Taudul
4992ae6b39
Take callstack field in ZoneEvent into account in save/load.
2018-06-22 01:30:08 +02:00
Bartosz Taudul
e40c5068c9
Allow viewing callstack from zone info window.
2018-06-22 01:21:51 +02:00
Bartosz Taudul
5e01a8ead9
Process callstack queue event.
2018-06-22 01:15:49 +02:00
Bartosz Taudul
205a4e4ca2
Add callstack index to ZoneEvent.
2018-06-22 01:11:03 +02:00
Bartosz Taudul
978e168cbd
Handle ZoneBeginCallstack queue event.
...
This is identical to ZoneBegin handling, but requires some additional
bookkeeping to account for the incoming callstack information.
2018-06-22 01:07:25 +02:00
Bartosz Taudul
3404d191f0
Fix non-unique child ids in memory window.
2018-06-22 00:10:00 +02:00
Bartosz Taudul
3f7ab10323
Don't show line number if it's 0.
2018-06-21 13:26:04 +02:00
Bartosz Taudul
973eab2b4a
Fix typo.
2018-06-20 23:42:00 +02:00
Bartosz Taudul
2a618c90d5
Properly save compressed thread in GPU events.
2018-06-20 23:12:49 +02:00
Bartosz Taudul
cef972fe25
Remove parenthesis from callstack location.
2018-06-20 17:07:48 +02:00
Bartosz Taudul
7912807133
Wait for transfer of pending callback frames.
2018-06-20 14:57:48 +02:00
Bartosz Taudul
60395c85e0
Wait for pending callstacks.
2018-06-20 14:54:08 +02:00
Bartosz Taudul
e95ca3930d
Make all allocation list alloc/free buttons clickable.
2018-06-20 14:50:07 +02:00
Bartosz Taudul
a9fa8f966b
Fix "zone free" indentation in allocation list.
2018-06-20 14:44:24 +02:00
Bartosz Taudul
bc565e65d1
Better callstack info window layout.
2018-06-20 14:41:00 +02:00
Bartosz Taudul
0d509ea3a6
Add missing EndColumns() call.
2018-06-20 14:37:55 +02:00
Bartosz Taudul
be0a70a5c1
Highlight actively inspected callstack.
2018-06-20 13:49:23 +02:00
Bartosz Taudul
15ff98b64a
Push detailed callstack to a separate window.
...
Only show function names (no source files or line numbers) in callstack
tooltip.
2018-06-20 13:23:08 +02:00
Bartosz Taudul
9a5329b97d
Save and load callstack frames.
2018-06-20 01:59:25 +02:00
Bartosz Taudul
e56ee377f4
Fix off-by-one.
2018-06-20 01:54:27 +02:00
Bartosz Taudul
88b1955a5a
Filename in callstack frame is not a persistent pointer.
2018-06-20 01:26:05 +02:00
Bartosz Taudul
56479b86fa
Display frame details in callstack tooltip.
2018-06-20 01:19:10 +02:00
Bartosz Taudul
4000f27e15
Stack frame accessor.
2018-06-20 01:18:59 +02:00
Bartosz Taudul
0c0afa5ac7
Process callstack frames.
2018-06-20 01:07:09 +02:00
Bartosz Taudul
203744cdd9
Callstack frame queries.
2018-06-20 00:25:26 +02:00
Bartosz Taudul
4ba95145da
Display raw callstack payload.
2018-06-19 22:19:33 +02:00
Bartosz Taudul
4eea85fdad
Callstack payload accessor.
2018-06-19 22:19:20 +02:00
Bartosz Taudul
06f34052a5
Have to track callstacks of both alloc and free.
2018-06-19 22:08:47 +02:00
Bartosz Taudul
0de279005b
Load saved callstack payload.
2018-06-19 22:05:15 +02:00
Bartosz Taudul
14b71e988b
Properly skip memory event data.
2018-06-19 22:05:15 +02:00
Bartosz Taudul
4033d74479
Callstack payload index 0 is invalid.
2018-06-19 22:05:15 +02:00
Bartosz Taudul
b6e71dd909
Load memory event callstack index.
2018-06-19 21:51:06 +02:00
Bartosz Taudul
7c1333ce2f
Save callstack payload.
2018-06-19 21:39:52 +02:00
Bartosz Taudul
2940230fcf
Save callstack index in memory events.
2018-06-19 21:39:42 +02:00
Bartosz Taudul
e03493f082
Store callstack index as uint32_t.
2018-06-19 21:39:22 +02:00
Bartosz Taudul
77db91253b
Assign callstack idx to memory event.
2018-06-19 21:34:36 +02:00
Bartosz Taudul
c28465aa7c
Store unique callstack payloads.
2018-06-19 21:16:02 +02:00
Bartosz Taudul
87467a472c
Add variable sized const array.
2018-06-19 21:16:02 +02:00
Bartosz Taudul
cbc9ede3ca
No-op callstack payload handling.
2018-06-19 19:31:16 +02:00
Bartosz Taudul
6a63d09a49
Don't check for each type, if range check is possible.
2018-06-19 19:31:16 +02:00
Bartosz Taudul
e51eef3dcd
Process memory events with callstack.
2018-06-19 18:52:45 +02:00
Bartosz Taudul
59dc55002b
Callstack ptr in server data structures.
...
Will be probably reduced to 32-bit index later on.
2018-06-19 18:52:10 +02:00
Bartosz Taudul
021dd853b9
Differentiate Vulkan/OpenGL in options menu.
2018-06-18 01:08:56 +02:00
Bartosz Taudul
6e1ab9ae7a
Display per-GPU-event threads.
2018-06-17 19:09:56 +02:00
Bartosz Taudul
bb0631585c
Store thread id of GPU events.
2018-06-17 19:07:07 +02:00
Bartosz Taudul
cfd7ac3957
Map compressed thread id 0 to real thread id 0.
2018-06-17 19:03:06 +02:00
Bartosz Taudul
d5a4c693d8
Take GPU timestamp period into account.
2018-06-17 18:49:56 +02:00
Bartosz Taudul
f33584516b
Fix yet another regression.
2018-06-17 18:37:38 +02:00
Bartosz Taudul
cc973a5091
Differentiate Vulkan and OpenGL contexts.
2018-06-17 18:33:05 +02:00
Bartosz Taudul
dcd6cac078
Save GPU timestamp period.
...
Bump file version to 0.3.2.
2018-06-17 18:27:42 +02:00
Bartosz Taudul
2be1d1d2b2
Use proper type.
2018-06-07 13:30:46 +02:00
Bartosz Taudul
6956aed769
Fix selecting last bin with log time in find zone.
2018-06-06 23:36:21 +02:00
Bartosz Taudul
b4ce0c281b
Total time is also already known in compare view.
2018-06-06 23:17:13 +02:00
Bartosz Taudul
d49be792ba
Cache bin containers in compare view.
2018-06-06 23:09:46 +02:00
Bartosz Taudul
da5d35c364
Cache bin containers in find zone.
2018-06-06 23:06:00 +02:00
Bartosz Taudul
2950f3c70c
Total time is already known.
2018-06-06 23:00:18 +02:00
Bartosz Taudul
8a4d88f2b3
tmin and tmax don't change.
2018-06-06 23:00:03 +02:00
Bartosz Taudul
be8d3f47cd
Use fast log10.
2018-06-06 01:59:31 +02:00
Bartosz Taudul
8696c81e7d
Implement fast frexpf.
2018-06-06 01:59:31 +02:00
Bartosz Taudul
60b24249d3
Use explicit value for 1/log2(10).
2018-06-06 01:52:46 +02:00
Bartosz Taudul
39c1b20184
Don't care about previous values.
2018-06-06 01:23:49 +02:00
Bartosz Taudul
1c47e22eca
Add log10f approximation.
...
Based on https://community.arm.com/tools/f/discussions/4292/cmsis-dsp-new-functionality-proposal/22621#22621
2018-06-06 01:23:29 +02:00
Bartosz Taudul
859bf01992
Support displaying self times in statistics view.
2018-06-06 00:47:16 +02:00
Bartosz Taudul
e5d35d443d
Missing initializer.
2018-06-06 00:47:11 +02:00
Bartosz Taudul
b7930f67da
Calculate total self time of zones.
2018-06-06 00:39:22 +02:00
Bartosz Taudul
785a30a68b
Implement going to next/previous frame.
2018-06-02 22:27:35 +02:00
Bartosz Taudul
1cddf8436c
ZoomToRange() already enables pause.
2018-06-02 22:09:07 +02:00
Bartosz Taudul
5a7304171d
Fix allocation times displayed in plot tooltip.
2018-05-27 20:22:58 +02:00
Bartosz Taudul
8ed59c261b
Open memory address info after clicking on mem plot item.
2018-05-27 20:17:20 +02:00
Bartosz Taudul
9898066a7a
Display additional memory event info in mem plot tooltips.
2018-05-27 20:11:33 +02:00
Bartosz Taudul
3ea5fd93ed
Simple and not so simple draw plot point functions.
2018-05-27 19:51:45 +02:00
Bartosz Taudul
0a79243332
Display thread from which message originated on msg list.
2018-05-25 21:14:15 +02:00
Bartosz Taudul
53aea660c8
Store thread id in MessageData.
2018-05-25 21:10:38 +02:00
Bartosz Taudul
bb0246730f
Don't save MessageData padding.
...
This requires file version bump to 0.3.1.
2018-05-25 21:10:38 +02:00
Bartosz Taudul
8118e41559
Use columns to display message list.
2018-05-25 21:10:38 +02:00
Bartosz Taudul
312c20b0bc
Fallback to pdqsort if parallel STL is not available.
2018-05-12 22:41:18 +02:00
Bartosz Taudul
920bfc8c82
Parallelize (big) sorts in worker.
2018-05-08 01:40:22 +02:00
Bartosz Taudul
dbc963d55c
Drop template argument from std::lock_guard.
2018-05-08 01:25:16 +02:00
Bartosz Taudul
3768ed5dd7
Don't reconstruct mem plot if there's no mem event data.
2018-05-04 16:08:16 +02:00
Bartosz Taudul
e7ffe288e6
One less FileWrite::Write() call.
2018-05-04 15:11:19 +02:00
Bartosz Taudul
e058bb34c1
CompressThread body must be available.
2018-05-03 18:43:51 +02:00
Bartosz Taudul
a46d27f312
Parallelize file reading.
...
Use spin-locks for synchronization.
IsEOF() is now buggy, but the bug chance is fairly low (1/65536) - it
can happen when the last compressed block has exactly max decompressed
block size. Don't care about it much, as it's only used to open old
archives.
2018-05-03 17:56:43 +02:00
Bartosz Taudul
3d13ea09e8
Move block decompression to a separate function.
2018-05-03 17:29:58 +02:00
Bartosz Taudul
7d32ef8c8b
Restrict mem events list size.
2018-05-02 19:40:35 +02:00
Bartosz Taudul
f2cb04ea8d
Allow going back to the previous zone info.
2018-05-02 19:25:52 +02:00
Bartosz Taudul
1cc798cea3
Construct zone info stack.
2018-05-02 19:23:46 +02:00
Bartosz Taudul
e28022f735
Don't display alloc, free threads on two lines.
2018-05-02 19:07:34 +02:00
Bartosz Taudul
f2f712b8db
Optional display of each mem event in zone info window.
2018-05-02 19:03:34 +02:00
Bartosz Taudul
dac6a65156
Infer total mem usage change from alloc and free changes.
2018-05-02 18:41:11 +02:00
Bartosz Taudul
14ca2198dd
Force inline simple Vector ops.
2018-05-02 18:27:37 +02:00
Bartosz Taudul
bbf1e9f111
Only include memory events from zone thread.
2018-05-02 18:13:13 +02:00
Bartosz Taudul
4584ef9e88
Use memory events to calculate zone memory changes.
2018-05-02 18:06:27 +02:00
Bartosz Taudul
b18841aa75
Store ordered list of memory frees.
2018-05-02 17:59:50 +02:00
Bartosz Taudul
ce1f56ea0f
Display zone memory statistics.
...
Note that this information is incorrect, as it accounts for memory
events in all threads.
2018-05-02 17:46:09 +02:00
Bartosz Taudul
fd59ac0125
Only calculate zone child data if child list is displayed.
2018-05-02 17:23:32 +02:00
Bartosz Taudul
754e79b443
Setup memory plot pointer on dump load.
2018-05-02 17:18:52 +02:00
Bartosz Taudul
1512f3584c
Show appropriate message when there's no memory data collected.
2018-05-01 17:28:02 +02:00
Bartosz Taudul
e5934b409a
Don't use Vector for memory pages storage.
...
Vector has POT data size and we know exactly how much is needed.
2018-05-01 17:26:34 +02:00