Commit Graph

5122 Commits

Author SHA1 Message Date
rogerman f3fd4e2ebc GPU:
- Autoresolving the native framebuffer is now performed at the end of line 191 instead of at the end of V-Blank.
- Do misc. code cleanup.
2015-09-23 21:22:25 +00:00
rogerman 9c5f355d00 GPU:
- Better organize BG layer states.
- Do a bunch of other code cleanup.
2015-09-22 22:45:20 +00:00
rogerman d5cf747ce4 GPU:
- Begin unifying pixel rendering. Rendering the BG and OBJ layers now use the same method.
- Pass the destination buffer pointer and line index by means of function parameters, instead of using object variables.
- Rendering a BG layer (for debugging purposes) is now completely handled in the core code.
- Do some other code cleanup.
2015-09-22 01:00:37 +00:00
zeromus e4195c9277 try to fix some gfx3d savestate bugs, but its all kind of a mess. 2015-09-21 21:51:36 +00:00
zeromus 0535b9f874 winport - fix layout/scaling of HD windows in some cases 2015-09-21 21:13:13 +00:00
zeromus 584c334c08 gfx3d - optimize texCoordinateTransform==1 a little bit, while I was looking at it anyway 2015-09-21 21:12:46 +00:00
rogerman 76ce2107fa GPU:
- Clearing to the backdrop color has been changed from a pixel operation to a scanline operation.
- Clearing to black when the GPU engine is disabled has been changed from a scanline operation to a framebuffer operation.
- Applying the master brightness has been changed from a scanline operation to a framebuffer operation.
- Resetting the BGnX and BGnY registers now occurs at the end of line 191 instead of at the start of line 0.
2015-09-18 22:14:59 +00:00
rogerman 574e6a2640 Cocoa Port:
- Fix AudioUnit crash when building against the OS X 10.11 SDK.
2015-09-18 19:33:56 +00:00
zeromus 2336008f73 wimport - oops, cleanup some junk and also some old language junk 2015-09-18 17:37:47 +00:00
zeromus 81d5f697c1 winport - fix hd prescale vs gap (#1505) 2015-09-18 17:34:55 +00:00
rogerman 81dae68652 GPU:
- Do some minor code cleanup.
2015-09-15 20:20:13 +00:00
zeromus 1bce1f1811 fix parsing of december dates 2015-09-15 06:49:35 +00:00
rogerman 8441e6e833 Cocoa Port / Cocoa Port (OpenEmu Plug-in):
- Fix compiling, incorporating the API changes from r5273.
2015-09-15 06:25:33 +00:00
rogerman fe97b5bbef Windows Port:
- Fix compiling, incorporating the API changes from r5273.
2015-09-15 06:19:06 +00:00
rogerman 444c4fcc0c GPU:
- Per zeromus’ suggestion, remove GetNativeFramebuffer() and GetCustomFramebuffer() from the GPUSubsystem class. Users must parse the NDSDisplayInfo struct returned from GetDisplayInfo() instead.
- Per zeromus’ suggestion, rename Get/SetWillAutoBlitNativeToCustomBuffer() to Get/SetWillAutoResolveToCustomBuffer().
- Add some more notes to the NDSDisplayInfo struct to help clarify the meaning of each field.
2015-09-15 01:13:48 +00:00
zeromus c389bc7301 winport - fix clipboard printscreens 2015-09-14 19:11:50 +00:00
rogerman adc64a1c61 SLOT-2:
- When loading Metroid Prime Hunters, set automatic SLOT-2 selection to select the Rumble Pak.
2015-09-14 18:37:00 +00:00
rogerman da132f1f1c GPU:
- More code cleanup.
2015-09-14 18:33:33 +00:00
zeromus f36f5b5627 fix file-based screenshot methods for HD 2015-09-14 18:20:11 +00:00
zeromus 8c00e2c676 winport - preliminary work on binding HD rendering 2015-09-14 09:13:57 +00:00
zeromus 601b86c78a fix more SSE buffer alignment problems, and solve a crash dependent on uninitialized memory 2015-09-14 07:49:09 +00:00
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