| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Draft GPU3D renderer modularization
* Update sources C++ standard to C++17
The top-level `CMakeLists.txt` is already using the C++17 standard.
* Move GLCompositor into class type
Some other misc fixes to push towards better modularity
* Make renderer-implementation types move-only
These types are going to be holding onto handles
of GPU-side resources and shouldn't ever be copied around.
* Fix OSX: Remove 'register' storage class specifier
`register` has been removed in C++17...
But this keyword hasn't done anything in years anyways.
OSX builds consider this "warning" an error and it
stops the whole build.
* Add RestartFrame to Renderer3D interface
* Move Accelerated property to Renderer3D interface
There are points in the code base where we do:
`renderer != 0` to know if we are feeding
an openGL renderer. Rather than that we can instead just have this be
a property of the renderer itself.
With this pattern a renderer can just say how it wants its data to come
in rather than have everyone know that they're talking to an OpenGL
renderer.
* Remove Accelerated flag from GPU
* Move 2D_Soft interface in separate header
Also make the current 2D engine an "owned" unique_ptr.
* Update alignment attribute to standard alignas
Uses standardized `alignas` rather than compiler-specific
attributes.
https://en.cppreference.com/w/cpp/language/alignas
* Fix Clang: alignas specifier
Alignment must be specified before the array to align the entire array.
https://en.cppreference.com/w/cpp/language/alignas
* Converted Renderer3D Accelerated to variable
This flag is checked a lot during scanline rasterization. So rather
than having an expensive vtable-lookup call during mainline rendering
code, it is now a public constant bool type that is written to only once
during Renderer3D initialization.
|
|
|
|
| |
also fix #639 and fix #880
|
| |
|
|
|
|
|
|
|
|
| |
scroll (only when the rendering engine is enabled).
fixes #840
thank you RSDuck and Hydr8gon for your insight into this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Squashed commit of the following:
commit b463a05d4b909372f0cd1ad91caa0c77a25e5901
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Mon Nov 30 01:55:35 2020 +0100
minor fix
commit ce73cebbdf5da243d7ebade82d8799ded9cd6b28
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Mon Nov 30 00:43:08 2020 +0100
fix dirty flags of BG/OBJ mappings not being reset
commit fc5d73a6178e3adc444398bdd23de8314b5ca8f8
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Mon Nov 30 00:11:13 2020 +0100
use flat vram for gpu2d everywhere
commit 34ee9fe2bf04fcfa2a5a1c8d78d70007e606f1a2
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Sat Nov 28 19:10:34 2020 +0100
mark VRAM dirty for display capture
commit e8778fa2f429c6df0eece19d6a5ee83ae23a0cf4
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Sat Nov 28 18:59:31 2020 +0100
use flat VRAM for textures and texpals
also skip rendering if nothing changed and a bunch of fixes
commit 53f2041e2e1a28b35702a2ed51de885c36689f71
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Fri Nov 27 18:29:56 2020 +0100
use vram dirty tracking for extpals
also preparations to take this further
commit 4cdfa329e95aed26d3b21319c8fd86a04abf20f7
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Mon Nov 16 23:32:22 2020 +0100
VRAM dirty tracking
|
|
|
|
| |
mostly meant for the Switch port
|
|
|
|
|
| |
* make video settings dialog functional, sorta
* fix dialogs that were resizable
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
it's less shitty tho
but still has bugs
|
|
|
|
| |
progress
|
| |
|
|
|
|
| |
also fix a bug in the compositing shader
|
|
|
|
| |
HARK HARK HARK
|
| |
|
|
|
|
|
| |
init framebuffer to black.
fix bugs.
|
|
|
|
| |
rendering at a higher res.
|
| |
|
|
|
|
| |
(also fix softrenderer reset)
|
| |
|
|
|
|
|
|
|
|
| |
* cleaner code
* faster in some cases
* more accurate (on-demand compensation for timers and GPU)
* less prone to desyncs
* overall betterer
|
|
|
|
|
|
| |
* clip against Z then Y then X. apparently, fixes #310. I had also observed hints that the hardware does it this way.
* truncate W to 24 bits before viewport transform.
* mark any polygons that have a W=0 at that point as degenerate. do not render.
|
|
|
|
| |
fixes #260
|
|
|
|
|
|
|
|
| |
bad games that blast the GXFIFO and overflow it:
* Super Mario 64 DS
* Rayman RR2
latter seems to get its music streaming crapoed.
|
| |
|
| |
|
|
|
|
|
| |
* more accurate polygon edges (still not perfect. heh)
* antialiasing (doesn't always work)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
(fixes the last bugs in Gericom's train game)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* start implementing toon shading
* temp. revert the DMA fix, causes issues
|
|
|
|
|
|
|
| |
displayed, they can still be fed to the capture unit)
* fix 3D viewport calculation
* keep track of the clearbuffer attributes before VBlank
|
| |
|