Commit Graph

932 Commits

Author SHA1 Message Date
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