1
0
mirror of https://github.com/TomHarte/CLK.git synced 2026-04-19 02:22:39 +00:00
Commit Graph

4368 Commits

Author SHA1 Message Date
Thomas Harte 43ee540233 Avoids race condition on .is_first_in_frame 2018-11-21 18:27:04 -05:00
Thomas Harte 817aa186c2 Revokes 'synchronous' as a function of onlyIfDirty, as it doesn't allow for double buffering. 2018-11-20 22:00:40 -05:00
Thomas Harte 38ffc4fdb3 Invalidates the stencil buffer upon buffer resizes. 2018-11-20 19:51:11 -05:00
Thomas Harte f12d734957 Disables multisampling, since there's no way it's being helpful. 2018-11-19 23:36:29 -05:00
Thomas Harte a70991d50e Eliminates minor gap. 2018-11-19 23:35:12 -05:00
Thomas Harte 4c00456166 Makes first attempt to draw only new lines. 2018-11-19 23:25:26 -05:00
Thomas Harte 26219213d7 Marginally increases scan size. 2018-11-18 23:03:56 -05:00
Thomas Harte 97c5ee6c0a Corrects stencil buffer creation, and edges towards using it for [guaranteed] full-screen decay. 2018-11-18 22:22:43 -05:00
Thomas Harte 75bc0e451d Reintroduces the accumulation texture.
Disables automatic clearing of the texture target, as the profiler indicates the vector instantiation to be a huge time sink.
2018-11-18 21:39:11 -05:00
Thomas Harte 6496b6313c Attempts to fix random stray noise lines. 2018-11-17 23:27:25 -05:00
Thomas Harte c5d9bf2c12 Optimises slightly for black borders.
Specifically to help to debug proper display of unused lines in the new scan target.
2018-11-17 18:23:42 -05:00
Thomas Harte 8f05560dd7 Corrects right-edge bookending. 2018-11-17 17:46:57 -05:00
Thomas Harte 06c0c64c1a Shifts intermediate buffer sampling into the middle of each pixel row. 2018-11-17 17:31:32 -05:00
Thomas Harte c173777d12 Extends TextureTarget so that targets can be created with a one-bit stencil. 2018-11-17 15:51:12 -05:00
Thomas Harte 16dfeb3fc8 Discards empty lines, yet makes some attempt at restoring transparency.
The two things conflict more than a little, so work to do.
2018-11-15 21:51:27 -05:00
Thomas Harte 5a31891048 Returns Amstrad CPC output.
Which is probably it until I get some more composite processing back in.
2018-11-15 21:32:22 -05:00
Thomas Harte 8b37496447 Restores video output to the Master System. 2018-11-15 21:21:54 -05:00
Thomas Harte 8f6664f0d7 Starts towards picking an input shader based on data type and pipeline. 2018-11-15 21:02:46 -05:00
Thomas Harte 15b1176841 Ensures no border output if space is not allocated. 2018-11-14 22:32:33 -05:00
Thomas Harte 3eab1f8f7c Removes a little cruft. 2018-11-14 22:26:31 -05:00
Thomas Harte 9dff13cbbf Re-establishes output from the machines with 9918s and derivatives. 2018-11-14 22:25:19 -05:00
Thomas Harte a47de9a884 Returns the Apple II to submitting video. 2018-11-14 22:04:57 -05:00
Thomas Harte 8a699b6072 Kills setup_output definitively, saving some indirection. set_scan_target takes its place. 2018-11-14 21:52:57 -05:00
Thomas Harte 87df8b9e85 Makes an attempt at pre-emptive line buffer clearing. 2018-11-14 21:19:14 -05:00
Thomas Harte 91b19c5c70 Adds bookending, and finally kills the TextureBuilder. Farewell. 2018-11-14 20:49:06 -05:00
Thomas Harte 0487580a1a Corrects initial state of is_drawing_ and expands lines to full display. 2018-11-14 20:10:38 -05:00
Thomas Harte 3dca836571 Ensures no overflow, and adds a couple of consts. 2018-11-14 20:09:57 -05:00
Thomas Harte 6ba02c44d0 Better binds buffer sizes. 2018-11-13 23:08:51 -05:00
Thomas Harte bf3ab4e260 Proceeds as drawing to the unprocessed line buffer and drawing from it.
Very, very slowly, and without yet clearing.
2018-11-13 21:15:33 -05:00
Thomas Harte 02f9cada43 Communicates the colour subcarrier frequency, and uses it to pick a buffer width. 2018-11-13 18:33:44 -05:00
Thomas Harte 654a19ea15 Switches back to working on the scan shaders.
Pixels from the emulated machine are now starting to appear.
2018-11-12 22:52:26 -05:00
Thomas Harte ecb5504bd1 Switches enable_vertex_attribute_with_pointer to silent failure (versus glGetError). 2018-11-12 22:51:44 -05:00
Thomas Harte 2adf3d353e Subtracts retrace periods from output scale. 2018-11-12 20:20:09 -05:00
Thomas Harte 3045e85004 Ensures redraws when resizing; declines to busy wait otherwise. 2018-11-12 20:15:38 -05:00
Thomas Harte e9d1afd515 Appears to demonstrates that the line buffer is approximately working. 2018-11-12 19:10:48 -05:00
Thomas Harte 833ab7945b Slow steps towards switching to line output. 2018-11-12 18:56:54 -05:00
Thomas Harte 0af1d668a6 Takes a first step towards generality, and thereby starts submitting lines. 2018-11-12 18:47:55 -05:00
Thomas Harte 0ac62e3805 Flips and properly sizes output scans. 2018-11-12 18:28:09 -05:00
Thomas Harte 938d09f34a Corrects scan outline generation. 2018-11-12 18:23:45 -05:00
Thomas Harte dce52d740d Finally gets some pixels back on screen.
For now, just the raw scans, direct to the framebuffer, with no intermediate processing. But it seems to prove that at least some of the proper data is reaching the GPU.
2018-11-11 23:23:42 -05:00
Thomas Harte 3ae333fa84 Edges further towards reviving the shaders. 2018-11-11 21:41:13 -05:00
Thomas Harte d5af1f3948 Removes some migrated work. 2018-11-11 16:22:14 -05:00
Thomas Harte 0ba3ae53ab Connects up the necessary recording to use intermediate composite buffers. 2018-11-11 15:20:18 -05:00
Thomas Harte be12d78c83 Corrects vertical event announcement, and adjusts namespaces for OpenGL primitives. 2018-11-11 15:11:32 -05:00
Thomas Harte b70227ac1b Ensures proper write area locations end up in the scans. 2018-11-10 21:10:33 -05:00
Thomas Harte 6d277fecd5 Makes ScanTarget a little more communicative and orthogonal. 2018-11-10 19:52:57 -05:00
Thomas Harte 491817d85c Corrects allocation error and begins submitting raw textures. 2018-11-08 23:02:36 -05:00
Thomas Harte 20faf4e477 Adds submission of scans to the GPU. 2018-11-08 22:21:11 -05:00
Thomas Harte 4fe5c7c24e Conspires to handle multithreading side of things in a lockless fashion.
At least on x86-64.
2018-11-08 21:57:28 -05:00
Thomas Harte 36bf640c6f Acts as if it is going to submit scans, at least. 2018-11-07 22:53:46 -05:00