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
|
5740015f56
|
Temporarily disabled composite processing to show the pure stream. Fixed both automatic calculations of phase — per line and, at input, per pixel.
|
2017-01-07 12:38:00 -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
|
a836120945
|
Restored proper colour separation, but somewhere a massive hit in horizontal resolution is happening — much greater than one would expect from the sample size picked. So investigation to come.
|
2017-01-03 22:32:07 -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
|
34d213dec4
|
Decreased Y resolution, again also hopefully temporarily.
|
2016-12-10 15:35:38 -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
|
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
|
32dbfe947d
|
With hindsight, the elimination of this might have been overzealous.
|
2016-11-20 10:53:35 +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
|
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
|
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
|
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
|
8d52765f40
|
Realised why new shaders weren't taking. Very negligibly decreased Atari drawing cost.
|
2016-05-12 22:22:24 -04:00 |
|
Thomas Harte
|
6d65bc9b3a
|
Permitted a wider error window on vertical sync, tidied things up a little and started trying to move towards full implementation of the OpenGL contract.
|
2016-05-11 22:11:01 -04:00 |
|
Thomas Harte
|
4b3c4082d2
|
These functions appear correctly to model the NTSC and PAL palettes; the CRT's attempt to switch function doesn't work properly yet though.
|
2016-05-11 21:07:18 -04:00 |
|
Thomas Harte
|
0d2d6a452d
|
Fixed some dangling buffer management issues.
|
2016-05-10 19:55:34 -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
|
7369139f7e
|
Realised that phase time can fit inside a single byte, since it's always (well) within the first quarter of the line — and if it somehow weren't (?) then taking it modulo the frequency would do.
|
2016-05-10 19:14:57 -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
|
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
|
daec21d3d8
|
Found and fixed off-by-one error. Display should now be completely fixed.
|
2016-05-09 21:14:59 -04:00 |
|
Thomas Harte
|
7e2bd78891
|
With an eye towards instancing, moved away from circular buffers.
|
2016-05-09 19:14:30 -04:00 |
|
Thomas Harte
|
45af963b9a
|
Moved more of the circular logic inside getCircularRanges in order to eliminate one more potential source of error.
|
2016-05-09 07:34:37 -04:00 |
|
Thomas Harte
|
986019f9f9
|
Fixed error that could lead to split output run vertex writes.
|
2016-05-08 20:30:59 -04:00 |
|
Thomas Harte
|
1a214a8308
|
Fence sync tied up. Remaining glitches are likely off-by-one-type errors but we'll see.
|
2016-05-08 19:45:36 -04:00 |
|
Thomas Harte
|
ef3b91d3aa
|
Made an attempt to get formal on synchronisation.
|
2016-05-08 19:42:33 -04:00 |
|
Thomas Harte
|
dd469fe83a
|
Switched back to normal frame drawing logic and cleaned up the circular range stuff a little, to make it clear that no errors lie there.
|
2016-05-08 18:50:30 -04:00 |
|
Thomas Harte
|
ccdbec3ffc
|
Corrected for potential lost lines.
|
2016-05-08 16:43:11 -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 |
|