* code: Remove some old msvc workarounds
* android: Upgrade to NDK 26
* Allows access to newer libc++
* common/swap: Make use of std::endian
Allows removing a bunch of defines in favor of a two liner.
* common: Remove misc.cpp
* GetLastErrorMsg has been in error.h for a while and also helps removing a depedency from a hot header like common_funcs
* common: use SetThreadDescription API for thread names
* common: Remove linear disk cache
* Has never been used?
* bit_set: Make constexpr
* ring_buffer: Use feature macro
* bit_set: Use <bit> and concepts
* gsp_gpu: Restore comment
* core: Ignore GCC warning
---------
Co-authored-by: Lioncash <mathew1800@gmail.com>
Co-authored-by: Liam <byteslice@airmail.cc>
* vk_platform: Add `SetObjectName`
Creates a name-info struct and automatically deduces the object handle type using vulkan-hpp's handle trait data.
Supports `string_view` and `fmt` arguments.
* vk_texture_runtime: Use `SetObjectName` for surface handles
Names both the image handle and the image-view.
* vk_stream_buffer: Add debug object names
Names the buffer and its device memory based on its size and type.
* vk_swapchain: Set swapchain handle debug names
Identifies the swapchain images themselves as well as the semaphores
* vk_present_window: Set handle debug names
* vk_resource_pool: Set debug handle names
* vk_blit_helper: Set debug handle names
* vk_platform: Use `VulkanHandleType` concept
Use a new `concept`-type rather than `enable_if`-patterns to restrict
this function to Vulkan handle-types only.
* android: Rework Emulation Activity's UI
- New in-game menu
- Ability to open games from file manager
- New shader loading UI
- Fixes an issue where the system bars would stay visible during emulation
* android: Port yuzu's foreground service logic
Fixes an issue where the foreground service notification would be stuck with no way to dismiss it
This fixes a compile-error with gcc I was getting from
`LOG_TRACE`(`error: ‘LOG_TRACE’ was not declared in this scope`) and
`u32`(`error: ‘u32’ was not declared in this scope`) being used without
their header-files being included.
Not sure how `romfs_reader.cpp` is even compiling when nothing in its
include-tree is refers to those macros.
For each draw, Citra will rebind all descriptor set slots and may redundantly re-bind descriptor-sets that were already bound. Instead it should only bind the descriptor-sets that have either changed or have had their buffer-offsets changed. This also allows entire calls to `vkCmdBindDescriptorSets` to be removed in the case that nothing has changed between draw calls.