* libretro core
* Bringing citra libretro implementation over
* libretro: hook up vulkan renderer
* libretro: github actions
* libretro: gyro
* libretro: core options v2
* libretro: on ios turn off shader jit if unavailable
* moltenvk 1.3.0 introduces 8-bit indexes but allocates 16-bit for metal; this ends up allocating stream buffer * 2 = 132MiB. Instead, just use 16-bit indexes. (This will be necessary for standalone when bumping moltenvk version.)
* libretro core: address review feedback
* libretro: microphone support
* cmake: Add ENABLE_ROOM_STANDALONE to list of incompatible libretro flags
* libretro: proper initial geometry
* libretro: fix software renderer
* libretro: address review feedback
* .github/libretro.yml: Pin macOS runners at macOS 26
* ci: Remove explicit selection of Xcode 16.0
* .github/libretro.yml: remove unnecessary windows builder apt commands
* .github/libretro.yml: bump min macos version to 11.0
* ci: Re-enable CI jobs for all libretro cores
This is under the condition that we don't introduce build cache for these builds
---------
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
Co-authored-by: PabloMK7 <hackyglitch2@gmail.com>
* Enable the SecondScreenPresentation class
* Update everything to enable second screen on android under GL and Vulkan. Still some issues!
* Some attempts to enable surface changes
* OpenGL is working on surface change, vulkan still no
* release surfaces (also fixed vulkan?)
* added and enabled layout setting
* resolve merge conflict
* rearrange switch cases to satisfy linux compiler
* openGL is working!
* several vk changes to try to fix crashes
* maybe vulkan is working?
* removing unnecessary code attempts
* Simplified secondscreen for better performance
* vk_platform.cpp: Fixed build failure caused by bad rebase
* vk_present_window.h: Removed stray newline
* Applied clang-format
* bug fix for odin 2
* Applied clang-format
* Updated license headers
* Moved SecondScreen class to org.citra.citra_emu.display
* Various formatting and readability improvements
* Added brackets where previously absent for readability
* Additional readability improvement
* RendererVulkan::NotifySurfaceChanged: Simplified condition checking
* change all references to "secondary screen" to "secondary display" to limit confusion with top screen / bottom screen
* rename main_window to main_present_window and second_window to secondary_present_window
* Reverted accidentally downgraded compatibility list submodule
* Removed unnecessary log message
* Applied clang-format
* Added a description to the Secondary Display Screen Layout setting
* Added `_ptr` suffix to `secondary_present_window`
This distinguishes it as a pointer, as `main_present_window` isn't a pointer, so there could be confusion on whether to use `.` or `->`
---------
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
* renderer_vulkan: remove out of context SDL_Quit call (fixes#1220)
SDL_Quit must not be called unless the application must exit or SDL is no longer needed
* comment: simplify, forgot init had ref-count
* renderer_vulkan: Disable FIFO when refresh rate is lower than ~60hz
Also disables FIFO when Apple low power mode is enabled, as it can limit the application framerate to 30fps
* renderer_vulkan.cpp: Put `IsLowRefreshRate` into anon namespace + make static
Uses SIMD operations on the RasterizerAccelerated::AnalyzeVertexArray
function, which is hot code. Slightly reduces GPU processing time
on all games.
This idea was suggested by an anonymous contributor.
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>