Bartosz Taudul
d0d3bb1141
Store shared lock bits only for shared locks.
2017-12-17 18:44:31 +01:00
Bartosz Taudul
c3a32f9c35
Send lock type in LockWait/LockSharedWait events.
...
This will be needed for proper construction of LockMap on the server, in
case the LockAnnounce message hasn't arrived yet.
2017-12-17 18:30:34 +01:00
Bartosz Taudul
b3b8088881
Separate processing of Lockable and SharedLockable.
2017-12-17 18:00:15 +01:00
Bartosz Taudul
6f1a99e270
Combine wait lists.
2017-12-10 23:33:39 +01:00
Bartosz Taudul
340506406e
Shared lock state machine.
2017-12-10 23:30:13 +01:00
Bartosz Taudul
b07718ab9e
Track list of shared locks.
2017-12-10 22:42:39 +01:00
Bartosz Taudul
4d9ae83abd
Fix assert.
2017-12-10 22:42:25 +01:00
Bartosz Taudul
398eecbb94
Store LockEvent type as an enum class.
2017-12-10 22:37:56 +01:00
Bartosz Taudul
bcf2bf1c5c
Shared lock events (still using old functionality).
2017-12-10 22:04:49 +01:00
Bartosz Taudul
1bddf76f8d
Improve shared locks timing.
2017-12-10 21:59:17 +01:00
Bartosz Taudul
a9e14c8990
Add standard lock events to shared locking.
2017-12-10 21:56:19 +01:00
Bartosz Taudul
06fcb24440
Use shared lockable wrappers in test.
2017-12-10 21:52:26 +01:00
Bartosz Taudul
782231b048
Shared lockable skeleton.
2017-12-10 21:49:45 +01:00
Bartosz Taudul
bc27bbde37
Display mutex type.
2017-12-10 21:49:23 +01:00
Bartosz Taudul
3567d7edd8
Reintroduce lock announce events.
2017-12-10 21:40:48 +01:00
Bartosz Taudul
ea604d484d
Don't show mutex as blocked, if there are no locks held.
2017-12-10 21:40:48 +01:00
Bartosz Taudul
171e962f97
Shared mutex test.
2017-12-10 20:36:10 +01:00
Bartosz Taudul
0f2d41413f
Include plots, msgs, gpu zones, locks in last time calculation.
2017-12-09 20:10:32 +01:00
Bartosz Taudul
6942f84a99
Last time is now cached, not calculated.
2017-12-09 20:05:34 +01:00
Bartosz Taudul
86006e8416
Simplify GetNextLockEvent().
2017-12-09 19:28:12 +01:00
Bartosz Taudul
b67989ab54
No need for nextState variable.
2017-12-09 19:24:35 +01:00
Bartosz Taudul
981bbfe42d
Reorder LockEvent fields.
2017-12-09 19:13:59 +01:00
Bartosz Taudul
cf5ee65604
Vectorize loop.
2017-12-09 00:15:10 +01:00
Bartosz Taudul
96cd782011
Enable AVX2 code generation.
2017-12-08 23:55:16 +01:00
Bartosz Taudul
d0dfa62f43
Force inline internal pdqsort functions.
2017-12-08 23:25:48 +01:00
Bartosz Taudul
86c5dcced9
__cplusplus check won't work on MSVC.
2017-12-08 23:14:55 +01:00
Bartosz Taudul
0da09bc62b
Use pdqsort.
2017-12-08 23:14:55 +01:00
Bartosz Taudul
2c4eaf162d
Add pdqsort.
...
https://github.com/orlp/pdqsort.git
979c0a05f3e78977dc1f5218d13234d7ee89d1e7
2017-12-08 23:02:48 +01:00
Bartosz Taudul
fb04853ffd
NVIDIA driver woes.
2017-12-05 23:32:18 +01:00
Bartosz Taudul
bb46468a36
Add locks information to welcome message.
2017-12-05 23:23:12 +01:00
Bartosz Taudul
48678b3bd7
Drop bitfield usage.
2017-12-05 22:34:48 +01:00
Bartosz Taudul
5407676f1f
Microoptimize thread bit operations.
2017-12-05 22:22:07 +01:00
Bartosz Taudul
52df06d478
Calculate and use thread bit.
2017-12-05 22:09:53 +01:00
Bartosz Taudul
b578554223
Reserve lockmap timeline.
2017-12-05 21:55:00 +01:00
Bartosz Taudul
081087b9ce
Drop an indirection level in plots.
2017-12-05 21:24:09 +01:00
Bartosz Taudul
702f235c1b
Reserve-and-use functionality in Vector.
2017-12-05 21:23:51 +01:00
Bartosz Taudul
c58f1b09d1
Allow RW access to Vector's data.
2017-12-05 21:23:39 +01:00
Bartosz Taudul
9b0b3c99e3
Disable permissive mode.
2017-12-05 20:51:16 +01:00
Bartosz Taudul
ee9b188566
Workaround uninitialized variable warning.
2017-12-05 16:36:33 +01:00
Bartosz Taudul
a33e70567b
Add GUI for GPU context hiding.
2017-11-30 15:34:52 +01:00
Bartosz Taudul
5246098c79
GPU context hiding plumbing.
2017-11-30 15:31:31 +01:00
Bartosz Taudul
ab1f93194e
No thread names on emscripten.
2017-11-29 11:11:16 +01:00
Bartosz Taudul
824d9e9bca
Document predefined colors.
2017-11-27 23:20:58 +01:00
Bartosz Taudul
dd8694350e
Add zoom-to-range animation.
2017-11-27 22:41:30 +01:00
Bartosz Taudul
ba80b0c16a
Use one common function for zooming to range.
2017-11-27 22:12:26 +01:00
Bartosz Taudul
2f667e11ed
Add notes about GPU profiling on mobile.
2017-11-27 18:18:54 +01:00
Bartosz Taudul
eeca0676df
Even simpler lock state combining.
2017-11-26 21:37:57 +01:00
Bartosz Taudul
50795cdf43
Declare buffer at function start.
2017-11-26 17:27:51 +01:00
Bartosz Taudul
b82434d7c3
No need for lambda in sort.
2017-11-26 17:13:24 +01:00
Bartosz Taudul
91758423cd
Optimize lock state combining.
...
There are four possible lock states:
1. Nothing
2. HasLock
3. HasBlockingLock
4. WaitLock
The previous switch was implementing the following state transition:
s\n| 1 | 2 | 3 | 4
---+---+---+---+---
1 | 1 | 2 | 3 | 4
---+---+---+---+---
2 | 2 | 2 | 3 | 4
---+---+---+---+---
3 | 3 | 3 | 3 | 4
---+---+---+---+---
4 | 4 | 4 | 4 | 4
As can be seen, the switch effectively searches for the highest state
possible. This change implements it as such.
2017-11-26 16:42:50 +01:00