Thomas Harte
38960a08d6
Adds adjustment for display aspect ratio.
...
While also realising that I appear to be getting away without an MTLVertexDescriptor for Scans. Maybe OpenGL has prejudiced me, and they're actually optional for interleaved data?
2020-08-07 22:29:24 -04:00
Thomas Harte
fbda7aab23
Does just enough to get the correct (aspect ratio aside) output of scan outlines.
...
So, up next, can I start streaming these things?
2020-08-07 22:20:01 -04:00
Thomas Harte
c575aa0640
Adds a buffer for scans, and posts two test instances.
2020-08-07 22:03:54 -04:00
Thomas Harte
583f6b1ba2
Modifies BufferingScanTarget to allow has-a relationship.
...
I might switch fully to has-a. Further consideration required.
2020-08-07 22:03:27 -04:00
Thomas Harte
bb55ecc101
Disables --volume for kiosk mode testing.
2020-08-07 21:19:53 -04:00
Thomas Harte
4421acef34
Gets some uniforms in on the action.
...
With some effort towards scans, but incompletely so.
2020-08-07 21:19:17 -04:00
Thomas Harte
4c9418f59a
Guarantees alignof(4) on all GPU-bound structures.
...
Taken as given: Metal's requirement here is reasonable enough that it'll either be the same as other frameworks, or at least possibly help them down a fast path.
2020-08-07 21:18:08 -04:00
Thomas Harte
219923bd63
Reduces vertex size, draws a quad.
2020-08-05 21:33:25 -04:00
Thomas Harte
7551782a25
Switches to interleaved vertex data.
...
This more closely relates to what I actually want to do.
2020-08-05 17:27:43 -04:00
Thomas Harte
5c836604c0
Reenable MaserSystem code.
...
Accidental/poor branch management is evidenced here.
2020-08-04 21:50:54 -04:00
Thomas Harte
eff24a8726
My first baby steps in Metal continue; here's a triangle.
2020-08-04 21:49:01 -04:00
Thomas Harte
72df6e52cd
This is possibly at least dispatching an empty command buffer correctly.
2020-08-04 19:44:56 -04:00
Thomas Harte
e235a45abb
Breaks all output.
...
... by switching out NSOpenGLView for MKLView with no drawing infrastructure yet in place.
2020-08-04 18:22:14 -04:00
Thomas Harte
d20c11e401
Merge pull request #831 from TomHarte/MultiKeyboard
...
Ensures that the MultiKeyboard functions.
2020-07-31 22:08:08 -04:00
Thomas Harte
693b889fdd
Ensures that the MultiKeyboard functions.
2020-07-31 21:48:20 -04:00
Thomas Harte
671f48dc10
Merge pull request #830 from TomHarte/MSXCrash
...
Restores audio to multimachines
2020-07-31 18:31:23 -04:00
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
1e6d03246b
Merge pull request #829 from TomHarte/MSXCrash
...
Ensures proper handover of speaker state when picking in a multimachine.
2020-07-30 23:04:55 -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