* Early memory regions setup
Needed to enable flexible allocations before mapping the eboot
* Improved accuracy of module mappings
To keep our current logic intact, reserve the full memory space, then perform fixed mappings for trampoline and segments. Segment mappings use type flexible, so they properly count toward flexible usage, while trampoline mappings use type code to bypass this.
* Asserts for failed offset finding
Always check before you leap.
* Hex logging for segment sizes
* Only map game modules to flex mem.
* Revert "Asserts for failed offset finding"
This reverts commit 38083f8cbb.
* Revert "Early memory regions setup"
This reverts commit da1552d4ac.
* Initialize memory regions in MemoryManager constructor
Much simpler approach to enabling the necessary flexible mappings on startup.
* replace psn_signed_in settings with shad_net_enabled and added shadnet_server setting
* improved user manager to update new fields and add new variables
* clang
* better message :D
* prototype settings look
* put categories on top instead of on the side, plays nicer with input system
* added profiles + saving and loading framework
* add helper functions
* fix autofocusing
* add code for using embedded image files
* put settings in different files
* clang
* remove sdl_image submodule, unify functions when possible
* Always display selected profile in settings content areas
* Fix focusing, logs, highlight profile text
* persist highlight on focused buttons, add all categories placeholders
* All settings added
* navigate tabs with l1/r1
* Replace sdl mixer library with minimp3 header
* clang
* set spec before putting in audiostream
* respect main audio output device setting
* fixup
* replace file with submodule
* cleanup
* capitalize functions like the others
* move buffer to heap
* use vector for pcm buffer instead
* imguitest
* button tests
* fix gamepad nav
* placeholder hardcoded eboot path
* set focus correctly, move to own files
* get installed game information
* dynamically adjust rows
* use slider for ui scale
* launch big picture with CLI arg
* Use emulator settings for UI scale and window size
* center scrolling on focused item
* fix item focus on scrolling when navigating with keyboard or pad
* minor fixups and comments
* fix performance degradation
* adjust fonts to show TM symbol and higher overscale
* reuse and clang
* add exists check before iterator
* flatten navigation (gamepad navigation crosses child window container)
* cleanup and comments
* simplify update checker a bit
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
* resource_tracking_pass: Adjust buffer type if host doesn't support float buffer atomic
* resource_tracking_pass: Implement data append/consume as buffer atomics in IR level
This was previously done in spirv backend, the implementation was exactly the same as the buffer atomics, so unify them
* ir: Bump instruction flag to 8 bytes
* frontend: Pass pc to buffer flags for better debugging when sharp tracking fails
* clang format
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
* fixed Unsynchronized free_threads.size()` Read in ThreadState::Free
* fixed data race in posix_pthread_key_create , allocated and seqno are atomic now
* fixed playtime thread
* argv array size fix
* destroy mutex on object deletion with pthread_mutex_destroy
* fixed object_pool
* used atomics for thread safety
* equeue: Save filter/ident before std:move since we access them out of the locked loop
* fixed kqueues memory leak
* clean storage objects effectively
* fixed memory leak
* fix some races
* fixed race condition