Thomas Harte
df89a8771c
Makes an attempt to have the emulator fill the actual GPU buffers.
...
Not that they're drawn from correctly yet. I might first take a run at a new quick-path output route for emulated RGB displays, that just seeks to use the scans directly. No intermediate buffers. Besides probably being a good feature, it'll be a good way to ramp further up with Metal.
2020-08-08 22:49:02 -04:00
Thomas Harte
bdcf266e45
Having learnt a bit more: eliminates Metal attribute
tags, switches to more natural expression of structs.
...
Also thereby eliminates the need for a forced alignas(4) on various structs.
2020-08-08 17:27:32 -04:00
Thomas Harte
edf41b06fd
Eliminates the quad buffer.
...
Vertices can be adduced from vertex ID.
2020-08-08 17:12:49 -04:00
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
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
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
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
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
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
f9f500c194
Merge branch 'master' into LockFreeQueue
2020-07-24 22:29:45 -04:00
Thomas Harte
e097a841d2
Adds a c++1z fallback for SDL builds, too.
2020-07-24 22:01:22 -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
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
74788ccf8e
Pulls the BufferingScanTarget into a separate file.
2020-07-22 22:16:47 -04:00
Thomas Harte
42f2bf05bf
Attempt to load a file if passed on the command line.
2020-07-13 21:51:55 -04:00
Thomas Harte
d91cf598be
Ensures qmake paths are explicit.
2020-07-11 17:46:32 -04:00
Thomas Harte
86737454a0
Exposes activity lights in Qt.
...
As a status bar, which is a bit of a quick fix, but it's better than not displaying this information.
2020-07-10 23:18:38 -04:00
Thomas Harte
223a960a06
Implements standard keyboard -> joystick mapping.
2020-07-10 22:30:43 -04:00
Thomas Harte
f72570386c
Installs and removes an 'Input' menu where required.
...
Also ensures safe shutdown of a second machine.
2020-07-09 23:47:38 -04:00
Thomas Harte
56e5491e5c
Ensures safe startup.
2020-07-09 23:06:32 -04:00
Thomas Harte
be1c3e9136
Ensures key state is cleared upon activation changes.
2020-07-08 21:31:29 -04:00
Thomas Harte
2d223305eb
Correct subject of switch.
2020-07-08 00:49:29 -04:00
Thomas Harte
48c2dcf50e
Introduce provisional X11 bindings.
2020-07-08 00:46:29 -04:00
Thomas Harte
fa26c82273
Undoes extra dependency, checks for X11 at runtime.
2020-07-08 00:15:44 -04:00
Thomas Harte
0763ae38dd
Attempts to add conditional include for non-Mac UNIX only.
2020-07-07 23:57:32 -04:00
Thomas Harte
abe1e7f244
Provide current thoughts on Qt and the keyboard.
2020-07-06 22:27:50 -04:00
Thomas Harte
5a729f92c1
Attempts to move the 'Help' menu to the correct place.
2020-07-04 19:19:41 -04:00
Thomas Harte
366793498a
Ensures ScanTargetWidget doesn't eat irrelevant keypresses.
2020-07-04 19:12:34 -04:00
Thomas Harte
cdda3f74ab
Attempts mouse event capture.
2020-07-04 00:29:37 -04:00
Thomas Harte
d97ebae200
Request Qt deprecation warnings.
2020-07-03 23:16:49 -04:00
Thomas Harte
2d5e9bf1bb
Declines to set up audio output if none is available.
2020-07-02 22:58:15 -04:00
Thomas Harte
8bf5ed52ea
Ensures keyboard events are restricted to single windows.
2020-07-02 22:03:12 -04:00
Thomas Harte
b850183a1e
Switches to an alternative to window(), for older Qt support.
2020-07-02 21:53:30 -04:00
Thomas Harte
f7e13356c4
FunctionThreads no longer automatically start.
...
Improvements as a result: audio works in a second machine started in an existing window; there is no audio thread footprint if there is no audio.
2020-07-01 18:55:42 -04:00
Thomas Harte
55cc3089f9
Ensures complete deallocation of the QAudioOutput.
2020-06-30 23:33:41 -04:00
Thomas Harte
a096a09c72
Trusts Qt to supply a refresh rate, and handles retina <-> non-retina window transitions.
2020-06-30 23:03:39 -04:00
Thomas Harte
b9e117cdcf
Centralises window title responsibility.
2020-06-28 23:08:40 -04:00
Thomas Harte
f6e5a2fb04
Resolves duplicative enums.
2020-06-28 22:50:24 -04:00
Thomas Harte
404c35feb5
Implements Atari 2600 switches menu.
2020-06-28 17:57:20 -04:00
Thomas Harte
b5962c58bb
Completes ZX80/81-specific menu.
2020-06-28 16:23:35 -04:00