Bartosz Taudul
201a40fb04
Improve readability of callstack tooltips.
2018-06-29 18:41:06 +02:00
Bartosz Taudul
400ee1c752
Improve readability of zone tooltips.
2018-06-29 18:39:20 +02:00
Bartosz Taudul
fbe0ad437e
Remove "without profiling" entry from zone tooltip.
2018-06-29 18:36:58 +02:00
Bartosz Taudul
d01c14c2f3
Improve readability of compare menu.
2018-06-29 18:35:40 +02:00
Bartosz Taudul
91dd8f5d52
Improve readability of find zone menu.
2018-06-29 18:33:01 +02:00
Bartosz Taudul
8f4b09edc3
Improve zone info windows readability.
2018-06-29 18:27:34 +02:00
Bartosz Taudul
275a79e1c9
Display custom zone name in find zone results list.
2018-06-29 16:20:24 +02:00
Bartosz Taudul
ab18869ce6
Display custom zone name in zone tooltip.
2018-06-29 16:15:59 +02:00
Bartosz Taudul
09c38f17e6
Display custom zone name in zone info window.
2018-06-29 16:14:31 +02:00
Bartosz Taudul
cb100e261c
Return custom zone names.
2018-06-29 16:12:40 +02:00
Bartosz Taudul
053284b1c7
Process custom free-form zone names.
2018-06-29 16:12:17 +02:00
Bartosz Taudul
865e8d8506
Extract zone name getting functionality.
2018-06-29 15:14:20 +02:00
Bartosz Taudul
2866cafda5
Adapt histogram height to font size.
2018-06-29 00:44:05 +02:00
Bartosz Taudul
f82e8aa98f
Adapt plot height to font size.
2018-06-29 00:38:56 +02:00
Bartosz Taudul
cc196ff0a8
Adapt frames view to font size.
2018-06-29 00:35:44 +02:00
Bartosz Taudul
41e8648701
Adjust GPU zones to set time drift.
2018-06-28 01:12:25 +02:00
Bartosz Taudul
bab798c13c
GPU context time drift storage.
2018-06-28 01:08:08 +02:00
Bartosz Taudul
0b9559c05b
Retrieval of GPU context from GPU zone.
2018-06-28 01:07:21 +02:00
Bartosz Taudul
4a467b6d03
Remove GPU resync leftovers.
2018-06-28 00:48:23 +02:00
Bartosz Taudul
c3238a496d
No need to check for frame function name match.
...
Firstly, the match is not necessarily possible (e.g. on Linux the source
location function names and callstack frame names are two completely
different things).
Secondly, the first current zone callstack frame (which is matched to
some callstack frame of previous zone) is the frame in which a zone was
captured, and it will already be present in the zone trace. The
callstack frame omission should be therefore unconditional.
2018-06-24 17:38:32 +02:00
Bartosz Taudul
d7a85983a5
Make callstack hash less shitty.
2018-06-24 17:30:54 +02:00
Bartosz Taudul
ab2945b988
Slab allocator is not thread safe.
2018-06-24 17:10:46 +02:00
Bartosz Taudul
77e139e900
Insert true call stack frames into zone trace.
2018-06-24 16:57:57 +02:00
Bartosz Taudul
b0aa13f4af
Callstack getters are const.
2018-06-24 16:15:49 +02:00
Bartosz Taudul
fa62603c77
Move zone trace loop handler to a separate function.
2018-06-24 15:54:36 +02:00
Bartosz Taudul
858628918b
Force inline AddCallstackPayload.
2018-06-24 15:28:09 +02:00
Bartosz Taudul
d78126e60f
Improve callstack payload hashing speed.
2018-06-24 15:25:53 +02:00
Bartosz Taudul
17194cb591
Allow copying callstack frames name/file to clipboard.
2018-06-22 20:44:57 +02:00
Bartosz Taudul
b8f7a4daac
Mention purple line indicating middle of timeline.
2018-06-22 20:34:08 +02:00
Bartosz Taudul
9c2aab733d
Allow centering timeline on memory alloc/free time.
2018-06-22 20:32:38 +02:00
Bartosz Taudul
5f5fe7c6aa
Add tip about centering timeline on message.
2018-06-22 20:23:56 +02:00
Bartosz Taudul
39eccd5b08
Extract "center view at time" function.
2018-06-22 20:21:02 +02:00
Bartosz Taudul
11cf650be6
Fix GPU queries ordering.
...
With multithreaded Vulkan rendering it is possible that GPU time queries
will be sent in a different order than the originating CPU queries were
made. This commit changes the in-order queue to a map of queries,
waiting to be resolved.
2018-06-22 16:37:54 +02:00
Bartosz Taudul
af0c64c888
Remove GPU resync support.
...
The whole concept is not really reliable. And it forces CPU to GPU sync,
which is bad.
2018-06-22 16:34:51 +02:00
Bartosz Taudul
cd5ca3e754
Don't use hash table to store 256 pointers.
2018-06-22 15:14:44 +02:00
Bartosz Taudul
55ddb64352
GPU context counter is now 8 bit.
2018-06-22 15:10:23 +02:00
Bartosz Taudul
d13fc2413f
Highlight callstack button in zone info windows.
2018-06-22 02:24:36 +02:00
Bartosz Taudul
3a885bb8fd
Support callstack collection for OpenGL GPU zones.
2018-06-22 02:13:35 +02:00
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