Angrylion's Per-Pixel RDP with OpenGL (2015/06/13) is released. It is a a video plugin for the N64 emulator.
Now that I'm able to give posting here another chance, I decided that it seemed easier on everybody to have the rest of the development downloadable via the forum here. I'm sorry that it was inconveniencing people in so many issues when I was trying to make it work with the PJ forum. For those who haven't known, a group of developers after the MAME N64 drivers started to do more reverse-engineering of the RDP after ziggy released his nice, accelerated OpenGL fork of MESS RDP at his z64gl thread. Since then, angrylion has done several hardware tests and reversing to verify his maintained C implementation of various informative sources. (I have also done a few tests myself to confirm 100% bit-by-bit graphical accuracy, with help from dsx and ExtremeDude2 who were able to capture pixel-by-pixel real N64 screenshots, both with and without the video DAC filtering.) So what about my own fork of it here? Well, only 2 reasons really drove me to do my own fork. In the end, the biggest reason is that angrylion's original plugin uses Microsoft DirectDraw, which of course on Windows has excellent blitting acceleration support but also is constricted to a couple unfortunate circumstances of GPU-defined graphical behavior with their closed specifications. I was happy to practice some basic, primitive OpenGL code to rewrite the plugin to force visual correctness, eventually having Linux releases (starting now). The other reason is that, from time to time, I like to staticize the C code (which includes but is not limited to SIMD vectorization, for example MMX ). In an older generation of working on the plugin, performance and getting the plugin to work at full speed was the top priority. I hope that with this release, I have focused on enough portability, standards-compliance, compatibility etc. issues that I can look at making the plugin faster again. Not much in the way of speed has changed since the last download, except that my OpenGL blitting code is much faster now (GL 1.5 buffer mapping extensions to VRAM, if your hardware supports it), but if everyone is happy otherwise I can start to look at speed again finally. The `/bin` folder has 32- and 64-bit Windows and Linux releases, but I only advise installing the 32-bit Windows plugin until we are able to test out a working 64-bit version of zilmar's plugin specifications. If you're on Linux, it's even better to try just executing `./make.sh` in the source folder instead of using my pre-compiled binary release. |
Angrylion's Per-Pixel RDP with OpenGL (2015/06/13) Changelog:
* renamed extension-loaded OpenGL functions to fix Mupen64Plus collisions
* exporting non-zilmar-spec `ReadScreen' to fix SIGSEGV's on Mupen64Plus 1.5
* removed the automatic window size adjustment for PAL images to 640x576
* fixed premature blanking of the rainbow colored bars boot screen :(
* added some more forced OpenGL state configuration commands
* fixed leftover VI garbage seen for an instant when switching between ROMs
* staticized texture coverage LOD fraction calculations
* optimized filling large buffers of memory with a single byte
* merged r84 from upstream angrylions-stuff/mylittle-nocomment
* many optimizations to YUV texture element fetching and YUV-RGB conversion
* merged r85 from upstream angrylions-stuff/mylittle-nocomment
* improved 16-bit R5G5B5 frame buffer reads with dynamic branch weighing
* optimized coverage buffer allocation and YUV texture LUT decoding
* merged r86 from upstream angrylions-stuff/mylittle-nocomment
* folded RGB comparisons for dithering
* merged most of r87 from upstream angrylions-stuff/mylittle-nocomment
* improved combiner equation performance with dynamic branch prediction
* removed the 3-bit restriction on color dither randomization masks
* supports newly discovered VI pixel destruction on clamped hres or h_start
* merged r88 from upstream angrylions-stuff/mylittle-nocomment
* statically preserving x_start initial value in case of RCP timing issues
* some finalized corrections to horizontal pass max-clamping
* merged r89 from upstream angrylions-stuff/mylittle-nocomment
* guaranteeing sufficient VI divot and aliasing buffer sizes
* passes some more technical RCP hardware tests involving x line caching
Download: Angrylion's Per-Pixel RDP with OpenGL (2015/06/13)
Source: Here
Random Related Topic
0 Comments
Post a Comment