Squashed commit of the following:
commit b463a05d4b909372f0cd1ad91caa0c77a25e5901
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Mon Nov 30 01:55:35 2020 +0100
minor fix
commit ce73cebbdf5da243d7ebade82d8799ded9cd6b28
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Mon Nov 30 00:43:08 2020 +0100
fix dirty flags of BG/OBJ mappings not being reset
commit fc5d73a6178e3adc444398bdd23de8314b5ca8f8
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Mon Nov 30 00:11:13 2020 +0100
use flat vram for gpu2d everywhere
commit 34ee9fe2bf04fcfa2a5a1c8d78d70007e606f1a2
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Sat Nov 28 19:10:34 2020 +0100
mark VRAM dirty for display capture
commit e8778fa2f429c6df0eece19d6a5ee83ae23a0cf4
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Sat Nov 28 18:59:31 2020 +0100
use flat VRAM for textures and texpals
also skip rendering if nothing changed and a bunch of fixes
commit 53f2041e2e1a28b35702a2ed51de885c36689f71
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Fri Nov 27 18:29:56 2020 +0100
use vram dirty tracking for extpals
also preparations to take this further
commit 4cdfa329e95aed26d3b21319c8fd86a04abf20f7
Author: RSDuck <rsduck@users.noreply.github.com>
Date: Mon Nov 16 23:32:22 2020 +0100
VRAM dirty tracking
* Use ashmem instead of memfd_create on Android.
* Fix code styling issues.
* fix small mistake in merge commit
Co-authored-by: RSDuck <RSDuck@users.noreply.github.com>
* use shm_open() instead of memfd_create() on macOS
malloc.h isn't a header on macOS
* Change OpenGL headers + create ifdef for DO_PROCLIST
macOS seems to already have the OpenGL functions defined, without the ifdef, it gives "ambiguous references" errors.
* macOS doesn't have ->gregs in uc_mcontext
and it doesn't have REG_RIP either
https://github.com/gperftools/gperftools/blob/master/m4/pc_from_ucontext.m4
* use getpid() to make memory file name unique
* #ifndef __APPLE__ for AF_PACKET and linux/if_packet.h
* Add include and link directories for macOS and link the OpenGL framework
* Add macOS CI
* Use newly added libslirp package from Homebrew
https://github.com/Homebrew/homebrew-core/pull/63412
* Use Apple's Clang instead of GNU GCC on macOS
* Add macOS build instructions to README
* Try to fix macOS undefined symbol
* snprintf doesn't take null terminator into account
* Map new memory on macOS for JIT
* Only use gcc-ar if using GNU Compiler
* re-add fastmem code - whoops!
* Fix style issue - use camelCase not snake_case
* Set Minimum macOS version
* Switch Minimum OS X version to 10.9
* Add macOS libpcap library name
* fix memory leak
* Fix binding keys in macOS
* Allow getting MAC address on macOS
melonDS on Linux uses AF_PACKET, which doesn't exist on macOS. Instead, this commit uses AF_LINK on macOS to get the MAC address.
* Remove unneeded macOS CI dependencies
* Build melonDS app bundle on macOS
Now it is no longer required to install the libraries on macOS, they come with the app bundle.
* fix macOS CI not being able to find macdeployqt
* copy melonDS.app with recursive because it's a folder
* Disable fastmem checkbox on macOS
* Disable fastmem by default in config
* forgot a semicolon
* Don't bundle libraries, causes issues on macOS <10.15
* Update README + allow finding version in Finder on macOS
* Make sure fastmem checkbox stays uncheckable
* CMake build fixups
* Correctly set C/C++ standard
* Specify CXX in project() to get things set up right, also causes it to
link using the C++ compiler which is necessary for LTO builds with Clang
to work right
* Remove Fedora/flatpak build workaround, no longer needed with C++ standard set
* Link libm explicitly if we need to
* Specify -fuse-linker-plugin when building with LTO just in case
* Restore CMAKE_{C,CXX}_STANDRD, oops
* Use C++17