Commit Graph

5851 Commits

Author SHA1 Message Date
rogerman b6072287c5 Cocoa Port: Improve SoftRasterizer multithreading and stabilize multithreaded performance.
- Automatic setting of the SoftRasterizer thread count (the most common use case) now takes into account systems with many CPU cores/hyperthreads. When using Automatic mode, SoftRasterizer will take advantage of more threads on machines like the Mac Pro and iMac Pro.
- Manually assign the thread priorities of the SoftRasterizer threads and other related high-priority threads to better ensure stable performance. Most importantly, the main emulation thread will no longer preempt any SoftRasterizer thread since the main emulation thread has to wait on the results of SoftRasterizer anyways.
- These changes aren't targeted for improving overall performance -- they help stabilize performance so that CPU cycles are used more consistently, which might translate into slightly improved performance, depending on hardware, as a byproduct of doing these changes.
2018-07-25 14:19:25 -07:00
zeromus fe851aa10c
Merge pull request #159 from SuuperW/display 2018-07-21 15:27:56 -05:00
rogerman ad5f5c24e6 Colorspace Handler: Fix bug where ColorspaceApplyIntensityToBuffer*() would not apply an R/B color swap when requested. 2018-07-20 18:45:44 -07:00
zeromus d869e6cb10
Merge pull request #162 from retr0s4ge/master
(Windows Frontend) Fix window size increase on startup
2018-07-20 17:17:33 -05:00
retr0s4ge 8cbdc339f2 (Windows Frontend) Fix window size increase on startup if screen size ratio > 1
Fix missing division in ScaleScreen function which caused window size to increase on each startup  if screen size ratio > 1.
2018-07-21 00:00:54 +02:00
SuuperW 9ccf9acea4 Revert commit 15957ba, and apply backlight effect regardless of whether using DirectDraw or OpenGL. 2018-07-18 14:51:45 -05:00
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
zeromus 6fd23368ce
Merge pull request #158 from retr0s4ge/master
(Windows Frontend) Allow screen resizing in horizontal display layout.
2018-07-13 22:02:07 -04:00
retr0s4ge 43a9734ba2 Fill the areas above and below the resized screen with black when using DirectDraw display method.
This is needed to remove garbage from the window after resizing the screen. OpenGL display method already does this.
2018-07-13 16:43:43 +02:00
retr0s4ge d17a01d0c3 Center the resized screen vertically by default and add a check menu setting to change that if required. 2018-07-13 14:43:02 +02: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
retr0s4ge 9dd7e0f451 Adjust the aspect ratio of the resized screen to follow the user setting, and modify input scaling accordingly. 2018-07-12 00:13:43 +02: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
retr0s4ge 610caf0e45
Merge pull request #157 from retr0s4ge/master
Don't save ethernet packets to pcap files by default.
2018-07-09 02:07:35 +03:00
retr0s4ge 5ad5e16a40 (Windows Frontend) Allow screen resizing in horizontal display layout.
The right hand screen is allowed to be resized in horizontal screen layout to enable the window or full screen display to better utilize the screen area.

Changes:
1- Modify scaling, resizing and update functions to allow for new screen resizing ratio
2- Modify touch input scaling (incl. HUD editing) to adapt to different screen sizes
3- Add GUI menu for user to select the screen resizing ratio
4- Implement saving/loading settings from file similar to other settings
2018-07-09 01:03:35 +02:00
retr0s4ge 66062bca80 Don't save ethernet packets to pcap files by default.
Save only if the defined WIFI_LOGGING_LEVEL >= 3
2018-07-08 23:39:14 +02:00
SuuperW b95f58826e Fix ordering of fonts 2018-07-08 11:28:29 -05:00
zeromus 41104fd315 fiddle around with movie sram
re #152
2018-07-06 14:18:14 -04:00
zeromus f79e24dba8
Merge pull request #153 from Salz/pullreq/agg
revert to agg >= 2.4
2018-07-06 13:54:50 -04:00
zeromus a17bafa652
Merge pull request #154 from Salz/pullreq/gdb-stub
Pullreq/gdb stub
2018-07-06 13:54:23 -04:00
zeromus 9f7ed1aeeb
Merge pull request #155 from Salz/pullreq/commandline
Fix CommandLine initialization
2018-07-06 13:53:40 -04:00
zeromus 1065666997
Merge pull request #152 from SuuperW/master
Properly handle SRAM while playing movies.
2018-07-06 13:52:52 -04: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
Ingo Saitz cebbb262d1 revert to agg >= 2.4 2018-07-05 11:42:03 +02:00
Ingo Saitz 696135d712 Fix BaseDriver class
Commit 7548294333 broke compilation of
desmume/src/NDSSystem.cpp if DEVELOPER is defined by --enable-gdb-stub

Needs commit c9ad909a75b0ad89d0bd84829ed536c5ae0ffc93
2018-07-05 11:28:52 +02:00
Ingo Saitz b976584451 fix --enable-gdbstub 2018-07-05 11:28:46 +02:00
Ingo Saitz dd8d4e6715 Fix CommandLine initialization
Commit 7548294333 added _fw_boot and
_fw_path, need to make sure they are initialized, too.
2018-07-05 11:28:05 +02:00
SuuperW c64a556d82 Properly handle SRAM when playing movies, with or without starting from SRAM. 2018-07-04 11:11:57 -05:00
SuuperW 35ddbb341d Fix bug where movies starting from sram would crash. 2018-07-01 12:46:38 -05:00
zeromus 490c7e917c
Merge pull request #150 from retr0s4ge/master
Add WiFi fix from desmume-reloaded, tweak the wait for display thread added in commit ee8fdeb
2018-06-29 23:57:48 -04:00
retr0s4ge 411bcaa15d Forcibly wait for the display thread to draw each frame (never skip any frame) ONLY IF the user set frame skip to "0 (never skip)".
Current implementation causes significant display lag if any magnification filter is used while GPU scaling factor is >1.
2018-06-29 14:23:01 +02: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