Commit Graph

5101 Commits

Author SHA1 Message Date
zeromus 386bbd6544 ok, change the GPU buffer back to an embedded array, and change how it's allocated to ensure that it isnt allocated misaligned 2015-09-14 04:38:30 +00:00
zeromus 60f2d5d9cf remove vs2012 support, add vs2015 support. update the zlib version winport uses. 2015-09-14 03:47:44 +00:00
zeromus 74a13d55ff some biz work and cleanup 2015-09-14 03:46:41 +00:00
zeromus 58732d31b4 some portability fixes for gpu work 2015-09-14 03:45:53 +00:00
rogerman 5e8b836e83 GPU:
- Parse necessary registers upon loading state to ensure that internal variables get set properly.
2015-09-13 03:01:56 +00:00
rogerman 20dc706c68 GPU / MMU:
- Further cleanup display I/O register handling.
- Do some misc. code cleanup.
2015-09-11 22:51:24 +00:00
rogerman 73d1a89d21 Windows Port:
- Fix Windows compiling.
2015-09-11 05:15:59 +00:00
rogerman 760b5a61d6 GPU / MMU:
- Begin standardizing how the display I/O registers are handled.
- Do other heavy code cleanup.
2015-09-11 05:15:07 +00:00
rogerman 07e56b07c5 GPU:
- Fix bug where 3D rendering may not always finish on line 0, causing lingering 3D artifacts in certain games. Now it is always forced to finish. (Regression from r5255.)
- Bring back the backdrop clearing optimization from r5198 when rendering in the native resolution.
- Do some minor code cleanup.
2015-09-07 15:19:34 +00:00
rogerman 8038e559fe GPU:
- Fix possible crash when doing a direct-color sprite render due to aligned access, since incoming sprite coordinates can cause access to become unaligned. (Regression from r5256.)
2015-09-05 23:21:26 +00:00
rogerman 7e3f1d85ae GPU / MMU:
- Do SSE2 optimization for direct-color sprite renders.
- Make ARM9_LCD cache-aligned. Allows for SSE2 to perform aligned load/stores on certain operations, improving performance.
- Further templatize some methods.
- Do some misc. code cleanup.
2015-09-05 22:35:34 +00:00
rogerman ced0d3986d GPU:
- Do heavy code cleanup.
- Split the engine-specific functionality of the main and sub engines into the new GPUEngineA and GPUEngineB subclasses.
- Templatize some parameters. Greatly increases the generated code size, but restores (and possibly improves) performance from r5251.
2015-09-04 02:05:50 +00:00
rogerman 88006197b9 GPU:
- Do heavy code cleanup.
- Encapsulate higher level GPU functions into the new GPUSubsystem class.
2015-09-01 00:13:02 +00:00
rogerman d5280f82b0 GPU:
- Do heavy code cleanup.
- Encapsulate GPU-related functions into the new GPUEngineBase class.
2015-08-28 17:45:12 +00:00
rogerman 5a6590ff49 Windows Port:
- Fix compiling issues on Visual Studio 2015.
2015-08-26 03:06:37 +00:00
rogerman 2967cd2c62 GPU:
- Be smarter about manually inlining functions. Greatly reduces the generated code size, and fixes making optimized builds on MSVC. (Regression from r5248.)
- This change may affect performance. This will need additional testing.
2015-08-26 01:27:24 +00:00
rogerman c36c379e1f Cocoa Port:
- Fix drawing bug where the wrong texture coordinates were being used when a display window is in Touch mode. (Regression from r5249.)
2015-08-25 23:44:19 +00:00
rogerman e344486e8a Cocoa Port:
- Add support for handling combination native/custom rendering sizes.
- As a side-effect of supporting this feature, pixel scalers now work as intended when high-resolution rendering is enabled (but only if the incoming display framebuffer is at the native size).
2015-08-25 18:56:03 +00:00
rogerman e8cd47acf0 GPU:
- Finish support for combination native/custom rendering sizes. Can give a significant performance improvement when running the GPUs at a custom size, but only for frontends that support this feature.
2015-08-25 17:57:00 +00:00
rogerman bccbae0df9 GPU:
- Begin refactoring work in order to support combination native/custom rendering sizes.
2015-08-24 22:12:18 +00:00
rogerman bf5b1505c8 GFX3D:
- Fix bug where the 3D framebuffer didn’t clear properly if the main GPU is disabled. (Regression from r5190 and r5212.)
2015-08-24 19:40:37 +00:00
rogerman 7bc5aca100 Cocoa Port:
- Expose feature for resolution-independent 3D rendering. Currently, 3D rendering may be scaled anywhere from 1x - 16x of the native NDS resolution.
2015-08-20 19:58:40 +00:00
rogerman be5615b477 GPU:
- Fix compiling on WIN32.
2015-08-20 18:57:24 +00:00
rogerman 5cfa2b4797 GPU:
- Rework display capture and the NDS VRAM buffers to support non-native resolutions.
2015-08-20 18:12:25 +00:00
rogerman e1f7039f1b Core:
- Do more explicit casting to fix build errors on C++11 compilers.
- Fix bug with libfat string handling.
2015-08-17 21:15:04 +00:00
rogerman 0fc37d2c06 GPU:
- Fix possible crash during display capture due to aligned access on an unaligned memory block. (Regression from r5239.)
2015-08-10 19:12:53 +00:00
zeromus 76c390b17a fix bug in sndxa2 driver that made it chow major cpu in a busy loop 2015-08-10 15:54:47 +00:00
rogerman 8e3ff3c708 GPU:
- Cleanup and optimize OAM attributes handling. (Special thanks to Twinaphex from libretro for pointing this out to us.)
- Add SSE2 optimizations to display capture operations.
- Do a whole bunch more code cleanup.
2015-08-09 04:32:53 +00:00
rogerman a30ca9e350 Cocoa Port:
- Expose stylus pressure and stylus jitter settings in Emulation > Show Stylus Settings.
2015-08-07 19:37:53 +00:00
rogerman d9bb1f30e2 NDSSystem.cpp:
- Also update stylus jitter setting per frame instead of only on reset.
2015-08-07 19:35:34 +00:00
rogerman 33d69b27f5 Cocoa Port:
- Delete HQ3x LUTs when we’re done using them. (Recommits what was once r5226 before SourceForge screwed it up.)
2015-08-07 19:27:38 +00:00
rogerman a7b62386a7 Cocoa Port:
- Also load/save external firmware settings if Use External Firmware Image is enabled.
- Do some minor code cleanup.
2015-08-07 00:16:35 +00:00
zeromus e0d2567e6c fix #1492 RAM Watch editing problem (dont reorder entries when editing them) 2015-08-06 21:46:35 +00:00
rogerman f06c81d671 SoftRasterizer Renderer:
- Don’t evict the texture cache in the middle of geometry rendering! Fixes app crashing with games like Advance Wars: Days of Ruin that actually need to evict the texture cache. (Regression from r5175.)
- Do some minor code cleanup.
2015-08-06 21:15:26 +00:00
zeromus 761834948d fix r5031 gxfifo regression 2015-08-04 23:11:53 +00:00
rogerman 96c47d6734 OpenGL Renderer:
- Revert r5176 until polygon IDs can be handled correctly in one go. Fixes missing polygon issues in certain games such as missing rings in Sonic Chronicles: The Dark Brotherhood and missing loop traces in the Pokemon Ranger: Shadows of Almia title screen. (Addresses one of the issues noted in bug #1253.)
2015-08-02 06:01:50 +00:00
rogerman ee1a489dc7 OpenGL Renderer:
- Change toon highlight blending to match SoftRasterizer. Fixes the “Shadows of Almia” logo in the Pokemon Ranger: Shadows of Almia title screen. (Addresses one of the issues noted in bug #1253.)
2015-07-31 20:46:00 +00:00
rogerman 8c68f22165 SoftRasterizer:
- Minor tweaks and code cleanup.
2015-07-31 05:54:27 +00:00
rogerman e41857fa82 Render3D:
- Revert the SSE2 bit shift optimizations that were done in r5216. Fixes a regression related to fog, as well as a regression that caused a flickering problem in the title screen of Pokemon Ranger: Shadows of Almia. (Fixes bug #1487.)
2015-07-27 05:06:53 +00:00
rogerman e9d6cc3611 GTK Port:
- Fix crash that occurs after the GTK file chooser is used to load a ROM. (Fixes bug #1486.)
2015-07-25 23:51:45 +00:00
zeromus 5a55349155 support trimmed roms to non 4-aligned sizes (supposedly a regression from 0.9.10) 2015-07-25 23:46:58 +00:00
rogerman 9b370cd602 Render3D:
- Fix possible crash due to aligned access.
2015-07-15 04:34:23 +00:00
rogerman 3c9931b1c8 Cocoa Port:
- In addition to the UI controls in the Show Video Settings panel, also add the “Use Vertical Sync” and “Run Filters on GPU” options to the View menu.
- Disable UI controls for Depth Comparison Threshold, since the setting is now obsolete. (Will need to delete UI controls before release.)
- Also add HQ3x/HQ3xS filters to the Pixel Scaler menu in Display Preferences.
- Fix bug where the HQ3x/HQ3xS filters running on the GPU sometimes wouldn’t draw correctly.
2015-07-15 01:36:48 +00:00
rogerman 7daab3d784 Windows Port:
- Oops! Missed a file that should’ve been committed in r5222.
2015-07-15 00:23:59 +00:00
rogerman 47adbc5455 GPU:
- More code cleanup.
2015-07-15 00:22:49 +00:00
zeromus adae275e16 (windows) fix big fail in auto-selection of .duc import size 2015-07-14 01:11:23 +00:00
zeromus 4a128f946c someone ran static analysis on our code, I guess I should fix what it reported 2015-07-13 03:23:28 +00:00
rogerman 4d77617e3e Cocoa Port:
- Add high-resolution UI artwork for Retina displays.
2015-07-09 08:31:41 +00:00
rogerman 04cbc13a6d Cocoa Port:
- Enable Retina displays to draw video frames at their native resolution. (Tested on the iMac 5K Retina and MacBook Pro Retina.)
2015-07-08 06:49:37 +00:00
rogerman a8ffd1e40c GPU:
- Fix compiling on Windows. Looks like vector intrinsics are mandatory on MSVC. (Regression from r5216.)
2015-07-07 22:39:09 +00:00