1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-01 10:05:55 +00:00
Commit Graph

204 Commits

Author SHA1 Message Date
Thomas Harte
4ff33254e1 Sought to shift locking back up to the CRT. And to be a bit more RAII-ish. 2016-12-06 18:48:30 -05:00
Thomas Harte
60f9ddfde8 Fixed start test and added incrementation of start locations. 2016-12-06 08:08:57 -05:00
Thomas Harte
f388ba11cc Missed an initialisation. Fixed! 2016-12-06 07:26:23 -05:00
Thomas Harte
0fee8096c1 Made an attempt to shuffle the texture builder to a similar flush/submit pattern as the input builder. Don't care about thread safety yet, as it's obvious I'm going to need to move that back up to the CRT. 2016-12-06 07:24:07 -05:00
Thomas Harte
0edc043378 Started introducing an extra layer of indirection so as to be able to bind the texture builder to the same flush and submit patern as the array builder. 2016-12-03 20:47:19 -05:00
Thomas Harte
cb3c837e30 Simplified interface by baking in last-minute-only updates. 2016-12-03 18:19:12 -05:00
Thomas Harte
0220d33562 Resolved failure of initial state setting, which was causing tests sometimes to fail. 2016-12-03 16:42:10 -05:00
Thomas Harte
7c85cb62e4 Moved underscores, removed indirections where they're not necessary, converted those names that were still looking very Objective-C and moved the GL fence variable into the private area, where it should always have been. 2016-11-21 12:14:52 +08:00
Thomas Harte
bc03e12dc5 Switched to suffix underscores. 2016-11-21 11:57:45 +08:00
Thomas Harte
340607e13e Switched the flywheel to suffix underscores. 2016-11-21 11:48:31 +08:00
Thomas Harte
e1285028aa Removed a redundant clear and some dead code. 2016-11-21 11:42:45 +08:00
Thomas Harte
7b38247ab3 Updated outdated comments. 2016-11-21 11:40:13 +08:00
Thomas Harte
d7d0ed378a Only the final intermediate buffer needs clearing, on reflection. 2016-11-21 11:26:07 +08:00
Thomas Harte
c89345c639 Reduced buffer size. 2016-11-21 11:21:14 +08:00
Thomas Harte
32dbfe947d With hindsight, the elimination of this might have been overzealous. 2016-11-20 10:53:35 +08:00
Thomas Harte
ef0367d4a4 Corrected typo. 2016-11-20 09:12:43 +08:00
Thomas Harte
fda90c5aef Documented. 2016-11-20 09:11:24 +08:00
Thomas Harte
c2349ee3f4 This thing has clearly becoma a real class. 2016-11-19 20:12:40 +08:00
Thomas Harte
7857ef774f Ensured resets genuinely kill outstanding data. 2016-11-19 20:09:38 +08:00
Thomas Harte
a4c7b00ecd Fixed code that was causing the failing test. 2016-11-19 19:55:30 +08:00
Thomas Harte
f59537bce9 Added a testing hook, but as of yet no tests. 2016-11-17 14:06:16 +08:00
Thomas Harte
aca1fa0577 Returned some video output. Enough significantly to reduce my paranoia. 2016-11-17 13:37:53 +08:00
Thomas Harte
1f91d29434 Progressed to usage of an array builder and a texture builder up to the point of a successful build. 2016-11-17 12:26:04 +08:00
Thomas Harte
57f0648742 Fleshed out first implementation of ArrayBuilder, albeit that I need to implement exhaustion properly, as soon as I think of a sensible way to handle synchronisation. 2016-11-17 10:39:30 +08:00
Thomas Harte
324a1de43d Started pulling out array construction as a separate task. 2016-11-17 09:20:49 +08:00
Thomas Harte
c04a116a05 Fixed comment. 2016-11-16 23:14:56 +08:00
Thomas Harte
edeafd4d94 Wait, OpenGL textures go the other way. 2016-11-16 23:14:15 +08:00
Thomas Harte
6ac20e0066 Pushed responsibility for submitting texture contents up to the texture builder, simplifying the interface. 2016-11-16 23:13:06 +08:00
Thomas Harte
5c5e44874f Even better: why include the 'Input' prefix when there's only one? 2016-11-16 22:57:17 +08:00
Thomas Harte
04b2688683 Attempted to reduce allocations. 2016-11-16 13:25:50 +08:00
Thomas Harte
c1a509910d Documented this interface, albeit that the English could do with a second pass, and very sightly simplified inline with current usage. 2016-11-16 13:15:50 +08:00
Thomas Harte
4d0d5eb919 Renamed the 'input buffer builder' to the 'input texture builder' to be explicit about what sort of buffer, and killed the prefix since it's namespaced. Also switched to std::vector. 2016-11-16 12:31:32 +08:00
Thomas Harte
4ee4400801 Removed dead code. 2016-11-16 11:57:22 +08:00
Thomas Harte
9ee11d7765 At the expense of API simplicity, at least for now, resolved the most glaring cause of dirty lines. 2016-11-16 11:34:05 +08:00
Thomas Harte
44d3fd6d5b Fixed mistimed reset of the target output line. Now all that's left is occasional noise. 2016-11-16 11:22:12 +08:00
Thomas Harte
7a737e0790 Both pathways start with a buffer that clears to black. So no need to keep going on about it. 2016-11-16 11:12:08 +08:00
Thomas Harte
f63e849092 Sought completely to eliminate the outgoing concept of 'clearing zones'. 2016-11-16 11:10:34 +08:00
Thomas Harte
294adde344 Eliminated zoned clearing, in favour of a complete buffer clear on each load and attempted to reduce locking. But imperfectly. 2016-11-16 10:59:12 +08:00
Thomas Harte
ccedb6bea6 Introduced an intermediate buffer that collects lines before flushing them to the output buffer. 2016-11-16 10:49:18 +08:00
Thomas Harte
ba2adf8bb1 Normalised on std::vector rather than std::unique_ptr<uint8_t *> as (probably?) more idiomatic. Improved structure slightly. Introduced a container for line data, albeit one that isn't yet used. 2016-11-16 10:34:54 +08:00
Thomas Harte
eefd0c17b6 Actually, I guess that to fulfil the contract I can't silently decide not to draw if I'm being told I definitely need to draw. 2016-07-01 16:27:45 -04:00
Thomas Harte
4ac619f569 glClientWaitSync appears to be a busy wait, at least on my machine. But why wait indefinitely anyway? 2016-06-29 21:32:47 -04:00
Thomas Harte
ff53accca0 Demonstrated that issue is coloured borders, made a guess as to buffer exhaustion, upped limits as a temporary fix. 2016-06-29 21:16:34 -04:00
Thomas Harte
2bd71e7e9b .reset is the more normal way to reassign a unique_ptr. 2016-06-23 20:52:44 -04:00
Thomas Harte
2992183aae Switched to a lookup table for phase, temporarily in YUV colour space, probably. Working on it. 2016-06-12 14:39:17 -04:00
Thomas Harte
68a8851c52 Increased parallelism, allowing a simplification in the GL view. 2016-06-02 22:29:09 -04:00
Thomas Harte
4ad074fc78 Introduced a four-cycle delay between playfield fetch and display, curing Yar's Revenge. Also disabled barrel roll scanling colouring again. I really need to make my mind up on that. 2016-05-16 19:55:56 -04:00
Thomas Harte
9d92ad659f Established the basic timing loop, albeit without clocking delays yet. 2016-05-16 08:01:29 -04:00
Thomas Harte
00a2b42080 Made thread-safe. 2016-05-15 15:19:52 -04:00
Thomas Harte
091516e3cb The semantics might need better exposition but: fixed UniformXfv calls plus matrix calls, documented new semantics on all setters. 2016-05-15 14:59:59 -04:00