Commit Graph

5126 Commits

Author SHA1 Message Date
rogerman a5c102540f Cocoa Port:
- In the OpenGL blitter, use DMA texture uploads for all possible video source cases. Doing this removes a longstanding MAJOR performance bottleneck.
- Native-sized video sees up to a 15% performance improvement, while higher-resolution video can see up to a 100% performance improvement!!!!!
2016-02-07 01:34:52 +00:00
rogerman f22fd97d28 GPU:
- Allow clients to specify their own framebuffer storage when calling GPUSubsystem::SetCustomFramebufferSize().
2016-02-07 01:15:55 +00:00
rogerman fa898fcf76 GPU:
- Apply SSE2 optimizations to all of the BG layer modes. (Related to r5332.)
- Do some code refactoring and cleanup.
2016-02-03 04:41:54 +00:00
rogerman 2823f599ba Render3D:
- Revert r5331, since it results in incorrect alpha testing. Add additional notes to remind myself why I wrote the code that way in the first place.
2016-02-01 22:28:38 +00:00
rogerman 7542718cde GPU:
- Optimize the loading of destination blending masks if SSSE3 is available.
2016-01-31 22:09:23 +00:00
rogerman 67989f5260 Cocoa Port:
- Return to using Snow Leopard style Audio Components. Requires building with Xcode v7.2 or later, since Xcode v7.0 and v7.1 have bugs that will cause AudioUnits to crash. (Related to r5280.)
2016-01-31 22:06:40 +00:00
rogerman b695f1596f GPU:
- Remove the other reference to the DISPCNT.BG0_Enable flag for determining when 3D rendering is enabled. Fixes minimap rendering at custom resolutions in Advance Wars: Dual Strike during some conversations. (Related to r5334.)
2016-01-31 06:00:03 +00:00
rogerman ea4d0960a0 GPU:
- Fix bug where 3D layers still needed to be rendered even when the DISPCNT.BG0_Enable flag is disabled. Fixes minimap rendering in Advance Wars: Dual Strike during some conversations. (Regression from r5255.)
2016-01-31 03:37:40 +00:00
rogerman 0cb3bf1d2f GPU:
- Fix Windows compiling. (Regression from r5332.)
2016-01-30 11:17:17 +00:00
rogerman 3771d2a76d GPU:
- Begin the process of applying SSE2 optimizations to BG layer compositing.
- In this revision, only Text mode layers use the new SSE2 optimizations. Other BG layer modes have yet to be implemented.
2016-01-30 03:07:11 +00:00
rogerman f1172fe5c8 Render3D:
- Further optimize SSE2 versions of FlushFramebuffer().
2016-01-21 02:47:56 +00:00
rogerman 90e9947da9 GPU:
- When compositing the BG layers, provide a hint for when blending is disabled.
2016-01-18 19:21:06 +00:00
rogerman 0ff9773eaf GPU:
- Replace _mm_set1_epi64x() with _mm_set1_epi32() where appropriate.
- Complete GPUEngineBase::_RenderPixel_SSE2() method.
- Fix potential bug with window checks in GPUEngineBase::_RenderPixel3D_SSE2().
- Do some minor code cleanup.
2016-01-09 23:12:41 +00:00
rogerman a1280789db GPU:
- Avoid doing scalar lookups in the SSE2 portion of GPUEngineBase::ApplyMasterBrightness().
2016-01-05 22:06:55 +00:00
rogerman 76ba4e164d GPU:
- Do SSE2 optimization when compositing the 3D layer.
- Add SSE2 optimized version of GPUEngineBase::_RenderPixel() for future use (currently inactive).
2016-01-05 04:12:36 +00:00
rogerman a4972abe61 Linux Port:
- Fix compiling for GTK and Glade ports.
2016-01-04 23:12:40 +00:00
rogerman abd4704711 GPU:
- Do some code cleanup.
2016-01-04 21:54:00 +00:00
zeromus 69ee626639 winport - fix crash on startup with clean ini file 2015-12-11 01:22:00 +00:00
zeromus bc84d6930b fix DD display method bombing when using high prescale and magnification filter levels 2015-12-09 06:25:11 +00:00
rogerman a738364416 Cocoa Port:
- Fix crash when loading invalid ROM header data.
2015-11-15 06:08:32 +00:00
rogerman 4d32f051ab Render3D:
- Explicitly make the Render3D class allocate itself with a cache-aligned base pointer. Fixes SSE2-related alignment crashes with OS/compiler combinations that don’t 16-byte align the base pointer for you.
2015-11-09 03:46:14 +00:00
zeromus af00e3b3f3 clarify how a jit function table is declared, which has implications on whether a giant 256MB static buffer is allocated, which is causing problems when desmume is loaded as a DLL in 32bit systems. shouldnt affect the main windows or cocoa ports, but will cause other ports to take a different (safer and speed indeterminate) codepath. Build scripts must now make a choice to opt into the riskier behaviour. 2015-11-08 08:09:54 +00:00
zeromus dc3d1945af win32 - fix crash in some display methods when emulator boots up 2015-11-06 01:57:46 +00:00
zeromus 40fd9c2385 winport - fix bug in AR during fullscreen, and fix long-standing bug with white rectangle in bottom right of DD display method when letterbox area is shown 2015-11-01 14:29:42 +00:00
rogerman c40374df16 Cocoa Port:
- When clicking one of the Save Settings as Default buttons in one of the settings panels, force the user defaults file to synchronize immediately. This fixes updating the user defaults file on OS X v10.11 El Capitan.
- Fix bug where video settings wouldn’t update immediately while the emulation is paused. (Regression from r5310).
- Fix bug where if a ROM is unloaded, the previous video frame would remain instead of blacking out as intended. (Regression from r5310).
2015-10-29 06:40:54 +00:00
rogerman 2fbd0685d1 Cocoa Port:
- Add support for displaying the CPU load average in the HUD.
2015-10-28 05:29:17 +00:00
rogerman bb6fe7d06b Cocoa Port:
- Fix bug where using Frame Jump or executing the emulation faster than 1.00x would cause the execution speed to be limited by Vertical Sync.
- Do some code cleanup on CocoaDSOutput.
- Expand the text box further when the RTC is shown.
2015-10-25 02:11:09 +00:00
rogerman 11403180db Windows Port:
- Fix crashing bug with the OAM Viewer tool.
- Improve the sprite drawing performance of the OAM Viewer tool.
2015-10-21 06:09:52 +00:00
zeromus 3c85700c5c fix error in arm7 memorymap mask for IO regs (permitted errant register accesses from clobbering outside the regs buffer) 2015-10-21 04:34:30 +00:00
rogerman 3eb0585129 Cocoa Port (OpenEmu Plug-in):
- Fix crashing bug when initializing the plug-in.
- Update to the latest version of the OpenEmu SDK.
2015-10-20 07:01:07 +00:00
rogerman dd305b36d9 Cocoa Port:
- Add support for displaying the Real-Time Clock in the HUD.
2015-10-16 21:26:52 +00:00
rogerman a6a1875e05 Cocoa Port:
- New feature: Add OpenGL-based Heads-Up Display.
2015-10-16 07:28:42 +00:00
rogerman 57929ed232 Cocoa Port:
- Fix compiling by removing some future code that accidentally snuck into r5306.
2015-10-14 18:08:36 +00:00
zeromus 5b1a6e2cd9 fix vc2015 build flag on x64 dev+ 2015-10-14 07:52:07 +00:00
rogerman 9988ed1293 Cocoa Port:
- Fix bug where using one of the View > Display Size menu options would fail to work if the window’s resize grip was used previously.
2015-10-13 19:43:40 +00:00
rogerman 793f19d47e Cocoa Port:
- Fix some compiler warnings.
- Delete some legacy strings which are no longer used.
2015-10-12 20:06:33 +00:00
rogerman 4eedbca3d9 GPU:
- Fix display capture copy mode colors on big-endian systems.
2015-10-10 22:56:28 +00:00
rogerman 21d9294697 Cocoa Port:
- Fix some compatibility issues with OS X v10.5 Leopard.
2015-10-10 20:16:46 +00:00
rogerman d9cc320c4e GPU:
- Fix bug with horizontal offsets. (Regression from r5295.)
- Fix display capture blend mode colors on big-endian systems.
2015-10-10 19:53:29 +00:00
zeromus 1fc6cbdec2 split processing of internal cheats from AR cheats, and process AR cheats more correctly when an ARM7 IRQ happens 2015-10-10 09:55:06 +00:00
rogerman 18caac989b MMU:
- Fix writing to the sub engine’s MASTER_BRIGHT register. Fixes the touch screen display output for “Pirates of the Caribbean: At World’s End”. (Regression from r5261.)
2015-10-10 02:19:51 +00:00
rogerman f05eb523c1 GPU:
- Loosen the restriction on what constitutes “set mosaic values”, just to be safe. (Related to r5299.)
2015-10-09 21:00:01 +00:00
rogerman d885c383b2 GPU:
- Also skip mosaic rendering if the mosaic values themselves aren’t set.
2015-10-09 20:45:49 +00:00
zeromus f69a3738ae move AR cheats to arm7 bus 2015-10-09 10:01:16 +00:00
rogerman 9cd43cc115 GPU:
- Use restrict pointers where appropriate.
2015-10-08 01:15:12 +00:00
rogerman 61e8cfb063 GPU:
- Account for the fact that extended palette mappings can change independently of the BGnCNT register. Fixes the BG3 layer in Phoenix Wright: Ace Attorney. (Regression from r5286.)
2015-10-06 17:13:24 +00:00
rogerman ec539cba02 GPU:
- Fix a bunch of graphical corruption regressions on big-endian systems.
- Also fix rotation/scale sprite colors and the 3D clear color on big-endian systems.
2015-10-06 01:14:44 +00:00
zeromus 3308d5b28e winport - fix bugs in fullscreen viewport sizing 2015-10-04 18:12:14 +00:00
rogerman 60ea6fe7d5 GPU:
- Fix compiling issue with non-SSE2 builds.
2015-10-03 17:59:20 +00:00
zeromus 216d36d292 winport - dump avis with selected prescaleHD 2015-09-30 23:30:44 +00:00