rogerman
e18dd27d30
Cocoa Port: Fix the Screenshot Capture Tool with running Metal. (Regression from commit f5ead86.)
2017-11-27 21:15:26 -08:00
rogerman
7213c6373b
GPU: All fields for NDSDisplayInfo should be set consistently relative to the NDSDisplayID, not the GPUEngineID.
...
- In practice, this should change nothing, since all pointers somehow managed to point to the correct buffer locations. This should be nothing more than a programming consistency and readability improvement.
2017-11-27 21:07:14 -08:00
zeromus
fa4b027dbd
winport: add --windowed-fullscreen
2017-11-27 18:16:40 -06:00
rogerman
d5b62d3d02
OpenGL Renderer: Improve the robustness of error-checking OpenGL drivers.
2017-11-24 02:02:05 -08:00
rogerman
010efff31b
Linux Port (GTK): Fix OSMesa context creation. (Regression from r4905. Fixes #119.)
...
- Also do some code cleanup.
2017-11-24 00:28:49 -08:00
rogerman
b9ada994df
Linux Port (GTK): Remove and replace legacy colorspace handling routines with the new SIMD-optimized colorspace handling routines.
2017-11-22 17:43:17 -08:00
rogerman
96bd35517b
Cocoa Port: Signal a fetch at startup, after reading the user defaults for GPU Scaling Factor and GPU Color Depth, in order to guarantee that the client-side fetch buffers will be cleared.
2017-11-21 19:05:11 -08:00
rogerman
5890540007
OpenGL: Maintain one more flag to ensure that textures are always initialized. (Fixes #116.)
2017-11-21 11:17:52 -08:00
rogerman
4269925258
GPU: Properly initialize the newer NDSDisplayInfo fields.
...
- This has the side-effect of having the Windows port’s display window
start up with a white screen and HUD showing (if enabled) just like
before, rather than a black screen and HUD possibly hidden.
2017-11-20 23:51:42 -08:00
rogerman
25eae6e1ed
Cocoa Port (OpenEmu Plug-in): Change the video format to 18-bit RGB666, which matches a hardware NDS.
2017-11-20 21:04:50 -08:00
rogerman
a7065311cc
Core: Change some default settings to use more compatible and true-to-hardware settings.
...
- GPU Color Depth (from 24-bit to 18-bit), Advanced SPU Logic (from Disabled to Enabled), SPU Interpolation (from Linear to Cosine), Synchronization Mode (from Dual SPU Sync/Async to Synchronous)
- Just like the previous change to the default JIT block size, let the users themselves disable these settings so that they are more aware that they are sacrificing compatibility for speed.
2017-11-20 16:39:50 -08:00
rogerman
48fee8d590
Windows Port: Don't resize the display window after changing GPU Scaling Factor.
...
- Also remove TCommonSettings.GFX3D_PrescaleHD. It is a useless setting in core because the internal resolution is not limited to integer-multiplied scaling.
- Also fix spelling on the "Maintain Aspect Ratio" menu option.
2017-11-20 14:37:30 -08:00
rogerman
24108e35e2
Core: Change the default max. JIT block size from 100 to 12, since 12 has been tested to be more compatible and safer to use.
...
- There is only a negligible performance difference between 100 and 12.
- It is better for users to change the JIT block size from 12 to 100
themselves, since it might make them more aware that they are
sacrificing compatibility in favor of speed.
2017-11-20 12:57:24 -08:00
rogerman
6680577146
Render 3D: Handle RenderFinish() more consistently. Fixes 3D flushing issues when running single-threaded SoftRasterizer.
2017-11-20 10:58:27 -08:00
rogerman
e5694abd63
SoftRasterizer: Tiny optimization to rasterization if a shadow polygon is used, taking advantage of an already existing hint.
2017-11-17 19:18:14 -08:00
rogerman
d0c0a5641a
Cocoa Port: Fix occasional screen flickering on Metal display views whenever a pixel scaler is used. (Regression from commit 7202fb8.)
2017-11-17 00:51:10 -08:00
rogerman
7202fb8d47
Cocoa Port: Fix a rare race condition that could cause Metal display views to crash if the GPU Scaling Factor very quickly and repeatedly changes.
2017-11-16 00:22:20 -08:00
rogerman
bc7b03c3d5
Cocoa Port: Try to fix some more synchronization issues in Metal display views.
...
- Also remove the usage of _rwlockFrame and change it to a simple
pthread_mutex_t, since CocoaDSDisplay objects no longer have a need for
a full pthread_rwlock_t.
2017-11-15 21:25:21 -08:00
rogerman
a481abebf9
Cocoa Port: Remove all fonts from all builds except for SourceSansPro-Bold.
2017-11-15 16:56:14 -08:00
rogerman
d311517278
Cocoa Port: Remove extra underscore to make the .app bundle names consistent with the current naming scheme.
2017-11-15 16:44:15 -08:00
rogerman
bfefaa7486
Cocoa Port: Remove --broken from the "OS X App" Release build target.
...
- Apparently, the —broken option isn’t available on all versions of git
describe. Remove it to avoid issues, since it isn’t really necessary.
2017-11-15 16:35:00 -08:00
rogerman
1373babe52
Cocoa Port: Update "DeSmuME (Latest).xcodeproj" to reflect the latest build procedures.
...
- Build artifacts are now created in the source code directory itself
instead of in DerivedData, just like how Xcode 3 does it.
- Making Profile builds using the “OS X App” build scheme now
automatically appends the git commit number to the .app bundle name.
2017-11-15 16:24:19 -08:00
rogerman
4457b95468
Cocoa Port (OpenEmu Plug-in): Update the microphone controls to use the latest CocoaDSController standards. Fixes both hardware and software mic modes.
2017-11-14 16:11:21 -08:00
Roger Manuel
16948fe8bd
Update .gitignore
2017-11-14 11:31:53 -08:00
rogerman
6c4e951e68
Cocoa Port: Only enable the "Use External Firmware Image" checkbox if the "Use External BIOS Images" checkbox is checked and only if both BIOS images are set.
2017-11-13 18:38:18 -08:00
rogerman
63a5cb90ae
Windows Port: Fix compiling due to BackupDevice::_info name change. (Regression from commit 0907207.)
2017-11-13 14:43:41 -08:00
rogerman
0907207222
mc.cpp: It is now possible for DeSmuME to import its own battery save file format using the new method, BackupDevice::import_dsv().
2017-11-13 14:13:09 -08:00
rogerman
3b2a9ededc
Cocoa Port: The "File > Import ROM Save File" menu option now pauses the emulation when the NSOpenPanel is up.
...
- Also disable the "File > Export ROM Save File" menu option when there is no actual file to export.
2017-11-12 20:24:26 -08:00
rogerman
509d117f5f
Cocoa Port (OpenEmu Plug-in): Update the OpenEmu plug-in to work using the latest version of the SDK.
2017-11-11 23:39:44 -08:00
rogerman
4abfa4466a
Cocoa Port: Don't compile Lua-related files right now. Let's bring them back once there's an actual working prototype of this feature.
2017-11-11 17:24:10 -08:00
rogerman
128f9d0c96
Cocoa Port: As a small optimization, the MTLBuffers used in Metal display views should use MTLResourceCPUCacheModeWriteCombined wherever possible.
2017-11-11 16:16:17 -08:00
rogerman
b03a799834
Linux Port (CLI and GTK): When building with --enable-hud, fix the segfault on startup that was caused by an uninitialized OSD object. (Fixes #107.)
2017-11-10 14:26:29 -08:00
rogerman
109dd6f373
Render3D: Change the Depth-Equal Test tolerance from +/-512 to +/-255.
...
- Special thanks to StapleButter for coming to us and informing us of this issue. 47a71941ac (commitcomment-25533528)
- This change does imply that GBATEK got this value wrong. http://problemkaputt.de/gbatek.htm#ds3dpolygonattributes
2017-11-10 09:43:54 -08:00
rogerman
89a74e5c3e
Cocoa Port: Fix a whole slew of synchronization issues in the entire client display system, hopefully improving stability.
...
- Of special note, Metal display views aren't allowed to run on macOS High Sierra because of an assert bug in [id<MTLDevice> newBufferWithBytesNoCopy:length:options:deallocator:] in this particular version of macOS. Note that Metal display views will continue to work with macOS El Capitan and macOS Sierra.
2017-11-10 01:31:50 -08:00
zeromus
57f5fa0e6e
Merge pull request #112 from atsampson/master
...
Linux Port: Fix missing semicolon.
2017-10-25 11:36:49 -04:00
Adam Sampson
d74ab529a7
Linux Port: Fix missing semicolon.
...
This was lost in 0869afded6315fb14d2265e8b3872b36ccc3fdce's refactoring.
2017-10-25 14:40:28 +01:00
rogerman
0869afded6
GPU: All GPU settings are now staged. Pending settings are applied only right before the GPU actually renders.
...
- Of note, initialization of the 3D rendering engine is also staged, where the pending engine is initialized prior to applying the 3D rendering settings. However, only ports that support this behavior will do this. Ports that do not support this behavior will work the same way as before (initialize the 3D engine immediately).
2017-10-24 09:40:56 -07:00
rogerman
3ca9e871e8
Colorspace Handler: Fix some pixel alignment issues in ColorspaceConvertBuffer555XTo888_AVX2() and ColorspaceConvertBuffer888XTo888_AVX2(). (Related to commit 858b05d.)
...
- Also do some additional optimizations while we're at it.
2017-10-23 15:51:39 -07:00
rogerman
1be210271b
Windows Port: AVI RGB888 color conversions are now multithreaded, and are also vectorized for SSSE3 and AVX2. (Fixes #105.)
2017-10-23 12:21:42 -07:00
rogerman
4c950d2a37
Colorspace Handler: Oops! Fix compiling in colorspacehandler_AVX2.cpp. (Related to commit 858b05d
. Fixes #111.)
2017-10-23 11:11:49 -07:00
rogerman
8e16b618a7
Colorspace Handler: Fix bug where RB-swapping in ColorspaceConvert555XTo888() would cancel itself out, leaving RB unswapped in all cases. (Related to commit 858b05d.)
2017-10-22 23:31:24 -07:00
rogerman
858b05df79
Colorspace Handler: Add new functions for converting 16-bit RGBA5551 and 32-bit RGBA8888 color buffers to 24-bit RGB888.
...
- Also improve the performance of RGB555-to-RGBA6665 and RGB555-to-RGBA8888 conversions.
2017-10-22 22:14:05 -07:00
rogerman
2bc3be0711
Cocoa Port: Bottom-tier GPUs running an OpenGL display presenter now use faster (but less accurate) shaders for Bicubic B-Spline and Bicubic Michell-Netravali.
2017-10-22 22:08:41 -07:00
rogerman
d9394594bf
Cocoa Port: Fix bug where touch locations were being improperly calculated on Retina displays. (Regression from commit 059ea51
. Fixes #110.)
2017-10-20 14:21:47 -07:00
rogerman
97525d94d7
Colorspace Handler: Properly maintain the alpha value when applying intensity to an RGBA5551 color buffer.
2017-10-20 13:03:03 -07:00
rogerman
64d32dca0e
Cocoa Port: In the Screenshot Capture Tool, users can now assign the save directory by drag-and-dropping a folder onto the NSTextField.
2017-10-20 13:02:06 -07:00
rogerman
70d6df40d6
Cocoa Port: Enable Lua's ability to use dynamic-linked libraries.
2017-10-20 12:50:48 -07:00
rogerman
45572fb277
Render3D: Assume the initial states of the 3D rendering instead of initializing them with CommonSettings. Most notably, assume that _enableTextureDeposterize = false in order to force it to create its buffer later on. Fixes a potential crashing bug whenever Texture Deposterization is enabled. (Regression from commit 15a19ba
. Fixes #109.)
2017-10-19 16:11:55 -07:00
rogerman
711115921b
Cocoa Port: Begin setting up support for LUA.
2017-10-19 11:06:05 -07:00
rogerman
15a19ba02f
Render3D: All 3D rendering settings are now staged. Pending settings are applied only right before the 3D renderer actually renders.
2017-10-18 15:45:46 -07:00