Commit Graph

5902 Commits

Author SHA1 Message Date
rogerman 301c875ecb GPU: For native-sized captures, always read from native VRAM -- never from custom VRAM. Should make captures a little faster when running a custom framebuffer and/or using RGB888 color format. 2017-07-21 12:49:57 -07:00
rogerman 1b483d266a GPU: Fix bug where sprite blending would no longer work. (Regression from commit 624dd57.) 2017-07-21 09:51:13 -07:00
rogerman 624dd5788c GPU: Another significant performance improvement to GPU compositing in many games.
- Now composites pixels using explicit functions for simple copy,
masked copy, and masked effect.
- On SSE2 systems, pixels composited using a simple copy no longer
require the destination pixels to be loaded first, since all the pixels
are guaranteed to be overwritten anyways.
- Try and move the window test as far up the pipeline as possible so
that pixel rendering can bail as soon as possible if the window test
fails.
- Clean up and further standardize the code for compositing BG layers,
OBJ layers, and 3D layers.
2017-07-20 23:45:41 -07:00
rogerman 80a4c3f071 GPU: Fix bug where 3D rendering sometimes does not appear correctly on SSE2 systems. (Regression from commit 5c6fcb0.) 2017-07-20 00:55:08 -07:00
rogerman 5c6fcb0f47 GPU: Significantly improve GPU compositing performance in many games.
- Adds more possible conditions for compositing to take the fast path
(simple pixel copying).
- Adds SSE2 optimizations for the 2x and 4x scaling cases in
GPUEngineBase::_LineColorCopy().
2017-07-19 23:41:43 -07:00
rogerman c3bce87556 Cocoa Port: Expose the new feature to change the GPU color depth in the UI. (Related to commit 3b37058.) 2017-07-18 20:57:55 -07:00
rogerman 3b37058cbc GPU: Custom VRAM now works with 24-bit color depth. It can be captured natively in 24-bit and used as a source buffer in 24-bit. (Related to r5433. This rework is now COMPLETE!)
- NEW FEATURE: Clients may now call GPUSubsystem::SetColorFormat() to
choose the color format of the GPU output, which can be RGB555
(15-bit), RGB666 (18-bit), or RGB888 (24-bit).
- On a special note, the Deposterize filter for 3D textures can now
show its true smoothing effect when clients run the GPU in 24-bit color
mode.
2017-07-18 20:56:11 -07:00
rogerman e7f1737bdb Cocoa Port: The Vertical Sync setting has been removed -- it is now automatically set.
- New behavior for layer-backed views (OpenGL on Mountain Lion and
later, or Metal): Vertical Sync is always enabled.
- New behavior for non-layer-backed views (OpenGL on Lion and earlier):
Vertical Sync is only enabled if frameskip is enabled or if the
execution speed is set to 1x or less while the speed limiter is engaged.
- Remove all associated UI for manually setting Vertical Sync.
- Also add a new menu option to the Tools menu for disabling Metal,
instead forcing display views to use OpenGL. (For developer builds
only.)
2017-07-18 17:10:26 -07:00
rogerman ddac7122d3 Cocoa Port: Ensure that display windows avoid drawing with uninitialized display info and possibly non-existent buffers on startup. 2017-07-18 01:26:42 -07:00
rogerman 7791f60495 Cocoa Port: Avoid sending a torrent of MESSAGE_RELOAD_REPROCESS_REDRAW messages whenever a new display window is created. 2017-07-18 01:24:08 -07:00
rogerman 68f201c3ce SoftRasterizer: Fix incorrect coloring when using an output format of RGB888. (Regression from commit eaa5210.) 2017-07-15 17:02:56 -07:00
rogerman eaa5210fb0 GPU: Finishing 3D rendering and flushing the 3D framebuffers are now split into separate operations.
- Fixes the background appearance when receiving items in Pokemon
Black/White 2. (Fixes SF bug #1624.)
2017-07-15 16:00:26 -07:00
rogerman 0f05656a17 Save States: Fix save state compatibility for files created between 32-bit and 64-bit systems. (Regression from r5363.) 2017-07-15 15:38:39 -07:00
rogerman 63b232c1b8 GPU: Fix possible crash by properly initializing working capture buffers. (Regression from commit 28f5c3a.) 2017-07-08 10:56:29 -07:00
rogerman 652af9ec71 Cocoa Port: Always allow client display views to process displays if the client did not request a custom framebuffer size.
- Also try to solve some synchronization issues with Metal display
views.
2017-07-07 13:13:29 -07:00
rogerman 1f60446f3f GPU: Fix bug on SSE2 builds where the window test mask would be undefined if the output color format is RGB666 or RGB888. 2017-07-05 23:30:31 -07:00
rogerman 28f5c3a895 GPU: Don't do ad-hoc allocations of working capture lines in GPUEngineA::_RenderLine_DisplayCapture(). Allocate the lines in GPUEngineA::SetCustomFramebufferSize() instead.
- Also do some minor refactoring and code cleanup.
2017-07-05 23:22:49 -07:00
zeromus ee235d2abc fix gdbstub compiling in posix frontend. didnt really test it... should fix #73 2017-07-03 09:37:51 -05:00
rogerman c37e892090 GPU: Partially reverts changes to the LCDC check, bringing back an optimization for display capture.
- Revert commit abe2e61997. (But retains
the comments about Mario Kart.)
- Partially revert adf682eb23. (But
retains the removal of the LCDC check in ResetDisplayCaptureEnable().)
2017-07-01 13:51:15 -07:00
rogerman 76063a389c Cocoa Port: Fix bug that causes building to fail. (Regression from commit c365617.)
- Also do some minor code cleanup to byteSizeStringWithLargerUnit:.
2017-07-01 13:44:52 -07:00
zeromus 73c8f8af37 Merge pull request #71 from kongfl888/screenshot
winport: fix the screenshot type is not saved.
2017-06-09 23:16:00 -05:00
kongfl888 65bd5b565c winport: fix the screenshot type is not saved. 2017-06-10 10:47:23 +08:00
zeromus d6872769ae cheats: fix bug in EXXXXXXX code eating one too many code lines 2017-05-29 10:05:22 -05:00
zeromus 50390c6f4f Revert "winport: use 666 color". Now I know how to do it... but it wasn't 100% ready anyway, and it breaks avi/screenshot, so let's wait and fix those when the 666 color is finally 100% done.
This reverts commit a0d42e1536.
2017-05-28 20:11:45 -04:00
zeromus 126db2d6de fix null assignments to std::strings the right way 2017-05-05 14:26:34 -05:00
zeromus 4707380746 Merge pull request #68 from klapeto/master
PosixGTK Graphics Dialog UI
2017-05-05 14:25:34 -05:00
klapeto a2527ef733 posixGTK: Additional graphic options added to Graphics Dialog 2017-05-05 21:42:51 +03:00
zeromus adf5151568 cheats: reset jit, sometimes, when it's needed 2017-05-05 00:45:28 -05:00
klapeto 08e2244cea posixGTK: Added Graphics Settings dialog and 3D core switch ui 2017-05-04 22:34:59 +03:00
klapeto b460d76698 Fixed segmentation faults caused by NULL assignments to std::strings 2017-05-04 16:16:12 +03:00
zeromus 58b69b912a winport: fix crash opening nonexistent recent rom (fixes #67) 2017-05-03 19:32:24 -05:00
zeromus 6b92b6fb2a Merge pull request #66 from np511/master
Add GUI to change JIT settings
2017-05-03 14:20:40 -05:00
np511 ff2ebe400d Add GUI to change JIT settings 2017-05-03 12:24:11 -04:00
zeromus e0945c362b fix booting from firmware since I broke it adding the new slot-1 timing (failed to support it on arm7). fixes #64 (broken by 281268e) 2017-05-02 17:59:33 -05:00
zeromus 09ffe3545e try to fix bad, bad, badness caused by running nitrofs tool in another thread (hopefully fixes #65) 2017-05-02 17:50:23 -05:00
zeromus 9357fd79e3 fix bug in fsnitro FAT reading; fixes #63 2017-04-28 20:53:40 -05:00
zeromus bc2e1d99d3 fix crash in slot1 retail(debug) when it's set while no game is loaded (fixes #63) 2017-04-27 20:37:40 -05:00
zeromus 281268e05f emulate slot-1 read timings (fixes SF bug 1258) 2017-04-26 18:34:07 -05:00
zeromus 6600a2c393 Merge pull request #61 from atsampson/master
fix: add missing comma in ZIPROMReader definition
2017-04-26 16:47:54 -05:00
Adam Sampson ebde061afe fix: add missing comma in ZIPROMReader definition
This was omitted in c365617ff737bdb3c06c307159078ca4e5f7e175; the other
ROMReader_structs it updated were correct.
2017-04-26 22:44:08 +01:00
zeromus 669515bf6e winport: fix OSD with prescale + single CPU 2017-04-26 15:02:46 -05:00
zeromus a0d42e1536 winport: use 666 color 2017-04-26 15:00:47 -05:00
zeromus 06f0bb492b winport: fix non-saving KillStylusOffScreen 2017-04-26 14:03:38 -05:00
zeromus 751987cb90 fsnitro: fix build error from recent commit (for some compilers, anyway). fixes commit c365617ff7 2017-04-12 10:31:13 -05:00
zeromus fbad56bd14 fix bugs in lingering rom reading cursor caching code that made the winport memview capable of ruining rom reads 2017-04-11 21:14:16 -05:00
zeromus 297449caa2 winport: fix mis-sorted full/cartrom memdomains 2017-04-11 21:13:17 -05:00
zeromus c365617ff7 take a stab at fixing the ram/streaming option so that there arent split codepaths everywhere. homebrew that is eligible for DLDI patching now switches entirely to load from memory, because we lack the facilities to patch the DLDI in flight (although we now have a point to hook it into). really, all this code should be torched, but it's less of a mess now. 2017-04-11 19:40:31 -05:00
zeromus e332e3df26 fix error in initialization of clear depth register - fixes #57 (cod3r colorz top screen) 2017-04-10 21:12:25 -05:00
zeromus abe2e61997 fix possibility for display capture to VRAM block not-mapped-to-LCDC doing something which I guess can clobber important memory. Mario kart does this after course demo during black screen transition if buttons are pressed (maybe programming error or emulation timing bug). The functionality that used to block this was lost during HD revisions. Fixes #54 2017-04-09 17:30:00 -05:00
zeromus e7d7c08455 Merge pull request #55 from BigBigos/rtc-override
Add rtc-day/hour options to override NDS clock
2017-04-09 12:51:44 -05:00