1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-17 13:29:02 +00:00
Commit Graph

49 Commits

Author SHA1 Message Date
Thomas Harte
9521718120 Colour phase is multiplied by 255, not 256. 2017-01-08 17:21:26 -05:00
Thomas Harte
28909e33ca Eliminated phaseCyclesPerTick as implied. 2017-01-08 16:48:02 -05:00
Thomas Harte
79632b1d34 Instituted de-escalating phase-related extensions, definitively to kill rounding error edges. 2017-01-08 16:24:22 -05:00
Thomas Harte
7ad64ff16b Made further efforts to support throughput via memory barrier. 2017-01-08 14:47:16 -05:00
Thomas Harte
be48c950b4 Started taking steps towards using a texture barrier where possible to reduce all of my framebuffer binds. Some output appears, but it's not correct. 2017-01-08 11:13:20 -05:00
Thomas Harte
0487b8c178 Definitively eliminated the additional y filtering step; if I'm going to work to ensure always four samples per colour cycle, I can put the channel separation coefficients directly into their shaders, cutting down on samples. 2017-01-07 16:02:33 -05:00
Thomas Harte
c746a3711f Temporarily disabled my attempt to be clever with bilinear filtering when applying a lowpass filter. Will need to investigate. 2017-01-04 08:06:18 -05:00
Thomas Harte
aa7774a9a6 Experimental: up the chroma accuracy, just let the luma go straight through. Subject to figuring out how I'm still losing so much precision. 2017-01-03 22:41:34 -05:00
Thomas Harte
7d60df9075 Added the option for both intermediate and output shaders to use only a portion of the input/output texture; made an attempt to pick an appropriate proportion in order to align signal sampling with the colour subcarrier. 2017-01-03 22:16:52 -05:00
Thomas Harte
f2b8b26bc4 Started throwing some comments into my shaders. 2017-01-03 21:16:38 -05:00
Thomas Harte
bc03e12dc5 Switched to suffix underscores. 2016-11-21 11:57:45 +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
2bd71e7e9b .reset is the more normal way to reassign a unique_ptr. 2016-06-23 20:52:44 -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
Thomas Harte
328fabcd10 Ensured values aren't dangling pointers. 2016-05-14 18:15:10 -04:00
Thomas Harte
492dc7ccbf Made an attempt to queue uniform changes until the next call to bind. That's to allow usage from other threads. 2016-05-14 18:06:55 -04:00
Thomas Harte
30f335fa35 Switched pervasively to using the named slot uniform setters on Shader. 2016-05-13 22:08:32 -04:00
Thomas Harte
b6d2c8cb63 Switched to instaced drawing for source[/intermediate] runs too, reducing that data transfer footprint by 50%. 2016-05-10 19:50:12 -04:00
Thomas Harte
47ae402f7e Introduced a shorthand for setting up array attributes. 2016-05-10 19:11:48 -04:00
Thomas Harte
1d0bcb416d Dropped the size per output run back down to 8 bytes. 2016-05-10 07:47:47 -04:00
Thomas Harte
b0f0315f12 Fixed: this now implements 12-byte instancing for output runs. 2016-05-10 07:30:12 -04:00
Thomas Harte
86dab3a5d6 Quickest first attempt to switch to instancing for the output array. Texture coordinates seem to be off. 2016-05-10 07:23:47 -04:00
Thomas Harte
7b5982e455 Removed last mentions of 'lateral'. 2016-05-08 20:51:28 -04:00
Thomas Harte
9b2061be98 Actually, that should probably be 1/outputTextureSize, as the output range is -1 to +1. 2016-05-08 16:09:39 -04:00
Thomas Harte
9485ef2c8c At last a genuine bug fixed: was nudging the wrong amount in intermediate shaders. 2016-05-08 16:07:36 -04:00
Thomas Harte
8e4ab37719 Things are back pretty much to where they were, but offset is eliminated as an input. 2016-05-07 18:37:18 -04:00
Thomas Harte
c73751b15a Reverted deliberately broken segments to produce something mergeable. 2016-05-05 21:27:13 -04:00
Thomas Harte
a74f081aa9 Put lateral lookup table directly into the shader. 2016-05-05 21:21:27 -04:00
Thomas Harte
f621cc8523 Withdrew the pixel unpack buffer in order to avoid the potential for a paused machine to be undrawable. The cost is at least an extra memcpy per frame; I'm letting the driver worry about the whole process for now. 2016-05-04 21:27:10 -04:00
Thomas Harte
535d272039 Tweaks here, tweaks there. 2016-05-03 18:15:24 -04:00
Thomas Harte
6d5a1b33ee Turned the colour up just a little, slightly lowered luminance signal strength. 2016-05-03 07:51:14 -04:00
Thomas Harte
31f1e6d5c0 Introduced a separate stage for luminance filtering. 2016-05-03 07:46:40 -04:00
Thomas Harte
29e7c96e4c Brought monitor mode inside the pipeline and added an intermediate filter. 2016-05-02 21:05:58 -04:00
Thomas Harte
c93bcf9f28 Discovered cause of clears: stale code. Tweaked persistence, again. 2016-05-01 22:28:33 -04:00
Thomas Harte
6982e945fb Fixed those issues breaking GL state, I hope. 2016-05-01 16:17:52 -04:00
Thomas Harte
2616d748fe Introduced bind-if-necessary/unbind semantics for shaders. 2016-05-01 11:07:49 -04:00
Thomas Harte
fe2abbd4ed Minor adjustments to ensure sampling occurs as intended. 2016-04-30 20:48:09 -04:00
Thomas Harte
16ef09fc2b Made an attempt intelligently to use bilinear filtering to increase filtering quality with the same number of samples. 2016-04-29 18:37:35 -04:00
Thomas Harte
23ea832f41 Increased brightness in television mode, added a clear if screen resolution changes. 2016-04-28 22:04:47 -04:00
Thomas Harte
3638414b37 Added additional comments. 2016-04-28 21:55:14 -04:00
Thomas Harte
e6c3b148ac Switched wholeheartedly to the new shader. 2016-04-28 21:45:44 -04:00
Thomas Harte
8538b62ea2 Made an attempt to extract and consolidate the logic behind the intermediate shaders. 2016-04-28 21:04:59 -04:00
Thomas Harte
87c778ebb7 Fixed code use of parameter name. 2016-04-27 22:58:53 -04:00
Thomas Harte
494ef6a324 Updated documentation, taking the opportunity to improve a parameter name. 2016-04-27 22:57:40 -04:00
Thomas Harte
8849dc3265 Finished consolidation into OutputShader. With its documentation yet to update. 2016-04-27 22:41:32 -04:00
Thomas Harte
496d979aca Made a decision to clean up by creating per-shader classes. Well, more or less. First thing to be factored out: the output shader. 2016-04-27 22:29:54 -04:00