Commit Graph

6548 Commits

Author SHA1 Message Date
zeromus 8c4e42f98d fix bug that made desmume get a random MAC address on each boot without anybody knowing it or asking for it. this triggered time-travel protections in games. 2021-09-08 04:17:57 -04:00
rogerman f3c3228c70 Windows Port: Fix Windows build. (Regression from commit 037d328.) 2021-09-07 02:13:35 -07:00
rogerman 037d3285a9 Cocoa Port: Update project files to accommodate new GPU_Operation_* files. Also updates builds for AVX2. 2021-09-06 19:46:53 -07:00
rogerman 0db98725dc GPU: Do a massive refactor of the manually vectorized code and add full support for AVX2.
- Most notably, each version of the manually vectorized code now resides in their own files.
- Depending on the rendering situation, the new AVX2 code may increase rendering performance by 5% to up to 50%.
- Certain functions automatically gain manual vectorization support since the new GPU code makes use of the new general-purpose copy functions that were added in commit e991b16. In other words, AVX-512 and AltiVec builds also benefit from this.
2021-09-06 18:00:38 -07:00
rogerman 4226fa7ab2 SPU.cpp: More silencing of compiler warnings, code cleanup, and consistency improvements. 2021-09-06 15:10:05 -07:00
rogerman 207e93b8ae mc.cpp: Silence a whole bunch of compiler warnings and improve code consistency. 2021-09-06 14:28:11 -07:00
rogerman 620d3b3a26 Render3D: Fix clear image on big-endian systems.
- Also renames "Altivec" to "AltiVec" to remain consistent with Colorspace Handler's naming.
- Also adds an AltiVec accelerated version of the clear image parser.
2021-09-05 01:25:13 -07:00
rogerman c49a480d51 SoftRasterizer: Due to how the class inheritance works, SoftRasterizer_AVX actually requires AVX2 instead of just AVX. And in reality, AVX2 is just more practical than AVX for what we're doing here.
- Also do some minor refactoring of Render3D.
2021-09-04 19:31:55 -07:00
rogerman 92fcd1313e OpenGL Renderer: Do a minor optimization when running NDS-Style Depth Calculation.
- As a positive side-effect, generating the geometry shaders now runs quicker too.
2021-09-04 17:50:10 -07:00
rogerman ef35f72172 FIFO: Fix buffer copying for AltiVec. 2021-09-04 17:42:56 -07:00
rogerman 192e0f88b2 Cocoa Port: Perform post-build code signing for final stage of Release build. 2021-09-03 12:03:06 -07:00
rogerman 777329a993 Cocoa Port: Fix the OpenGL renderer on macOS v10.7 Lion. 2021-09-03 02:20:07 -07:00
rogerman 22801dac3c Cocoa Port: Delete now defunct Xcode 9 build scheme. 2021-09-03 01:07:57 -07:00
rogerman 2b3a7a7e50 Cocoa Port: Update Final Release builds to split 32-bit and 64-bit binaries between Xcode 9 and Xcode 12, respectively.
- Final Release builds still remain as PowerPC 32-bit, Intel 32-bit, and Intel 64-bit. ARM64 is not supported yet.
- PowerPC 32-bit and Intel 32-bit continue to require macOS v10.5 Leopard like before, but the Intel 64-bit binary now requires macOS v10.7 Lion or later. (Now, the Intel 64-bit binary will simply fail to run on Leopard and Snow Leopard.)
2021-09-02 22:53:45 -07:00
rogerman e775f17c87 OpenGL Renderer: Fix some issues where shaders wouldn't work on older/stricter video drivers.
- Specifically, we're now respecting uniform control flow for texture lookups, for which older/stricter drivers will silently fail because they consider texture lookups within conditional blocks to be undefined.
2021-09-02 22:44:12 -07:00
rogerman ea02efda78 Alright, fix the Windows build for real. 2021-09-01 02:54:20 -07:00
rogerman 379af45813 Did this fix it? 2021-09-01 01:18:00 -07:00
rogerman 7eabbb8ea6 Silence a whole lot of longstanding compiler warnings. 2021-09-01 00:49:50 -07:00
rogerman 0df858f2e8 Cocoa Port: Add the ability for the user to set a fixed frame skip value, just like in the Windows port. This is in addition to the existing automatic frame skip setting. 2021-08-31 13:56:07 -07:00
rogerman 67fa412144 gdbstub.cpp: Fix compiling for builds that use GDB stub. (Regression from commit cfe88ce.) 2021-08-31 11:06:22 -07:00
rogerman cfe88ce0d7 Core: Silence the 1000+ compiler warnings about using offsetof() on a non-POD type... again. 2021-08-31 10:23:04 -07:00
rogerman 3f47c4ad7d Cocoa Port: Fix building for Xcode 3. (Regression from commit 03b9481.) 2021-08-30 20:34:42 -07:00
rogerman 4a9c71b988 Cocoa Port: Also add command queue names for Metal display views. 2021-08-30 20:07:58 -07:00
rogerman 03b9481095 Cocoa Port: Add thread names for this port's own threads too. 2021-08-30 20:06:42 -07:00
rogerman 4f8ba2beb9 task.cpp: Support thread naming on macOS.
- Related to commit 11fe823 and commit e70e065.
2021-08-30 20:02:49 -07:00
rogerman 0d51b40479 Do some minor changes to support compilers running strict C++17 conventions. 2021-08-30 12:50:15 -07:00
rogerman 3b06be0d07 FIFO.cpp: For AVX-512 built targets only, correct _DISP_FIFOrecv_LineOpaque32_vec() to require Tier-1 support instead of Tier-0. 2021-08-30 12:44:30 -07:00
rogerman 479c404b60 Core: Fix compiling for AltiVec build targets. 2021-08-30 12:42:48 -07:00
rogerman 63702ff6bd task: Change to C++03 conventions to support older compilers. Related to commit 5428763. 2021-08-30 12:39:28 -07:00
rogerman ac472c13ef encrypt.h: Change to C++03 conventions to support older compilers.
- This change partially reverts commit 87cb2f6, but still preserves the elimination of the destructor, which is probably the code simplification that was originally wanted, I guess.
2021-08-30 12:29:09 -07:00
rogerman 9ac09387e3 Cocoa Port: Fix a bug where changing the GPU Scaling Factor or GPU Color Depth while the emulator is paused would cause the program to freeze upon restarting the emulation via Run, Frame Advance, or Frame Jump. 2021-08-27 14:48:22 -07:00
rogerman b7c9b6b614 Cocoa Port: Fix a bug where the Frame Advance and Frame Jump buttons in the Execution Control panel would cause the other buttons to enable/disable themselves inconsistently, but only if the .app was built on Xcode 10 or later.
- Apparently, KVO-based UI updates being made across threads are a big no-no in the macOS v10.14 SDK and later. So now we need to make sure that ALL KVO-based UI updates are done on the main thread only.
2021-08-27 13:35:10 -07:00
rogerman c7f85ba00a Cocoa Port: Fix a bug where the video filter preview in Preferences would display a black box if the .app was built using Xcode 10 or later.
- Also make OGLImage run a little more efficiently.
2021-08-27 03:03:44 -07:00
rogerman 31851c2524 FIFO.cpp: Add new manually vectorized versions of FIFO buffer line copies for AVX2, AVX-512, and AltiVec. 2021-08-26 18:05:53 -07:00
rogerman 79437371e3 Render 3D: In the vectorized code, tweak how memory is indexed. Not only does this make the code more consistent, but it might make some subtle code generation improvements in the compiled code (depending on compiler and optimization settings). 2021-08-26 17:08:10 -07:00
rogerman e991b16ec1 matrix.h: Add more general-purpose vectorized fixed copy functions. (They don't actually do anything as of this commit, but they will be used in future commits.) 2021-08-26 16:36:54 -07:00
rogerman 64cbba2e24 Cocoa Port: Fix crashes and improve stability.
- Fixes a crash that can occur on startup or when modifying the Video Pixel Scaler in Preferences. Fixes #321. (Regression from commit 0663661.)
- Fixes a crash on startup where write+execute privileges returned by mprotect() are not supported when compiled against the macOS v10.15 SDK or later. Fixes #335.
- Fixes a possible crash that can occur if an invalid ID is sent when trying to set the 3D Rendering Engine. Maybe fixes #342.
2021-08-26 16:09:50 -07:00
rogerman 92cb90f433 Cocoa Port: Fix build errors that can occur when building on Xcode versions later than 10.3.
- The script that renames the DeSmuME.app package with the git version now runs as a Build Post-Action script rather than as the last build rule. This is to fix an incompatibility with code signing, which is now forced in Xcode 11 and later.
- Update some variables to comply with newer and stricter compiler rules.
2021-08-26 14:32:25 -07:00
zeromus e8f619c44a winport: fix #442 2021-04-09 11:43:20 -04:00
zeromus 9d8332d671 winport - fix #441 (nonsense japanese directory creation on open rom file dialog and other cases probably) 2021-04-06 15:09:48 -04:00
zeromus 42093b4929 fix #423 more 2021-04-06 01:12:18 -04:00
zeromus 4b77e9b77a winport - fix file creation time not shown in file menu when filename has moonrunes, fixes #440 2021-04-05 22:59:02 -04:00
zeromus 84e8508520 fix WIN32_FRONTEND (broken by PR #350)
fixes #432
2021-04-05 22:43:33 -04:00
thesource 85a2674eb5 GTK: fix freeze when editing joystick controls 2021-03-13 14:10:31 +01:00
Emmanuel Gil Peyrot 445579b053 GTK: Use the correct hyphenation for properties 2021-03-11 16:53:22 +01:00
zeromus 67f30f4023
Merge pull request #350 from SkyTemple/binary-interface
DeSmuME as a shared object / dynamic library
2021-03-07 19:49:00 -05:00
Parakoopa 8e7af8ada8 Github action for interface build -- Corrected windows path 2021-03-07 12:03:52 +01:00
Parakoopa c135751ded Github action for interface build 2021-03-07 11:59:10 +01:00
Parakoopa 37ed174621 Fix libdesmume name in meson build 2021-03-05 13:05:31 +01:00
Parakoopa 1455b830c5 Interface: Windows: Switched to SDL2 2021-03-05 11:23:52 +01:00