Thomas Harte
|
5651ef606d
|
Resolves failure to advance video address when output is blocked.
|
2020-09-15 22:20:06 -04:00 |
|
Thomas Harte
|
b831b31382
|
Adds a further sanity check.
|
2020-09-15 17:04:04 -04:00 |
|
Thomas Harte
|
2fd5cc056c
|
Adds std::atomic_thread_fences, but these seem not to be a magic bullet.
|
2020-09-15 16:34:34 -04:00 |
|
Thomas Harte
|
82dbdf7dfc
|
Switches to using regular linear interpolation for supersampling.
|
2020-09-14 22:36:00 -04:00 |
|
Thomas Harte
|
eb9903cd10
|
Defensively disables allocation of anything outside of visible lines.
|
2020-09-14 22:29:05 -04:00 |
|
Thomas Harte
|
227e98d6d7
|
Slightly simplifies control flow.
|
2020-09-14 22:27:25 -04:00 |
|
Thomas Harte
|
35476063b7
|
Resolves potential data races.
|
2020-09-14 21:07:50 -04:00 |
|
Thomas Harte
|
8557bb2136
|
Adds minor exposition.
|
2020-09-14 20:39:52 -04:00 |
|
Thomas Harte
|
c0c7818d5d
|
Reintroduces screenshots.
|
2020-09-14 20:33:05 -04:00 |
|
Thomas Harte
|
ceeadd6a33
|
Edges up towards reimplementing screenshots.
|
2020-09-13 22:30:17 -04:00 |
|
Thomas Harte
|
1a2545fdea
|
Excises dangling references to OpenGLView , reinstates display link.
|
2020-09-13 22:11:51 -04:00 |
|
Thomas Harte
|
c5e9a74c88
|
Uses DisplayMetrics to disable supersampling when too slow.
|
2020-09-13 21:07:59 -04:00 |
|
Thomas Harte
|
d7972a7b86
|
Enforces across-the-board supersampling.
I'm damned if I can figure out how to talk an MTKView, or Metal in general, into supersampling so as a first effort this does it in software.
|
2020-09-13 19:30:26 -04:00 |
|
Thomas Harte
|
7dd4c67304
|
Corrects access to data_type_size , adds sanity check on output area return.
|
2020-09-13 18:59:27 -04:00 |
|
Thomas Harte
|
e113780fd1
|
Minor: ensures no possibility of a dangling(-ish) pointer within the Mac video.
|
2020-09-10 22:13:19 -04:00 |
|
Thomas Harte
|
e32ae6c191
|
Adds UGLY HACKs to workaround uncovered issues in the OpenGL scan target.
|
2020-09-10 22:10:24 -04:00 |
|
Thomas Harte
|
bcaceff378
|
Simplifies in-Metal transform logic, loading responsibility for setup onto the CPU.
I think I've also finally excised whatever order-of-operations issue I was having with regard to non-4:3 displays.
|
2020-09-10 20:32:58 -04:00 |
|
Thomas Harte
|
d7b405c6f8
|
Ensures direct luminance -> 'RGB' video doesn't go down the composition pipeline.
|
2020-09-10 13:20:40 -04:00 |
|
Thomas Harte
|
edf8cf4dc6
|
Completes the set of with/without gamma, and ensures correct alpha selection.
Also culls some other repetitive TODOs.
|
2020-09-09 19:28:38 -04:00 |
|
Thomas Harte
|
dfcc8e9822
|
Switches some of the interpolated fields to half precision.
|
2020-09-09 18:17:05 -04:00 |
|
Thomas Harte
|
016e96e6f8
|
Extends usage of half . Possibly towards its conclusion.
|
2020-09-09 15:10:19 -04:00 |
|
Thomas Harte
|
e7ce03c418
|
Attempts to ensure initial finalised line texture state.
This was an attempt to remove the vertical line on the left of a composite display. Obviously the cause is not as suspected.
|
2020-09-09 13:15:21 -04:00 |
|
Thomas Harte
|
3d392dd81d
|
Completes conversion of composite & S-Video per-pixel processing to 16-bit floats.
|
2020-09-09 13:02:04 -04:00 |
|
Thomas Harte
|
42d810db7f
|
Switches per-pixel uniforms to halfs.
|
2020-09-09 10:53:09 -04:00 |
|
Thomas Harte
|
18571e8351
|
Also calculates a chroma kernel size, though it isn't used for anything yet.
|
2020-09-08 20:08:56 -04:00 |
|
Thomas Harte
|
dda1649ab7
|
Introduces smaller luma kernel functions where useable.
|
2020-09-08 19:55:37 -04:00 |
|
Thomas Harte
|
c82e0df071
|
Starts a transition towards half-precision arithmetic.
|
2020-09-08 19:37:36 -04:00 |
|
Thomas Harte
|
06b7ea5a6e
|
Strips the luma kernel back to 1d.
|
2020-09-08 19:15:19 -04:00 |
|
Thomas Harte
|
c49fcb9ec9
|
Based on further play: one box filter to separate luma/chroma, another to filter chroma, plus a FIR sharpen on luma.
|
2020-09-08 16:35:05 -04:00 |
|
Thomas Harte
|
0e44d6d214
|
Experiments with an all-box filter.
|
2020-09-08 16:19:08 -04:00 |
|
Thomas Harte
|
6adad7fbf5
|
Starts experimenting again with box filters.
|
2020-09-07 22:47:49 -04:00 |
|
Thomas Harte
|
de6ed7b615
|
Corrects phase-linked luminance support.
|
2020-09-07 20:53:28 -04:00 |
|
Thomas Harte
|
07dcb4dbb1
|
Starts reintroducing brightness, gamma and transparency for composite and S-Video pipelines.
|
2020-09-07 18:19:13 -04:00 |
|
Thomas Harte
|
e99896eadc
|
At least nominates alpha, gamma and brightness to metal.
|
2020-09-04 16:07:58 -04:00 |
|
Thomas Harte
|
489701afcb
|
Fixes window resizing.
|
2020-09-03 21:28:39 -04:00 |
|
Thomas Harte
|
55e576cc57
|
Ensures unpainted areas in composite displays have a non-asymptotic effect on luminance calculations.
|
2020-09-03 21:10:30 -04:00 |
|
Thomas Harte
|
6bd8ec9545
|
Alas, 1.0 seems to be the limit for proper artefact colour.
|
2020-09-03 20:53:45 -04:00 |
|
Thomas Harte
|
5cd8d86eef
|
Switches to dynamic generation of the 'sharpness' filter, correcting issues with the Apple II (amongst others).
|
2020-09-03 20:48:44 -04:00 |
|
Thomas Harte
|
74d0acdaec
|
Fixes non-RGB colour composite generation.
The hard-coded sharpen filter proves to be a really bad fit for the Apple II though.
|
2020-09-03 19:04:17 -04:00 |
|
Thomas Harte
|
0288a1974b
|
Tries: separate filters for chroma and luma, plus a post-separation sharpen filter on the latter.
|
2020-09-03 13:18:21 -04:00 |
|
Thomas Harte
|
6efd8782fe
|
Tweaks coefficients some more; makes sure that data is never larger than the intermediate buffers.
|
2020-09-02 20:14:41 -04:00 |
|
Thomas Harte
|
8bab9d5d60
|
Corrects S-Video and composite generation for RGB[1/2/4] sources.
Also toys with a double luminance filter in order to try to sharpen chrominance. But maybe I should be looking at other convolutions entirely?
|
2020-09-02 19:13:54 -04:00 |
|
Thomas Harte
|
6ef1dfd8be
|
Sets a more realistic colour subcarrier amplitude.
|
2020-09-02 15:52:05 -04:00 |
|
Thomas Harte
|
7e58648743
|
Corrects front-running bug, plays further with colour amplitude.
|
2020-09-02 15:51:48 -04:00 |
|
Thomas Harte
|
0f0c3e616d
|
Tweaks some numbers.
I'm largely treading water here. Probably time to think about the race.
|
2020-09-02 08:17:01 -04:00 |
|
Thomas Harte
|
c7ce65ea4c
|
Attempts fully to restore composite video.
Subject to some sort of nasty race condition for the time being.
|
2020-09-02 08:03:10 -04:00 |
|
Thomas Harte
|
c36247b609
|
Ensures reuse of offset buffers.
There seems to be some sort of epic race condition as the drawing pipeline lags though. Will need to investigate.
|
2020-09-01 22:11:48 -04:00 |
|
Thomas Harte
|
15296e43a4
|
Attempts correctly to set up the CPU side of a composite video pipeline, at least.
So: I think this is really close, but I'm out of time for the day.
|
2020-09-01 21:58:33 -04:00 |
|
Thomas Harte
|
f2929230a2
|
[Experimentally] introduces blending between computed S-Video fragments.
|
2020-09-01 21:37:36 -04:00 |
|
Thomas Harte
|
bf252b8061
|
Fixes sizing of buffers to the current output.
|
2020-09-01 21:33:54 -04:00 |
|