Commit Graph

5825 Commits

Author SHA1 Message Date
SuuperW 84e8057682 Resize the window when changing the screen gap. 2018-07-18 12:20:03 -05:00
SuuperW a4411086e0 Fix issue with resizing the window vertically. 2018-07-18 12:19:33 -05:00
SuuperW 842ed1b93c Put HUD drawing back to before applying the video filter. 2018-07-18 10:09:59 -05:00
SuuperW 77c0b6e702 Fix bug where OpenGL HUD would be stretched with 90 or 270 degree rotation. (regression from commit 6fc7161) 2018-07-18 01:58:56 -05:00
SuuperW 15957ba792 Remove use of backlight intensity when using DirectDraw. (previously removed it with OpenGL in commit 6fc7161) 2018-07-17 11:40:05 -05:00
SuuperW 60aedec5d2 Scale HUD when using DirectDraw. (fix regression from commit 5906d44) 2018-07-17 11:38:59 -05:00
SuuperW 6fc7161f19 Rework HUD rendering with OpenGL.
-Fixes regression from commit 5906d44 where HUD would appear smaller when using HD scaling. (only fixed with OpenGL for now)
-Remove use of backlightIntensity for displaying. Fixes bug where screen would appear dark on the first frame after loading a save state. Underlying cause should probably still be fixed, though. (Why would the backlight level affect the display anyway? That setting on the DS is only present because it has its own physical screens and makes no sense here.)
2018-07-12 11:23:23 -05:00
SuuperW dc41f09189 some code cleanup; fix crash on changing to 15 bpp from a higher bpp 2018-07-09 11:41:46 -05:00
SuuperW b95f58826e Fix ordering of fonts 2018-07-08 11:28:29 -05:00
SuuperW 5496c8e024 Remove the now unused firstTime parameter of DoDisplay. 2018-07-06 11:45:38 -05:00
SuuperW 5906d44c2d On Windows, draw HUD before the filter to avoid having to scale it separately. (significant performance boost when using a filter) 2018-07-06 11:45:07 -05:00
SuuperW e4d5da97c0 Add prefilterWidth/Height 2018-07-06 11:44:11 -05:00
retr0s4ge 7548294333 1- Apply WiFi-ONLY related fixes from desmume-reloaded project by Jackobo Le Chocobo to desmume project (code base 22/06/2018).
2-Add required include and define statement to aviout.h to fix build error.

(cherry picked from commit 470e54e361)
2018-06-29 09:31:30 +02:00
zeromus bd63ff1bd1
Merge pull request #148 from SuuperW/master
Do not allow skipping display frames (except in extreme lag).
2018-06-28 12:50:47 -04:00
SuuperW ee8fdebcf1 Do not allow skipping display frames (except in extreme lag), so that the user sees every emulated frame and the HUD updates every frame. 2018-06-28 11:34:38 -05:00
Ingo Saitz 0e86cf128d Call XInitThreads() in posix frontend
XInitThreads() is needed in multi-threading X applications when multiple
threads try to access the Xlib. Add the call to the three frontends in
posix/ and add the required autoconf-stuff, too.
2018-06-27 14:41:02 -05:00
zeromus 23f4dcc009
Merge pull request #147 from SuuperW/master
Reduce RAM usage
2018-06-27 12:59:03 -04:00
SuuperW a8fa8a44d6 Do not reset buffers when calling SetPrescale with the current scaling values. 2018-06-27 11:27:05 -05:00
SuuperW 35a2ca9721 Redraw display after changing video filter. (Regression from commit 8622a33.) 2018-06-27 11:25:48 -05:00
SuuperW 8622a334a2 Rework buffer size allocations to only allocate as much space as is actually required. 2018-06-27 11:23:36 -05:00
zeromus 0f4b3ead00 replace SMLAL_BB and friends with more clear logic that hopefully isnt bugged
but I couldnt find a game exercising it, so I dont know whether it's correct.

should fix #139
2018-06-15 17:48:28 -04:00
zeromus 022d24b5c2 gfx3d - savestate `renderState` along with `state`
there's really nothing more to it than this. it should have been done from the beginning.
you wouldn't notice this unless you had a game that stopped rendering 3d, though.
(re #141)
2018-05-25 11:39:58 -04:00
rogerman 932cdd6366 Cocoa Port:
- Do a bunch of code refactoring and cleanup.
- Add some new UI for an upcoming new feature.
2018-05-17 21:22:51 -07:00
rogerman c024a78a43 GPU / SoftRasterizer: Fix a build issue for Altivec-enabled code. (Related to commits c41a006 and 43d3883.) 2018-05-17 20:06:31 -07:00
zeromus 9c128460c4 winport - make it so you can only open one of each disassembler views at a time (reportedly theyre crashy if theres more than one of them open.. seems likely to be the case for any of our tool windows) 2018-04-18 13:14:01 -05:00
zeromus deffcaa075 added /LARGEADDRESSAWARE so we can get more than 6x or 7x scaling in 32bit builds 2018-04-12 21:48:22 -05:00
rogerman 24d941d02e Colorspace Handler: Fix some bugs in AVX2. (Regression from commit 858b05d. Fixes #131.) 2018-03-11 14:13:26 -07:00
rogerman ab3c221bf6 Windows Port: In Sound Settings, under the Interpolation menu, remove the obsolete performance notes, as these options do not actually affect performance. Instead, provide a better description of the effects caused by these options as experienced by the end-user. 2018-03-05 12:06:10 -08:00
rogerman 92924db136 Windows Port: Related to commit 8d011f8 -- check the flag first to try to avoid the more expensive system calls. 2018-03-04 17:39:27 -08:00
rogerman 42c0379cbb OpenGL Renderer: Fix one more possible crash that may occur if the 3D framebuffer is read before the 3D renderer has a chance to render at least once. (Related to commit f8bbbec.) 2018-03-04 17:20:21 -08:00
rogerman 8d011f8344 Windows Port: Optimize input handling, reducing CPU usage when the emulator is idle. (Related to commit 8fb0d6d.) 2018-03-04 17:17:26 -08:00
rogerman 8fb0d6ddc5 Windows Port: Reduce CPU usage while the emulator is idle. 2018-03-03 20:41:23 -08:00
rogerman e825cddbe5 Windows Port: Fix a rare and intermittent bug that could cause the AVI recording to accidentally stop in between AVI segments. (Regression from commit db1a19a.) 2018-03-02 15:59:37 -08:00
rogerman b8c006b0b5 Windows Port: Do some minor code cleanup related to commit 8763a61. 2018-03-02 14:00:52 -08:00
rogerman 8763a6169a Windows Port: AVI recording now maintains many more frames in memory. Also, the framebuffer color conversion threads and file writing thread are more free running threads.
- These changes help to stabilize the performance of AVI recording, making it less sensitive to sudden changes in disk writing speed.
- The maximum amount of frames maintained in memory will either be 1.5 GB worth or 180 frames (or 3 seconds) worth, whichever is less.
2018-03-02 13:09:39 -08:00
rogerman db1a19ad86 Windows Port: Do a complete code cleanup and refactor of aviout.cpp to use proper C++ objects.
- aviout.cpp now uses Windows-style line-endings instead of Unix-style line-endings.
- AVI segments now fill up much closer to the 2 GB file limit than before.
- Error handling in the file writing thread is much more robust.
2018-03-01 08:47:24 -08:00
rogerman cbe4717d2f Windows Port: When recording AVIs, video framebuffer conversions and file write operations are performed asynchronously with the main thread. This should greatly increase AVI recording performance. 2018-02-25 16:00:31 -08:00
rogerman c7ca122d95 Windows Port: Fix building on Windows. (Regression from commit c7bb41e.) 2018-02-19 12:46:41 -08:00
rogerman c7bb41e4b1 matrix.cpp: Rework all matrix function parameters for explicit array sizing in order to aid compiler optimization and (hopefully) aid in code readability. Also add SSE4.1 versions for the main matrix functions. 2018-02-19 11:43:55 -08:00
rogerman 5a61a08727 matrix.cpp: Do some more code cleanup. 2018-02-16 20:11:36 -08:00
rogerman 249afccfca matrix.cpp: Do a bunch of code cleanup. 2018-02-16 11:59:19 -08:00
rogerman c41a006b2a GPU: Add additional basic SIMD-accelerated functions for memset_u16(), memset_u16_fast(), memset_u32(), and memset_u32_fast() for AVX2 and Altivec. 2018-02-13 14:45:17 -08:00
rogerman 5fbaa53b46 GPU: If a custom-sized layer is to be rendered first, GPUEngineBase::_TransitionLineNativeToCustom() will do a line clear instead of an upscaled line copy.
- Since this is a very common occurrence in many games, and since doing a clear is faster than doing an upscaled copy, this should give a small performance improvement for the larger framebuffer sizes.
2018-02-13 13:54:10 -08:00
rogerman 43d3883986 SoftRasterizer: Framebuffer clears are now accelerated using AVX2 and Altivec. 2018-02-12 18:03:52 -08:00
rogerman ab18de05ef SoftRasterizer: Oops! Fix a performance regression in SoftRasterizerRenderer_SSE2::ClearUsingValues() where the framebuffer was accidentally being cleared twice. (Regression from commit 7509d46.) 2018-02-12 13:42:42 -08:00
rogerman 7509d469b9 SoftRasterizer: Do some multithreading improvements, and also clean up and refactor RasterizerUnit.
- Completely encapsulate all stray global variables into the SoftRasterizer class where they belong.
- Framebuffer clears are now fully multithreaded, significantly improving clearing performance.
- Doing multithreaded texture loads and vertex calculations now requires a minimum of 2 threads, down from 4 threads.
- The maximum amount of SoftRasterizer threads has been increased from 16 to 32.
2018-02-12 11:35:21 -08:00
rogerman 9e3b694ace Cocoa Port: Do some minor code cleanup. 2018-02-05 20:29:09 -08:00
rogerman d1dcbb8218 Cocoa Port: Fix a potential deadlock that may occur on emulation reset. 2018-02-04 13:07:59 -08:00
rogerman 9ee7cd8ec0 NDSSystem.cpp: Check for the GPU struct before calling GPUSubsystem::ForceFrameStop() in GameInfo::closeROM(). 2018-02-03 21:59:00 -08:00
rogerman 23be799a67 Cocoa Port: Metal display views no longer lose visible frames when running multiple display views. 2018-02-03 21:21:54 -08:00