Thomas Harte
5b97de8cb0
Create a 'fill' shader, for buffer clearing.
2026-02-05 10:23:13 -05:00
Thomas Harte
da80d77cad
Eliminate old pipeline.
2026-02-04 21:22:27 -05:00
Thomas Harte
65ebcd9c99
Attempt a line output shader.
2026-02-04 14:41:34 -05:00
Thomas Harte
7c6b79ad1c
Coerce demodulation shader into building.
2026-02-04 12:03:44 -05:00
Thomas Harte
7ac22e1a67
Ensure the separation buffer exists.
2026-02-04 09:17:24 -05:00
Thomas Harte
2144db5829
Add missing include.
2026-02-03 22:55:38 -05:00
Thomas Harte
f4f1dbd4d5
Strike towards a separation filter.
2026-02-03 22:48:48 -05:00
Thomas Harte
d5e4c636c8
Add missing #include; begin separation shader.
2026-02-03 16:57:21 -05:00
Thomas Harte
79ef9ce388
Attempt to give CopyShader fuller state.
2026-02-03 16:22:13 -05:00
Thomas Harte
2dc3aebe1c
Add 'DirtyZone' definition.
2026-02-03 12:50:04 -05:00
Thomas Harte
a89e48718d
Create a supersampling buffer.
2026-02-02 16:51:34 -05:00
Thomas Harte
61474bc70b
Reorganise.
2026-02-02 14:05:19 -05:00
Thomas Harte
85e190835f
Use a Texture.
2026-01-30 22:22:52 -05:00
Thomas Harte
da0c99067d
Add some TODOs, make TextureTargets moveable.
2026-01-30 10:38:52 -05:00
Thomas Harte
7464a0c0ec
Go a bit more RAII on vertex arrays.
2026-01-29 18:12:51 -05:00
Thomas Harte
5f0ab48ec1
Enable generation of the needed composition shader.
...
Proving that I've forgotten something about vertex attribute bindings.
2026-01-29 11:03:02 -05:00
Thomas Harte
5a296fdd52
Move function into anonymous namespace.
2026-01-28 21:22:29 -05:00
Thomas Harte
81a65484a8
Switch to std::swap_ranges.
2026-01-22 12:34:33 -05:00
Thomas Harte
0d8fa93a05
Propagate an OpenGL API version, use it to wrap shader programs.
2025-12-16 22:23:48 -05:00
Thomas Harte
52494e916a
Ensure I'm using <optional> everywhere I should.
2025-12-04 13:20:51 -05:00
Thomas Harte
8fdf32cde8
Avoid OpenGL churn.
2025-10-06 20:43:12 -04:00
Thomas Harte
fac3d99f64
Switch to no-instance logging.
2025-09-12 07:17:23 -04:00
Thomas Harte
2c2216afae
Further eliminate file-relative includes.
2025-02-28 13:18:48 -05:00
Thomas Harte
ce5aae3f7d
Adjust more dangling indentation changes.
2024-12-04 22:29:08 -05:00
Thomas Harte
b61317ba7e
Continue conversion of logging.
2024-01-19 22:02:26 -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
583f6b1ba2
Modifies BufferingScanTarget to allow has-a relationship.
...
I might switch fully to has-a. Further consideration required.
2020-08-07 22:03:27 -04:00
Thomas Harte
5165e65021
Reduces scan_buffer_ to a saner size.
...
Albeit still probably overspecified.
2020-07-28 22:36:57 -04:00
Thomas Harte
77c5b86acc
Moves ownership of the scan and line buffers out of the BufferingScanTarget.
2020-07-26 22:46:03 -04:00
Thomas Harte
e260f92988
Privatises write_pointers_mutex_ and write_pointers_.
...
Also gives subclasses control over write-area texture space allocation.
2020-07-23 22:54:40 -04:00
Thomas Harte
74788ccf8e
Pulls the BufferingScanTarget into a separate file.
2020-07-22 22:16:47 -04:00
Thomas Harte
0da5c07942
Starts splitting ring-buffer stuff from OpenGL stuff.
...
Initially via two very codependent classes.
2020-07-21 22:49:46 -04:00
Thomas Harte
3715e6b48a
Resolves potential data race on write_area_texture_.
2020-02-18 22:41:46 -05:00
Thomas Harte
95756f9716
Resolves data race on write_pointers_ close to machine setup.
2020-02-18 20:41:51 -05:00
Thomas Harte
b04daca98e
Picks a safer default construction.
2020-02-09 19:13:21 -05:00
Thomas Harte
b41920990f
Moves submit step to end of line, rather than end of scan.
2020-02-04 22:15:20 -05:00
Thomas Harte
294e09f275
All these 'override's can be 'final's.
...
At least for the purpose of being communicative. I doubt there's much to gain in terms of compiler output — the DiskImageHolder can avoid some virtual lookups but nothing else leaps out.
2020-01-23 22:57:51 -05:00
Thomas Harte
684644420a
Increases scan buffer availability.
2019-10-20 17:22:41 -04:00
Thomas Harte
66540ff86f
Permits end_data only after a begin_data.
2019-06-03 21:56:53 -04:00
Thomas Harte
b860ba2ee3
Disallows smaller buffer use for 'sharp' displays and tightens sampling window.
2019-06-03 15:58:14 -04:00
Thomas Harte
6f7dd10d95
Reduces draw/update contention.
...
This won't yet have any effect on either port owing to the way they handle contexts, but here it is.
2019-03-07 19:28:32 -05:00
Thomas Harte
5660007221
Experimentally introduces adaptive quality intermediate buffers.
2019-03-05 21:41:20 -05:00
Thomas Harte
86a6b04d4a
Begins attempts to keep track of display metrics.
...
i.e. a system that can both make smart decisions about when to use a lower resolution, and hopefully allow some sort of flywheel-esque horizontal retrace synchronisation. And possibly some raster beam chasing?
2019-03-04 21:54:50 -05:00
Thomas Harte
bee0d09877
Splits display update and draw functions.
...
On the Mac, draw is now called without an update for resizing events, and
anything else requested by AppKit. In all other cases — including from
the SDL version — both are called as if they were still a single function.
2019-03-02 19:33:28 -05:00
Thomas Harte
68c5474e36
Reintroduces basic filtering for RGB mode (and introduces it for monochrome composite).
2019-02-26 22:21:49 -05:00
Thomas Harte
c0c4704419
Ensures that failure to allocate a line blocks all other allocations.
2019-02-21 21:38:48 -05:00
Thomas Harte
080f949f89
Ensures OpenGL version is logged prior to any other GL calls.
2019-02-20 20:21:17 -05:00
Thomas Harte
008f50832c
Fixed: the two shaders that use a common input array should use common bindings.
2019-02-10 22:39:24 -05:00
Thomas Harte
eecd4417e7
Bites the bullet and accepts that an additional texture will be useful for QAM separation.
2019-02-09 16:54:31 -05:00