Avoid the validation warning when creating the streamout ring buffer on devices without VK_EXT_transform_feedback.
Warning: vkCreateBuffer(): pCreateInfo->usage has VkBufferUsageFlagBits values (VK_BUFFER_USAGE_TRANSFER_SRC_BIT|VK_BUFFER_USAGE_STORAGE_BUFFER_BIT|VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT) that requires the extensions VK_EXT_transform_feedback.
I made the download URL button work the same as the regular download community buttons did. Also styled it a bit differently to make it less prominent.
This is a first pass for now, more work is needed mostly for UI polish.
Changes in this commit:
- Debugger now exposes a thread-safe API. Previously everything would just access internal debugger state directly without regard for race conditions
- Reworked stepping logic to be more reliable. For example previously Cemu could get forever stuck in the middle of stepping to the next instruction
- Support for debugging while using multi-threaded CPU emulation. Originally the debugger was added when only single core support existed in Cemu. It was possible to debug multi-threaded before but it was very very prone to state corruptions.
- Debugger should now remember breakpoints correctly across sessions
On Linux/mesa, when compiling a big shader cache like BOTW this saves about 8.2 GiB of RAM usage
(only when ~/.cache/mesa_shader_cache and precompiled/_gl.bin cache is also fresh)
fixes crash when passing an invalid path with the "-g" launch option
the algorithm would recurse up the tree infinitely looking for blank parent directories
probably fixes more things
Also revert PCH reuse for everything but MSVC. Other compilers/platforms have limitations that make reused PCH a bit too fragile. I got it to work but only after forcing certain flags globally (like -pthread) and I dont think its a good idea to do that