* Safety checks in all SFO readings
* SaveData: log backup error and continue & fix possible concurrent file editing
* SaveData: Fix issue with old firmwares
* video_core: texture: image subresources state tracking
* shader_recompiler: use one binding if the same image is read and written
* video_core: added rebinding of changed textures after overlap resolve
* don't use pointers; slight `FindTexture` refactoring
* video_core: buffer_cache: don't copy over the image size
* redundant barriers removed; fixes
* regression fixes
* texture_cache: 3d texture layers count fixup
* shader_recompiler: support for partially bound cubemaps
* added support for cubemap arrays
* don't bind unused color buffers
* fixed depth promotion to do not use stencil
* doors
* bonfire lit
* cubemap array index calculation
* final touches
* save_data: Fix save data list back button.
* common: Add more null checks in CString.
Co-authored-by: Vinicius Rangel <me@viniciusrangel.dev>
---------
Co-authored-by: Vinicius Rangel <me@viniciusrangel.dev>
* core: Rewrite PSF parser & add encoder
add .sfo hex pattern to /scripts
* core/fs: allow to mount path as read-only
* common: Add CString wrapper to handle native null-terminated strings
* SaveData: rewrite to implement full functionality
* mock value for SYSTEM_VER
* SavaData: backup features
* SavaData: SaveDataMemory features
* imgui Ref-counted textures
- has a background thread to decode textures
* imgui: rework gamepad navigation
* PSF: fixed psf not using enum class for PSFEntryFmt (was a standard old ugly enum)
- Add null check to CString when itself is used in a nullable field
* SaveDataDialog implementation
- Fix Mounting/Unmounting check of SaveInstance
* ci: Add ccache with ninja generator for Windows builds
- Credits to @Artalus
* ci: Don't include d3d and dxc compiler DLLs
* ci: Simplify cache steps names and key names
- Windows builds will no longer cause issues when merging
* CI trigger
* cpu_patches: Patch just-in-time using illegal instruction handler.
* core: Add common signal dispatch system and use for on-demand TCB patches.
* page_manager: Re-add userfaultfd implementation.
* graphics_pipeline: More proper masking
* pipeline_cache: Skip setting depth/stencil fields when test is disabled
* pipeline_cache: More fixes to depth stencil state
* vk_rasterizer: Use dynamic state for depth bounds and bias
* pipeline_cache: Missed depth bias enable
* vk_rasterizer: Add stencil dynamic states
* thread: Reduce spammy log
* Remove some leftover state
* pipeline_cache: Allocate pipelines from pools
* vk_graphics_pipeline: Remove bindings member
Saves about 1KB from each pipeline