Thomas Harte
7b1708f0bc
Gets explicit that the delegate_
doesn't need a memory barrier.
2020-07-31 18:21:47 -04:00
Thomas Harte
f34a9b4346
Corrects audio output from the multi-speaker.
...
Specifically: local duplication of the delegate is unnecessary, and leads to confusion.
2020-07-31 18:18:19 -04:00
Thomas Harte
cdde57fcf2
Remove unused code.
2020-07-30 23:02:01 -04:00
Thomas Harte
c0a61ac1ee
Ensures proper handover of speaker state when picking in a multimachine.
2020-07-30 22:50:32 -04:00
Thomas Harte
9c97c0a906
Merge pull request #828 from TomHarte/LockFreeQueue
...
Completes LockFreeQueue branch.
2020-07-30 21:46:56 -04:00
Thomas Harte
8cacab196d
Merge branch 'master' into LockFreeQueue
2020-07-30 21:43:25 -04:00
Thomas Harte
b14bedbe29
Merge pull request #817 from TomHarte/LockFreeQueue
...
Fully splits buffering from drawing for the existing OpenGL scan target.
2020-07-30 21:42:20 -04:00
Thomas Harte
6bc66d8b96
Tidies, ensures ::will_change_owner acquires the producer mutex.
2020-07-29 23:18:03 -04:00
Thomas Harte
23f381f381
Fixes frame_is_complete_
, gets rid of active_line_
, explains ONE_BIG_LOCK
in set_write_area
.
2020-07-29 23:03:38 -04:00
Thomas Harte
51ad423eca
Resolves off-by-one error in line writing, adds diagnostic one-big-lock option.
2020-07-29 22:45:13 -04:00
Thomas Harte
72a8fef989
Switches to much more straightforward Line/LineMetadata storage.
...
Spoiler: covering this whole segment behind producer_mutex_ seems to resolve all output issues, so clearly the existing logic isn't functioning correctly. Making it simpler seems like a pretty obvious way to get to the bottom of that.
2020-07-29 21:49:17 -04:00
Thomas Harte
02f41ee513
This has become the general producer mutex, might as well name it as such.
2020-07-29 21:34:07 -04:00
Thomas Harte
9410594486
Merge branch 'master' into LockFreeQueue
2020-07-29 21:22:19 -04:00
Thomas Harte
1c6223cc11
Merge pull request #825 from TomHarte/Microdisc
...
Gives Qt disk controllers independent ROM/RAM selection logic.
2020-07-29 21:21:29 -04:00
Thomas Harte
82d6a5387f
Gives Qt disk controllers independent ROM/RAM selection logic.
...
In particular, this fixes the Microdisc.
2020-07-29 21:06:41 -04:00
Thomas Harte
5165e65021
Reduces scan_buffer_ to a saner size.
...
Albeit still probably overspecified.
2020-07-28 22:36:57 -04:00
Thomas Harte
1942742d73
Resolves thread data race on Macintosh audio output.
2020-07-28 22:21:52 -04:00
Thomas Harte
b7760bb052
Reorders code, gets explicit about memory ordering.
2020-07-28 22:02:22 -04:00
Thomas Harte
2470055d90
Hides the modals.
2020-07-27 23:33:39 -04:00
Thomas Harte
62be2a2eec
Merge branch 'master' into LockFreeQueue
2020-07-27 23:18:45 -04:00
Thomas Harte
b1e062945e
Merge pull request #821 from TomHarte/QtThreading
...
Qt issue mega ticket
2020-07-27 21:19:12 -04:00
Thomas Harte
3db4a8c312
Attempts to improve vsync deadline estimation.
...
Also increases probability of bad estimation being discarded.
2020-07-27 21:08:00 -04:00
Thomas Harte
db8e1b0edf
Adds feedback on unidentified ROMs.
2020-07-27 20:45:47 -04:00
Thomas Harte
71c3f58c99
Provides user feedback upon improper command-line usage.
2020-07-27 20:40:38 -04:00
Thomas Harte
7c05b1788e
Ensures proper thread confinement for updateStatusBarText
.
2020-07-27 20:25:52 -04:00
Thomas Harte
77c5b86acc
Moves ownership of the scan and line buffers out of the BufferingScanTarget.
2020-07-26 22:46:03 -04:00
Thomas Harte
bc6426313e
Localises three of the four macros.
2020-07-26 17:54:33 -04:00
Thomas Harte
8bef7ff4c5
Makes all three PointerSet
s and is_updating_
private.
2020-07-26 17:27:19 -04:00
Thomas Harte
a2db6ddea5
Add link to Snap releases.
2020-07-25 23:00:29 -04:00
Thomas Harte
f9f500c194
Merge branch 'master' into LockFreeQueue
2020-07-24 22:29:45 -04:00
Thomas Harte
6ad1e3e17e
Merge pull request #819 from TomHarte/Warnings
...
Resolves GCC 7 warnings.
2020-07-24 22:17:50 -04:00
Thomas Harte
e097a841d2
Adds a c++1z fallback for SDL builds, too.
2020-07-24 22:01:22 -04:00
Thomas Harte
fa95a17af5
Resolves receive_bit_count-unused warnings.
2020-07-24 21:59:27 -04:00
Thomas Harte
b961665985
Ensures WOZ2 behaviour even if type_
has an invalid value.
...
This pleases GCC 7.
2020-07-24 21:56:20 -04:00
Thomas Harte
8af35bc6bb
Resolves signed comparison mismatches.
2020-07-24 21:55:33 -04:00
Thomas Harte
9b75287a52
Merge pull request #818 from TomHarte/QtC++1z
...
Add c++1z as a config option, for older versions of Qt.
2020-07-24 16:34:04 -04:00
Thomas Harte
84d5316aa7
Add c++1z as a config option, for older versions of Qt.
2020-07-24 16:32:59 -04:00
Thomas Harte
89acb70091
Slightly reorganise.
2020-07-24 16:20:20 -04:00
Thomas Harte
66165a6dea
Add missing include files.
2020-07-23 23:24:24 -04:00
Thomas Harte
84dcf9925b
Updates Scons and Qt projects to include new files.
2020-07-23 23:14:10 -04:00
Thomas Harte
ee1d7eb61f
Makes more buffer-specific stuff private.
2020-07-23 23:06:14 -04:00
Thomas Harte
e260f92988
Privatises write_pointers_mutex_
and write_pointers_
.
...
Also gives subclasses control over write-area texture space allocation.
2020-07-23 22:54:40 -04:00
Thomas Harte
74788ccf8e
Pulls the BufferingScanTarget into a separate file.
2020-07-22 22:16:47 -04:00
Thomas Harte
0da5c07942
Starts splitting ring-buffer stuff from OpenGL stuff.
...
Initially via two very codependent classes.
2020-07-21 22:49:46 -04:00
Thomas Harte
e8cd5a0511
Merge pull request #816 from TomHarte/RelaxedTracks
...
Corrects a regression in disk image handling; liberalises Disk II analyser
2020-07-20 19:53:34 -04:00
Thomas Harte
5ebbab6f35
Further relax Apple GCR static analysis requirements.
2020-07-20 19:50:33 -04:00
Thomas Harte
84dd194afd
Corrects test for ::tracks_differ.
2020-07-20 19:48:20 -04:00
Thomas Harte
e1ad1a4cb6
Update Qt status.
2020-07-20 09:17:43 -04:00
Thomas Harte
9de43dac95
Merge pull request #815 from TomHarte/WOZ2
...
Support WOZ 2 disk images
2020-07-19 23:22:55 -04:00
Thomas Harte
47f121ee4c
Mark WOZs as read-only, with exposition as to why.
2020-07-19 00:08:49 -04:00