1
0
mirror of https://github.com/TomHarte/CLK.git synced 2026-01-26 06:16:22 +00:00

67 Commits

Author SHA1 Message Date
Thomas Harte
13655320e2 Merge pull request #1684 from TomHarte/ChromaFloor
Add a floor for chroma, to reduce rainbow effect.
2026-01-21 21:54:41 -05:00
Thomas Harte
0a5559e358 Add a floor for chroma, to reduce rainbow effect. 2026-01-21 15:35:45 -05:00
Thomas Harte
0852a8e970 Allow shader generator to shrink; avoid colour deterioration. 2026-01-19 08:51:41 -05:00
Thomas Harte
8743b00f85 Try to minimise and standardise-ish chroma kernel size. 2026-01-18 23:41:32 -05:00
Thomas Harte
9f7adc25e3 Make a reasoned decision on luma sharpening. 2026-01-18 20:30:43 -05:00
Thomas Harte
db163ec362 Give the FilterGenerator ownership of kernel sizes. 2026-01-18 09:08:10 -05:00
Thomas Harte
46a97f4c44 Avoid oversharpening. 2026-01-17 22:56:13 -05:00
Thomas Harte
c93dfd7db7 Experiment with but discover that 'real' FIRs remain out of reach. 2026-01-17 22:50:35 -05:00
Thomas Harte
3bb1fe5335 Avoid magic constants. 2026-01-17 16:37:51 -05:00
Thomas Harte
31d6524755 Reorder slightly to avoid resize. 2026-01-16 23:10:33 -05:00
Thomas Harte
46bd69de7f Improve lambdas, comment. 2026-01-16 22:53:26 -05:00
Thomas Harte
e67e9fd3d2 Clean up, in pursuit of how/where I'm introducing a phase error. 2026-01-16 22:49:34 -05:00
Thomas Harte
26064cb9a4 Tweak my way to a great-looking NTSC Master System.
Other things look bad though.
2026-01-16 22:38:37 -05:00
Thomas Harte
89e8e20fcf Entrust the FilterGenerator. 2026-01-16 11:43:05 -05:00
Thomas Harte
cbf4a479a0 Double buffer and kernel sizes. 2026-01-14 22:02:46 -05:00
Thomas Harte
87749415bd Flesh out interface for the filter generator. 2026-01-14 17:42:17 -05:00
Thomas Harte
e175848270 Start factoring out and formalising filter generation. 2026-01-12 14:30:42 -05:00
Thomas Harte
c491ba5cac Use sized types and std::copy_n. 2025-12-10 17:24:07 -05:00
Thomas Harte
00a2fd5cb0 Add consts, avoid macros. 2025-12-10 09:18:27 -05:00
Thomas Harte
8fdf32cde8 Avoid OpenGL churn. 2025-10-06 20:43:12 -04:00
Thomas Harte
e008a02b99 Shuffle further to avoid optics of a fallthrough. 2025-04-21 15:13:10 -04:00
Thomas Harte
2c2216afae Further eliminate file-relative includes. 2025-02-28 13:18:48 -05:00
Thomas Harte
eab4274737 Capture 'this' by reference. 2025-02-27 11:56:51 -05:00
Thomas Harte
348a593dc1 Flail in attempt to implement fast loading. 2025-01-21 14:13:42 -05:00
Thomas Harte
ce5aae3f7d Adjust more dangling indentation changes. 2024-12-04 22:29:08 -05:00
Thomas Harte
58f04848a9 Fix: allow allocations on invisible areas. 2024-06-02 21:59:27 -04:00
Thomas Harte
71d337c10e Avoid std::memory_order::. 2024-05-29 21:51:07 -04:00
Thomas Harte
d639dc8bcb Hit up some more = default opportunities. 2024-02-17 15:42:31 -05:00
Thomas Harte
a3d37640aa Switch include guards to #pragma once. 2024-01-16 23:34:46 -05:00
Thomas Harte
2b56b7be0d Simplify namespace syntax. 2023-05-10 16:02:18 -05:00
Thomas Harte
51ed3f2ed0 Reduce modal-related thread hopping. 2022-07-09 13:03:45 -04:00
Thomas Harte
73d28838c0 Slightly rebalances template.
More clearly to ensure the lock_guard stays in the correct place.
2020-11-26 13:08:40 -05:00
Thomas Harte
c6c12209e8 Corrects end_data thread safety; permits caller not to have reached new_modals before a machine starts trying to push data. 2020-11-25 23:32:37 -05:00
Thomas Harte
dd816c5a0a Restore valid buffering. 2020-11-21 22:55:54 -05:00
Thomas Harte
3cc89cb4d2 Seeks to avoid false assert failures. 2020-11-21 22:52:19 -05:00
Thomas Harte
c7ab3d4075 Reduces cost of bookending video data. 2020-11-18 17:32:11 -05: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
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
7dd4c67304 Corrects access to data_type_size, adds sanity check on output area return. 2020-09-13 18:59:27 -04:00
Thomas Harte
7e58648743 Corrects front-running bug, plays further with colour amplitude. 2020-09-02 15:51:48 -04:00
Thomas Harte
c40d858f02 Switches back to angular stuff at input resolution; ensures all S-Video modes work.
Now to roll back onto composite. Fingers crossed!
2020-08-29 20:54:46 -04:00
Thomas Harte
246b474a25 Removes ONE_BIG_LOCK, having effectively neutered it anyway.
Starts work on more explicit API usage validation. Maybe the issue isn't a race condition?
2020-08-16 22:09:25 -04:00
Thomas Harte
745797b596 Introduces a stencil buffer plus the inter-frame clearing it allows. 2020-08-16 16:42:32 -04:00
Thomas Harte
940e9e037e Adds first_scan to LineMetadata.
Also reorders `Line` fields to match `Scan` fields, just for visual consistency.
2020-08-16 08:59:37 -04:00
Thomas Harte
230b9fc9e6 Permits multiple simultaneous scan reading ranges.
Also updates the OpenGL scan target as per the latest movements of things.
2020-08-12 22:08:41 -04:00
Thomas Harte
6384ff3ee7 Add fix for data_type_size_ for owners that don't change texture pointer upon new modals. 2020-08-09 21:17:51 -04:00
Thomas Harte
ced4a75a1a Adds note on the buffering scan target's minor adaptation of data_offset. 2020-08-09 20:44:46 -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