Commit Graph

6126 Commits

Author SHA1 Message Date
rogerman a213a7aba7 Cocoa Port:
- Add support for automatic texture upscaling and deposterization. (Related to r5384.)
2016-03-09 06:04:20 +00:00
rogerman 485e2cc254 OpenGL Renderer:
- Textures can now be automatically upscaled using the xBRZ filter. Textures can be upscaled to 2x or 4x.
- Textures can now be smoothed using a deposterization filter. This can be helpful in smoothing some of the hard color banding that sometimes occurs with xBRZ.
2016-03-09 05:25:18 +00:00
rogerman e0a139aeda GPU:
- Only flush the 3D rendering buffers and update the rendering properties if the frame is not skipped.
- Be more accurate when using callbacks for DidRender3DBegin and DidRender3DEnd.
- Make the 3D rendering stage more multithreading friendly.
2016-03-08 01:57:08 +00:00
rogerman 7b84225fa4 Cocoa Port:
- Fix occasional crash that can occur when switching 3D rendering engines. (Regression from r5288.)
2016-03-06 01:52:28 +00:00
rogerman 4c9a50ae91 Cocoa Port:
- Fix freezing bug that can occur when switching the 3D rendering engine while the emulation is paused. (Regression from r5288.)
2016-03-05 03:33:16 +00:00
rogerman 4f8a16d980 Cocoa Port:
- Oops! Forgot to add the 6xBRZ menu item to the View > Video Pixel Scaler menu.. (Related to r5379.)
2016-03-05 02:13:12 +00:00
rogerman d4ff390287 Cocoa Port:
- Expose 6xBRZ pixel scaler in the UI. (Related to r5377.)
- Fix a tiny blending bug in the 5xBRZ fragment shader.
2016-03-05 01:45:54 +00:00
zeromus 86eff9d3f0 fix xbrz on msvc 2010 2016-03-04 20:02:39 +00:00
rogerman 313dd2932f Video Filter:
- Upgrade xBRZ to v1.4.
- Add 6xBRZ pixel scaler.
2016-03-04 19:32:06 +00:00
rogerman 6b5aff79ad GPU:
- Remove now obsolete template parameter from GPUEngineA::_RenderLine_DisplayCapture().
2016-03-03 19:57:36 +00:00
zeromus 8a4813b6ff winport: fix directdraw display method screen rotation 2016-03-03 15:18:39 +00:00
rogerman 04e06869d9 GPU:
- Fix bug where the background would blink in The Wizard of Oz: Beyond the Yellow Brick Road when frameskip is enabled. (Regression from r5368).
2016-03-03 01:27:23 +00:00
rogerman 34ec6bb985 MMU:
- HACK: Drop the acknowledgment bits when writing the DISP3DCNT register. Fixes the title screen in “Planet Rescue: Animal Emergency”. (Regression from r5259. Fixes bug #1538.)
2016-03-02 21:01:00 +00:00
rogerman 2f473cd113 OpenGL Renderer:
- Fix some rendering issues with shadow polygons. As a byproduct, this also fixes the drawing of certain missing polygons.
2016-03-02 05:30:40 +00:00
rogerman 891fd01f82 GPU:
- Custom rendering is now determined on a per-scanline basis rather than on a per-framebuffer basis. This greatly improves rendering accuracy and fixes any remaining graphical glitches associated with rendering at custom sizes.
2016-03-01 01:39:38 +00:00
rogerman c5f950d1aa GPU:
- Fix crashing bug that can occur if BMPAddress maps exactly to the head of the custom VRAM blank region, such as in Hotel Dusk: Room 215. (Regression from r5366.)
- Do some code cleanup.
2016-02-27 18:17:35 +00:00
rogerman dcb2c5fa05 GPU:
- Fix crashing bug that can occur if BMPAddress maps into the custom VRAM blank region. (Regression from r5366.)
- Fix bug where a 128-width display capture would actually perform a 256-width capture in custom VRAM. (Regression from r5243.)
- Fix bug where if the display mode is Off or MainMemory, then the destination buffer may not always be the native buffer.
- Remove VRAM display mode’s dependence on the isCustomRenderingNeeded flag.
2016-02-24 21:09:47 +00:00
rogerman ee5fcf6bd2 GPU:
- Fix possible memory corruption with display capture, at the cost of some performance. (Regression from r5243.)
- Add a couple more rules for determining if the 3D framebuffer will be read directly for display capture.
- Keep track of render states that are updated while rendering, even when the frame isn’t rendered.
2016-02-24 07:33:42 +00:00
rogerman 45f6ca71cc GPU:
- Fix possible crash that can occur when switching off the 3D renderer after changing the framebuffer size.
2016-02-23 19:31:50 +00:00
rogerman dc53f97d17 GPU:
- Use the proper address when reading custom VRAM during a BG layer affine extended direct render. Fixes the pencil drawing background in the title screen of Super Mario 64 DS when rendering at a custom resolution.
2016-02-23 07:26:44 +00:00
rogerman c98e669d74 GPU:
- Improve the heuristics in determining when custom-sized rendering and custom-sized output is needed.
2016-02-23 03:52:27 +00:00
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