Commit Graph

5149 Commits

Author SHA1 Message Date
rogerman 782b60b824 SoftRasterizer:
- Revert the z-depth calculation in r5191, since this fails to draw units properly in Advance Wars: Days of Ruin when running on big-endian systems.
2016-02-18 22:55:19 +00:00
rogerman 3c710f33dd Render3D:
- In the OpenGL renderer, fix framebuffer color conversions on big-endian systems.
- In SoftRasterizer, fix toon table coloring on big-endian systems.
2016-02-18 20:38:48 +00:00
rogerman 532f78740a Cocoa Port:
- Silence a bunch of console warnings.
2016-02-18 07:35:07 +00:00
rogerman 8f01207e9d Cocoa Port:
- Fix display window restoration on startup if building the app with an OS X SDK earlier than v10.7. (Regression from r5349.)
2016-02-18 04:34:15 +00:00
rogerman b849c5b1c3 OpenGL Renderer:
- Fix bug where if converting the framebuffer on GPU is not supported, but PBO is still supported, then the resulting framebuffer would be flipped with incorrect colors. (Regression from r5359.)
- Read back the pixels in RGBA format instead of BGRA on OpenGL 3.2 devices, since such devices should natively support that type of pixel transfer.
2016-02-18 02:13:47 +00:00
rogerman d6ae36e068 OpenGL Renderer:
- Perform the RGBA6665 color space conversion of the 3D framebuffer on the GPU before pixel read back, and then read that 3D framebuffer directly.
2016-02-17 10:33:44 +00:00
zeromus 9346ced34c commit patch #170 "load gzip/zip compressed files" 2016-02-15 19:13:10 +00:00
rogerman 07031ea621 Cocoa Port:
- In the OpenGL blitter, eliminate the need for fences. Just test the finishing of texture objects directly.
2016-02-15 06:44:28 +00:00
rogerman f985f40ba8 Render3D:
- By default, do not create a separate RGBA6665 buffer for rendering. Instead, directly render to GPUEngineA’s RGBA6665 buffer.
- SoftRasterizer no longer needs to flush the RGBA6665 buffer now that it is rendered to directly.
- Fix the OpenGL renderer’s RGBA5551 buffer flushing on big-endian systems.
2016-02-15 05:25:45 +00:00
rogerman 607c3687ca Cocoa Port:
- Fix bug where the HUD wouldn’t report the correct FPS if more than one display window is in use.
2016-02-14 07:44:01 +00:00
rogerman 86f84fa21c Cocoa Port:
- Change the HUD font from Source Sans Pro Semibold to Source Sans Pro Bold.
- HUD text rendering is now more crisp and handles scaling better.
- HUD objects are now clamped to a minimum size.
2016-02-14 05:26:55 +00:00
rogerman ef376a5426 Cocoa Port:
- HUD objects now scale with the display window instead of remaining at a fixed size. Scaling is linear up to 2x, and then logarithmic up to 3x.
- HUD text now looks sharper on Retina displays.
2016-02-13 00:42:49 +00:00
rogerman 549f754be2 Cocoa Port:
- Fix bug where restoring full screen windows on startup would fail. (Regression from r5349.)
- Fix bug where the dock would fail to reappear when the last window exited full screen mode. (Regression from r5349.)
2016-02-12 08:50:35 +00:00
rogerman e8f660b381 Cocoa Port:
- Add the following toolbar items: Frame Advance, Enable/Disable HUD, Toggle Displays
2016-02-12 06:51:34 +00:00
rogerman 25f33c54ba GPU:
- Fix compiling for non-SSE2 builds.
2016-02-12 06:13:34 +00:00
rogerman a6ad4e04a8 Cocoa Port:
- Fix full screen behavior when running on OS X Mavericks or later.
2016-02-12 01:22:12 +00:00
rogerman fd4d3b19dd Cocoa Port:
- Fix HUD layer scaling on Retina displays.
- Have the HUD layer dynamically change the size of the text box as necessary.
2016-02-10 08:29:06 +00:00
rogerman d565d07841 Cocoa Port:
- The OpenGL blitter now respects if client storage is disabled.
- The HUD layer now scales properly on Retina displays.
2016-02-10 02:10:16 +00:00
rogerman f553d50e97 Wi-Fi:
- Disable logging when EXPERIMENTAL_WIFI_COMM is disabled.
- Now that Nintendo has discontinued their WFC service, we will no longer block users from trying to connect to it.
2016-02-09 23:16:18 +00:00
rogerman 65c0eec884 Cocoa Port:
- Optimize VBO uploading of the HUD layer.
2016-02-08 23:53:05 +00:00
rogerman f68df5b976 Render3D:
- Provide a means of specifying which specific framebuffers need to be flushed for each frame.
2016-02-08 21:20:13 +00:00
rogerman ed1879dc8f GPU:
- Fix bug where a swapped screen state was not being properly reset. (Regression from r5340.)
2016-02-07 07:12:16 +00:00
rogerman ac07bc2639 OpenGL Renderer:
- If PBOs are supported, avoid doing an extra framebuffer copy and read the PBO directly.
2016-02-07 02:30:57 +00:00
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