Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: rpcs3 | Distribution: openSUSE Tumbleweed |
Version: 0.0.34~git20250128 | Vendor: openSUSE |
Release: 1.1 | Build date: Thu Jan 30 15:37:28 2025 |
Group: Unspecified | Build host: reproducible |
Size: 38407865 | Source RPM: rpcs3-0.0.34~git20250128-1.1.src.rpm |
Packager: https://bugs.opensuse.org | |
Url: https://rpcs3.net | |
Summary: PS3 emulator/debugger |
An open-source PlayStation 3 emulator/debugger written in C++.
GPL-2.0-only
* Thu Jan 30 2025 Hunter Wardlaw <wardlawhunter@gmail.com> - BuildRequire cmake >= 3.16.9: BUILDING.md documents cmake 3.28.0+ as the requirement, but CMakeLists.txt shows 3.16.9. * Wed Jan 29 2025 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20250128: * Fix Savestates recent regression * PPU LLVM: Fix HLE patches * Update LLVM to 18.1.8 * Fix some warnings * Fix segfault on missing firmware * Qt: Fix Recent savestate path * Qt: Add path to recent game/savestate tooltip * Qt: fix recent savestate shortcuts * Qt: Fix recent savestates menu settings * Disable ARM trampolines * Protect RPCS3 from built-in PS2 emulator * Fix Emulator::IsPaused() to allow measurements during module compilation * PPU LLVM: Reduce size of JIT-transition treampolines to 16 * JITASM.cpp: add assert for code building * JIT.h: Add option for lowered function size * JIT.h: Use kOptimizeForSize * LLVM: Add explicit resource-freeing at emulation stop * PPU LLVM: Disable an experimental limit * PPU LLVM: Simplify module progress * PPU Analyzer: Report invalid functions * PPU Analyzer: Clean addr_heap from non-relocations (PRX) * PPU Analyzer: Move ppu_function::callers to lower sizeof(ppu_function) * PPU Analyzer: Remove ppu_function::calls to lower sizeof(ppu_function) * PPU Analyzer: Use std::map::extract to reduce peak memory consumption * PPU Analyzer: Remove ppu_function::name to lower sizeof(ppu_function) * Remove ppu_attr::known_addr * LLVM: Slice PPU executable memory * Thread.cpp: Report VM addresses on VM segfault * LLVM: Install error reporting handler * Qt: Fix device notification registration segfault * sys_usbd: Fix emulated devices not being created without a physical device (#16608) * Qt: add savestate manager dialog * libusb: support hotplug (#16580) * Qt: Add Recent savestates menu * Log LLVM version * cellGem: update gun handler connection periodically * cellPad: Send disconnection notification when swapping device class * cellGem: Move the cursor out of the screen (Time Crisis 4 needs this) * cellGem: Set 255 as value for analog_t * cellGem: mark device as not visible at the screen borders * Qt/input: reset gui pad thread when saving pad settings * Wed Jan 22 2025 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20250122: * cellCamera: move attach event to thread * cellGem: move some locks around wait loops * sys_event: remove unnecessary copy * cellCamera: close Qt camera on error (e.g. when usb is pulled) * cellGem: ignore missing pad handler * cellGem: Fix camera image when loading savestates * cellCamera: start camera when loading savestates * cellGem: improve convert_image_format logging * Decrease log level of config file move error * Tue Jan 21 2025 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20250121: * input: add vibration multiplier * Update minimum pugixml version to 1.15 * Mon Jan 20 2025 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20250119: * rsx: Fix texcoord transformation bug caused by incorrect BFE usage * vk: Use common pipeline layout in interpreter * vk: Factor out common pipeline layout generator into reusable parts * sys_prx: implement get_module_id_by_name, module_info_v2 (#16573) * windows: Ignore OneDrive in PATH. It leads to false positives * windows: move logs to log dir * windows: move config.yml and games.yml to /config/ * input: issue basic mouse move event on window leave * rsx: Fix shader cache loading * vk: Fix out-of-bounds write when emitting MSAA unresolve clear command for NVIDIA fallback * rsx/shaders: Fix MSAA coords wrapping when input is negative * rsx: Fix dynamic constants patching when draw call is skipped * rsx: Improved shader interpreter support when hw instancing is active * windows: check for OneDrive paths * Use string_view in rXml * Update pugixml to 1.15 * Update libpng to 1.6.45 * Qt/input: allow keypresses in raw mouse handler * cellAtracXdec: use lv2 mutexes + conds * cellGem: ignore intercepted input * input: simplify raw mouse button press handling * Qt/input: fix raw mouse button assignment * cellGem: fix initial tracker done state * cellGem: Use wait_on, fix fake/mouse move tracker wait * cellGem: Use atomic wait instead of wait_for * cellGem: Update controllers at 10 Hz in separate thread * Fri Jan 10 2025 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20250110: * rsx/shaders: Track active MRT count per shader * rsx: Default initialize vertex program fields * rsx/fp: Re-design register write tracking * rsx: Don't crash when invalid buffer is allocated for a shader * Qt: add mouse config legend to mouse move dialog * Qt/Input: use empty string for pad_button_max_enum * Fix self assignment warning * ps move: allow to configure mouse move handler buttons * input: Allow mapping keys to basic mouse buttons * cellGem: Add more camera image conversions * Fix some warnings * fake move: add gyro support * Mon Jan 06 2025 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20250107: * Decrease mouse move assignment distance * PPU LLVM: Fixup patches enlisting in analyzer * Minor cleanup (#16519) * PPU LLVM: Function table dependent resolver hashing * Mon Jan 06 2025 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20250106: * Do not re-use the old game window if the renderer changed * move error_report to ErrorCodes.cpp * Disable continuous mode if a savestate is not possible * Keep game window open when loading the last savestate * Clean up old game window in case of unexpected errors * Show message while creating savestate in continuous mode * RSX/Qt: Reuse gs_frame if possible * cheats: add float32 gui support * cmake: fix wolfssl * cmake: remove "--no-quick" from windeployqt * Thread.h: Fix a bug by adding thread_state::destroying_context * Fix sys_config_unregister_service * vk: Support panvk, allow creating device without textureCompressionBC * vk: Add driver vendor PANVK (Mali GPU on Mesa) * patches: create patch path on update * Qt: delete settings_dialog * Qt: delete batch progress dialog after user closed it (as originally intended) * Qt: fix batch compilation after a game was already running * Qt: stop batch compilation immediately on cancel * Fix IDM image serialization * Fri Jan 03 2025 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20250103: * Qt: workaround for crash in long accepted slot * VS: Fix compilation with new wolfssl version * Update xxHash to 0.8.3 * Update Wolfssl to 5.7.6 * Update FAudio to 25.01 * Update SDL to 2.30.11 * sys_time.cpp: Anti TSC measures * MacOS: fix for crash in SDL_Quit w/ gamepad input * Audio: Add mute/unmute and volume shortcuts * qt6: QT_MIN_VER should be 6.7 because of QCheckBox::checkStateChanged * overlays: add trophy list dialog * rsx: Flush MM queue before memory is unmapped * Fix types 2 * Use corresponding SI/IEC units * Fix types * Report filesizes on macOS as decimal multiples * SPU: Operating system LR memory signals * rsx: Properly track changes in instancing state * rsx: Test vertex program flags on each draw * Cosmetic improvements * rsx: Do not use global registers object in logical "firmware" units * rsx: Handle dangling execution barriers * rsx: Fix rare crash in vertex program decompiler * rsx: Fix instancing bug when indexed addressing is used to read constants * vk: Add support for hardware instanced draws * rsx: Fix vertex program compiler crash * rsx: Move more functions from rsx thread to the draw command processor * rsx: Move draw call related functions to their own class * rsx: Add GLSL support for instanced rendering * rsx: Add code to detect instanced draw commands * Revert "rsx/vk: Implement hardware instancing (#16466)" * rsx/vk: Implement hardware instancing (#16466) * Fix atomic_ptr value constructing overloads (#16473) * CELL: Fix reservation notifications * VS: add some missing files to solution filters * Windows: log command line args in utf8 * Add empty hdd tmp to UI (#16462) * MacOS: silence some warnings * Simplify some ternaries * VS: Add sysinfo_darwin.mm to filters * fix some warning * Qt: Add Operating system category * shared_ptr.hpp: Rewrite shared_ptr to single_ptr conversion * serialzation.hpp: Fix add_padding * Fixup lv2_socket * vk: Wrap device fault handler in SEH2 * vk: Selectively enable extended device fault features in logical device creation step * vk: Minor improvements to extended fault output * vk: Properly initialize device fault counts structure * vk: Fix device fault extension loading * vk: Add support for spec-compliant query scopes * vk: Workaround for older SDK header versions * vk: Register honeykrisp as known driver in RTT quirks check * vk: Fix build * vk: Add basic support for honeykrisp driver * vk: Remove unnecessary workaround for older SDK versions * vk: Add support for extended device fault information * Fix Emulator::Pause() segfault * Add some FXO init checks * StrFmt.cpp: Make function printing shorter * Fixup GDB * Remove lv2_socket_native destructor * Thread.h: Add a few noexcept * sys_config: Move cleanup to IDM abort * util/shared_ptr.hpp: STX pointers library fixes * Fixup sys_process * Mon Dec 23 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20241223: * Fix fs::file log formatting * Qt: allow to skip further automatic update notifications for a single version * IDM: Implement lock-free smart pointers (#16403) * SPU LLVM: Recognize ROTYQBYI and ROTQBI rotation pattern (#16409) * Sat Dec 21 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20241221: * ps move: ignore second half frame in ZCM1 * cellGem: add magnetometer support * cellGem: request orientation reset during calibration * cellGem: fix some data types * cellGem: invalidate hue and tracking in cellGemInvalidateCalibration * cellGem: split status_flags into calibration flags and runtime flags * cellGem: implement cellGemSetRumble * cellGem: add setting to let the game actually set the device hues * cellGem: set sphere RGB when a hue is set and vice versa * cellGem: add debug setting for painting spheres into the live image * cellGem: fix some data types * Fix some warnings * cellPhotoDecode: allow dev_bdvd paths * cellGem: Split horizontal and vertical mouse rotation cone setting * Qt: fix settings_dialog opening on wrong tab * Qt: fix flow_layout segfault * cellAdec implementation part 2: LPCM decoder (#16381) * cellGem: expose rotation cone to settings * cellCamera: try to fix internal state on stop * Update SDL to 2.30.10 * Update curl to 8.11.1 * Update 7zip to 24.09 * Update OpenAL to 1.24.1 * Update FAudio to 24.12 * Fix some static analysis warnings * Fix warning * Tue Dec 17 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20241217: * Fix unused p2p socket closing * rsx: Improve MM synchronization * rsx: Revert bounds optimization on RO texture load * rsx: Improve performance even more when async MM is active * rsx: Restore previous (incorrect) low-precision format handling * rsx/qt: Add option to disable async host MM to GUI * Fix linux build * rsx: Fix texture renormalization flag and fix windows build * rsx: Fix OpenGL deadlock * rsx: Make the deferred mm flush option usable with OpenGL * rsx/vk: Implement asynchronous host memory management. * Fixup Intel macOS builds * Revert Qt to 6.7.3 for macOS * Fri Dec 13 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20241213: * cellGem: Improve mouse handler orientation * PS Move: fix calibration logging * PS Move: Disable Fusion gain (no more drift) * move tracker: ignore sporadic shape and position changes * move tracker: ignore sporadic invalid results * cellGem: lock tracker mutex in get_info * Qt 6.8.1 * cellGem: implement quaternion transformation * cellGem: try to map accelerometer and gyro * sys_rsx_context_attribute: Improve errors * Mon Dec 09 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20241207: * Welcome Dialog: Reject users that reject our TOS * fix dark theme switching on initial welcome dialog (#16373) * PRX: Do not check exported function code address * PPU: Notify SPUs while waiting for its own state * CELL: Rewrite reservation notification postponing * cellGem: fix HUE_NOT_SET * cellGem: calculate distance from sphere to camera * Debugger: Dump related thread information on crash * System.cpp: Do not hold on fs::dir handle * fs: Minor fix of fs::dir::open * Emu: Fixup * System.cpp: Fix Kill() on bad app startup * Add some asserts for g_fxo->init<> * System.cpp: Add system_state::loading * Fix Emulation boot recursion * Qt: Deprecate processEvents() part 2 * util/types.hpp: Rewrite narrow<> * Qt: Deprecate proccessEvents() usage * rsx: Use strict bounds testing when replacing memory via blit engine * rsx/texture-cache: Rework invalidation cause object to have more granular controls * rsx/util: Change the filter function to an in-place erase-if operation * Mon Dec 02 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.34~git20241123: * Migrate Savestates Home Menu (#16340) * LLVM: Implement Recursive Intrinsics * VS: add quotes around paths * cellDmuxPamf: add module + stubs * cellAdec: make AdecContext and AdecFrame trivial classes * Invalidate savestates * cellAdec: review + warning fixes * cellAdec implementation part 1: abstraction layer * Fix HLE PPU callback stack arguments * sys_net: Remove lingering ppu_to_awake from queue on timeout * Qt 6.8.0 * Fix some warnings * Qt: Use inplace image mirroring in video sink * Make error message for temporary and archive translatable (#16331) * lockless.h: Fox * lockless.h: Fixup addressing * lockless.h: Fixup lf_array assert * Progress: Dialog: Fixup memory management * Mon Nov 18 2024 Dominique Leuenberger <dimstar@opensuse.org> - BuildRequire llvm-devel >= 17: this is what is documented to be required according to BUILDING.md. - Change service definitions to 'manual' instead of 'localonly': localonly keep on running the service on every local build attempt. * Sun Nov 17 2024 i@guoyunhe.me - Change llvm-devel requires to llvm16-devel - Update to version 0.0.34~git20241116: * VS: ignore opencv debug build guard (fix debug build) * ci: Don't fetch opencv submodule unless on windows * gitignore cleanup * added missing -p option * fixed CI for building on windows * Improve and fix sln solution * More constexpr * Fix warning * Add opencv to cmake * Move opencv submodule to subdirectoty * Qt: show warning if ps move tracking is not supported * Update vm_native.cpp * Progress Dialog: Fix recursion and concurrency use of text updates * Implement lf_array::for_each * Utilities\lockless.h: Flatten recusrion in lf_array * Fix compilation * Add HAVE_OPENCV preprocessor flag * Windows: Add and deploy opencv files * cellGem: implement real ps move handler * util/vm_native.cpp: Fix memory leak * overlays: localize RPCS3 progress dialog * overlays: get localized values in home menu settings * Qt: Add std::string GetSettingOptions * overlays: add more overlay hint option to home menu settings * overlays: remove unnecessary text logging * overlays: add input debug overlay to home menu settings * overlays: translate home menu settings * fix: cannot copy OpenAl32.dll with CMake * Qt: Replace some instances of QMap, QPair and QList * Update curl to 8.11.0 * SPU: Fixup code comparison * Fixup std::vector to std::span * LV2: Fix thread notifications regression * SPU Analyzer: Fix programs code caching * Fix std::basic_string warnings (#16261) * Qt: Replace QMap with std::map * Fix sceNpScoreGetRankingByNpId when no score is registered * sys_usbd: Better Dimensions Move Handling * cellSaveData: Add autosave indicator (#15720) * Fixup Emulator::GetBackgroundPicturePath() * High-Resolution Game Background for loading * Update SDL to 2.30.9 * Update FAudio to 24.11 * Update wolfssl to 5.7.4 * SPU: Optimize cellSpurs reservations * Another attempt to fix fs::pending_file for hardlinks * Print last system error on fs::error::unknown * GUI: Fix welcome_dialog dereference * utils/atomic.hpp: Make atomic_op reject non-non-const lvalue * utils/atomic.cpp: Fixup utils::get_unique_tsc() * Fixup GCM unmap event sending * rpcs3_version: Bump to 0.0.34 * SPULLVMRecompiler: remove unnecessary bitcast * Fixup sys_event_port_send * Silence sys_ss_access_control_engine * RSX/GCM: Fix memory unmapping for HLE GCM * rsx/vm: Exclude events from VM mutex * Win32/File.cpp: Use ReplaceFile for hardlink overwrite * Fixup sys_event to check EBUSY only for PPU->PPU signals * Specify that you only need the qtmultimedia when using aqt * Add more info about Qt in BUILDING.md * sys_event: Implement EBUSY for disconnection * utils/sysinfo.cpp: Yield CPU time when measuring TSC freq * Filesystem/Win32: Recreate hardlinks on fs::pending_file * Fix get_system_time() * Replace rsx::uclock with get_system_time() * sys_event_flag_set: Minor improvement * fix deprecation warnings in Qt 6.8 * Don't log "always" messages in fatal_error_listener until enabled * sys_event_flag_set: Break atomic operation dependencies * Compilation hotfix * utils/sysinfo.cpp: New TSC calibration technique * RawSpu: Optimize START register/commands * utils: Make get_tsc_freq() inlined and non-blocking * get_system_time(): Add fast TSC-based path * asm: Fix utils::rational_mul optimization * Optimize get_system_time using 128 bit math * Implement u64_x_u64_=_u128 optimization * rsx: Fix crash when host labels option is disabled * Fix build and cleanup * gl: Silence compiler warnings * gl: Fix check_state compilation error * cmake: Update build files for GL DMA * gl: Finalize host labels implementation * Whitespace * rsx: Move the host job management into common code to share with GL * gl: Implement basic DMA layer using AMD_pinned_memory * Mon Oct 21 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.33~git20241017: * SPU: Reimplement SPURS limiter * Use system SDL by default since we don't properly support building with just builtin SDL * Switch to focal for aarch64, update Qt * Fix checkrt bundling and remove legacy deploy script * Fixed compilation with cmake on Windows (#16184) * 3rd Party: Bump MoltenVK to 1.2.11 (Vulkan SDK 1.3.296) (#16190) * Qt: Make sure that table columns and their actions have the same state after restoring the layout * Update build-mac.sh * sys_spu: Fix order of some checks * Fix sys_spu_thread_group_disconnect_event * Improve sys_spu_thread_initialize * Fix sys_vm_memory_map * input: use std::array for sticks, sensors and motors * input: fix segfault caused by lockless std::move of stick vector * macOS arm64 CI: Fix packages requiring curl, and fix Ventura (#16193) * Improve log file creation error message * Fix some narrowing warnings * Initialize some spu_thread members * sys_vm: Argument checking fixes * sys_memory: Fix argument size type * sys_spu: Fix SPU queue index type * sys_spu: Minor fixes * SPU: More SPURS limiter fixes * SPU: SPURS pause based average task order duration * SPU: Remove illegal SPURS setting value * SPU: Fix "Max SPURS Threads" performance * Mon Oct 07 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.33~git20241007: * SPURS limiter tweaks * Improve AMD cpu detection * overlays: add friends list to home menu * RPCN: add overlay messages on friend requests * Update FAudio to 24.10 * Update SDL to 2.30.8 * VS: Fix zstd debug lib * SPU LLVM: Compute frest exponent at runtime rather than using the lookup table * SPU LLVM: Add optimized path for spu_re_acc special cases * Fixes audio buffering on non-windows platforms * VS: Add new build scripts to filters * Remove unused SPIRV submodules * VS: fix debug builds * VS: Add buildfiles to filter * rsx: Verify that channel remap is initialized before applying swizzles * rsx: Clarify OGL and VK difference when handling border texels * rsx: Make use of remapped border colors * rsx: Implement texture border color decode to remapped rgba * rsx: Use a proper struct to wrap around channel remap operations * rsx/vs: Restructure filters into functional units * vk: Add support for explicit border colors * Wed Oct 02 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.33~git20241002: * Bump linux x64 docker to 1.7.1, Qt 6.7.3 * Do not link intel JIT events when compiling LLVM for ARM64 * Move x64 appimage builder to its own legacy script * Qt/Overlays: Add home menu shortcut to game window * linux/aarch64: Fix CI release upload * Typo fix * linux: Fix steam deck issues * Include compositor module in appimage for shell integrations * Enable artifact upload * Update building instructions for linux arm64 * Fix shellcheck * Add different suffix per architecture * Deploy aarch64 linux appimages * Fix deploy script * Fix aarch64 build script * aarch64: linux CI * Do not attempt to link in intel JIT events * overlays: Ignore 14 in anisotropic settings * Fix 120 fps frame limit * Use native theme on macOS, hide Dark Mode toggle * Fix scenp_score_record_score param check * Fix crash on VFS Tool (#16146) * Update azure-pipelines.yml * Qt: Try to fix classic stylesheet after Qt 6.7.3 update * SPURS Task limit hotfix (#16140) * Add some extra param handling for cellNetCtlGetInfo * Fix for clang 19 * Qt/shortcuts: add handler id to log messages * Qt: Try to improve default stylesheet after Qt 6.7.3 update * Qt: Enable game window shortcuts * Qt 6.7.3 * Fri Sep 27 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.33~git20240927: * SPU: Improve SPURS Task limit algorithm * Fake sceNpMatching2GetLobbyInfoList * MacOs/Arm64/Shortcuts: Add more plist entries * Shortcuts: Try to create shortcut link path if it doesn't exist * VS: add mac and linux hidapi files for improved input debugging * SPU: SPURS limit update * GUI: Add SPURS limit to home menu * SPU: Make SPURS limit a dynamic setting * Qt: Tiny improvements to Cam/Mic permissions * Qt: Simplify some string conversion bloat * aarch64: Correctly implement the null function trap * Brute-force Qt cache invalidation * Needed for qtimageformats changes to kick in * Download qtimageformats so that shortcut icons create successfully * Fix camera permission prompts * SPU: Fix callback leak * SPU: SPURS limiter algorithm update * SPU: Task-based SPURS limiter * Add AArch64 files to VS Project * Update curl to 8.10.1 * input: use static hid singleton for init and exit * Fix yet another warning * macOS arm64 CI (#16070) * spu: Do not apply a Max SPURS Threads limit to libSail * Debugger: Fix thread-selection and refactoring * cellMsgDialog: only abort dialogs that were actually spawned by cellMsgDialog * cellSaveData: improve logging for overlays * Improve logging during RPCS3 updates * Added reconciliation functions for game list file (games.yml) (#16061) * Updater API V3 (macOS only) (#16086) * Implement old matching API * SPU Analyzer Hotfix * cellAtracXdec: fix FFmpeg warning * Mon Sep 16 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.33~git20240914: * [TESTERS NEEDED] Improved contextual menu (#16038) * cellAtracXdec: review fixes * cellAtracXdec: set to HLE by default * cellAtracXdec implementation * cellAdec: add internal datatypes * Update curl to 8.10.0 * Update libpng to 1.6.44 * input: enable squircle settings in keyboard pad handler * SPU Analyzer: Fix dereferencing freed reference * rsx: Add 120fps and monitor refresh-rate frame limits * Update FFMPEG to properly rebased branch * Set cellSysutilAvcExtInitOptionParam to notice * cellSysutilAvc: fix cellSysutilAvcEnumPlayers error check * Fix some warning * sysinfo/arm64: Improve code around registry access and document the fields * ci: Fix clang linux failure * windows/arm64: Implement fallback OS version detection * build: Disable fixed base for windows-on-arm * Fix compilation warning * Fix GCC compilation for windows * SPU Analyser: Fix source termination of starting block * ffmpeg: Update submodule, supports linux arm64 * Fix arm64 RPCS3 being reported by macOS as an iOS app * Debugger: Non-blocking thread list refresh * cellSysutilAvcExt: add some param checks * cellSysutilAvcExt: fix some params and size of long (the disassembly makes zero sense with s64) * cellSysutilAvc: add param checks * Stub cellSysutilAvc * Update FAudio to 24.09 * cellPad: Remove obsolete comment * cellPad: draw debug overlay for basic input debugging of port 0 * cellPad: scale emulated skateboard IR input down * Qt: Force reset of debugger when a different game is running * Qt: Don't start the debug update timer in the constructor * Add support for SHRED dongle * c++-ify empty return * cpu: Format additions to sse2neon to match the rest of the file * aarch64: Fix compilation for windows-on-arm * patch_manager: set config_key_role to current key after handle_item_selected * cellMic: add 16-bit PCM to 32-bit float conversion for DSP stream (#16030) * Tue Sep 03 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.33~git20240903: * Update SDL to 2.30.7 * Qt: ignore double clicks unless they are left clicks * rpcs3_version: Bump to 0.0.33 * BUILDING: Bump gcc/clang versions to the ones used in rpcs3-docker * gcc: 11 -> 13 * clang: 12 -> 17 * BUILDING: Add qt6-svg for archlinux systems * aarch64: Support calloc patch blocks * Block parallel JIT allocation on macos * Fix overlapping addresses returned by mmap * Restore comment * Allow overcommit on macos * rsx: Silence compiler warnings * Fix GL stencil tracking * Mon Aug 26 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.32~git20240827: * Vk/Gl/Overlays: Do not blend the alpha channel when rendering overlays * RSX: Fix RSX Captures * Mon Aug 26 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.32~git20240826: * Qt: check microphone permissions * Qt: ask for camera permissions * Qt: sync gui settings by default after setting or removing values * Fix crash in JIT when compiling LLVM blocks * macos - Fix crash when running native arm64 LLVM * Use sysctlbyname * Implement basic system info detection on macos using sysctl * SPU: Remove condition from GETLLAR spin detection * Handle WSAENETRESET error * macos - Fix crash executing resolver * aarch64 - Support for apple exceptions * Add proper transform pass management * Minor fixes * Fix v3dv workaround * Fix aarch64 compilation on macOS * aarch64 - Decode CPU brand information * Debugger: Pointer comparison bugfix * vk: Only allow unsupported textureCompressionBC for v3dv * vk: Add driver vendor V3DV (Broadcom on Mesa) * vk: Support v3dv, allow creating device without textureCompressionBC * spu: Workaround GCC 14.1 compiler bug * config: Set minimum allowed resolution scale to 25% * cmake: fix EGL and add USE_SYSTEM_CURL * Formatting * Rework aarch64 signal handling * Debugger/SPU: Implement SPU Disassembler * SPU: Improve some logging * Improve "write" instruction detection. * Fix hang when compiling leaf blocks * Fix compiler warnings about unused args for aarch64 * Use return-oriented trap approach * Move to a assembler wrapper for injected asm to better handle dependencies * Refactor aarch64 JIT code * Qt/input: Don't report two direction trigger values unless actually requested * Input: Abbreviate some variable names and add min output interval * input: log send_output_report hid error * SPU: Reduce some logging * Implement thread_ctrl::wait_until() * Qt: fix pad settings latency * SPU: Disable transfer locking for RSX addresses * SPU: Unlock RSX list transfers * Debugger/PPU: Minor bugfix in CR register dump * Qt/patches: don't allow duplicate app versions * Qt/patches: fix multi app version entry in patch creator * Qt/patches: check if app version is 5 characters long and like 01.00 * Qt/patches: check if serial is 9 characters long and alphanumeric * patches: use more std::move * Qt/patches: Use YAML emitter to escape characters * Qt/patches: allow to select text with the mouse * evdev: don't warn on disabled motion device * Qt: vfs tool dialog * Update 7zip to 24.08 * Qt/patches: delete message boxes on close * patches: improve error logging: add file paths to all errors * Qt/patches: use show instead of exec * Qt/patches: improve value validation * Qt/patches: uze const ref for YAML::Node params * sceNp: Silence a few functions * CELL: Remove performance hack for reservation * CELL: New reservation notifications mechanism * Fix sys_io thread deadlock * keyboard: only map single buttons * Remove unused using declaration * xinput: allow to map triggers as positive or negative * rsx: Fix crash when CPU blit is enabled * aarch64/llvm: Handle processing of leaf nodes * Fix vm::reservation_update * SPU: Fix "SPU Accurate Reservations" off * Qt/input: add shortcut for toggling emulated mouse and keyboard * Fix overflow warning * Qt: refactor pad preview updates to reduce duplicate code * Fix OpenGL behavior under wayland-egl * Enable users to reject friend requests * SPU LLVM: Enable PUTLLC16 if accurate reservations is off * Do not add usage stats for unused SPU programs * SPU: Fix bug in GETLLAR * Sun Aug 11 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.32~git20240810: * Enable user to change country code (#15884) * input: add analog limiter * evdev: simplify get_next_button_press * mmjoy: simplify get_next_button_press * Qt/input: make touch_threshold a member * Qt/input: clear min_button_values if we want to get the blacklist * Qt/input: ignore button press values unless they increase * Qt/input: move preview_values into callback * rsx: Fix fragment constants decoding for non-x86 platforms * Fri Aug 09 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.32~git20240808: * cellGem: Only allow each button to be used for one action unless it's the combo button. * input: ignore mouse handler events until initialized * Input: fix initial mouse config reload * input: log all config file content if used * Class "llvm:StringRef" has no member 'Startswith' (#15898) * PINE: Fix socket naming for Mac and Linux to match protocol specification (#15906) * Address review comments * Do not include arm sources by default * Clear hv context * Fix SPU compilation * Initial SPU bringup * Improve comments * Fix dependency injection on terminators * Bump scratch to 8k * Finalize PPU migration to the frame pass system * Complete PPU support * Migrate PPU to post-process execution model * jit: Add aarch64 JIT backend for pre-codegen transforms * Silence compiler noise on non-x86 architectures * Initial PPU LLVM implementation for aarch64 * Thu Aug 08 2024 Hunter Wardlaw <wardlawhunter@gmail.com> - Update to version 0.0.32~git20240807: * cellMic: skip alcCaptureSamples loop if num_samples is 0 * cellMic: only allocate temp_buf if needed * cellMic: free temp_buf if on mic close * cellMic: do not copy samples to intermediate buffer unless necessary * cellMic: only call get_data once * cellMic: simplify BE translation loop * cellMic: make bit_resolution and channel_size constexpr * cellMic: remove duplicate code and add size checks * cellMic: check device ptr and log openal error codes * sys_usbd: Default replies for Dimensions Color Commands * cellMic: fix type conversion warning * MSVC: Fix openal import warnings * SPU LLVM: Revert store postponing restrictrictions * Dimensions: default init figures * Early out instead of scope * Dimensions: try to fix out of bounds array access * Dimensions improve locks (maybe) * Dimensions: make some functions static * Case-insensitive path compare for module verifier (#15889) * Qt/trophies: allow to delete a game's trophy directory * Qt/savedata: remove call with unreachable case * Improved wayland support * Improve AMD CPU detection * Return zen4 for zen5+ until LLVM upgrade * Improve intel and apple detection * Add fallback CPU detection when llvm is not aware of the CPU model * change PSMove mouse button bindings (#15860) * Update MSVC redistributable URL * Run platform sanity checks after creating the log and log windows path * cellMic: Handle value 0 on CELLMIC_DEVATTR_CHANVOL * cellMic: Fix CELLMIC_DEVATTR_CHANVOL handling * Update SDL to 2.30.6 * Update FAudio to 24.08 * Update curl to 8.9.1 * types.hpp: Format C arrays too for assert errors * gl: Fix hang on windows * Video Encode: do not set the frame_number * Fix ffmpeg deprecation warnings * types.hpp: Add argument formatter to assert errors * gl: Fixes for asahi linux * Fix unused function warning * Remove unused variable * Fix std::move warning * Silence deprecation warnings on MacOs * raw_mouse: Fix button map out of bounds access * DS4/DualSense/SDL: add touchpad support * sys_usbd: Allow 'Moving' figure to same slot on Dimensions Toypad (#15850) * sys_fs: Non-existant overflow bugfix * Add SPU usage for program dump * reduce logging * PPU: Fix potential overflow * cellMic: Fix potential overflow * Remove welcome dialog shortcut * cellMic: Wake up upon registering emulated SingStar microphone * vk: Fix VEGA float16 workaround * Paint icons into rpcn status circles * Add missing QPainter::end calls * Fix some msvc warnings * Qt: Fix resolution dropdown if resolution flags of game are empty * input: reload gui settings when the visibility or the active window changes * input: log used pad config * sceNp: Fix sending partial results from sceNpScoreRecordGameData * Improve dimensions dialog layout * Disable stereo render combobox if other resolutions than 720p are selected * Rename resolutions to better convey irrelevance of aspect ratio * Fixed compilation * Bump mvk to 1.2.10 * Bump mvk to 1.2.10 in build script * Fix MSVC filters * Fix some warnings * USB: Replace if/else with switch * USB: Top Shot Fearmaster device emulation * USB: Top Shot Elite device emulation * USB: Move uDraw GameTablet config from IO to Pads * sys_usbd: Emulate Dimensions Toypad * Savestates/PPU: Ensure correct PPU state on MMIO * SPU: Utilize Operating System sleep in detected RCHCNT loop * sceNp: Improve SceNpCommunicationId logging * Do not set the data size in sceNpBasicGetEvent for SCE_NP_BASIC_EVENT_OFFLINE * Remove Alipay link from FUNDING.yml * Support old sceNpScoreRankData * improve CMake files * Update FAudio to 24.07 * Update Wolfssl to 5.7.2 * Update SDL to 2.30.5 * cellGem: fix camera format conversions * Qt: Fix camera id and format when default is selected * Qt: Fix camera string comparison in settings_dialog * Fixup compilation * SPU: Make users tell what games matter for channel pattern * Disable PUTLLC16 again * Progress Dialog: Stabilize remaining time * SPU Analyzer: Make register state evaluation shorter * [WIP] SPU: Channel Loop Pattern Detection * USB: GunCon3 updates * Pad: Simplify is_fake_pad logic * Improve error message when update cannot be installed due to version mismatch (#15773) * Fix some visual studio filters * Input/Overlays: show pressure intensity toggle hint * input: move player_id to pad struct * Qt: disable battery LED settings if the pad handler doesn't support it * Qt: fix player LED groupbox label * input: add battery LED flag and some getters * input: allow running pad thread without emulation * Camera: copy JPG and RGBA data if needed * Fixup and Improve CELL reservation notifications * revert pull request #15618 * input: implement HidDevice::close * cellGem: Implement cellGemEnableMagnetometer2 * VS: fix MouseHandler.cpp filter * Fix midi drum config loading * Fix some warnings * Simplify duplicate mouse handler init code * input: ignore raw mouse double click when used as move handler * CELL: More efficient reservation notificatins * Remove check_state() inside thread notifiatios * rsx: Fix codegen when depth-conversion is enabled * Fix weird new gcc namespace warning * Whitespace fix * rsx: Fix wrapped/clamped MSAA sampling behavior with dynamic flags * input: actually initialize midi drum notes and combos * cellCamera: improve error logging * input: allow dynamic change of midi drum config * input: allow dynamic change of mouse configs * SPU LLVM: Fix LSA masking for PUTLLC16, disable RTIME checks * Silence some cellGem logging * SPU Analyzer: Fix support for multi-block value merge * Update build script to MoltenVK 1.2.9 * Update MoltenVK * skylander_dialog: Fix Drill Sergeant's name * Fix warning: dangling pointer (construct string_view from temporary string) * Fix warning: std::move of const variables * input: Use same dualsense gyro values as linux kernel * input: invalidate ds4/dualsense calibration instead of disabling the controller * input: fix minimum turntable input * input: add missing lock to keyboard handler ReleaseAllKeys * input: fix ds3 gyro offset * Cut scenNpDrmIsAvailable sleep time by half * PPU: Fix access violation on logging * input: differentiate between left and right modifier keys * input: add missing control key to basic keyboard * Replace sys_io log channel with cell module log channels * Fix locale on linux * input: try to fix macOS SDL crash * Update SDL to 2.30.4 * Update 7zip to 24.07 * Savestates/Mouse: Fix Mouse handler use * SPU: Notify threads on RdEventStat properly * SPU: Cleanup GETLLAR * SPU LLVM: Avoid sinking stores out of non-loops * SPU: Better GETLLAR spin detection * SPU: Notify threads if data changed in RdEventStat * SPU: smart GETLLAR spin detection * Fix race in sys_net select and poll * LV2: Race condition fixup * LV2: Optimization for timeout * Minor fix of sys_lwmutex_destroy * Fix sys_lwmutex_lock for SYS_SYNC_RETRY * input: move pad_state_notify_state_change to pad_thread * vm_ptr: return nullptr and add some nullptr deref checks * rsx: Fix simple_array<T>::map * sceNp: fix print_get_roomdata_external_list_resp pointer checks * sceNpCommerce2: check sku_ids * sceNp: add some more rpcn array pointer checks * sceNp: add some more array pointer checks * sceNp: add array sanity checks to print functions * Qt: log error cause on shortcut icon creation * rsx: make some functions const * rsx: fix warnings and add missing default cases * Fix yet another warning * ds3: use input_report struct * Dualsense/DS4: Replace buffers with human readable structs * rsx: Avoid the complex remapper checks if the texture isn't in the XINT8 group * rsx: Do not apply texture remapping operations to "1" overrides. * rsx: Drop hard requirement for GL_EXT_shader_integer_mix * Annotations * rsx: Fix refactoring mess * rsx: Properly implement 8-bit signed renormalization for textures * Minor fs::file usage fixes * Game List: Add shortcut to open cache dir * SPU: Enable PUTLLC16 with RTIME checks * sys_ppu_thread: Fixed up sys_ppu_thread_join()'s check for detached threads * PPU Analyzer: Utilize exported functions * Ensure PPU Compilation Hint is refreshed * PPU LLVM: Implement OE for few instructions * PPU Debug: Dump decrypted PRX * PPU Analyzer: Fixes * SPU: Silence some warnings * Input: Implement anti deadzone * openal: add headers to msvc * cellGem: Fix raw mouse connection state * Fix some tooltips * SPU Analyzer: Fix BRA instruction targets * SPU LLVM: Ensure programs are written to disk irregardless of failure * SPU: Remove inaccurate GETLLAR option * SPU Analyzer: Minor PUTLLC16 bugfixes * Fix stb cmake build * Add stb submodule * Fix config_mouse.yml path on windows * Use openal-soft submodule and link statically * zstd: fix msvc ProjectName * Update FAudio to 24.06 * Update 7zip to 24.06 * OpenAL: Fix crash when loading certain audio devices * Cirrus: Update to FreeBSD 13.3 * USB: If a Santroller device is in use elsewhere, don't send it commands (#15655) * buffer_stream.hpp: Try to fix MacOS compilation * Unix/Savestates: Fix savestates destination * sys_net: properly return error in sendto * SPU LLVM: Disable PUTLLC16 temporarily * vk: Dump diagnostic messages if device creation fails * Sun Jun 16 2024 Fabian Vogt <fabian@ritter-vogt.de> - LLVM <= 18 is now supported * Thu May 30 2024 i@guoyunhe.me - Update to version 0.0.32~git20240530: * PPU Progress Hint: Show it as long as it needs * PPU Analyzer: Unuse per-instruction compilation on fallback * System.cpp: Fix crash on fatal error during Ready state * LLVM: Prevent crash on disk space shortage * LLVM: Fix nullptr deref when accessing broken cache files * SPU Debug: Fix crash on missing directory * SPU: Add block prefix to log if available * fix typo from PR 15636 * vk: Fix typo * vk: Add support for NVK driver * vk: Use std::set * vk: Don't always preserve the renderpass for all drivers when doing transform hot-patch * Overlays: allow ldd input even if len is 0 * cellKbCnvRawCode: don't use caps lock as shift lock unless we are using the qwertz or azerty layout * osk: use cell key code in CellOskDialogKeyMessage (:facepalm: we don't need the Qt code) * cellKb: Clarify cellKbCnvRawCode alphabet conversion * input: remove unused parameter * Add 7zip submodule * Remove 7z copy pasta repo * input: only unregister devices if there is no other handler registered * input: fix ingame raw mouse enumeration * input/qt: enumerate raw mouse devices once a seconds in the config dialog * qt: ignore right click to clear input config button if the button is disabled * input/qt: increase max raw mouse devices to 16 * input: implement raw mouse hot swap * input: add mutex for raw mice * input: only unregister raw mouse devices if they were registered * input: add all mice that were requested. only connect the ones that exist * input: add timer to raw mouse enumeration * input: move raw mouse register logic to own function * SPU LLVM: Implement PUTLLC16 for accurate RSX reservations * Update curl to 8.8.0 * SPU LLVM: Disable PUTLLC16 optimization on accurate RSX reservations * RSX/SPU: Import and improve RSX accurate reservations functionality * Savestates/SPU LLVM: Fix sinking store finally * input: fix now_connect in raw mouse handler * input/qt: Keep configured raw mouse device in list even if it is not connected * input/qt: fix out of bounds exception when using button ids in raw mouse config dialog * input: fix reading mouse buttons from guncon cfg * input: remove No Button string from raw mouse config * input/qt: allow to map mouse buttons in the guncon config * input/qt: let user choose raw mouse device * raw_mouse: fix out of bounds error * input: add horizontal mouse scroll/tilt to mouse handlers * input: move mouse handler code to cpp * Qt: use mouse input to map basic mouse buttons * implement mouse handler config * Add 2 more slots for Power Discs on Infinity Base * SPU Analyzer: Minor bugfix * SPU Analyzer: Implement loop analysis * SPU Analyzer: Improve value propagation * SPU LLVM: Avoid notifications in cellSync SPU functions * SPU LLVM: PUTLLC 16 Optimization * Replace src_loc with std::soource_location * Rename Suspsend to Anti-Cheat Savestates * StrFmt.h: Fix throw_exception log message * SPU Debug: Fix GUI thread halt on log massive messages * sys_tty: Reduce thread dump log spam * Reduce logging of some SPU debug data * rsx/vk: Derstroy shader workers on thread exit * Settings: Tell the user how to disable log limit * Improve match2 ctx context start * Improve CB accuracy for Avc2 * cellSysutil: Implement dispatcher callback unloading * Avoid repeating the -march flag * Fix GunCon3 encoding * memory_viewer_panel: use existing thread_class instead of extra enum * fix GunCon3 warnings * Fix some warnings * Replace get_thread_class with static cast for performance reasons * Fix spu_thread audit check * Add comment for thread_scheduler_mode::old to get_affinity_mask * CPUThread: remove m_class member due to bad ppu cache design * rsx: Initialize some uninitialized members * threads: replace magic number id_type with thread_class * overlays/input: allow ldd pad input * PAD: Fix ldd_data transfer * Add Skylander Dump File Types * USB: Add GunCon 3 config window * Consolidate input products in a single place * Add matching2 option handling * spullvm: fix compilation: reference to local binding 'b2' declared in enclosing function * fix size calculation in get_member_and_attrs * gl: Handle GCM_FORMAT_G8B8 readback compatibility check * CMake fixes * Savestates: Warn on invalid SPU save state * Savestates/SPU LLVM: Fix sinking stores * Log SPU access violation in always-level * Savestates: Multi-threaded compression, use ZSTD * Savestates: Fix SPU pause from access violation handler * Hide Game Window as soon as emulation closes * Progress Dialog: Extremely important text fix * sys_fs: Fix race in file stream API * rsx: Fix processing of deferred indexed draw parameter updates * Remove duplicated code for USB connection/disconnection * Remove the redundant config for GunCon3 * Hotplug support for emulated devices * Create a device class for GunCon3 which is ignored by cellPad * Rename is_fake_move to fit other devices * sys_net improvements (#15584) * vk: Perform the buffer update without splitting the renderpasses * vk: Allow barriers to optionally skip renderpass splitting * rsx: Initialize some vars * rsx: Use range intersection to speed up xform constants patching * rsx: Add a base class for vertex programs and implement range intersection for constant IDs * gl: Implement transform constants patching * gl: Memoize the bound range for a buffer * vk: Minor cleanup * vk: Whitespace fix * vk: Silence some warnings * rsx/vk: Implement batched transform constant updates * rsx: Provide a supplementary argument to the command barriers * rsx: Start splitting off some stuff into the graph backend class * vk: Fix a spec violation * vk: Implement dynamic transform constant updates * rsx: Implement deferred request size io buffer where we do not know the size beforehand. * rsx: Implement deferred transform constants load * cellPad: don't report fake move pads as connected * vfs_directory: try to fix compilation on gcc 14.1 * USB: Disconnect the virtual device only for TRANSFER_NO_DEVICE error * Update SDL to 2.30.3 * Update FAudio to 24.05 * Split normal sockets and p2p sockets handling v2 * Wed May 08 2024 i@guoyunhe.me - Update to version 0.0.32~git20240507: * Move cache dir code to utils * Adust vsh cache dir criteria * Qt: disable vsh removal options if vsh is running * Qt: allow to remove vsh cache in context menu * Qt: allow to batch remove vsh cache * VSH: move cache to /cache/vsh/ * merge qt_music_error_handler into qt_music_handler * merge qt_camera_error_handler into qt_camera_handler * Qt: replace m_progress_dialog_timer with setMinimumDuration * Qt: properly hide and show progress indicator * Qt: remove seemingly obsolete processEvents * Qt: Keep progress dialog alive to fix rare segfaults * Savestates: Fix avconf serialization * Savestates: Fixup file write * cellVideoOutGetDeviceInfo: Fix Interlace typo for 1080p * Rename enum values to be more precise * Hide interlaced resolutions from the settings dialog * cellVideoOut: support interlaced scan modes * Remove p from resolution strings. The Param.sfo doesn't specificy progressive/interlaced * Allow any 1080p selection if the game supports 1080p * sys: force resolution to 720p if the game does not support the configuration * Qt: Replace custom config resolution string logic with enum values * HLE: use original filename for media exports * Qt/Logs: Fixing spaces, optimize string to html conversion * Add SPRX booting option * Add logging of exported SPRX functions on dummy load * Logging fix * Avoid calling std::vector::data() if empty * Fix some warnings * Thread.cpp: Prevent repeatedly halting the debugger * llvm_calli fix * Win32: Fix deadlock on std::cerr usage * Savestates: Fix rare race * Fixup SPU Profiler * USB: Allow UsbPspCm passthrough * rpcs3_version: Bump to 0.0.32 * USB: Update GameTablet * USB: GunCon 3 emulation * USB: Update GameTablet * syscall: Register syscall 149 sys_time_get_system_time * Clamp spu_fi results * SPU LLVM: Remove wrong zero sign fixup * Camera: optimize some loops * cellRtc: review fixes * sys_time: review fixes * cellRtc: set to HLE by default * cellRtc: replace vm::check_addr() with sys_memory_get_page_attribute() * cellRtc: improvements * lv2: stub sys_time syscalls, add error code to sys_ss * Revert "Split normal sockets and p2p sockets handling" * input: use keyboard consumers to seperate cell and overlay logic * Logging improvements * PPU LLVM: Do not crash on linkage of garbage code * Split normal sockets and p2p sockets handling * rsx: optimize some loops * Compile AUDIT on release builds * simplify template code like std::invoke_result<T>::type * simplify template code like std::is_same<T>::value * Don't crash the game if only a LDD controller is present * Fix include on linux * Don't create perf map files in linux unless enabled * Move freopen to console.h * cellRtc: implement remaining parsers, improve formatters (#15451) * Update spurs_test.self * Warning cleanup * cellMusic * Sat Apr 20 2024 i@guoyunhe.me - Update to version 0.0.31~git20240420: * llvm: silence warning: dereferencing type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing] * cellSysutilAvc2MicRead: Fix some nonsensical nullptr deref warning * cellKb: fix missing slashes and brackets on japanese layout * cellKb: actually set the arrange member * Use unordered map to store keyboard keys * SPU Analyzer: Filter calls to calls * PPU Analyzer: Look for functions using callers (fallback) * PPU LLVM: Fix crash in Unity games * savestate_utils.cpp: Fixup a tiny bug * Qt: try to fix sound effects * overlays/osk: Don't use meta out key code in the osk overlay * fix some warnings and typos * cellSysutilAvc2: improve unload and some more stuff * uDraw emulation [3] * uDraw emulation [2] * Sort IO files * uDraw emulation * rsx: Make const explicitly unsigned * rsx: Improve ROP output rounding precision * Fix typo in System.cpp * Fix OVL patching * rsx: Fix intra-draw-call barrier queueing * Buzz update * Fix some msvc for loop warning * fix some warnings * Set a unique System Name * rsx: Fix vertex texture invalidation * rsx: Fix some broken latch checks * vk: Always initialize internal objects * Attempt at bundling wayland libraries * Savestates: Fixup * SPU: Add debug information when logging analyzer failures * Add SPU Profiler to GUI * CPUThread.cpp: Add reservation sampling * SPU: Fixup breakpoints * Savestates: serilialize avc2_settings * Savestates: Add save stage names * Progress Dialog: Force update every 20 seconds * savestate_utils.cpp: Fix out-of-range bug * Savestates: Make non-existing versions 0 * Default constructor for avc2_settings * Add missing newline * Update CMakelists.txt * Get reworked RSX to compile * rsx: Separate register context from RSX thread * fix CellSysutilAvc2InitParam * cellSysutilAvc2Load_shared: simplify max_video_windows check * cellSysutilAvc2Load_shared: re-arrange streaming_mode checks * cellSysutilAvc2Load_shared: review fixes * cellSysutilAvc2Load_shared: use utils::align for total_bitrate * cellSysutilAvc2Load_shared: fix compilation * Only send cellSysutilAvc2LoadAsync callback with CELL_SYSUTIL_AVC2_VOICE_CHAT * Fix callback_func check for CELL_SYSUTIL_AVC2_VIDEO_CHAT * move cellSysutilAvc2LoadAsync to cellSysutilAvc2Load * cellSysutilAvc2Load: param checks * Initialize CB in cellSysutilAvc2Load * SPU/Debugger: Use bitset for breakpoints * SPU: Use bitset to reduce memory for compiler instance * Logs: output always message level to debuggers * GUI/CLI: Add setting to attach command line (Win32) * PPU/reservations: send thread notification only if data changed * Handle R16G16B16X16_FLOAT * cellRtc: review + warning fixes * cellRtc: tick conversion improvements * Wed Apr 10 2024 i@guoyunhe.me - Update to version 0.0.31~git20240409: * SPU Analyzer: Do not terminate blocks on BRA * cellRtc: review fixes * cellRtc: remove wrong duplicate pos++ * cellRtc: implement Rfc3339 part of cellRtcParseDateTime * cellRtc: simplify some disassembly code * Remove git brew package from macOS CI script (#15407) * cellGame: add some more error checks * cellCamera: fix config from_string * lv2_socket: reset queue after move * cellGame: Enable disc insert/eject based on disc mount state * Update curl to 8.7.1 * Update soundtouch to 2.3.3 * Update SDL to 2.30.2 * Update FAudio to 20.04 * Fix typo in lv2_socket_native * Fix changelog size hack * Savestates/Network: Feign connection failure on startup * Fix updater message * Savestates/SPU: Fix MFC commands abort * SPU Debugger: Implement viewing block hash on request * SPU LLVM: Fix store elimination within common blocks * Replace some URLs * Updater: Add RPCS3's Patreon link to update dialog * PPU Loader: Fix unload of HLEd PRX modules * PPU LLVM: Fix leak of modules outside dev_flash/sys/internal * SPU LLVM: Postpone runtime worker threads init * PPU LLVM: Unify memory limit for PRX and Overlay files * PPU LLVM: Fix memory leak on precompilation * use the pass manager instead of the legacy one * Fri Mar 29 2024 i@guoyunhe.me - Update to version 0.0.31~git20240329: * Fix savestate reload functionality * Savestates/SPU: Partially publicize SPU-Compatible functionality * SaveStates: Add error messages on screen * rsx: Fix loading mid-draw call savestates * LV2: Silence logging of semaphore * PPU: Fix logging of sys_interrupt syscalls * LV2: Silence logging of mutex and cond syscalls * workaround Clang 18.1 crash * fix compiler warnings * main.cpp: remove outdated code for MSVC 19.27 * fix GCC warnings * cmake: fix MSVC build * llvm: update to 18 * rsx: Make overlay manager default lock-state exclusive * rsx: Fix race conditions on removals * rsx: Rewrite fragment shader invalidation test * rsx: Fix memory range invalidation * Fix audit crash in games where hash strategy is heavily used * audio: allow to choose channel layouts * Savestates/RSX: Save pending flip * PPU: Fixup savestate prio bit usage * util\serialization_ext.cpp: Fixup * Savestates: safe saving while cellSaveData is active * SPU LLVM: Fix Forwarding GPR stores savestate safety * Thread.cpp: Reduce logging * Savestates: Reduce logging * SPU LLVM: Add assert for MFC abort * Silence cellGemGetState * Fixup emulation stopping * vm: Fix writer lock leak * rsx: Move SPIRV stuff into common code * GL: fix segfault in GLGSRender::flip * Add Legacy plugin to Building.md * Remove Windows 7 reference * Qt 6.6.3 * Savestates/PPU: Fix PRX relocations * Savestates: Minor logging message * Fix shutting down emulation while save-stating * SPU: Make STOP a safe return instruction * Savestates: Make locking SPU threads more reasonable * PPU LLVM: Remove cast to constant * Savestates/SPU: Extend RCHCNT safe returns * Savestates: Save PPU running order * Silence logging of cellScreenShot * cellAudio: log backend channel count * Qt: Rename Navigation controller to PS Move Navigation * cellPad: simplify for loops * cellPad: move getters to where they are actually needed * cellMic: add nullptr check for data in cell_mic_read * Fix some warnings * Update miniupnpd to 2.3.6 * Update wolfssl to 5.7.0 * Mon Mar 25 2024 i@guoyunhe.me - Update to version 0.0.31~git20240325: * Savestates/SPU: Add RCHCNT as a safe return in compatiblity mode * Fix ppu_thread::serialize_common * Fixup Savestate Segfault * Fixup Savestate Progress * Reduce compression level to 8 for faster compression * util\serialization_ext.cpp: Fix queued data with no output * Fix NPD files decryption in decryption tool * GUI: Progress Dialog On Save State Creation * utils: Fix shared_ptr::store/exchange * Add logging for CallFromMainThread * PPU LLVM: Remove one external symbol resolve for BLR * PPU LLVM: Use symbol resolver function to resolve functions * PPU DisAsm: Fixup conditional indirect branches disasm * Enable WOLFSSL_ALT_CERT_CHAINS * Sat Mar 16 2024 i@guoyunhe.me - Added xpadneo recommends to support Xbox One/Series wireless controllers - Update to version 0.0.31~git20240314: * HLE: clear lower bits of Free Disk Space value * Qt: add search bar to save manager * Qt: replace refresh progress slot with timer * Fix sceNpScoreGetRankingByNpId * Qt: only connect refresh watcher signals once * Qt: remove redundant progress dialog code. This already happens in Refresh * appimage: Do not bundle libvulkan.so * VS: move libpng, libusb and hidapi lib output to proper build configiguration dir * VS: Fix libpng build configuration names * VS: fix linking XAudio in debug builds * VS: use MultiThreadedDebugDLL in debug builds * VS: use common RuntimeLibrary settings in 3rdparty * Cleanup and set -Werror=delete-non-virtual-dtor * rsx: Fix invalid iterator comparison (asserts on debug builds) * GL: fix debug build: creation of QOffscreenSurface sends signals from wrong thread * LV2: Longer thread creation delay for low prio threads * Qt: accept downloader progress dialog instead of closing it * Qt: make sure to actually delete the progress dialog when it is closed * Qt: make sure the gamelist refresh progress dialog runs on the main thread * Qt: replace sstr with regular toStdString * Qt: fix weird return value warning on VS * Qt: don't close the progress dialog if it is already being closed anyway * Qt: check for updates if the update message is empty * Qt: don't deleteLater the progress_dialog * SPU LLVM: More compilation threads * SPU LLVM: Notify workers prematurely if there is considerable excess * SPU LLVM: Postpone cache writes until compiled * SPU analyzer: Detect 'argument passing' block before the function * SPU: Include BRSL following code in is_exec_code() * SPU Analyzer: Detect more tail calls by examining called code * SPU: Detect invalid STOP codes (code mining) * SPU: Improve compilation message * SPU Analyser: Detect invalid relative branches * sys_tty: Try to avoid logging single newlines to log * rsx/cpu_thread: Fix cpu_thread::get_name() for RSX * report_fatal_error: Minor cleanup and improvement * init_mutex.hpp: More fixes * Update submodules * Increase vblank rate * macOS CI: Don't upgrade installed dependents * init_mutex.hpp: Fixup * cellGame: Fix PPU deadlocks on concurrent execution * rpcs3_version: Bump to 0.0.31 * Improve macOS < 14.3 Rosetta blocker message (#15258) * add Wii Harmonix instruments to whitelist * Fri Mar 01 2024 i@guoyunhe.me - Update to version 0.0.30~git20240301: * Update serialization.hpp * Update serialization.hpp * Update serialization.hpp * serialization.hpp: Fix HLE serilization * cellPamf implementation (#15143) * Fix for sceNpScoreGetGameData * Send initial presence for offline friends. * GL: remove unused params * Fix warnings: Remove unused decryption code * SPU LLVM: Improve runtime SPU compilation preferences (#15250) * Improve cellSysutilAvc2SetAttribute logging * Add check for score transactions being reused * Misc: Update FW Latest Version * xaudio2: use system library instead of xaudio2redist * Make clang happy * gl: Allow selecting FSR1 upscaling from the settings * gl: FSR1 cleanup, making it functional * gl: Always log the current renderer visibly. * rsx: Improve simple array performance for small objects * gl: Fix compilation * rsx: Implement FSR1 integration for OpenGL * gl: Rework the upscalers a bit and define the FSR interface * gl: Remove upscaling 'dst' binding and clean up some awful code in GLPresent * gl: Introduce the concept of scaling passes to the backend * rsx/vk: Refactor FSR integration to support multiple backends * Sun Feb 25 2024 i@guoyunhe.me - Update to version 0.0.30~git20240224: * Fix Apple Clang build * Block Rosetta on macOS 14.0, 14.1, and 14.2 (#15237) * improves sig_ctx handling, sys_net logging and fixes udpp2p protocol (#15235) * gui/input: only init and quit SDL once for all instances * gui/input; fix log message delta type * gui/input: include Carbon.h on apple * gui/input: let pad handlers know whether they are part of emulation * gui/input: implement pad navigation for maxOs * gui/input: use uinput for linux in gui_pad_thread * gui/input: add gui input with native events * sceNpBasicSendMessage fix * Fri Feb 23 2024 Dominique Leuenberger <dimstar@opensuse.org> - Use %autosetup macro. Allows to eliminate the usage of deprecated %patchN. * Wed Feb 21 2024 i@guoyunhe.me - Update to version 0.0.30~git20240220: * Qt: add Q_OBJECT macro to midi_creator * Qt: localize default pad names * vk: Move driver properties to properties section from features section * Qt 6.6.2 * PPU LLVM: Relax MSELF entry name constraints * SPU Analyzer: forgive invalid code, use interpreter * PPU LLVM: Do not use possible duplicates in MSELF * Add debug info to ENOMEMs * Fixup lv2_file::file_view::read() regression * Add debug info to sys_fs_lseek * PPU LLVM: Add more MSELF file checks * Fix lv2_file::file_view::size() * ELF.h: Avoid using seek operations * sys_prx/overlay: Add some debugging steps * raw_mouse: adjust relative mouse position if the window size changed * rsx/vk: Fix WCB/Blit flush deadlock * vk: Implement fast RSX release if there is no pending GPU work * Crypto\EDATA: Optimize decrypt_block to avoid an allocation * Fix lv2_file::file_view::read_at * EDATA: Add more logging * Add logging for cellFsSdataOpenByFd * Fix EDATADecrypter::ReadData * Savestates/sys_fs: Save NPDRM decryption key * Add <optional> to RB3MidiDrums.h * raw_mouse: center cursors on init * sys_usbd: silence warning * overlays: fix raw mouse debug overlay pos type * input: implement raw_mouse_handler * overlays: use signed short for position to allow negative positions * Add limited support for midi drums w/ rockband 3 (#15054) * Revert FM(a*re_accurate) shortcut to relaxed * Fixes full fm(a, re_accurate) pattern * Improve re_accurate * Disable updates for local build * vk: Silence compiler warning * Update skylander_dialog.cpp * overlays: localize sendmessage confirmation * Thread.cpp: Explicitly state difference type in thread_ctrl::wait_for_accurate * Fixup HW thread switch delay condition for performance * Improve cpu_flag::yield handling * PPU/LV2: Implement HW threads switching delay when signaling higher priority threads * vk: Don't panic on encountering the exotic mesa drivers * vk: Emit a strong warning if dozen is detected as the currently loaded driver. * vk: Make more features "optional" * vk: Improve driver detection for dozen and lavapipe * rsx: Lower some performance warnings to trace to reduce log spam * Buildfiles improvements * Stop including x86 intrinsics in other architectures * Don't include x64 options when building arm64 * Update CMake requirements in BUILDING.md * Fix linux build * vk: Improve compute->compute barrier before detiling * vk: Tighten some memory bounds checks * rsx/vk: Fix GPU tile encoding * rsx: Fix cpu detiler * rsx: Provide tile alignment utility (align to 64 * pitch blocks) * rsx/vk: Redefine the (de)tiler config interface * Avoid modifying any memory on SYS_NET_EINTR cases * Restrict file creation in /dev_hdd0 * SPU LLVM: Allow swapped FMA and multiplications args in match context * Update libpng to 1.6.42 * Add various SPU patterns * Accurate FI * Update submodules * Crypto/unedat.cpp: remove extract_all_data * Crypto/PKG installer: Fix potential RAM shortage when extracing EDAT files * Crypto/sys_fs: Fix potential RAM shortage in NPDRM decryption * Crypto/sys_fs: Remove some seek operations * Add sceNpPlus to registered modules * Mon Feb 05 2024 i@guoyunhe.me - Update to version 0.0.30~git20240205: * RPCN 1.1 * Sun Feb 04 2024 i@guoyunhe.me - Update to version 0.0.30~git20240203: * cellGem: Allow to use multiple controllers as fake PS-Move * sceNp: fix atomic type * sceNp: correct type for data attachment * sceNp: don't preserve messages in sceNpBasicRecvMessageAttachment * overlays: ask for user confirmation before sending an invite * sceNp: implement sceNpBasicAbortGui * sceNp: Implement sceNpBasicRecvMessageAttachment * np: fix signed/unsigned warning * overlays: add subject and body to recvmessage dialog * Review fixes * Add player history * Qt: Show NP ID in rpcn dialogs * rsx/glsl: use const for left/right * rsx/glsl: Fix typo * rsx: Improvements to the video out passes * gl: Vectorize GL_TEMP_IMAGE_SLOT expression * vk: Allow indexed lookup for sampler and IA binding points in overlay passes * glsl: use fragCoord to decide interlacing * glsl: use textureSize instead of height * glsl: use const in for params * glsl: move anaglpyh to separate functions * vk/gl: add amber-blue anaglyph (ColorCode 3D) * vk/gl: cleanup formatting in glsl, move some common magic numbers to variables * vk/gl: add interlaced 3D mode * vk/gl: add more anaglyph 3D modes * vk/gl: unite video_out_calibration_pass fragment shader to new glsl * gl: add missing else in calibration pass fragment shader * Add update_helper.sh to VS filters * overlays: clean up includes * sceNp: decrease some log levels from todo to warning * overlays: use timestamp for fade animations * Add UI to sceNpBasicSendMessageAttachment and sceNpBasicAddFriend * sceNp: silence some errors * scnNp: add ppu wait before opening blocking dialogs * sceNp: add more error checks * overlays: remove separators from send/recv dialogs * overlays: implement native sendmessage dialog * overlays: implement native recvmessage dialog * Name some threads * rsx: Allow native UI render even when we have pending draw calls if FIFO queue is empty. * Terminate RPCN connection cleanly * Don't search games when the dialog is cancelled * Fix sceNpCommerce2 init * sceNpCommerce: add init checks * sceNpCommerce2: add some error checks * Fix Apple clang * Arm version of trigger_write_page_fault * FreeBSD workaround for libusb * Return no file to TSS apis * Mini sceNpCommerce2Init fix * VFS: Fix some potential .back() segfaults * sys_usbd: add libusb log callback * Thu Jan 25 2024 i@guoyunhe.me - Update to version 0.0.30~git20240125: * Enable Discord presence on Linux * Add missing headers (#15075) * rpcs3qt: Add macOS support to the updater. * System: don't consider games as registered if they were already in games.yml * Asmjit FI * Accurate frest and frsqest * Qt: trim whitespace from textinput before writing to config * update submodules * rsx: Do not emit rounding code when not needed * rsx: Fix compiling of mixed-precision shaders * rsx: Aesthetic changes * rsx: Forcefully disable writes to channels disabled on host * rsx: More pipeine refactoring * fs: fix get_executable_dir * Emu: Add more info to BlockingCallFromMainThread * Qt: revert accidental settings_dialog check-in * cellImeJp: fix character deletion after change to cursor * cellImeJp: fix deadlock * cellImeJp: add candidate list functions * cellImeJp: add cursor * cellImeJp: fix focus area * cellImeJp: static functions to silence annoying VS * fs: fix warning. fix size argument in report_fatal_error * Savestates: Fix restart when suspend mode is off * Savestates: Dont patch memory on load * Savestates: Add some logging for sys_overlay * Simplify fatal dialog's error a bit * Savestates/net: fix P2P socket data saving * Firmware installer: Early protection against disk space shortage complications * sys_fs: Aggregate safe file reads (optimization) * progress dialog: minor fix * fixup hdd1 cache * Utilities: Add support for portable user directory. (#15064) * rsx: Properly propagate surface properties on surface reuse. * Mac: Update MoltenVk to 1.2.7 * Mac: silence deprecation warning * Replaces page fault triggers with assembly * sceNp: disable Canonicalize functions for RPCN * sceNpCommerce: more error checks * sceNpCommerce: add error constants * sceNpFriendlist: more checks * sceNpMatching: simplify linked list for loops * sceNpMatching: add error checks * split JIT.cpp and SPURecompiler.cpp * prepare split * add comments where to split * RPCN 1.0 (#15045) * fs: move buf from stack to heap to silence VS warning * fs: remove duplicate to_utf8 function * Qt: use fs::get_temp_dir during updates * Qt/input: show all mmjoy devices with connection in dropdown * Qt/Input: Keep configured device name in config when no pad is connected * input: implement dynamic mmjoy device reconnection * Misc NP fixes * Sat Jan 13 2024 i@guoyunhe.me - Update to version 0.0.30~git20240112: * media_utils: fix segfault when stopping a recording * cellFont: some stubs * Ensure HDD1 is never damaged or corrupted due to unexpected RPCS3/game termination * cellMouse: silence some log spam * audio_decoder: fix more memleaks and dangling files * cellMusicDecode: fix random pop at the end of a stream * cellSearch: fix vfs music and video paths * get_media_info: improve logging * audio_decoder: ignore first invalid data error * audio_decoder: improve logging * audio_decoder: properly free packets * audio_decoder: check for failed av_packet_alloc * overlays: decrease log level * cellVideoExport: export movies to /video/ instead of /movie * Windows: remove QtCore5Compat dependency * Update FAudio to 24.01 * sdl: log version * sys_ss: Corrected sys_ss_update_manager(0x6011) version data format * sys_fs: Improved get_device_root() path identifying security * sys_fs: Prevented duplicate device mounting * sys_fs: Fixed sys_fs_unlink()'s failing to delete files in dev_usbXXX * Honk if you knew memset(nullptr, 0, 0) was UB * Fix weird cmp in np_handler.cpp * Fix games passing invalid npids * sceNp: don't return error if assignedReqId is null * sceNp: add missing roomPassword check * sceNp: add missing withPassword check * sceNp: add missing check for roomSlotInfo * Misc NP fixes * Add -Werror=implicit-fallthrough to cmake build * Improve sceNpEula * Impl sceNpBasicSendMessage * Sun Jan 07 2024 i@guoyunhe.me - Update to version 0.0.30~git20240105: * Check room event callback has been set before calling it * Fix sceNpBasicSetPresence when data is nullptr and size is 0 * vk: Force GPU texture processing if the input is already GPU-resident (Tiled RCB read) * RPCN 0.9 (#15002) * gl: Implement display output format correction * vk: Implement display output format correction * rsx: Add an option to force hardware MSAA resolve * rpcs3_version: Bump to 0.0.30 * whitespace and format * cellSearch: mount paths in /dev_hdd0/.tmp/ instead of /,tmp/ * cellSearch: fix mounting of files * Improve Emulator::GetBdvdDir * Savestates: Experimental pads fix * Fix report_fatal_error duplicate messages * Fix PPU progress dialog hint * sys: fix games.yml hdd paths * Warn on use of privileged port on Linux * rsx: Fix RSX tiling when using optimized DMA views * macOS CI: downgrade ffmpeg (#14987) * cellPad LDD fixup * Qt: Add build version, title, emulation state and date to fatal error dialog * cellPad: Fix LDD pads registration * Savestates/vm: Improve saving performance * sys_spu: Fix warning and theoretical bug * Savestates: Fix g_fxo->init for types which use a pointer * PPUTranslator: Try to fix a regression * Utilities\BitField.h: Try to fix some warnings * Add more debug info in serial_breathe_and_tag() * Savestates: Rename DeferDeserialization, add some asserts * Fix a corner case in lv2_timer_thread abort * Simplify lv2_timer_thread management * Move initialize_timebased_time call to a safer spot * Fix pad_state_notify_state_change * Savestates/cellPad: Save old controller state * Compression: Fix infinite loop * Compression: Improve async compression performance * Savestates/TAR: Fix huge files handling in TAR serialization * SPU LLVM: Minor fixup * Update deploy-mac.sh - libjxl_cms.0.9.dylib * HOTFIX for atomic wait * fixes * fix some more warnings * Update wolfssl to v5.6.6 * rsx: remove unused param * fix more warnings * fix some warnings * sceNp: fix size_t data types * Sat Dec 30 2023 i@guoyunhe.me - Update to version 0.0.29~git20231230: * rsx: Fix detiler shader compilation * rsx: Pick tiler/detiler according to actual block size * rsx: Avoid out of bounds write for tiled memory * Metainfo: Update number of compatible games * Metainfo: Add German translations and more URLs * Metainfo: Sort tags with jdAppStreamEdit * Fix display_length tag and add screenshot caption * msvc/debug: set mainCRTStartup as entry point * msvc/debug: remove outdated qtmaind.lib dependency * msvc/debug: Pass c++ standard to Qt * Docs: Add clarifications regarding Visual Studio 2019 version requirements. * Fix sceNpManagerGetNetworkTime called before rpcn connection * rpcn 0.8 * sys/cellGame: Fix hdd game dir name * Qt/input: separate num keys from other keys * SPU/Savestates: Remove reservation hack, allow its saving * Savestates: Save build version and creation time * Suggest using SPU Savestates-Compatible Mode on failure to save * SPU LLVM: Fix savestates with LLVM * Fix idm::allocate_id at fixed position * Invalidate savestates * Savestates/vm: rewrite memory saving for better compression * Savestates: Fix audio_out_configuration initialization * Add savestate data validity asserts * rsx: Fix typo * rsx: Support DMA tiling in the CPU blit path * rsx: De-spaghettify nv3089::image_in * Use asmjit main repo * Typemap: Set init to false after each individual destructor * Remove destructor dependencies on nph * Do not include profiling headers * Fix nph and nt interderp * Qt: use default colors for native styles * Qt: use initial style as default style * Fixup np_handler ctor * Fix warning * overlays: move debug overlay to native overlay * sceNpDrm: improve error handling of rap files * Fix sys_fs_fcntl default_sys_fs_container use * Game Settings: Add an option to create game config using default settings * Replace condition_variable with atomic_t * Qt: allow to use native styles * Do not allow running RPCS3 from Rar directories * Fix some warnings * Fix HLE sys_lwcond_signal_to * Savestates: Fix pair serialization * Fix tcp_timeout_monitor abort * vm.h: Cleanup and fix some warnings * Remove some fxo->need calls * Util/fixed_typemap.hpp: Fix thread-safety issue with init * Util/fixed_typemap.hpp: set unitialiazed data to trap values * Postpone thread launching on g_fxo->init * Fix some warnings * Update asmjit * update_manager: replace deprecated LookToRead2_Init nonsense with regular c++ default initializer * Update 7z to 23.01 * rsx: Avoid data loss in blit engine when WCB/WDB + RCB/RDB is active * sys_usbd: Fix up sys_usbd_get_descriptor() error handling according to hardware test * sys_usbd: Prevent sys_usbd_get_descriptor() from buffer overflow * Correct the link of glslanglibs_mt.7z in BUILDING.md according to #14870 * Start/Stop IPC when changing the config setting * Fix fxo dependencies * Trophy Manager: allow to lock/unlock trophies * Fix initialization order for network_thread * input/evdev: handle flatness deadzone value * rsxaudio: fix ensure order * Update soundtouch to 2.3.2 * Force sending a FIN packet on rpcn disconnect * Qt: Cleanup game-install assistant pull request * sceNp/vm: Fix strings read, implement safe string reader * windows/glslang: remove build dir after clean * build/ci: Fix glslang build on msvc * build/ci: Pick latest glslang from rpcs3 glslang fork * Update Vulkan SDK to 1.3.268.0 * curl: use native CA store instead of deploying cacert.pem * Update curl to 8.5.0 * Update FAudio to 23.12 * macOS CI: use 7-Zip for artifacts (#14881) * Qt: Post Game-Installation Assistant * asm.hpp: fix usage of _mm_prefetch * rsx: Improve strict mode check in 308a::color * rsx: Let 308a::color have a synchronization side-effect in strict mode * Mac CI: Install python before updating * Savestates: Fix compressed serialization handler deadlock * cellRec: Remove outdated frame size check * Qt: only allow double leftclick in screenshot manager * PPU/sys_dbg: Implement self-modifying code * Qt: Remove default "Unknown" in GameInfo struct * Qt: Properly use ICON1.PAM from game data dir if available * Qt: force hover event handling for flow widget items * recording: Implement audio recording for rsx audio * audio: fix time stretching regression * recording: use scoped_lock * cellRec: only access global video provider if necessary * recording: optimize access to video recorder * Qt 6.6.1 * Qt: implement hover pam in game list * Qt: use vector for camera video sink buffer * fix Clang warnings * rsx: Remove unnecessary "else" clauses * rsx: Code quality and readability improvements * SPU: Fixup SPU Cache progress in first game boot * Qt: notify progress dialog cancelation when closing the game window * Qt: fix random segfaults when canceling batch operations * serialization.hpp: Fix some warning * SPU LLVM: Do not wait for Progress Dialog to clear before starting * PPU Progress Dialog: Add "Applying PPU Code" stage * macOS CI: link ffmpeg after building it from source (#14843) * TAR: Improve logging * Fix file_view::read_at and file_view::get_stat * Savestates: Asynchronous compression * Fixup Firmware install * Savestates: Add basic statistics in log * vm: Minor optimization for memory serialization * Rewrite global zipping buffer function * Explicitly add qtsvg to freebsd * Savestates: Add errored state for compressed stream * Savestates: Add TAR and VM assert * Savestates: Fix optional_savestate_state use * Savestates: Implement 'autostart off' mode for debugging * Savestates: Compressed state files * Change PPU/SPU Cache * Qt: add trophy count column to trophy manager game list * cellRec: fix pausing and resuming * cellRec: fix downmix * recording: add h264/aac, better logging of output formats * recording: rename audio_sample to audio_frame * recording: fix subsequent recordings, reset sample counter to 0 * cellRec: fix member reset between recordings * recording: cleanup audio config members * recording: improve pts accuracy and consistency * cellRec: fix internal video frame ringbuffer pts * recording: Fix flush. We want to clear the whole queue... * cellRec: implement audio mixing * recording: decrease log spam * cellRec: implement audio encoding (no mixing yet) * cellRec: Don't present frames/samples if external audio/video is used * recording: remove unused duration member variable * recording: fix warning * recording: use av_interleaved_write_frame * recording: fix default sample rate * cellRec: use constant for block samples * recording: initial audio recording * rsx: Always enable ROP output rounding if shader precision is higher than low * gl: Fix static sampler bindings * rsx: Fix vertex input validation failure * Fix file_view::read_at * Don't close moved file * rsx: fix reading zipped captures * rsx: zip and unzip rsx captures * Savestates: Implement initial RAM ventilation system * Replace some fmt::format with fmt::append * rsx/vp: Emit more efficient code * rsx: Fix vertex program analyser bug * Update dependencies * Midi: improve error handling * Switch official AppImage deployment to clang * Fix Firmware tree checkboxes * sys_net: fix some warnings * fix Clang compilation warnings * fix deprecation warning * fix unused parameter warning * unzip: check deflateInit and inflateInit results * Update moltenvk comment * Add MVK 1.2.6 to the Mac build script * Bump MVK to 1.2.6 * vk: Add chip detection for INTEL DG2 cards * vk: Drop obsolete ANV workaround * rsx: Add note explaining padding behavior in linear-swizzle conversion fallback code. * Reduce log level for missing gamecontrollerdb.txt to warning * cellPhotoImport: better log channel name for string search in logs * overlays/media_list_dialog: Fix path logging * cellPhotoDecodeFromFile: allow decoding files inside dev_hdd1 * Utilities/Thread.cpp: Fix threads memory leak * SPU/MFC: Add block has to command history * [Bugfix] USIO: Fixed switch-kind buttons got released when game window lost focus * cellSaveData: Fix SAVEDATA_OP_LIST_DELETE * VFS: fix rename * Disables jack being forcibly linked by rtmidi * Update curl * Update dependencies * Add --parents to mkdir to avoid error if directory exists * llvm: add support for LLVM 17 * Qt: allow to use zipped logs in config checker * Qt: Allow to use .gz files in Log viewer * rsx: Detiler improvements * PPU Loader: Fix relocation offset verification * Tue Oct 10 2023 i@guoyunhe.me - Update to version 0.0.29~git20231010: * macOS CI: force install Python 3.11 * Qt: Remember last game window position and visibility * CMake: fix curl build * Update Docker to 6.5.3 * GL: check QOpenGlContext::create result * Qt 6.5.3 * Input: Fix "," key in keyboard pad handler * CMAKE: try to fix curl * IdManager.h: Savestate fix part 2 * Savestates: Fix rsxaudio * Improve savestate version mismatch message * sys_fs: Savestate fixup * macOS CI: set build timeout to 180 minutes * Improve vfs::host::rename * VFS: Fix recursive locking * sys_fs: Optimize concurrent file reads * sceNp: Cut inactive time of DrmIsAvailable in half * Improve lv2_file::file_view::read * Savestates/sys_fs: Fix file saving * Savestates: add sys_rsxaudio * IdManager.h: Savestate fix * cmake: fix libcurl compilation * SPU LLVM: Optimize GB/GBH/GBB with a GFNI path - Abuses GFNI to extract bits from bytes, from 5->2 instructions in most cases * Update curl to 8.3.0 * Add Savestate-Compatible mode * SPU LLVM: Fix savestates * Savestates: Optimize SPU pausing * Add config to the UI * Add the tiling toggle to core * vk: Fix memory initialization order in RCB/RDB path * rsx: Fix bpp when working with DMA-only (null) memory sections * rsx: Skip CPU optimization if writing to tiled region * msvc: Tabs to spaces * rsx::io_buffer cleanup * vk: Revert more debugging code * vk: Remove debug visualization code * vk: Restore CPU fallback on the upload path * Fix msvc filters * Fix linux build * vk: Load DMA before decode operation * rsx/vk: Support ingesting pre-processed GPU data as texture input * rsx: Make the texture source an io-buffer * rsx/vk: Support mismatched pitch (padded) and fix the overscan problem * rsx/vk: Initial hw-accelerated tile decoder * rsx: Refactor out more junk from rsx::thread * rsx: Import, rebase and clean up the old detiling patches from 2021 * macOS CI: reinstall jpeg-xl and other dependencies from source (#14673) * Debugger/PPU: Add Go-To from function pointer * Debugger/Logs: Allow to display thread from thread ID on log * Patches: Add savable breakpoints patch type * Add restart option to home menu * SPU LLVM: Optimize remaining rotate instructions which take a twos compliment value as input ROTQMBYBI looks for -7 for it's twos compliment construction * Add Azure Build Status back to Readme.md * Remove unused variable * Avoid log spam of CPU usage when Emu is paused * GUI: Add Patreon Link Button * Welcome Dialog: Add ability to set Dark Theme * PPU Analyzer: Fixup * gitignore: Add sublime projects * vk: Fix section merge calculations when using a temp resource * Mac build on Azure * cellMic: Improve cellMicGetDeviceAttr * Wed Sep 13 2023 i@guoyunhe.me - Update to version 0.0.29~git20230912: * Microphone enumeration: warn user if ALC_ENUMERATION_EXT is missing. * Update OpenAl from 1.20.1 to 1.23.1 * FFmpeg: rebase to improve artifact creation * PPU: Limit concurrent OVL files processing to 2 * Rewrite Utilitis/sema.cpp * PPU LLVM: Fixup pdone count * Fix OVL file preview loading * SPU LLVM: Avoid excess cache threads * PPU: Try to reduce wait for other threads * PPU LLVM: Re-add multi-threaded overlay module compilation * PPU Analyzer: Another fixup * vm_ptr.h: Fix warning * USIO: Support up to 4 players for Tekken Tag Tournament 2 Pair Play mode * PPU Analyzer: Fixup * Update FAudio to 23.09 * Update SDL to 2.28.3 * macOS CI: build jpeg-xl from source * progress dialog: Fix remaining time * asm.hpp: Compilation fixup * PPU/Progress Dialog: Improve remaining time approximation * PPU/Progress Dialog: Improve remaining time calculation * input: try to add tony hawk RIDE Skateboard * Add approximation to remaining compilation time * PPU LLVM: Patch unregistered BLRs * SPU/DisAsm: Fix constant propagation with non-GPR-writing instructions * PPU LLVM: Optimize branch list * SPU LLVM: Improve space-filling for function discovery * PPU LLVM: Optimize traps a bit * PPU Analyzer: Fixup greedy instruction search * Thread.cpp: Flush log and make thread context dump on exception * fs::utime: fallback to 01/01/1980 00:00:00 if the date is too low * Update build-mac.sh * Progress dialog: show analysing... while no files or modules are known yet. * SPU LLVM: Sad workaround for precompilation * PPU Precompilation: Fixup file counter * PPU: Precompile only encrypted executeables * Progress Dialog: Force-update counter when complete * Fixup spu_thread::discover_functions * SPU LLVM: Fill space between functions using targets (Precompilation) * sys_rsx: Fix local memory size reported in driver info * SPU LLVM: Add CRC check for cache * Win32/File.cpp: Avoid potential race in concurrent writes * SPU LLVM: Fix crashes on corrupted cache file * PPU Analyzer: Revert TRAP detection change * SPU LLVM: Try to precompile filler-sapce between functions * Improve spu_thread::is_exec_code * SPU LLVM: Initial precompilation of tail-calls * SPU LLVM: Another fix for Game Collection's precompilation * debugger_list: Fix key up/down direction * Debugger: Fix GOTO and intruction stepping * SPU: Function discovery fix * SPU: fix some wierd typos (may be wrong, no idea) * Windows: update some comments and echos in git-version-gen.cmd * VS: Add scripts to filters * Actually fix build id issue * Sat Sep 02 2023 i@guoyunhe.me - Update to version 0.0.29~git20230902: * Set azure variables * SPU LLVM: Optimize spu_idisable * Fix excluded sections check mismatch * rsx/texture-cache: Remove archaic short-circuit during purge-xxxxx routines * Crypto: Fix endianess, avoid crashing on invalid values * Qt: rename pad profiles to config files * Make sure to enable PR builds * More cleanup * Update linux Azure and re-enable GitHub pushing * Precompile PRX/ELF extension * Hotfix SPU Cache Spam For Game Collections * Fixup Create PPU Cache * SPU: support pure SPU code precompilation discovery * SPU: Refactor function discovery * Add SPU Precompilation to Create PPU Cache * Qt: fix pressure intensity deadzone enabled state * macOS CI: build ffmpeg and gnutls from source, and fix deploy script (#14563) * input: add SDL_GameControllerDB * Update MVK * Update homebrew mvk on build script * [DS4] Proper USB/BT detection * SPU LLVM Precompilation Fixup * SPU LLVM Precompilation * Zero register optimization for AVX-512-VBMI - Take advantage of the fact that AVX instructions zero the upper 128 bits for a nice optimization when one input vector is zeroed * PPU Analyzer: Fix OPD section validation * cellPad: fix lost status during cellPad_NotifyStateChange * cellPad: fix potential out of bounds read and u32 warnings * cellPad: some readability updates * Midi: fix data type warnings * cellPad: implement cellPadPeriphGetData default logic and add some comments * input: Use pad class instead of index in pad settings dialog * Sat Aug 26 2023 i@guoyunhe.me - Update to version 0.0.29~git20230826: * input: implement pressure intensity deadzone * input: clamp 0-1 in NormalizeDirectedInput * GHLtar: fix guitar tilt * Update rpcs3/Emu/Io/RB3MidiKeyboard.cpp * RB3MidiKeyboard.cpp: fix some note off messages being processed incorrectly * rsx: Optimize RET returning to following CALL * PPU Analyzer: Analyze whole segment 0 when patches are applied * Savestates: Fix config_event_entry compatibility * rsx: Discard color mask writes with reserved bits * Remove unused variable in PPUThread.cpp * cellPad: remove unused variables * Fix Vulkan link in README * overlays: fix some warnings, simplify code, use move and references * sceNpDrm: Slow down sceNpDrmIsAvailable * cellGame: Make cellGameDataCheck slower * PPU Analyzer: Fix for unaligned sections * rsx: Fixup calculate_required_range * Progress Dialog: Fix race when PPU compilation is super fast * rsx: Fix index vertex array range with modulo calculation * Progress Dialog: Avoid PPU compilation pop-up on short linkage * Progress Dialog: Fix race that could lead to ever-inaccurate results * Progress Dialog: Fix race on PPU compilation status * input: fix dance mat PID * Input: Add PS Move navigation controller * qt/utils: support full path in get_dir_entries * Game List: Add initials-only search * LV2/Loader: Fix kernel regions addresses * PPU/debugger: Fixup * Debugger/PPU: Superior Callstack Detection * CLI - install multiple pkgs from folder (#14516) * Update BUILDING.md (#14515) * xaudio2: enable IID_IXAudio2Extension for mingw-w64 * Fixup cellPadPeriphGetInfo * Replace some utils::bless usages * Workaround for Clang: move bless to its own header file * Cg Disasm: Fix instruction highlighting patter * Debugger/RSX: Add FP/VP hash of current shader * Add link for homebrew MVK 1.2.5 to Mac build script * Bump MoltenVK to 1.2.5 * Update submodules * cellAudio: Move and partially fix _mxr000 hack * Update focal * PPU: Fix LVRX bad memory access * LV2: Fixup reservation notifications * utils/endian.hpp: Use std::byteswap * SPU: Use usermode waiting for busy GETLLAR loop * CELL: Postponed address notifications * Fixup atomic wait (Linux) * cmake: replace add_compile_definitions with target_compile_definitions * sys_net.cpp: fix compiler warning * qt6: fix mingw-w64 build * remove unnecessary defines * Fix PPU SELF Precompilation * cellRec: add more encoder options * cellPad: Fixup sys_config management * cellRec: fix width of encoder frames * home menu: remove non-dynamic SPU Loop Detection * SPU LLVM: Inline timer reads for WrDec and RdDec - Uses RDTSC to emulate the spu decrementer * patches: Improve location logging for invalid note sequence * VS: Fix compilation on Visual Studio 17.7.0 * SPU LLVM: Fix for AVX-512 CFLTU path - vcvvtps2udq doesn't turn negative numbers into 0, fix by using signed integer max with 0 instead of vrangeps * PPU Loader: Fixup stack alignment after envp fix * (Linux) Fixup futex_waitv * PPU Loader: Fix main()'s envp * Thu Aug 10 2023 i@guoyunhe.me - Update to version 0.0.29~git20230810: * LV2/cellPad: Implement priority-based connection updates * cellPad: Fix max_connect in GetInfo * rsx: Remove unused code (argb<->bgra modifier) and refactor a bit * rsx: Implement image copy between 2D -> 3C/CUBE with scaling support. * ELF.h: fix warning * PPU/Debugger: Fix op_branch_targets * PPU: Fixup interpreter and analyzer * PPU/Patches: Fix CALLOC patch with interpreter * cellSaveData: Fix check 58, implement checks 77 and 76 * PPU Loader: Fixup virtual load for non PRX * cellGame: Add some LV2 sleep * Add some error checking to sys_fs_chmod * PPU Analyzer: Fixup verify_func * PPU: fix leak when precompiling SELF files * PPU Loader: Fix imports/exports in virtual mode * PPU Analyzer: Add more function constraints * Fixup SPU/PPU Cache Abortion * PPU Precompilation Fixup * Merge xfloat options * vm.cpp: Fixup race in range_lock_internal * Fixup log message in sys_memory_allocate * System.cpp: Fixup spu.log/tty.log dumping * PPU LLVM: Fixup VSH Precompilation * PPU: A few more minor bugfixes * PPU LLVM Cache Fixup * PPU LLVM/RawSPU: Fixup MMIO crossing-out * vk: Fix detection of RADV on get_driver_vendor() * Make experimental build warning modal * CI: Don't silence curl errors * LV2: Improve sys_timer_usleep by using CPU usermode waiting * macOS CI: use lzma compression for the DMG * macOS CI: use faudio from submodule * macOS CI: build faudio from source * osk: ignore input based on ignore_device_events * rsx: Rebuild shader texture state if we detect a silent mismatch * Fix current date format * Optimize memory usage of ELF loader * Auto-dump decrypted binaries if PPU debug is enabled * Fix decrypt_binaries_t::done() * vm.cpp/Non-TSX: Fixup potential deadlock * PPU LLVM/SPU/Non-TSX: Obnoxiously responsive and obedient PPU for SPU requests * Fixup futex_waitv redefinition * direct return in ppu_check * Fix lf_queue regression * Linux: use futex_waitv syscall for atomic waiting * Remove thread pool * Reset broken LLCM_CCACHE_BUILD change * Don't require Qt 6.4.0 (works with 6.2.4) * Update ffmpeg * Update dependencies * Tue Aug 01 2023 i@guoyunhe.me - Update to version 0.0.29~git20230731: * rsx: fix register_vertex_printer value func * rpcs3_version: Bump to 0.0.29 * Qt6 port * cellAudioIn: reduce log spam * cellMsgDialogAbort: do not return CELL_MSGDIALOG_ERROR_DIALOG_NOT_OPENED * Thread.cpp: Fixup SPU access violation log message * Optimize RSX Debugger * Qt: Fix elf_memory_dumping_dialog PPU address * Debugger: Transition to plain text edit * Fix color tag of logs/tty * Qt: fix data type of find_dialog text edits * Sun Jul 30 2023 i@guoyunhe.me - Update to version 0.0.28~git20230729: * SPU LLVM: AVX-512 optimization for CFLTU (#14384) * Fix typos, improve consistency * SPU LLVM: Optimize common SFI+ROTQMBY pattern * Utils: Add initial AVX10 support * Include spu.log inside RPCS3.log when SPU Debug is true * SPU/Non-TSX: Implement cuncurrent reservations * SPU/MFC: Format command more consistently * cellSaveData: Adjust to non-TSX * Log TTY output after emulation have been stopped * sceNpTrophy: Minor UB fixup * sys_fs: Updated sys_fs_fcntl(0xc0000015&0xc000001c)'s error handling according to real hardware testing * sys_fs: Fixed up sys_fs_fcntl(0xc0000007) aka cellFsArcadeHddSerialNumber according to real hardware testing * sceNpTrophy: Check if a trophy configuration file exists before starting the install process * sceNpTrophy: Initial commSign checking of CreateContext * rename fs::stat to fs::get_stat * Fix config path in Emu.Restart() * cellSaveData: add some more error logging * Fixed Emu.Restart(graceful=false) no longer worked after #14038 * Debugger: Make break-all non-default * Fixup patches * Minor ppu_initialize fix * ppu: Make install function log message trace * USIO: Added support for Tekken Tag Tournament 2 Live Monitor edition * opengl: fix Qt warnings (#14249) * USIO: Added support for Tekken Tag Tournament 2 * Savestates: Facilitate multi slots * Thread.cpp: Always print SPU thread name in access violation * PPU Analyzer: Fixup get_ptr() * Add ppu_module::get_ref() to ease debugging * Update SPU reservation notifier mask * Qt: Minor logging change * CPUThread.cpp: Fix use of cpu_counter::add * Invalidate Savestates * Qt: Fix GetBootConfirmation() * Game List: Fix allowance of caches/games to be removed while the game is running! * Game List: Implement Remove HDD1 Cache option * USIO: Fixed BACKUP MEMORY ERROR for some games (#14248) * Fri Jul 21 2023 i@guoyunhe.me - Update to version 0.0.28~git20230721: * Fix log data loss on force application shutdown * File.h: Implement fs::error::xdev * Qt: Fix saved log filename * sys_fs: use path instead of u8path * Create Missing Paths for Dev_USB/HDD0 and mms * SPU LLVM: Use get_known_bits() in SHUFB * SPU LLVM: Handle SHUFB special cases with a lookup table - Needs 3 instructions to handle the special cases, since x86 lacks an 8 bit simd shift instruction * Tue Jul 18 2023 i@guoyunhe.me - Update to version 0.0.28~git20230718: * Qt: Exit And Save Log - toolbar action (#14212) * Fix default renderer when creating a brand new config * Savestates/sys_fs: Utilize fs::file::get_id to fix an old bug * Implement fs::file::get_id() * Implement PPU usleep control setting hack * Qt: Minor fixup * Qt: Cache drag-and-drop result when moving it * Qt: Restrict file types for drag-and-drop * ecdsa: tiny optimization for key and curve * ecdsa: clean up some code * PPU LLVM: Allow to abort OVL analysis in the middle * PPU LLVM: Improve precompilation time * Qt/patches: highlight faulty lines in patch creator * Patches: improve location logging of some invalid nodes * Patches: do not allow empty patch names * Patches: fix logging for locations of node iterators * Patches: validate yml patch offset values * Qt: add validator to patch creator offset lineedit * Patches: Fix potential RPCS3 crashes due to invalid patches * PPU/Debugger: View the currently used CR field content in register panel * Qt: ignore Qt::Key_unknown when parsing key sequences * vk: Don't load depth-stencil textures on the transfer queue * Make compile with msvc, clang and gcc on Windows * macOS CI: add Homebrew and Qt caches * rsx: Don't assert when surface and texture cache overlap lockable memory * rsx: Preserve the texcoord transform around destructive modifications * Force inherit BDVD/PS3_GAME across game updates (#14159) * rsx: Fix AMD shader codegen * SPU/PPU Debugger: Add decimal mode to registers panel * sys_fs: Fix log levels * Write config.yml if it doesn't exist or is empty on boot * rsx: Fix projected coordinates calculation again * rsx: Fix the default shadow codegen path * Fix typo * rsx: Reimplement projected texturing * SPU: Remove wrong clamp in MFC_Size * LV2: Log allocated guest VM addresses * logs: Add manual set log level with RegEx * Logs re-enable on Emu.Kill() fixup * Fix spu_thread::dump_callstack_list regression * Debug fixes * Qt: Use detailed text for install message * Home menu: improve Anisotropic Filter Override value labels * Home menu: add optional special label overrides * Home menu: set vblank step size to 30 * Home menu: move advanced video options to advanced menu * build-mac: Enable Discord Rich Presence for Mac Users * SPU: Fix static interpreter requirement with interrupts * Only silence logging during gameplay * memory viewer: Add RegEx instruction searching mode * Implement PPU LV2 debug * UX: Option to pause emulation when RPCS3 is not focused * [simd.hpp] Fix gv_fmafs * PPU LLVM/RawSPU: Implement MMIO violation elimination pass * rsx: Fine-tune the subimage view bezel dimensions * rsx: Fix AA factor calculation * rsx: Fill section dimensions when converting atlas op to copy op * build-mac: Improve build time for macOS * sys_usbd: Implement support for Santroller devices * Clamp MSAA sampling weights to avoid clipping * CI: Ignore FAudio submodule in windows builds * rsx: Wrap MSAA coordinates before texelFetch * vm_native.cpp: Workaround for rpcs3_vm_sparse.tmp crashes * rsx: Fix virtual coordinate clamping * vk: Disable anisotropy if the anisotropic level is meaningless * rsx: Fix shader interpreter * rsx: Fix shader interpreter compilation * rsx: Fix vp codegen when unrestricted depth range extension is absent * vk/gl: Fix debug overlay stats * rsx: Fix sampled descriptor address corruption * rsx: Insert missing texture barrier * rsx: Force compatibility checks when applying fast-path optimizations * rsx: Properly fill in the cyclic ref field for framebuffer references * rsx: Use designated initializer for the dangerous copy_region_descriptor type * vk: Fix namespace pollution in sync module * rsx: Formatting and tidying changes * rsx: Lower single-image-blit to a scaled coordinate fetch * rsx: Trivially detect single-image-blit transfer operations * vk: Do not clear memory if we're going to overwrite it with a copy anyway * rsx: Implement atlas trivialization pass * rsx: Implement GPU copy ellision through coordinate transform * rsx: Minor optimization to speed up texture state sync a bit given the larger structure in use now * rsx: Fix shader compilation when texture ops are referenced * rsx: Rework texture coordinate handling to support clamping and a more sane scale-bias setup * rsx: Fix fragment program codegen * rsx: Migrate vertex fetch out of the cpp file * rsx: Switch common codegen to use the glsl scripts * rsx: Add the glsl files * Mon Jul 03 2023 i@guoyunhe.me - Update to version 0.0.28~git20230702: * cellSpurs: Implement ShutdownTaskset and WorkloadFlagReceiver2 * Update dependencies * Input: update buttons on pressure button toggle * Input: fix multibutton mousepress (sticks only) * Input: fix multibutton mousepress (buttons only) * Input: Add tooltips for button mapping * Fix some warning * vk/rsx: Fix build errors and warnings * vk: Get rid of some spammy debug code * vk: Minor refactor to make early-exit branches trivial and easier to read * vk: Fix some regressions in synchronization2 behavior * vk: Fix GPU hang * vk: Restructure gpu labels and add them as an event backend * vk: Use pipeline barriers for proper event sync * Fri Jun 30 2023 i@guoyunhe.me - Update to version 0.0.28~git20230629: * Qt: Save UI settings and geometry safely on closeEvent * System.cpp: Do not hold the watchdog forever for PPU LLVM compilation cancel * Remove overlay hack for PPU LLVM OVL precompilation * Empty kill and init callback before calling them * PPU LLVM: Implement SELF precompilation * PPU LLVM: Precompile all disc game data including PRX etc * Savestate/IDM: Do not save unsavable containers * Fix Create PPU Cache * RB3MidiGuitar.cpp: Support 5-Fret play * input/overlays: add option to lock overlay input to player one * Constify * Dump extensions info to the log * vk: Fix a bunch of corner cases when syncing GPU and host memory * vk: Add explicit sync when doing copy_image_to_buffer * Add flags to handle sync domain with v2 events * Properly enable synchronization2 feature * Silence logspam about unused parameter * Silence log spam about copy ellision * Qt: remove obsolete shortcut * Qt: use shortcut instead of hardcoded keypress event * welcome_dialog: remove weird window close event * Make stopping emulation not pause or crash UI * Fix properly RSX replay thread stop bug * about_dialog: Add new testers * Qt: Add RPCS3 Discord & Wiki to About Dialog * settings: Display rendering result of 100% resolution scale * Qt: Add Create RPCS3 shortcuts to Wecome Dialog * Qt: Make welcome dialog accessible through F1 or Help menu * Qt: Fix memory leak in welcome dialog * Qt: Allow to drop RAP&PKG together * Qt: Always set QEvent::isAccepted is drag&drop events * Qt: Do not require to close games when adding new disc game directories * sys_fs: Fixed up one of sys_fs_unmount()'s error codes to match real system behavior * sys_fs: Implemented get_normalized_path() * fs: Add get_parent_dir_view * File.cpp: revert get_parent_dir change * Try to fix build * Workaround for old compilers * vk: Update async compute (fast) to use the new sync API * vk: Reimplement events using synchronization2 extension * Utilities/Memory Viewer: Improve image viewer * Utilities/Memory Viewer: Add G8 and G32MAX image formats * Utilities/Memory Viewer: Add PageDown/PageUp scrolling * Utilities/Memory Viewer: Fix memory leak * Debugger/RSX: Add shortcut for RSX semaphores * Utilities/Memory Viewer: Add auto-refresh mode * asm.hpp: Fix mul_saturate * Wed Jun 21 2023 i@guoyunhe.me - Update to version 0.0.28~git20230620: * Fix PPU debug setting with PPU interpreter * Fix Create PPU Cache * jit: fix assertion in GDBJITRegistrationListener * Move connect workaround to connect interface * Windows: silence uncritical performance counter error * Nicer variable names * vk: Latch query copy requests to reduce number of vulkan commands used * progress dialog fix * Qt: use shift+click to append the button instead of replacing it * evdev: don't release buttons while other buttons are still pressed * input: allow multiple key codes per button * logging: minor trace optimizations * Qt/logging: add format function for QString * Settings: Move Accurate SPU DMA to Advanced * Settings: Add Output Scaling to Home Menu * Settings: Enable hot-reloading of Output Scaling * Settings: Reorder settings in Debug * Settings: Reorder settings in Emulator * Settings: Move Automatically start games after boot to Debug * Settings: Rename to Force GPU Texture Scaling * Settings: Rename to Pause emulation after loading savestates * Settings: Remove PPU Interpreter (dynamic) * Settings: Move Accurate GETLLAR to Advanced * Settings: Move Accurate PPU Float Condition Control to Debug * Settings: Move Accurate PPU Vector NaN Handling to Debug * Settings: Move Accurate PPU Non-Java Mode to Debug * Settings: Move Accurate PPU Saturation Bit to Debug * Settings: Add Show PPU compilation hint * Settings: Move Start Savestates Paused to Emulator * Settings: Move Disable Vertex Cache to Advanced * Settings: Remove Full Width AVX-512 from the UI * Settings: Enable Full Width AVX-512 by default * PPUAnalyser: fix std::move nonsense * vk: Do not hard-sync on first sign of fragmentation * vk: On pool recovery, rescan the subpool table in case a new pool really cannot be created * vk: Handle VK_ERROR_FRAGMENTATION when allocating descriptor pools * np_handler: fix warning: check socket in discover_ip_address * Loader: remove dead code * Log Frame: Make clear act clear pending messages (#14004) * input: add controller index to SDL controllers * input: add new buttons for Dualsense Edge * input: merge some duplicate code * input: Add dualsense edge PID * fs/linux: fix potential copy_file issue * Fix EINVAL returned on connect call to connecting socket * Qt: Improve PS3 Binaries Decryption tool * System.cpp: Updated the definition of user-space LV2 CoreOS SELFs * CI: switch FreeBSD back to /latest after llvm16 re-appeared * overlays: update progress dialog workaround * vk: Cleaner approach to object lifetime management * vk: Improved OOM handling * rsx: Minor annotations and refactoring * rsx: Drop format information from the vertex cache and use a simpler model that is much faster * rsx: Import robin-hood unordered map which is much faster than std * rsx: Rewrite the find method to avoid unnecessary allocations * rsx: Allow the vertex cache to be enabled independently of MTRSX * rsx: Capture stats about vertex cache performance * SPU/Debugger: Add RawSPU debug data * PPU: Fix thread entry detection false positives * cellMsgDialog: Fix segfault when closing non-blocking Qt dialogs * Qt: add ability to style richtext href links * input: fix some warnings * PSF: improve load readability * fix whitespace * Qt: do not set play/pause button texts to 'Resume' on emu stop or ready * Qt: always use last boot path for game boot actions * System: fix config path in restore_on_no_boot * System: use const ref for libs map * Qt: fix start/restart shortcut * Rename ProcureCurrentEmulationCourseInformation to GetEmulationIdentifier * debugger_frame: don't query cpu thread if emulation is stopped anyway * unself.cpp: Always reset the old SELF header information before loading * input: add pressure intensity toggle mode * vk: Disable conditional rendering on MacOS * Force disable conditional render on macOS * PPU: Sleep after returning from thread entry function * sys_ppu_thread: Optimize joined thread notification * debugger: Fix trailing spaces in PPU register dump * register_editor_dialog: Improve selection * Fix _sys_interrupt_thread_disestablish with lingering thread copies * Fix sys_ppu_thread_detach/exit with lingering thread copies * Logs: Fix trailing space, nbsp and unintended character * Fix spu_thread::cleanup() * input: fix pad profile override with existing custom pad configs * sys_fs: fix map entry removal in destructor * Fixed a bug in fs::get_parent_dir() * Update sys_usbd.cpp * debugger(CallStack): Make Return act as double click * debugger: Fix potential null dereference * debugger: Fix key events when CallStack is focused * debugger: Avoid incorrect update timer restart * debugger: Fix use of invalid pointers * sys_usbd: Implemented sys_usbd_unregister_extra_ldd() * sys_usbd: USB VID/PID logging format fixup * sys_ss: Further implemented Update Manager service for VSH * sys_fs: Implemented sys_fs_mount(prot=1) read-only mounting & fixed up some operation and permission checks * CI: temporarily switch FreeBSD to /quarterly packages * CI: upgrade FreeBSD to 13.2 * Update sys_timer.cpp * Update sys_timer.cpp * Update sys_mutex.h * Update sys_lwmutex.h * Update sys_lwmutex.h * Update sys_mutex.h * Sat Jun 03 2023 i@guoyunhe.me - Update to version 0.0.28~git20230602: * rpcs3_version: Bump to 0.0.28 * PPU LLVM: Invalidate cache for testers * sys_lwcond/cond/ppu_thread: Respect scheduler in various syscalls * LV2: Make _sys_lwcond_destroy wait for lwmutex lock * PPU LLVM: Fix LWSYNC according to cellSpursWakeup * Make page faults entry enqueue and event atomic * SPU: fix event count with ACK and mask write * LV2/Timer: Fix ENOTCONN check of start timer * LV2/TImer: Fix notification discard * LV2/Timer: Make timers consistent * LV2: Implement set-priority thread requeue * LV2: Push other-than-this thread to the back on priority set * Threads.cpp: Fix infinite looping * sys_lwcond: Implement TIMEOUT on lwmutex lock * sys_lwmutex/mutex: Fix race on lock timeout * LV2: Unconditional Timer Synchronization Fix * rsx: Write a warning to the log if we decide to collapse surfaces to reduce VRAM usage. * vk: Rename gc_wrapper_t to gc_callback_t which is more relevant * vk: Minor improvement to descriptor and garbage collector interaction * rsx: Trim the number of in-flight invalidated resources (temp cache) * Qt/Loader: Let users choose which packages to install * Extra PS3_EXTRA fix * Trophies: Add more sanity checks to pugixml backend * Qt: fix random initial game selection in trophy dir * vk: Minor cleanup * vk: Fix descriptor-related crashes * vk: Refactor descriptor handling * rsx/util: Add some c++ guards around simple_array class * vk: Unify descriptor allocation * Fixup debugger_frame double events * Qt/Debugger: Add Ctrl+F (find thread), Ctrl+C (copy) * overlays: fix media list dialog pad interception * Sat May 27 2023 i@guoyunhe.me - Update to version 0.0.27~git20230526: * rsx/overlays: Fix crash on stop * Hid: add some logging for initial send_output_report * input: remove some outdated comments * cellCamera: don't switch to main thread unless really necessary * input: allow to remap emulated pads dynamically * Qt/input: limit some usb device configs to 2 players * Qt: rename emulated pads menu to usb devices * Qt: disable emulated pad settings during emulation * input: fix emulated pad stick y axis * input: move emulated pad handling to config class * input: fix emulated button map accessors * Qt: fix emulated button reset * input: add support for multi-assignment in emulated pads * input: add emulated axis configs * Qt: change wording on fake PS Move config * Qt/input: add emulated pads settings dialogs * input: list actual nodes instead of button ids * input: add enum count for enumeration * input: use global configs * input: add emulated_pad_config template class * input: add gem ds3 config file * input: add usio config file * input: add ghltar config file * input: add turntable config file * input: add buzz config file * remove deprecated VK_MVK_moltenvk and replace with mvk_config.h * Update MVK to 1.2.4 for Vulkan SDK 1.3.250 * overlays: Fix width of graph labels * overlays: fix missing sound autorepeat fence. * Take advantage of WIN10 Thread Name API * Update hidapi from 0.13.1 to 0.14.0 * Update curl from 8.0.1 to 8.1.1 * pine: fix some warnings (#13904) * Formatting fixes * vk: Fix some sampler load crashes * vk: Reimplement sampler disposal using the new pool mechanism * vk: Fix compiler warning * vk: Reimplement sampler caching to take border color into account * vk: Integrate custom border colors when supported * vk: Require customBorderColorWithoutFormat feature * vk: Add border color extension detection * vk: Minor refactoring of optional features * sceNpTrophy: set timestamps * CPUThread.cpp: Fix an emulator crash on game exit * Debug Fixes * overlays: do not play sounds on fast auto repeat * input: add sanity checks for buf_size * Sat May 20 2023 i@guoyunhe.me - Update to version 0.0.27~git20230519: * Debugger: Implement key-scrolling through threads * Fix spu_fm * cellSpurs: Fix ready count * Qt: fix memory leak on midi error * Qt: Don't refresh mic and midi list in constructor * mac arm: try to fix compilation * input: use enum class for pad connection * input: add option to keep pads connected * Fix init order for gpu_debug_marker * Fix init order * rsx: Fix build after variable rename * vk: Rename the debug marker to something more appropriate * Fixup - command buffer wrapping * vk: C++-ify the debug marker sync object member names * vk: Do not use raw GPU command buffer handles for any wrapped API calls * rsx: Perform region clipping in a normalized coordinate space * vk: Preliminary support for debug markers * Qt: allow hiding trophy table columns * VS: set more O2 * MSVC: Ignore base address warning * Fix some warnings * Updates * Windows Use vector for performance counter data allocation * rpcn: fix some msvc warnings * Fix log message * Logs/Debugger: Go-To-Address signal from log text * Qt: don't refresh game grid after emu stop * Implement support for emulating Rock Band 3's MIDI Pro Adapter * sys_usbd: Emulate Disney Infinity Base * cli: add ability to log ffmpeg codecs * Tue May 16 2023 i@guoyunhe.me - Update to version 0.0.27~git20230515: * Better accuracy for FREST/FRSQEST (#13863) * SPU Executable Code Dumping Tool * vk: Minor refactor in OOM handler to skip scans if we already found a match * vk: Refactor memory allocators to easily inspect device properties * vk: Use gc to clean up stale surface cache resources instead of fudging with frame counters. * vk: Rewrite draw call setup sequence to avoid OOM situations introducing stale descriptors * vk: Don't erase texture cache images directly. Use gc instead. * vk: Implement max VRAM override in config * vk: Refactor the vram exhausted handler * vk: Refactor vram exhausted handler to minimize risk of UAF hazards * vk: Tune resource quotas * vk: Improve spill robustness * vk: Lower scratch dimension alignment to 256 to minimize wastage * rsx: Do not allow 'compatible' check to pass if the size does not match * Logs: fix Stack Cell Errors setting reading * System.cpp: Make boot of disc updates more strict * Thu May 11 2023 i@guoyunhe.me - Update to version 0.0.27~git20230510: * SPU/PPU/Debugger: Ensure ascending stack frames (#13833) * Fix some warnings * Qt: fix game list event filter * SPU/Debugger: Detect stack-less functions * Add linuxdeploy-plugin-checkrt for compatibility with older distros * PPU LLVM: Unbreak function linkage * Fix rpcn config reset * Deterministic FREST and FRSQEST * fix ASAN error: make overlay_pass destructor virtual * fix: make ASAN work on Windows * sys_fs: Further implemented cellFsArcadeHddSerialNumber (0xc0000007) * sys_fs: Improved sys_fs_fcntl(0xc0000015 and 0xc000001c) by integrating duplicate code * sys_fs: Implemented mount_info_map to keep proper track of mounted devices * sys_fs: Improved lv2_fs_object constructor * sys_fs: Improved the functionality of lv2_fs_object::get_mp() and the efficiency of mount&newfs syscalls * sys_game: Fixed potential bugs in sys_game_get_system_sw_version() * Qt: filter for rpcs3_*.qm files when enumerating languages * Qt: implement flow layout game grid * cellPamf: Add missing error code * CI: -DUSE_SDL=ON (on Linux) * build: fix USE_SYSTEM_SDL * X86 SigHandler: Add support for BEXTR instruction * Whitespace fix * gl: Fix typeless casts * rsx: Allow swizzle flag to propagate as an override to surface properties * rsx: Apply swizzle flag on data source as well * vk: Propagate swizzle flag in hw blit engine * rsx: Add a comment explaining the barycentric interpolation change * vk: Improved attribute interpolation for NVIDIA * Fix deadlock in games_config * Qt: fix invisible first game list icon on tiny icon sizes * Force STATIC_LINK_LLVM on with BUILD_LLVM=ON * MacOs: remove git dir from dmg * Linux: remove git dir from AppImage * Windows: don't ship git folder * VS: disable warnings of external dependencies (mainly silences Qt warning spam) * fix some warnings * Qt/Utilities: Merge memory viewer with searcher * gl: Fix blur_intensity GL_INVALID_OPERATION error * Use seperately bundled LLVM library * Bring back removing the wayland-client lib * Change AppImage packaging to actively maintained system * Qt: Allow parsing games.yml during gameplay * Loader: split add_only into own function * Qt: clear game items before clearing the game list * VS: remove non-existent moc files from filter * Qt: fix squished icon column when opening rpcs3 after closing with an empty list * Qt: fix invalid pointer in IconReady slot * Qt: use shared_mutex in movie_item * Qt: don't mount dev_hdd0 in screenshot manager * savestates:/sys_spu: Fix join saving * Fri Apr 28 2023 i@guoyunhe.me - Update to version 0.0.27~git20230427: * Qt: only do a hard refresh when new games may have been added * Qt: keep game list data when toggling between list and grid layouts * Qt: fix futurewatcher cancel * Qt: Fix data race and undefined behaviour in games_config * Decrease some include madness * screenshot manager: use flow layout * Qt: async game list parsing * Qt: move experimental build warning to gui_application * rsx: Fix up the framebuffer width if the pitch fits scissor but not the clip width * Qt: fix adding vsh to gamelist * Qt: lazy load save data icons * Mon Apr 24 2023 i@guoyunhe.me - Update to version 0.0.27~git20230423: * Qt: fix savedata dialog exception * Qt: lazy load trophy icons * SPU LLVM: disable AVX2 shift intrinsics * Qt: fix table item delegate usage * VS: fix filters * Game List: Make Ctrl+f Focus On The Search Bar * UI: Ignore trademark as a fallback when searching games * UI: Focus to game searchbar on load * Qt: Set icon size function properly * Update FAudio to v 23.04 * Update SDL to v 2.26.5 * Update miniupnp to v 2.3.3 * Qt: properly invalidate item pointer in grid mode * Qt: Lazy load game grid icons and optimize paint method for invisible items * Qt: Remove unused list layout handling of repaint watcher * Qt: don't calculate sizes in grid mode * Qt: lazy load game list icons and dir size * Qt: multithreaded file testing during refresh * Qt: Minor optimization during list refresh * SPU LLVM: fixup custom LICM pass * Emu: Cache games.yml and only save when necessary * unself: rename SCEVersionInfo to version_header * unself: rename SectionInfo to segment_ext_header * unself: some more documentation * unself: rename AppInfo to program_identification_header * unself: rename SelfHeader to ext_hdr * SPU LLVM: sink stores deeper in custom LICM pass * fix warnings * Remove add_only from main_window::Boot args * Optimize AddGamesFromDir a bit * Reduce IO With Game Library Loading * Path to LLVM library fixed in Debug * SPU LLVM: upgrade custom DSE pass * formatting * gl: Refactor attachment clear logic * Keep preceding 0 in firmware strings * Keep second 0 in firmware strings * Qt: add option to reset time played * Qt: add grid filters * Qt: add checkbox to restart dialog * BufferUtils: fix SSE2 path for byteswaps * rsx: Add Ultra shader precision setting for costly accuracy settings * vk: Promote barycentric interpolation to 64-bit * SPU LLVM: make savestates unsavable inside the code * SPU LLVM: optimize register stores * Implement sceNpManagerGetCachedInfo * Mon Apr 17 2023 Yunhe Guo <i@guoyunhe.me> - Use system SDL2 * Mon Apr 17 2023 Yunhe Guo <i@guoyunhe.me> - Use system libusb * Mon Apr 17 2023 i@guoyunhe.me - Update to version 0.0.27~git20230416: * Invert the DJ Hero Turntable crossfader axis bind. On Xbox 360 turntables, Crossfade Left is Y Down, Crossfade Right is Y Up. Also simplify turntable/left stick input. * Round squircled axis values to nearest whole number * Sat Apr 15 2023 i@guoyunhe.me - Update to version 0.0.27~git20230415: * SPU LLVM: use volatile stores for PC update * jit: Fix vec_cmp_eq<u32> * Sat Apr 15 2023 i@guoyunhe.me - Update to version 0.0.27~git20230414: * Fix tmp path in updater * Fri Apr 14 2023 i@guoyunhe.me - Update to version 0.0.27~git20230414: * SPU LLVM: use atomic loads in read channel count * SPU LLVM: fix savestate safety guards * PPU LLVM: disable DSE pass and use volatile store/loads * Add savestate buttons to home menu * cellMic: fix mic type regression * cellMic: fallback to proper sampling rate if necessary * cellMic: change some log levels * cellMic: fallback to 4,2,1 channels by default * cellMic: add some error checks * cellMic: minor format changes for readability * Debugger: Fix step over (#13649) * Try even lower * vk: GTX970 workaround * Forces deterministic FP operations when online * Loader: Make executable analyzation not halt UI when launching games * Fix deref in cellSaveData log * Update build-mac.sh * Skylander Portal: Trap Team Audio Transfers * Tue Apr 11 2023 Yunhe Guo <i@guoyunhe.me> - Added fix-toolbar-color.patch * Tue Apr 11 2023 i@guoyunhe.me - Update to version 0.0.27~git20230411: * Update to LLVM 16.0.1 * Mon Apr 10 2023 i@guoyunhe.me - Update to version 0.0.27~git20230409: * remove unnecessary pointer bitcasts * Updated BUILDING.md according to the changes made by #13622 * Fix BUILD_LLVM option * Improve cellMic and sys_usbd thread scheduling * Add alternate 3D display modes (#13582) * cellGcm: add more enums * llvm: fix submodule path * rsx: Add a clip_width workaround for some buggy games * Update to LLVM 16.0.0, switch to upstream LLVM * Update dependencies * Fix emulator crash when stopping emulation after being paused (#13530) * sys_fs: Implemented CELL_FS_PATH path-as-device support * sys_fs: Fix warning C6262 * sys_fs & VFS: Misc bug fixes * Tue Apr 04 2023 i@guoyunhe.me - Update to version 0.0.27~git20230331: * Add Qt Creator .autosave files to .gitignore (#13597) * cellMusicExport: first implementation * cellPhotoExport: add funcFinish check * Fix mic thread usage * vk: Fix vendor detection for apple * vk: Obey safe/unsafe hint for D16F emulation * Increase delay for GHL and TT int transfers * cellMic: fix registration index * cellAudio: silence cellAudioSendAck and add pseudo code for it * cellAudio: re-use event_sources array * cellMic: use fixed index for devices * cellMic: wait for registration of multiple input devices * cellMic: add some additional error check and silence log spam * cellMicGetSignalState: fake some more values * Sun Mar 26 2023 i@guoyunhe.me - Update to version 0.0.27~git20230325: * Update MoltenVK to 1.2.3 (Vulkan SDK 1.3.243) * Fix inaccuracies pointed out by PVS-Studio * vk: Separate vertex and fragment stage push constant updates for overlays * Fix an emulator crash in Emulator::SaveSettings (#13567) * Fix timeout spam from signaling * Savestates: Fix deadlock on savestate load * cellFsReaddir: Fix termination sequence * Add buf_to_hexstring * Invite changes * Fix recvn high cpu usage * Signaling: report status inactive on unknown connection * Fix timestamps in signaling_handler * Trophies: log more specific errors on install failure * Use relative urls in .gitmodules * use new LLVM API in SPURecompiler * SPU LLVM: fix regression from #13500 * llvm: update code to new API (#13500) * Fix hid_pad_handler * Add missing spinning icon from resources * PPU: Do not break on unexpected TOC (#13490) * Add better error handling for RequestSignalingInfos * Use NBIO for RPCN * cellSaveData: Slow save completion * hid: try to fix linux * cellVdec: revert RGBA alignment change * Use win_error for WSAGetLastError * overlays: apply message fade in during lifetime extension if necessary * overlays: refresh existing compile message expiration * overlays: properly remove outdated messages from the queue. * overlays: add ppu compile message if the progress dialog is unavailable * Improve some decryption log messages * patches: fix move_file/hide_file error * hid/ds4: add logging for PID and VID * Windows: log more descriptive errors * Qt: Disable some network settings in global config. Re-enable RPCN in global config. * VFS: Fix mounting non-existant paths (#13488) * Fix wolfssl connect * Patches: Virtual move/remove game files patches * rpcn: throw exception when using rpcn features without a proper config * Qt: disable psn setting in global settings * cellMic: random improvements * pkg install: return correct error if possible. Add more early outs and skip workers on error, * rsx: Implement deferred buffer allocations for GPU write * rpcs3_version: Bump to 0.0.27 * Update FW 4.90 Latest Version * [3rdparty] update cubeb * cellRtc: fix out of bounds write * rsx: Workaround for clang build * rsx: Use simple_array for basic array of integers * rsx: Use emplace when constructing in-place. * rsx: Use non-owning container to ellide a derpy allocation with msvc * Debugger: show CIA in register view (#13462) * Update SPUThread.cpp * cellMsgDialog: fix use-after-free * overlays: hotfix for return_code lifetime * cellSaveData: get rid of g_last_user_response * input: disable ldd home menu for now * cellVdec.cpp: use lock_unlock instead of lock_guard * fix out-of-bounds in VKGSRenderTypes.hpp * fix: back() called an empty string in PPUThread.cpp * fix use after move in cellVdec.cpp * Fix for Windows ENOTCONN on connecting socket * rsx/overlays: Handle corner case where thread signal happens just before pop_all is called. * rsx/overlays: Fix emu close * Fix Visual Studio 17.5.0 compilation * main: set locale to C before doing anything else * config: try to fix float locale issues * Qt: try to fix QString::toDouble locale nonsense * Forces local IP to bind address if set * overlays/manager: Explicit ctor for the input context * [overlays] Implement input suspend+resume * rsx/overlays: Enable input hijacking * rsx/overlays: Fix clang/msvc build * rsx/overlays: Add a name to the input thread context * rsx/overlays: Remove some unused thread declarations * rsx/overlays: Use lf_queue for a lock-free stack implementation * rsx/overlays: Fix build * rsx/vk: Remove stale include * rsx/overlays: Fill in the user response when message dialog input loop exits and we're in blocking mode * rsx/overlays: Fix crash * rsx/overlays: Simplify attach-thread-input API * rsx/overlays: Putting it all together * rsx/overlays: Refactor and implement callbacks for input token * Use u64 for system_time_t, as s64 doesn't make much sense in a microsecond context. * fix some warnings * fixed_typemap.hpp: static allocation for m_init * patch_manager: fix focus loss during config value editing * patch_manager: add more decimal places to spinbox * patch_manager: check config values before applying them * patch_manager: change wording * patch_manager: allow multiple dynamic values * patch_manager: Add dropdown labels * patch_manager: add more dynamic to dynamic patches * patch_manager: add ability to add dynamic patches * fix some warnings * VS: fix miniupnp dependency * cellMsgDialog: Improve some logging and localization * overlays: add internal lock for progress bar texts * overlays: use array for progress bars * sys_game: LV2 board storage minor fixups * rpcn: signaling handler improvements & upnp * Fix boot by RPCS3_GAMEID constants * PINE: Fix crash on exit (#13409) * cellVdec: align RGBA/ARGB strides * cellVdec: fix au_count race condition * PINE: fix error format function * fix order of static initialization: add comment * fix order of static initialization * Create TEST12345/USRDIR for test elfs * Remove whitespace * Qt: save last gs_frame screen and re-use it in no-gui mode * Qt/CLI: Add option to select a screen for the game window * Qt: move fullscreen cli arg from global to gs_frame * Fix C00 boot from external HG games * Debugger: Print error codes stored in GPR * cellPad: move CellPadData to pad_types for convenience * cellPad/vsh: fix PS button recognition * cellPad/vsh: fix sixaxis interaction * cellPad: allow opening the home menu with ldd pads * cellPad: add sanity check for indices in cellPadLdd functions * cellPad: simplify some code * Fri Feb 10 2023 i@guoyunhe.me - Update to version 0.0.26~git20230210: * Fix displaying of audio device when it's disconnected * Update hidapi from 0.13.0 to 0.13.1 * Update SDL from 2.26.2 to 2.26.3 * overlays: review fixes * overlays: Fix linux compilation * overlays: fix home menu date format * overlays: fix home menu entry center alignment * overlays: add message box to home menu * overlays: add pages to home menu * evdev: allow more buttons on sony guitar * evdev: optimize get_next_button_press pad id check * rsx_debugger: replace malloc with buffer cache * cli: Add option to boot a game with a specific pad profile * cli: allow to start games in fullscreen * cellGame: Truncate excess of characters in TITLE_ID * Fix openGl overlay colors * rsx: Don't accept garbage shader input * FAudio cmake fix * Disable 3rdparty FAudio if the SDL version is not available * Update SDL download link * Qt: add copy context menu entry to log viewer * Mon Feb 06 2023 i@guoyunhe.me - Update to version 0.0.26~git20230205: * cellVdec: Fix AU decode count on callback (#13342) * CLI: add option to boot rsx capture * Clarify unknown type log message * Replace std::filesystem::u8path with TODO * Fix package installation exit condition after error occured * Improve logging during package installations * rsx: Formatting change * rsx/overlays: Force disable rounded rectangles on macOS * rsx/overlays: Support disabling vertex-snap on a per-draw-call basis * rsx/overlays: Remove workaround no longer required * rsx: Unify UI rendering shaders * sys_game: Implemented sys_game_board_storage_write() & Made it modifiable * sys_prx: Fix PRX module filename reading (#13339) * Add more disconnected limitations in sys_net * rsx/overlays: Re-export spinner * Update wolfssl from 5.5.0 to 5.5.4 * Update FAudio from 22.08 to 23.02 * - fix analog_t required for some games - changing mapping to better fit to games (for example, select is rarely used) * rsx/overlays/message-queue: Do not fade albedo, only alpha * GUI: Remove ANSI color code from TTY * Game list: Use the latest game icon instead of 1.00's (#13340) * SDL: Fix button presses * Remove obsolete shader compilation hint settings * rsx/overlays: Cache the loading animated icon * rsx/overlays: Make animation caching possible * rsx/overlays: Work around some commitee grandstanding shenanigans * rsx/overlays: Minor fixups * rsx/overlays: Ellide redundant clock read * rsx/overlays: Add time unit to some measured variables * rsx/overlays: Shorten notification fadeout * rsx/overlays: Fix msvc project files * rsx/overlays: Naming sense * rsx/overlays: Remove redundant resize * rsx/overlay: Some cleanup in animated icon class * rsx: Reverse declaration order for animated icon * cmake: Add shader compile notification to build system * rsx/overlays: Move shader compiling notification to a separate cpp file * rsx/overlays: Darken background a bit * rsx: Lower shader notification duration to 5 seconds * rsx: Remove unnecessary debug pragma * rsx: Implement overlay message queue stacking * ui: Add 24x24 loading animation * build: Fix linux build * rsx: Use animated icon and message queue for shader compiler notifications * rsx: Fix message queue order and positioning * rsx: Add support for rounded rectangles * rsx: Implement notification queue * System.cpp: Do not create VFS directories outside of RPCS3 dir (#13311) * overlays/osk: fix y offset direction facepalm * cellOskDialog: improve kb event hook callback * overlays/osk: clear on enter * overlays/osk: Do not render preview background in separate windows mode * overlays/osk: show dialog on key input * overlays/osk: Clear text properly in continuous mode * cellOskDialog: don't wait for osk event_hook_callback * overlays/osk: hide title in separate window mode * overlays/osk: fix dialog positioning * cellOskDialog: use getter instead of weak_ptr * overlays: allow keyboard input if pads are intercepted * overlays/osk: fix cellOskDialogExtInputDeviceLock * overlays: don't flip if the overlay is invisible * overlays/osk: keep dialog open in continuous mode * overlays/osk: handle input device change * overlays/osk: visualize separate windows * rsx: Ignore bad face mode configuration * Print LV2 Syscall Usage only if increased since last print * readme: Remove Azure, rename Cirrus CI badges * evdev_gun: enable udev code on BSDs * Update MoltenVK to 1.2.2 (VK 1.3.239) * vk: Drop deprecated (239) and removed (240) header * Fix SDL CMake warnings * SPU LLVM: Minor SUMB AVX-512 path optimization - Tweak shuffle to allow LLVM to emit a cheap blend instruction instead of the expensive VPERMI2W instruction * input: fix dynamic pad handler mode reset * perfoverlay: fix minimal graph min/max calculation * Qt: fix vfs dialog usb tab cast * sys_usbd: Improved usb_handler_thread timing * USIO: Always resize the response vector to the given size * sys_game: Implemented sys_game_get_rtc_status() & Updated sys_game_board_storage_read() * rsx: Remove framebuffer_status_valid flag and move to state * rsx: Fix graphics state foot-gun * Allow unbinding pad buttons by right clicking (#13283) * Whitelist EA Active 2 accessories * sys_usbd: fix usb handler deinitialization * Deprecate HDD0/disc, make RPCS3/games movable (#13265) * macOS CI: move to AArch64 VM (x64 builds) (#13155) * overlays: do not open home menu in VSH * overlays: add simple home menu * overlays/osk: move pointer variables to fxo * overlays/osk: add analog movement if CELL_OSKDIALOG_NO_INPUT_ANALOG is unset * overlays/osk: Fix layout and positioning * cellOskDialog: cellOskDialogSetSeparateWindowOption * cellOskDialog: improve dictionary functions * overlays/osk: implement first osk pointer * overlays/osk: implement scaling * overlays/osk: align osk position * cellOskDialog: fix error check and improve initialKeyLayout logic * overlays/osk: implement "support languages" * Fix emucore.vcxproj.filters * Fix BUILDING.md Vulkan SDK Version * Thread: silence -Wsign-compare on FreeBSD aarch64 * USIO: Do not crash simply due to invalid commands * sys_usbd: Added buffer null check for sys_usbd_transfer_data() * sys_fs: Improved sys_fs_fcntl(0xc0000015&0xc000001c) * USB: Added VFS USB mass storage devices to the USB device list * overlays: fix indentation * Recording: Fix possible encoder segfault * cellUserInfo: fix potentially locked user dialogs * input: move config getters to base class * input: fix ds4 led/rumble in pad settings * rsx: Fix inadvertent signal override for MSAA * rsx: Allow vertex fetch from uninitialized register * Qt: add system cmd dialog * Qt: Remove CELL_SYSUTIL_SYSTEM_MENU_CLOSE menu option * Add output scaling filtering options, migrate FSR checkbox to these options * rsx: Fix some pipe state signal propagation routines * PRX/savestates/VSH: Associate PRX with library, fix VSH browser (#13221) * Qt: Allow users to create shortcuts for existing bootable entries even after canceling the installation * Qt: more package install fixes * Qt: fix some package install cancellation issues * package_reader: fix some warnings * vk: Bump max number of suppported inline draw calls to 32k * rsx/vk: Fix some problems with dynamic state updates * vk: Avoid loading the whole dynamic state properties if only the shader changed * rsx: Simplify the debug overlay print text routines. * vk: Switch programs if the primitive type changed * Fix GCC11 compilation * Fix compilation * glsl: Update fog enums in shaders * rsx: Propagate decode failures up the chain. * Fix GCC compilation * rsx: Use gcm cast to handle input enum validation * rsx: Fix printing of expected values * vk: Short-circuit program load if state did not change * rsx: Do not call a dynamic function to simply test-and-set. Do it inline. * vk: Fix rare crash when handling mixed depth format types * rsx: Improve performance by using an integral type to indicate error * rsx: Fix vertex decode * rsx: Fixup vertex enums in shaders * refactor: Fix build * Refactor gcm enums * rsx/lv2: Refactor DMA control stuff after VSH work * rsx: Minor refactoring RSXThread * USIO: Backup file fixup * Qt: move progress indication to own handler * Qt: use play_sound callback instead of QSound * cellMouse: decrease some log levels * Fix some includes and warnings * USIO: Emulation Performance Optimization * Qt: add shortcut manager * Set LSApplicationCategoryType to games * pine: fix some warnings * pine: simplify writing strings * pine: replace goto with lambda * Input: ignore F11 in keyboard pad handler (starts/stops recordings) * Qt: Disable ESC to exit fullscreen if kb shortcuts are disabled * Improve error logging * Unbreak BSD * VSH Improvements (#13172) * Wed Jan 25 2023 Yunhe Guo <i@guoyunhe.me> - Add patch fix-test-files.patch - Remove test files that are only useful for developers and testers - Remove rpmlint because lint issues had been fixed by patch * Mon Jan 09 2023 i@guoyunhe.me - Remove v from version number to match Factory standard - Remove unneeded build requires: * git * pkgconfig - Update to version 0.0.26~git20230109: * AppImage: Do not bundle libgmodule-2.0 and libglib-2.0 * Sun Jan 08 2023 pousaduarte@gmail.com - Update to version v0.0.26~git20230107: * rpcs3_version: Bump to 0.0.26 * VSH/UI: Add VSH to game grid * Update submodules * Qt: Fix open_dir for paths with multiple slashes * update_manager: Simplify wchar conversion * Fix #11126 * PKG: Pack multiple PKGs into fast+efficient install (#13147) * rsx: Remove incorrect hack * Sun Jan 01 2023 pousaduarte@gmail.com - Update to version v0.0.25~git20221230: * VS: Add SDL dependency to rpcs3 project * Restrict package installation to 1 thread * PKG: Implement Multi-threaded installation * PKG: Create directories first * unedat.cpp: Remove outdated lock * PKG install hotfix * Qt: fix size watcher cancellation on soft refresh * Allow to cancel dir size calculation (#13134) * fs: fix read/read_at/write (Unix) * fs: implement file::read_at * Wed Dec 28 2022 pousaduarte@gmail.com - Update to version v0.0.25~git20221228: * vk: Fix bug that made fall-out barriers never get triggered * vk/rtts: Account for corner case where the same texture can be bound to more than 1 slot * vk: Restructure framebuffer loop barrier management * Wed Dec 28 2022 pousaduarte@gmail.com - Update to version v0.0.25~git20221227: * rsx: Fix logicOp behavior when blending is also active * vk: Add some missing PCI IDs * Qt: fix size_on_disk filetype * Demote PRX export already loaded error * PRX: Implement multi-referenced library management * Sun Dec 25 2022 pousaduarte@gmail.com - Update to version v0.0.25~git20221222: * Qt: Improve Check Config utility * Qt: stop all async refresh threads on close * Qt: Implement config check in Utilities and log viewer * cellSaveData: add some more info to log error * Qt: optimize log viewer file loading * Qt: show some more info about the current log viewer state * Qt: save some log viewer filter settings * rsx: Restructure color format enum to clearly separate float from int formats * rsx: Propagate surface format changes to shader ROP control * cirrus: Update rpcs3-ci-bionic to 1.6 (#13064) * Sun Dec 18 2022 pousaduarte@gmail.com - Update to version v0.0.25~git20221217: * StrUtil.h: Prevent an overflow in strcpy_trunc * rsx: Fix surface metadata life-cycle * rsx: Handle some corner cases in surface locking * rsx: Fix const RTV/DSV cast from texture cache * rsx: Conditionally skip flush if no new data was introduced * rsx: Avoid expensive protection scan by sharing some data between surface and texture cache * Qt: check dir size async * Qt: show item count in category filter * rsx: Fix exceptions * UI: Report Game Size On Disk, Make Game Removal An Informed Decision * vk: Add missing memory barrier * Stop LV2 Watchdog when CELL_SYSUTIL_REQUEST_EXITGAME is issued * sys_game: Made the LV2 Watchdog restarts the game forcefully * vk: Revise some TRANSFER->TRANSFER barriers that introduced RAW hazards when copying images * vk: Zero-initialize scratch VRAM allocations * SDL handler * PSF: Add AS as valid category * Misc and minor improvements of syscalls used by VSH (#13067) * Qt: facepalm fix in open_dir * gl: Throw exception if we cannot initialize critical requirements * rsx_debugger: fix overflow and some warning * Qt: don't show message if only the rpcs3 games dir shortcut was created * NP: Disable some logging (#13061) * Qt: remove cache dir when deleting games * gl: Require GLSL 450 when using barycentric extension * ci: Update glslang to sdk-1.3.224.1 * Bump windows vulkan SDK version * gl: Fix shader extension requirements * Support compiling with older SDK headers * gl: Silence compiler warning spam * rsx: Only request attribute interpolation if the GPU requires it and the driver supports it * rsx: Fix shader compilation * rsx: Implement interpolation using barycentrics * rsx: Properly flag the program control if needed * rsx: Pass on shader flags to the cache * sys_sm: Implemented sys_sm_shutdown() (#13048) * Sun Dec 11 2022 pousaduarte@gmail.com - Update to version v0.0.25~git20221210: * Qt: fix opening folders by using util functions * cli: fix title_path * linux: fix shortcut cli args * Qt: simplify shortcut creation * RSSX Debugger: Do not show invalid color buffers * sys_fs: sys_fs_get_mount_info(): Made g_mp_sys_dev_root always reported as mounted * rsx: Implement draw call stepping * RSX debugger: Implement Texture Dumper * cellRec: hotfix for pre-recording * cellRec: move data instead of memcpy * cellRec: add more logging * [3rdParty] Update MoltenVK to 1.3.236 & set MSL Fastmath to On Demand (#13035) * Make it work with LLVM * PPU: Add new patch function for SONIC 06 * Qt: Improved the shown path in overlay message "Recording stopped" * Fix build errors by changing AVCodec* to a const * Path hotfix * System.cpp: protect boot arguments * GUI: bring relative game shortcut to the GUI * PKG: Ask to user if he wants to install game shortcut on PKG installation * Add support to boot using PS3 game path or TITLEID in CLI and shortcuts * rsx/qt: add recording to game window * cellRec: implement proper recording * utils: implement video encoder and image sink * Qt: minor camera config warning fixes * Qt: reset screenshot toggle in gs_frame desctructor * cellVideoExport: fix file paths * cellAdec: fix some uninitialized member warnings * CI: switch FreeBSD to Clang/libc++ 15 * sys_fs: Integrated get_mount_count() into sys_fs_get_mount_info_size() * sys_fs: Integrated the function of get_vfs() into get_mp() * USIO: Fixed "Card Reader Not Connected" Error * sys_fs: get_vfs() minor fixup * Qt: remove entire cache dir of a serial on remove all caches * Qt: remove empty cache dirs if possible * Windows: Check WSAStartup result * Try to fix dll checks * Dont append main thread's ID on fatal error dialog (#13021) * Qt: add context menu to trophy game table * Qt: add copy name and description to trophy context menu * ux: Instruct the user to delete the dlls from the installation folder. * Fix build * ux: Update vcredist links and optionally disable help text from error dialog * Qt: support fatal error as htmk * ux/core: Add module verification step for some critical libraries * Increase max number of skylanders to 8 * Sun Dec 04 2022 pousaduarte@gmail.com - Update to version v0.0.25~git20221203: * sys_fs hotfix * Add RPCS3/games/ for automatic games detection, support PSN games outside HDD0 (#12982) * Implemented sys_fs_newfs() * evdev_gun: "fix" BSD * evdev_gun: convert udev code to evdev * evdev gun support cleanup * evdev gun support * Add ability to have sockets bind to a local IP address (#12998) * logs.cpp: fix regression (#12995) * logs improvements * Use uppercase RPCS3 name in the metainfo file * Log PSF path on error * Silence some usually irrelevant errors * Sun Nov 27 2022 pousaduarte@gmail.com - Update to version v0.0.25~git20221126: * Improve error_code, make HDD1 errors be warnings * vm: implement lock-free try_access with range locking * Implement ref_ptr (see read_from_ptr) * Implement read_from_ptr<>() util * cfmt/StrFmt: support s128 formatting (untested) * Update AppStream Metadata * Wed Nov 23 2022 pousaduarte@gmail.com - Update to version v0.0.25~git20221122: * gl: Fix rotation operations in blit engine * gl: Add support for capture debug markers * rsx: Fix low precision shader option * Sun Nov 20 2022 pousaduarte@gmail.com - Update to version v0.0.25~git20221119: * Fixed up lv2_fs_mount_point stuff & Fixed loop.tmp potential leak * Further implemented sys_fs_get_mount_info() and sys_fs_get_mount_info_size() * sys_ss_appliance_info_manager(): Fixed VSH error 80029567 and 80029564 * rsx: Always enable ROP output quantization on NV * rsx: Improve ROP output handling * Qt: add option to automatically resize the game window * Update glslang and SPIRV from sdk-1.3.224.1 to sdk-1.3.231.0 * Update wolfssl from v5.4.0 to v5.5.0 * Update curl from 7.84 to 7.86 * Update pugixml from v1.12.1 to v1.13 * cellPad: Noise-cancelling log changes (#12958) * Add enable exclusive fullscreen mode setting * Sun Nov 13 2022 pousaduarte@gmail.com - Update to version v0.0.25~git20221112: * set cellVideoOutSetGamma to trace * Loader: disable unsupported PPU decoder settings * Minor simplifcation in ppu_finalize * Loader: skip savestate check in add_only mode * VS: fix compilation on VS 17.4 * Whitespace fix only * Wait for renderer to initialize before skipping it for system progress initialization. * grammar * PRX: export functions on start() * sys_prx: Make PPU imports/exports thread-safe * vk: Set line width when rasterizing points (workaround) * gl: Fix point size export * Fix get_member_and_attrs * Sun Nov 06 2022 pousaduarte@gmail.com - Update to version v0.0.25~git20221105: * cfg: Partial support for case-insensitivity for true-false settings * Savestates: Move "Start Paused" setting to UI * rpcs3_version: Bump to 0.0.25 * sys_fs: Minor fixup (#12913) * Emu: fixup message when the application has crashed * sys_fs.cpp: Satisfy Clang * Add support for mounting and unmounting CELL_FS_SIMPLEFS * Use DECR's Product Code when Debug Console Mode is enabled * VFS.cpp: fixup for mounting files * Unexpected bugfixes * Fix LOD bias widget title. * Move 'LOD bias addend' to debug tab * rsx: Fix clear color for formats with less than 32-bit width * Add Texture lod bias to UI (#12905) * implement sceNpManagerGetMyLanguages * cellAudioAdd6chData(): fix channel order * Sun Oct 30 2022 pousaduarte@gmail.com - Update to version v0.0.24~git20221029: * overlays: use the system keyboard layout for osk * overlays: implement osk keyboard cursor actions * overlays: implement osk delete action * overlays/osk: Implement fallback for unknown keys * Savestates/rsx/IO: Resume emulation on long START press, enable "Start Paused" by defaut (#12881) * Savestates/System.cpp: Realized fix for suspend mode (#12883) * Implemented sys_fs_mount() and sys_fs_unmount() * [3rdParty] Update MoltenVK to 1.2.231 * Remove MVK Semaphore Support Style options * Update System.cpp * SceNpScore: improvements * rsx: Implement custom fractional frame limit * cfg: Implement float config entry * rsx: Unlimit texture LOD bias addend * rsx: Force position invariance on GPUs where it matters * System.cpp: Minor regression fix (#12874) * Minor cleanup * game list: Silence some warning * Add one missing line, fix savestate restart * Savestates: Rename savestate when booting the game regularly (suspend mode) * Savestates/Menu: Add "Create Savestate" Button * Savestates: Auto-relaunch savestate when suspen mode is off * Savestates: Disable HDD1 saving optimization * qt: Add "suspend Emulation Mode Savestates" to advanced tab * Make RPCS3 not delete savestate on boot by default * Sun Oct 23 2022 pousaduarte@gmail.com - Update to version v0.0.24~git20221022: * sceNpTrophyRegisterContext: log tls error * Qt: replace nul character with 0 in the log viewer * sceNpTrophyCreateContext: do not log nul characters * sys_net: return appropriate packet size for P2P * Implement sceNpScoreSanitizeComment * vk: Fix scratch buf size calculation when uploading DSVs * gl: Add missing memory barrier after texture decode * Savestates: +1 Bug * Disable AlignConsecutiveAssignments * sys_net: improvements * Dualsense: Enable improved rumble emulation (or so) * Dualsense: Release LEDs on when the handler is destroyed * Dualsense: Read firmware version as seen in firmware installer * Dualsense: name some report members based on SDL2 * Loader/Input: Process Qt events instead of yielding during init * Qt/Input: Properly clear pad selection in pad settings * Input: return pad connection in get_next_button_press * Input: change brightness data type in hid to u32 * Input: rename misleading ThreadProc to process * Input: move m_is_init to base class * Input: refactor vibration * Cubeb: rewrite locking * Update dependencies * Fix warning * GUI TTY: fix a regression (#12855) * Changed the log level of LV2 Watchdog's being triggered * gl: Handle clip plane switching using API calls and the state tracker * cellAudio: Implement setting to disable sampling skip * sys_sm_shutdown() log minor fixup * USIO Input Enhancement * SPU Profiler: fix CPU usage when emulation is paused * SPU Profiler: nearly always print on Emu.Pause() * Input: Allow to toggle player LED (Dualsense and DS3) * sys_game_watchdog minor fixups * evdev: change default axis for gyro * Input: Fix Dualsense gyro axis and adjust DS4 resolution * Implemented sys_game_watchdog syscalls * GUI/TTY: fix UI deadlock when TTY is being spammed * RPCN v0.7 * sys_spu: Some more fixes of wait flag misuse * Update cellFsGetDirectoryEntries to use wait flag correctly * sys_fs: Fixed placement of check_state() and add some bugfixes * Fix decode shader compilation * gl: Avoid including unnecessary headers * gl: Refactor capabilities and add GLSL version detection support. * gl: Fall back to renderpass decoder on ATI drivers * Sun Oct 16 2022 pousaduarte@gmail.com - Update to version v0.0.24~git20221015: * cellRtc: Fix some param checks * Fix USIO Backup behavior * Added USB passthrough for H050 USJ PCB * usb_device: Updated control_transfer in order to prevent some games from being frozen * Input: fix MMJOY axis identification * Input: fix some type warnings * Input: simplify InitPadConfig * Input: keep old port status when reconnecting ldd pads * Input: simplify unnecessarily complex ldd reload * Input: log more pad information * rsx: Fix parsing of broken command streams with hanging begin/end commands without a pair. * rsx/overlays: Allow some basic communication from the UI components to the backend renderers * overlays: simplify overlay_media_list_dialog * Savestates: fix endless renaming of used savestates (#12780) * config: Add missing option * settings: Remove misleading comment * qt: Add translation for shader precision * Clean up some unnecessary changes * Qt: Apply tooltip hover to parent groupbox. * rsxqt: Fix shader precision tooltip * gl: Add mesa support for polygon offset * rsx: Implement RSX-compliant polygon offset * rsx: Move fp16 toggle to a global shader precision option * Implemented sys_game_get_system_sw_version() * Corrected the implementation of sys_game_board_storage_read() * Improved the compatibility of USIO for old versions of games * cubeb: ignore callbacks for unknown streams or contexts * cubeb: add some more logging and error checks * Qt: delay first log frame update * Qt: throw if a translation is expected in GetLocalizedSetting * Qt: add missing translation comment * cellSubDisplay: add error checks * rsx: Fixup a bug after mfc list optimization (#12782) * Update sys_game_board_storage_read() * SPU: Enable the MFC list optimization for Atomic RSX FIFO * Optimize vm::range_lock a bit * SPU: Inline and batch MFC list transfers * Sun Oct 09 2022 pousaduarte@gmail.com - Update to version v0.0.24~git20221009: * vk: Reload state on dynamic state changed * Update based on feedback by GovanifY * Replace sprintf with snprintf to silence compiler warning * rsx: Attempt to fix frame limiter * Fixup for scissor/viewport invalidation rules * gl: Fix texture reconstruction logic * vk: Avoid unnecessary dynamic state updates * rsx: Fix program invalidation rules * sys_spu: fixup raw spu destroy regression * PPU Precompilation: Abort compilation as soon as possible on Emu.Stop() * gl: Explicitly declare gl_Position as invariant when using MESA * LV2: Avoid using multi-variable atomic waiting on cpu_thread::state wait * SPU LLVM: don't force-enter process_mfc_cmd() because it's slower * debugger: Don't refresh no-thread window at a high rate * Savestates: Fix unintentional pause when saving with HLE VDEC contexts * Savestates: Make Ctrl+R work when not ingame * System.cpp: Fix RSX thread abort * Savestates: fix saving in HLE functions * cellAudio: Always send periodic sampling events * Fix GCC build * rsx: Handle some more corner cases * rsx: Avoid clobbering CELL memory when splitting fbos * rsx: Track orphaned surfaces' parent addresses * rsx: Add some handy util functions to simple_array * Fix running the emulator with AUDIT enabled * Add origin PRX names for log messages * Sun Oct 02 2022 pousaduarte@gmail.com - Update to version v0.0.24~git20221001: * USIO Backup Minor Optimization * PPU/SPU LLVM: Allow Zen4 cpus to use VPERMI2B/VPERMT2B instead of the vperm2b256to128 path - Zen4 based cpus can process VPERM2B in a single uop, unlike intel where it is 3 uops. * Qt: pad settings: clear input data on thread pause * CELL_NET_CTL_INFO_IP_ADDRESS returns external address * Mac CI fixes * Fix underflow in ZCULL sync * SPU: fix atomicity of inaccurate GETLLAR * sceNpScore: return error on 0 scores returned * Fix faulty GetScoreFriendsRequest * Fix blocking raw socket recvfrom * USIO: Save Game Settings - Full Implementation * vk: Update support for framebuffer loops to comply with current spec * rsx: Fix compiler warnings * rsx: Re-evaluate color MRT setup when the surface target type changes * RPCN v0.6 * vk: Bump compute descriptor pool size to 8k * gl: Fix transform job assert * gui: Rename full width AVX-512 (#12709) * Update LLVM commit (Zen Detection) * [macOS] Ask CMake to look in the right place for include & link directories (#12516) * sys_game_board_storage_read(): Add more known code & Improve byte casting * Implement at32() util * sys_net: Implement sys_net_bnet_sendmsg for native sockets * PPU debugger: report ppu_thread::ack_suspend state * Debugger: Rewind SPU captures * Savestates/Debugger: fix mfc debug option with savestates * Savestates: Don't actually delete savestates * Sun Sep 25 2022 pousaduarte@gmail.com - Update to version v0.0.24~git20220924: * BufferUtils: fix regression on AVX path * rsx: Fix some more warnings * gl: Fix enum collision * Fix build * rsx: Fix hardware deswizzle not getting used when hardware deswizzle flag is not set * gl: Fix D24X8 accelerated encode/decode * gl: Minor optimization around test..set patterns in the state tracker * Fix pkg batch install dlg on linux * sys_ppu_thread: Fix surmixer hack (#12689) * SPU/LV2: Fix tiny race conditions * USIO: Save Game Settings * Allow USB passthrough for Densha de GO! controller * Update MoltenVK to 250e1f9 and single queue (#12620) * rsx: Fix initialization of null cubemap resources * gl: Restrict compute image bindings to [0-8] * gl: Avoid UBO/SSBO binding index collisions * Fix one more warning * cellImeJp: fix regression * Sun Sep 18 2022 pousaduarte@gmail.com - Update to version v0.0.24~git20220917: * Request macOS 10.14.+ permissions (#12600) * Warning fixes * USIO: Keep LastGameStatus Memory * CPU preemption control: don't yield if we can't stop * CPU preemption control: Improve stutter elimination * CPU preemption control: remove yield before thread stop * CPU preemption control: avoidance in reservation operations * CPU preemption control: extend range to 400 * CPU preemption control: Improve analysis * CPU preemption control: bugfixes * CPU preemption control: try to minimize sleep time gaps between setups * CPU preemption control: Add one more debug variable * SPU: Regression fix after #12648 * Implement independent CPU preemptions * sys_game_board_storage_read(): Fix regression after #12637 * SPU: Power consumption reduction when using SPU inaccurate reservations * Avoid reservation notifications in liblv2.sprx * rsx: Properly reset occlusion counters even when the register is not in use. * cellMusic: Implement some error checking * ppu: add some debug information * SPU: Extend Inaccurate SPU reservations * readme: improvements * Add the ability to set the PSID from the configuration (#12637) * sys_ppu_thread: Fix max thread name size * Sun Sep 11 2022 pousaduarte@gmail.com - Update to version v0.0.24~git20220909: * rsx: Simplify FIFO concurrent access. * vk: Fix queue concurrency behavior for images * asm: Avoid ALU instructions on busy wait cycles * rsx: Minor FIFO cleanup * rsx: Get rid of an allocation in analyse_vertex_data that adds about 5% overhead. * rsx: Avoid on-the-fly ZCULL allocations with unordered_map * System.cpp: Fix Create Firmware Cache * simd_builder: fixups * Linux: delete /tmp/perf.map on exit * cellGame: Minor revert * SPU: Allow special channel storage in channel busy waiting period * SPU: Implement "quintuple" Inbound MBOX storage * rsx: Add some debugging information * System.cpp: Fix Create PPU Cache regression * BufferUtils: cleanup regarding ARM64 * BufferUtils: rewrite remaining intrinsic code with simd_builder * BufferUtils: simd_builder refactoring * spu/arm64: clean up assembly code generation * IdManager.cpp: Fix cellFs IDs * cellGame Fix PS3 disc insert * Fix USIO fault when it received unsupported FW commands * cellVdec: Adjust for reservations * SPU: Untangle VM lock to avoid deadlocks * Qt: batch stack suffix updates * Qt: fix weird missing space in stack log * Qt: simplify log logic. We can in fact only flush once. * Fix ARM build (#12606) * Sun Sep 04 2022 pousaduarte@gmail.com - Update to version v0.0.24~git20220904: * Implemented sys_game_board_storage_read() * PPU: Fix STVLX * Update tooltips.h * Unlog sceNpUtilCmpNpId * Savestates/SPU: Minor fixup after fb01ed55 * Savestates/RSX: fix unintentional vblank thread spin after abort * rsx: Implement atomic vertex upload (with Strict Rendering Mode) * SPU: Fix potential deadlock in event queue syscalls * vm.cpp: Fix emulation stopping on SPU access violation (#12586) * BufferUtils: Fix regression in upload_untouched * rpcs3_version: Bump to 0.0.24 * gui/themes: YoRHa by Ani (r3) (#11585) * Update Thread.cpp * Update Thread.cpp * RawSPU: Do not assume GPU memory fault on SPU MMIO * cubeb: Update from 2022.04.13 to 2022.07.21 * glext: Update from 2021.04.20 to 2022.05.30 * XAudio2: Update from 1.2.8 to 1.2.9 * FAudio: Update from 22.07 to 22.08 * 7z: Update from 21.07 to 22.01 * Debugger: Prevent possible "current instruction" duplication when the thread is running * Avoid empty resume output when using PPU debug option * Add some debugging information * Fixes -w leaking * simd_builder: fix constant locations * Implement simd_builder for x86 * Sun Aug 28 2022 pousaduarte@gmail.com - Update to version v0.0.23~git20220826: * Fixed SIG: Thread terminated due to fatal error: Failed to read hex string: invalid argument * Thread.h: Improve thread abort performance * Savestates/sys_fs: Fix saving encrypted and split-files file descriptors * Savestates/SPU LLVM: Improve saving performance * Fix build * rsx/vk: Implement flushing surface cache blocks to linear mem * SPU/Debugger: Improve debugging reservations * Bugfix after #12523 * Fix GETLLAR spin detection * SPU Add ability to specify percentage of busy waiting * vm: Attempt to not remove cpu_flag::wait flag during access violation * SPU: Disable notification if no changes were made in PUTLLC * SPU: Implement custom reservation condition in atomic wait * PPU: Detect lwmutex reservation pattern and optimize it * SPU: add the concept of inaccurate reservations * Savestates: Fix PPU analysis when patches are applied * PPU LLVM: Fix HLE function injection * SPU: Optimize spu_thread::get_events() * SPU: Optimize and enable SPU GETLLAR Polling detection by default * SPU: Interleave loads/stores in reservation access utilities * Sun Aug 21 2022 pousaduarte@gmail.com - Update to version v0.0.23~git20220820: * vk: Update FSR from 1.0 to 1.0.2 (#12538) * Fix surface reuse * rsx: Do not lie about surface details * rsx: Allow longer dispatch queues to accomodate games with high draw call count * rsx: Fix semaphore timeout on boot * Fixup for dst_stage * Fix whitespace * vk: Implement support for VK_EXT_attachment_feedback_loop_layout * rsx: Silence some warnings * CI: upgrade FreeBSD to 13.1 * Update BUILDING.md * vm_native: rewrite win7 workaround * Fix linux build * rsx: Fix 2D intersection tests * util: Provide stack-trace utilities * vk: Align write length when pre-filling buffers with constant patterns * vk: Initialize buffer info blocks to avoid null descriptors * evdev: add motion device * Sun Aug 14 2022 pousaduarte@gmail.com - Update to version v0.0.23~git20220812: * SPU: Fix minor race in sys_spu_thread_receive_event * rsx_debugger: Fix memory leak * CG-Disasm: Name input/output vetex arrays * Debugger: Fix and use centered PC by default * vm: use sparse files to emulate overcommit memory * sys_lwcond: Fix a loose notification in cond wait * LV2: Fix the most annoying race ever * CPUThread.cpp: Fix cpu_flag::pending reset * logs: Prevent potential deadlock of the main thread in stack mode * kernel_explorer: Add info about ppu_thread::ack_suspend * LV2: Optimize sys_ppu_thread a bit * Savestates/LV2: Fix race on _sys_lwcond_queue_wait saving * sys_cond/lwcond: Fix waiting time in the debugger for mutex lock * sys_mutex/lwmutex: Regression fixes after #12378 * LV2: Optimizations and fixes * [macOS] Update hid_pad_handler.cpp to prevent DS4 from disconnecting (#12493) * Workaround for msvc weirdness * rsx: Refactor surface cache storage * System.cpp: Replace std::filesystem usage (#12474) * Update MoltenVK (#12456) * Tuning * rsx: Erase surface background when reloading after a pitch mismatch * rsx: Stubs for pitch conversion * shared_mutex: Optimize busy-waiting by detecting waiters and try to steal the notifying bit * LV2: Re-add dropped optimization by previous commit * LV2: Move nearly all notifications out of all mutex scopes including IDM * IdManager.h: Do not lock IDM mutex if the preliminary ID check failed * LV2: Make sys_mutex and sys_lwmutex lock-free, add some busy waiting in sys_mutex_lock * LV2: Move memory unlocking outside of mutex ownership and make it conditional * A fix of _spurs::add_workload * LV2: allocation-free synchronization syscalls * SPU: Postpone notifications to afterward group mutex ownership * LV2: Add busy waiting before entering atomic wait * LV2: Minor optimization regarding signal flag * LV2: Postpone thread notifications to afterward mutex ownership(s) * Do not use lv2_obj::g_waiting when not needed in sys_timer_usleep * Sun Aug 07 2022 pousaduarte@gmail.com - Update to version v0.0.23~git20220806: * cellPngEnc * arm64: implement pshufb intrinsic * ppu/arm64: don't restore rsp on ppu_gateway return * Qt: Add save filtered log to menu of log viewer * Qt: filter log viewer when opening a file * Input: fix pad initialization * Savestates: Save SFO directory path for PSN games * sys_net: Fix missing locks in some syscalls (#12459) * Fix RSX capture playback * sys_lwcond: Fix rare race on mode 3 signal (#12413) * rsx: Optimize VTX_FMT_SNORM16 decoding * gl: Alias UBO/SSBO slots to avoid exceeding the available number of binding slots. * gl: Fix incomplete stencil view of depth-stencil texture * rsx/vp: Fix SNORM16 vertex decoding * Update rsx_methods.cpp * Update rsx_methods.cpp * Update rsx_methods.cpp * Update rsx_methods.cpp * rsx: Trivial optimization * Savestates/RSX: Fix fifo_control::restore_state * Savestates/MSVC: Replace bugged std::unique (compiler bug) * cellPhotoImport: fallback to extension if sub_type is unknown * cellPhotoImport: allow dev_hdd1 * cellPhotoExport/cellVideoExport: fix filenames * cellPhotoExport: first implementation * cellVideoExport: fix some copy pasta errors and prevent file overwrite * rsx: Do not require ZCULL buffer binding to enable ZPASS counting * HLE: fix file not found errors in media functions * Sun Jul 31 2022 pousaduarte@gmail.com - Update to version v0.0.23~git20220730: * Enable wolfssl fast-math option (#12427) * Update wolfssl to v5.4.0-stable * Update curl to curl-7_84_0 * Update FAudio to 22.07 * Update System.cpp * Update keyboard_pad_handler.cpp * SPU LLVM: Add integer compare optimization for FCMGT * overlays: fix line wrapping and position of lines * cellPhotoDecode: optimize get_scaled_image * Qt: fix image ratio in screenshot_manager_dialog * Implement cellPhotoDecode * cellPhotoImport: fix vfs path and add some logging * cellMusicSelectionContext: fix log message facepalm * cellMusic: Fix resume, fast forward and rewind * implement cellPhotoImport * cellSearch: improve populate_photo_info, read image headers * cellMusicSelectionContext: log playlist * Fix typo in tooltips.h * Fix minor issues with issue templates * vk: Fix a potential deadlock * vk: Handle corner cases * vk: Reimplement compliant async texture streaming * Sun Jul 24 2022 pousaduarte@gmail.com - Update to version v0.0.23~git20220722: * Disable Disc update redirection for manual ELF loader (#12381) * Savestates: Implement compatibility with disc Demon's Souls (#12379) * cellMusic/Decode: implement playlist shuffle and repeat * Mount custom dev_bdvd if a disc game was mounted from dev_hdd0 * Use C++17 ctor for string_view * gl: Silence compiler warning * gl: Do some macro patching for intel driver * vk: Disable robust buffer access for ANV * overlays: implement back and focus in media_list_dialog * overlays: fix media_list_dialog title * Qt/savedata: use rsx overlays selection_code * Replace issue templates with issue forms (#12373) * Revert another change * Savestates: Fix sys_rwlock_wunlock saving * Fix futile wait regression in sys_lwcond_signal * cellMusic: add some error checks and copy context to callback * Logs: Flush unreported errors when turning off Stack Cell errors (#12366) * log_frame: Minor fix for stack mode * Savestates: Fix saving sys_mutex_unlock * Allow non-existing paths in vfs::retrieve * Perform cleanup after Emulator::Load failures * Prefer BDVD over HDD0 in vfs::retrieve * Savestates: Do not restart after Ctrl+S for now * Savestates: savestate reload fix * Savestates: save sys_spu_initialize settings * cellGifDec: random stuff because I was bored * gl: Destroy barrier signals correctly * gl: Reuse scratch images * gl: Combine RGBA8/D24S8 readback and byteswap into one operation * gl: Only toggle state settings that are relevant to the current RSX state * gl: Use DSA for imageview configuration and avoid needless bind operations * gl: Implement support for texture1D decode * gl: Fix compute invocation counts for format handling code * Fix spirv/glslang.vcxproj build to support spaces. * cellMic: slow down if no mics are configured * Fix shellcheck errors * Docker version bump * sys_net: Implement sys_net_abort * Sun Jul 17 2022 pousaduarte@gmail.com - Update to version v0.0.23~git20220716: * cellSysutilAvc2SetStreamingTarget: remove ensure * spu/arm64: fix 16 byte branch patch alignment * windows: fix build for asmjit update * arm64: enable fma and "avx" on Apple and Cortex CPUs * spu: implement ubertrampoline generator for arm64 * spu: implement assembly functions for arm64 * spu: remove rotqby C++ impl * spu: use portable llvm recompiler on arm64 * ppu: fix a bug where arm64 sp wasn't being saved * spu: external function calls should be marked non-tail * mac: mmap calls should initialize with r/w page perms * arm64: add optimized 16byte ld/st for armv8.4a+ * [3rdparty] update asmjit dependency * Savestates/SPU: Kill emulation when its safe to save SPU state * overlays: properly align lines with leading or trailing whitespace * overlays: find missing characters lost during wrapped rendering * overlays: properly calculate offsets for wrapped text * Fixup rsx cpatures * cellCrossControllerInitialize: add dialog * gl: Fix 2D->3D splat in CopyBufferToImage * gl: Implement row alignment in CopyBufferToImage routines * Fix linux build * gl: Silence compiler warning * gl: Support loading data from SSBO using compute shaders * gl: Optimize memory barriers a bit * gl: Finalize BGRA storage format internals * gl: Fix image creation for virtual formats * gl: Properly match BGRA RTT formats * gl: Handle corner cases for CopyBufferToImage * gl: Implement CopyBufferToImage in software * gl: Avoid calling gl functions without a context even if the object is GL_NONE * gl: Fix image views broken after refactor * Fix build * gl: Do not use raw GL image copy command for RSX data * gl: Refactor the rest of GLHelpers * gl: Separate BGRA8 storage from RGBA8 * sceNpUtil: implement skeleton bandwidth test * logs: Batch log messages (optimization) * Savestates: Implement Ctrl+R to reload the most recent savestate * Savestates: Fix "Suspend Emulation Savestate Mode" setting * Savestates/SPU: Complete fix for saving sys_spu_thread_receive_event * Savestates/RSX: Save NV406E semaphore waiting * atomic.hpp: Truncation warning fix * Mon Jul 11 2022 pousaduarte@gmail.com - Update to version v0.0.23~git20220710: * Savestates/sys_spu: Minor fix in saving sys_spu_thread_receive_event * Savestates/SPU: Fix saving sys_spu_thread_send_event * Savestates: Fix crash when savestating before PPU/SPU compilation finishes * rsx: Fix emu stopping crash when using multi-threaded rsx * Savestates: support game collections * Minor fix in shm::map_critical * Savestates/RSX: Restore the ZCULL control state * Use gettid() on Linux, don't use std::thread::id * cellSearch: more error checks and shuffle * cellAudio: fix downmix if device doesn't support multichannel (#12328) * Qt: fix custom settings audio device corruption * Audio: device switching and channel count detection (#12246) * Implement FN (lambda shortener) * Cleanse LOG_CONSTINIT macro * Savestates: Fix argv * Savestates: Fix typo in page size setting * Savestates: Increase timeout for emulation stopping * Savestates: Decryption of executable fix * Savestates: Log file descriptor information * Savestates: Fix minor race with LV2 timers * Savestates/RSX: Save drawing context * RSX/Savestates: Replace GCM hack with a proper fix * Savestates: Fix saving sys_event_queue_destroy * cellMusicDecode: add more error checks and silence some log messages * Savestates/Not Savestates: Fix exitspawn to HDD0 executable with mounted BDVD * cellGem/overlays: show cursor if necessary * cellGem: implement basic ds3 cursor movement * Input: make move handler dynamic * input: fix horrible pad hacks * input: add background input option * Regression fix * Savestates: Cleanup v128 usage * VM/Savestates: Replace bugged read-only block optimization * SPU LLVM/Savestates: Remove unneeded store insurance and add related fix * GUI: regression fix * Log LV2 periodic timers * Savestates: Fix LV2 timers (fixes audio in some games) * Savestates: save cellAudioOut * Savestates: HLE state saving POC in sys_lwmutex * Savestates: Save SPU decrementer state * Qt: add UUID reset button * Remove incorrect Emu.IsStopped() checks * Savestates: Add missing position placement * Savestates: Minor optimization of size * Savestates: Fix zombie PPU threads saving * Savestates: Fix memory containers initialization (invalidates old savestates) * Use utils::c_page_size * Use better macro notation * Aarch64 fixes for RSX * Savestates Support For PS3 Emulation (#10478) * rpcs3_version: Bump to 0.0.23 * Qt: Use exe dir instead emu dir for updates * Qt: log uuid * Partial revert for cf0fcf5a2adf74cd56186ea4416b3ebac0a587a6 * fix macos ci * SPU: Implement execution wake-up delay * Make fs::get_parent_dir/fs::pending_file use string_view as argument * Qt: Properly repaint the Emulation menu icons * Sun Jun 26 2022 pousaduarte@gmail.com - Update to version v0.0.22~git20220625: * rsx: Fixup after #12052 for frame limiter off * rsx: Do not discard flip notifications * rsx: PS3 Native frame limiter improvements, add Infinite frame limiter * Emu: Implement BlockingCallFromMainThread * Qt: fix music handler destructor * Fixup for Emu.EjectDisc() * sys_fs: Add mountpoint for /dev_ps2disc * cellGame: implement disc change callbacks * Debugger: Simplify and optimize #12269 (#12275) * Debugger: Optimize cpu_thread::dump_regs() * Debugger: Refresh at 100hz during debugger interaction (was 20hz) * HLE: more error checks * vm: Make falloc return value bool * Debugger: always print cpu_thread::dump_misc() * IdManager.h: Improvements * Debugger: Hide breakpoint and callstack list if unused (#12266) * Debugger: Implement SPU breakpoints * RSX Memory Viewer: Fix local memory displaying * RSX Debugger: Stable NOP skipping * Qt: add optional states to toolbar icons * SPU: Implement "double" SNR storage * SPU Disasm: Detect sys_event_flag_set_bit syscall * [ppu] Fix function trampoline for arm64 * [3rdparty] Disable warnings for soundtouch dependency * [ppu] fix a macOS arm64 regression * Implement PINE IPC Server * cellAudio(Out): properly implement all downmixing modes (#12252) * stub cellHttp * Fix audio renderer not resetting after cellAudioOutConfigure() was called * Sun Jun 19 2022 pousaduarte@gmail.com - Update to version v0.0.22~git20220618: * cellAudioOut: fix sound_mode exception * stub cellSysutilRegisterCallbackDispatcher * cellSysutil: implement some bgm fxo stuff * cellSysutil: stub cellSysutilGameDataExit functions * cellSysutilRegisterCallback: fix potential read out of bounds * Update SPIR-V to v2022.2 * Update curl to v7.83.1 * Update glslang to v11.10.0 * Update wolfssl to v5.3.0-stable * Update hidapi to v0.12.0 * Update FAudio to v22.06 * SPU/PPU LLVM: fix triple setup (regression fix) (#12228) * SPUAnalyzer.h: Add missing category check functions (#12222) * PPU LLVM arm64+macOS port (#12115) * rsx: Improve Null Renderer * glsl: Avoid implicit int->uint conversions (#12220) * Sun Jun 12 2022 pousaduarte@gmail.com - Update to version v0.0.22~git20220612: * SPU LLVM: fix vrangeps usage in clamp_smax * rsx: Fix NV406E semaphore_acquire timeout detection (#12205) * Qt: remove "Send Exit CMD" menu option * Qt: Also parse changelog with "Background" update * RSX: Add more wide paths for upload_untouched - Adds AVX512 path for upload_untouched u16 with primitive restart, and AVX2 and AVX512 paths for upload_untouched without restart - The AVX512 paths handle the remainder in simd code with masking, which provided a large speedup - On my i5-1135G7 in demons souls benchmarking a scene in boletaria with a lot of geometry on screen via perf: SSE4_1 0.64% AVX2 0.59% AVX512 0.56% AVX512 w/ remainder masking 0.51% * rsx: Suggest to try setting RSX FIFO Accuracy to a higher mode of accuracy on crash (#12204) * SPU LLVM: Use vrangeps in clamp_smax - This instruction can clamp a value between a range of values, something which previously needed 2 instructions. - With the immediate byte set to 0x2 it will compute the minimum between the absolute value of the first input and the second input, and then copy the sign from the first input to the result. * SPU LLVM: Improve expression matching detection for moved registers * Implements sys_fs_fcntl 0xC0000008 & 0xC000001A (#11957) * DS3: fix other report size check. * vm_native.cpp: Use Windows 10 memory mapping API (the correct API) * DS3: fix report size check. * sys_rsxaudio: use max channel count from configured sound_modes * sys_rsxaudio: only update config if the fxo is initialized * cellAudioOut: properly implement downMixer * cellAudio: simplify sound mixer * vk: Fix image view search and destroy * SPU LLVM: Microfixes - Avoid vpermb path in shufb when op.ra == op.rb - Reverse indices with (c ^ 0xf) rather than (~c) in vpermb path, vpternlogd is a 3 input operation and requires needless mov instructions to avoid destroying inputs * LLVM: Fix 0 vector constant observation * Tue Jun 07 2022 pousaduarte@gmail.com - Update to version v0.0.22~git20220607: * Enable ppu_feed_data in PPU Interpreter * Enable call history in PPU Interpreter * initial cellGameThemeInstall and cellGameThemeInstallFromBuffer * cellMsgDialog: send DRAWING_END on abort * Optimize emulation stopping for when cellSysutilCheckCallback is not called * cellSysutil: Implement DRAWING callbacks * cellGame: Revert cellGameDataCheckCreate2 change for now * rsx: Resurgence of HLE GCM * Qt: use dedicated thread for getting input in the pad settings * vm_var.h: Ensure 16-bytes alignment of gvar * cellGame: Make stats storage non-temporary, fix cbSet->setParam initial value * Qt: use unique_ptr for Ui objects. Should fix some mem-leaks * HID: optimize get_next_button_press a bit * HID: properly check return values and report IDs * HID: zeroize buffers before getting a report, use std::array * DualSense: Fix firmware report on newer versions * CellAudioOut: Add some placeholders to CellAudioOutCodingType * cellAudioOut: update TODO comments for CELL_AUDIO_OUT_SECONDARY * cellAudioOut: Only add LPCM 2ch. to secondary output * Fix msvc parsing error caused by different naming * cellAudioOut: set latency to 13 * cellAudioOutGetConfigure: Store and return set config seperately * cellAudioOutConfigure: don't return error on unsupported config * cellAudioOut: Prefer 7.1 if available and supported * cellAudioOut: Use bev_bdvd for disc game PARAM.SFO * SPU LLVM: Reneable icelake shufb paths - The previous code works just fine * gl: Disallow overlapping binding points * rsx: Minor fixup (#12165) * rsx: Implement atomic FIFO fetching (stability improvement) (non-default setting) (#12107) * rsx: Reduce some error spam * gl: Fix leaking texture views * gl: Track image destruction and remove handles from state tracker * gl: Refactor image and command-context handling * SPU LLVM: Optimize LQR/STQR - Avoid type mismatch between adds that prevented llvm from combining the operations * rsx: Restore some accidentally removed depth-format conversion macros * gl: Fix data pointer on the optimized AMD path * gl: Fix copypasta * gl: Fix warning * gl: Fix ring buffer remove() function * gl: Use new scratch buffer system * gl: Implement scratch ring buffer with memory barriers * gl: Refactor buffer object code * gl: Assume decode buffer is to be used as SSBO as this seems to be a hint to the driver about where to put the buffer * gl: Fix texture binding in overlay renderer * gl: Reset buffer size on destroying the GPU handle * gl: Suggest readback buffer as ssbo if it is not provided * gl: Implement fast texture readback for D24X8 and RGBA8/BGRA8 * feat: add boot test menu entry * Move test elfs to test dir * cellAudioOut: add stereo, 5.1 and 7.1 for covenience * cellAudioOut: switch to manual multi-selection of format as seen on PS3 * cellAudioOut: Always add Linear PCM 2 Ch., also add 5.1 when 7.1 is selected * cellAudioOut: log all added sound modes * cellAudioOut: simplify sfo access and make it foolproof * PSF: move resolution flags to enum * PSF: move sound format flags to enum * cellAudioOut: fix AC3/DTS mixup * cellAudioOut: add sound modes even if they aren't supported * cellAudioOut: simplify sound mode initialization * cellAudioOut: apply review fixes, add some comments * cellAudioOut: use 2 channel LPCM by default and also use it as fallback * cellAudio: use format instead of downmix * cellAudioOutGetSoundAvailability: return channel count based on available sound modes * cellAudioOutConfigure: move sound_modes to fxo, implement waitForEvent * cellAudio: Implement application based downmix settings * vm: workaround bigger native page size for 4k pages * Implement utils::c_page_size (unused) * rsx_methods: fix warning * cellAudioQuit: do not clear event queues * fix: changes execl to execv for compatibility with checkrt * gl: Fix AMD buffer decode * gl: Implement on-chip buffer-to-d24x8 conversion * gl: Add missing viewport save * gl: Use DSA for compressed texture upload * gl: Properly preserve texture state * Fix linux build * gl: Remove debug message * gl: Workaround for poor AMD OpenGL performance * gl: Compute optimizations * gl: Deswizzle textures on the GPU * gl: Update some more buffer-object functions * gl: Optimize consumption of buffer objects when uploading textures * gl: Commit to bindless framebuffer object management * rsx: Allocate scratch memory using simple array with no default initialize * gl: Improve CS throughput * gl: Handle texture binding using the global state tracker * gl: Commit to a consistent global state * gl: Commit to using DSA for internal buffer management * gl: Rewrite buffer mapping * gl: Fix stat counters * gl: Do not allow cross-aspect bitcasts * Fix issue #12137 * Debugger: Show HEX view of floating-point PPU registers * Qt: fix tooltips and widget states in settings * Qt: add vblank_ntsc_fixup to UI (#12042) * Qt: Misc text updates (#12110) * Mon May 30 2022 pousaduarte@gmail.com - Update to version v0.0.22~git20220530: * rsx: Fix deadlock in vm::_page_unmap * fix: parsing bug in read_metadata * SPU LLVM: Fixup for inline MFC transfers - Could previsouly segfault when src and dst were swapped. Just use unaligned instructions instead. * sys_rsxaudio: timer fix * SPU LLVM: Optimize inline MFC transfers - Use wider instructions when possible * rsx: Fix second VBLANK time * Revert "rsx: Fix FLIP time" * fix: unset APPDIR before launching new appimage * rsx: Fix FLIP time * rsx: Fix VBLANK time * Update LLVM commit - Contains a commit that makes AVX-512 code size smaller * More verbose errors in nt_p2p_port * gui/themes: Nekotekina by GooseWing (update) (#11588) * Thu May 26 2022 pousaduarte@gmail.com - Update to version v0.0.22~git20220526: * sys_spu: Fix spu_thread_group_terminate deadlock * build/cmake: unbreak USE_SYSTEM_FLATBUFFERS after bec0b6e8c33d * Overlays: Add screenshot message to queue * Add base-devel to Arch Linux in Building.md * sys_rsx: Full reset of flip semaphore * Debugger: Implement SPU mailbox content display * Fix cellVdec regression to be harmonized with the new interrupts model * cellAdec: fix uninitialized default size of AVPacketHolder (#12077) * RawSPU: Reinvoke pending interrupts if missed * vk: Enable event scope hack for INTEL proprietary drivers * vk: Restructure how the conditional render evaluation is done (#12071) * sys_rsxaudio: Add id to kernel explorer and some fixes * Add a message overlay * fix lv2_socket_native::accept * Add regeneration for system flatbuffers users * Warn about LTO and adds an option to remove LTO flags * Limit range of wake-up delay slider + adjust tooltip * Sun May 22 2022 pousaduarte@gmail.com - Update to version v0.0.22~git20220521: * rsx: Move PS3-compliant behavior to a new option * Fix display flickering * rsx: Trivial non-blocking display synchronization * Remove all HDD0's temporary game data created by cellGame at boot * Wipe clean VSH's temporary directory of choice at boot * Do not dare to touch HDD1 cache during game process respawn! * rsx: Asynchronously flush the pipelines when handing ZCULL memory access violations * rsx: Deadlock avoidance of accurate RSX reservations * rsx: Implement HW accurate frame limiter * rsx: Separate loop interrupts from graphics state * rsx: Add eng lock before flagging memory unmap * rsx: Fix typo * rsx: Rework loop interrupts a bit * rsx: Silence some log spam * vk: Avoid multimap when handling image views * rsx/zcull: Improve deadlock avoidance * rsx/zcull: Less aggressive disabling of optimizations * rsx/zcull: Pause the main thread before flushing reports * Fix VS * Crash fix * rsx: Improve sync_hint callback interface * rsx: Stop spamming ZCULL update method * rsx/vk: Redesign how conditional rendering hints work * rsx: Lower performance hit due to frequency fetch * Random optimization * gcm: Force HLE of cellGcmGetTimestamp * rsx: Implement RSX reports area access detection and optimize around it * lv2: Make some struct declarations uniform * vk: Unconditionally enable hw acceleration for conditional evaluation * rsx: Simplify ZCULL logic a bit * rsx: Move ZCULL logic to its own file * Add a constraint about vm area approx matching * PPU DisAssembler: Prevent false function descriptor detection * Update PPUThread.cpp * Implement sys_process_exit3 * SPU: Implement timer freezing ability * Debugger: Fix instruction "pop-in" when resizing * Fix recursion in the debugger * sceNp: register custom menu * Loader: Fix out-of-bounds access of string * LV2: Memory state post-exitspawn fixes * PPU LLVM: Precompile system-internal executables if booting a dev_flash's program * SPU: Fix race on SPU Mailbox last value reading * CLI: add decrypt option * Fix for ticket parsing * PPU: implement accurate FRES * PPU: implement quasi-accurate FRSQRTE * Update FW 4.89 Latest Version * Implemented sceNpDrmGetTimelimit * Fixed duplicate prefix in SELF log * Return NPD header in verify_npdrm_self_headers and VerifyEDATHeaderWithKLicense * Unified NPD header in unedat.h * cellAudio: Some bugfixes * sceNp: add some constants * Debugger: Show constant-formed attribute of register value * Implement sceNpManagerGetTicketParam * Qt: add new vfs usb tab * sys_fs_fcntl: hook up usb device info * VFS: Add device_info to vfs config * MSELF extractor: Ensure the files' dwellings * Sun May 08 2022 pousaduarte@gmail.com - Update to version v0.0.22~git20220508: * Workaround: Force audio provider * cellAudio: fix timestamp exception * atomic.cpp: fix race in cond_id_lock() * input: properly log hid_error (strfmt wchar_t) * cellHttp: add more errors * sceNpTrophyGetTrophyUnlockState: handle read_only * sceNpTrophyRegisterContext: add read_only check * sceNpTrophy: don't use TROPHY.TRP in CreateContext * sceNpTrophy: remove confirmed comment * sceNpTrophyRegisterContext: handle SHOW_ERROR_EXIT * Make CPU Profiler able to print stats which sum up the records of all SPU threads * ELF: fix sh_flag bitset enum * Add Top Shot Elite controllers to whitelist * Qt: disable mouse movement mode groupbox * Avoid using PUTLLC in PUTLLUC if we know SPU LR has already been raised (#11940) * Fix for device2host control transfers * dnshook: add asterisk support * SPU: optimize conflicting PUTLLUC (No-TSX) * input: add absolute mouse movement mode * sys_rsxaudio: Initial implementation (#11907) * sys_net: ensures return from raw socket calls * cellRec: fix pOpt pointer type * cellRec: fix some warning * cellGameExec: fix warnings * Add Force_Disable_Exclusive_Fullscreen_Mode to UI (#11923) * Thu May 05 2022 pousaduarte@gmail.com - Update to version v0.0.22~git20220505: * Tentative fix for unreadable ELF sections without flags * Remove slow vm::writer_lock usage from SPUThread.cpp * Fix Emulator::argv state after failed PS3 exitspawn * SPU: Cache reservation memory direct access handle (optimization) * Update commits.lst * Minor AArch64 support changes * Add supporters * PPU Loader Fix removing writablity permission for RSX/SPU writable segments * SPU/PPU Loader: Implement linker/PS3 compiler executable files loading * halfplement cellRec * halfplement cellVideoExport * PPU LLVM: match interpreter for VEXPTEFP/VLOGEFP * Debugger: Fix instruction selection * Debugger: Fix instruction pointer for good * vm: remove g_mutex, use g_range_lock instead * rpcs3_version: Bump to 0.0.22 * Fix forced HLE injection * Sun May 01 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220430: * Debugger: Keep instruction's panel up-to-date with memory changes * Update libusb to v1.0.26 * Thu Apr 28 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220428: * rsx/vp: Zero-initialize temporary registers * Fix typos * rsx: Improve lowered precision comparison emulation * sceNpMatching2CreateContext checks psn state (#11887) * Update buid instructions for Arch * cellOskDialog: do not intercept input unless we actually show a dialog * OSK/overlays: fix initial input interception * Input: log interception and its source function * Fix instructions editor, implement preview for to-be-edited instructions * TRPLoader: Use std::string_view * TAR: Allow to use save_directory with a buffer not 512-bytes aligned * overlays: enable key repeat by default * OSK/overlays: handle keyboard enter and escape * overlays: ignore input if kb pad handler is active * cellOskDialog: add event_hook_callback logging * OSK: flush key input to prevent key event spam * cellMusic: lower some log levels to reduce spam * cellOskDialog: implement dimmer_enabled * overlays: only log actual input loop errors * cellOskDialog: implement base_color * cellOskDialog: implement KeyboardEventHookCallback * OSK: allow device input during interception * cellOskDialog: implement device mask and lock * cellOskDialog: add some error checks and TODOs * OSK: Ignore gamepad input if a key was pressed * OSK: handle keyboard input * keyboard: use std::array, default init, + KbButton * Make Guitar Hero Live Guitar GHTV button bindable Also make emulated interrupt transfer as fast as possible * Update flatbuffers to v2.0.6 * Log: add ability to force log all errors * Log: ensure fmt * Log: Add spacer between error and fmt if necessary * cellVdec: send AUDONE even when the queue is being flushed/restarted * cellVdec: log sequence id of commands * cellVdecStartSeq: log level warning * cellVdec: send AUDONE before PICOUT * cellVdec: add callback and command id logging * cellVdec: fix cellVdecStartSeq (restart mode) * cellVdec: improve logging a bit * cellVdec: add handle to more log messages * Thread: define how to access PC on BSD aarch64 after 580bd2b25eba * Reduce stack usage in atomic_wait_engine::notify_all * Optimization: disable atomic_wait_engine notify callback for SPU * libav: remove deprecated option refcounted_frames * curl: fix cmake * Make MSL Fast Math and software vkSemaphore optional * curl: update from 7.79.1 to 7.82.0 * glslang: Update from 11.7.1 to 11.9.0 * zlib: Update from v1.2.11 to v1.2.12 * pugixml: Update from v1.11.4 to v1.12.1 * FAudio: Update from 21.11 to 22.04 * 7z: Update from 19.00 to 21.07 * Update cubeb to latest version * HLE: simplify some error formats * cellGameGetParamString: fix patch mode * rsx: Allow NV0039 0x2100 * Qt: fix access to uninitialized Pad object * cellVdec: use av_error_to_string * cellVdec: Remove irritating while loop * cellVdecGetPicture and cellVdecGetPictureExt swap * cellVdecDecodeAu: fix param check * cellVdec: fix out format line offsets * cellVdec: call av_dict_free * cellVdecDecodeAuEx2: some REd guesswork * cellVdecDecodeAu: add codec type check * CellVdecDivxSpecificInfo2 (who knows if this is correct...) * CellVdecPicAttr * cellVdec: add more error logging * CELL_CODEC_PTS_INVALID, CELL_CODEC_DTS_INVALID * cellVdec: implement CELL_VDEC_ERROR_SEQ * Qt: Replace some deprecated Qt5 stuff * cellGameGetParamString: check_mode for category * libav: log more error codes as string * Update main_window.cpp * Fix compressed pitch calculation * Tue Apr 19 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220418: * macos: fix build for arm64 * build-macos: fix cmake config for arm64 * Interpret negative values in game patches * MoltenVK as a submodule * Sun Apr 17 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220417: * sys_net: Fix race between dnshook and nc * Qt: Add timestamp filter to log viewer * sys_net: SYS_NET_ENETDOWN for offline dns rqsts (#11822) * Log a snippet of guest thread code at crash * RSX-Debugger: Implement backwards scrolling * sys_net fixes and extra logging * windows: fix git version script release check * Qt: unify version displays * windows: adjust git version script to cirrus ci * test * Add git fallback to git-version-gen.cmd * sys_net fixes * Add some error handling to sys_usbd * rsx: Separate guest flip timer from host timing operations * overlays: Fix frame timing * Set BUILD_SOURCEBRANCHNAME on Cirrus to fix build warning * Update with new cirrus GitHub key * Move binary release deployment from Azure to Cirrus * Automatically determine the epsilon value programatically * rsx: Implement Z value snapping to account for precision errors * patch_manager: check if address has hex format * sys_net: bind & getsockname accuracy * Qt: add last thread actions option to log viewer * Qt: add show threads option to log viewer * Qt: allow to filter the log viewer with log levels * Qt: Allow to filter the log multiple times * Add stubs. * Fix get_roomdata_external_list callback event id * sys_net: fix dns redirection * PARAM.SFO loader improvement * sys_net: Fix return values being tagged as errors * cellOskDialogAbort: always send finished event * cellOskDialog: fix cellOskDialogAbort error format * cellGameGetBootGameInfo * Sun Apr 10 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220410: * rpcn: validate callbacks before queuing them * Various sys_net improvements * Patch manager: detailed message box for long logs * Patch manager: check for invalid value node * Patch manager: add node location to patch errors * re-add scope to sys_net_bnet_poll * sys_net refactor (#11740) * Add SPU XFloat Accuracy combobox * revert cellSysutilAvc2Load * cellSysutilAvc2 fixes * cellSysutilAvc2EstimateMemoryContainerSize * cellSysutilAvc2: more improvements * cellSysutilAvc2SetWindowString: add strlen check * cellSysutilAvc2InitParam: remove overzealous code. * cellSysutilAvc2: more stubs and errors * cellSysutilAvc2: more constants * cellSysutilAvc2: format some enums * Qt: Implement simple filter in log viewer * rsx: Fix surface cache scanning and removal * rsx: Optimize software sampling further for the 6-tap kernel * rework weighting scheme * 6-tap experiment * rsx/glsl: Fixup * glsl: Rewrite MS sampling implementation * rsx: Implement basic 2D bilinear filtering for MSAA images * Sun Apr 03 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220401: * gs_frame: remove unnecessary CallFromMainThread * Qt: fix GracefulShutdown regression * Emu: actually wait 5 seconds during GraceFulShutdown * soundtouch: fix debug build * sceNpTrophyGetTrophyIcon: SCE_NP_TROPHY_ERROR_HIDDEN * rsx: Avoid unnecessary memprotect syscalls * rsx: Handle in-place image swaps when locking data for WCB/WDB * rsx: Handle DMA block init where empty pages exist in the range * rsx: Disable ref count on exit * rsx: Reduce log spam a bit * rsx: Fix leaking surface cache refs from texture cache * vk: Rebuild swapchain in case of unexpected errors during present * vk: Force resolve explicitly for transfer operations * PPU: fix step execution after BP * PPU: correct behaviour under external debugger * Sun Mar 27 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220326: * Fix interpreter * vk: Restore UBO alignment * rsx: Invalidate transform block on program change * Fix OGL * rsx: Handle vertex shaders with no constant references * rsx: Fix program generation and compact referenced data blocks * rsx: Relocatable transform constants * CI: Update Vulkan to minimum version * Warning Fixes * Wed Mar 23 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220323: * Fix vulkan compilation warnings * Fix ambiguous comparison operator warning * rsx: Block size back down to 4MB * rsx: Bump surface cache block size to 16M * rsx: Rework ranged map * Fix linux * rsx: Optimize surface store for faster scanning * WolfSSL: Use a custom UTF-8 aware _stat on Windows * Update WolfSSL submodule * fix vfs::host::rename. - resolve_path requires the path to be valid and can only be used before the call to fs::rename, not after. * Mon Mar 14 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220314: * Build on Monterey and set target to 11.6 * Low Power Mode detection * Sun Mar 13 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220312: * cellMic: remove cellMicRead error spam * rsx: Unconditionally set MSAA flags if MSAA is active * rsx: Clean up surface cache routines around RTT invalidate * Use simpler C00 unlock EDAT check in GUI * rsx: Fix msvc build * rsx: Fix clang build * rsx: Reduce the performance impact of enabling the profiling timer * rsx: Avoid calling slow functions every draw call * rsx: Fully process texture if surface cache configuration changed * rsx: Fix build * rsx: Optimize metrics a bit * rsx: Fix surface write coherency when MSAA is active * cellMusic/Decode: add SelectContents functions * Mon Mar 07 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220306: * cellMusic: fix qt music handler resume * Sun Mar 06 2022 pousaduarte@gmail.com - Update to version v0.0.21~git20220305: * cellMusicDecode: initial implementation * Fix macOS CI Qt path * Fix some enumeration warnings * cellMusic: implement qt music handler * vk: Encode image type when caching resources * Revert "rsx: Downgrade depth-1 3D images to 2D (#11593)" * rsx: Downgrade depth-1 3D images to 2D (#11593) * rpcs3_version: Bump to 0.0.21 * Qt: store pad settings state and remove max size * Sun Feb 27 2022 pousaduarte@gmail.com - Update to version v0.0.20~git20220227: * Round macOS icon * Set min macOS version to 11.6 * gui/themes: YoRHa by Ani (r2) (#10785) * vk: Do not enable passthrough DMA unconditionally (yet) * Flush dma offloader on texture read sema * Qt: show time of day in 'last played' game info, log current time when RPCS3 boots (#11220) * Disable passthrough DMA for proprietary intel driver * vk: Drain the label queue before using the CPU fallback to avoid out-of-order signals * rsx: Remove leftover dprints * vk/rsx: Tuning and optimization for host labels * rsx: Add the option to the advanced tab * rsx: Implement host GPU sync labels * Qt: set organization name * shortcuts: add some logging, fix shortcut path * update_manager: add some logging * Drop redundant declaration * Fix build * vk: Remove unused variables * vk: Remove hardcoded command buffer list length * vk: Remove pointless function (VKGSRender::open_command_buffer) * vk: Move renderer types to a separate file * vk: Rewrite command buffer chains * macOS: Implement shortcuts * Fix macOS builds * windows: fix windows shortcut paths * linux: fix shortcut icon aspect ratio * Unbreak macOS builds * cellSearch: fix cellSearchStartListSearch * Qt: create rpcs3 shortcuts * Qt: properly hide metal sempahore if not apple * cellSearch: more logging * rsx: add boost mode shortcut * Add MoltenVK Semaphore setting * Sun Feb 20 2022 pousaduarte@gmail.com - Update to version v0.0.20~git20220219: * cellSearch: log audio and video metadata * cellSearch: silence irrelevant log error * cellMusic: fix cellMusicSetVolume log messages * RSX: Fix rsx capture stop * Fixes some unchecked derefs in sceNp logging * Fix sys_fs_close FD state logging * vk/dma: Initialize COW DMA block contents to avoid leaks * Bump vulkan headers requirement * cellSaveData: Check filename format of savedata files (#11502) * gl: Harmonize format conversion values * vk: Drop unused native format ABGR8 * gl: Remove pointless assert * qt: Add translation resources * qt: Update tooltips * vk: Per work-queue scratch resources * vk: Ignore queue transfer stuff when using 'fast' mode * Fix linux build * vk: Spec-compliant async compute * Sun Feb 13 2022 pousaduarte@gmail.com - Update to version v0.0.20~git20220212: * Terminate headless rpcs3 if nothing was booted * Use RPCS3/asmjit fork * Input: multithreaded handlers * rsx: End the current frame before performing cache cleanup to release in-flight data * vk: Rewrite resource management * vk: Fix up multiple resource allocation routines * Rename CallAfter to CallFromMainThread * rsx: Lower performance warnings to 'warn' level instead of 'error' level to avoid causing panic for users * rsx: Fix memory tagging and add some security checks * Sun Feb 06 2022 pousaduarte@gmail.com - Update to version v0.0.20~git20220206: * Fix IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP * vk: Speed up cached image search a bit * vk: Fix WCB crash * vk: Silence compiler warnings * vk: Use image hot-cache for faster allocation times * Qt: save settings dialog window state * Add overlay animations * Qt: make patch manager dialog resizable * Qt: make about dialog resizable * Qt: add scrollbar to settings dialog * Qt: adjust wording for updates * Implement Emulator::GracefulShutdown() * rpcn: add cookie impl to tickets * Wed Feb 02 2022 pousaduarte@gmail.com - Update to version v0.0.20~git20220201: * Qt: fix compat download abort * input: add enumeration threads for each hid_pad_handler * input: add missing nullptr checks for pad * Audio: prevent click at play/pause * XAudio: fix deinitialization order * SoundTouch resampler integration * Fix linkage error on debug build with clang-13 * SPU LLVM: Add relaxed xfloat option - This new setting is on by default - It's active when approximate default is disabled - Approximate xfloat is now exposed to the gui * rsx: Validate requested images before attempting to upload them * vk: Fix 'grow' behavior when we reach the size limit * vk: Fix working buffer calculation for emulated D16F operations * Sun Jan 30 2022 pousaduarte@gmail.com - Update to version v0.0.20~git20220129: * Implement fs::isfile (#11447) * macOS CI: Don't hardcode moltenVK and llvm version-specific paths * Windows Hotfix: Update hidapi * Fixup creating image path * Fix overlays::image_info constructor * Implement utils::memory_map_fd (partial) * Wed Jan 26 2022 pousaduarte@gmail.com - Update to version v0.0.20~git20220126: * gl: Clean up format bitcast checks and register D32F type for FORMAT_CLASS16F * Fix missing typeless info update * overlay_controls.cpp: Improve image_info ctor withstandability * vk: Fix float16 requirement issue * Add loop building utilities for ASMJIT * Improve JIT profiling on Linux * Fix abuse of fs::pending_file * Call avcodec_register_all in case of old ffmpeg * Remove built_function * macOS: Fix DS3 init on Monterey * qt: Encourage users to use better ZCULL synchronization options * vk: Rework format feature validation * Sun Jan 23 2022 pousaduarte@gmail.com - Update to version v0.0.20~git20220123: * Add a QGroupBox in RPCN password window * rsx: Improve coverage checking logic to handle 3D and cubemap resources * rsx: Take depth into account when calculating coverage * rsx: Fix local slice height calculation * vk: Only enable DCC workaround if the format features allow it * macOS: Implement texture swizzling for 16-bit formats * Initial support for Apple GPUs * Disable macOS swizzling workaround * cellVdec: constify AVInputFormat for ffmpeg >= 5.0 * cellAVdec: constify AVCodec for ffmpeg >= 5.0 * PPU: port FP convert instructions to Aarch64 * PPU/simd.hpp: minor changes in DP instructions * PPU: rewrite MFOCRF+MFCR instructions * PPU: rewrite LVSL/LVSR instructions * Use global variable in gv_zeroupper * PPU: rewrite LVLX/LVRX/STVLX/STVRX instructions * PPU LLVM: use masked stores for STVLX/STVRX * vk: Avoid leaking descriptor copies * vk: Keep the total number of allocated samplers under control * PPU: fix crash on SSE41 CPU in internal builder * PPU: print internal interpreter build error * PPU: fixup for old CPU * PPU: refactor shift and splat instructions * Qt: fix RestoreDefaults crash * Qt: check for patch updates * ARM: don't calibrate TSC, use cntfrq_el0 info * PPU: improve interpreter codegen * Remove unnecessary asmjit::imm_ptr * PPU: refactor vector rounding instructions * PPU: refactor VPack instructions * PPU: more interpreter refactoring (VPERM) * Fix PPU decoder settings dialog * Force close socket in sys_net_bnet_close * Fix invalid descriptor setup if subdraw0 has broken vertex setup * rsx: Optimize 8-bit rounding logic a bit * rsx: Round up 8-bit ROP output on NVIDIA cards * rsx: Surface format remapping enhancements * PPU: Rename new ppu_use_nj_bit setting to flip it back * PPU Interpreter: fix accuracy flag dispatch * PPU LLVM: improve accuracy of VSL/VSR * PPU LLVM: fix VMINFP and VMAXFP accuracy * PPU LLVM: fix VNMSUBFP sign handling * PPU: restore previous NJ mode handling option * Qt: Fix accurateXFloat enabled state in settings dialog * Initial Linux Aarch64 support * vk: Enable shading rate hack for all GPUs * Revert recent file system changes (#11370) * Fix typos (#11361) * FS: use std::filesystem::u8path * VFS: fix missing path deliminators * aes.cpp: Use secured memory resetting * Update PPUTranslator::MTFSFI for its intention to be clearer * shared_ptr.cpp: Remove std::swap specialization * Bugfix of Emulator::Load disc path searching * fs: Reimplement path resolving using std::filesystem::weakly_canonical * WolfSSL: Use a custom UTF-8 aware fopen on Windows * Implement proper macOS version check (#11352) * macOS: Increase thread stack size to 8 MiB * Log maxfiles to file and stderr on *NIX * macOS: Set correct maxfiles (fixes shader cache and SPU LLVM) * macOS: Fix arrow keys * Update wolfssl * macOS: Warn if Vulkan is not supported * Disable OpenGL on macOS * rsx: Use 32 bit integers for pitch * cellGame: Fall back to VERSION field if APP_VER is missing from PARAM.SFO * More sys_uart packets (#11332) * Sun Jan 09 2022 pousaduarte@gmail.com - Update to version v0.0.20~git20220107: * rsx: use coverage ratio to determine when too much data is overlapping * rsx: Rework invalidation tagging * rsx: Bump surface removal threshold values * rsx: Add optimized version of section removal code * cellAudio: fix enqueued samples computation * rsx: Fix wrong fault report in initialization (#11323) * macOS CI * Fix macOS hidapi CMakeLists * Fcntl 0xc0000007, 0xc0000015, 0xc000001c * USB: Improve SingStar emulation * llvm: Update to latest submodule commit (#11325) * Add multi-config generator build support for Windows. * hidapi CMakeLists.txt fix * Rebase hidapi to 0.11.0 * SPU: Use REP MOVSB in do_dma_transfer - Try to use REP MOVSB when the size of the transfer is above a certain threshold - This threshold is determined by the ERMS and FSRM cpuid flags - The threshold values are (roughly) taken from GLIBC - A threshold of 0xFFFFFFFF indicates that the cpu has neither flag * HLE: fix some types * gl: Fully drop alignment restriction for compressed textures * rpcs3_version: Bump to 0.0.20 (#11318) * Update ASMJIT (new upstream API) * GDB: Rework to_hex/hex_to functions * Handle SYS_NET_IPPROTO_IP get/setsockopt Improve net logging. * Fix builds on additional platforms * Update LLVM commit * Add an error check in JITAnnouncer event listener * LLVM: enable some JIT events (Intel, Perf) * rsx_methods.cpp: optimize compile time (120s to 10s) * copy_data_swap_u32: build AVX-512 path * Disable built_function on __APPLE__ * BufferUtils: remove dead code (vertex streaming) * Re-refactor copy_data_swap_u32 again * Don't use vm::preallocated flag in patch enclave allocs
/usr/bin/rpcs3 /usr/share/applications/rpcs3.desktop /usr/share/doc/packages/rpcs3 /usr/share/doc/packages/rpcs3/README.md /usr/share/icons/hicolor/48x48/apps/rpcs3.png /usr/share/icons/hicolor/scalable/apps/rpcs3.svg /usr/share/licenses/rpcs3 /usr/share/licenses/rpcs3/LICENSE /usr/share/metainfo/rpcs3.metainfo.xml /usr/share/rpcs3 /usr/share/rpcs3/GuiConfigs /usr/share/rpcs3/GuiConfigs/Classic (Bright).qss /usr/share/rpcs3/GuiConfigs/Darker Style by TheMitoSan.qss /usr/share/rpcs3/GuiConfigs/Envy.qss /usr/share/rpcs3/GuiConfigs/Kuroi (Dark) by Ani.qss /usr/share/rpcs3/GuiConfigs/ModernBlue Theme by TheMitoSan.qss /usr/share/rpcs3/GuiConfigs/Nekotekina by GooseWing.qss /usr/share/rpcs3/GuiConfigs/Skyline (Nightfall).qss /usr/share/rpcs3/GuiConfigs/Skyline.qss /usr/share/rpcs3/GuiConfigs/YoRHa by Ani.qss /usr/share/rpcs3/GuiConfigs/YoRHa-background.jpg /usr/share/rpcs3/GuiConfigs/kot-bg.jpg /usr/share/rpcs3/GuiConfigs/list_arrow_blue.png /usr/share/rpcs3/GuiConfigs/list_arrow_down_blue.png /usr/share/rpcs3/GuiConfigs/list_arrow_down_green.png /usr/share/rpcs3/GuiConfigs/list_arrow_down_white.png /usr/share/rpcs3/GuiConfigs/list_arrow_green.png /usr/share/rpcs3/GuiConfigs/list_arrow_white.png /usr/share/rpcs3/Icons /usr/share/rpcs3/Icons/ui /usr/share/rpcs3/Icons/ui/L1.png /usr/share/rpcs3/Icons/ui/L2.png /usr/share/rpcs3/Icons/ui/R1.png /usr/share/rpcs3/Icons/ui/R2.png /usr/share/rpcs3/Icons/ui/circle.png /usr/share/rpcs3/Icons/ui/cross.png /usr/share/rpcs3/Icons/ui/dpad.png /usr/share/rpcs3/Icons/ui/dpad_down.png /usr/share/rpcs3/Icons/ui/dpad_left.png /usr/share/rpcs3/Icons/ui/dpad_right.png /usr/share/rpcs3/Icons/ui/dpad_up.png /usr/share/rpcs3/Icons/ui/fade_bottom.png /usr/share/rpcs3/Icons/ui/fade_top.png /usr/share/rpcs3/Icons/ui/left_stick.png /usr/share/rpcs3/Icons/ui/new.png /usr/share/rpcs3/Icons/ui/right_stick.png /usr/share/rpcs3/Icons/ui/save.png /usr/share/rpcs3/Icons/ui/select.png /usr/share/rpcs3/Icons/ui/spinner-24.png /usr/share/rpcs3/Icons/ui/square.png /usr/share/rpcs3/Icons/ui/start.png /usr/share/rpcs3/Icons/ui/triangle.png /usr/share/rpcs3/git /usr/share/rpcs3/git/README.md /usr/share/rpcs3/git/commits.lst
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Feb 9 01:19:28 2025