Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:X0F:branches:Emulators
rpcs3
rpcs3.changes
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File rpcs3.changes of Package rpcs3
------------------------------------------------------------------- Mon Oct 21 16:07:33 UTC 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 17:12:04 UTC 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 ------------------------------------------------------------------- Mon Oct 02 13:31:40 UTC 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 ------------------------------------------------------------------- Mon Sep 27 13:33:35 UTC 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 04:45:10 UTC 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) ------------------------------------------------------------------- Mon Sep 03 17:27:36 UTC 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 22:15:02 UTC 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 17:52:40 UTC 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 05:51:49 UTC 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 9 13:13:43 UTC 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 8 00:07:01 UTC 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 18:17:06 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de> - LLVM <= 18 is now supported ------------------------------------------------------------------- Thu May 30 16:03:50 UTC 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 12:52:39 UTC 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 04:41:58 UTC 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 12:48:01 UTC 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 14:20:30 UTC 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 13:49:42 UTC 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 04:30:19 UTC 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 14:20:25 UTC 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 07:26:21 UTC 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 11:39:25 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org> - Use %autosetup macro. Allows to eliminate the usage of deprecated %patchN. ------------------------------------------------------------------- Wed Feb 21 11:25:54 UTC 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 11:06:46 UTC 2024 - i@guoyunhe.me - Update to version 0.0.30~git20240205: * RPCN 1.1 ------------------------------------------------------------------- Sun Feb 04 15:48:37 UTC 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 14:23:06 UTC 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 05:30:40 UTC 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 10:28:18 UTC 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 15:45:53 UTC 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 14:32:06 UTC 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 13:50:40 UTC 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 03:36:40 UTC 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 14:52:21 UTC 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 15:33:40 UTC 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 14:13:31 UTC 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 07:16:40 UTC 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 14:31:06 UTC 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 15:26:28 UTC 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 11:32:58 UTC 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 15:01:23 UTC 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 15:08:13 UTC 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 01:46:30 UTC 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 03:37:51 UTC 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 03:11:38 UTC 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 11:59:34 UTC 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 15:30:54 UTC 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 12:08:36 UTC 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 12:08:06 UTC 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 14:19:08 UTC 2023 - Yunhe Guo <i@guoyunhe.me> - Use system SDL2 ------------------------------------------------------------------- Mon Apr 17 13:20:09 UTC 2023 - Yunhe Guo <i@guoyunhe.me> - Use system libusb ------------------------------------------------------------------- Mon Apr 17 13:07:12 UTC 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 10:40:18 UTC 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 08:58:07 UTC 2023 - i@guoyunhe.me - Update to version 0.0.27~git20230414: * Fix tmp path in updater ------------------------------------------------------------------- Fri Apr 14 16:21:29 UTC 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 15:56:48 UTC 2023 - Yunhe Guo <i@guoyunhe.me> - Added fix-toolbar-color.patch ------------------------------------------------------------------- Tue Apr 11 12:50:42 UTC 2023 - i@guoyunhe.me - Update to version 0.0.27~git20230411: * Update to LLVM 16.0.1 ------------------------------------------------------------------- Mon Apr 10 14:31:51 UTC 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 14:33:06 UTC 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 03:18:32 UTC 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 15:07:22 UTC 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 16:38:15 UTC 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 12:42:08 UTC 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 11:08:49 UTC 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 00:15:51 UTC 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 00:13:24 UTC 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 14:49:49 UTC 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 14:30:50 UTC 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 00:15:41 UTC 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 00:13:51 UTC 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 00:14:29 UTC 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 00:13:07 UTC 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 00:13:52 UTC 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 17:14:51 UTC 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 00:25:36 UTC 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 00:25:26 UTC 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 00:26:43 UTC 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 00:24:15 UTC 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 00:27:32 UTC 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 00:20:01 UTC 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 00:20:51 UTC 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 00:19:45 UTC 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 00:21:59 UTC 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 00:24:33 UTC 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 00:17:43 UTC 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 11:50:20 UTC 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 00:29:18 UTC 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 00:30:35 UTC 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 00:41:22 UTC 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 00:45:25 UTC 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 00:40:02 UTC 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 00:42:03 UTC 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 11:16:29 UTC 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 09:11:43 UTC 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 08:58:45 UTC 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 00:45:29 UTC 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 15:01:04 UTC 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 13:06:46 UTC 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 13:08:58 UTC 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 15:28:15 UTC 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 08:36:13 UTC 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 00:30:21 UTC 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 08:59:24 UTC 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 00:30:20 UTC 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 17:27:19 UTC 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 17:36:48 UTC 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 00:27:59 UTC 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 00:28:32 UTC 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 00:31:22 UTC 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 00:27:21 UTC 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 15:02:16 UTC 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 10:12:07 UTC 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 00:26:07 UTC 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 14:22:32 UTC 2022 - pousaduarte@gmail.com - Update to version v0.0.21~git20220306: * cellMusic: fix qt music handler resume ------------------------------------------------------------------- Sun Mar 06 00:28:34 UTC 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 22:25:54 UTC 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 00:26:25 UTC 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 00:27:56 UTC 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 23:04:36 UTC 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 15:19:05 UTC 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 00:40:49 UTC 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 12:59:42 UTC 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 15:48:20 UTC 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 14:07:33 UTC 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 ------------------------------------------------------------------- Sun Dec 26 13:02:04 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.19~git20211226: * rsx: Fix zclip w scaling * Fedora (35): Adjust to Pipewire adoption ++QT deps * sys_rsx: Outlaw mapping sys_vm memory to RSX IO address-space * macOS: Implement texture converter for Metal (2) (#11289) * rsx: Remove noisy debug print * rsx: Exercise caution when testing for overlaps in invalidated sections * Drop libwayland-client from official appimages * rsx: Handle floating point shenanigans * rsx: Enable fallback for devices without wide integer Z buffers * rsx: Remove zclip hackery * Implement "built_function" utility (runtime-generated assembly) * Use PAUSE in vk::query_pool_manager::get_query_result * Use aligned stores in write_index_array_data_to_buffer * BufferUtils: refactoring * Fix remap_vector redefinition on macOS (#11271) * TSX: enable same data optimization for PUTLLC * TSX: refactoring M * TSX/PPU: fix conditional store regression ------------------------------------------------------------------- Sun Dec 19 01:09:38 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.19~git20211217: * Input: fix min stick input of keyboard pad handler * Input: implement stick multipliers for keyboard ------------------------------------------------------------------- Thu Dec 16 11:35:15 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.19~git20211215: * Add missing virtual destructors to some base class * cellSaveData: prevent some potential crashes due to corrupt files * macOS moltenVK support and SIGBUS handling (#11252) ------------------------------------------------------------------- Sun Dec 12 01:01:11 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.19~git20211210: * SPU LLVM: Disable affineqb shufb paths temporarilly * Qt: fix screenshot path creation * Debug SPRX check * cellAudio: Recover XAudio on failed initialization * cellAudio: relax FAudio error handling * cellAudio: recover Cubeb on failed initialization * cellAudio: move some stuff to cpp * cellAudio: use members instead of config values * Remove unnecessary define * rsx: Avoid skipping input mask checks due to static flow control * rsx: Improve image aspect tests * PPU LLVM: fix bitcast usage to enable constant folding * LLVM DSL: print some debug info in get_const_vector<v128> * Introduce coroutine support (util/coro.hpp) * Put std::hash specialization out of std * cellVideoOutConfigure: treat unknown aspect as AUTO * Update README.md * SPU LLVM: Fix vgf2p8affineqb usage - Reverse the order of the bytes in the selection masks. Previously it was assumed that byte 0 would determine the output of bit 0, but byte 7 determines the output of bit 0. ------------------------------------------------------------------- Sun Dec 05 01:06:21 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.19~git20211205: * logging: Tell apart PPU access violation caused by executing unmapped memory * PPU LLVM: rewrite and optimize saturation bit * PPU LLVM: inline remaining vector instructions * PPU LLVM: modernize most vector instructions * PPU LLVM: allow to drop setting SAT flag (optimization, module-wide) * PPU LLVM: rewrite more packing instructions * PPU LLVM: rewrite some packing instructions * PPU LLVM: modernize some code with new DSL * [rsx] reduce size of config structs * [Config] Use std::less<> for std::map<...> Reduces amount of string copies [Utilities] fmt::replace_all: avoid creation of temporary strings * sys_spu_thread: Removed unused field access * Fixed debug build compilation errors const_str_t constructor without arguments shoud be constexpr for usage as default initializer in constexpr functions * [Utilities] Fixed area_base operator* scalar type * rsx: Add some sensible fallbacks (#11219) * sys_spu: Implement SPU image segment info checks (#11211) * rsx: Simplify unconstrained aspect ratio conversion * rsx: default initialize RsxDisplayInfo * cellAvconfExt: add some trivial param checks * avconf: Add const to fxo references * rsx: Fix image scaling * VK/GL: honor game's aspect ratio when scaling * fs::file: always use strict reading mode for large reads (#11206) * CI: switch FreeBSD to Clang/libc++ 13 (#11214) * Update xxHash to version 0.8.1 * Update glslang to version 11.7.1 * Update FAudio to version 21.11 * CellAudio fixes ------------------------------------------------------------------- Sun Nov 28 01:14:49 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.19~git20211128: * vk: Fix incorrect mixed transfer modes for mipmapped VTC * rsx: Fix sloppy format matching test * sys_usbd improvements (#11202) * Ignore Log subsection for config obsolete check * Impl sys_usbd_get_device_location * Emulated v406 usio * Audio backend improvements * rpcs3: Fix the DATADIR path for AppImage * Unused var * rsx: Roll back some optimizations * rsx: Fix handling of scaling requests for packed formats * gl: Enable handling of X16 blit targets * rsx: Update sampler format class when inheriting mipmap slices/sections * Stub uvc camera init * vk: Remove lavapipe workaround * sys_usbd: make emulated turntable interrupt transfer as fast as possible * cmake: Use GNUInstalldirs * sys_fs: Place all path-format checks upfront, implement more checks * Debugger: Show PPU reservation data * lv2: Add missing reservation disowning in lv2_obj::yield * Input: Log path on hid_open_path error ------------------------------------------------------------------- Sun Nov 21 01:03:54 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.19~git20211120: * cellSaveData: always log setList and setBuf * improvise CELL_SAVEDATA_ERRDIALOG_NOREPEAT * Qt: simplify callbacks.resolve_path * overlays: simplify backup icon copy procedure * Memory Searcher: Peek full string in log, fix case-insensitive search * GUI: Rename memory string searching tool to "Memory Searcher" * Update LLVM commit (fixup) * Update SpuTest to v1.1.2 * Qt: only show prefix for fatal messages * Properly recognize triggers and axes for evdev pads. * Implement sceNpManagerGetPsHandle (#11164) ------------------------------------------------------------------- Wed Nov 17 17:02:02 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.19~git20211116: * Update LLVM commit * VK: fix NVIDIA driverVersion check * rsx: fix possible segfault * cellKbCnvRawCode: use proper constants * cellRtcGetDaysInMonth: fix param check * Some typo/warning fixes * Qt: Fix log prefix in log_frame * overlays: add stick input to native dialogs * overlays: add R3, L3 and PS buttons * input: add made up CELL_PAD_CTRL_PS enum * cellGem: add comment about hack * overlays: add system sounds * rsx: Properly implement immediate mode rendering * rsx: Clear some leaking register state between runs * Fix headless mode * Account empty EDAT (#11146) * sys_event: Fix PPU queue forced uproot of waiters (#11147) * Disable vulkan in Windows build when HAVE_VULKAN is off and other cmake build fixes. (#11118) * Qt: fix initial pad settings dialog size and position * Update OpenSUSE Qt5 dependencies (#11135) * Curl: fix --verbose-curl option * SPU LLVM: Optimize branch following ORX - test the input of ORX directly for zeroes, instead of the result * Fixes rpcn_client.h func ptr comparison warning * Add HAVE_SNI definition to curl build for wolfssl * curl: add verbose logging * Special nullptr optParam->cbFunc case fix * NP: add signaling_handler wakeup on connect queue * rsx: Fix texture state propagation between unrelated draw calls * NP: Implement sceNpMatching2DeleteServerContext * NP: Implement sceNpBasicGetFriendListEntry * NP: Cache Manager + improvements * rpcn: new allocator + refactoring of np_handler * rpcn: extra changes * The Velocity Improvements: RoomData/RoomMemberData commands & fixes * llvm: Add AVX-512 detection for Alderlake (#11121) ------------------------------------------------------------------- Sun Nov 07 00:49:32 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.19~git20211106: * SPU LLVM: Hook up 128 bit spu verification - Also fix FMA enablement for sapphirerapids * Qt: fix initial TSX selection * vk: make upscaler dynamic * Qt: improve fsr tooltip area * rsx: Restore shader disassembler to working state * Qt: Consider TSX-FA in settings dialog * Specify the compiler for llvm_build (#11110) * fix npDrmIsAvailable * Fixes of PS3 filesystem EDAT/SDAT handling * vk: Do not clip region using renderpass renderarea, we have scissor for that * SPU/SYSINFO: Disable TSX by default for TSX-FA cpus (#11105) * CPUTranslator: Enable FMA for alderlake CPUs (#11106) * rsx: Configure pitch correctly for pitch-zero textures (1D) * LLVM 13 * SPU ASMJIT: Disable 512 wide spu verification - Apparantly this crashes every game. * rsx: Fixate time stamp of VBLANK * rsx: Fix typo in VBLANK processing regarding emulation pause * rsx: Implement NTSC fixup mode, improve VBLANK accuracy * rpcs3_version: Bump to 0.0.19 * GUI: Always show thread name for fatal messages (#11090) * rsx: Fix sampling in X when 0 pitch is given * overlays: fix graph offset error after applying new config * overlays: fix offset of right edge oriented graphs when detail level is none * Add more logging for Emulator Stop events ------------------------------------------------------------------- Sun Oct 31 00:36:26 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20211030: * overlays: fix trophy notification sound in queue * Qt: multithreaded trophy icon refresh * Qt: fix missing vfs mount * SPU DisAsm: Force decimal point insertion for constant floats * PS3 String Searcher: Implement instruction searching in embedded SPU images * overlays: add optional sound to trophy popup * overlays: add fade to trophy notification pop-ups * overlays: fix trophy notification pop-up locations * Emu: Move VFS mount to Init * SPU DisAsm: Print SPU floats * Qt: fix QSvg deployment * Qt: Use svg instead of png * rsx: Do not reuse/destroy sections that have references held * gl: Use real image dimensions when decoding compressed textures * gl: Disable shader interpreter if hardware does not support bindless textures * gl: Fix decoding of wide, swizzled textures * Correct channel order * Lower some log spam * Qt: add sound-effect to screenshots * cellCamera: fix qt handler crash if object is destroyed from another thread * cellGem: hook up camera * Screenshot: add Title ID to filename ------------------------------------------------------------------- Sun Oct 24 10:59:35 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20211024: * Qt: Add camera settings dialog * cellCamera: don't flip qt image vertically by default * Qt: add QtMultimedia to ci * cellCamera: fix compilation on linux * cellCamera: support all formats and set RGB32 if possible * cellCamera: add some more logging and fix some warnings * cellCamera: Implement dynamic camera selection * cellCamera: fix some typos (fixes camera attachment in Kung Fu Live) * cellCamera: silence some log errors * cellCamera: fix regular YUV422 conversion of qt camera handler * cellCamera: fix qt camera handler format * cellCamera: fix buffer allocation * cellCamera: log qt camera handler status strings * cellCamera: move camera handler interaction to seperate functions * cellCamera: improve image conversion speed * cellCamera: sprinkle some mutexes and handle disconnected cameras during open phase * cellCamera: fix camera interaction * cellCamera: fix buffer size for YUV * cellCamera: add error handling to qt camera * cellCamera: implement CELL_CAMERA_READ_DIRECT * cellCamera: fix qt camera width and height for non-default resolutions * cellCamera: Add qt camera handler * Allow booting any ELF inside disc directory, not just ones at 'PS3_GAME/USRDIR/' * Qt: fix richtext_item_delegate palette * Screenshot: sort folders by Title IDs * Add emulated Guitar Hero Live guitar controller in Settings I/O tab * [Win32] Allow renaming uppercase RAP/EDAT to lowercase with drag-and-drop from /exdata ------------------------------------------------------------------- Sun Oct 24 00:30:28 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20211023: * fix: cleanup basic handler in np term * Fix possible fs::create_path recursion overflow * glslang: Update from 11.5.0 to 11.6.0 * stb_truetype: Update from 1.25 to 1.26 * cURL: Update from 7.77.0 to 7.79.1 * FAudio: Update from 21.07 to 21.10 * XAudio2: Update from 1.2.6 to 1.2.8 * SPU: Implement interrupts handling for remaining events * vk: Fully allow CB change in emit_geometry * Linux: add org.mate.ScreenSaver as fallback * Qt: remove pad settings size constraint * vm_native.cpp: Fix DeviceIoControl usage (#11029) ------------------------------------------------------------------- Sun Oct 17 14:04:13 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20211017: * SPU/PPU DisAsm: Implement more constant formation patterns * PPUDisAsm: Fix MFSPR/MTSPR disassembly * sys_net: getsockname on unbound p2p socket fix * sys_net: redirects 0.0.0.0 packets on windows * PPUDisAsm: Fixup SC printing, support LV1 syscalls ------------------------------------------------------------------- Fri Oct 15 09:25:00 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20211015: * DS4: add version check * mmjoy: add member prefix to blacklist * sceNpDrmIsAvailable: fix error check * RPCN: Set error state on empty login/password * Enables resend token button * PPU/SPU LLVM: Emulate VPERM2B with a 256 bit wide VPERMB - Save 1 uop by using 256 wide VPERMB instead of VPERM2B. (Compiles down to a vinserti128 and vpermb) * Defaults to 127.0.0.1 when failing to discover IP * Add emulated DJ Hero turntable controller in Settings I/O tab * GUI Utilities: Implement instruction search, PPU/SPU disasm improvements (#10968) * rpcn: wait for signal before connect * Fix rpcn create/login not returning proper error * rsx: Fix some texture decode instructions * vm_native: simplify vm.overcommit sysctl * vm_native: unbreak runtime on FreeBSD after 63104af8e9ee * sceNpFriendlist: some improvements * sceNpCustomMenu: improvements * sceNp: more error checks * sceNpInit: fix error check order * sceNpDrmIsAvailable: add param checks * rpcn v0.4.0 * PPU DisAsm: Fix CMPLI disassembly * rsx: Fix decoding of linear cubemaps * gl: Alias register binding points a bit * DS4: add ZEROPLUS Brook Mars controller * input: log hid_get_feature_report return values * Qt: write version changes to update.log * fs: Add fs::write_new, promotes safe file creation (no overwrite) * Make pad and patches config savinng atomic ------------------------------------------------------------------- Sun Oct 10 01:00:34 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20211009: * rsx: Rewrite shader decompiler texture dispatch * vk: Silence compiler warning ------------------------------------------------------------------- Thu Oct 07 20:49:10 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20211007: * Add edat install support * cellKb: implement key repeat * Update yaml-cpp * Add missing cpu_flag formatting * Fix config mode reset * input: increase mouse acceleration maximum * Overlays: fix small performance overlay font sizes ------------------------------------------------------------------- Sun Oct 03 00:36:34 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20211002: * GUI Utilities: Implement PS3 SDAT/EDAT decryption * Fix clang-format for new ugly lambda indentations * Set up VS environment before calling cmake in glslang and spirv (#10952) ------------------------------------------------------------------- Fri Oct 01 13:40:43 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20210930: * Suggest tweaking the setting "Stub PPU Traps" after PPU trap (#10921) * Update unpkg.cpp * PKG: Simplify files management * SPU LLVM Fixup for VDBPSADBW * LLVM DSL: reimplement vdbpsadbw * SPU LLVM: Optimize branches following byteswaps - The first element can be extracted via vmovd rather than vpextrd, which saves 1 uop. * SPU LLVM: Use VDBPSADBW in SUMB - This instruction can be used to sum bytes horrizontally if the second input vector is all zeroes. * Qt/Linux: Properly hide taskbar progress when done * Qt/Linux: Implement SignalFailure with dbus * Qt: Add sound if download fails * Qt: fix downloader taskbar progress * settings_dialog: Add Restore Defaults button * settings: Fixup for ranged combobox fallback * vk: Use a dynamic number of descriptor allocations * vk: Clean up around vkQueueSubmit handling * vk: Add deregister event for sets * vk: Make the new descriptor system spec compliant * Whitespace fix * vk: Implement descriptor allocation batching * rsx: Optimize thread self-tests * vk: Enable deferred descriptor updates via descriptor-indexing * Optimize basic descriptor batching * vk: Implement basic descriptor updates batching * vk: Refactor descriptors a bit * vk: Enable descriptor indexing extension if supported * rsx: refactor rsx_utils a bit * vk: Simplify texture cache OOM tracking a bit * rsx: Avoid get_system_time for simple draw ordering * rsx: Avoid calling get_system_time() every draw call * rsx: Minor optimization; avoid preparing unused vertex streams * Bugfix after recent PPU patches pr * Debugger/Disasm: Name PPU Syscalls * Remove some lwmutex log spam * Patches/PPU: Implement HLE/LLE/With-TOC function call patches ------------------------------------------------------------------- Sun Sep 26 14:31:44 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20210926: * Qt: Fix SnapSlider in settings ------------------------------------------------------------------- Sun Sep 26 00:38:29 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20210926: * config: Remove Lower SPU Priority setting * ui: Remove SPU Cache from settings dialog * config: Disable SPU loop detection by default * VFS: move VFS settings to seperate file * Fix VFS regression * VFS: add logging to mount * Remove unused lambda * Debugger: Implement editing instruction for entire SPU group * ci: Switch QT mirror (#10918) * vk: Fix scanning for upload heap types. ------------------------------------------------------------------- Wed Sep 22 14:45:48 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20210922: * sys_fs: Add write log messages for SDATA/EDATA * sys_fs: Fix sys_fs_read/write when nbytes is 0 * sys_fs: Fix SDATA/EDATA file-stat * Fix cellFsSdataOpenByFd flags * perf_overlay: fix initial graph positions with detail level none * cellOsk: partially implement continuous mode * cellOsk: partially implement cellOskDialogExtUpdateInputText * cellOsk: do not notify INPUT_ENTERED on each input * cellOsk: reset options after unload * cellOsk: stub some settings * cellOsk: fix dialog abort w/o user interaction * cellOsk: dont send INPUT_ENTERED unless continuous * rsx: Fix 3D texture decode * rsx: Invariably clear the texture state if referenced. * vk: Enable sampler mirror-clamped-to-edge as an extension * rsx: Rework how depth/stencil initialization+clear works * vk: Rewrite memory initialization * Enable stencil export extension when required * Fix memory leak in cellOskDialog (#10895) * cellAudio fix * input: fix keyboard_pad_handler pressure sensitivity * Overlays: Fix position of centered perf-overlay ------------------------------------------------------------------- Sun Sep 19 00:37:59 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20210918: * edat: Check for the correct directory * unpkg: Don't append title ID to license packages * SPU: cpu_work() fixup, fix recursion in AV handler * SPU MFC: Add shuffling in steps setting * GUI Settings: Add MFC Delay Command checkbox * CLI: add "high-res-timer" argument (defaults to 1) * rsx: wait when emulation is paused * silence some warnings * System: only init fxo objects if a game is started * System.cpp: Remove outdated and bugged code-block * Fix Emulator::IsPathInsideDir * PKG: Implement SDATA decryption * PKG: Debugging messages * GUI: PARAM.SFO formatting * Implement Emulator::GetFakeCat() * Emu: Fix disc game move from hdd0/game * rsx: Fix stupid overflow ------------------------------------------------------------------- Fri Sep 17 11:55:55 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20210917: * CPUThread: Prevent recursive check_state calls * SPU MFC: Implement MFC commands execution shuffling * SPU LLVM: implement SQRT and DIV pattern detection (xf) * SPU LLVM: implement spu_re, spu_rsqrte * SPU LLVM: make intrinsics for most xfloat instructions * LLVM DSL / SPU LLVM: implement infinite precision shifts * LLVM DSL: implement absd and match helpers * LLVM DSL: reimplement fre, frsqe, fmax, fmin * LLVM DSL: reimplement pshufb, add 'calli' * SPU LLVM: implement FI instruction * LLVM DSL: implement fpcast * LLVM DSL: reimplement fmuladd, force hw fma if present * SPU LLVM: optimize SHUFB for permutation-only shuffles * SPU LLVM: implement missing constant mask handling in SHUFB * LLVM DSL: add line number in get_const_vector automatically * LLVM DSL: reimpelement fsqrt, fabs * LLVM DSL: reimplement avg * LLVM DSL: reimplement ctlz, ctpop * Refresh game list after installing RAP files via menus * Fully implement sceNpDrmVerifyUpgradeLicense * cellSearch: more stubs and implementations (#10578) * overlays: Show feedback while stopping ppu compilation * Fix BDVD path setting * sys_prx: Improve sys_prx_get_module_info error checking * sys_prx: Implement sys_prx_get_module_id_by_address * cmake corrections (#10782) * Switch from r16ui to r16 * Enable the precise occlusion query feature * Qt: add changelog to updater (#10844) * Qt: Reset stick positions on pad handler change * Qt: Relocate pad handler parameter changes * Qt: reset config when null pad handler is selected * Qt: fix player selection checks * Emu.Load: add more logging * Fix sys_prx_start/stop_module for older firmware * Fix user_interface::alloc_thread_bit() usage * vm: Fix vm::unmap * Fixup default config-path (#10863) * Fix vm::try_alloc regression * Add debugging info for when sys_tty_write is executed * Improve sys_fs_close logging * BUILD: a couple of cmake msvc compile fixes (#10799) * Add support for sc vtrm crypto * Patches/PPU: Add jump_link patch type * Fixup No.3 after #10779 * Reimplement config selection for game startup * Ensure frozen emulation for special executables inspection modes * Do not allow to unpause after fatal error occured in emulation * System: remove deprecated custom config location * Qt: remove deprecated playtime code * Qt: release scaled pixmaps from memory if possible * Qt: release unused data when switching list modes * input: make pad_thread a named_thread * input: reimplement lost optimization * Qt: Add missing Boot confirmation * fix * Log emulation pause/unpause events * Debugger/Disasm: Name SPU Syscalls * Enable PPU java mode handling by default (#10825) * Add enums for zcull precision control * Add ZCULL control options to the GUI * rsx: Implement ZPASS results scaling for precise stats * rsx: Implement precise ZCULL stats * remove deprecated avcodec_register_all ------------------------------------------------------------------- Sun Sep 05 17:37:33 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20210905: * VS: add missing generated file * input: fix custom pad config loading * input: fix custom pad config saving * input: fix custom pad config removal * sys_net: Anti-log spam enhancement * cellCamera: Anti-Log spam enhancement * Qt: patch creator * Silence some warnings ------------------------------------------------------------------- Wed Sep 01 15:36:00 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20210901: * Fixup No.2 for #10779 ------------------------------------------------------------------- Wed Sep 01 13:29:03 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20210901: * Fixup for #10779 ------------------------------------------------------------------- Wed Sep 01 11:45:38 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20210901: * Patches/PPU: Extend and improve patching capabilities (code allocations, jumps to any address) (#10779) ------------------------------------------------------------------- Wed Sep 01 10:44:00 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.18~git20210901: * BUILD: Refactor wolfssl submodule (#10780) * rpcs3_version: Bump to 0.0.18 ------------------------------------------------------------------- Tue Aug 31 19:35:29 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.17~git20210831: * SPU LLVM: Add m_use_vnni - Alderlake and Sapphirerapids will require an update to the llvm fork before they can be detected * SPU LLVM: Add VNNI optimized variant of sumb - Uses vpdpbusd to horrizontally add values, for some reason this is much faster than the normal horizontal add instructions. * SPU LLVM: Expand byteswap elimination to more instructions * Fixes build issue with LLVM on Windows with cmake (#10776) * Removes need for sys/sysctl.h on linux * Update commits * Fixup get-commit-db utility * vm_native: detect overcommit support on FreeBSD and other OS * rsx: Rework gamma override mask from RGBA to ARGB to match other per-channel mask registers * rsx/fp: Handle signed operator precedence ------------------------------------------------------------------- Sun Aug 29 19:21:30 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.17~git20210829: * Patch cooperate with system SPU group creation (#10791) ------------------------------------------------------------------- Sun Aug 29 15:31:07 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.17~git20210829: * input: move pressure sensitivity to the handlers * input: use buffers during button translation * input: remove inconvenient pad mutex * input: rename some variables * add log message for downloader * rsx: Fix surface access bit flags * Mark "Disable Logging", add explanatory log message * windows: fix get-commit-db * curl: log errors * pad settings: Check duplicate button assignment * pad settings: disable more stuff during key input * Qt: fix newlines. someone:tm: changed to richtext * Qt: remove obsolete lambda * Patches/LLVM: Implement Complex Patches Support * vm: Fix an overflow at vm::alloc, fix vm::find_map (#10760) * Add missing const * rsx/fp: Fix perspective correction handling * rsx: Texcoord control mask affects decompiler output! * input: revert stupid ideas * input: fix keyboard handler port status * fix MSVC filters * Windows/Audio: add listener for device change * vm: Fix vm::page_protect error checking * rsx: Implement indexed dynamic attribute load * fsr: Mark output images explicitly as nonreadable * Checkout wolfssl to v4.8.1-stable. (#10732) * BUILD: Refactor yaml-cpp submodule (#10745) * mmjoy: fix pressure sensitivity button * Offset get_timebased_time at game boot (#10744) * vk: Experimental workaround to just disable compression * vk: Add support for other formats as FSR output * vk: Add RADV to list of drivers with unreliable 'OUT_OF_DATE' notification when window size changes * vk: Register newer Navi GPUs (#10740) * SPU LLVM: Add approximate FCEQ/FCMEQ (#8729) * Add workaround for wayland session * Whitelist Kamen Rider Summonride Portal sys_usbd (#10722) * Input: fix keyboard stick lerp * rsx/fp: Fix indexed TEX[n] loads * Loader: Improve just-in-time installation of disc game files (#10719) * Fix warnings about using deprecated inet_ntoa function (#10698) * rsx: Fixup image-in data length calculations * vk: Improve driver compatibility * gl/vk: Scale line width & point size by resolution scaling * rsx: Improve rsx::recover_fifo() to take a hint from driver wake-up delay * rsx: Implement crash-proofing for image_in dst/src formats * rsx: Implement crash-proofing for src/dst image_in address * rsx: Implement crash-proofing for 308A_COLOR dst address * support building with system faudio 21.08+ (#10708) * input: fix pad defaults when config file was empty * fix some warnings * input: redesign pad profiles * GUI: Display PKG information & installation confirmation from main menu * Remove old RSX instructions viewer (#10710) * vk: Fix unused variable error * vk: Silence maybe-uninitialized warnings * vk: Properly calculate cubemap memory size * cellGem: fix floating point warning * Qt: fix updater menu button * SPU/event queue: Implement protocol for SPU queue * SPU: Remove outdated assertation * Fixup PPU breakpoints * Fix sys_spu_thread_group_resume * SPU/event queue: Atomically resume SPU group * input: fix player id if handler has 2 or more pads * Change the FSR tooltip to not Bri'ish English * rsx: Significantly reduce the applied subpixel bias when handling unnormalized access * patch_manager: Prefer specific patches over global patches * input: fix keyboard pad handler * evdev: fix axis_orientations index * input: fix minor data race * Add startupWMClass to linux .desktop Fixes #10685 * input: fix pressure sensitivity button * sys_net: add missing range checks * kernel_explorer: Fix VM object formatting (#10666) * input: Add pressure sensitivity button * rsx: Check all attachments when generating pipeline hash key * rsx: Fix coordinate scaling for shadow access (#10668) * vk: Do not force check for successful texture cache load * ui: fix spacing on gpu tab * Formatting fix * Disable warnings around 3rdparty header * Fix 3rdparty imports for case-sensitive platforms (fixes *NIX build) * vk: Add basic support for FSR 1.0 * vk: Simplify compute job cleanup on exit * vk: Unbind global renderer if it is destroyed * vk/device: Formatting fixes only (EOL) * sys_net/NP: set some init dependencies * Fix warnings * Qt: purge gui settings * cellGem: Disable Alignment Checks * Fix sys_spu_thread_group_create * cellGem: use existing constant for sphere radius * cellGem: fix Deadstorm Pirates regression * cellGem: add calibration logic with 0.5 second delay * cellGem: fix controller connection check * cellGem: reset struct on controller reset * cellGem: add some more checks * cellGem: set cellGemGetCameraState values * cellGem: implement cellGemHSVtoRGB * sys_spu: Add one more limiting SPU threads creation condition * Fixup HLE lwmutex * cellGem: cellGemPrepareVideoConvert update * cellGem: fix mouse positions * cellGem: update cellGemGetState * cellGem: add more mouse buttons * cellGem: add some more error checks * cellGem: disable tracking in cellGemForceRGB * cellGem: improve hue handling * cellGem: fix fake move calibration status flag * cellGem: add ext_id and SHARP_SHOOTER_DEVICE_ID * cellGem: fix typos, add some comments and reorder * rsx: Revert use of std::has_single_bit * rsx: Fix interpreter texture fetch * PPU: Improve accuracy of "Accurate PPU 128 reservations" mode * Bugfix of sys_lwmutex_destroy * SPU: Implement sys_spu_initialize and limit of physical SPU threads * ppu compilation: fix facepalm (double increase) * sys_prx_unload_module: fix log message * Use c++20 has_single_bit for POT test * rsx: Improve unnormalized coordinate sampling * rsx: Implement vtc encoding for NVIDIA OpenGL support * rsx: Do not use VTC tiling on NPOT textures * Crypto/ec: Make internal functions static * Fixup for SPU Debug mode (bad SHA1) * Fix thread time/cycles report with respect to thread pool * SPU Profiler: adjust accumulation logic * Fix HLE LWMutex setting - Implement dynamic initialization of HLE functions * System: add progress update on existing modules * Debugger: Add some error pop-ups for invalid operations * Fix sys_storage_read * vk: Fix a few incorrectly calculated scratch buffer sizes * Fix some warnings * SPU Cache: allow to dump cache upon startup * Fix CPU Profiler regression * Qt: add fullscreen mouse lock setting * vm_ptr.h: Improve try_read() (#10627) * vm_native: add workaround for FreeBSD 12 * vm_native: enable memfd_create on FreeBSD * Qt: move java mode setting to advanced tab * Qt: abort batch PPU compilation on dialog cancel * Qt: add nullptr checks in msg_dialog_frame * Qt/System: reset boot path after directory scan * Remove unused ppu_initialize declaration * System: add vsh.self when scanning vsh/module * System: make IsPathInsideDir a member function * Qt: compile vsh/module instead of vsh.self * Qt: fix vsh ppu compilation and add compile stage * Qt: Compile entire sys folder for firmware * Qt: disable VSH boot if not installed * RSX: fix 'Working buffer not big enough' * vk: Fix scratch allocation when doing GPU deswizzle * StrFmt: fix comma placement in format_byte_array * vk: Handle out of memory errors that are deferred during texture binding * vk: Fix comparison between composite memory types * vk: Force explicit minimum size declaration for scratch buffers * vk: Fix undefined format class for typeless helpers * vk: Allow creating temporary subresources to fail if we run out of memory. * rsx: Set composite images upload context based on their actual contents * vk: Allocate enough scratch memory for GPU deswizzle * vk: Try to spread memory usage evenly across compatible types if possible * vk: Fix use-after-free hazard by checking if we're faulting from within the texture cache * vk: Make use of multi-pool memory types * vk: Scrap minimum scratch buffer size and just allocate what is requested. * vk: Dynamically select panic boundaries based on resolution scale * vk: Implement heap aggregation * Make sys_prx_unload_module use success type logging * fix warning * Qt: add option to auto install updates * Fixed issue with SDL2 version sometimes casuing build failure (#10599) * Qt: use last window state when leaving fullscreen * Qt: fix game window positions if the window is bigger than the screen * fix shared FAudio build * system faudio fix * vk: Disable async texture streaming on all NVIDIA cards * replace some random Emu.Pause with fatal errors * Qt: fix BatchCreatePPUCaches cancel * Qt: Add VSH to BatchCreatePPUCaches * Qt: Add Boot VSH option * vsh.self: Fix execution on default settings (#10586) * Include different case files on file selection filters (#10587) * Initial implementation of sys_uart * sys_ppu: Implement sys_ppu_thread_rename * Extend ppu_thread::call_history_t formatter * PPU debugger: Make calling history detect common LLE functions trampolines * cellSaveData/UNIX: Optimize IO (#10574) * stub rsxaudio * sys_hid vsh * rsx: Fix vertical windows' clip * PPU debugger: Implement function names at the starting instruction * PPU debugger: Add instruction disasm for PPU calling history * cellSaveData: Fixup funcDone result check * sys_storage vsh implementation (#10559) * sys_ss vsh stubs * vk: Fix double-spill for invalidated resources * vk: Fix nul deref in spill code * vk: Fix null deref in texture cache when dumping temporary storage * rsx/vk: Improve recovery during OOM situations * Make little use of formatting byte arrays * vm_ptr.h: Do not allow dereferencing for void ptr * Minor fixup of vm::ptr * LV2: Fix IPC key reading from attributes * Fixup byte array formatter * Stub sys_fs mount functions for vsh (#10561) * Stub libfs_utility_init to bypass FSCK checks by vsh. * sys_sm_get_ext_event2 stub * Formatting Library: Implement byte arrays formatting * Implement TAR-based directory archiver * PPU debugger: Implement PPU calling history * Stub sys_io for vsh. * Hack for msmw2.sprx timeout. * [MSVC] glslang fix + vs2022 fixes * Win32 FS: Implement support for large reads/writes * Clang workaround for c++20 non-compliance * Fix linux build * Formatting fixes * vk: Improve handling of texture cache temporary resources * vk: Switch on the new VRAM management system * rsx: Implement a simple cache eviction routine * vk: Minor whitespace fix * vk: Add overallocation quota for texture cache * vk: Refactor VkTextureCache by moving most of the code to cpp file * vk: Implement VRAM spilling * vk: Refactor surface cache by moving code to cpp file * vk: Rename rsx::vk_render_targets to vk::surface_cache * vk: Improve memory load balancing and reporting * vk: Expose memory heap sizes to the runtime. * vk: Introduce the concept of VRAM allocation pools * rsx: Fix invalid reference when purging unlocked sections * fmt: add support for std::u8string * fmt: implement char8_t string support * SPIRV-Tools: Revert to 2020.4 * azure: Update VulkanSDK checksum * SPIRV-Tools: Update from 2020.4 to 2020.5 * VulkanSDK: Update from 1.2.154.1 to 1.2.182.0 * glext: Update from 2020.04.23 to 2021.04.20 * stb_truetype: Update from 1.24 to 1.25 * stb_image: Update from 2.26 to 2.27 * curl: Update from 7.76.1 to 7.77.0 * glslang: Update from 11.4.0 to 11.5.0 * FAudio: Update from 21.04 to 21.07 * Fix deref in sceNpMatching2CreateContext (#10539) * kernel_explorer: Atomic PPU state updates * Qt: add more Qt blockingMapped workarounds * Qt: kernel_explorer optimizations * sys_usbd: add PlayTV SCEH-0036 * cellGame: treat media apps as CELL_GAME_GAMETYPE_HDD * cellGame: improve logging * Mount bdvd_dir regardless of patch category * Qt: show patch version for disc games regardless of the patch category * Refactor faudio submodule (#10397) * Qt: add PPU LLVM Java Mode Handling to debug tab * kernel-explorer: Add logging ability * Improve kernel-explorer's user experience * sceNp: fix invalid ctx dereference * rpcs3_version: Bump to 0.0.17 * rsx: Implement dynamic vertex offset updates * Fix HLE callbacks within context of HLE PPU stack variables * Improve ppu_thread::stack_push * vm_ptr.h: Use concepts * rsx: Implement support for extended vertex programs * VFS: Fix paths override * rsx: Improve VBLANK accuracy * Fixup for #10490 * Improve thread aborting mechanism (#10490) * sys_fs: Fix ENOTMOUNTED of open * Qt: apply gui settings on regular apply and save * Qt: replace old grey config icons in gamegrid mode * Increase some icons' visibility in dark themes. (#10485) * Trophy notification improvements (#10482) * vk: Remove unused input from attachment clear pass * rsx: Don't leak data during partial clears * media_info: improve error logging * cellSearch: extend media_info for video files * cellSearch: move audio info to separate util file * move try_to_int64 to StrUtil * Qt: fix warning * sceNp: add some more constants * kernel-explorer: devirtualize lv2_fs_object and print more information (#10487) * fs: alternative fs::pending_file implementation (Win32) * cellCamera/cellGem: Fix time stretching setting (#10476) * rsx: Fix emulation stopping in cpu_thread::is_paused poll (#10475) * GUI: Add PPU threads to debug tab * RSX Cache: Prevent crash on failure to obtain cache directory (#10474) * sys_fs: improve sys_fs_open accuracy for /dev_bdvd * Fix cellMouse/Keyboard initialization * vk: Ensure async scheduler thread is never auto-spawned by fxo * rsx: Remove unused variable leftover from refactoring * rsx: Resync excluded memory regions to avoid memory tests failing after flush events * rsx: Refactor surface inheritance logic * lv2_timer: manage timers by separate thread (#10445) * rsx: Fixup for byte order when passing data via vertex registers that are not inline arrays (register vertex data and push buffers) * Qt: add missing key auto repeat checks * rsx: Pass vertex attributes streamed via register write in PS3-correct format * vm_native: bypass rpcs3_vm creation if overcommit is enabled (Linux) * Logs: Prevent minor race in Emu.Run() regarding logging levels * vm_native.cpp: change rpcs3_vm name/location priority (Win32) * Improve bitwise serialization trait * Qt: Fix Play/Pause/Resume Shortcuts * serialization.hpp: Fixes * Implement fmt::ensure (assert-like with formatted message) + fmt::tie * Qt: fix empty game list phenomenon * Qt: fix possible race in RepaintIcons * Qt: invalidate invisible game item pointers * Rebase hidapi * vk: Properly destroy renderpass cache * rsx: Add floor workaround for GPUs with rounding issues * fixed_typemap.hpp: add range iterator * Hotfix #10411 * Make rsx::simple_array compatible with serialization * System.cpp: Move some Emu.Stop() code to a more strategic placement * Fixup serialization utility * Improve emulation stopping speed * Implement serialization.hpp, remove cereal submodule * rsx: Fix depth/color mismatch resolve in texture cache * rsx: Fix surface deduplication crash * Qt: Fix concurrency bug in trophy manager * Qt: Only load trophy icons on a need to know basis * Qt: simplify zero padding in trophy icon path * rsx: Fix expired sampler descriptors * Qt: kind of lazy loading icons * Get rid of mobile Kepler class and add some missing GPUs * gl: Add some debug visualization to internally verify consistency * rsx: Implement proper decoding for some obscure fragment instructions * Fix sys_event_flag_wait result set (#10404) * Revert "moved build options to options.cmake" * Fix missing game licence logging (#10402) * BUILD: Refactor zlib submodule (#10393) * Fix span copy after refactoring * Update FW 4.87 Latest Version * Unify .gitmodules url as relative ones. * Bump GLIBCXX version requirement to 3.4.29 thanks to using brand new compiler features Fixes #10378 * Explicitely include CMakeDependantOption for CMAKE_DEPENDANT_OPTION * vk: Rewrite partial clear shader * vk: Enable use of input attachments * BUILD: Refactor spirv submodule (#10384) * Qt: fix game list custom config icon refresh * remove cirrus FreeBSD 12.2 build * impressive typo fix * span: implement as_span workarounds as utils::bless * vm::ref: remove erroneous default constructor * Don't use -fconcepts anymore * vk: Validate pipeline state before compiling in case of shader cache moved between GPUs/drivers * vk: Improve compatibility with sub-par drivers and hardware * Replace gsl::span for std::span (c++20) (#7531) * shared_ptr.hpp: don't use fake objects * types.hpp: add PtrCastable concept ------------------------------------------------------------------- Sun May 30 00:14:46 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.16~git20210529: * SPU LLVM: Add missing WRCH PC updates * pads: Remove outdated DualSense battery note * cellVdec: silence "Unsupported time_base" error log spam * SPU LLVM: Expand branch optimizations for more instructions * Include limits.h * overlays: move more code to cpp * BUILD: Refactor glslang submodule (#10361) * VS: fix libPng ProjectReference in emucore * fix some warning spam * perf_overlay: fix guide line locations * try to fix pad interception * cellPad: do not use recusrive mutex * Fix cpu_thread::check_state() cpu_flag::temp support * Fix reservations handling in logs * rsx: Minor refactoring (#10358) * vk: Forcefully unmap DMA blocks before destroying them (#10359) * vk: Fix slow bo upload + copy when using RADV * vk: Workaround for slow bo transfer (pinned<->VRAM) when using RADV * perf_overlays: only calculate metrics on update * perf_overlays: only compile dirty graphs * perf_overlays: add avg and 1p high/low * sys_prx/overlay: Fix disambiguator of module names opened by FD (#10340) * Set min gcc version to 11 * Refactor hidapi submodule (#10346) * scale debug overlay based on current dpi settings * Simplify PPU exit * vk: Fixup on linux + RADV combo (#10341) * rsx/vk: Use backend configuration to track options that can be modified on a per-device basis * vk: Lock passthrough DMA behind the async streaming option * vk: Avoid repeated chip_class lookup by using generic global function * vk: Add workarounds to disable incompatible options * CI: Add FreeBSD 13 * perf_overlay: update interval config update * vm_native: fix Linux/Posix sparse file check * sys_mmapper: Fix IPC-enabled instances memory consumption * vm_native: improve sparse file check (Linux/BSD) * vm_native: improve sparse file implementation (Win32) * types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts * types.hpp: rewrite _u16-_u64 suffixes * types.hpp: replace custom std::bit_cast * kernel-explorer: Save self mem-container ID and use it ------------------------------------------------------------------- Sun May 23 00:13:56 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.16~git20210522: * Bump gcc to 11, shellcheck and SDL2 (#10324) ------------------------------------------------------------------- Sat May 22 10:23:48 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.16~git20210522: * types.hpp: implement smin, smax, amin, amax * vm_native: try to workaround another bug (Win32) * kernel-explorer: Implement PPU scheduler state information * kernel-explorer: Fix horrible performance * TROPUSR: Optimization * TROPUSR: Loader Improvements * crypto light refactoring. using volatile f/p guaranting assembly will generate call* instruction on memset for secure buffer zeroing. usage in sha1 api as well. * logs.hpp: another fixup for RPCS3.log * logs.hpp: fix fatal typo * Fix bugs due to clocks scale setting being dynamic * Fix bug of sys_rsx_context_attribute * Update sys_rsx_context_attribute * Improve get_current_cpu_thread() * logs.hpp: refactoring (logs::message) * Improve error_code (new formatting constructor) * vm_native: sparse file fixup (Win32) * Update commits * Add supporters * edat: Remove redundant logging * Minor change in msg_dialog_frame * metainfo: move away from deprecated appdata * metainfo: make license explicit * Simplify error_code class * Downgrade LLVM to previous commit (fixup) * bs_t<>: add all_of() and none_of() ------------------------------------------------------------------- Tue May 18 18:33:52 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.16~git20210518: * Update LLVM * vm: disable sparse files on win7 * 3rdparty: Add option to build against system xxhash * 3rdparty: Add option to build against system pugixml * 3rdparty: Add option to build against system flatbuffers * 3rdparty: Fix building with system wolfssl * SPU LLVM: Optimize branching - Detect a pattern where vpmovmskb and a check against the sign bit can be used instead of checking against zero * Move HLE table address to FXO (#10284) * lv2: Fix overflows of periodic timers * Make RPCS3 license explicit in README ------------------------------------------------------------------- Sun May 16 18:00:44 UTC 2021 - pousaduarte@gmail.com - Update to version v0.0.16~git20210516: * fix azure builds * Fixup * Update cmakelists * rsx: Refactor program texture state handling to be persistent across shader swaps * BUILD: Move buildfiles & improved prop includes (#10251) * kernel-explorer: Implement SPU ports/interrupt tags information * Remove lv2_event_queue::check(weak_ptr) * sys_interrupt: weak_ptr -> shared_ptr * sys_timer: weak_ptr -> shared_ptr * sys_spu: weak_ptr -> shared_ptr * cellAudio: weak_ptr -> shared_ptr * CPU Profiler: weak_ptr -> shared_ptr * SPU: Optimize SPU ports/queues * Emulation stopping bugfix * SPU LLVM: improve MPYH instruction * Update LLVM commit * Fix page mapping rights to file mapping * Add Intel's Rocket Lake 11th gen cpu. (#10205) * Implement const_str_t<> helper * lv2_obj::create: fix pessimizing move * Enable -Wattributes warnings * vm_native: improve sparse file handling * reverted comment * gl: Intel GPU shader fix * vk: Ensure MSAA surfaces are in RW state before attempting to transfer data. * rsx: Fix transfer barriers not triggering resolve target initialization * fs: Optimize filesystem handle reconstruction * Don't fatal on sparse file initialization failure * rsx: Move sys_rsx info to rsx::thread (#10258) * vk: Add some more debugging utils for RDC captures * vk: Allow flipping without wait * rsx: Handle transfer_read differently from transfer_write * rsx: Ignore write-to-self via blit engine. * event queue: Structure size efficiency * kernel explorer: Implement interrupt handler/service information * sys_interrupt: Save ID of self tag/handler * sys_event: Save ID of self event queue * couple of warning build fixes * VS: fix some filters * Qt: allow renaming of the current user * LV2: Fixup for IPC * sys_event: Typo fix (#10246) * BUILD: Refactor libpng submodule (#10238) * LV2: Improve IPC support (#10206) * Remove libopengl.so.0 hack, and use LEGACY CMake OpenGL option for AppImage builds (#10234) * stblib: disable another unsupported clang warning (#10244) * fs: implement fs::get_temp_dir() (Win32) * vm: disable locking main/video/stack for now (TODO) * Implement s128 type (based on u128) * vm: add "hook" memory (32G) * vm_native: add cow flag to map functions * changed discord-rpc to discordRPC * relocated openal cmake * relocated stblib files * relocated discord-rpc cmake * changed USE_SYS_LIBUSB to USE_SYSTEM_LIBUSB * buildsystem refactoring cleanup * BUILD: Refactor asmjit submodule (#10230) * Correct mismatched licenses in Crypto 5 files in Crypto were licensed under GPL-3.0-only which is incompatible with our project's GPL-2.0-only license. They have now been corrected to use GPL-2.0-or-later. * Bundle libOpengl.so.0 manually. Fixes issue #10226 * BUILD: Refactor curl submodule (#10228) * SPU TG: Simplify state of saved SPU image data * fix relative links to common_default* props * BUILD: Refactor 7zlib (#10222) * Simplify named_thread construction * rpcs3_version: Bump to 0.0.16 * .github: Update issue templates * .github: Update PR-BUILD.md * Update BUILDING.md * .github: Update CONTRIBUTING.md * curl: fix visual studio build * stblib: Ignore new 3rdparty warnings * curl: Update from v7.72.0 to v7.76.1 * stblib: Update stb_truetype from v1.21 to v1.24 * stblib: Update stb_image from v2.22 to v2.26 * pugixml: Update from v1.9-git to v1.11.4 * rsx: remove unused tile functions * GL: Remove unused copy functions * VK: ReSharper warning fixes * GL: resharper findings (too lazy for const functions) * OpenAL: Update include from 1.20.1 to 1.21.1 * XAudio2: Update from 1.2.0 to 1.2.6 * FAudio: Update from 20.03-git to 21.04 * overlays: implement text_align::right * user-overlays: add sanity check for enter button * save-overlays: add entry size info * save-overlays: add localization * save-overlays: change list entry contents. * cellSaveData: keep focus after confirmation cancel * Use consteval (experimental) * Remove redundant operators != * glslang: Disable precompile headers * glslang: Update to 11.4.0 * BUILD: Refactor libusb submodule (#10169) * Simplify umax * Simplify utils::umulh64 (MSVC) * Fixup for sys_time_get_timezone (3rd path) * Toolchain upgrades * CI/FreeBSD: stop caching downloaded packages * vk: Add support for tagging objects to ease debugging * rsx: Make renderdoc compatibility mode a general option * Rename Rockband to Rock Band * Implement sys_time_get_timezone syscall * vk: Refactor render target code * Test alterable aggregates via overriding be_t * fmt: support numeric u128 formatting * u128: add multiplication support (for MSVC) * shared_ptr.hpp: implement make_single_value(), make_shared_value() * shared_ptr.hpp: add invoke operator ------------------------------------------------------------------- Sun Apr 25 05:40:39 UTC 2021 - idesmi@protonmail.com - Update to version 0.0.15~git20210424: * Fcntl e0000025 (#10172) * Mac OS build update and simplification, recent releases of macOS has clock_gettime support. * Qt: fix window position of update dialog * fix formatting (somehow broken by copy pasta) * Move unspecific Emulator code out of System.cpp * vk: Fix broken FBO swizzle for depth textures. WDB was basically broken for these. * sys: more constants * sys_prx: more constants * Fix typo causing unreachable code * some more constants ------------------------------------------------------------------- Sat Apr 24 15:08:49 UTC 2021 - idesmi@protonmail.com - Update to version 0.0.15~git2021-04-24: * Mac OS build update and simplification, recent releases of macOS has clock_gettime support. * Qt: fix window position of update dialog * fix formatting (somehow broken by copy pasta) * Move unspecific Emulator code out of System.cpp * vk: Fix broken FBO swizzle for depth textures. WDB was basically broken for these. * sys: more constants * sys_prx: more constants * Fix typo causing unreachable code * some more constants * kernel-explorer: Show bound queue to port information ------------------------------------------------------------------- Sat Apr 24 14:36:24 UTC 2021 - idesmi@protonmail.com - Update to version 0.0.15~git2021-04-24: * Mac OS build update and simplification, recent releases of macOS has clock_gettime support. * Qt: fix window position of update dialog * fix formatting (somehow broken by copy pasta) * Move unspecific Emulator code out of System.cpp * vk: Fix broken FBO swizzle for depth textures. WDB was basically broken for these. * sys: more constants * sys_prx: more constants * Fix typo causing unreachable code * some more constants * kernel-explorer: Show bound queue to port information * Fix emulation restart ------------------------------------------------------------------- Fri Apr 23 14:53:37 UTC 2021 - idesmi@protonmail.com - Update to version 0.0.15~git2021-04-23: * Following up on MacOS build fix. * Implement most of cellUserInfo * named_thread: use concepts, improve constructors * SPU LLVM: restore lost comment * SPU LLVM: Absolute final fixes for icelake shufb paths - The constant mask was accessing bits in reverse order of what was expected * SPU LLVM: Improve byteswap elimination - Use the data before it has been swapped rather than relying on a second byteswap to cancel out the first * SPU LLVM: Remove icelake shufb paths for now * moved cmake_modules to project root * removed redundant cmake version check * swap STREQUAL for MATCHES * unified missmatched indentation in CMake files * GUI: take out some unwise shortcuts * SPU LLVM: Final fixup for icelake shufb paths - The cause of the problems was due to the constant mask for gf2p9affineqb being used as the first argument, instead of the second argument. * overlays: hotfix for dialog interaction * Input: avoid mouse events when unused * Reduce precompilation failure log level (error -> notice) * fix null chars in hostname log message * Qt: Speed up Log Viewer * Use requires syntax in more places * Implement fill_array() utility * MSVC: disable throwing new * Qt: Fix initial gs_frame position on multi-monitor * removed space between and its opening parentheses * FreeBSD/clang update proposal. * MacOs build fix proposal. Made on Big Sur, removing few unnecessary old specifics. Build with LLVM homebrew. * Add dev_flash2+3 * vm_native: document some unmap_critical behaviour (posix) * vm_native: supply only one madvise flag at a time * Qt: fix type mismatch crash of game grid items * VM: FreeBSD c_madv_no_dump/dump constants support. * bs_t<>: create BitSetEnum concept * Fix condition for -Wno-attributes (regression) * bs_t<>: fix/cleanup some operators * replaced CMAKE_COMPILER_IS_GNUCXX with CMAKE_CXX_COMPILER_ID * keyboard pads: release all keys on FocusOut event * basic keyboard: release all keys on FocusOut event * Replace simple_type with std::common_type * Qt: unify some movie hover code and fix cellLeave * overlays: fix dirty state of message dialog * Qt: smoother scrolling in savedata manager * Qt: remove uncritical deprecated notes and titles * Qt: optimize game list repaint with new logic * Qt: use gifs as icons on hover if available. * SPU LLVM: add AVX-512 SPU verification - This is hidden behind a new setting, as some cpus may downclock agressively when executing 512 wide instructions * fxo: add debug name to the typeinfo * shared_ptr.hpp: use for fs::virtual_device * Remove unnecessary default:breaks * Skylander - Traptanium portal cleanup * Skylander - Change portal version * removed whitespace * removed extra perentheses pair * small collection of fixes * lv2: Remove flags from IPC-supported objects * Fix typo * overlays: make auto-repeat buttons configurable * overlays: implement OSK password mode * overlays: fix osk placeholder * misc: fix old some style casts and redundancies * rsx: Handle rare rounding issue where position.w is very close to zero * overlays: dynamically change dialog background * Qt: Properly disable perfoverlay datapoint sliders * Update BUILDING.md * added inline suggestion to patch_engine_version to prevent duplicate includes * vk: Fix mip level packed pitch calculation * rsx: Fix decompression of RB_RG textures. * added pvs-studio artifacts to gitignore * added inline suggestion to settings_location to prevent duplicate includes * Minor fixups (removed unnecessary code) * More random changes * Cirrus warning fix * Enforce backslash at the end of emulated drives paths * Win32 FS: Improve fs::create_dir * Implement "PPU LLVM Precompilation" control setting * Cirrus build * Qt: fix vfs dir remove button enabled state * Log firmware after Emu was initialized * Remove deprecated user management code * Suggest adding RPCS3 to anti-virus whitelist on firmware/PKG installation failure * Fix psf::load error for error::stream * sceNp: fix rap file regression (#10084) * Emu: some cleanup * PSF: Fix string_view optimization * Loader/cellGame: Do not crash on invalid PSF files * Fix some warnings (deprecate enum arithmetics) * shared_ptr.hpp: further fixes * shared_ptr.hpp: minor optimization (GCC hotfix) * DRM: Search all user directories for rap files * Log error about HG games booted outside of /dev_hdd0 * Emulation: Fix boot path resolving * Add -Werror=missing-noreturn (GCC, clang) * shared_ptr.hpp: improve is_same_ptr<> trait * Workaround: Skip progress_dialog during gameplay * progress_dialog fixes * moved build options to options.cmake * vm: Flag names (refactoring) * Update OpenSUSE dependencies * core: Move IDM to FXO * overlays: fix taskbar progress reset * Fixup for progress dialog closing logic * Minor progress dialog refactoring * Fix some -Weffc++ warnings (part 2) * Update commits * Fix some typos * hotfix: skip progr dialogs if msg dialogs are open * Quick sys_sm_get_params implementation * Implement _sys_prx_register_module loading imports/exports functionality * Implement get_cellos_appname() * Output all fatal log messages to Console/debugger as well * Set userland firmware SPRX directory as the default PS3 decryption tool path * cli: set user-id per command line * Move system info to extra line * debugger: Implement ability to pause entire emulation on breakpoint * Fix #9879 and fix firmware confirmation dialog when auto-start is disabled * Implement scoped_progress_dialog * Fix some -Weffc++ warnings (part 1) * Enable -Wdeprecated-copy * Emu/overlay: ingame native overlay PPU compilation * Qt: gs_frame position updates * thread-pool: Fix default rounding mode * rsx: Compile shaders when CELL is not running * Fix Emulator::Stop race with IDM * Emu: Do not obey auto-exit setting after creating firmware cache * Fix Emulator::Pause race with IDM * Fix Emulator::IsPaused() * add AppIcon to fatal_error_dialog * Get rid of non-LLVM build configurations (#10030) * upgrade icons to a modern design * Qt: Drop int for QT_SCALE_FACTOR_ROUNDING_POLICY * Qt: Properly set QT_SCALE_FACTOR_ROUNDING_POLICY * Qt: set find_dialog "next" button to default * Qt: add option to hide the log prefix * LLVM Clang-cl support and ninja build Also update the submodule * Wording changes and tooltip fix for unsupported CPUs * Qt: clean global cfg before adding custom cfgs * Qt: don't show updater if booted with cli arg * Scheduler overhaul * Qt: Remove unused GUI entries when saving a config * Qt: Fix debugger breakpoint deletion * Qt: select target item in debugger list * Qt: some cleanup in debugger * Add and fix -Wredundant-decls (GCC) * vm: fix reservation_update notification * atomic.hpp: allow raw notify_all by pointer * atomic.cpp: allow non-standard sizes in atomic wait (>16) * atomic.cpp: remove raw_notify and simplify internal logic * Add some warnings (GCC, clang) * Improve ELF/Trophy loader's error checking * debugger: Fix SPU memory viewing (#10007) * VS: try to unbreak debug builds * VS: fix release build * Qt: prepare for removal of deprecated GUI settings * VS: fix release Optimization * VS: fix AdditionalIncludeDirectories * Memory string searcher improvements * Qt: Fix debugger step shortcuts * Qt: Allow package installation through cli * cfg: simplify get_nodes * cfg: log unused config entries * cfg: move get_name to _base * Fix some minor shellcheck errors in github upload and windows build scripts * Run shellcheck on all build scripts to ensure quality * Make cli fw installation more foolproof * Add command-line option to install firmware * Fix NtSetTimerResolution in no-gui mode (Win32) * Fix SPU mapped memory page size * VS: move projects to 3rdParty * GUI: Implement full extraction of PUP * Improve firmware installation error handling * Fix race in render_creator (#9939) * cellSaveDataEnableOverlay * Add commits * Add supporters * Rename and move g_tls_current_cpu_thread inside cpu_thread * Fix sceNpTrophyGet(Trophy/Game)Icon * Replace some log errors (#9980) * Qt: make some scrollbars thicker. * Implement lv2_mp_flag::cache * Save all 8 syscall_args * Fix sys_raw_spu_destroy * Make gamedata installation atomic as real PS3 * PPU Debugger: Fixup for syscall arguments (#9932) * Improve fs::container_stream::write (#9976) * Qt: add bright arrows for tree views * SPIRV: disable error on warnings * Thread.cpp: Add missing newline * sys_usbd: DJ Hero Turntable Emulation (#9965) * Qt: dont scale small icons, deal with size instead * Qt: Fix wide game icons (weird copy pasta error) * Qt: Fix PaintedPixmap crash if icon is null * workaround for clang compilation * overlays: Fix aspect ratio of custom bakground images * Qt: Fix game icon canvas size * Qt: Import Custom Shader Loading Icons * vk: Disable async streaming by default * Enable -Wtautological-compare * Enable -Wduplicated-cond (GCC) * Enable -Wduplicated-branches (GCC) * Continue fixing strict aliasing warnings * SCE Decryption: Detect illegal RAP files * GUI: Atomic RAP file installation * GUI: Handle all PUP files in drag-and-drop * GUI: Handle uppercase RAP file extension * Qt: Fix square custom icons * Qt: Option for Custom Icons * Qt: Center Custom Icons * Qt: Import Custom Icons * Resolve minor typo 'verion' * Fix sysutil_send_system_cmd at Emu.Stop() * debugger: Fix PPU threads pausing * Add asynchronous streaming to the GUI and auto-enable it * vk: Check for uninitialized target before going into any scaling op * vk: Solve GPU hang/reset due to waiting on events that are never signaled * Basic fixups * vk: Add options to system configuration * vk: Add an alternate async queue scheduler * vk: Tune event polling for higher throughput * vk: Support new fxo usage pattern * vk: Flip on async texture uploads * vk: Optimization - avoid touching the mutex at all if possible even when there is no contention * vk: Properly clean up async scheduler * vk: Sync main pipe with async jobs if any * vk: Lazy-initialize image resource on first use when owned by a separate queue * vk: Add the async task scheduler * Add information about unnamed/main threads in logs and fatal dialog * Overlays: Implement individual pulse * Loader: Log FNID of imported/exported functions * Use maybe_unused macro for chip var * Improve TAR loader (#9908) * Fix std::bit_cast misuse * Implement utils::bless (pointer cast) * PPU interpreter hotfix * Move code to cpp (#9938) * Revert changes in BufferUtils.cpp * Fixup write_gather (Linux, BSD) * Add -Wnull-dereference (commented out) * Workaround segfaults in Vulkan enumeration thread (#9935) * Enable -Wstrict-aliasing=1 (GCC) * Add -Wclobbered and -Wcast-function-type (no effect) * Add/fix warning -Wignored-qualifiers (GCC/clang) * Remove some redundant code * fix colors for skyline (dark) * fix colors for skyline (bright) * fix debugger instr coloring * make from_hdd0_game check lowercase * Move sys_crashdump to it's own file and make it a module itself * SPU LLVM: Rearange FM instruction for better performance - Doesn't eliminate any instructions, but allows for better out of order execution. * Possible workaround for mobile Kepler chips * patch_manager: expand first search results * GUI: Implement MSELF extraction tool (#9909) * Input/Qt: implement XInput battery level ------------------------------------------------------------------- Sun Mar 07 00:15:59 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.15~git20210307: * overlays: don't count initial garbage values. * Qt: Do not allow updates during emulation * Cleanup Emu before the update reboot * Fix auto updates. Don't pass exe as arg0 to execl * Implement thread_ctrl::is_main() * Implement thread_ctrl::get_tid() * sysinfo.cpp: Implement utils::main_tid (main thread id) * Another minor fix for fmt::split * Minor fix for fmt::split with empty string * Enable -Wunused-parameter * add some log messages for debugging * Allow games to list all savedata (#9547) * Fix utils::get_firmware_version() * DualSense: Fix initial ingame LED update * GUI: Improve missing firmware handling * DS3/DS4: fix battery LED update * dualsense: implement lightbar pulse (low battery) * dualsense: fix LED updates * dualsense: get hardware and firmware version * dualsense: implement battery level * dualsense: minor cleanup * Qt: reset battery progress bar when not supported. * Qt: fix settings_dialog layout. Add stretches. * VS 16.9.0 compilation workaround * Fix linking with system curl * SPUThread.cpp: remove "__attribute__((always_inline))" * Add commits * endian.hpp: simplify be_t/le_t constructors * Add some GT6 devices to whitelist * vk: Remove redundant double barrier * perf overlay: Don't allow 0 or 1 datapoint count * perf overlay: add missing graph vertex * perf overlay: add datapoint settings to GUI * perf overlay: add datapoint count config settings * perf overlays: fix dynamic font resize of graphs * perf overlays: add detail level none (hides FPS) ------------------------------------------------------------------- Tue Mar 02 21:02:10 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.15~git20210302: * PPU: remove artificial 0x20000000 barrier for debug stats * fixed_typemap.hpp: make it a bit fool-proof * SPU debugger: Implement MFC journal * Atomic trophy status updates * fixed_typemap.hpp: return reference * named_thread: fix bugs in std::forward usage * fixed_typemap.hpp: reduce indirection * auto_typemap.hpp: reduce indirection * typeindices.hpp: upgrade with size and align info * shared_ptr.hpp: minor fixup for arrays * LLVM: Do not crash on failure to create cache file * DS3: fix LED battery status * DS3: fix linux output report * DS3: fix regression: pad data is cleared even if there is no new data * DS3: fix battery_level aquisition * Qt/Input: set player LED in pad settings * ds3: add led battery indicators (Linux only atm) * input: add some sanity checks * DS3: implement player LEDs * rpcs3_version: Bump to 0.0.15 (#9866) * cellScreenshot: fix overlay scaling (#9867) * Report deadlocked thread names in failures to stop emulation (#9865) * shared_ptr.hpp: minor fixup * Tentative fix for -Wattributes * Firmware installation bugfixes (#9855) * Buzz settings * Improve cellScreenshot (#9851) * Rewrite cellNetCtlNetStartDialogLoadAsync hack * named_thread: implement task queue * named_thread: implement "default" event loop * named_thread: rewrite result_storage * Qt: set parent for QThread * remove unused variable * vk: Fix inadvertent self-assign * vk: Explicit initialization of command pool queue family * vk: Add per-queue-family scratch resources and double buffer them * vk: Add support for queue family migration and refactor some texture upload code ------------------------------------------------------------------- Fri Feb 26 10:13:43 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210226: * Add CELL_NET_CTL_INFO_DHCP_HOSTNAME impl * Fix stop count incremention in Emu.Stop (#9843) * Fix Nan in cpu_stats::get_usage * overlays: Fix cpu usage in low detail mode * Fix TTY handling of control characters * vk: Handle old GPUs without proper async queues * Formatting fixes only * vk::render_device::create: try to remove failing assertion * Remove garbage SPUW perf report * Move CPUStats.h -> util/cpu_stats.cpp * Implement fs::sync (Linux/POSIX) * cellSaveData: fix minor issues * product_info: add Harmonix Pro-Drum Kit (#9822) * Fix Emulation::CallAfter * Minor GUI fix for PPU interpreter at "precompilation" * overlays: fix perf overlay switching detail levels * overlays: fix initial size of perf_overlay body * overlays: fix perf_metrics_overlay division by 0 * overlays: Fix perf_metrics_overlay visibility * overlays: Fix frametime graph spikes * Fix rpcn registration * Atomic RSX capture writes * Atomic SPU LS capture writes * Fix atomicity of savedata/trophy data writes * Atomic PARAM.SFO writes * remove unused variable * fix no-gui crash if no firmware was installed * vk: Move queue family management from swapchain to logical device * vk/dma: Simplify map_dma interface * Add supporters * Add commits * JIT.cpp: fix overcommit bug (should have been Linux-specific) * Fix minor inconsistency in utils::memory_reset (Linux) * Simplify utils::align() a bit * Remove vm::cleanup_unlock * Remove cpu_thread destructor * evdev: fix build * hid: log more info when adding a device * only call hid_exit when all hid_handlers are done * Input: fix build * cellPad: minor optimization * Input: replace a bunch of static_pointer_cast * Input: unify some more code * DS3: inherit from hid_pad_handler * DualSense: inherit from hid_pad_handler * DS4: inherit from hid_pad_handler * DS4: enumerate devices periodically * vk: Fix cyclic read-write in dma_block::load/flush * Add mutex lock for NP changes * Remove now useless code from sys_bnet_connect * Fix most of "[x] thread is too sleepy" at Emu.Stop() (#9813) * Audio/AL: Request our default sampling rate (48kHz) from AL when creating the context. Otherwise AL might downsample and output in 44.1kHz unnecessarily, which happens at least on my system. Also tested on an audio device that doesn't support 48kHz to makes sure that still works. * check alcGetString return pointers * Fix potential overflows in utils::aligned_div, utils::rounded_div * debugger: Fix single stepping (#9793) * Fix -Wstring-aliasing (gcc) * Fix -Wpessimizing-move (Clang) * Fix -Wsometimed-uninitialized (Clang) * Fix -Wself-assign (clang) * Fix almost all GCC warnings * Fix mic device default in config * Add error on missing 'override' ------------------------------------------------------------------- Mon Feb 15 16:47:20 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210215: * Fix regression (incorrectly removed specialization) * Make -Woverloaded-virtual an error * Reset -ftemplate-depth to normal * Enable -Wunused-function warning * Log "Missing Firmware" if firmware is missing * vk: Fixup and refactor for exclusive fullscreen stuff * add a hidden option to prevent switching to exclusive full screen mode * rsx: Add duplicate section detection when there are too many sections in the surface cache * vk: Silence some compiler warnings ------------------------------------------------------------------- Sun Feb 14 11:07:10 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210214: * Fix vm::falloc() for misaligned args (#9764) * Update log messages of PPU/SPU hashes and patches applied ------------------------------------------------------------------- Sun Feb 14 00:29:40 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210213: * Atomic waiting refactoring (#9208) * debugger: Improve PPU string constraints * PPU LLVM: Reduce PRX/OVL compilation memory usage a little * Rewrite fs::get_parent_dir * Patch engine: add bd32, bd64 and utf8 patch types * Add commits to the list * Fix PS3 process exit/exitspawn ------------------------------------------------------------------- Fri Feb 12 15:11:22 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210212: * kernel explorer: Display all PRX/OVL segments * Reimplement/fix PRX patches * Fixup for multi-thread shader compilation (loading stage) (#9762) ------------------------------------------------------------------- Thu Feb 11 22:10:04 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210211: * vk: Support incomplete lavapipe * rsx: Improve texture cache invalidate * rsx: Fix protection bug * vk: Offload garbage collection to offloader thread * rsx: Relax inheritance checks a bit * gpu-open/vma: Optimize CheckAllocation method * vk/vma: Always use aligned requests * rsx/texture_cache: Add support for reusing dirty images if possible * rsx: Lower cache block length to 256 pages * rsx: Refactor texture cache utils * GUI: initial log viewer * Revert "Replace GetEmuDir() with GetExeDir() in handle_rpcs3" * dualsense: implement player LEDs * dualsense: update description * LED settings: set modal and add has_battery check * dualsense: add player LED support * dualsense: add lightbar support * dualsense: fix switched motors * dualsense: add output report structs based on linux driver * dualsense: implement SetPadData for rumble in GUI * Input: minor simplification * Input: rename some functions * dualsense: add mic button * dualsense: add gyro support * Replace GetEmuDir() with GetExeDir() in handle_rpcs3 * Fix SAFE_BUFFERS attribute for GCC * Add -fstack-protector (Non-MSVC) * vk: Improve spec compliance (#9748) * GUI: Always remove manually added fonts in OnChangeStyleSheetRequest() * Fix firmware updating/reinstallation * Qt: Repaint log on stylesheet change ------------------------------------------------------------------- Mon Feb 08 01:02:40 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210207: * Qt: Replace relative paths in stylesheets instead of changing the working directory * Qt: Fix weird naming issue on linux * Qt: Simplify stylesheet logic * Qt: fix stylesheets on various platforms * PPU Analyser: follow fallbacks in some cases * PPU LLVM: compile instructions from patches * PPU Analyser: minor fixups for `end` pointer * Patch system: export some info for future use ------------------------------------------------------------------- Sun Feb 07 00:40:33 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210207: * Fix tiny race in PPU breakpoints (#9731) * Fixup for downloader * Update commits.lst (example) * Make out of source builds get copy of /GuiConfigs/, /git/, etc. * Add supporters * Updater: add minor sanity check * Create mini-cache for commits * rsx: Clear vertex output register if nothing is written to it * Don't use std::exit during Qt initialization * Support logger stopping at std::exit (#9722) * Fix rpcs3.vcxproj * Rename some variables to snake_case * Qt: remove Q_OBJECT for mouse/kb handlers * SPU: Always signal the debugger about termination * Tiny fix for zombie PPU threads * Disable LimitCacheSize option in custom configs * optimize add_only boot process * Remove tooltip event filter from gamelist * Allow BootGame with indirect paths ------------------------------------------------------------------- Tue Feb 02 11:15:30 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210202: * PPU LLVM: workaround patch handling * Fix fs::unread (Linux) * memory viewer: Implement RSX mode * Print report_fatal_error to cmd * PPU Analyser: fix constraints for all elfs. * TSX: workaround for check_state freezes * Remove unused header * Fix freezes in HLE Vdec and SPU LLVM precompilation. * PPU LLVM: upgrade to GHC call conv * Minor fixups * PPU Analyser: better constraints for SPRX * PPU LLVM: don't use module name as PRX indicator * PPU Analyser: compile certain functions on per-instruction basis * PPU Analyser: use reloc info (disabled for now) * PPU LLVM: Implement inline __add_get_ov * PPU LLVM: improve analyser * Debugger: Add some more shortcut descriptions in F1 helper * Debugger: Allow to unpause a thread which has been paused by global pause * PPU: fix some typos in asm code ------------------------------------------------------------------- Sun Jan 31 15:01:28 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210131: * More informative Error message on Vulkan driver crash * RSX: Implement set_value for progress dialogs * RSX: update shader loading dialog at 60 fps * Implement standalone OVL (overlay) loading mode * Add missing destructor of progress dialog * Fix ppu progress dialog percentage * Fix potential crash of progress dialog * Prevent minor race in Progress Dialog Server * Fix stop exit of check_only ppu_initialize * Minor optimization for check_only ppu_initialize * Simplify compile threads * Search for more game data directories. ------------------------------------------------------------------- Sun Jan 31 00:13:10 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210130: * Fix ppu compilation progress dialog * Fix #9680 (#9687) * rsx: Set frame limit to auto by default * PPU LLVM: Precompile all executable (PRX, MSELF, overlay) code at startup (#9680) * Fixup for preloading SPRX from MSELF * Fix minor issue with usage of STL thread::hardware_concurrency() * Add MSELF support to SPRX precompilation. * Do not account RSX for TSX pauses * Fix GCM HLE * Handle missing cases of Emu.BootGame failure * Check for rsx::thread existence in Emu.Stop/Pause/Resume * Input: remove debug error * New RSX Debugger * Seal cereal includes in util/cereal.cpp * Purge unused typeid() invocations * Unfatal Segfaults * PPU LLVM: implement ppu_finalize * UI: Add supporters * Detect execution access violation * Add trace logging to thread_ctrl::set_thread_affinity_mask * Threads: fix typo in emergency_exit (dump useful info) * Thread pool: try to fix resetting affinity mask * Thread pool: reset thread affinity mask * Implement thread_ctrl::scoped_priority * SPU: Don't use shm::map_critical in SPU LS allocations * vm_native.cpp: implement shm::try_map * SPU LLVM: Optimize ROTQBY family for VBMI - Avoid masking pshufb index by 0xf by using vpermb instead. - Also fix conversion of vperm2b index to ShuffleVector index. * Thread pool: reset priority ------------------------------------------------------------------- Sun Jan 24 14:21:43 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210124: * spu: Restore workers priority after initialization * vk/dma: Disable pasthrough DMA for NVIDIA+windows * vk/dma: Unmap pages from GPU when they are unmapped in Cell * gl: Avoid type shenanigans used to fake byteswap for select formats * vk/dma: Fix multiple logical bugs * vk/dma: Allow interoperability between pass-through and write-back DMA caching types * vk: Workaround for amdgpu kernel driver * vk: Fix custom event signals * vk: Polishing and cleanup * vk/dma: Modify default page size to 64k * win32: Be a bit more optimistic with allocated ranges; we get contiguous ranges more often than not * vk: Add host-imported DMA buffers * vk/rsx: Fix some more bugs * vk/dma: Disable memory inheritance * rsx/vk: DMA stuff ------------------------------------------------------------------- Sun Jan 24 01:38:01 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210123: * rsx: Improve gs frame exit workaround * rsx/gui: Delay game window pop-up until first frame * fix UserInfo2_to_SceNpUserInfo2 * debugger: Implement F1 helper * Improve ppu_thread_cleaner a bit * SPU: fixup after #9630 * Implement thread_ctrl::wait_on (see #9208) * Remove SPU and PPU destructors * rsx: Add support shadow1D and shadowCube * rsx: Use unsigned variables to avoid sign problems when calculating stipple bits * Fix new warnings * Fix old warnings: remove strncpy * Remove unnecessary fmt::throw_exception destructor body * Change the way skylander ID is generated * Introducing RSX debugger entry (main debugger) ------------------------------------------------------------------- Mon Jan 18 22:15:55 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210118: * Qt: hotfix for downloader * Refactor some 'offending' code a bit (no effect) * Fix fmt::throw_exception destructor v2 * texture_cache: fix some warnings in AUDIT * Rewrite fmt::throw_exception destructor * Compilation fix (#9622) * SPU LLVM: Optimize FSM following comparison - FSM following a comparison instruction can be optimized to a single shuffle instruction * vm_native.cpp: minor compilation fix * SPU LLVM: add splat_scalar helper * CMake: Unset LIBUSB_LIBRARIES when using libusb submodule * CMake: Use find_package to find SDL2 ------------------------------------------------------------------- Sun Jan 17 00:33:18 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210115: * LLVM: generate trampolines for "null" functions * vm: Minor fix in vm::close * Use different approach in shm::unmap_critical (Linux) * Memory: use MADV_DONTDUMP if available (Linux) * vm: Remove vm::dealloc_verbose_nothrow * Memory: fix critical bug in shm::unmap_critical (Linux) * Crypto: modernize key_vault.h * Crypto: modernize ec.h * Crypto: make global vars in ec.cpp thread_local * Crypto: don't modify EDAT_IV (all zeros) * Crypto: workaround -Wunused-variable ------------------------------------------------------------------- Wed Jan 13 16:16:08 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210113: * Qt/curl: fix segfault in curl * Qt/Input: Use ellipsis as "mouse deadzone" * Remove legacy patch support * memory viewer: Close all instances after emulation exit * utils::shm: Hotfix after #9578 * utils::shm: Make map_self() atomic (#9578) * sceNpTrophy: Fix sceNpTrophyRegisterContext for handler abortion (#9586) * Implement richtext_item_delegate * Add filename to multi pkg installation * Simplify numbered_widget_item * Add filename to single pkg installation * fix rebase conflicts * Try to distinguish between Update and DLC (Part 2) * Move blocking code in order to free the explorer * Try to distinguish between Update and DLC * fix linux compilation * Don't hide the PKG install progress dialog after each package * Use boolean values in unedat * Minor include cleanup in utlis.h * Add VERSION fallback to GetPkgInfo * Add more info to PKG install progress dialog * unpkg: add missing break and some cleanup * Use package reader in pkg_install_dialog * Rename package_reader member variables * Read patchsets from compat db * LLVM: log certain null functions * RSX: Fix possible bug in memory streaming utils * Enable -Wunused-variable * Enable -Wunknown-pragmas * Enable -Winvalid-offsetof * Enable -Wcomment warning * Random stuff (#9589) * tiny include fix * kernel explorer: Make it single-instance tool * rsx: Fix index array offset bits * vk: Refactor some uber-headers ------------------------------------------------------------------- Sun Jan 10 00:35:07 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210109: * Fix compilation for gcc-11 * Update LLVM to latest commit * Update ASMJIT to oldstable * Update ASMJIT submodule URL * Utils: Rewrite fmt::split * Add comment for deprecated avcodec_register_all * Qt: ugly fix for ugly deprecation warning * game_list: fix deprecation warning * Fix or silence Qt warnings * Silence another warning (clang) * Silence one warning (clang) * Error on no return type warning * Remove redundant #pragma once * PS3 Loader: Fix sections memorizing * VFS: fixup handling . and .. after #9528 * fixed_typemap.hpp: remove useless reporters * VFS: Escape path components which end with space or period * VK refactoring Part 2 (#9542) * Docs: Update BUILDING.md (Fedora) * Build: Add include for building on certain configs * rsx: Fix ambiguous call to min(float16_t, float) * Update Utilities/Thread.cpp * Improved Zen chip detection ------------------------------------------------------------------- Sun Jan 03 00:35:23 UTC 2021 - pousaduarte@gmail.com - Update to version 0.0.14~git20210103: * rsx: Make FP shader cache load lock-free * rsx: Fix shader cache of 2 or less pipelines * rsx: Shaders cache loading and saving bugfixes ------------------------------------------------------------------- Thu Dec 31 20:24:08 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.14~git20201231: * rpcs3_version: Bump to 0.0.14 * VK: make static chip_family_tables const * VK: move static chip_family_tables to cpp * VK: move helpers to vkutils * VK: refactoring part 1 * Initial playlist-based custom soundtracks support (#9362) * Buzz! emulated controller (#9504) * Implement util/fifo_mutex.hpp * vm: implement vm::atomic_op, fetch_op helpers * memory viewer: Implement SPU mode, fix address GOTO * rsx: Implement Texture LOD Bias addend setting * rsx: Fix RSXTexture.h spacing * rsx: Move Anisotropic Filter Override to RSX state * Format: Update clang format * Docs: Update BUILDING.md * CMake: Update required Qt version * SPU LLVM: Fix edgecase in icelake codegen * Remove deprecated _bit accessor from v128 * Reimplement utils::popcnt64 * Types: Use nullptr over 0 * Warnings: Silence false warnings about fatal code paths * Warnings: Warnings use kebab case, Mr. Kot * Warnings: Ensure death functions are all marked noreturn * rsx: Revert an accidental deletion * rsx: Allow attempted fetch of non-existent surface ------------------------------------------------------------------- Mon Dec 28 10:36:23 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201227: * Improve skylander portal emulator * vm_native.cpp: conditionally define c_madv_free * Use MAP_NORESERVE when available in mmap (Linux) ------------------------------------------------------------------- Sun Dec 27 00:35:12 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201227: * Remove std typeinfo * vm: Fix access violations on super memory, support super memory in vm::get_addr * Disables precompiled headers by default (#9499) * Allow USB passthrough for THQ uDraw GameTablet * Remove bom in Utilities dir * rsx: Do not rely on program env state, instead, always use program ucode analysis results when doing codegen * rsx: Refactor shader codegen and fix shadow sampling on depth-float * vk: Fix more spec violations * Implement util/auto_typemap.hpp * Fix minor typo * Fix SPU ELF loader * Partial revert of 43c87e99b0316d4328b597ad50ff415ef42a73af * SPU Debugger: Print reservation data * memory viewer: Only allow "words" steps in powers of 2 * Fixup memory viewer SPU headers for RawSPU * GUI: Rewrite GOTO address tools in debugger tools * types.hpp: more cleanup * perf_meter.cpp: register only named threads * Butcher narrow cast a little (don't print value). * Don't randomly include "stdafx.h" * MSVC: remove MemLeak build support * Add PR-BUILD.md and Pull Request Template * Change skylander variants to use hex * atomic.hpp: revert Clang < 11 workaround for u128 * CMake: bump minimum Clang to 11 * CI: switch FreeBSD to Clang 11 (similar to e2303f337804) * types.hpp: remove intrinsic includes * atomic.hpp: use u128 as storage for masks/values ------------------------------------------------------------------- Mon Dec 21 17:10:29 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201221: * Debugger: Switch from NoThread when the emulation is running * PPU memory must be exec memory when using debugger's "Next Instruction" feature * Mask PC in debugger_frame::keyPressEvent for SPU * Disasm: read instruction contents only once * Debugger: correctness fixes and cleanup * Cleanup disasm classes a bit * vk: Fixup for renderpass issues * minor cleanup * memory viewer: Fix resizing down * Move align helpers to util/asm.hpp * Fix bug with vector arg alignment in BIND_FUNC and callbacks. * Emu: implement on_exit callback * Hotfix: Emu.Quit after Emu.Stop * Cleanup and move sysinfo.h -> util/sysinfo.hpp * Replace uint64_t with u64 * Replace uint32_t with u32 * Replace int32_t with s32 * Replace uint16_t with u16 * Replace uint8_t with u8 * Add usz alias for std::size_t * Simplify f16 type * Move busy_wait() to asm.hpp * memory viewer: improve layout and resize * fix warning * memory viewer: check width and height in image viewer * memory viewer: fix RGB Image viewer crash * memory viewer: use enum for color formats * memory viewer: more cleanup * memory viewer: fix horrible overflow that freezes rpcs3 * memory viewer cleanup * GUI: Make memory viewer address edit accept 0x/0X prefixes * GUI: Polish the memory viewer * Link the memory viewer with the debugger * GUI: Improve PS3 decryption tool * vk: Register ampere GPU PCI IDs * Fix hexadecimal line numbers in error reports * fixed_typemap.hpp: Fix assignment operator for g_ptr * Update LLVM commit (minor fixups) * rsx: Do not reset vertex program texture mask when updating ucode analysis * vk: Force ampere GPUs to use the slower but spec-compliant depth-color resize route * vk: Workaround for validation layers bug * Hotfix: useless error * Almost all Skylander variants (#9443) * Fix unresponsive UI during SPU compilation * Fix stop during shader compilation * Fix build * vk: Clean up some leftovers from shader decompiler rewrites * rsx: Add some texture upload statistics to the texture cache * rsx: Make debug overlay dynamic * rsx: Fix sampler descriptor updates for framebuffer resources * vm: fix warnings and add narrow cast for u64 ptrs * Fix potential thread_pool crash on exit * Make lf_queue<> compatible with atomic_wait * shared_ptr.hpp: add wait support for atomic_ptr<> * atomic.hpp: use SFINAE for waitable atomic detection ------------------------------------------------------------------- Tue Dec 15 15:36:12 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201215: * PPU: Allow HLE execution from pure instruction decoder type interpreter * FW SPRX install: Fix IDM ID's leak * PRX loader: Fix libfs_155.sprx loading * Salvaging code (#9432) * Minor tooltip grammar fix * Remove BOM from new files * Firmware libraries settings overhaul * Split BEType.h to util/v128.hpp and util/to_endian.hpp * vm: initialize g_pages at vm::init * shared_ptr.hpp: fix is_same_ptr<>() trait * rsx: Restructure and simplify some header include chains * rsx: Move shader analysis+prefetch to the end of the draw call * Add variant support for Skylanders (#9424) ------------------------------------------------------------------- Sun Dec 13 00:25:04 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201213: * Initial DualSense Support (#9308) * Update skylander_dialog.cpp (#9419) * Use uptr (std::uintptr_t alias) * Move types.h to util/types.hpp * Remove ceil2/floor2 from types.h * Move error_code to ErrorCodes.h * Remove any_pod<> from types.h * Reduce std::numeric_limits dependency * RSX: remove overly long integer sequence (opcode_list) * Fix u128 constructors (MSVC) * endian.hpp: minor simplification * VKMemAlloc.cpp: use shared_mutex in vk_mem_alloc.h * std::chrono cleanup: always use steady_clock * Fixup for fs::file::read * Use atomic_t<> in VKMemAlloc * Remove constexpr from ppu/spu decoders. * Remove ASSUME macro * Always print system error code on 'throwing' errors. * Remove HERE macro * vk: Validate image creation inputs * vk: Add even more D32_SFLOAT missing locations ------------------------------------------------------------------- Wed Dec 09 15:14:58 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201209: * Improve narrow() and size32() with src_loc detection * Replace verify() with ensure() with auto src location. * SPU ASMJIT: fixup mfence replacement * Simplify g_pages * Set msvc toolkit back to mainline * vk: Properly register D32_SFLOAT as a depth-stencil format (#9396) * Qt 5.15.2 (#8867) ------------------------------------------------------------------- Tue Dec 08 13:18:35 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201208: * atomic.hpp: fixup (rsp addressing) * Allow emulation to work without firmware (#9367) * Remove bom from .hpp files * atomic.hpp: add atomic_t<bool> specialization * atomic.hpp: replace std::atomic with atomic_t * atomic.hpp: add some features and optimizations * shared_ptr.hpp: add trivial conversion for shared/single types * rsx: Separate program environment state from program ucode state ------------------------------------------------------------------- Sun Dec 06 14:48:40 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201206: * Debugger: Implement code flow tracking * Debugger: rewrite GetPc() * Remove BOM markers * Set default to utf-8 for MSVC ------------------------------------------------------------------- Sun Dec 06 00:34:33 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201204: * atomic_t: cleanup type requirements * atomic.hpp: simplify and unify bit test instructions * shared_ptr.hpp: fixups and updates * atomic.cpp: more phase splitting in notify_all() * shared_ptr.hpp: improve atomic_ptr methods * Update FW 4.87 Latest Version (#9366) ------------------------------------------------------------------- Tue Dec 01 13:55:31 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201201: * atomic.cpp: improve hashtable access * Make cpu_counter::remove() async * sceNp.cpp: fix some UTF-8 string mismatch ------------------------------------------------------------------- Mon Nov 30 13:48:05 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201130: * rsx: Fix upscaled image reconstruction * rsx: Fix uncaught depth-func changes ------------------------------------------------------------------- Sun Nov 29 20:01:29 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201129: * Fix RSX replay thread lifecycle ------------------------------------------------------------------- Sun Nov 29 18:48:23 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201129: * Add missing Fedora dependancy to BUILDING.md * Remove unneeded non-ASCII character (unedat.cpp) * stdafx.h: remove BOM from custom included headers ------------------------------------------------------------------- Fri Nov 27 13:50:28 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201127: * Try to set 2-3 GiB working space and show error if it's failed (Windows) * shared_ptr.hpp: fix critical bugs * Minor debugging enhancement * Threads: fix minor race * Homebrew atomic_ptr rewritten (util/shared_ptr.hpp) * atomic.cpp: shrink and simplify main hashtable * atomic.hpp: remove/deprecate incomplete notify features * Handle some undefined behavior regarding null pads ------------------------------------------------------------------- Wed Nov 25 11:22:38 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201125: * JIT: increase likeliness of allocating 2M large pages * perf_meter.hpp: move logic to noinline function * utils::shm: allow 2M hugepages on demand * Linux: remove assertions on MADV_HUGEPAGE * atomic.cpp: fix windows/std path * Implement "slow mutex" without spin-waiting. * Minor changes related to Emu.Stop() ------------------------------------------------------------------- Tue Nov 24 19:36:03 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201124: * asm.hpp: constexpr refactoring * vm_native.cpp: add MADV_HUGEPAGE * atomic.hpp: alter atomic_storage<>::store a bit * Implement prefetch_write() and prefetch_exec() wrappers * Fix auto exit * gl: Disable depth test before rendering text to the backbuffer which does have a Z buffer * Azure: attempt to produce clang artifact * Remove any mentions of scam CI * Fix SPU LS MMIO * vm: adjustments * atomic.cpp: don't use empty notify callback * Threads: minor simplification ------------------------------------------------------------------- Mon Nov 23 23:09:55 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201123: * vk: Improve support for RDNA ------------------------------------------------------------------- Mon Nov 23 11:31:19 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201123: * Simplify communication with thread pool * Clean thread pool at exit. * atomic.hpp: fix atomic_wait::list regression * atomic.hpp: redefine op::ne to actually mean "not equal" * Remove old travis badge (kill it with fire) * Pushing master AppImage Artifacts to GitHub Releases via Azure ------------------------------------------------------------------- Sun Nov 22 20:56:41 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201122: * Attempt 2: Try to make Azure push linux builds * Azure: try to deploy GCC artifact (upload to github) * Removed .travis.yml * Attempt to fix #9316 * Second attempt to fix hanging RPCS3 process * atomic.cpp: remove redundant constexpr ------------------------------------------------------------------- Sun Nov 22 00:36:36 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201121: * rsx: Some shader compiler threads tuning * qt: Add shader compiler threads to GUI * gl: Thread shader source compilation dispatch * rsx: Use multithreaded shader compiler backend * Attempt to fix Emu.Quit() * Fix thread pool entry point and get_cycles() * Attempt to fix #9271 * atomic.cpp: optimize "cond" allocation with TLS * Basic constexpr support for u128 (MSVC) * atomic.cpp: use deterministic "cond" allocation * atomic.cpp: use some actual hash for hashtable (std::minstd_rand) * CPU: remove descheduled threads from suspend_all list ------------------------------------------------------------------- Fri Nov 20 14:15:29 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201120: * SPU: Log STOP full opcode (#9292) * hotfix for infinite loop when booting game data * Update disc boot detection and hope it works * Fix u128 type on MSVC (subtraction, minus) * CPU: use u128 in bit counter * Fix perf_meter<> after adding thread pool. * vm.cpp: minor optimization for filling stack guards * CPU: remove cpu_counter from g_fxo * CPU: update suspend interface (dummy) * CPU: Fix g_suspend_counter waiting logic ------------------------------------------------------------------- Wed Nov 18 11:46:55 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201118: * SPU LLVM: fix AND instruction family (#9290) * rsx: Resolution scaling overhaul * Debugger: fill stack guard with STACKGRD * Update hidapi * Fix memory viewer for SPU LS * SPU: increase max SPU count * SPU: absolutely unacceptable hack for SPU LS * sys_memory: HORRIBLE HACK for sys_memory_get_page_attributes * atomic.cpp: remove tiny redundancy * Potential fix for Linux compilation ------------------------------------------------------------------- Tue Nov 17 11:07:59 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201117: * Debugger: Fix scrolling in first registers panel * cellGame fixes * Add thread_ctrl::get_thread_stack * vm: respect initial protection for allocation mapping * vm: memory locking rewritten * SPU: don't allocate SPU LS in vm::main ------------------------------------------------------------------- Sun Nov 15 15:28:32 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201115: * SPU Debugger: Implement float registers view + General debugger fixes (#9265) * SPU: Fix some stat printing * atomic.cpp: fix notification on windows ------------------------------------------------------------------- Sun Nov 15 00:36:31 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201114: * atomic.cpp/threads: remove old wait callback * atomic.cpp: fix waiting on multiple variables * atomic.cpp: fix rare overload scenario * Temporarily disable memory locking if TSX is not used * Fix suspend_all bug (TSX, TSX-FA) * Don't add lonely cpu_flag::memory on TSX path (bug) * Fix thread pool resource management. ------------------------------------------------------------------- Fri Nov 13 14:07:49 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201113: * Fixed thread pool a bit * atomic.cpp: continuation of fixing all-ones masks * atomic.cpp: optimize raw_notify() for unspecified pointer mode * Improve disconnected state handling of dns queries * Add some error checking in sceNp2.cpp * Implement simple thread pool * Add .gdbinit config file * Adds SIGPIPE to ignored exceptions(unix) * atomic.cpp: print some stats on stop * atomic.cpp: fix notification bug from few commits before * atomic.cpp: minor optimization * atomic.cpp: merge more atomic variables for simplicity * atomic.cpp: combine two atomics (ref ctr and wait ptr) * atomic.cpp: don't load actual memory on empty mask * atomic.cpp: minor notification improvement * atomic.cpp: restore notify_all() behaviour * atomic.cpp: implement some atomic wait operations. ------------------------------------------------------------------- Wed Nov 11 17:48:19 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201111: * Fix vm::check_addr calls in Thread.cpp * Fix vm::range_lock, imporve vm::check_addr * Registers Editor: Implement SPU/PPU register value broadcast * Debugger: Improve SPU/PPU vector registers * Fix missing controller mapping * atomic.cpp: waitable atomics got brutally rewritten * SPU Debugger: Improve registers panel * rpcn 0.3.5 (#9227) * Fix PPU stack contents on allocation * Make memory locking optional (mlock, VirtualLock). * Import VirtualAlloc2 if available (Win10+) * Improve DYNAMIC_IMPORT * CPU: Improve suspend_all g_suspend_counter handling * vm: lock memory under "sudo" addr * Implement utils::memory_lock * vm: remove unnecessary memset() on stop * CPU: use unsigned (u8) priority in suspend_all * Fix path not being saved on install pkgs * Hotfix for shm->map_self() * sys_semaphore: add state check to sys_semaphore_get_value * SPU/vm: Improve vm::range_lock a bit * SPU: improve spu_thread::reservation_check * vm: implement g_shmem for range locks * vm: add map_self() method to utils::shm * vm: refactor vm::range_lock again * Debugger fixups (#9226) * kernel-explorer: Add basic process info * Debugger: Improve SPU/PPU callstack handling ------------------------------------------------------------------- Sun Nov 08 00:33:38 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201107: * unify patch log ------------------------------------------------------------------- Sat Nov 07 18:17:41 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201107: * Debugger: Implement SPU callstack, fix PPU callstack * atomic.cpp: fix 3-arg notify functions * atomic.cpp: allow waiting on multiple variables simultaneously * atomic.cpp: adjust assumed pointer mask * atomic.cpp: add minor safety check * atomic.cpp: maintenance of wait() function * SPU reservations: Do not illegally dereference reservation data * Set AccountAge to 18 to fix age restriction checks, fix incorrect logged function name (#9218) * More Header cleanup * CI/FreeBSD: switch TravisCI to Clang 11 * CI/FreeBSD: enable on TravisCI as ccache works nowadays * CI/FreeBSD: switch CirrusCI to 12.2-RELEASE * CI/FreeBSD: avoid downloading commit history in submodules * CI/FreeBSD: clear ccache stats, so new hits are easier to notice * CI/FreeBSD: stop forcing ccache after f528aada24fb * atomic.cpp: upgrade raw_notify() * atomic.cpp: refactor native signaling functions * atomic.cpp: fix cond_handle data structures * Remove unused atomic with lock bit ------------------------------------------------------------------- Fri Nov 06 13:50:36 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201106: * llvm: Update submodule (Zen3 workaround) (#9212) * Extend timeout on travis * atomic.cpp: remove load() from notify functions * atomic.cpp: more improvements * atomic.cpp: various cleanups and fixes * Improve shared_mutex * Improve cond_var notifiers * Fix HAS_OVERCOMMIT usage in JIT.cpp * Update LLVM commit id * Fix 1 warning in MSVC * atomic.cpp: improvements. * Improve low-level mmap utilities (Linux/BSD) * Fix vm::lock_range wrong check * Improve cpu_flag::temp handling * sys_prx: add cpu_flag::wait * vm: minor refactoring * Fix some switch warnings * Fix NEVER_INLINE attribute * Optimize cpu check_state() a bit * Add Quadro to fast version of VK get_driver_vendor * Set some things to log level always ------------------------------------------------------------------- Tue Nov 03 14:09:40 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201103: * Add option to log qDebug * Log Qt version ------------------------------------------------------------------- Mon Nov 02 20:32:16 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.13~git20201102: * rpcs3_version: Bump to 0.0.13 (#9192) * Upgrade to LLVM 11 Stable * vm::range_lock cleanup and minor optimization * Optimize vm::range_lock ------------------------------------------------------------------- Sun Nov 01 14:17:14 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201101: * TSX: fix transaction limit settings * TSX: tiny optimization of transaction functions ------------------------------------------------------------------- Sun Nov 01 00:16:46 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201101: * Fix vm::page_protect and range flags * SPU: Fix Accurate DMA edge case * Improve vm::range_lock * Qt: Pass events to dialog when not remapping * overlays: kinda fix performance graph margins (#9181) * Disasm: do not allow to access previous instructions in non-interpreter mode * SPU Debugger: SHUFB insertion patterns * TSX: new fallback method (time-based) * vm: rename g_addr_lock to g_range_lock * Rename vm::reservation_light_op -> light_op * Cleanup some includes * cellSubDisplay: Add some constants (#9178) * implement interception for cellKb and cellMouse * HLE: Add some constants * Add License Area Setting * Qt: Fix Resolution combobox default value * rsx: Fix transform contants load * Actually start rsx replay thread * vm: optimize range lock slot allocations * sys_fs/sys_usbd: add cpu_flag::wait * sys_ppu_thread: add cpu_flag::wait * sys_memory: add cpu_flag::wait * sys_rsx: add cpu_flag::wait * sys_event: cleanup (replace vm::temporary_unlock) * Derive RSX Replay thread from cpu_thread * Allow cpu_thread& arg passed to the syscalls * PPU: Optimize reservation load for success * vm: add extern clear_range_locks function * CPU: improve cpu_thread::suspend_all for cache efficiency (TSX) * perf_meter.hpp: fix double rdtsc bug, add restart() method * SPU: make do_dma_transfer() static with _this arg * PPU: reload old data on STCX failure * PPU: add LARX perf counter * SPU: load previous data on PUTLLC failure * CPU: improve cpu_thread::suspend_all (TSX) * Logs: add callback for cpu_thread to set cpu_flag::wait * SPU: add stx/ftx counters * TSX tweaks ------------------------------------------------------------------- Thu Oct 29 12:23:43 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201029: * Qt: Add "Configure Game Patches" to game list (#9154) * ci: Update docker to 1.6 * ci: Use system cURL on Linux build * Revert "TSX: adjust transaction logic" * NET: Add SO_RCVBUF / SO_SNDBUF defaults to .._bnet_socket * atomic.cpp: fix memory ordering loads and release stores * Revert part of CellHddGameCheck ------------------------------------------------------------------- Wed Oct 28 13:38:56 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201028: * TSX: adjust transaction logic * Fix cpu_flag::temp, make sure it removes cpu_flag::wait * SPU: make vm::check_addr checks safe under vm::range_lock * SPU: improve accurate DMA * atomics.cpp: add support for waiting on 128-bit atomics * Remove some vm::reservation_lock instances * vm: improve range_lock and shareable cache (Non-TSX) * atomic.cpp: implement notify callback ------------------------------------------------------------------- Tue Oct 27 17:32:00 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201027: * DS4: Add error logging and remove some unused code * Qt: fix never played nonsense * rsx: Driver compatibility improvements (#9131) * Qt: move TTY option to TTY tab (#9147) ------------------------------------------------------------------- Mon Oct 26 17:20:21 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201026: * ci: Set glslang checksum back to auto-builds * Partially revert "Fix debug build gcc/clang linker." * Fixup for cpu_flag::temp * atomic.cpp: add sparse atomics * Implement cpu_flag::temp flag * rsx: Block-level reservation access * atomic.cpp: add std primitive fallback for other platforms * ci: Set GLSLANG_URL back to auto-builds * SPURS: Implement spursJobchainPopUrgentCommand * CellSpurs: Minor fixes * SPU: Fix LS capture entry point ------------------------------------------------------------------- Sun Oct 25 00:19:09 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201024: * atomic.cpp: use new thread alerting API (Win8+) * Add imports for some undocumented NTDLL functions * Fix UTF-8 strings in perf_meter files * SPU: use normal notify() thread function * atomic.cpp: experimental optimization (Win7+) * atomic.cpp: rewrite internals (again) * atomic.cpp: integrate callback check in ptr_cmp function * Improve raw_notify a bit ------------------------------------------------------------------- Sat Oct 24 12:32:47 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201024: * SPU: Save LS capture executable in one segment ------------------------------------------------------------------- Fri Oct 23 23:34:10 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201024: * HLE: improve cellHddGameCheck * Qt: add custom game icons * Debugger: Fix SignedHex * Debugger: Simplify thread pause state change * SPU: cleanup channels logging * SPU Debugger: Implement basic instructions's constants propagation * Debugger: Optimize thread disasm type select * SPU Debugger: Add made-up MR mnemonic * kernel-explorer: Add SPURS wkl arg ------------------------------------------------------------------- Wed Oct 21 19:50:42 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201021: * LV2: cleanup syscall table (#9106) * Revert "Atomics: use WaitOnAddress if available (Win8+)" * Revert "atomic.cpp: fixup for WaitOnAddress path" * atomic.cpp: fixup for WaitOnAddress path ------------------------------------------------------------------- Wed Oct 21 02:03:40 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201021: * Atomics: use WaitOnAddress if available (Win8+) * Improve vm::reservation_op * Remove XABORT in PPU/SPU transactions. * Add "Enable Performance Report" debug setting * Fixup for perf_meter.hpp * SPU: report too many PUTLLC attempts (TSX) * TSX: add prefetchw instruction in transaction code * SPU: fix GETLLAR regression * TSX: improve transaction repeat handling * Improve cpu_thread::suspend_all (TSX-FA) * Implement perf stat counter for PPU/SPU reservation ops * Implement cpu_thread::if_suspended * Implement priorities for cpu_thread::suspend_all tasks ------------------------------------------------------------------- Mon Oct 19 11:25:46 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.12~git20201018: * vk: Add VK_FORMAT_D32_SFLOAT to format conversion table * SPU: Touch unmapoed memory in reservation mismatch * Improve SPURS debugger (#9090) * PPU Debugger: fix typo in STDX * PPU Debugger: Improve move from/to CR registers instructions * Add assert in build_function_asm to not ignore errors * Fix spu_putlluc_tx (insignificant) * Fix ppu_stcx_accurate_tx (operand size mismatch) * Reimplement ASMJIT runtime * BUGFIX: LibUSB Transfer list deletion (#9084) * Implement ethernet address determination * Fix getsockname on windows for unbound sockets * Add sys_net error for EISCONN * Fixes setsockopt * Add better handling of RTT for STREAM_P2P * Improve poll for p2p sockets * Avoid double locking with start_sig * sceNpManagerGetAccountRegion impl * Add notification logging * LibUSB: Update to upstream master (and turn off YAML_CPP_INSTALL CMake property) * PPU: Handle cache line inconsistencies (PPU 128 reservations) * Fix ppu_execute<Func> for HLE functions * CellSpurs: JobChain functions and some more (#9080) * SPU: return some give-up behaviour for PUTLLC (TSX) * RSX: fix rsx::nv406e::semaphore_release partially * PPU: fix ppu_stcx_accurate_tx * PPU/SPU: give up on conditional stores if locking fails * SPU: restore some LR event setting logic after #9048 * Use std::invoke in cpu_thread::suspend_all * SPU: fix spu_getllar_tx * TSX: reimplement spu_getllar_tx * SPU: fix PUTLLC (TSX-FA) * Fix remaining vm::reservation_lock usages (for now) * PPU: Add loop logging in STWCX/STDCX * PPU: cleanup for TSX path remnant * CPU: print and reset suspend_all statistics * SPU: Report 'GETLLAR took too long' * sys_fs: fix file opening from /app_home * SPU: Implement S1/S2 (SNR) events (closes #8789) * Implement utils::tx_start (for TSX) * SPU: Validate reservation in GET commands (Accurate DMA) (#9062) * PPU: fix LDARX/LWARX in accurate mode (closes #9058) * Improve vm::reservation_update * PPU: minor improvement for LWARX/LDARX * JIT cleanup for PPU LLVM * SPU: Fix minor segfaults (#9015) * FIX: MAX_PATH is used within Windows headers, we should use a different define internally * PPU: improve LWARX/LDARX progression * More optimization for cpu_thread::suspend_all * Optimize cpu_thread::suspend_all * Rewrite cpu_thread::suspend_all * PPU: remove ppu_stcx_tx * vm: rewrite reservation bits * wolfssl: Add WC_NO_HARDEN suppression to compiler defines, and remove duplicate defines in MSVC * vk: Open CB before doing frame cleanup so that callbacks work (#9041) * Add some more info to SPURS kernel explorer * SPU Local Storage capture * Fix SPU ELF loader * Implement vm::reservation_op * Prettify SPU image name of dumped images * cellSpurs: Implement more HLE functions (part 1) * kernel-explorer: Initial SPURS debugger * SPU: Embedded PRX/overlay image patching and dumping * vk: Reimplement GPU query management * Fix GCC compilation (#9035) * Minor cellSpurs fixup * Implement sys_process_is_spu_lock_line_reservation_address * cellSpurs: Fix HLE workload signalling, taskset fixes * SPU: Remove dead additions in Accurate Xfloat * sys_fs: return ENOENT for relative paths * SPU: Fix extremely rare bug of GETLLAR (#9011) * Update BUILDING.md * fs: improve handling root mountpoint * fs: improve mountpoint detection * Improve Trophy Installer robustness * SPU: Simplify logging of MFC commands (#9004) * Set max PPU threads to 100 * cellSpurs: Add CellSpursJobOpcode definitions * cellSpurs: Add error codes formatting (unused) * Implemnt various HLE CellSpurs functions * PPU: fixup for Accurate 128-byte reservations (#8998) * Overlays: Use Back instead of Cancel * Emu: use vulkan as default renderer * Add Accurate PPU 128 Reservations to Debug tab * cellGameSetParamString: fix string sizes * PPU: Implement support for 128-byte reservations coherency * PPU: Upgrade reservations to 8-byte always * rsx/codegen: Workaround for borked hardware * SPU/PPU: Implement Atomic Cache Line Stores * rsx: Emit simpler fragment program code * rsx: Optimize vertex decoder to generate simpler code * vk: Disable spirv optimizer * xxHash: Update to v0.8.0 xxHash (#8980) * vm: Fix stack memory release, always reset memory flags * sys_memory: Improve sys_memory_get_page_attribute for stack * Implement HLE sys_config stack allocation * Fix fs::delim type, fix "." and ".." processing in fs::get_parent_dir (#8975) * sys_mmapper: return ENOMEM on memory greater than UINT32_MAX (#8982) * cellSearch: use std::hash (#8981) * GUI: Fix exception on invalid AudioRenderer * MSVC bug workaround * Compilation fix * Implement cellGameDeleteGameData (#8962) * cellSysCache: Global hdd1 lock * kernel-explorer: Implement Filesystem Destcriptors information * Win32 FS: Always use FILE_SHARE_DELETE * Win32 FS: Fix fs::utime for directories * Win32 FS: Rewrite (fix) vfs::host::rename * Registers Editor: Implement PPU/SPU reservation control (#8968) * vk: Properly initialize float64 support for SPIRV * Update rpcs3/Emu/system_config.h * Core: Add date/time offset capability for console time * cellGameContentPermit: Fix missing PARAM.SFO writeback (#8934) * Fixed formatting * Add additional NV4097 methods to gcm_printing * Fix methods_name indentation * Added missing NV methods for gcm_printing * HLE: Always return empty paths if game content does not exist in cellGameContentPermit * MSVC 16.8 Preview 3.1 compiler fix * TROPUSR.DAT fixup (#8960) * Add playtime to the value from settings * Trophy fixup * SPU: Fix unregistered channels in RCHCNT * SPU: Implement many missing channel counts * sceNpTrophy: Add logging of commSign * sceNpTrophyRegisterContext: Implement SCE_NP_TROPHY_STATUS_NOT_INSTALLED * sceNpTrophyRegisterContext: Atomically create trophy data * rsx: Properly pass format_class information during RTV/DSV resource barrier * vk: Improve image transfer and scaling * rsx: Always force typeless copy if memory is crossing aspect boundary * HLE: Implement ERROR_BROKEN in cellGameDataCheck (#8945) * Qt/Input: fix default pad handler * Qt: Fix playtime datatype * sceNpTrophyCreateContext: improve commId logging * HLE: Fix sceNpTrophyCreateContext * patch_engine: Apply patch when APP_VER is unknown * Fix cellGameBootCheck PARAM.SFO reads * Win32 FS: Fix fs::stat for drives * Fix cellGamePatchCheck (#8933) * cellFs: Rewrite cellFsGetFreeSize * sys_fs: Fix sys_fs_disk_free * sys_fs: Do not expose real hard drive available space!!!!!!!!!!!!! * cellSaveData: Minor fix * Always reset size in cellGameGetSizeKB * cellFsStat Improvements * cellGame: Improvements * SPU: Implement channels 70, 71, add naming for channel 69 (#8932) * rsx: Lower error message to warning * rsx: Release misconfigured texture memory before attempting reupload * SPU: Implement events channel count, minor interrupts fixes * GUI: Small changes to terminology * Look for rap file for network license * Qt: allow handling of the game window while the settings dialog is open (#8921) * Improve pad support (#8800) * Add rsx capture shortcut * atomic.cpp: Optimize sema_get to not always use atomic instruction (#8907) * vk: Fix nul section crash due to unexpected format (B8) * kernel-explorer: Account for PPU IDs invalidation in lwmutex * kernel-explorer: Fix lwmutex owner display * rsx: Add support for mixed data types when sampling shadow coordinates * PPU: Use SEQ-CST memory barrier in reservation load * Add disambiguations to the new translations * move localized_string_id to own file * HLE: localize most - if not all - exposed strings * Qt/overlays: use Argument list for translatable strings * Qt/overlays: Localize most rsx overlays * atomic.hpp: Fix atomic_storage_futex::raw_notify * sys_spu: Fix overexecution of cpu_return() * SPU: Use ASM for AVX2 coompilation instead of intrinsics * cellGame: Implement cellHddGameCheck2 * cellSysUtil: Implement CELL_SYSUTIL_SYSTEMPARAM_ID_LICENSE_AREA * Add more defines to cellSysutil * Register Editor: Allow to modify PPU priority * SPU: Make PUTLLUC LR event accurate * SPU: Remove "Accurate PUTLLUC" setting (always accurate) * Updates wolfssl and curl to official repos * Fix bitfield operator &= * PPU: Do not allow unaligned/unmapped reservation addresses * patch_manager: fix downloader location * patch_manager: use rename to back up old patch file * fix fs::copy_file on linux * patch_manager: log g_tls_error * Only bind 3658 with RPCN * Makes DNS processing more consistent * Win32 FS: Use FindFirstFileExW in fs::stat, fs::exists, fs::is_dir, fs::is_file * vk: Simplify shadow comparison operations for non-integer formats * patch_manager: fix success message * patch_manager: handle sha256 checksum * patch_manager: layout fixes * patch_manager: add download button * SPU: Remove STOP 0x0 hack (#8873) * Qt: Update tooltip for "disable keyboard hotkeys" * Input/Qt: Properly reset mouse hide timer * Input/Qt: Dont lock unused mouse in keyboard pad * hle: Implement ID_CURRENT_USER_HAS_NP_ACCOUNT (#8864) * PPU: reduce LARX logging level to warning * rsx: Fix depth clipping * rsx: Enable support for extended range in depth buffer * rsx/gl: Refactoring and cleanup * fix some warnings * Fix Windows UNC Path Handling * Update Building.md for Ubuntu based distros * VFS: fix off-by-one error in vfs::escape() * sys_process: Implement exitspawn error checking * Implement sceNpSignaling & signaling improvements (#8836) * PPU: Cleanup & unify reservation loads (#8849) * SPU: Use unaligned instructions in mov_rdata_avx (MSVC) (#8851) * gl/vk: Support swizzled data for RCB/RDB * gl: Overhaul upload and download routines for textures to go through shared image_to_buffer and buffer_to_image routines. * vk: Fix fconvert job issues * gl: Accelerate D24X8_UINT operations * SPU: Make PUT transfers use SEQ-CST ordering on Accurate DMA (#8844) * GUI: Additional translation entries * SPU: Use unaligned AVX instructions for cmp_data_avx * SPU: Do not ignore pending PUT tranfers just becase GET may not be cache-line atomic * SPU: Fix not acuiring reservation locks on DMA with more than one cache line (Accurate DMA) * RSX: Update manual string creation -> std::string() * sceNpDrm: Relax file extension checks * SPU: Make Accurate GETLLAR, PUTLLUC settings dynamically adjustable * SPU: Cleanup for Accurate PUTLLUC * SPU: Make GET's full and aligned cache line accesses atomic with Accurate DMA * rsx: Fix execution barrier insertion * improve tooltip coverage * GUI: Tooltips for mouse hide if idle and resize on boot * Internationalisation updates * SPU: Implement Accurate DMA (#8822) * Qt: simplify GetVerboseTimeByMs logic (#8824) * Fix idle timer * Update mouse lock logic * Use dynamic_cast to convert QWindow m_target to gs_frame * GUI: Mouse Hide and Lock Keyboard Shortcut * rpcs3_version: Bump to 0.0.12 (#8815) * vk/sdk: Sync with vulkan SDK v148 (#8814) * gui/themes: Convert kot-bg to jpg (95%) (#8809) * vk: Improve D16F handling * Remove call to start m_mousehide_timer in gs_frame constructor * Woops... premature commit/push. Fixed up the usage of connect * Used new Qt connect syntax Fixed indenting Renamed click callback argument from 'val'->'checked' Converted m_gui re-usage to just reference ui Removed implicit capture from spinbox lambda Corrected millisecond acronym from mS->ms Removed superfluous QTimer include in gs_frame.cpp * Added settings and logic for auto-hide of mouse cursor. * glsl: Properly implement shadow filtering when running emulated shadow compare * vk: Fix depth format mismatch detection in copy_image * Debugger: Replace SPU register perefix '$' with 'r' * tcp_timeout_monitor deadlock fix (#8783) * Fix some warnng in lv2.cpp * Restore some code * Use g_fxo for progress_dialog_server * Fix UB in Emulator::Load * Implement HLE cellSpursAddUrgentCommand * Log PRX segment end for usage with kernel explorer * PPU: log LR in HLE functions * SPU: Fix events ACK, minor optimizations (#8771) * RPCN Client (#8663) * vk: Fix some minor spec violation * vk: Add some more diagnostic messages for unoptimized image transfer setups * rsx: Fix format matching when aggregating textures - When copying depth-depth, prefer own format over depth int format * vk: Fix some missing render target declarations * rsx: Refactor and improve image memory manipulation routines * vk: Implement transport for D24S8_FLOAT data * rsx: Do not create depth textures as blit engine targets. * rsx: Separate uint depth formats from float depth formats * rsx: Basic support for creating depth float formats * Add Nekotekina skin (#8776) * Forces MSVC Toolkit to 14.25.28610 in Azure Pipelines * Fix empty input in Registers Editor * Debugger: Disable PPU address redirection * Debugger: Add missing PPU stack register checks * Debugger: Register Editor Improvements * Debugger: Fix instructions editor * Debugger: Fix scrolling using PageUp, PageDown, KeyUp, KeyDown * Debugger: Implement PPU SLWI, SRWI, SLDI mnemonics * SPU: Fix timer events * Support for Namco GCon3 gun (#8757) * [HOTFIX] Fix UB in Emu/System.cpp * PSF: Avoid redundent string copies in psf::array/string/get_string (#8707) * Revert "Qt: speed up list refresh" * Debugger: Use Signed Hexadecimal formatting (#8751) * Debugger: Fix PPU stepping on non-TSX * kernel-explorer: Add RSX handlers events info * evdev: log axis information in pad settings * Qt: speed up list refresh * Qt/Linux: fix QT_AUTO_SCREEN_SCALE_FACTOR typo * Qt: fix YoRHa QTreeWidget item style for CheckBoxes * Fix truncation warning in sys_cond.cpp * Fix bitops test * Fix vm::reservation_update * Ensure pushing builds to Github is only done on master branch * Windows GitHub release hotfix * Manually upload Windows Github Release using curl. Actually fixes #7938 (#8715) * rsx: Minor rsx::ceil_log2 bugfix * SPU LLVM: Improve approx FCGT (#8728) * Bring back the non-compliant define, but version limited * MSVC changes * SPU LLVM: Add icelake optimized paths for SHUFB (#8712) * SPU/PPU LLVM: Improve 0 addend FMA detection (#8709) * SPU: Implement RSX accurate reservations on TSX (#8721) * rsx: Fix XBGR vs XRGB screenshots * rsx: Support XBGR flip image load from Cell memory * vk: Warn if GPU does not support RGBA8 natively * rsx: Proper support for typeless transform of ABGR framebuffers using the RGBA8 format * rsx: Unify composite texture creation and management * PPU LLVM: Use VPERM2B to emulate VPERM (#8704) * cellSaveData: Fix loss of "BLIST" and files' information in PARAM.SFO (#8706) * SPU LLVM: Fix signed zeroes handling on Accurate xfloat * SPU/PPU LLVM: Fix FMA signed zeroes handling * Utils: Add detection for Icelake-client tier AVX-512 - Implies support for everything that Skylake-X supports as well as AVX512IFMA, AVX512VBMI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, AVX512VPCLMULQDQ, AVX512GFNI, AVX512VAES * Log username * move accurate rsx reservation to advanced * add missing settings to configure * vk: Generate valid image+image_view combinations for placeholder texture descriptors * Qt: fixup for PKG installation * Replace ppu_module_manager Function Static with Class Static variable (static module map) (#8669) * Fix for incorrect assignment of ghlguitar * sys_usbd tidy ups * rsx: Improve swizzled layout detection * Qt: unify package installation logic * Qt: add rap files to pkg install file dialog * Qt: fix input lag in pad settings * Try to fix ugly GUIs * Add config override as cli arg: --config <path> * make some cfg logs error instead of fatal * Qt: do not use on_<obj>_<action> syntax for slots * Qt: move some more settings to persistent_settings * PPU interpreters: Fix VMAXFP NaN and signed zeroes handling * PPU LLVM: Fix VMAXFP, VMINFP NaN handling ------------------------------------------------------------------- Mon Aug 03 13:35:57 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.11~git20200803: * lv2: Minor fix of "unspecific ppu" path of _sys_lwcond_signal * rsx: Decode swizzled GPU data on CPU readback * rsx: Propagate raster type of fbo sourced data throughout the pipeline. * Fix missing GPU in game window title * CI: Avoid trying to publish builds on forks * Gracefully abort headless mode with unsupported video renderers * PPU LLVM: Fix constant folding of BitCast * SPU/PPU LLVM: Fix cpu_translator::get_const_vector<v128>() * SPU: Implement SYS_SPU_THREAD_OPTION_DEC_SYNC_TB_ENABLE (#8657) * Don't open an error dialog in headless mode * SPU: Fix spu_thread::cpu_stop() missed executions (#8656) * cheat_manager: notify if no game is running * cheat_manager: make sure that the patches path exists * overlays: fix minor warning * cheat_manager: improve parser errors * cheat_manager: move cheats.yml to patches folder * cheat_manager: use enum values for columns * cheat_manager: disable search buttons if nothing was entered in the search field * cheat_manager: fix long search result lists * Improve error handling of config nodes * Improve error handling during config loading * SPU LLVM: Minor cleanup after #8559 * Improve error messages in firmware install * Qt: fix download menu visibility * Update cellAudio to use float constants instead of doubles * VK_REMAP enum is signed.. but later case comparison is unsigned * SPU LLVM: Avoid additional endian swapping - Avoid additional endian swapping with the ROTQBY and ROTQBYBI instructions - ROTQBYI is left out intentionally, since it caused worse codegen * SPU LLVM: Avoid redundant endian swapping - PSHUFB operates in reverse byte order from SHUFB, so we can take advantage of that to swap endianness without additional transformations in some situations * rsx: Fix cache skipping shaders on load+compile (#8633) * SPU/PPU LLVM: Optimize VSEL/SELB with constant mask (#8559) * PPU: Fix DIVW, DIVWU, MULHW, MULLW, MULHWU when op.rc is set (#8630) * vk: Fixup for PR #8590 * vk: Improve video memory manager to attempt recovery in out of memory situations * vk: Improve typeless texture succession * Update types.h to fix static_cast test (#8627) * overlays: try to fix unexpected font crop * PPU Precise/LLVM: Support NJ modes (#8617) * SPU/PPU LLVM: Improve expressions matching (#8620) * cellMic: use s32 consistently * use not_an_error in sys_spinlock_trylock * fix truncation warnings * fix sceNpCommerce2CreateCtx log message * add a gazillion more error_code * cellFont: add error_code * cellMic: error_code, random cleanup and stubbing * cellMusic: add error_code * cellSaveData: Increase sleep time * SPU: Use waitable atomics for SPU channels interface * move executable hash log level to success * SPU/Windows: Fix LS memory mirrors * SPU/Linux: Ensure aligned 64k allocations in utils::memory_reserve * SPU: Make spu_thread::offset private * SPU LLVM: Avoid negative clamping when the input is known to be positive * SPU LLVM: LS Memory Mirrors (Optimize loads/stores) * Minor fixup after #8501 * rsx: Fix false desync events * rsx: Brute-force removal of superseded surfaces * rsx: Fix draw count append when draw ranges are out of order * Make std::bit_cast hack-implementation constexpr in simple cases * Implement constexpr byteswapping * Qt/input: unbreak with Qt 5.15 after 881e8e472393 * Qt: Fix YoRHa background for some widgets * Qt: Fix Skyline's QSpinBox and QDoubleSpinBox buttons * Qt/input: add tooltips to pad settings * move applied patch log level to success * Qt/input: add checkbox for emulated stick values * Qt/input: fix stick preview for disconnected pads * Qt/input: show emulated sticks in pad settings * Qt/input: add squircle to pad settings dialog * input: use left and right squircle values * RSX debugger: fix command count on non-method commands (#8578) * rsx: Fix depth bounds test * rsx: Support partial texture descriptors * SPU LLVM: Optimize non-constant Tag Update requests * SPU MFC: Never clear tag status in WrTagUpdate * SPU MFC: Fix MFC_WrTagUpdate channel count * RawSPU: Log MMIO access * Qt: fix pad settings resize when switching tabs * Qt: fix scrollArea focus during pad button choice * SPU: Disable PUTLLC NOP transfers detection on TSX path * SPU: Implement GETLLAR polling detection * SPU/PPU reservations: Optimizations for reservation locks and check_state() (non-TSX) * Qt: fix update menu for linux * audio: rename audio channels to audio downmix * Only reboot audio if a relevant setting changed * Try to make most audio configs dynamic * XAudio2: Call CoInitializeEx to prevent errors * XAudio2: print readable errors * VS: show linux audio backends in solution explorer * cellAudio: implement downmix to 5.1 * vk: Inject memory barrier upon conclusion of a framebuffer feedback loop * HLE: fix sceNpDrmGetTimelimit invalid param error * sys_net: Use np_handler dns if possible for sys_net_infoctl (#8557) * Emu: simplify Emu::Stop some more * Emu: Make prevent_display_sleep dynamic * Emu: always use Emu.Quit() to quit RPCS3 * Qt: Remove obsolete main window close() * PPU debugger: Show stack address of each function * PPU debugger: Fix functions stack bounds check * gl: Silence warnings * rsx: Improve ZCULL queued requests finalization * Input/Qt: Check if gui callbacks are nullptr * Qt: use button box for most buttons * Qt: add scrollarea to pad settings dialog * Qt: Random unimportant stuff * Qt: Add stick multipliers to the pad dialog * patch_manager: save "owned games only" state * rsx: Fix transfer descriptors for partially overlapping slices in head * Qt: fix signal_update_available * Qt: remove automatic param from update logic * SPU LLVM: Fix barrier commands enqueuing * Qt: refactor curl stuff into a downloader * Qt: fix random QWinTaskbarProgress crashes * Qt: random cleanups * rsx: Implement fast ZCULL barrier when query object is already known * rsx: Fix leaking ZCULL queries after a barrier * Windows: distinguish left and right modifiers * Qt/Input: update keyboard_pad_handler shortcuts * Qt/Input: remove unused function: GetModifierCode * localized.h: follow Sony Naming Conventions (#8539) * Implement Caret upwards and downwards move in overlay_edit_text (#8342) * rpcs3_version: Bump to 0.0.11 * patch_manager: warning for incompatible patches (#8535) * vk: Disable primitive restart for old GCN cards * patch_manager: fix items across refreshs * patch_manager: fix import dialog close button * patch_manager: fix import, use constants as keys * patch_manager: improve import logging * patch_manager: fix sorting of item counters >= 10 * patch_manager: fix legacy patches again * patch_manager: allow Notes as sequence * patch_manager: fix owned games o. for all versions * patch_manager: prefer specific > global (per hash) * patch_manager: one patch per group across hashes * patch_manager: Always move All titles to the top * patch_manager: restrict All serials to All titles * patch_manager: don't hide "All Serials" in 'owned' * patch_manager: prefer serial patches over All * patch_manager: only apply one patch per group * patch_manager: add All override * patch_manager: add expand and collapse * patch_manager: add option to only show owned games * patch_manager: implement serials and app_versions * remove redundent include in Crypto/unedat.cpp (#8527) * Use proper install paths depending on pkg content * cellAudio: use downmix formula based on documentation * types.h: Fix ASSUME macro side-effects mismatch between compilers * Fix race in Crypto/unedat.cpp, Make NPDRM keys usage atomic * Remove devKlic/rifKey reset * vk: Add more GPUs to nvidia chip table * vk: Improve nvidia speedhack for non-turing cards * debugger: Fix registers editor * SPU: Use named constants for MFC tag updates * SPU LLVM: Fix WRCH instruction to WrTagUpd * ui: add rsx some options to gui (#8512) ------------------------------------------------------------------- Sat Jun 27 17:40:20 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.10~git20200627: * Make error_code::value member private * SPU debugger: Add atomic status and tag update channels information * SPU LLVM: Fix WRCH instruction to WrTagMask * Input: skip keyboard input when pads are disabled * pad_thread facepalm * rsx: Force flushing of NaN/INF to zero * Input: Use global variables for pad modifications * patch_manager: more information for branch nodes * patch_manager: save widget layout * cellSaveData: Emulate PPU processing of auto/list post-fixed callback * debugger: Shortend SPU/PPU thread names * Update BUILDING.md * patch_manager: add hash to applied log message * patch_manager: fix missing config path * rsx: Validate blend factors according to hardware testing * rsx: Validate stencil op to match realhw behavior * rsx: Fix surface options hint mechanism * rsx/fixup: Fix color clear logic * Update readme badges * rsx: Fix ABGR decoding for colormask and clear color * rsx: Support DRGB8 sampling of render targets * patch manager: Skip legacy patch.yml in the GUI * patch manager: Fix load order * patch manager: Allow partial patch file import * patch manager: Add patch removal to context menu * patch manager: fix tree refresh and item expansion * patch manager: Properly hide legacy patches * patch manager: "Show Patch File" in context menu * patch manager: Skip lower patch_versions * patch manager: properly check patch versions * patch manager: replace Version and Title keys * patch manager: move try catch block to yaml.cpp * patch manager: avoid patch import inconsistencies * patch manager: move title + serials to patch level * patch manager: improve error handling * patch manager: import patches * Change DLL permissions so Windows clients which respect permissions set them correctly (#8470) * Qt: Improve update manager messages * FAudio: remove 4x volume factor Same as commit 66d13da2acfa288 for the XAudio2 backend * sys_mmapper: rewrite page fault thread notifications * Update Github Issue Template: Regression * fixup * SPU LLVM: Avoid bad optimization in FCGT * rsx: Account for subpixel precision when converting DST coordinates to SRC coordinates * Update Github Issue Template: Bug * rsx: Properly handle conversion of G8B8 and related formats * rsx: Improve mipmap gathering * std header guard in BEType.h (#8448) * Avoid string reallocation in swizzle CgBinaryProgram * v128: A few optimizations (#8432) * SPU: Implement EBUSY error on non-empty mailbox (sys_spu_thread_send_event/sys_event_flag_set_bit) * sus_lwcond_signal_all: use protocol specified in lwmutex * SPU: Move check_state() outside of mutex scope * sys_cond: Fix spurious EBUSY in sys_cond_destroy * sys_event_queue: Fix IPC support * sys_cond/mutex: Fix race between sys_cond_create and sys_mutex, Fix IPC support in sys_cond/mutex * rsx: Remove ARGB->D24S8 conversion shader which has been deprecated for years since compute capabilities were added to the emulator * Create Github Issue Template: Feature Request * rsx: Fix surface option invalidation * cellAudio: Minor fixup * rsx: Make "Disable ZCull Occlusion" setting dynamic * rsx: Improve surface options invalidation * sys_vm: Limit total process vsize to 256MB (#8431) * cellAudio: Fix event queue attachment * Fix lv2_obj::name64 regression * debugger: Always show zeroes on no thread's instructions positions * debugger: Fix instructions foreground/background color changes on non-executable memory * Fix debugger breakpoints * Fix embedded spu elf patching * Atomically overwrite config.yml * rsx: Optimize rsx::rsx_iomap_table construction * sys_net: Fix sys_net_bnet_setsockopt page faults * sys_net: Stub sys_net_infoctl command 9 * IDM: Implement idm::clear<typename> * gl: Fix depth buffer byteswap hint * rsx: Merge instruction expand flag with the other sign expand flags * rsx: Implement signed normalized texture formats * kernel_explorer: More Improvements * patch manager: hotfix for legacy patches * sys_memory: Improve allocation/deallocation syscalls * patch manager: add checkbox for "enable legacy" * Workaround broken Azure badge link * PPU interpreters: Fix VRFIM, VRFIN, VRFIP, VRFIZ * patch manager * Update Azure config to fix Windows Azure build (#8399) * kernel_explorer: keep existing trees expanded * Improve tooltips * kernel explorer: Improvements * Unify Azure artifacts names and produce them only on successful build. * Atomically overwrite games.yml * Remove lambda in sys_net_bnet_poll * PPU: implement VNMSUBFP (precise variant) * Implement v128::fma32f * gl: Improve async compiler synchronization with initialization * rsx/fp: Separate SRC precision modifiers * SPU LLVM: Optimize FM when op.ra == op.rb * SPU LLVM: Additional FCGT optimizations * SPU LLVM: Partial revert for FM/FMA changes and other improvements - Revert changes to FM and FMA instructions - Allow non accurate/approx FMA family instructions to use native FMA - Minor optimization for FMA ops with a constant 0 multiply * SPU LLVM: Fix theoretical issue with FCGT optimizations * vk: Make the depth-convert pass multisample aware * vk: Fix query reset when renderpass is active * Add Cirrus CI FreeBSD badge (#8350) * stub cellPngEnc * Add error_code to cellPngDec * stub sceNpCommerce2 * stub sceNpTus * Remove mentionbot config * cellAudio improvements * Audio dumper: append filename with titleid and date-time * Fix some checks * Fix sys_net_bnet_poll regression (#8337) * rsx: Fix fragment state updates * rsx/fp: Ignore self-referencing register writes. * rsx: Properly account for memory sizes of reused surfaces * rsx: Improve surface cache resource management * SPU LLVM: Use clamping helpers for FMA32x4 and FM * XAudio2: remove nasty 4x volume factor * Improve Stop Watchdog * Add game patch support in 'Create PPU Caches' * SPU LLVM: fix spu_cache dependency * Avoid copying std::shared_ptr in sys_semaphore * cellAudio: make master volume dynamic * VS: randomly changed project files * Compile EBOOT.BIN on 'Create PPU Caches' * Typo fix * gl: Fix shader logging * rsx: Add stippled rendering support to interpreters * rsx: Implement stippled rendering * SPU: Fix possible deadlock after access violation via DMA transfers * SPU: Fix page faults notifications (non-TSX) * rsx: Fix possible case NULL zcull_ctrl in on_exit() * PPU: Implement PPU Traps Stubbing option * SPU LLVM: implement get_segment_base() * Fix warnings * [CI, Cache] Add proper cache versioning (#8285) * rsx: Copypasta fix (#8289) * sys_mmapper: Fix possible memory leak on error of create_lv2_shm * idm: Implement creation/destruction invalidation counter * rsx: Fix data format remapping * nv3089: Account for subpixel addressing ------------------------------------------------------------------- Sat May 23 21:48:12 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.10~git20200523: * [MSVC 16.6] Microsoft.MakeFile.Targets(46,5) :thisisfine: (#8279) * [CI, sh, Windows] Do shallow submodule init. History is not needed. * [CI, Windows] build SPIRV-Tools separately * Add FreeBSD to CI (#8261) * SPU: Fix page faults notifications ------------------------------------------------------------------- Fri May 22 20:13:26 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.10~git20200522: * Update cellSpurs.h * kernel explorer: Add information about first PRX/overlay segment * SPU/PPU disasm: replace unknown instructions message with question marks * SPU/PPU disasm: replace "illegal address" with question marks * PPU disasm: do not disassmble non-executable memory * vk: Implement masked stencil buffer clears * SPU MFC: Fix MFC_WrListStallAck on interpreters * SPU MFC: Fix SN interrupts * SPU MFC: Implement MFC_SDCRZ_CMD * Fix some misspells Note: in main.cpp there are many dirs similar to Program Files, so tip should be appropriate. * SPU: Optimize FCGT - Optimize FCGT to a single signed integer comparison when possible - Add is_spu_float_zero helper * [msbuild] only link llvm libs to Applications (#8262) * Optimize Qt properties in about_dialog https://doc.qt.io/qt-5/qt.html#TextInteractionFlag-enum * Qt: disable TSX in the config.yml if not supported * Qt: properly handle strict rendering mode switch * rsx_utils.h: fix signed/unsigned comparison * Implement std::countl_zero and friends * PPU interpreters: Implement AltiVec NaNs precedence and data preservation * Dev: Switch to dropbox for Vulkan SDK for reliability * Dev: Switch to alternate Qt host for reliability * gl: Restrict insert_vertex_input_fetch workaround to Intel proprietary * rsx: Write 4-byte long data to all semaphores (#8246) * SPU reservations (TSX): Remove wait flag in PUTQLLUC * rsx/fp: Fix precision clamping on MAD instruction * gl: Only log shaders if g_cfg.video.log_programs is enabled * gl: Refactor shader type usage * gl: Refactor shader compilation * gl: Check for EXT_depth_bounds_test * glsl: Avoid implicit int->uint conversions * rsx: Fix data written to RSX semaphores and the initial data of them (#8235) * gl: Remove older debug code * gl: Avoid issuing glDelete calls with m_id == GL_NONE * glext.h: update from 20180114 to 20200423 * gl: Rewrite Debug Output * GUI followup for https://github.com/RPCS3/rpcs3/pull/8148 * Bump Linux CI version (#8226) * Update Contributors * Update Developers * Update Supporters * Remove std::rotr usage for now * Spelling fix in texture_cache.h (#8219) * SPU: Minor cleanup of exception in stop_and_signal * sys_spu: Fix sys_spu_thread_group_terminate vs sys_spu_thread_group_exit race on values * SPU LLVM: fixup after #8175 (#8214) * rsx: Improve blit engine memory validation (#8215) * Emu/Config: Add option for accurate PPU LLVM vector NaNs * PPU Interpreter: Accurate vector instruction NaNs * PPU LLVM: Accurate vector instruction NaNs * vk: Properly fix dynamic state descriptors * rsx/fp: Support more types of texture access * Minor EFAULT fix in sys_semaphore_get_value/sys_event_flag_get * SPU: Implement spu_channel_(4_)t::try_read * sys_spu: Add short sleep in sys_spu_thread_group_terminate * sys_spu: Minor cleanup of group termination process * vm: Fix vm::passive_lock regression (#8175) * PPU: Use optimized reservation waiting for reservation load (non-TSX) * rsx: Rewrite data texture remap expansion * SPU LLVM: Improve MFC transfers recompilation for non-TSX * SPU: Use optimized PPU signaling to SPU on reservation pause * SPU/PPU reservations: Optimizations part 1 * Input: remember registered ldd controllers * vk: Remove more deprecated VK_DYNAMIC_STATE_RANGE_SIZE usage (#8206) * vk: Remove deprecated enum VK_DYNAMIC_STATE_RANGE_SIZE (#8202) * Fix possible cur_ip nullptr usage in np_handler.cpp * Qt: remove debug tab wall for Utilities menu * sys_spu: Fix race in sys_spu_thread_group_destroy and other minor fixes (#8182) * [CI] xenial 1.2->1.3 * Improves skylander generation (#8177) * rsx/fp: Fix PK2/UP2 instruction * [CI] Update VulkanSDK to 1.2.135.0 * [msbuild] Exctract Cmake cmd line to variable * [msbuild] Change vulkan libs dir search priority * rsx: Fix NOP shader passing * sys_spu: reset group exit status in sys_spu_thread_group_start * sys_spu: Improve sys_spu_thread_get_exit_status * rsx: Disable SCA writes to output register if vec result flag is set. * rsx: Move analyser dump to its own config option * rsx: Fix alpha ref * Don't load custom configs when adding games * Get rid of "module" keyword * vm: reset stack memory after deallocation * Input: fix xinput deadzones * Input: fix trigger scaling * Input: remame some functions * Fix some warnings (GCC) * Fix get_thread_affinity_mask (Linux/BSD) * SPU/PPU debugger: use ':' instead of '=' * Fix windows build * Fix linux build * rsx/interpreter: Fix DIVSQ instruction * vk: Enable optimization passes for generated SPIRV * vulkan: Import spirv-tools subproject and update glslang * glsl: Improve VGPR usage * Qt: Option to disable keyboard hotkeys * sys_event_queue: Fix forced event queue destruction * lv2: Minor optimization for "awake all" threads in sleep queue * sys_cond_signal_all: Use SYS_SYNC_PRIORITY protocol to signal threads * PPU: Clear reservation on context switch * SPU GETLLAR: Don't use loop detection for TSX * Add fs::error for when disk is full * Qt: show mouse in fullscreen * LLVM DSL: fix FNeg pattern matching * RSX: fix new warnings * Use utils::get_cpu_brand when applicable * Implement thread_ctrl::get_process_affinity_mask() * SPU: Optimize FMA ops with 0 addend * evdev: simplify evdevbutton madness a bit * evdev: revert facepalm change * rpcs3_version: Bump to 0.0.10 * sys_event_queue: Fix ports disconnection after queue destruction * cellAudioOut Improvements * rsx/interpreter: merge shader settings * Fix build * rsx/interpreter: Improve instruction accuracy * vk: Implement optimized pipeline cache * rsx/gl: Implement variable path interpreter for optimal performance * rsx/interpreter: Improve instructions support * vk: Integrate shader interpreter * rsx/gl: Add basic interpreter support to OGL * config: Register shader interpreter modes * SPU DMA: Fix PUTLLUC (TSX) * kernel explorer: Add more information about SPU/PPU threads * Fix sys_ppu_thread_start error checking, fix rare bug in sys_ppu_thread_create * Fix sys_ppu_thread_get_priority page faults * Make spu_mfc_cmd fmt properly show stalled commands * Fix address_range start_length() constructor * sys_rwlock: Do not allow SYS_SYNC_PRIORITY_INHERIT * Fixup for cpu_flag::pause state check after #8114 * TSC calibration improvements * Implement thread_ctrl::get_thread_affinity_mask() * Remove test_stopped() check from ppu_load_acquire_reservation * rsx: Fix zcull time to not time travel to the future * Qt: update playtime every 10 seconds * Partial revert of 3be687cd1813648f7ccb38df930fcc6909cac052 * atomic.hpp: modernize inline assembly for lock bts/btr/btc * SPU DMA: implement cmp_rdata_avx * Wait for SPU event to be received in sys_spu_thread_group_exit * Add missing cpu state check sys_spu_thread_receive_event * Make ESTAT consistent in sys_spu_thread_group_terminate * SPU debugger: dump Stall Stat and SRR0 * SPU: Detect reservation spinning loop * PPU: Fix LWARX/LDARX on TSX path * SPU: New GETLLAR technique * SPU DMA: more tuning for mov_rdata_avx * SPU DMA: disable memcpy path * Implement mov_rdata_avx * [llvm_build, msbuild] Minor refactor * evdev: add keys used by wii controller driver * Don't use std::popcount (workaround) * evdev: fixup for relax controller criteria * Crypto: read sfo in memory instead of tmp file * Crypto/Qt: check target app version for packages * Qt: Rename some functions in settings_dialog * change minimum audio buffer duration * Qt: Remove "#pragma once" in a cpp file * spu: Add some "if constexpr" * evdev: relax controller criteria * input: add Rock Revolution Drum Controller product info * cellpad: add pclass_profile flags * Qt/input/cellpad: enable product choice * sys_rsx: Fix error code instead of success on invalid context * sys_rsx: Fix zcull bind error checking regression * Qt: move rsx capture to Utilities menu * Qt: move GetBootConfirmation to gui_settings * Qt: Add confirmation dialogs on drag and drop * Qt: enum class drop_type * Qt: some cleanup * Qt: move GetSettingName to cfg_adapter * Qt: Add confirmation dialogs before closing games * Qt: Add Firmware Cache options to main window menu * sys_rsx: More error checks for ZCULL area binding * rsx: More strict zcull stats enabling * settings: remove legacy settings * settings: fix clocks scale default * PPU LLVM: Fix rounding regression of FNMADDS, FNMSUBS (#8066) * Fix FMA copypasta (#8060) * PPUAnalyzer: Check if TOC from OPD is a valid address * Minor fixup for unimplemented syscall args dump * PPU debugger: report functions on registers display * PPU debugger: read 32-bit pointer instead of 64-bit * debugger: Rephrase "Current function" to "In function" * Crypto: add another file type for PSVita * Crypto: move PSVita keys to key vault * Crypto: PSVita metadata and missing entry type * Crypto: interpret metadata versions * Crypto: fix metadata variable names * Crypto: fix magical type * Crypto: read and log PSP and PSVita headers * Crypto: add log verbosity to pkg installations * sys_rsx: Fix tiles on MAIN memory error checking * Qt: move code from emu_settings to config_adapter * Qt: adjust max llvm thread tooltip * Qt: fix localization in change_microphone_type * Qt: implement GetIsDynamicConfig in emu_settings * Qt: minor cleanup * sceNp: Override k_licensee for PE game category * sys_isolated_spu * lv2: Log all arguments of unimplemented syscalls * rsx: Fix is_fifo_idle with hle gcm * Expand vm::g_addr_lock to 64 bit to support ranges * Experimental squashing of reservation memory area. * liblv2 HLE: Fix spu_elf_info loader for SCE SPU images (#8045) * some more dynamic settings * Fix regression in SPU ASMJIT * cmake: Add support for target_precompiled_headers if available * Revert "Replace rotate utils with std::rotl" (partial) * Fix ppu_rotate_mask * minor ppu fixup * SPU debugger: Implement blocking functions dumping * Typos * Add missing break in cheat_manager.cpp * Add fallthrough attribute * Replace rotate utils with std::rotl * Replace utils::popcnt32 with std::popcount * Replace utils::cntlz{32,64} with std::countl_zero * Replace utils::cnttz{32,64} with std::countr_{zero,one} * CI: Auto update LLVM and GLSLANG when those releases change (#8021) * Fix sys_net_bnet_sendto (#8026) * Fix overloaded virtual warning * Prevent unecessary copy in loop * cellRtc: Extend before shift, per decompiled output * Fix order of operations warning * PPU: Merge reservations store functions into one * Add Disney Portal to passthroughs (#8022) * sys_net: Fix sys_net_bnet_bind page faults * CPUThread.cpp: Minor indetation fixup * sys_net: Fix sys_net_bnet_sendto * sys_net: Fix sys_net_bnet_getsockopt * sys_net: EINVAL check in sys_net_bnet_listen * sys_net: EINVAL checks in sys_net_bnet_accept * sys_net: EINVAL checks in sys_net_bnet_recvfrom * sys_net: Fix sys_net_bnet_getsockname page faults * sys_net: Fix sys_net_bnet_getpeername page faults * sys_net: Fix sys_net_bnet_connect page faults * sys_net: Fix sys_net_bnet_select page faults * sys_net: Fix sys_net_bnet_poll page faults * Another ::as_rvalue fixup * Fix various explicitness, laziness, hard codes * Improve TAR loader * Fat atomics: implement exchange() and compare_exchange() * rsx fp/vp analyzers: Fix strict type aliasing and improve codegen * ppu exec loader: Log TLS image information * Reduce log level of page fault notifications * vm: Fix possible IDM deadlock with Page Fault Notifications (partial) * PPU LLVM: Optimize altivec FMA with 0 addend (#8013) * Fixup ::as_rvalue * Implement ::as_rvalue * rsx: Write ref+get atomically * rsx: Fix get_optimal_blit_target_properties for local memory * rsx: Fix vblank thread stop regression * rsx: Fix grammer issue (binded -> bound) * sys_rsx: Warn if RSX is not idle during crucial points * sys_rsx: Implement error checks for Zcull/Tiles binding * sys_rsx: Implement LLE cellGcmSysGetLastVBlankTime * idm: Minor update to use std::static_pointer_cast * Show state of Accurate LLVM DFMA option in GUI for CPUs that support FMA ------------------------------------------------------------------- Thu Apr 09 17:38:04 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.9~git20200409: * gui: don't allow cpu with fma support disable accurate path * SPU LLVM: Improve FNMS * SPU LLVM: Add accurate double-precision FMA support * Tweak TSC calibration * Implement cellRtc HLE (#7933) * rsx: Optimize transform constants load methods (#7992) * CI: Unify spacing for build scripts * CI: Maintenance * CI: Fix facepalm bug in Azure build * CI: Prevent Azure from publishing empty files * spu: typo fix * sys_ppu_thread_create: read function descriptor immediately and save it * Qt: fix time played * SPU debugger: dump reservation address * Fixup ppu/spu_thread::dump_all() * Qt: fix renderer translation * sys_rsx: Fixup after #7978 * fix AddLddPad when more than one ldd pad * sys_rsx: Fix gcm events spam * sys_rsx: Minor atomicity fixes * Linguistic changes (#7917) * PPU LLVM: fix crash on damaged cache files * Implement jit_compiler::check * Shorten SPU LLVM Worker name to SPUW.# * SPU: Fix SPU Precise interpreter * Fix cellGameDataCheckCreate2 error broken check (#7976) * Fix utils::get_tsc_freq() (#7974) ------------------------------------------------------------------- Tue Apr 07 07:03:37 UTC 2020 - avindra@opensuse.org - Update to version 0.0.9~git20200407: * Qt: fix mic_none and move microphone creator code * Qt: make trophy type translateable * Qt: add disambiguations for settings translations * Qt: mic_none and enter_button_assign translations * Round TSC calibration result towards speculated CPU base frequency * Implement TSC calibration * Fix CMake path to IOKit * Qt: make cheat_type combobox translateable * Qt: implement EnhanceRadioButton * Qt: fix lupdate warnings (used for translation) * Qt: pad handlers translateable * Qt: fix some translation nitpicks * Qt: make comboboxes in settings dialog translateable * Move some format functions * Qt: const, const everywhere ------------------------------------------------------------------- Tue Apr 7 07:01:42 UTC 2020 - Avindra Goolcharan <avindra@opensuse.org> - Declare new required `RPCS3_GIT_FULL_BRANCH` var in header file ------------------------------------------------------------------- Mon Apr 06 09:07:43 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.9~git20200405: * rsx: Adjust FIFO recovery to be a bit more merciful * Make vm::_test_map aware of overflow * cellSearch: Change search state before invoking callbacks * rsx: Fix DST instruction * gl: Fix async shader compiler * sys_ppu_thread: reduce global memory stats after thread creation * rsx: Batch transform contants load methods * Always launch rpcs3.exe on restart * Add Lego Dimensions Portal to usb passthroughs * SPU LLVM: improve stack mirror format in Mega mode * SPU LLVM: implement bisect helper (debugging tool) * SPU DisAsm: fix disasm for BINZ and similar instruction * SPU LLVM: add alternative ROTQBY implementation * Implement cfg::uint for unsigned integers * SPU LLVM: make LS loads/stores volatile * Qt: fix nullptr * sys_fs: Lock dev_hdd1 mount point at cellSysCacheClear * sys_fs: Limit NPDRM FDs to 16 * Util: Add FMA and INVARIANT_TSC detection (#7937) ------------------------------------------------------------------- Sat Apr 04 11:35:02 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.9~git20200404: * Fix ppu_thread::dump_callstack() * liblv2 HLE: Fix sys_lwcond_signal mode 3 * SPU debugger: Show channels data * Minor debugger fixups * Fix sys_cond_destroy (#7931) * Allow AppImage to spawn its own rpcs3 process for fatal error dialog (Linux) * Add accurate PPU FMA to advanced tab (#7915) * Qt/Debugger: Don't move entire list if it's not needed * PPUThread: String & hex previews for register pointers in register dump * Qt/Debugger: Call Stack panel * Qt/MemoryViewer: Make it vertically resizable * Qt/Debugger: Split register misc state info to separate panels * CPUThread: Split dump() info to separate methods * rsx: Reset vertex program/constants at each boot * rsx: Fix and improve fp program data invalidation * rsx: Get rid of invalid_command_interrupt_raised * rsx: Batch vertex program load methods ------------------------------------------------------------------- Thu Apr 02 11:08:54 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.9~git20200331: * Update FW 4.86 Latest Version * CFG: minor cleanup * vk: Remove NVIDIA workaround for broken partial occlusion queries * vk: Remove RADV workaround regarding renderpass barriers * vk: Avoid query log spam if no program is loaded * PPU LLVM: Add FMA accuracy setting (#7874) * Emu: make "Silence All Logs" dynamic * set key_vault log spam to trace * add cacert.pem to gitignore * add missing files to visual studio project * change sig_log to SIG * Some typos (#7908) * rsx: Implement DECR memory layout (#7906) * Fix sys_rwlock_wlock timeout event * Qt: add more headers for non-Vulkan * sys_net: Fix access violation handling (#7901) ------------------------------------------------------------------- Sun Mar 29 17:29:05 UTC 2020 - avindra@opensuse.org - Update to version 0.0.9~git20200329: * Build: Fix potential issue with Windows builds not receiving correct branch info * Fix alignment on embedded spu elf searching (#7894) * CMake: add /MT for MSVC * SPU LLVM: runtime multithreaded compilation * named_thread_group: add a default constructor * SPU LLVM: log hash in some places * rsx: Fix typo in NV4097_SET_TRANSFORM_PROGRAM range * RSX: Restrict analyser loop error * lv2: Wait for rescheduling before confirming timeouts (#7875) * rsx: Rename current_instrution to current_instruction (#7883) * Implement IsDebuggerPresent on BSDs (#7880) * build/cmake: add option to use system-wide libcurl package (#7882) * CD: Fix experimental build warning for Travis * Build: Do not warn for local builds * Change target to the correct commit SHA on RPCS3/RPCS3-binaries-win side * .gitignore: Ignore cmake autogen libusb files * hle: cellSysutilNpEula * Gives ANSI path to curl CURLOPT_CAINFO * Update building instructions (#7872) * cmake: Fix windeployqt command line for release builds (#7871) * System/Load: Handle PSP Remaster (#7857) * Fix PS1 game_path * liblv2 HLE: Fix entryx of start/stop prx functions * rsx: More strict infinite desync detection * PPU LLVM: Add relocation 5 for ADDIS * Fix windeployqt command line for release builds * [MSVC] Remove unnecessary configurations and properly fix curl * Adjust llvm hash (affects nothing) * ppu_iname: refactor to use actual strings * spu_iname: refactor to use actual strings * PPU LLVM: Log unsupported relocation opcode * Log IDs of loaded prx modules * rsx: Implement basic infinite FIFO desync detection * static RT * Fix curl * [MSVC] Disable exceptions and spectre mitigation in common_default.props * [MSVC] Added common props to llvm and glslang * [MSVC] Move libcurl and wolfssl project files * rsx: Reset all method registers at rsx_state::init() * rsx: Improve NV308A_COLOR * sys_prx_unload_module: Implement CELL_PRX_ERROR_NOT_REMOVABLE * sys_prx: Improve sys_prx_start/stop_module * sys_prx: Implement sys_prx_get_module_list * Qt: fix mem leaks in screenshot and save managers * Qt: add naive lazy loading to screenshot manager * Qt: add open file location to screenshot preview * Qt: move open_dir to qt_utils * Fix "Unknown option: updating" * Implement SAFE_BUFFERS as __attribute__((no_stack_protector)) * Finalize constexpr ppu_decoder<> thing * overlays/osk: add more panels * Make ppu_decoder<> objects constexpr (partial) * Make spu_decoder<> objects constexpr * _sys_lwmutex_lock: log new case of ESRCH * Make sceNpDrmProcessExitSpawn(2) execute sys_game calls correctly * Auto-Updater: increase lock file waiting timeout in the case of updating * Debug: measure initialization time (before main() function) * liblv2 HLE: Fix sys_lwmutex_lock assertation * Minor warning fixes * _sys_lwcond_signal: Make mode 3 respect ordering of the sleep queue * cellGem: fix move_handler::mouse left click * Workaround for VS 16.5 * gl/vk: Refactor draw call handling and stub shader interpreter * [README.md] Update to Visual C++ Redistributable 2019 * Another fixup after #7826 * Minor fixup after #7826 * sys_lwmutex/lwcond: track lwcond waiters (#7826) * Fix build with Qt 5.15+ * Qt: Add basic screenshot manager * Qt: use simple curl wrapper to avoid some pitfalls * Qt: fix double slash in updater tmp_folder * Qt: simplify current_build in update manager * Qt: fix log message in update manager * Qt: show welcome dialog before showing the app * Qt: use Localized::GetVerboseTimeByMs * SPU: Copy with memcpy() instead of hand-rolled SSE2 * CURL_STATICLIB macro cleanup * Memoize and print r3-r6 under Current function in the ppu_thread::dump() * Qt: use QDateTime in update manager * Remove Qt5Network Qt5OpenGL and Qt5QML dependencies * Qt: fix curl threads * Replace QNetwork operations with libcurl + wolfssl * kernel explorer: Add information about memory containers * lv2: Do not lose r3 data on syscalls * kernel explorer: Implement ability to view lwmutex owner * rsx: Properly calculate vertex range when divisor is active * cellSaveData: Ensure savedata_context members are 16-byte aligned * cellSaveData: Clear traces of setList setup from setBuf->buf, add missing memset * cellSaveData: Skip directory items in savedata_get_list_item * Minor fix of cellUserInfoGetStat * cellSaveData: Add error checks for cellSaveData(User)GetListItem * cellSaveData: Set listSet->focusPosition to LISTHEAD by default * cellSaveData: Add CELL_SAVEDATA_ERROR_NOUSER * PPU Precise: Fix FMADDS, FMSUBS, FNMSUBS, FNMADDS * Dont spam syscalls stats if emu is paused * Thread.h: fix warning * Update llvm hash * Fix OSK thread exit condition * Fix thread_base::join * Implement thread_state::errored * Qt: fix some translation bubus * overlays/osk: fix selection after changing panels * overlays/osk: fix full width characters * overlays/osk: do not change the preview text on empty input * overlays: implement osk panels * Fix clang warnings * Partially revert 6ec149d. Fixes #7799 * Avoid a segfault when reading ppu stack contents in debuggers * Fix memory leak in rsx debugger * disasm: Improve instructions spacing * debugger: Force aligned memory view * Fix a segfault in memory viewer * Fix bug introduced by #7797 * PPU LLVM: Improve VMADDFP and VNMSUBFP - Use native FMA to emulate VMADDFP, with a fallback for processors that don't support FMA - Use native FMA to emulate VNMSUBFP as well, but note that it differs from the emulated path with regards to negative zero * Minor fix of sys_ppu_thread_yield return value * Fix lv2 sys_lwcond/sys_lwmutex kernel explorer names * Cleanup std::is_pod usage (deprecated in C++20) * SPU: print current chunk hash in dump * SPU profiler: minor change * Build rpcs3's AppImages with link time optimization * Change default audio backend on non-windows * BEType.h: use common initial sequance in v128 * Log sys_lwmutex/sys_lwcond names as strings * sys_spu: Fix oops in sys_raw_spu_destroy after #7782 * Add return value of sys_ppu_thread_yield * lv2: Uncomment sys_ppu_thread_stop/restart * Add missing lv2_obj::sleep when joining interrupt thread * cellVdecClose: Followup fix to #7663 * Fix sys_raw_spu_destroy ------------------------------------------------------------------- Sun Mar 15 22:11:20 UTC 2020 - avindra@opensuse.org - Update to version 0.0.9~git20200315: * log: properly escape all html except newlines * vk: Lazy evaluate renderpass scope - Spamming the driver with renderpass open/close cycles is bad for performance. * rsx: Improve section scanning when updating surface cache resources in blit engine. * rsx: Implement cross-aspect slice gathering * rsx: Fix unknown Blend equation * Disable failing OSX build on travis * Try to re-enable Azure Pipelines for PRs * [UI] Grey out AA and Aniso settings under strict rendering (#7773) * PPU: minor fix for ppu_join_status::max * Minor idm::remove_verify usage optimization in sys_interrupty.cpp * PPU Disasm: Fix non-link extended BCCTR forms ------------------------------------------------------------------- Sat Mar 14 17:00:32 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.9~git20200314: * vm: Log all guest memory bases at startup * PPU Disasm: Fixup BCCTR after #7775 * idm: Fix minor race in cellVdecClose, sys_raw_spu_destroy... * sys_ppu_thread: Make PPU id removal after exit atomic with descheduling * cellSaveData: do not allow to read/write/delete system files in funcFile * PPU Disasm: Fix branches spacing * cellSaveData: Fix adding file entries to PARAM.SFO on error * cellSaveData: return ERROR_FAILURE on funcFile deletion failures * VFS: clarify escape/unescape cannot work on paths * VFS: improve vfs::escape (escape NUL, LPT, COM...) * VFS: fix vfs::get * VFS: Fix possible out of range in vfs::escape * VFS: fix out of range problem in vfs::unescape * VFS: escape multidot names like ... * cellSaveData: Filter directory lists to allowed savedata directories * cellSaveData: Fixed savedata lock after fmt::throw_exception * cellSaveData: Add some listSet error checks * cellSaveData: funcFile fixes * cellSaveData: refactor param error 70 checks * vk: Fix potential MTRSX deadlock in case of a race condition * rsx: Fix initial boolean state of m_textures_dirty and m_vertex_textures_dirty * GUI/rsx capture: Disable capturing if no game is running! * rsx capture: Fix exceptions handler, fix tiny race condition on capture new capture * vk: Fix MTRSX deadlock (#7766) * evdev: add more buttons to button list * evdev: remove unused call to update_device * evdev: Some random cleanup * Remove -fno-strict-aliasing * Disable exception handling. ------------------------------------------------------------------- Wed Mar 11 19:10:18 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.9~git20200311: * vk: Change texture cache memory management for disposed textures * Fix thread_base::finalize (and emergency_exit, collaterally) * Improve Stop Watchdog * Fatal errors: concatenate multiple args after --error * vk: Properly release dma resources. * input/overlays: fix premature pad interception removal * Explicitly rename has_512 into has_avx512 (#7751) * Fix narrow warning in ds4_pad_handler.cpp * Use TRAP on segfault with debugger (Linux) ------------------------------------------------------------------- Tue Mar 10 13:51:44 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.9~git20200310: * Break in the debugger in thread_ctrl::emergency_exit * Pause only on fatal messages * Logs: add 'always' method for debugging * rsx: Fix copypasta * GUI: followup to #7347 * HLE cellGcmSys: Avoid calling sys_rsx syscalls in rsx code * Add forgotten error check in sys_spu_thread_group_connect_event * rsx: Rewrite async decompiler * Implement stop watchdog ------------------------------------------------------------------- Sun Mar 08 22:54:38 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.9~git20200308: * Fix framelimit/aspect ratio width * Fixup for Emu.Pause() * Improve report_fatal_error() * Use _wexecl on Windows * Simplify report_fatal_error * Pause emulation on any fatal log message. * Implement thread_ctrl::emergency_exit() * overlay: set minimum update interval to 1ms * Fix sceNpUtilCmpNpId * rsx: Fix framebuffer native layout for X32_FLOAT * rsx: Blit engine improvements * Qt: don't create stupid default.ini file when resetting gui configs * Qt: Improve tooltip areas in network tab * Qt: Backup current gui config before applying another one * Qt: remove gui settings default shenanigans * Qt: more code cleanup in gui files * Qt: fix play button state when booting rpcs3 for the first time * Qt: some code cleanup in gui files * Qt: Prefer currently selected game when pressing the play button * Qt: Fix CurrentSelectionIconPath for game grid * Qt: Add title and title id to button tooltips * Qt: Add missing boot error dialog * rsx: Improve frame-limiter (#7723) * Atomic sys_prx_load_module_list error checks * rsx: Make force cpu blit setting dynamic * Fix llvm_build.vcxproj instructions * gl: Restore commented out line * vk/gl: Use best-fit semantics when scanning texture cache for flippable images * vk: Fix image properties for flip temporary images to be samplable. * rsx: Add anaglyph 3D filter * video: Allow selection of 3D stereo resolutions * logs.cpp: fix log format for backward compatibility * logs.cpp: print some errors if failed to create logs * logs.hpp: minor optimization for non-formatting logs * Move Log.cpp to util/logs.cpp * Move Log.h to util/logs.hpp * Don't throw on invalid whence (return fs::error::einval) * Add fs::error::unknown, don't throw * Logs.cpp: more code moved to main.cpp * Logs: remove mem-mapped buffer and move instance lock to main.cpp * Implement lv2_file::open() * Try to use designated initializers * Fix SPRX/firmware installation (use a mutex) * Qt: Fix led dialog layout and use hidpi painting * Qt/Input: piggyback on existing callback for battery_level * Qt/Input: new ds4 LED settings * Fix llvm link * Fix _sys_prx_get_module_info p0pt->filename writing with 0 size * Replace std::string::npos with umax * PPU LLVM: fix regression from warning fixes * Fix 7z for Debug and Release * Fix Crypto/utils.cpp: extract_file_name * Fix ui and sys_net warnings * Fix warnings in emucore * Fix warnings in VKGSRender * Fix warnings in GLGSRender * rsx/blit-engine: Account for a rare corner case * Fake PSN (#7516) * Update thread_base::notify_abort() * PPU: use named_thread_group to compile modules * Thread: internal cleanup * Thread: removed unused wait() with predicate. * Threads: move linux m_timer to static thread_local variable * Update LLVM to new llvm-mirror (LLVM 11) * Fix ppu_syscall_usage thread waiting * Fix cellGameDataCheck's game data creation with PARAM.SFO set/get * SPU LLVM: Rewrite fma32x4 to match FM and older asmjit stuff * cellSaveData: fix doneGet->sizeKB (#7674) * Properly setup Azure Pipelines using current system * Azure (#7673) * Print PPU Syscall Usage Stats * Minor cleanup * Add time logging for updater * sys_ppu: another fixup * Qt: remove game window title size restriction * Fixup * sys_ppu_thread: fixing detached threads * Fix duplicate inputs for GHLtar strumming * videoOut: Resolve 'auto' aspect ratio * cellSaveData: followup to #7652 * sys_ppu: Hotfix for detached threads * cellSaveData: Add some error checks for fixedSet, fileSet params * rpcs3_version: Bump to 0.0.9 * vk: Properly use declared pitch when loading simple images * video-out: Allow applications to successfully change display resolution * vk: Fix dma resource leak * vk: Improve events * vk: Add execution barriers. * cellSaveData: Add null funcStat check * RawSPU: fix race condition in RunCntl stop request * sys_usbd: Guitar Hero Live controller emulation (#7336) * Change key_vault to use version ranges. * Add error for missing firmware * Compilation fix * Partial revert of 5871c4e93f06b233abe9c54411e4e0fec8bff1d2 * Shut up all channels on exit at some point * Segfault/exceptions reports: Get rid of unhandled exeption handler, log memory bases * Improve sys_timer_get_information (#7638) * Use named_thread_group in rsx_cache.h * Implement named_thread_group * rsx: Reset ZCULL statistics at the end of a frame * rsx: Fix zcull clear command; do not clear ZPASS when ZSTATS is cleared. * Fix sys_timer_destroy * cellSaveData: Add error param 72, 73 checks for file write ops * Use more starts_with * Allow 0x30000000 > addr >= 0x2000000 ppu loader exec allocations (workaround) * sys_ss: use BCryptGenRandom on Win32 * vk: Fixup for RCB/RDB in special cases * Move Progress Dialog Server to named_thread * Remove global thread counter (again) * Try to purge thread_state::detached * rsx: Disable zstat checks to avoid unnecessary stream splitting (#7624) * RSXOffload: fix dma_manager::sync() freeze on exit * Fix RSX Offloader thread exit (MTRSX fix) * Improve sceNpDrmVerifyUpgradeLicense(2), sceNpDrmIsAvailable(2) * Remove cancerous lf_value<> * Remove unused lf_hashmap * cellSaveData: Implement/Fix param error 22 for funcFile, funcDone, funcFixed and funcList * fixed_typemap.hpp: reset creation index to avoid confusion * fixed_typemap.hpp: remove <algorithm> dep in header * fixed_typemap.hpp: minor cleanup * cellSavedata: reset padding of g_savedata_context * cellSaveData: reset fileSet and fileGet->reserved everytime * cellSaveData: Avoid passing vm pointer to native API * cellSaveData: do not fail on empty directory * Don't improperly resolve symlinks when booting games. * Update BUILDING.md and CMakeLists.txt * overlays: add "thread bits" to wait on and avoid lockup * fixed_typemap.hpp: polish move constructor a bit * fixed_typemap.hpp: forgot destructor * g_fxo: implement logging for object creation/destruction. * move overlays code to headers * sys_prx_.cpp: Fix RAII locks usage (without local variables they destroyed immediately after construction) * Apply some Clang-Tidy fixes * Remove unnamed namespaces from headers * Add missing include guards * Auto-updater minifix * Fix RSX Offloader thread name * named_thread: allow default constructor only with thread_name * Add message on exit if some thread are still waiting * fixed_typemap: implement need<> method * Fix one bug with MsgDialog thread (freeze on exit) * Stub sys_spu_thread_group_set_cooperative_victims and syscall_253 * fs: Make fs::get_dir_size able to report an error * rsx: Fix typo. Noted by github user @gamerforEA * rsx: Restructure ZCULL query triggers * overlays: hotfix for waiting on thread_count * Add thread_count instead of former thread pool * overlays: remove unused threadpool * Try to fix msg dialog breakage * overlays: add layer modes to osk * overlays: Fix find and replace regression * overlays: move code to overlay_utils.cpp * overlays: fix overlay_utils.h filter * overlays: add overlay_osk.h * Add information about boot process * fixed_typemap.hpp: minor fixup * Threads: remove some unused code (remnants from thread spawn) * Threads: removed outdated on_abort detection deemed unnecessary * Threads: Remove unused on_wait() detection to simplify code * Fix g_fxo->init internal logic for CTAD (use () not {}) * Fix wrong g_fxo->init_crtp name, use just init<> * Try to fix OSK * Add g_fxo->init_crtp to simplify thread construction * Restore thread counter (world may be not ready yet) * overlays: Avoid race condition between rendering and layout operations for system widgets * overlays: Ditch wstring for u32string * Fix native UI tooltip * Change logging level for invalid disc path * Untangle GUI and input includes * Input: Add config lerp factor for buttons and triggers * Input: use std::lerp instead of lerp template * Input: misc updates to some functions in PadHandler * Avoid deprecated av_register_all with version check. * cellVdec: replace deprecated ffmpeg function * Fix some deprecation warnings (plunder cellAdec btw) * rsx: Fix NULL renderer * Add more thread information (context switch, page faults). * Remove "thread_ctrl::spawn" * Fix warning in RSXOffload.cpp (rewrite thread) * RSX: move g_dma_manager to g_fxo * Fix "unknown pragma" on zlib clang workarounds * AudioBackend.cpp: Implicit enum to float conversions are deprecated * memory_string_searcher: Change to std strings - Compiler warnings indicated that the call to toStdString() did not create an object that lived long enough be used. Simply use std string ahead of time. * cellSaveData.cpp: Use ref instead of copy * game_list_frame.cpp: Fix progress dialog constructor arguments * Remove some inline compiler pragmas * Set required Clang to 9 - 10 is not yet required and is not very available * File.cpp: Make var ref instead of copy * Fix deprecation warning in System.cpp * hle: Fix cellAvconfExt function registrations * hle: cellAuthDialog * Use official libusb repo * Implement cellMsgDialog closing thread * Test: disable warning for "macro redefined" spam * overlays/trophy: Migrate to multibyte strings * overlays/save_dialog: Migrate to multibyte strings * overlays/osk: Migrate to multibyte encoding * overlays: More unicode utilities * overlays: Font system improvements * overlays: Add basic font substitution system and separate JPN from Latin-1 set * vk: Implement 2D array textures required for new font subsystem * gl: Support new glyph format with array textures * overlays: Migrate to wide-char strings * Add more information for segfault reports (#7538) * Qt: remove duplicate paths in game list * Qt: simplify blockingMap occurances * Skip some logging in add_only Load * Do not reset PS3_GAME when booting disc patches * cellGameDataCheckCreate(2): More improvements * Re-enable warning "macro redefined" (clang) * Disable cotire on travis * Remove -Wno-reorder and make it an error * cellGameDataCheckCreate(2): Set nullptr in setParam * Fix cellDiscGameGetBootDiscInfo on error * cellGameDataCheckCreate(2): Check dirName * Minor improvements to sys_ss_random_number_generator * Qt: add apply button to settings dialog * Gracefully fall back to a null renderer if XAudio2 fails to Init * Replace XAudio2 implementation with an unified Xaudio2Redist * Add more game window title options * Fixup for #7304 * Change stdafx.h to trigger pch regeneration * umax: restore "natural" operation order * Another attempt to fix OSX * cmake: Update glslang build options * Another attempt on umax * Minor fixup for /dev_flash creation * Allow empty /dev_flash cfg (fixup) * Revert "Maintenance: disable cotire on travis (Linux)" * Travis: allow failure for osx * Maintenance: disable cotire on travis (Linux) * Restore some /dev_flash logic * Fix signed-unsigned comparisons and mark warning as error (part 2). * First part of fixing sign-compare warning (inside be_t). * Implement umax global variable (max unsigned value) * Add "-Wno-macro-redefined" for clang spam * Remove -Wno-sign-compare * Switch the AppImage building over to gcc from clang * Bump FAudio depedency, set FAudio to build statically, enable FAudio in the build script * .gitignore: maintenance, add missing files * themes/YoRHa: Workaround broken Trophy Manager bg * OpenAL: Update to 1.20.1 * HLE cellGcmSys: Make IOTable accurate * HLE cellGcmSys: Make cellGcmUnmapEaIoAddress accurate * RSX/SPU: Accurate reservation access * Re-eanble gcc matrix in Travis CI, thanks to Neko for the hint * Fix max SPURS threads regression * RawSPU: protect NPC from writes/reads in running state * sys_spu: protect sys_spu_image members in kernel mode * Restore -Wenum-compare and fix some [=] warnings * Fix warning in lf_fifo<>::push_begin() * sys_sync.h: fix warning (signed prio) * Use strcpy_trync in cellAvConfExt.cpp (silence warnings) * Silence C++17 std::iterator deprecation warning * Use more starts_with/ends_with. * appv * Qt: Update Game List Icon on changing Game List Mode * Try to fix MSVC warning (std::iterator deprecation) * cheat_manager: minor fix for T to be_t transition * endian.hpp: fix zero array warning * Use std::endian for endianness test * Try to ignore some annoying warning (seems CIB) * Disable vertex cache checkbox with MTRSX * gitmodules: Fix LLVM branch * move enum formatters from system to config files * move config structs to own files and clean up some headers * PPU exec/ovlm ldr: restrict allocations * vk: Only declare explicit subpass dependencies for RADV * Fix #7445 * Qt: add reset button to game window title and center the label * sceNpTrophyRegisterContext: Fix off by one progress callbacks count * sceNpTrophyRegisterContext: Fix values passed to first callback * Fix sceNpTrophyGetTrophyInfo * Fix startup failure on invalid games.yml * GUI: add custom title format to settings dialog * vk: Explicitly declare null subpass dependencies * game_list: fix duplicate removal from games.yml * atomic_t: Fix regression from #7489 * HLE cellGcmSys: Make cellGcmAddressToOffset accurate * Qt: Allow for duplications in game list * Qt: only add version update hint to bootable applications * Qt: simplify category localization in gamelist refresh * Qt: fix gamelist version check regression after localization changes * Whitespace fix after #7087 * atomic.hpp: C-style casts cleanup * rsx debugger: Fix a crash on opening before rsx was intialized * Fix recursive locking in sceNpTrophyUnlockTrophy * Log returned reqspace in sceNpTrophyGetRequiredDiskSpace * Idm: Minor assert fix * rsx: Unify FIFO recovery methods * rsx: ZCULL typo fix * HLE cellGcmSys: Fix unmapping ------------------------------------------------------------------- Fri Feb 14 14:00:46 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200213: * GUI: implement custom title format * Avoid closing the emulator after access violation * cellSearch: another memory access fix * cellSearch: Fix id memory access (#7476) * geometry.h: remove MSVC workaround * geometry.h: more cleanup * Add a check for GLIBCXX_3.4.26 support in the AppImage checker binary * Implement links as a cellSearch specific concept * Move SearchState to a fxo object so it resets with emulation * cellSearch updates from Brolijah * geometry.h: make conversion operators explicit * rsx capture: Fix capture recovery after a crash * rsx: rewrite io mappings * rsx: Validate memory blocks before checking for overlap * rsx: Typo fix in audit condition * Qt/linux: set DISPLAY variable if undefined * Small sys_usbd changes * Fix visual studio filters after someone tinkered with the files * Bump minimum Qt5 version to 5.14.0 in CMake * Qt: icon overhaul * Make handle_access_violation noexcept * Compilation fix * Update LLVM for C++2a workaround * Bump minimal compiler versions: gcc-9 and clang-10. * Add option USE_COTIRE=ON (by default) * Silence unused parameter warning * Silence deprecation warning (implicit capture of this on [=]) * Set cmake min version and CXX_STANDARD to 20 * Qt: set min version to 5.14 * Disable FAudio due to upstream packaging issues * Bump glslang to fix issues with LLVM 10 * Bump Docker version, update clang10+gcc9, CMake 3.16, adds SDL2, LLD * make decrypt default to All Binaries * [props] Move stdcpplatest and FH4 to common_default.props * cellAudio: Implement cellAudioSet/RemoveNotifyEventQueueEx * Atomic fix * vk: Fixup for VK_ERROR_SUBOPTIMAL_KHR * rsx/overlays: Fix clipped rendering of UI elements * update issue templates * Compilation fix for VSH pr * VSH: Stubs * cellGcm HLE: fix cellGcmMapMainMemory * Make rsx::get_address report caller location * rsx: Clean up graphics state notifications and add notification for change in point size ------------------------------------------------------------------- Sat Feb 08 13:17:52 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200208: * sceNpTrophy: Implement SCE_NP_TROPHY_ERROR_CONTEXT_NOT_REGISTERED * sceNpTrophyGetGameProgress Fix * Qt: fix game category localization * Restart games with the same config instead of global * Fix Boot inconsistencies for Reloads * Only start the playtime clock if it makes sense ------------------------------------------------------------------- Fri Feb 07 22:15:31 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200207: * overlays: Fixup * overlays: Fix use after free * vk: Remove an overzealous assert * Enable C++20 for MSVC in CMakeLists.txt * RawSPU: execute MFC proxy cmd after reading CMDStatus * Qt: fix game grid regression * Qt: set Tooltips.h to UTF-8 in order to fix translation with special characters * Qt: do not use localized filenames for default current config and default stylesheet * Qt: add language menu * Qt: use config to load translation file on startup * vk: Fix a bug in RCB/RDB when MSAA is set to disabled. * gl: Implement RCB/RDB * gl: Fix memory barrier implementation and stub for RCB/RDB * gl: Fix a long-standing regression with typeless transfer caused by a typo. * gl: Fix per-level sub-image sizes to comply with OpenGL guidelines for compressed textures * SPU reservations: Do not access violate under vm::writer_lock * Include trailing separators in section split * sys_spu: Implement proper SPU group flags (#7320) * gl: Fix broken image transfer operations * rsx: Fixup * Make preferred spu threads dynamically adjustable * Make sleep timers accuracy dynamically adjustable * Use attributes for LIKELY/UNLIKELY * cellVdecQueryAttrEx: Add some error checks for MPEG2 * cellVdecQueryAttrEx: Add workaround for codec specific info * Fix cellVdecGetPicItem * Make RPCS3 compile in C++2a mode * cellGame: report not found sfo params * cellGame: report fs::remove_all failure * Avoid out of memory with cellGameGetParamString * rsx: Rewrite coverage test to take sum of areas into account. * rsx: Allow for proper data checks when WCB/WDB is enabled * Qt: use current locale for last played in gamelist * Qt: fix gamelist sorting for playtimes * Space fix commit * SPU LLVM: gisable NewGVN pass * Protect m_storage.find(key) to fix a race * logs: allow disabling RPCS3.log.gz * Move logs::channel registration out of the constructor * cellVdec: Improve cellVdecQuery and cellVdecOpen * Update llvm (fixup) * rsx: Remove sections that are wholly inherited by new blocks * Fix FAudio logging * sys_usbd: Fix bug preventing multiple USB devices * Modernize SPU logging (spu_log variable) and remove log legacy * Modernize PPU logging (ppu_log variable) * Remove HLE log channel * Modernize RSX logging (rsx_log variable) * Give log channels fancier names * logs: use relaxed atomics * Remove legacy LOADER log channel * Remove legacy GENERAL log channel * Add config to silence all logs * Hotfix after #7351 * logs: add more log channels instead of GENERAL * Implement logs::silence * logs: cleanup for audio backends * logs: implement logs::get_channels() * logs: remove legacy MEMORY channel * Update missing rap file error * rsx: Plug texture data leak in the 'exact match' path. * Implement logs::get_level * Fixup for LOG system. * Implement fat atomics ------------------------------------------------------------------- Fri Jan 31 08:55:25 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200131: * Fix code relying on initialization order * Fix Debug - LLVM in VS project files * Qt: Bugfixes regarding usage of ShowConfirmationBox * Qt: Display "Reboot With Custom/Global config" on running game * rsx: Preserve pixel data when splitting sections * Add early out to pkg_install * Qt: Prevent Qt from blocking the explorer during installations * Fix ellipsis * Increase Maximum Vblank Rate and Clocks Scale ------------------------------------------------------------------- Wed Jan 29 20:11:46 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200129: * rsx: Tweak blit engine heurestics a bit * Qt: change labels in package installer (#7325) * Add mutex guard for s_unfire * Embedded SPU elf patching - PS3 games include both PPU and SPU code in their PPU executables, so to make patching games that make use of the same SPU libraries easier, we add a system to find and patch them. - Patches for this system still use SPU LS (Local Storage) addresses despite the fact that we aren't loading anything into SPU LS at this time. The patches are checked against each segment and patched in place. * Partial revert of #7180 * Increases number of buffers when buffering * ppu: Log SELF header information and CIA of caller HLE functions * Log sys_spu thread group and thread names * Fix logging of ppu name in sys_ppu_thread_create/rename * cellGameGet/SetParamString: Implement CELL_GAME_ERROR_NOTSUPPORTED * SPU LLVM: Improve approximate FCMGT * Qt: Change some labels * overlays/perf: Graph label tune-up * rsx: Workaround for broken rtt resampling * vk: Fix DMA data leak * vk: Use appropriate layouts depending on use case when creating new textures to avoid needless barriers * rsx: Blit engine tuning * rsx: Fix incomplete blit operations getting used as texture inputs * Qt: Present game removal failure to the user * VSH: sys_mmapper * sys_usbd: Add error_code * cellGcm HLE: Add error_code ------------------------------------------------------------------- Thu Jan 23 13:42:46 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200123: * HLE: add error checks to cellAudioInGetDeviceInfo * HLE: add some more constants * HLE: Fix error checks in cellAudioInRegisterDevice * small improvement (#7288) * rsx: Optionally sync on texture read semaphore * Fix cellVdecSetFrameRate error check * SPU: Add SPU LS to debugger * SPU: Minor FREST bugfix * Fix lv2_file::op_write regression * SPU: fixup for STOP 0w0 * RawSPU: fix race between spu start and stop * SPU: properly support STOP 0x0 instruction * Make system config thread-safe (almost) * Fixup shared_cptr, atomic_cptr * Implement shared_cptr and atomic_cptr * sys_fs: avoid possible out of memory on file reads/writes * sys_fs: better stub sys_fs_fcntl(0xc0000006) * sys_fs: add /dev_flash mountpoint * sys_fs: fix CELL_EIO condition in cellFsReadWithOffset * cellVdec: (experimental) allow AV_PIX_FMT_YUVJ420P * cellVdec: improve error checks * VS: fix filter facepalm * fix some random warnings * Qt: fix deprecation warnings * Qt: enlarge some tooltip hover areas in settings * Add pagesteps for some controls * Add snapping and limit range for wakeup delay * Add slider snapping * rsx: Improve window border detection and clearing * rsx: Fixup for missing visuals when framebuffer is larger than requested display dimensions. * formatting: Unify indentation type in the newly added files to tabs * rsx: Improve present image scanning * rsx: Refactor out complex present code into separate files * Fix sys_spu_thread_initialize for attr->name_len is 0 and attr->name is not null * Fix sys_ppu_thread_create/rename thread name range ------------------------------------------------------------------- Sat Jan 18 14:49:28 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200118: * Write nread/nwrite in cellFsWrite/Read regardless of error checks * vk: Fixup for total number of combined samplers using the dynamic binding structure ------------------------------------------------------------------- Fri Jan 17 19:39:08 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200117: * vk: Fixup * Optimise the SVG logo with svgcleaner * Qt: use persistent_settings for playtimes * sys_fs: always close locked file in sys_fs_close * sys_fs: use constant in sys_fs_disk_free * lf_fifo: fix UB and fix size() * Use floating point pixel ratio * SPU: Fix FREST * vk: Optimize image transfers * gl: Optimize image operations * rsx: Fix uninitialized variable * rsx: Fix section length calculations when generating new blit targets. * vk: Fix D32S8 interpolation by using integer interpolation instead of floating point * vk: Add some missing image memory barriers causing artifacting on AMD cards * rsx: Touch locked dst memory after blit transfer operations in case it is locked by WCB/WDB * Update cellVdecSetFrameRate error checking * vk: Fixup for cs_scatter job * Add description for rsx wake-up delay * Add wake-up delay to settings * rsx: FIFO wake-up pause control * vk: Fix invocation alignment to support non-power-of-2 alignment * vk: Fix word index counting for shuffle tasks * vk: Lower default compute heap size to 64M * vk: Implement dynamic sized compute heap * rsx: Verify local memory offset ------------------------------------------------------------------- Tue Jan 14 22:17:03 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200114: * sys_process: Fix sys_process_get_id, add error_code (#7246) * vk: Restructure command queue flushing behavior to avoid deadlock * Update Appveyor to Qt 5.14 * Qt: smoother batch package installation * sceNpTrophy: deny unlocking of platinum trophies ------------------------------------------------------------------- Sun Jan 12 21:16:14 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200111: * SPU: Optimize gpr reset for MSVC * sys_fs: adjust permissions for /dev_bdvd * sys_fs: improve sys_fs_lsn_lock * sys_fs: adjust /dev_bdvd block size * VFS: minor change in handling /host_root path * sys_fs: improve sys_fs_disk_free * sys_fs: improve sys_fs_fcntl(0xc0000002) * sys_fs: correct block size for /dev_hdd1 * sys_fs: fix sys_fs_get_block_size * sys_net: fix sys_net_bnet_select arg check (nfds) ------------------------------------------------------------------- Thu Jan 09 23:21:25 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200109: * sys_vm_get_statistics: Write timestamp * vk: Generate dynamic binding table based on the capability of the drivers * Add buzz controllers to usb whitelist * sys_fs: return CELL_ENOTSUP in sys_fs_fcntl(0xc0000006) * sys_fs: fix logging in sys_fs_get_block_size * sys_fs: fix mountpoint detection * vk: Workaround for NVIDIA occlusion query failure * sys_fs: improve sys_fs_get_block_size values * sys_fs: fix sys_fs_fget_block_size * sys_fs: disable sys_fs_lsn_lock/unlock * sys_fs: Adjust flags of /app_home mountpoint * overlays/osk: Add linear fade-in/out effect to OSK * rsx: Add color interpolation animation * geometry: Allow basic color arithmetic * video: Remove pointless aspect ratio option * Fix format string in log_frame.cpp * Fix sys_tty_write (UTF-8 encoding of literals) * overlays: Redesign animation system (add easing functions, fix bugs) * overlays: Move vertex & vector utility classes to new file * rsx: Update vblank count in LLE mode * Multithreaded shader compliation follow-up (#7190) ------------------------------------------------------------------- Mon Jan 06 13:50:58 UTC 2020 - pousaduarte@gmail.com - Update to version 0.0.8~git20200106: * cellGame: add more checks * sceNpTrophy: unlock platinum trophies * sys_fs: fix CELL_FS_O_APPEND emulation * sys_fs_stat: fix split file handling * sys_fs: implement CELL_EROFS error * Implement lv2_fs_mount_point with mount point flags * rsx/vp: Properly initialize output registers. * Minor cleanup in InstallPkg and InstallPup * Add a dialog to Batch PKG Install * cellFs: Fix cellFsLseek with negative whence * cellFs: Improve cellFsGetDirectoryEntries * Fix lv2_fs_object::name * Disable AA for renderers which do not support it * Slight cleanup of mousewheel pr * Change Null microphone to Disabled * Qt: Add tooltips to Virtual File System buttons * rsx/overlays: Improve space usage on trophy dialog * rsx/overlays: Implement trophy notification queue * Update glslang.7z * Add BOM to sys_tty.cpp * Inject rpcs3_glslang.props to glslang build * Update ffmpeg fork URL * Link Bcrypt with ffmpeg * rsx/overlays: Add support for animations * cellSaveData: remove duplicate yield * overlays: refactor shader loading dialogs * overlays: fix non-interactive dialog loops * VK: remove unused init function declaration * vk: Change default vertex output value * rsx: Improve MTRSX synchronization * Qt: repaint all related icons for custom configs * cellSaveData: use errDialog to skip error dialogs * Update ffmpeg * vk: Clamp depth export in FS * Fixup after #6933 (#7166) * rpcs3_version: Bump to 0.0.8 * Implement sceNpTrophyTerm resources deallocation * Silence some log messages * Some cleanup * Avoid using vfs::get to let decrypt work on PSN binaries * Implement ps3 application root flags detection * Use path_append instead of operator + to concat paths * Fail pkg_install if any files fail to be created * Handle ERROR_FILENAME_EXCED_RANGE error on Windows * Add progress_dialog::SignalFailure() * Update cellVoiceCreatePort syntax * Make spu_channel_4_t::clear() atomic * Minor spu_channel_4_t optimization * Fix ppu_patch invalid address check * Implement runtime PPU executable code modification via Cheat Manager * Improve cellImeJp (#7014) * cellSaveData: only show dialogs in fixed functions * vk: Do not leak mapped memory * 3rdparty: Update vulkan memory allocator (GPUOpen) * update glslang * Allow unimplemented HLE functions detection by bot * Minor fixup after #6894 * Allow sys_raw_spu_create_tag to be called more than once * SPU LLVM: rewrite comparison on non-xfloat path of CFLTU, CFLTS * sys_net: fix sys_net_bnet_connect on Windows * sys_net: add a workaround for WSAPoll with timeout * cellSaveData: improve ppu schedule during dialogs * cellSaveData: don't pause apps during dialogs * Add support for mousewheel movement * settings: Add relaxed zcull toggle to advanced tab * vk: Fix cb chunk synchronization deadlock * rsx: Fix linux build * rsx: Zcull synchronization tuning * rsx: Add toggle for zcull sync behaviour - Adds a relaxed sync mode where ZCULL reports are lazily nudged into flushing and the main core does not actually wait for the event to finish before proceeding - Can drastically improve performance in cases where the game actually does not utilize the report data * vk: Refactoring and optimizations to query handling * vk: Switch occlusion pool to FIFO rather than LIFO to avoid hard stall * vk: Emulate conditional rendering for AMD * vk: Implement hw conditional rendering * vk: Implement multithreaded command submission * rsx: Restructure ZCULL report retirement * rsx: Remove deprecated do_method path that has been superceded by c++ inheritance for many years * cellSaveData: get confirmation if not CELL_SAVEDATA_OPTION_NOCONFIRM * cellSaveData: add more constants * cellSaveData: add error dialog to callback result errors * cellSaveData: add confirmation dialog for save data interactions * Qt: apply more specific file filters for cache removal * rename Searchbar to Search bar in style sheet comments (#7140) * Qt: fix removal functions after cache compression ------------------------------------------------------------------- Sat Dec 28 15:54:34 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191228: * silence some annoying warnings * LLVM: compress PPU cache * Qt: add plaintext log and more log options * stub cellRemotePlay and cellResc and cellStorage * Fix UB in to_u8 * sys_net: fixup for race condition * WSAPoll workaround ------------------------------------------------------------------- Mon Dec 23 13:54:42 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191223: * RSX: Remove two empty cpp files * Move input to its own directory (#7126) * Qt: Simplify custom titles and notes ------------------------------------------------------------------- Sun Dec 22 10:57:25 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191222: * Avoid shifting by greater/equal than max bits values in ppu_rotate_mask * Improve approximate xfloat * SPU LLVM: use FMA with approx xfloat when available * CPUTranslator: detect FMA feature * appveyor: Update vulkan SDK version to 1.1.126.0 * cmake: Fix vulkan on X11 ------------------------------------------------------------------- Fri Dec 20 13:14:40 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191220: * Implement rounded_div * rsx: Make X11 optional on Linux * Fix cellNetCtlNetStartDialogUnloadAsync * Qt: Look for custom game titles when filtering via Search ------------------------------------------------------------------- Thu Dec 19 19:29:12 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191219: * sceNpTrophy: minor optimizations * Qt: add platinum relevance to trophy_manager_dialog * Qt: minor optimizations in trophy_manager_dialog * Hotfix sceNpTrophyGetTrophyUnlockState * Fix sceNpTrophyGetGameProgress (#7103) ------------------------------------------------------------------- Tue Dec 17 18:58:10 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191215: * PPU DisAsm: Again ------------------------------------------------------------------- Sun Dec 15 12:53:16 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191214: * Qt: move firmware settings to the advanced tab * Qt: Use QT_ENABLE_HIGHDPI_SCALING starting with Qt 5.14 (#7090) * Updated sys_net to use WSAPoll on win32 as this fixes connection issues in Metal Gear Online. Also aligns with implementations on non win32 platforms * LLVM: remove cascadelake workaround and update LLVM fork * Fix missing-braces warnings * LLVM: add workaround for cascadelake CPU * Fix some warnings ------------------------------------------------------------------- Thu Dec 12 19:05:24 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191212: * vk: Remove some outdated code (#7060) * rsx: Delay FIFO recovery point creation if is in in_begin_end scope (#7080) ------------------------------------------------------------------- Tue Dec 10 22:32:58 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191210: * cellGem: add some explanatory comments * cellGem: cleanup some spacings * Modules/cellGem: Implement pos, quat and handle_pos in Gemstate for mouse. Modules/cellGem: Fix name for gem_image_state. Modules/cellGem: Implement projectiion(x/y) in gem_image_State for mouse. Modules/cellGem: Add cross, triangle, circle and start with use middle click for mouse. Modules/cellGem: Refactor global code. Modules/cellGem: fix some warning with initializing value. * PSMove: Rudimentary mouse emulation. * rsx: Ignore or recover from unknown primitives ------------------------------------------------------------------- Sat Dec 07 15:21:41 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191207: * Fix warning about truncation * sceNpBasicAddBlockListEntry: Add connection check * sceNpBasicAddPlayersHistory(Async) fixes * Minor fixup after #7068 * sys_spu: Fix SPU Thread Id * Move size write in cellGamePatchCheck * Make sys_tty accurate in release console mode, message saving in log * Revert part of #7044 * sys_spu_thread_group_dis/connect_event Improvements * Compilation fix for NetBSD (#7067) * C-style cast cleanup VII * Commit 377e7d2a73fb2c83da73f65a5983b02499613e51 * C-style cast cleanup VI * ds4: Cleanup * ds4: Add workarounds for some 3rd party controllers * vk: Add sampleRateShading to the list of device enabled features ------------------------------------------------------------------- Tue Dec 03 19:26:27 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191203: * C-style cast cleanup V * Add Emu.HasGui() to properly hide Qt dialogs in no-gui mode * Qt: skip in-game Qt dialogs if no-gui was used * cellSaveData: avoid nullptr if there is no dialog * C-style cast cleanup IV * Fix error checking of cellGameContentPermit * cellGameBootCheck Improvements * Fix sceNpTrophyRegisterContext hack ------------------------------------------------------------------- Sun Dec 01 15:52:31 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191201: * C-style cast cleanup III * C-style cast cleanup II ------------------------------------------------------------------- Sat Nov 30 12:23:12 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191129: * C-style cast cleanup (partial) * Fix sys_spu_thread_un/bind_queue queue existence check * Fix possible division by zero in sys_spu_thread_write/read_ls * Stub sys_spu_thread_group_log * Avoid calling lv2_obj::sleep sequantially in sceNpTrophyRegisterContext * Decrease memory stats in cellGemInit if needed * settings: enable dynamic reload of some emu values * overlays: add dynamic switch for perf overlay * cellSysutilGetSystemParamString improvements * vm: implement vm::try_access, vm::ptr::try_read/write * SPU: internal refactoring, add spu_program * SPU LLVM: detect mpy32 pattern * cmake: Set LLVM_INCLUDE_BENCHMARKS to OFF * cmake: Add post-build commands for Windows * Fix cellAudioCreateNotifyEventQueue queue depth * Implement cellAudioCreateNotifyEventQueueEx * Fix cellVoiceCreatePort * cellAudio: Implement event source * cellVoice: Fix NOT_INIT checks, implement 0 event source handling * cellVoice Update * sys_prx: Tiny improvement * rsx: Remember to min-max the anchor indices of a polygon or triangle fan ------------------------------------------------------------------- Sat Nov 23 18:18:44 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191123: * rsx: Remove redundant check * sys_net: don't report SYS_NET_EWOULDBLOCK in blocking syscalls * sys_net: format both negative and positive sys_net_error values * sys_net: Add error_code ------------------------------------------------------------------- Wed Nov 20 19:03:44 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191120: * Clamp volume in cellAudioAdd/2c/6c/Data * Lightweight putllc() for non-TSX if no data changed * Qt: remove unused rsx debugger code * rsx: Select correct image aspect for blit engine targets. * rsx: Improve blit format mismatch detection * rsx: Fix invalid format checks for DMA sections which are typeless * HLE: stub cellCrossController some more * HLE: stub cellCelpEnc and cellCelp8Enc * HLE: add even more error_code ------------------------------------------------------------------- Mon Nov 18 19:49:26 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191118: * rsx: Add missing format check for the RTV<->DSV transfer case - TODO: Rewrite resource handling routines * rsx: Improve format validation for blit engine * vk: Clamp buffer row length to never be less than declared width - Fixes some games with broken textures * rsx: Do not ignore clamping for some routines that do not have implied range * rsx: Remove more deprecated methods * Fix typo in update manager * SPU LLVM: use updateGlobalMapping instead of addGlobalMapping * SPU LLVM: change patchpoint name generation ------------------------------------------------------------------- Sun Nov 17 18:49:43 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191117: * Qt: Avoid Start/StopPlaytime when installing firmware. * Qt: rename pad_info to pad_device_info for ODR * HLE: add more error_code * Disallow NaN in cellVideoOutSetGamma ------------------------------------------------------------------- Fri Nov 15 19:34:48 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191115: * cellSysutilGetSystemParamInt(ID_PAD_RUMBLE) changed to return ON status * cellSysUtil: Add a few CELL_SYSUTIL_ERROR_VALUE checks * cellSysutil: Log error code * Restore cellPadSetActDirect's reserved error check * overlays: avoid division by zero * overlays: add settings for overlay graphs * overlays: fix center options when graphs are shown * overlays: perf_metrics_overlay to seperate header * settings: fix performance overlay margin checkbox * Intel iGPU needs workaround on Windows ------------------------------------------------------------------- Thu Nov 14 21:50:45 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191114: * LLVM: Add workaround for znver2 ------------------------------------------------------------------- Wed Nov 13 19:10:28 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191113: * Cheat engine * overlay: Performance graphs * Fix bitfield warning * Utilities: Remove unused headers * SPU LLVM: add SPU profiling to compilation thread * SPU: Don't break blocks on DSYNC instruction in Safe mode (#6731) * vk: Check for heap change events after a grow to avoid spec violations * vk: Initialize queries before use * vk: Reduce memory allocation sizes of default heaps * vk: Enable auto-growing of the data heaps for the performance case * vk: Implement explicit runtime flags to manage events like heap sync * rsx: Implement mutable ring buffers with grow support * rsx: Clean up some unused legacy methods unnecessary after d3d removal ------------------------------------------------------------------- Sun Nov 10 13:46:43 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191110: * Fix string length check in cellGameThemeInstall * Loader: Fix default sdk version * Implement sysutil_check_name_string * rsx: Wrap gsl::span definition into Utilities/span.h * s/GSL/span/ in XML files too * Fix CI * Remove GSL as we don’t use it anymore * Remove extraneous ::narrow<int>() calls * Replace gsl::span’s implementation with tcbrindle’s * Add tcbrindle’s span implementation * Remove gsl::finally only use * rsx: Replace gsl::byte with C++17’s std::byte ------------------------------------------------------------------- Sat Nov 09 18:34:52 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191109: * Fix SSSE3 usage in PPUInterpreter.cpp * Fix SSSE3 usage in PPUThread.cpp * Remove gsl::finally only use * cellSysCache: poison opened cache files on cache clear * cellSysCache: return /dev_hdd1 root * cellSysCache: keep mounted /dev_hdd1 after exitspawn ------------------------------------------------------------------- Sat Nov 09 17:06:25 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191109: * rsx: Implement point sprite coordinate generation * Use std::from_chars in Emulator::SetUsr * Avoid exceptions in cfg::try_to_int64 and cfg::try_to_enum_value * Remove throwing and catching cpu_flag::stop * GDB: remove wrong_checksum_exception * Simplify fmt::throw_exception * Don't throw in operators _u16 _u32 _u64 * Remove fs::file::set_delete * Fix vfs::host::unlink (Win32) * rsx: Implement full color remap for the D24S8->ARGB8 converter * Fix vfs::host::remove_all ------------------------------------------------------------------- Thu Nov 07 19:29:19 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191107: * Fixes evdev settings & multiple pads handling * PPU Disasm: Fix RC OE enabled instructions view * rsx: Validate depth test setup to avoid address contention * Qt: adjust custom context menu positions * Virtualize cellSysCache * vk: Compute kernel fixups * vk: Implement layer batching for the GPU swizzle decoder * vk: Minor compute optimizations - Remove use of uniform buffers for compute static data. Use push constants instead. - Minor touchups to the deswizzle code to avoid redundant data copies. * vk: Enable gpu deswizzling * rsx: Set up framework for hw deswizzle * atomic2: fix pessimisations * atomic2: fix corruption bug * atomic2: add TSX path for multi_cas * Linux: disable update check at startup if not running from AppImage * SPU LLVM: Disable "special" branch patchpoints * rsx: Take empty queries into account for engines that spam report reads. * rsx: Implement report transfer deferring * vk: Improve zcull synchronization * vk: Reimplement occlusion result reading * rsx: Implement backend notification for upcoming zcull reads * rsx: Allow u32 restart index with full index width * vk: Improved crash message for missing MSAA features * Qt: Fixed plurals of time played strings (#6937) * Fix context menu showing twice in Game List ------------------------------------------------------------------- Sun Nov 03 15:12:15 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191103: * lv2: Check ipc_key value if object is process shared * bf_t: Remove <limits> lib dependency * Add missng check for key in cellAudioSetNotifyEventQueue ------------------------------------------------------------------- Sat Nov 02 14:01:44 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191102: * Qt: implement time played and last played * Stop autoupdater renaming file across devices * Fix ALSA and PULSE building on Linux (workaround) * Implement multi_cas with atomic2 type * vk: Add explicit support for identity image views - Allows bypassing all remap shenanigans to make some operations that rely on the raw image to work correctly. ------------------------------------------------------------------- Thu Oct 31 14:26:29 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191031: * Audio: don’t build ALSA, PulseAudio or FAudio backends when disabled * vk: Add video out calibration pass - Adds gamma correction and RGB range filters to output to match PS3 * rsx/overlays: Add support for other primitive types other than triangle_strips * Minor optimization in BufferUtils.cpp * Minor cleanup in BufferUtils.cpp * Optimise primitive_restart::upload_untouched() (#6881) * vk: Add checks for alphaToOne support - This feature is very rarely used, as alphaToCoverage is commonly used as a replacement for blending, not in addition to it. * sys_spu Fixup after #6864 * vk: Optionally ignore depth bounds testing on hardware that does not support it. * vk: Minor spec touchups * rsx: Separate subresource_layout:dim_in_block and subresource_layout::dim_in_texel * sys_spu: Fix SNR and Inbound Mailbox state reset * SPU LLVM: fix MFC CMD enqueuing * Fix lv2_config_service_event event id reset * Remove unjustified use of idm::import_existing in sys_config * lv2: Correct alignment of some attributes structs * Kernel Explorer: Don't hardcode endianness in name64 * sys_rwlock_wlock: Fix typo * Rewrite the way LLVM JIT does memory allocation to allow use of more than one contiguous segment (#6771) * rsx: Enable primitive restart index only when needed (#6889) * Qt: fix crash on startup in game_list_frame::Refresh * msbuild: Add 7zlib to rpcs3 project dependencies * [msbuild] 7zlib msbuild changes * Super-important PR (#6900) * vk: Fix uninitialized (and wrong) variable access * vk: Round lod bias to the nearest 0.5 to lower number of permutations when nearest mipmap sampling is used - The lambda values will be rounded to the nearest integer anyway * vk: Modify sampler cache to uniquely identify all the input parameters - Avoids iteration when variable mipmap counts or lod bias parameters change * rsx:: Use fcmp correctly * rsx: Allow compressed textures to be unaligned in size - Align based on row length but let the texture itself be of arbitrary dimensions * rsx: Make input_is_swizzled a template parameter * Fix long path support in fs::statfs on Windows * Fix long path support on Windows for UNC path ------------------------------------------------------------------- Sun Oct 27 16:14:21 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191027: * cellSysCacheClear/Mount() improved * SPU LLVM: verbose patchpoints in "giga table" * SPU Analyser: don't compile on "analyser failed" * SPU: fixup for duplicates in recompilers * SPU LLVM: Enable "Giga table" in Mega mode * Qt: disable progress_dialog resize * Qt: connect compat error handling to error signal * Qt: add quickstart link to SSL warnings ------------------------------------------------------------------- Sat Oct 26 20:42:40 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191026: * SPU: Make recompilers lock-free. * SPU: cleanup former OOM handling * Implement lf_bunch<> * SPU: Make JIT allocator lock-free on all platforms * Simplify lf_queue<> (second attempt) * Qt version bump ------------------------------------------------------------------- Sat Oct 26 12:30:51 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191025: * Small warnings cleanup (#6671) * Qt: add mutex to game list creation * Normalize audio when downmixing to avoid clipping (#6867) * rpcs3qt/settings_dialog: fix Audio Buffering setting for FAudio backend * 3rdparty: update FAudio to 19.10 * 3rdparty: only build FAudio with SDL >= 2.0.9 * Implement FAudio backend (#6374) * Conserve error value when trying to open log file ------------------------------------------------------------------- Thu Oct 24 18:14:28 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191024: * Check if we're in the process of restarting when trying to open the log * Fix debug build gcc/clang linker. * Update cellVoice.cpp * Audio: don’t build XAudio2 backend on Linux * Qt: don't update the gui from QtConcurrent * Qt: multi thread trophy loading * Qt: indent try and catch block * Qt: multi thread game list refresh from drive * Qt: multithreaded icon resize * Revert "Simplify lf_queue<>" * fix weird filters for display sleep files * Remove VS D3D12 Dependencies * Update LLVM (fixup) * atomic.hpp: fix typo * Simplify lf_queue<> * Update LLVM (10) * vk: Restore vega native use of FP16 in shaders - AMD proprietary drivers should work fine * Support fullscreen properly on Wayland * Remove further occurrences of DirectX 12 * rsx: Copypasta fix - r1 is always float4 never half4. Its a full-width register unlike the other outputs which are optionally half-width. * Bump version built on to 16.04, Update clang to 8, update Qt to 5.12.3 * Drop d3d12 backend * Fix misleading indent. * Avoid std::move() for copy elision * Fix cellGcm HLE regression * rsx: Align down index array offset * vk: Silly copypasta * rsx: Add support for delayed shader discard. - Noticed a glitch on AMD hw and windows drivers where discard seems to affect entire 4x4 cells. - Dead fragments (outside the primitive boundary) could have their discards trigger as they do not have proper access to variables. - This introduces dead fragments along triangle edges, causing a diagonal line pattern across the screen that is very annoying. * rsx: Replace pointless f32[4] restriction on texture parameters. - Use a struct instead to improve readability and remove pointless OpBitCast * rsx: Implement packed format renormalization - Renormalizes arbitrary N-bit values as 8-bit normalized. - NV hardware performs integer normalization at 8 bits if the size is less than 8. - This can cause significant arithmetic drift because the error is multiplied by a huge number when sampling. * Partially revert git-version.cmake * Fix for auto updater * Auto-updater * Adds 7z sdk to 3rdparty * MSVC: disable new exception handling (FH4) * SPU LLVM: implemented asynchronous compilation ------------------------------------------------------------------- Mon Oct 21 19:55:30 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191021: * rsx: Fix vblank signals flood after Emu.Resume() * cellGcm: Fix driver_info->memory_size * rsx: Report full method range on invalid methods * sys_rsx: Improve allocations and error checks * Debug build : Check ObjectFile before reading. * atomic.hpp: remove <string> dependency * atomic.hpp: fix internal resource deallocation * gl: Fix copypasta - MSAA is still unimplemented in OGL * vk: Fix minification filter description for NEAREST_MIPMAP_NEAREST. Just a typo. - Also remove mipmap filter for CONVOLUTION * rsx: Tweak behaviour of the "Use GPU texture scaling" option - If either source data or dest is a render target, do image operations on the GPU same as before - If swizzle is desired, use CPU fallback - If no scaling and no format conversion is required, use CPU fallback - If scaling is desired and the transfer target is in local memory, use the GPU - When doing trivial copies, use the routine in rsx_methods instead of duplicating code. Also has the benefit of better range checking. * rsx: Minor improvement to fbo region invalidation - When commiting a block as fbo, keep blit_dst data as well. - Avoids removing (and losing data from) blit targets that just happen to share a page with a framebuffer. * PPU Precise: Fix fused float ops misaccuracy by using fma * atomic.hpp: improve internal data layout * atomic.hpp: reimplement USE_FUTEX path for Linux * atomic.hpp: rewrite collision handling ------------------------------------------------------------------- Sun Oct 20 17:02:48 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191020: * Add exception for sys_usbd_initialize * Forcefully awake waiters in sys_usbd_finalize * sys_usbd Tiny update * cellVoice: Initial Implementation * sceNpBasicGetEvent error checks improved * sceNpUtil Improvements * rsx: Fixup for aspect mismatch * cellNetCtl: improve param checks * stub cellKey2Char ------------------------------------------------------------------- Sat Oct 19 14:24:58 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191019: * Compilation fix * cond_variable: improve wait a bit * init_mutex: implement init_always() * Restore using keyed events in waitable atomics on Windows * rsx util: Implement decode_fxp<> * vk: Disable mipmap sampling if sampling mode is does not have a mipmap filtering mode. - GL_LINEAR and GL_NEAREST always sample LOD0 so make vulkan behave the same way * rsx: Force-align compressed formats to 4x4 texel blocks and disable 1D compressed textures. - The PS3 allows defining 1D compressed images but this obviously doesn't work well on desktop. * rsx: Minor cache fixup for cyclic references. - Logic was broken by mipmaps PR. Do not issue a texture barrier if a temp copy is being done. * vk: Remove a redundant memory barrier * vk: Check for cyclic references if sampler is marked as do-not-cache. - Usually an indication of surface/texture cache interaction. * rsx: Track uncached cache resources - Uncacheable resources can be reused as soon as they're made visible to the draw call. - Since they're likely to be reused every draw call until the shader changes, it is important to reuse as much as possible * rsx: Notify the backend to release or delete temporary surfaces after we're done with them. * vk: Add video memory manager to monitor VRAM usage * Input: avoid exception while no keyboard is registered * rsx: Fix some uninitialized variables flagged by valgrind * cellScreenshot: initial implementation * avoid update of window title * stub cellSsl * Fix sys_vm_t destructor * rsx: Fix decoding of some fixed point texture parameters - Checked envydocs and found the correct format as fixed-point 4.8 with optional sign bit * rsx: Fixup for slice gathering for structures with multiple mipmap levels - TODO: Proper multi-level assembly for non-2D structures * rsx: Fix rsx capture crash. - Pixel coordinates are top-left not bottom-right - Solves out of bounds access * rsx: Fix visibility of blit destination targets * rsx: Remove the alpha-to-coverage hack that was added to hide the missing mipmaps in games - Moves to a purely stochastic function using dithering to simlulate coverage * rsx: Implement range-based subresource descriptor cache - The previous address-based approach was pretty awful when it comes to invalidating * rsx: Add explicit range to cached subresource descriptors * rsx: Fixup for surface cache scanning - Fix regression when gathering cubemaps * rsx: Add some texture search options for the cache - Potentially optimizes texture cache searching using explicit options * rsx: Implement mipmap gathering from texture cache * rsx: Refactoring - Move some helper routines out of the cache core - Prep for multi-layered image search * rsx: Runtime check on RTT cast * vk: Fixup - Removes incorrect line writing stencil flags to a regular texture. * vk: Proper workaround for VEGA float16_t bugs * vk: Add workaround for broken format conversion in older GeForce cards * vk: Add kepler and maxwell tables ------------------------------------------------------------------- Wed Oct 16 18:16:26 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191016: * sys_spu: Don't reset snr config at group_start() * Fixes for cellUserInfoGetList * spu/ppu-diasm: Fixup for #6772, #6722 * Fix "SPU Interpreter (fast)" * error checking bugfix for sceNpTrophyCreateContext * sys_cond_wait: Fix mutex acquire when signaling thread didnt pass ownership immediatly * sceNpTrophyRegisterContext verbose logging in TROPHY_ERROR_ILLEGAL_UPDATE error * spu disasm: Show interrupts status modifiers on indirect branches * Workaround fs::create_path for drive roots * SPU LLVM: Always use linux-gnu target triple (affects Windows) * SPU Profiler preview * Linux: Change default Sleep Timers accuracy to host - This doesn't change existing configs - Also sets the host_min_quantum to the true value - Restores lost TODO: comment * minor optimization for FIFO_control::read_put() (#6768) * ppu disasm: Improve CR bits manipulation instructions formatting * Fix unknown BCLR forms formatting * Log fs::g_tls_error on ACCESS_ERROR errors * Random space fixes * fs: add long path support on Windows * Hotfix for #6573 * Hotfix for #6573 * Unify versioning * Update git-version generation * ppu disasm: Implement BCLR's, BCCTR's and BC's extended mnemonics * ppu disasm: Fix AA BC formatting * [TSX] Fix XABORT handling * Fix state reset in cellMic, cellAudio, cellCamera (#6761) * gl: Vendor-specific tuning * gl: Fix missing case * gl: Rewrite image transfer operations to support image subregions - Working exclusively with full sized images is very expensive * gl: Refactoring and fallback support for compute acceleration * gl: Windows bringup * gl: Use compute shaders for typeless texture decode * gl: Add a framework for compute shaders * CMake: Generate compilation database * lf_queue: remove explicit notify(), notify in push() instead * lf_queue: add range-for support (endless loop with waiting) * Replace some uses of Emu.IsStopped() * g_fxo: destroy objects in reverse creation order * Deprecate thread_ctrl::spawn * Remove g_thread_count * [SPU, TSX] Fix reservation corruption in PUTLLC * Add option for preventing display sleep (#5783) * stub cellVoice * Fix cellCameraInit (camera_handler::null) * cellCamera: Log error code * Patch v2 for vkCreateInstance() * Patch for vkCreateInstance() * Error handling for vkCreateInstance() * rsx: Fix FIFO_DRAW_BARRIER substituation * rsx: Improve FIFO recovery from flip * rsx: Recover from invalid writes to CELL_GCM_NV4097_SET_INDEX_ARRAY_DMA * rsx: Register some more methods ------------------------------------------------------------------- Wed Oct 09 20:57:08 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191009: * Validate firmware before installing * Use Linux timers for sleeps up to 1ms (#6697) * GDB Server: parse 'GDB Server' config entry * GDB Server: fix selecting ppu_thread * GDB Server: fix ppu_thread access cast * GDB Server: format cleanup * Fix log format misuse * GDB Server: fix and cleanup * Use g_fxo for network thread * Fix verification failure on Emu.Stop() at sys_cond_wait * cellGemUpdateStart/Finish error checking improved * add cellPadFilter functions * add error code to cellPadInfoPressMode and cellPadInfoSensorMode * cellMic: add some params * sys_gpio Cleanup * spu: Mask SRR0 at write * cellPadGetData: clear buttons if input is ignored but not intercepted. * cellOskDialog: add some param checks * Fix minor warning * Prioritize vip_lock in shared_mutex * SPU: optimize function dispatch in trampolines * Add dummy alert param to thread_ctrl::wait API * Minor fixup for se_t operators &= |= ^= * Create emulator directories after changing dev_*** directories (#6707) * rsx: Default initailize zcull reports padding * Make windows_file::stat return the same mtime as fs::stat ------------------------------------------------------------------- Sat Oct 05 10:54:27 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191005: * typo fix * Qt: use Qt standard button layout in vfs_dialog * Qt: use Qt standard button layout in settings_dialog * Qt: fix high dpi setting * mmjoy: fix connection update spam * evdev: add missing override * rsx: Explicity describe transfer regions for both source and destination blocks * sys_cond fixes (#6584) ------------------------------------------------------------------- Thu Oct 03 12:06:51 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20191002: * sceNp2Init: use u32 in poolsize * Implement optimized operators &|^ for se_t * Implement optimized operator~ for se_t<> * Fix enum vs integer comparison in se_t::operator== * Restore experimental optimized operators &= |= ^= for se_t * gl: Add missing input declarations for 2-sided lighting * gl: Remember to unbind attachments from active framebuffer after clear * rsx: Flush FIFO GET before smeaphore_acquire * rsx: Optimize FIFO PUT masking * rsx: Fix missing point size export * config: dynamically show_fps_in_title ------------------------------------------------------------------- Sun Sep 29 17:33:58 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20190929: * rsx: Mask FIFO PUT on rsx execution * rsx: Avoid unsigned/signed mismatch with fifo ret addr * vk: Increase wait timeout in case of problematic GPU loads causing heavy stutter - When compiling LLVM objects, it is possible to starve the driver thread and cause the timeouts to trigger - Observed in RE6 when using SPU LLVM since the game generates a very large number of objects "infinitely" * rsx: Align width properly when normalizing to avoid fractional results being lowered to 0 * vk: Check frame descriptors before rendering in case of a flip request between begin() and end() - There is no reason to delay async flip requests since most of the work can be handled during rendering anyway * rsx: Restructure deferred flip queue handling - Allows frameskipping to occur naturally if RSX thread is bombarded with flip requests but just jumping to the last one if possible - See request_emu_flip() for async frame submission and implicit skipping - Also allows display queue to fill faster than the flip thread can drain the queue * Bugfix for sceNpUtilCmpNpId * Restore experimental optimized operators == != for se_t<> * Improve to_se conversion template * Tidy endianness support (se_t) implementation * Fix wrong comments in CPUThread.h * rsx: Properly scale overlay passes to match drawable area * gl: Remove a debug print * SPU: Rewrite BGX * SPU: Rewrite CGX * SCE_NP_ERROR_OFFLINE logging disabled * sys_rsx: Format special sys_rsx invalid param error, warning fixes * rsx: Add missing initialization * Log game version * cellSaveData: fix VFS escape usage * Finally remove fxm from IdManager * cellMsgDialog: use g_fxo * cellOskDialog: use g_fxo * Use g_fxo for rsx::rsx_replay_thread * Use g_fxo for spu_cache * Use g_fxo for rsx::thread * Use g_fxo for global ppu_module instance * cellGameData: use g_fxo for content_permission * vk: Add turing workaround - Turing crashes if using the depth->color transfer hack * vk: Add chip family detection * Fix debug build * input: fix DS3 button presses (forgot the non pressure sensitive ones) * Improve vfs::host::unlink on Windows (for sys_fs_rmdir) * cellSaveData: always commit changes on error in funcFile loop * cellSaveData: add auto maintenance routine in Emu.Init() * fix some new warnings * input: fix missing override in keyboard pad handler * Only free the list if libusb_get_device_list succeeded * Input: move some pad handler logic to the parent class * Fix fs::create_path * Implement sys_usbd_event_port_send * Fix null pointer check (clang warnings) * Make errors in Emu::Init verbose and don't crash * atomic.hpp: use native semaphores on Windows * atomic.hpp: fix pointer mask * atomic.hpp: fixup for atomic waiting * Revert "Revert "Remove `shared_cond` and simplify reservation waiting"" * rsx: unbreak build with Clang 9 ------------------------------------------------------------------- Mon Sep 23 20:49:50 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20190923: * cellSaveData fixup * cellSaveData: Log param error code (#6587) * ppu disasm: Improve BC formatting * ppu disasm: Improve disassembly of BCTR and LWSYNC * Add SCP extension support to XInput pad handler (#6524) * sceNpSns: add more logging * sceNpTrophy: add errors from RE * dont escape from check_state() before ensuring signal is resetted. * cond_variable: fix warning in cond.h for MSVC * Fix unwanted statichle_handler init * Improve strcpy_trunc * Input: don't intercept pads after system dialogs, but still ignore input * cellPad: fix out of bounds warning * Input: Ignore unused reserved button (key code 0 was used twice) * Input: Remove unused flush member * rsx: Avoid recursion in flip handler * Forces numeric locale to default * overlays: fix enter button assignment in osk * rsx: Refactoring and improvement - Separate displayed statistics from actual backend statistics. Allows asynchronous flipping to work correctly as it just uses display stats. The real stats are used by the frame scope marker to determine behavior like engaging the FIFO optimizer or skipping draw calls correctly. * rsx: Restructure flip code and frame scoping - Add an explicit frame scope marker tied in with the queue_prepare command Since queue_prepare is emitted at the end of a frame, it can be used as end-of-frame in games that emit this - If this command is not emitted, fifo flatenner and frameskip will not work * Fix sceNp2Init * Silence skylander message * Use g_fxo for cellKb, cellMouse * Add init_mutex.hpp * Use g_fxo for pad_handler * typeindices.hpp: add typeindex() helper * typeindices.hpp: rename typeinfo_v to typelist_v * typeindices.hpp: fix constexpr constructor * Fix manual_fixed_typemap::init result (g_fxo) * cellCamera: use g_fxo * Use g_fxo for global lv2_memory_container * Fix vm::reserve_map NRVO * Adds initialization checks back in sys_usbd * vk: Properly test MSAA sample mask when switching between states inside a RSX renderpass. - Before, these changes would be lost if the same RTT config was used with varying mask setups * Delete g_idm * sys_usbd: use g_fxo * sys_usbd: rearrange includes * cellMic: use g_fxo * cellAudio: use g_fxo * named_thread: implement default thread name support * cellAudio: use vm::gvar to allocate working memory * vm::gvar: add array support * CellPadLdd functions implementation * sys_usbd implementation * Adds md5 hash to Crypto implementations * TSX instruction tooltip typo * Add a "stack mode" to the TTY. (#6542) * Report filesize in bytes * Pad settings dialog improvements * Update CMake version in BUILDING.md ------------------------------------------------------------------- Sat Sep 14 11:58:00 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20190914: * Revert "Remove `shared_cond` and simplify reservation waiting" * Fix lf_queue::wait * Abort named_thread in cpu_thread::stop_all * atomic.hpp: increase hashtable capacity * atomic.hpp: add atomic wait mask support ------------------------------------------------------------------- Fri Sep 13 11:54:22 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20190913: * rsx: Allow only sse4.1 capable CPUs to take the accelerated index path - Older sets lack the required min/max functionality * Qt: add --styles cli arg * Qt: Enable stylesheet cli args and add stylesheet option "None" * Make "Clear shader cache" clear all caches, not just the first (#6538) * sceNp: fixups ------------------------------------------------------------------- Thu Sep 12 21:46:51 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20190912: * rsx: Workaround for exit deadlock - Avoids games locking up when the stop button is pressed * rsx: Improve hit testing when scanning for overlapping surfaces - Calculate exact sizes when doing hit tests to avoid false negatives - Defer page checking until actually require to do memory setup - Introduce align2 helper to do non-pow2 alignments * rsx: Check if memory actually exists when overallocating blit targets * rsx: Do not use nul section if resolution scaling is active on a surface * rsx: Experiments with nul sink * vk: Reimplement DMA synchronization * vk: RDB fixup * rsx: Remove log spam for cond render * rsx: Improve use of CPU vector extensions - Allow use of intrinsics when SSSE3 and SSSE4.1 are not available in the build target environment - Properly separate SSE4.1 code from SSSE3 code for some older proceessors without SSE4.1 * rsx: Fixup for blit engine when moving inverted regions - Properly calculate overlap range when sections are inverted - Simplify transfer logic for inverted regions ------------------------------------------------------------------- Tue Sep 10 18:32:28 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20190910: * Simplify thread_base::join() * atomic.hpp: implement collision fallback properly * Remove `shared_cond` and simplify reservation waiting * Rewrite `cond_variable` to use waitable atomics * atomic.hpp: fix signal saturation logic * Remove `unique_cond` * atomic.hpp: optimize internal logic * atomic.hpp: add timeout support * Remove `notifier` class * Remove timeout support from lf_queue::wait * named_thread: install atomic wait callback * atomic.hpp: implement wait callback interface * Thread: drop is_leaf_function after 5e3bacbd9b32 * rsx: Allow sampling from shader_read resources for blit engine - With harmonization between all texture types implemented, there is no difference between blit_engine_src and shader_read for supported formats - Adds extra format filtering to ensure no conflicts when copying data * rsx: Modify find_cached_texture to respect gcm_format. Can pass 0 for "dont care" ------------------------------------------------------------------- Mon Sep 09 19:47:07 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20190909: * Fix warnings in rpcs3/Emu/Cell/Modules/sceNp.cpp ------------------------------------------------------------------- Sun Sep 08 18:42:46 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20190908: * cellVdec: add error_code * cellMouse: add error_code * cellGem: add error_code * Audio: restore snd_pcm_recover for ALSA backend ------------------------------------------------------------------- Sun Sep 08 17:47:39 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20190908: * Fix gcc warning in bit_cast * Fix compilation * sceNp: add error_code and some param checks (#6416) * vk: Crop malformed image descriptors - Some image descriptors (lle vdec?) are malformed with pitch being smaller than width - Crop these for now pending hardware tests * rsx: Fix fast texture copy when src_pitch != width * block_size - Happens on mipmapped linear images * Fix ppu_interpreter::MTFSFI * Remove spin wait loop in cpu_thread::check_state * rsx: Deprecate surface_transform::argb_to_bgra which is no longer required. - vulkan now uses native swizzle mapping for both surface and texture * vk: Fix surface_transform::argb_to_bgra transfers when no scaling is requested * vk: Fix depth_stencil scaling * gl: Do not byteswap uint24_8 as it needs a custom 8_24 decoder * Input: increase mouse acceleration max to x30 * cellPad: disable reserved bit check in cellPadSetActDirect * Add cache removal to UI * Fix deprecation warnings * Fix passive reservation locks checking at Emu.Stop() (#6482) * vk: Batch compute jobs when doing texture upload - Reduces overall number of invocations * vk: Prefer using native alignment when uploading. - Allows using fast copy paths and reduces memory and compute footprint * rsx: Minor texture optimizations * rsx/vp: Set default inputs to (0, 0, 0, 1) - From some hw tests, it seems this is the default. * glsl: Explicitly declare const inputs as such - Avoids copying the values to temp variables before invoking function calls - Generates shorter, cleaner AST and SPV bytecode * Convert EROFS error * vk: Remember to allocate enough vertex layout storage objects! - vertex_layout_storage descriptors were added but the descriptor count was not updated * vk: Restructure commandbuffer scoping to allow faults in vertex upload - Defer renderpass open to allow recovery after fault in the middle of vertex upload * cellSaveData fixup (#6393) * Add user message for uppercase RAP * Simulate BSD FS for file order presentation in savedata ------------------------------------------------------------------- Wed Sep 04 11:55:13 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20190904: * PPUInterpreter.cpp: remove SSE4.1 requirement in FCTIWZ, FCTID and FCTIDZ * Revert File.h encoding. * File.cpp: add rounding_alignment argument to get_dir_size to allow GetSizeKB functions to report size more accurately * rsx: Do not include ro data when attempting to do section merge - Avoids crazy situations like trying to merge from a 3d or cubemap in memory * [noexcept] Don't throw on unimplemented HLE functions. ------------------------------------------------------------------- Sun Sep 01 20:06:56 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.7~git20190901: * Update FW 4.85 Latest Version (#6437) * rsx/texture_cache_utils: Warnings cleanup * rsx/ring_buffer: Warnings cleanup * rsx/cache: Warnings cleanup * rsx/methods: Warnings cleanup * rsx/util: Warnings cleanup * rsx/textures: Warnings cleanup * rsx/prog: Warnings cleanup * rsx/buffers: Warnings cleanup * overlays: Warnings cleanup * rsx/vp: Warnings cleanup * rsx/fp: Warnings cleanup * vk: Warnings cleanup * gl: Warnings cleanup * Qt: add --no-gui mode * Fix cli args and app version/name * Update BUILDING.md after #6394 * Fix system time wraparound * rsx: Fixup for surface_target_a flag being broken - While the mask for surface_a is at index 0, the surface cache expects the order to be maintained correctly! Set the correct mask since surface store now checks each RTT individually * vk: Workgroup tuning for different vendors * rsx: Allow GPU-accelerated stream manipulation when doing texture uploads * rsx: Check for stencil writes when determining zeta_write flag * rpcs3_version: Bump to 0.0.7 * VFS: Escape Control Characters 0-31 * Put lv2_obj::awake calls under mutex ------------------------------------------------------------------- Wed Aug 28 19:45:40 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190828: * rsx: Fixup for MRT color write lookup and surface_target_a * rsx: Workarounds for some buggy games - Replace assert with log message until hardware testing confirms findings * rsx: Fix surface cache hit tests - Avoid silly broken tests due to queue_tag being called before pitch is initialized. - Return actual memory range covered and exclude trailing padding. - Coordinates in src are to be calculated with src_pitch, not required_pitch. * Fix improper string concatenation in rsx_decode. * emucore: Initialize fxo on loading RSX captures - Fixes crash on capture replay * rsx: Implement per-RTT color masks - Also refactors and simplifies some common code in surface store and rsx core * gl: Restructure buffer objects to give more control over usage - This allows creating buffers with no MAP bits set which should ensure they are created for VRAM usage only - TODO: Implement compute kernels to avoid software fallback mode for pack/unpack operations * Fix SPRX building on AppImage builds * sys_cond_wait fixup * Fix sys_cond_wait * Revert PR 6405 * Fix SPRX loader crash * Silence statichle * Remove fxm::make_always * Use g_fxo for cellSysCache * Use g_fxo for display_manager * Use parentheses for new T() syntax * Deprecate fxm::get_always * Use g_fxo for jit_core_allocator * Use g_fxo in PPUThread.cpp misc * Init g_fxo in SPRX Loader mode * Use g_fxo for statichle_handler * Use g_fxo for ppu_linkage_info * Use g_fxo for cellPad * Use g_fxo for rsx::avconf * Use g_fxo for patch_engine * Use g_fxo for cellMusicDecode * Use g_fxo for gem_camera_shared * Use g_fxo for cellGem * Use g_fxo for cellGcm * Use g_fxo for fs_aio_manager (dummy) * Use g_fxo for SysRsxConfig * Use g_fxo for lv2_config * Use g_fxo for sysutil_cb_manager * lv2: Wait for rescheduling before confirming ETIMEOUT * sys_cond_wait: Wait for rescheduling before relocking * rsx: Hotfix for semaphore timeout bug - Add pending flip requests as a reason to invoke the RSX local task handler and release the vblank semaphore * cellSaveData/overlays: prevent possible array out of bounds in list view * rsx: Decompiler fixups and improvements - Fix 2D coordinate sampling of W coordinate. W is actually HPOS.w and not 1. Z is however always 0. - Optimize register usage a bit Disassembling compiled SPV shows that global declaration results in less ops than using inout modifiers. Modifiers generate extra mov instructions. * rsx/decompiler: Restructure program register behavior - Fix reading of varying registers in FP Different registers have different behavior - Always write to varying registers. If a register is not written to, it is initialized to (0, 0, 0, 1) - Reimplements two-sided lighting correctly without hacks - Also bumps shader cache version * rsx: Decompiler fixups for conditional execution - Cond actually obeys vector mask * rsx: Implement depth_buffer_float support. - Since this is transparent to the application at all time, it only becomes a problem when doing memory transfer or DEPTH->RGBA conversion in shaders. * appveyor: Update OpenSSL DLLs to 1.1.1 * rsx: Fix offloader deadlock - Do not allow offloader to handle its own faults. Serialize them on RSX instead. This approach introduces a GPU race condition that should be avoided with improved synchronization. - TODO: Use proper GPU-side synchronization to avoid this situation * Appveyor: use VS 2019 * Use g_fxo for avconf_manager * cellSaveData: improve param.sfo creation * cellSaveData/cellMsgDialog: implement cellSaveDataDelete * cellSaveData: ignore dot and dotdot * cellSaveData/overlays: initialize with focused entry * cellSaveData/overlays/Qt: fix some warnings and a possible nullptr deref * Fix vm::reserve_map logic * Fix VFS initialization * Use g_fxo for cellWebBrowser * Use g_fxo in cellRudp * Use g_fxo for cellSearch * Use g_fxo for vfs_manager * Use g_fxo for cellRec * Use g_fxo for page_fault_notification_entries * Use g_fxo for LoadedNpdrmKeys_t * Use g_fxo for page_fault_event_entries * Use g_fxo for cellMusic * Implement cpu_thread::stop_all() * Add new typemap for always existing objects * Don't call lv2_obj::awake_all with empty list * StrFmt.h: remove some dead code with UB * rsx: Update tag timestamp to match newest inherited data - Avoids memory appearing older when used for depth test without depth write The write_barrier before the call will inherit new data but the tag will not update as no new information is added. * rsx: Fixup for blit engine range calculations * rsx: Fix reference leaks in texture_cache<->surface_cache communication - Properly commit orphaned blocks not invalidating existing cache structures - Do not ignore overwritten objects when commiting as unprotected fbo. Avoids stale references to invalidated surface objects. * gl: Invalidate range before reading to prevent deadlock * rsx: Fix handling of ARGB8 memory - Load into memory as straightforward BGRA - Fixes a bug in vulkan caused by byte shuffling in blit engine vs shader access - Removes the need for memory shuffling when transferring into a rendertarget * rsx: Free memory 'held hostage' by storage sections in the surface cache - Once the memory has been captured by another surface, release the allocation * rsx: Fix surface split logic - Calculations are supposed to be done based on the properties of the outgoing surface * rsx/fp: Zero-initialize FragDepth register to match hw * gl: Fixup for D24S8 readback * Qt: Fall back to VERSION in game list * crypto: implement AES-NI acceleration * Reapply old template depth to compilers (fixes Gentoo building) * rsx: Temporary workaround for race condition in blit engine * rsx/vk: Restructure surface access barriers and implement RCB/RDB * rsx: Surface cache restructuring - Further improve aliased data preservation by unconditionally scanning. Its is possible for cache aliasing to occur when doing memory split. - Also sets up for RCB/RDB implementation * Fix mismatched enum string formats in sys_config * Improvements to XInput vibration: * cellKb: fix large ASCII characters for some compilers * Qt: fix diacritics in keyboard handler * cellKb: improve key conversion * Add option for keyboard layout * Qt/input: windows workaround to fix shift on the basic keyboard handler * Do not allow SYS_SYNC_PRIORITY_INHERIT in sys_semaphore_create (EINVAL) * Partial compilation fix for WTH_GDB build * PPU Precise: FPCC handling on float ops implemented * Fix _sys_lwcond_queue_wait * Fix _sys_lwcond_signal_all * typeindices.hpp - start index from 0 * [rpcs3] refactor includes and additional dependencies * [MSbuild] Extend support to v142 toolset * [MSbuild] Detect and use MSVC version for NMake CL. * lv2: Allow sys_sync_priority_inherit * PPU/LV2: Make thread-lists scheduling atomic * rsx: Fix potential out of range methods execution (can result in segfaults) * gui: Remove fallback font from YoRHa theme * Add new accuracy control for PUTLLUC accuracy setting (non-TSX) * Stub sys_process_get_number_of_object(object == SYS_SPUPORT_OBJECT) * Implement lv2_spu_image * Stub sys_process_get_number_of_object(object == SYS_TRACE_OBJECT) * Add another pattern to ppu analyzer imports * Work around a crash on startup on current versions of KDE on Linux. * vk: don't die on VK_SUBOPTIMAL_KHR in AcquireNextImage, and recreate swapchain * Add advanced tab * Improve unknown settings values dialog text message * Change default Sleep Timers Accuracy setting's value to "Usleep Only" * gl:Implement proper support for packed 16-bit rendertargets - Also some minor refactoring * gl: Add support for 4444 typeless texture * Qt: move default stylesheet to stylesheets.h * rename rpcs3_app to headless_application * Add cli arg for hidpi * update some comments * header shuffling * handle empty callback returns * Create headless application [WIP] * Implement stx::typeinfo_v (util/typeindices.hpp) * typemap: remove "shared" type support * typemap: remove "polymorphic" type support * Always check page_allocated in vm::check_addr * Remove lib_loading_type::automatic * Remove dumb overloads of atomic_op, fetch_op * Implement lib_loading_type::liblv2list * Implement lib_loading_type::liblv2both * Screenshot function * Update "Enable native user interface" description * rsx: UB fix (signed vs unsigned mismatch) * rsx: Fix nv0039::buffer_notify * rsx: Fix overlapping transfer of nv3089::image_in when out_pitch != in_pitch * Fixup for fixup * Fixup after #6286 * Fixup after #6329 * Fix race on cellVdecClose TLS cleanup * Fix race on notifying vdec thread in cellVdecGetPicture * Avoid using _sys_ppu_thread_exit in _sys_interrupt_thread_disestablish * ppu: Improve LWSYNC * ppu interpreter: Allow non-ssse3 to use fast path * core config: Expose min/max ranges of integral settings and use it * Fix possible infinite loop on vm area searching (sys_mmapper_allocate_address) * Use error_code in mmapper_thread_recover_page_fault * Fix sys_time_get_current_time() date * ppu interpreter: Improve SRD/SLD * ppu: Improve FCTIW, FCTIWZ, FCTID and FCTIDZ * Return immediatly from fs::remove_all on failure to remove entries * Add missing EALIGN check for sys_mmapper_search_and_map * Fix sys_vm address boundary checks (fix vsize) * Fix CELL_CAMERA_ERROR_NOT_INIT check in cellCameraSetNotifyEventQueue when camera set to null * idm: Fix bug in ID searching * Fix max allocations for DECR mode (sys_memory) * ppu: Stack size allocation improvements * Implement vm::page_executable (#6330) * Write zero in attr->pad (sys_memory_get_page_attribute) * Fix vm::check_addr memory state check * rsx: Cleanup for blit engine fixes * Qt warnings cleanup * Qt: add setting for trophy manager icon background color * Qt: add setting for save manager background icon colors + fix icon size * Qt: change default icon background color to something friendlier looking * Qt: add some sanity checks to prevent list crashes * fix some warnings * Qt: fix initial trophy icon background color * silence some warnings * Update Appveyor to Qt 5.13 ------------------------------------------------------------------- Thu Aug 08 20:16:52 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190808: * rsx: Minor fixup for nv3089::image_in - Typo scale_x->scale_y - Remove convoluted temp buffer creation and just use vector instead * Allow to load liblv2.sprx with manual/both lib loading options (#6274) * Fixes suspend+stop threads not stopping * Update game_list_frame.cpp * Qt: select custom configs when opening the custom config folder ------------------------------------------------------------------- Sat Aug 03 17:29:05 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190803: * sys_vm: Fix sys_vm_invalidate * Add fallback implementation for waitable atomics * perf hotfix for sys_timer_usleep * rsx: Conditional render sync optimization - ZCULL queue was updated to one-per-cb but the conditional render sync hint was not updated. - Do not unconditionally flush the queue unless the upcoming ref is contained in the active CB. - This avoids spamming queue flush, which frees up resources and improves performance * vk: Don't warn RADV users on LLVM 8.0.1 - The 'back screen' issue on RADV was resolved with LLVM 8.0.1 * sys_lwcond: Extract protocol from lwmutex at creation * Add EAGAIN check for sys_memory_contianer_create * make sys_fs_closedir atomic * Fix sys_config_get_io_event syscall name * Change bits of waitable atomics * Remove ignored bits in waitable atomics * ppu disasm: Improve ORI and ORIS disassembly * Use atomic wait in shared_mutex and semaphore * Implement waitable atomics * Correct get_int_t to get_uint_t. * vm/sys_overlay Improvements * Qt: properly scale icons in trophy manager * Qt: simplify game list icon resize * rsx: Improve aliased data preservation - Carve out inherited region if any - Perform pitch compatibility test before assigning old_surface * Save manager improvements * Fixup * rsx: Write atomically semaphore updates and fix zcull timestamp * Fix cellCamera events support with clocks scaling * rsx: Fix gcm unmap events * Emu: set m_title to the actual disc game title * Qt: cleanup some comments * Emu/overlays: fix background picture path * TSX: Improve cpu_thread::suspend_all implementation * Prefetch MFC list elements (#5345) * Timers scaling and fixes * Fix similar bug in sys_rsx_context_iomap * typo fix (to squash) * correctness fix * Fix sys_rsx_context_iounmap partial unmapping * Initial sys_config implementation * thread scheduler: Add scheduler for zen2 and refactor for zen(+). * Qt: make text labels in about dialog selectable * Improvements to Virtual File System dialog: * Use move semantics with several shared pointers in vfs_dialog, they need not be copied * input: keep pads intercepted while regular buttons are still pressed * rsx: Do not clip scissor to viewport when doing buffer clear * Expand thread affinity mask to u64 ------------------------------------------------------------------- Fri Jul 19 13:00:30 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190719: * rsx: Support CSAA transparency without multiple rasterization samples enabled * Fix decryption filtering for case sensitive platforms - Filter for .BIN instead of .bin * rsx: Implement separate viewport raster clipping - Merge viewport raster window and scissor into one clipping region - Viewport raster clip is different from viewport geometry clipping in hardware as the latter is configurable separately * SPU Recompiler: optimize JIT memory consumption * Tiny typo fix * Keep custom name when adding/removing game-specific config * vk: Use macros from Vulkan SDK * rsx: Fixups * rsx: Handle cyclic references when doing memory inheritance * rsx: Handle lost data due to unused data sections - After splitting, the sections may not be referenced at all for anything other than just pixel storage - In such cases, either merge down or sample from the upstream source instead * rsx: Fix reference leak when cloning surfaces * rsx: Set up for multi-section inheritance * Qt/game_list_frame: Ignore file entries when adding disc/game directories ------------------------------------------------------------------- Tue Jul 16 07:24:12 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190715: * Fixup for SPU Recompilers, regression after #6210 * Add experimental TSC frequency detection * Fix SPU Interpreter regression after #6147 * kernel explorer typo fix * Avoid transitive include of vm_ref.h * sys_spu: add vm::temporary_unlock * sys_timer: add vm::temporary_unlock * sys_semaphore: add vm::temporary_unlock * sys_rwlock: add vm::temporary_unlock * sys_net: add vm::temporary_unlock * sys_interrupt: add vm::temporary_unlock * sys_event: add vm::temporary_unlock * sys_vm: add vm::temporary_unlock * sys_mmapper: add vm::temporary_unlock * sys_event_flag: add vm::temporary_unlock * SPU TSX: fix "Preferred SPU Threads" ------------------------------------------------------------------- Sun Jul 14 14:51:47 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190714: * Qt: Fix small controller icon in pad settings for high dpi modes * Fix g_exec_addr addres check for access violations * Dealloc exec cache after sys_prx/overlay_unload_module * Qt: fix app versions after a patch was removed from the game list * vk: Fix Linux Vega float16_t workaround - It was disabling float16_t for non Vega cards * Set the default SPU Decoder to LLVM and rename SPU LLVM to "fastest" * rsx: Debugger output text fix * rsx: Allow to configure vblank rate * Fix Emu.Stop() with vulkan device enumeration hack * rsx: Swap R and B channels in SET_BLEND_COLOR since this color is BGRA, not RGBA * Microphone implementation * vk: Silence some debug prints - This message confuses some users * rsx: Implement texel border decode - Texel borders are no longer actually supported in modern APIs - Removes the border texels and uses border color instead which is incorrect but should work fine * rsx: Do not allow framebuffer surfaces that exceed their allocated pitch dimensions - Truncate surfaces to forcefully fit inside the declared region ------------------------------------------------------------------- Wed Jul 10 20:41:20 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190710: * Log last function on debug pause or exception, dump cpu_thread state on access violation * MFC: Fix Tag Status report for sync/eieio/barrier commands * Log currently PPU HLE function executed after access violation * Fixed behaviour of buttons in Welcome, Find, Settings, VFS and Debugger dialogs - now reacting to button click, not press * Fix #6180 (typo in UI options) * rsx: Typo fix * vk: Improve AMD driver support - Workaround broken fp16 in AMDVLK/RADV - Do not disable primitive restart as the issue seems to have been fixed * gl: Add readback/writeback config for format GL_R16 * rsx: Add support for slice padding rows when gathering slices for cubemap/3d * vk: When reusing resources, make sure to reinitialize the component layout * vk: "Improve" initialization hack - Change default alpha to 1 from 0 - TODO: Implement memory tagging for synchronizing this * rsx: If no array streams are enabled, mark inline array as disabled (null render) * rsx: Fixup nv3089::image_in - Correct pitch when sourcing from temp block - Remove obsolete? double transfer that also introduced a stale pointer reference to freed memory * vk: Fix frame skipping * Remove redundant const on return value in rsx_methods.h * Revert incorrect usage of le_t in name_u64 * Misc correctness improvement * Make more use of the new get_int_t * rsx: Refactor rsx_decode.h and bugfixes * Add RESTRICT macro * Build with -fno-strict-aliasing * gl: Fix native pitch computation * Adds spurs_test.self to test bins * Fix build with cotire and clang-8.0 branch * rsx: Clamp fragment shaders address ------------------------------------------------------------------- Sat Jul 06 10:39:57 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190704: * Fix possible inconsistencies for sys_memory mem stats report ------------------------------------------------------------------- Wed Jul 03 19:31:50 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190703: * vk: Reuse discarded memory whenever possible instead of recreating new objects - Memory allocations are surprisingly expensive when spammed * rsx: Implement dma abort in case of a reset after misprediction * vk: Refactor gc * vk: Handle emergency commandbuffer close with dangling queries - TODO: Refactoring * vk: Restructure commandbuffer submission into tagged event IDs - Tagged eventIDs can be used to safely delete resources that are no longer used - TODO: Expand gc to collect images as well - TODO: Fix the texture cache to avoid over-allocating image resources * vk: Fix event signal race when speculation fails to avoid a cache miss - TODO: Proper GC for stale events ------------------------------------------------------------------- Wed Jul 03 12:27:15 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190703: * gl: Workaround slow PBO usage with Mesa -Mesa is currently fastest with GL_STREAM_COPY -See https://gitlab.freedesktop.org/mesa/mesa/commit/a338dc01866ce50bf7555ee8dc08491c7f63b585 -Also see https://bugs.freedesktop.org/show_bug.cgi?id=111043 * Minor fixes * Update libusb * Explicitly downcast integers * Explicitly cast size_t to integer types * Do not use negative unsigned literals * Silence some warnings * Disable more 3rdparty warnings * Fixup for fixup (#6153) * Fixup after #6143 (#6146) ------------------------------------------------------------------- Sat Jun 29 09:35:41 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190629: * Refactoring (#6143) * Add timeout for vulkan device enumeration * Various small warning fixes -Indentation warnings -prevent shift overflow -This was declared extern in all contexts. Remove this for initialization -Fix main return types. OH CANADA! -Silence extraneos 'unused expression' warning -Force use return value (warning) -Remove tautological compare copy-pasta (char always < 256) * Remove unecessary vulkan loader check var, per kd * Remove braces around shader source strings (warnings) * Fix -Wsign-compare a little bit Explicitly mark loop types (per review) * Explcitly mark overflow in various SIMD functions. Doing so silently created warnings. * Properly ignore SIMD macros to avoid warning * Fix warnings related to -Wswitch Add default cases. Move default breaks to newline Add proper handling in some instances. Add missing enums to switches * Fix warnings related to parentheses * Disable warnings for stb_image.cpp. Should this file be moved to 3rdparty? * asmjit cleaned up their cmake warnings (no code change) * CMake refactor ------------------------------------------------------------------- Thu Jun 27 20:45:44 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190625: * Fix UTF-8 BOM in vm.cpp * lv2: sys_timer_usleep improvements for linux -The minimum quantum on linux appears to be 50 microseconds by default, not 100 -Do not wait for the last quantum to avoid sleeping too long * vk: Add LLVM8 warning for RADV drivers * vk: Fix broken layout stream on first draw call * rsx: Improve balancing of the offloader thread - Use two counters to avoid atomic operations - Yield instead of sleeping because some games are very sensitive to timing * vk: Optimize occlusion pool management - Do not consume a slot every draw call, instead batch as many draws as possible - Since renderpasses are dispatched per-draw-clause, keeping occlusion queries outside the renderpasses works fine - If renderpasses are reorganized, occlusion tasks will have to be reorganized again * facepalm of the year - Typo fix - This check leads to forever relocating memory if size never exceeds capacity! * rsx: Use rpcs3 thread construct for the offloader thread * rsx: Improve profiling setup - Avoid spamming QPC when not needed - Free performance when debug overlay is not enabled * rsx: Rework RSX offloading - Use a lockless queue - Do not enqueue small transfers * gl: Minor API tweaks - Avoid spamming the driver with samplerParameter calls unless the parameters have actually changed * rsx: Reimplement vertex layout streaming - Remove string comparisons from the hot-path! - Use attribute streaming and push constants to avoid forcing a descriptor block copy every other draw call/pass. While this isn't so bad on nvidia cards, it makes AMD cards a slideshow. * rsx: Disable vertex cache if multithreaded memory access is enabled - When multithreaded RSX is enabled, the vertex cache just lowers performance - The small cost of upload is paid by the asynchronous thread, allowing RSX to work optimally * rsx: Asynchronous data transfer * rsx: Use SSE to accelerate index buffer uploads * vk: Refactor device management and improve driver detection * vk: API update - use KHRONOS_validation instead of LUNARG_standard_validation which is deprecated * vk: Avoid some useless memory barriers - Do format conversions only when necessary * rsx: Use explicit fma for MAD emulation * glsl: Refactoring, cleanup and optimizations - Avoid generating unused code - Reduce GPR usage in emitted code * Remove unnecessary header includes * CMake: Disable RTTI for jit.cpp on MSVC * Move rsx::constants and rsx::limits to rsx_utils.h * Add missing #includes to header files * Split Emu/Memory into more logical headers * Qt: add more filters to the decryption file dialog and fix file endings * Fixup for #6115 (#6120) * Fix BE endianess arch support in semaphore_406e (#6116) * Fix potential overflow in sys_vm * sys_lwcond: add vm::temporary_unlock * sys_lwmutex: add vm::temporary_unlock * Fix SPU Loop Detection * input: raise max mouse acceleration to x10 * gui/input: improve log message for GetNextButtonPress * sys_memory: add vm::temporary_unlock * sys_mutex: add vm::temporary_unlock * sys_cond: add vm::temporary_unlock * Implement cpu_thread::suspend_all * gui/input: add evdev callback when no button was pressed * minor UB fix * Add sys_rsx_context_iomap workaround * rsx: Minor cleanup after #6055 * Qt: add Remove All Caches to the game context menu * Fix dynamic_library::loaded ------------------------------------------------------------------- Sat Jun 15 22:06:18 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190615: * cellPad: set len to 0 if pads are being intercepted by the system * cellMsgDialogAbort: don't call on_close and properly re-enable pads * cfg: Default MSAA level to auto * vk: Fixup for missing resource reference - Missing ref increment when using framebuffer could lead to use-after-free. How master was not crashing is surprising * vk: Do not use pixel_center_origin as its use is explicitly restricted by spec * vk: Avoid submitting wrong sample count in overlay passes * vk: Simplify WCB heuristics and fix out-of-bounds access * rsx: Typo fix * rsx: Force invalidate of children by issuing a resolve notification whenever the parent is written to - Fixes successive reads of an antialiased surface that is still bound between reads * vk: Fix WCB for antialiased memory * vk: Add some missing barriers * rsx: Fix typo - Arguments to the transform function are xxyy not xyxy * rsx: Attempt to reduce stencil load overhead for nvidia cards * vk: Improve overlay passes for resolve/unreolve - Refactor overlays and resolve passes to support use of push constants instead of relying buffer map/unmap - Add support for nvidia resolve (NV is the only vendor not supporting shader_stencil_export) * rsx/fp: Ease pressure on fragment shaders when emulating clamp16 - TODO: Option to completely skip clamping in some architectures as it is not needed in most games - Mostly affects older GPUs that do not have access to native fp16 * vk: Clean up WCB readbacks when resource is multisampled - Resolve image first before performing any transfer operations * rsx: Correctly count number of valid entries if there are broken entries in the cache * rsx: Add option to toggle MSAA * rsx: Re-enable optional sample-to-pixel transformation * rsx: Fixup for resolution scaling support * rsx: Enable MSAA * rsx: Fix AA coordinate transforms - Requires native_pitch value to take samples into account * rsx: Refactoring and cleanup after d3d12 separation - Remove deprecated functionality - Refactor to share code between common routines * d3d12: Remove all shared code with other backends * rsx: Remove surface aa_mode hacks * Input: fix evdev buttons * Add FUNDING.yml * rsx: Apply Clang-Tidy fix "modernize-loop-convert" + const when relevant * rsx: Apply Clang-Tidy fix "readability-avoid-const-params-in-decls" * rsx: Apply Clang-Tidy fix "readability-simplify-subscript-expr" * rsx: Apply Clang-Tidy fix "modernize-use-using" * rsx: Apply Clang-Tidy fix "modernize-use-override" * rsx: Apply Clang-Tidy fix "modernize-use-equals-default" * rsx: Apply Clang-Tidy fix "modernize-use-emplace" * rsx: Apply Clang-Tidy fix "modernize-deprecated-headers" * rsx: Apply Clang-Tidy fix "modernize-pass-by-value" * rsx: Apply Clang-Tidy fix "modernize-make-unique" * rsx: Apply Clang-Tidy fix "modernize-use-bool-literals" * rsx: Apply Clang-Tidy fix "readability-non-const-parameter" * rsx: Apply Clang-Tidy fix "readability-string-compare" * rsx: Apply Clang-Tidy fix "readability-redundant-smartptr-get" * rsx: Apply Clang-Tidy fix "readability-inconsistent-declaration-parameter-name" * rsx: Apply Clang-Tidy fix "performance-type-promotion-in-math-fn" * rsx: Apply Clang-Tidy fix "readability-redundant-string-init" * rsx: Apply Clang-Tidy fix "performance-for-range-copy" * rsx: Apply Clang-Tidy fix "performance-unnecessary-value-param" * rsx: Apply Clang-Tidy fix "readability-container-size-empty" * gl/vk: Add constexpr to varying_registers and sync functions between the two backends * utilities: Add constexpr to color4_base * rsx: Use constexpr for flattening_helper::m_register_properties ------------------------------------------------------------------- Tue Jun 11 12:25:22 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190611: * misc atomics: Use std::atomic_thread_fence (MSVC) * Set minimum supported version of GCC to 8.x * rsx: Clean up window management code - Removes a lot of wm_event code that was used to perform window management and is no longer needed. - Significantly simplifies the vulkan code. - Implements resource management when vulkan window is minimized to allow resources to be freed. * vk: Move frame present synchronization to the driver - Just use a semaphore and let the driver handle it instead of manual framepacing. We lose framepace control but drivers have matured in the past few years so it should work fine. ------------------------------------------------------------------- Mon Jun 10 11:02:13 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190610: * important fix (#6067) * Update DS3 message in Pads settings * 3rdparty: Update stb_image.h and stb_truetype.h * 3rdparty/vk: Update VulkanMemoryAllocator to version v2.2.0 * ci/vk: Bump Vulkan version (1.1.73.0/1.1.97.0 => 1.1.106.0) * rsx: TextGlyphs optimizations * sys_fs: yield PPU on disk access ops * fix games.yml * Fix lf_queue_base::wait * Fix sad bug * Rename cond_x16 to shared_cond * Implement fs::file::write_gather (Vectored I/O) * Rename cond_one to unique_cond * Change utils::popcnt16 to popcnt32 * Implement std::bit_cast<> * Fix some "-Wpedantic" warnings * vk: Fix memory value in comments to match with the code below * keyboard: Replace integer literals by bool when relevant * Access class static methods with "::" * Use empty() instead of comparing size() with 0 * Use the more efficient character literal overload for find_first_of/find_last_of * rsx: Use clear() instead of resize(0) * Detect tsx_force_abort presence and print to log ------------------------------------------------------------------- Sat Jun 01 11:09:22 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190601: * Better Support For Game Collections (#4450) * cmake: do not build glslang SPVRemapper * vk: remove duplicate condition in pipeline_props struct equal operator * Remove SPU verification from settings * Limit shaderlog writing behind log_programs setting * rsx: Refactor out GLSLTypes from GLSLCommon to avoid warning spam due to unused functions when included in settings dialog code * vk: Do not reset descriptors from the aux buffer when things are running slow - The aux buffer borrows its descriptors from the lagging frame, so they are still in use until the frame completes. * update glslang ------------------------------------------------------------------- Wed May 29 21:13:59 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190528: * Qt: fix a crash when closing rpcs3 after downloading the compat database * Qt/Input: keep LED colors when setting vibration and merge pad functions * Qt: Use correct LED color in pad settings dialog * PSF: Don't attempt to load files with size 0 * handle some more warnings * Qt: properly disable the "Filter Noise" button in pad_settings_dialog * Input: Add simple stick multipliers * handle some warnings * vk: Bump shaders cache version - Pipeline properties changed with the renderpass update * vk: Refactor framebuffers - Refactor out framebuffers from the renderer core - Use a proper cache with sorted queues for faster searching * SPU TSX: implement Accurate PUTLLC option * SPU TSX: restore busy_wait in GETLLAR ------------------------------------------------------------------- Mon May 27 12:52:26 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190525: * vk: Refactor renderpass management - Ensures the current renderpass matches the image properties even when a cyclic reference is detected - Solves SDK debug output error spam due to mismatching layouts and renderpasses * Warn AMD linux users about potential performance loss if not using RADV * vk: Check_window_status fixups Intel ANV has been tested and verified to work without workaround AMDVLK and the proprietary AMD driver have been confirmed to require workaround for window resizing ------------------------------------------------------------------- Fri May 24 14:06:04 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190522: * Official ds3 driver support * vk: Improve descriptor pool management - Add double-buffered descriptor pools to avoid use-after-free situations - Make descriptor pools more configurable - Also adds in a hack to allow renderdoc to capture properly * vk: Propagate more information to the driver - Pass "correct" layout to descriptors - TODO: Fix renderpass attachment descriptors which are inadvertently doing silent transitions * gl: Fix staging buffer size calculation * Overlays: Fix timing * SPU/PPU: update reservation logic on TSX path transactions * vm: expand reservation lock bit area to 7 bit * LLVM DSL: change array syntax again * Link LLVMAsmParser library * rsx: Fix upload block range optimization - The 'max' index should take the first assigned ID; fixes problems with divisors * vk: DOuble general-purpose heap allocation to 128M and add a better diagnostic message for OOM * rsx: Use a saner model for swap queue handling - Use a simple queue to avoid redundant checks over all the contexts - Poll queue if RSX pipe is idle - Only check the queue when the frame context is dirty (after a queue operation) - Reset descriptors at the start of the frame context to avoid having to synchronize mid-frame - Fully synchronize if a descriptor reset is required mid-frame (spec compliance; also fixes flickering verts on some hardware) * vk: Bump max number of allocated draw calls from 4k to 16k ------------------------------------------------------------------- Sat May 18 15:10:47 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190517: * SPU ASMJIT: fix BISLED * SPU ASMJIT: fix indirect branch target order * SPU: fix spu_runtime::g_tail_escape (unused yet) * SPU analyser: minor Safe fix * Add max SPURS threads to settings * rsx: Use a shared sampler pool instead of relying on the drivers * overlays: use L1 and R1 to step by 10 in the save data list * overlays: move some code to cpp files * vk: Workaround for cyclic feedback loops - Transition attachments to LAYOUT_GENERAL in case of a feedback loop - Fixes appearance of garbage along polygon edges in some post-processing passes. - Also reverse this transition when rendering goes back to normal * Qt: Add custom pad configs ------------------------------------------------------------------- Thu May 16 18:17:52 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190516: * rsx: Fixup for uninitialized surface antialiasing mode * rsx: Fixup for lost aliased surfaces - Intersection routines were changed and require explicit identification of the "old surface" * rsx: Fix zombie image references from inside the texture cache - Do not add locked orphans to the flush_always cache! They will not remove their cache entries as they are not bound * rsx: Always initialize memory unless it is guaranteed to be wiped * rsx: Hack around using data regions as transfer targets * rsx: Propagate split section information back to the texture cache * rsx: Minor texture/surface scanning optimization - Also re-enable optimization in blit engine accidentally disabled during debugging * rsx: Fix write tagging when comments are transferred in by blit engine * rsx: Fix self-intersection with previous occupant of the address being replaced * [WIP] rsx: Use a sane reference counting model * rsx: Minor fixes - Fix transfer scaling (inverted) - Fix under-estimated typeless acquisition when doing depth format scaling * rsx: Prevent out-of-bounds writes when resolving shader input textures - The target area can also have padding! * vk: Fix some spec violations * rsx: Implement unaligned surface inheritance with hierachial contribution - Allows render targets to behave like stacked 3D views same as shader inputs are resolved - Basically implements most of 'Read Color/Depth Buffers" option for 'free'. - Allows splitting RTV/DSV resources if they are superceded by a partial surface - Also allows intersecting new resources through the surface cache for proper inheritance from other scattered data - TODO: Refactor bind_surface_as_rtt and bind_surface_as_ds to reduce asinine code duplication * SPU LLVM: re-enable stack mirror * SPU ASMJIT: Fix Giga mode * SPU LLVM: Fix Giga mode * SPU LLVM/ASMJIT: fix BRA/BRASL instructions for PIC * SPU LLVM: simplify jump table computation * SPU Disasm: fix absolute addressing in some instructions. * SPU LLVM/ASMJIT: remove minor unnecessary code * SPU LLVM/ASMJIT: add missing PC clamping * SPU: implement spu_runtime::g_tail_escape * SPU LLVM: don't save $2 in optimized functions * SPU LLVM: simplify function prototype * SPU LLVM: fix $SP passing in functions, write PC on halt * LLVM DSL: simplify value_t template for array * SPU ASMJIT: increase stack frame size * SPU: fix Giga mode (kinda) * SPU ASMJIT: add PIC support (fix) * SPU LLVM: split LLVM IR dump to spu-ir.log * Implement 'Max SPURS Threads' option (hack) * SPU LLVM: use branch patchpoints again * SPU LLVM: regain some efficiency * SPU: implement recompiler gateway function in assembly * SPU LLVM: fix SPU termination (spu_escape) on Windows * SPU: PIC support preview * Use setenv instead of qputenv * Further changes to Skyline and Envy ------------------------------------------------------------------- Mon May 13 12:45:58 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190512: * GLTexture: add missing #pragma once directive * Use if constexpr in hash_struct function * Remove redundant semicolons * SPU LLVM: Fix Mega ------------------------------------------------------------------- Sat May 11 10:19:50 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190511: * gl/vk: clear scissor_setup_invalid bit along with scissor_config_state_dirty bit * SPU LLVM: disable GHC CC for chunks on Windows * Enable most warnings in GCC * SPU analyser: basic function detection in Giga mode * Qt/input: add LED color picker to pad settings dialog * rsx: Fix 3d swizzled texture to linear conversation ------------------------------------------------------------------- Wed May 08 12:40:05 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190507: * typo fix * correct small mistake * Return ESRCH if ppu thread ID was not found in sys_cond_signal_to * Fix sys_rwlock_wlock timedout event * Fix sys_rwlock_runlock on waiting readers * overlays: add separate timestamp for the start of the d-pad interval * overlays: Double dpad repeat rate * travis: update mac build * Qt: smoother custom config icons * Qt: center compat circles * Qt: smoother game grid icons * Qt: smoother game icons in list mode * Qt: smoother compat circles in list mode ------------------------------------------------------------------- Mon May 06 12:39:44 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190505: * Qt: show all unique game data entries * Emu: msg_dialog_frame fixup: don't reject on Close to prevent Emu.Stop() * Emu/Qt: Fix Boot Recent when using BootGame(add_only=true) * Emu: msg_dialog_frame fixes * Qt: add some batch operations * gl: undo an accidental deletion * vk: Allow some drivers to bypass window polling if not needed * Qt: Minor Visual Fixes (#5899) ------------------------------------------------------------------- Sat May 04 19:58:41 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190504: * SPU ASMJIT: skip some unused analyser steps * SPU analyser: remove use_ra from HBR * SPU Analyser: fix reg origin regression * SPU analyser: minor logic fix and cleanup * SPU analyser: fix excessive workload list size * SPU analyser: internal spu_itype optimization * SPU: fix minor UB in STQD/LQD instructions ------------------------------------------------------------------- Fri May 03 21:40:02 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190502: * SPU LLVM: fix xfloat regression * SPU LLVM: fix perf regression * SPU: minor analyser cleanup * SPU: fix excessive cache size regression * Put DS3/DS4 instructions to Wiki instead * rsx: Silence some diagnostics unless compiled with debugging options * rsx: Ignore stencil clear flag if the stencil write mask is disabled * rsx: Bounds check on local resource for atlas merge. - Local resources can also have padded pitch dimensions and false-positives on range overlap tests * gl/vk: Minor cleanup * rsx: Fix section base offset calculation for blit_dst targets which affects confirmed memory range - Fixes flushes only writing partially to target memory * rsx: Fix broken texture cache search when flipping * rsx: Ignore transfer offsets when wrapping behaviour is expected * gl: Remove workaround for AMD driver bug fixed in driver 19.4.3 * SPU LLVM: move reg origin search to analyser * SPU LLVM: improve codegen in loops * SPU analyser: add spu_iflag * LLVM DSL: expression matching (alpha) * Update to README.md due to dependency * DS3 Linux fix * Fix Unregistered HLE function access * Fix PPU Breakpoints and ppu_check_toc * Touch-ups to Skyline and Envy (#5884) ------------------------------------------------------------------- Fri Apr 26 17:43:14 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190425: * Print OS info to log * rsx: Fix VP writes to CC with a MOV instruction - When moving to CC, the operation has VEC flag disabled and also temp regs disabled. Looks to be the catch-all ELSE in the selection logic. * rsx: Fragment shader decompiler cleanup TODO: Investigate the _s input modifier behaviour further, in case it can avoid generating zeroes from a MAD instruction. x = MAD(+ve, -ve, -ve) with _s input modifier in BFBC expects result to be Non-zero * "rsx: Ignore argument sign for SQRT operations" * rsx: Simplify use of some mixed input functions using OPFLAGS to avoid implicit conversions * rsx: Fragment decompiler fixups - Properly test for NaN and Inf when clamping down to fp16 - Optimize divsq a bit; mix(vec, vec, bvec) emits OpSelect which is what we want here, instead of component-wise selection which is much slower. * rsx: Proper workaround for broken DIVSQ instruction on realhw - While mul(0, nan) = nan and 0 / 0 = nan, 0 / sqrt(0) = 0 because of hw gremlins. normalize(0) is also nan so this behaviour does not work around that particular case either which makes it even more baffling. * rsx: Compensate for nvidia's low precision attribute interpolation - The hw generates inaccurate values when doing perspective-correct interpolation of vertex output attributes and makes the comparison (a == b) fail even when they are a fixed constant value. - Increase equality tolerance when doing comparisons in fragment shaders for NV cards only to work around this issue. - Teepo fix * rsx: Improve accuracy of shadow compare Ops when non-integer depth formats are used - The fixed-point D24S8 format does special Z clamping during compare which matches PS3 behaviour - D32S8 is a floating point format and comparison with Dref > 1 always fails causing black edges/borders * vk: Skip feature check if extension is not supported * rsx: Shader decompiler cleanup and improvements - Improve support for float16_t by minimizing mixed inputs to functions (ambiguous overloads) - Minimize amount of downcasts in code by using opcode flags - Re-enable float16_t support for vulkan * rsx: Use native half float types if available - Emulating f16 with f32 is not ideal and requires a lot of value clamping - Using native data type can significantly improve performance and accuracy - With openGL, check for the compatible extensions NV_gpu_shader5 and AMD_gpu_shader_half_float - With Vulkan, enable this functionality in the deviceFeatures if applicable. (VK_KHR_shader_float16_int8 extension) - Temporarily disable hw fp16 for vulkan * rsx: Implement strict clamp16 operation needed for NVIDIA cards * LLVM DSL: expression matching (preview 2) * LLVM DSL: implement expression matching (preview) * SPU LLVM: add match_vr<> template * SPU LLVM: add get_vrs<> template * LLVM DSL: rewrite zshuffle, shuffle2, build * LLVM DSL: rewrite splat, fsplat, vsplat * LLVM DSL: rewrite extract and insert * SPU LLVM: minor bitcast cleanup * LLVM DSL: rewrite add_sat and sub_sat * Rewrite cpu_translator::rol, add fshl and fshr * Remove cpu_translator::scarry, cpu_translator::merge * LLVM DSL: rewrite bitcast, zext, sext, trunc, select, min, max ops * LLVM DSL: fix pointer type traits * LLVM DSL refactoring * Qt: also spawn exit game dialog if rpcs3 is closed (e.g. by accident) * Qt: force always on top to fix dialogs appearing behind the game window * Qt: go out of fullsceen if exit game pop up is triggered ------------------------------------------------------------------- Wed Apr 24 12:34:35 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190421: * Add Envy and Skyline themes (#5789) * cellPad: Update vendor and product IDs * Print SPU Group ID on the debugger * cellSaveData: Add missing SDK version check for setParam->reserved2 check ------------------------------------------------------------------- Sat Apr 20 18:36:30 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190420: * Fix cellSaveDataListAutoSave/Load unk flags * Reschedule in cellMsgDialogOpen2 * Handle a few more cellSaveData errors * rsx: Fix race on clearing native_ui vs emu_requested flag * Fix sys_spu group ID * Improve scheduler control for cellSaveData * Implement initial arguments error checking for cellSaveData * Put missing check_state() in some places * Remove reader_lock executed in every instruction by RSX * rsx: Write vblank semahpre, minor semaphore acquire optimization * misc: Lower default perf overlay detail * Fix static_hle log channel definition * Revert disabling AVX path in SPU verification. * SPU transactions: add SSE path if AVX is not available * libusb VS stuff * implement get_firmware_version * Qt: add more filters to firmware installation file dialogs * Set stack limit properly * Decrease severity of sys_net_bnet_close ------------------------------------------------------------------- Mon Apr 15 11:47:06 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190414: * Ignore sorting on ranged combobox and log message * Change EnhanceComboBox to optionally sort the settings list before adding it to the combo box * SPU ASMJIT: avoid AVX in verification (experimental) * Increase max stack size to 8 MB on Windows * SPU ASMJIT: move vzeroupper a bit * SPU: write cache before compiling * mutex.h: fix warning (unary minus unsigned) * fs::rename, use renameat2 on Linux * Update LLVM ------------------------------------------------------------------- Sat Apr 13 14:03:12 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190412: * rsx: Improve texture sourcing and clipping when reverse scanning is enabled - When reverse scanning, offsets are inverted and offset value of 0 is logically equivalent to an offset of -1 - Add an explicit message if clipping happens to avoid silent errors/bugs * sys_fs_unlink: add CELL_EISDIR check * Fix cellVdecOpen * Travis: disable gcc build * Add _sys_ppu_thread_create and sys_ppu_thread_rename error checks * SPU LLVM: Fix branch to self at start of block state check * SPU LLVM: Fix CFLTU * SPU: Implement BISLED * Prefetch byteswapped opcodes in ppu interpreter * Make sure to update cia when calling in unknown hle table func access * PPU LLVM: Fix STSWI and LSWI * Implement fallback for PPU LLVM * ppu Fast/Precise: Fix SIMD instructions VSUM2SWS, VPKSWSS, VPKSHUS, VPKSHSS * ppu interpreter: Improve FPCC field handling * Fix default PPU nj status * Check start status in sys_prx_start/stop_module * Fix timespec for MSVC * Initial sys_overlay * hle: Add some more functions * Qt: add version update hint to game list * Implement vfs::host::unlink * Add fs::file::set_delete * Simplify fs::file::get_handle * Implement vfs::host::rename * PPU/SPU transactions: ease cache line interference (TSX path) * vk: Dynamic heap management to potentially fix ring buffer overflows - Allows checking one heap type at a time, on demand - Should avoid OOM situations unless inside an uninterruptible block * rsx: Fixups for swizzled texture scanning - Revert to using block metrics, but with optional per-channel decode stage for the final transfer. Much cleaner than hacking in the width to be in channels instead of blocks. * rsx: Fixups for data cast operations via typeless transfer * rsx: Remove some old restrictions affecting memory persistence * rsx: Implement RGB655 decode * gl: Register a few more missing formats for conversion * rsx: Fix temporary subresource caching behaviour - Do not cache if a gathered subresource contains a bound RTT - Change op to dynamic copy if parent is still bound * rsx: Improvements to texture scanning - Removes CPU-only transforms that broke GPU-side code. -- Channels in GPU compute are laid out in cell-order, but CPU was uploading in favorable order and compensating with swizzles. -- This leads to 2 different layouts depending on the location of the data (CPU vs GPU) - Implement R8G8_R8B8 interleaved format decode - General improvements * vk: Implement copy-to-buffer and copy-from-buffer for depth_stencil formats - Allows D24S8 and D32S8 transport via typeless channels - Allows uploading and downloading D24S8 data easily - TODO: Implement optional byteswapping to fix flushed readbacks with the same method * rsx: Preliminary support for format conversions using typeless resolve * rsx: Tighten format checks in cache hit tests * rsx: Blit engine clipping fixes - Do not round up sub-pixel offsets, round down instead - Do not allow incomplete sources for hw blit transfer - Reimplement src clipping (slice_h) - Check 'area' of incoming texels and correct for them before RTT lookup/transfer - Filter out incomplete targets when performing RTT lookup (1 texel or less contribution) * hle: Add more missing functions * Correct travis deploy behavior (bug). cd returns an error code, thus overwriting '0' ------------------------------------------------------------------- Sat Apr 06 13:04:39 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190405: * hle: Add some missing functions ------------------------------------------------------------------- Wed Apr 03 21:52:16 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190402: * Fix macOS compilation * updated domain name for vulkan mirror * add qtdeclarative5-dev fo debian/ubuntu * Implement sys_vm_append/return_memory * Fix timer state after event queue was destroyed * Fix sys_timer_usleep specifically with 0 sleep time * rsx: Improve vblank accuracy * rsx: Use relaxed store on fifo ctrl registers * Fix sys_process_exit2 when SPUs are at av handler * Fix cellVdecGetPicItem element popping behaviour * Fix page fault area range check * Remove handle in cellVdecClose * Improve error checking of cellVdecOpen * Fix cellPadGetInfo port status returned * Minor optimizations in cellPad * Fix stack memory view on the debugger * hle: Fix cellSysutilAvcExt module * hle: Add cellSysmoduleUnloadModuleInternal and cellSysmoduleLoadModuleInternal functions * hle: Add FT_Get_X11_Font_Format function * hle: Add cellFontInitLibraryFreeType function * Use LLVM 9 * PPU LLVM: implement get_vrs<>() adaptor * SPU LLVM: remove wrong dead code ------------------------------------------------------------------- Sat Mar 30 14:39:10 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190327: * hle: Add libad_async and libad_core modules * New SPU interpreter (SPU fast) ------------------------------------------------------------------- Wed Mar 27 17:27:50 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190326: * hle: Add sceNpEulaAbort function ------------------------------------------------------------------- Mon Mar 25 13:46:29 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190324: * hle: Add cellVideoPlayerUtility module * hle: Add cellPesmUtility module * hle: Add cellDtcpIpUtility module * hle: Add some sceNpMatchingInt functions * hle: Add cellNetAoi module * Minor optimization in SPU analyser * Implement spu_runtime::reset * SPU recs: implement spu_runtime::find * SPU rec: refactor some trampoline generation * Add cpu_flag::jit_return * PPU LLVM: add MemoryManager3 * SPU LLVM: fix branch patchpoints * rsx: Blit engine fixes - If a transfer writes to a RTT and depth mismatch happens, create a local target and the upload function will likely resolve between the two - If a surface is rejected, reset the target region! * rsx: Rebase output region when using upload-fallback path * rsx: Silence some compiler noise * rsx: Fix use-after-modify condition when inserting a draw command out of order - Fixes barrier->range rebase after the insert * vk: Fix typeless resource management - Fixes bugs that appear with high resolution scaling * rsx: Fix blit transfers when texel sizes mismatch - Also refactors some bpp handling code - Simplify texture intersection test to use a normalized/uniform coordinate space - Fix broken bounds checking as well ------------------------------------------------------------------- Wed Mar 20 21:44:47 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190320: * rsx: Fix bpp calculation taking resolution scaling into account - Do not rely on image->width(), use surface_width() instead for unscaled values - Refactor/clean GL rendertarget class a bit * rsx: Fix blit intersection falling outside the available texture - Just becaue we have a hit inside the tile of interest does not guarantee that it sits inside the texture! * OpenBSD doesn't have mcontext_t * Don't try to build libusb on FreeBSD * Update DualShock 3 warning * DS3 pad handler * Adds libusb ------------------------------------------------------------------- Sun Mar 17 19:05:00 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190317: * rsx: Fix texture lookups and avoid out-of-bounds copies/transfers * rsx: Implement GPU acceleration for rotated images * rsx: Improvements to memory flush mechanism - Batch dma transfers whenever possible and do them in one go - vk: Always ensure that queued dma transfers are visible to the GPU before they are needed by the host Requires a little refactoring to allow proper communication of the commandbuffer state - vk: Code cleanup, the simplified mechanism makes it so that its not necessary to pass tons of args to methods - vk: Fixup - do not forcefully do dma transfers on sections in an invalidation zone! They may have been speculated correctly already * vk/gl: Omit unlocked data when grabbing flip sources from texture cache * vk/gl: Improve memory tag sync and test - Properly pass parameters such as rsx-pitch to the surface store - Do not crash if a surface fails verification in flip, use fall-back instead * rsx: Fix dst upload block region - The section needed starts at image origin, not transfer origin! * vk/gl: Synchronization improvements - Properly wait for the buffer transfer operation to finish before map/readback! - Change vkFence to vkEvent which works more like a GL fence which is what is needed. - Implement supporting methods and functions - Do not destroy fence by immediately waiting after copying to dma buffer * rsx/cache: Debugging bugs introduced by the atlas coverage check - Figured out why it breaks things, ofc can't actually check for coverage when there is no proper fbo data persistence * rsx: Fix texture transfer when pitch does not match exactly * rsx: Fix zero-pitch textures - Assumption here is that only texel (0, 0) is accessible. Inline with other pitch 0 operations. - TODO: Verify pitch 0 does not advance in Y either * rsx/blit: Remove workarounds/hacks added for master. Start implementation/stubs for blit engine rotations in GPU * rsx: Remove pointless assert ------------------------------------------------------------------- Thu Mar 14 21:39:50 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190313: * SPU LLVM: implement static branch weights * SPU LLVM: fix SPU MMIO in TSX mode * Fix lf_queue destructor * InstallPup: Fix exception on newline trim * Update asmjit * Update 3rdparty/libpng * Update 3rdparty/yaml-cpp * Update 3rdparty/xxHash * Update 3rdparty/pugixml * Rewrite mulh64/umulh64 * Add _sys_lwmutex_unlock2 syscall name * Implement SPU page faults notifications ------------------------------------------------------------------- Mon Mar 11 13:34:18 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190310: * gl: Fix buffer size calculations * cleanup and fixups * rsx: Properly generate render target data with all parameters provided - Build-up to variable-sized framebuffers and AA implementation - Also allows accurate range calculation for our hit testing * rsx: Properly resolve data for upload when needed. - Avoids blindly reusing blit dst sections as they may contain garbage. If a section was unlocked for a flush, just discard it as its reuse introduces potential data corruption. Since the data needs to be reuploaded anyway (for now), its better to start afresh - In case of format mismatch, reset the calculated dst block - Add a bounds check to determine if data contained in an atlas is good enough for sampling the cache. If not enough data is provided, fall back to full upload * rsx: Reimplement render target intersection tests when using hw accelerated blit engine - Properly collapse memory tree when scanning in case of overlaps! * rsx: Properly decode packed renders from the type flag - Seems to occupy bits [8-9] * rsx: Implement proper pitch compatibility lookup - When a single row is required or is all that is available, pitch has no meaning as the coordinate space changed to 1D * rsx/texture_cache: fixes to commit_framebuffer_memory * rsx/texture_cache: Fixups for local resource hit and fast-path added * gl: Fix memory tag sampling - Also fixes a bad arg passed to glClearBuffer * rsx/tecture_cache: Addendum - fix data cast with scaling conversion (AA emulation) - Blit operations do format conversion automatically which is NOT what we want! - Scale onto temp buffer with similar format before performing data cast. * rsx/texture_cache: Improve framebuffer memory locking when WCB/WDB is not enabled - Adds a new mode that removes non-framebuffer stuff inside framebuffer range * rsx/texture_cache: Fix 'AA' scaling hack and restore collection template selection * rsx/surface_store: More aggressive tag sampling - Use a 5-point tap with an X pattern across the target's memory space to reduce chances of false positives - TODO: Potential false positives identified, requires some minor restructuring of surface_store * rsx: Texture search rewrite - Perform a full search across all resource types as needed without taking too many shortcuts/hacks * rsx: Handle mismatched/invalidated framebuffer sections when WCB is enabled * rsx: Synchronize surface cache and texture cache data - TODO: The whole upload_texture thing is a big hack, fix it properly ------------------------------------------------------------------- Sat Mar 09 17:34:33 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190308: * Fix shared memory page flags * Use error_code in sys_rsx * Small improvements to sys_event_flag * vulkan zcull: Fix deadlock in zcull flush waiting * Correctness fix for RSXIOMem * Release ppu thread before ShowSaveDataDialog, Fixes #4031 * Treat X8R8G8B8 format as A8R8G8B8 in image_in, Fixes #5510 * sys_lwmutex fixup after #5680 * Adds VID/PID for Guitar Hero guitar & drum * Yield before flushing io buffers in fsync (sys_fs) (#5506) * Update sys_lwmutex_lock and sys_lwmutex_unlock (liblv2 HLE) * VFS: fix sys_fs_opendir on root * LLVM: handle cascadelake CPU name * check address in sys_rsx_context_iomap * Use sys_memory_allocate on rsx replayer to fix it ------------------------------------------------------------------- Fri Mar 01 17:36:30 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190301: * LLVM: handle icelake-client and icelake-server CPU names * SPU LLVM: reintroduce branch patchpoints * Add dummy __has_builtin macro, use rotate builtins if possible * Optimize SPU trampolines * Fix sys_spu_thread_group_join wait condition * Improve count leading/trailing zeros implementation * Implement utils::refptr for typemap (with && syntax) * typemap: improve pointer support * Chase GIT_VERSION rename after 923700a16773 * Static hle implementation * exception throwing fix in sys_lwmutex_create * Implement _sys_lwmutex_unlock (SYS_SYNC_RETRY mode) * Adds class type to controller options ------------------------------------------------------------------- Wed Feb 27 15:24:11 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190226: * sysPrxForUser: improve crash dump functions * CMake: Use Info.plist template for macOS bundle * CMake: Refactor git-version.cmake ------------------------------------------------------------------- Sat Feb 23 19:23:57 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190223: * readme - direct qt link to avoid confused kot noises ------------------------------------------------------------------- Fri Feb 22 20:05:28 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190221: * Qt: hide viewport settings on custom configs ------------------------------------------------------------------- Mon Feb 18 16:10:29 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190218: * Fix clear string container in CgBinaryFragmentProgram.cpp * Fix true clear string container in GameInfo.h * Fix true clear string container in PPUModule.cpp ------------------------------------------------------------------- Sat Feb 16 21:12:10 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190216: * Fix race in sys_lwcond_wait on error code * Update FW Latest Version ------------------------------------------------------------------- Fri Feb 15 13:43:57 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190214: * Update rpcs3.appdata.xml * Remove zero-width spaces (u200b) * cellSysCacheMount: don't return RET_OK_RELAYED on empty cacheId * cellMsgDialog: optionally make dialogs blocking and fix exit condition * cellGame: improve exit functions * cellGame: add error_code * Qt: only show supported resolutions in custom configs * Fixup for sys_lwcond_signal_x error checking * Fix race condion in sys_spu_thread_group_join * Add EFAULT checks to spu_thread_group_join, ppu_thread_join * Make more use of the new atomic_t<>::release * Make sys_spu_thread_group_join return once per termination ------------------------------------------------------------------- Fri Feb 08 13:25:22 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190207: * vk: Fix usage of VK_IMAGE_LAYOUT_GENERAL - Properly synchronize when transitioning to/from GENERAL layout. - General layout requires full pipeline dependency since its used in a 'general' sense. As such, its use is to be largely avoided. * gl/vk: Improvements to overlay rendering - gl: Properly initialize and manage sampler states - gl/vk: Snap overlay elements to pixel grid by aligning to pixel centers - overlays: Disable grid snapping in stb since its now handled in the backend ------------------------------------------------------------------- Mon Feb 04 19:36:40 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190203: * overlays/save_dialog: Layout improvements - Make detail a separate text entity as it often contains a lot of noise - Properly pad the entry if needed to avoid text sitting too close to the edge * overlays/util: Add support for glyph set lowering when mapping utf8 to ascii8 - Lower fullwidth glyphs to halfwidth counterparts - Lower CJK punctuation glyphs - Lower general punctuation glyphs * vk: Minor frame management improvements * osk: Fixup attempt for hang in close callback where a sysutil_callback fails to fire. * overlays: Allow use of extended ascii8 - Use custom string conversion to ensure overlay deals with extended ascii whenever possible - Improves language compatibility greatly and avoids empty spaces for unknown glyphs * overlays/util: Strip extended codes from utf-16 encoded strings * gl/vk: Fix clip region scaling for overlay elements * overlays/osk: Add support for edit text control and disabled cells - Allows to disable cells from being selectable. - Edit text control adds proper support for multiline and a functioning caret * overlays: Implement edit_text control * overlays/osk: Add more buttons to native dialog and other improvements - Adds all the major buttons to native dialog input options - Adds more button options for the native osk - Brighten osk cell backgrounds a bit to improve visibility * overlays/osk: Implement native osk interface * vk: Increase number of draw calls per frame for overlays to 1024 - Allows for more complex interface design * facepalm: fix open_config_dir old vs. new location switch up ------------------------------------------------------------------- Fri Feb 01 13:37:46 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.6~git20190131: * rpcs3_version: Bump to 0.0.6 * vk: Hotfix for fullscreen not working on non-windows platforms * use "config/custom_configs/" for custom configs (backwards compatible) * vk: Use FIFO mode for vsync - Avoids tearing and also hides some driver bugs causing fullscreen bugs with mailbox mode * vk/windows: Try to keep msq thread from ever stopping - NVIDIA drivers hook into the msq before our nativeEvent handler. This means NV is aware of events before rpcs3 is aware of them and sometimes stops until a new event is triggered. If rpcs3 is inside a driver call at this time, the system will deadlock since the driver waits for msq which waits for the renderer which waits for the driver. - Use explicit hook management to control window events - Add fence timeout to attempt detection of surface loss events * Add debug console mode to settings * Fix DECR mode allocations (sys_memory) * cellSaveData: try to handle occasional failures * Fix access violations reporting on RSX * Dont call std::terminate() after normal access violation handling * Fix potential crash in begin_occlusion_query() while closing the Emu * Update About window * Initial support for HLE in internal API * spu_runtime::add minor optimization * Implement atomic_t<>::release * Remove SPUThread::jit_dispatcher * Added jit_runtime class ------------------------------------------------------------------- Tue Jan 29 13:41:02 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190128: * Add QDoubleSpinBox styling ------------------------------------------------------------------- Sun Jan 27 22:56:06 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190125: * Make ppu main_thread unjoinable * Return error code in sys_ppu_thread_get_join_state * gl: Fixup - inline arrays * vk: Spec fixups - Disable DEPTH<->RGBA typeless transfers for now as they require a lot more work to work for all vendors - Do not allow switching layouts to UNDEFINED/PREINITIALIZED formats * rsx: Typo fix * gl: Remove GL_R 'format'. There is no GL_R format, it part of the S-T-Q-R enums for texture coordinate space * gl: Blit fixup - Typo fix. I meant to disable scissor test, not stencil test - Also clean up and simplify/optimize the core logic * rsx: simple_array<T> improvements - Implement move and copy ctors * rsx: Reimplement attrib divisor * rsx/fp: Detect broken/NOP shaders automatically - Do not compile body if the shader is of no consequence, leave as a passthrough shader * rsx: Reimplement MSAA transparency - Apply dither to edges that almost fail the straight-up alpha test - Significantly improves alpha tested geometry far from the camera - Also removes blend factor overrides/hacks as they give incorrect results due to background bleeding * rsx: Avoid potential deadlock in FIFO_ctrl * gl: Fix silly regression with blit dst resource readback * rsx: Disable rtt side-effects when async compilation is ongoing. Only real renders should promote buffer state from underined to drawn, otherwise keep previous contents intact. * rsx: Refactor index buffers - Index offset is ignored anyway and only used to calculate vertex attribute divisor index - Specialized optimization for untouched xfer without primitive restart ------------------------------------------------------------------- Thu Jan 24 21:20:17 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190122: * Fix spurious abort in sys_rwlock_tryrlock and sys_semaphore_trywait (#5579) * Fix le_t<> compilation error * SPU: multithread compilation ------------------------------------------------------------------- Tue Jan 22 13:26:36 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190122: * rsx/Qt: fix some undefined behavior in progress_dialog CallAfters * rsx: Fix unknown vertex base types ------------------------------------------------------------------- Mon Jan 21 13:52:03 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190120: * Qt: use patch version and firmware for PS3 disc games in the game list ------------------------------------------------------------------- Sat Jan 19 17:59:28 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190118: * ALSA: disable recovery (experimental) * cellMsgDialog: fix error spam on CELL_OK * Rollback audio backend priority ------------------------------------------------------------------- Fri Jan 18 13:57:22 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190117: * Patch ppu main thread prio * cellOskDialog/osk_dialog_frame: fix regexp for CELL_OSKDIALOG_NO_SPACE * Fix cache removal * SPU/PPU atomics performance and LR event fixes (#5435) ------------------------------------------------------------------- Tue Jan 15 14:13:41 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190115: * spu: Fix support for multiple lists when one is stalled * cellSaveData: add error_code ------------------------------------------------------------------- Mon Jan 14 12:59:01 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190114: * cellVdec: fix minor race * Move PPU and shader cache * SPU analyser: fix branch to self * cellAudio: fix template arg style * lf_queue: implement wait() method * Simplify gui_listener * Remove lf_mpsc, lf_spsc * lf_queue: add iterator support * SPU: ensure sys_spu_thread_group_join receives correct exit status * cellSaveData: workaround possible issues with symlinks * Implement fs::get_cache_dir * Implement RPCS3_CONFIG_DIR env variable (Win32) ------------------------------------------------------------------- Sun Jan 13 12:12:16 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190113: * Implement invalid NV4097_NOTIFY context handling * cellOskDialog: use atomic_op for state operations * cellOskDialogUnloadAsync: guarantee 0 terminated return string * cellOskDialog: fix cellOskDialogAbort * cellOskDialog: fix cellOskDialogUnloadAsync return string ------------------------------------------------------------------- Sat Jan 12 19:29:53 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190112: * Fixups for audio PR * Tweaks to buffering algorithm * Fixups in audio backend * Change audio tooltips, audio backend order * Qt/settings: add new audio buffering options * Misc. Tweaks * Fix game pausing/unpausing * Add timeout for untouched buffers * Change cellAudio diagnostic messages to Trace * Various fixes * Rewrite OpenAL backend to support new features * Update OpenAL to 1.19.1 * Implement basic time stretching + Tweaks * Implement Audio Backend Capabilities querying * Implement basic cellAudio buffering * Disable OpenAL backend temporarily * cellOsk fixup * revert part of #5529 * cellGame: fix some installation issues ------------------------------------------------------------------- Thu Jan 10 19:12:17 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190110: * rsx/input: fix rsx replay * cellOskDialog: fixes for multi-line dialog * cellOskDialog: initial code for cellOskDialogSetSeparateWindowOption * cellOskDialog: add multi-line option and handle more permutations (WIP) * cellOskDialog: cellOskDialogExtRegisterConfirmWordFilterCallback * split MsgDialogBase * add error_code to cellOskDialog and cellMsgDialog * cellOskDialog: add message * cellOskDialog: don't send input signals without seperate screen enabled * cellOskDialog: properly handle dialog states to improve param checks * Qt: make dockwidget title bars optional * fix travis * Update Readme ------------------------------------------------------------------- Sun Jan 06 18:10:37 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190106: * rsx: improve memory coherency - Avoid tagging and rely on read/write barriers and the dirty flag mechanism. Testing is done with a weak 8-byte memory test - Introducing new data when tagging breaks applications with race conditions where tags can overwrite flushed data * rsx: Minor hot-fix - Pitch 0 makes sense if width == 1 and height == 1 * rsx: Improve ARGB8->D24S8 casting - Set up partial transfers - Force clear of target before starting the transfer * rsx: Fix dirty flag reset after a partial attachment initialization - D24S8 targets have 2 aspects that are dealt with separately; Forcefully initialize the remaining data if a partial init is done. Its 'free' anyway - It seems that the stencil mask matters when clearing unlike the depth mask and color mask * rsx: Typo fix - This silly typo broke the flip improvements in the GT fixes PR * rsx: Texture cache refactor - gl: Include an execution state wrapper to ensure state changes are consistent. Also removes a lot of required 'cleanup' for helper methods - texture_cache: Make execition context a mandatory field as it is required for all operations. Also removes a lot of situations where duplicate argument is added in for both fixed and vararg fields - Explicit read/write barrier for framebuffer resources depending on usage. Allows for operations like optional memory initialization before reading * rsx: Reimplement pitch lookup - Remove the required_xxx_pitch constraint as it makes no sense. The pitch controls what can be written per line. - It is possible to have a huge surface width but only render to a small region at the beginning and have a smaller pitch than can fit the surface (NFS carbon) * rsx: Reorganize write barrier implementation (either clear or memory barrier) * vk: Reimplement typeless memory allocation to handle resolution upscaling * vk: Remove old useless hack that interferes with memory inheritance * rsx: Handle rsx-self-tripping in draw call and triggering invalid invalidation - If draw call resources consume memory that intersects with NA parts of the texture cache, we get a framebuffer test mismatch. This mismatch is false and happens because the thread has not yet reached the point of relocking the pages * rsx: Strictness cleanups - Also account for variable pitch textures (swizzled scan) * minor typo fix * whitespace fix only * rsx: Rewrite memory inheritance transfers - Implicitly invoke a memory barrier if actively reading from an unsynchronized texture - Simplify memory transfer operations - Should allow more games to work without strict mode * rsx: Fix texture size calculations * rsx: Do not force upload for missing data - TODO: Finish implementing GPU RCB for mem-sync - TODO: Refactor mem-sync * vk: bump max number of compute jobs from 120 to 1024 - It is possible without bugs to have a very high number of compute invocations. * rsx: Minor cleanup * rsx: Avoid unnecessarily touching framebuffer memory - Do not bind companion framebuffer when clearing single aspect; let the contest mechanism sort it out instead - Do not prematurely tag framebuffers, instead only do so at write-confirmation time. Should avoid false tagging if setup does not allow a render to occur. ------------------------------------------------------------------- Sat Jan 05 18:39:09 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190105: * vk: Spec fixups - Forgot to update descriptor pool init sizes over time - Also clamp swapchain resources to allowable surface extents * Assume go to address to be hexadecimal * prevent debugger crash when no thread is selected * fix some warnings * Qt: spawn Confirmation Dialog on when booting games while Emu is running * Qt: spawn Confirmation Dialog on exit ------------------------------------------------------------------- Fri Jan 04 19:37:12 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190103: * cellSysutilCheckCallback forced granularity * cellSysutil: drain callback queue at single step ------------------------------------------------------------------- Wed Jan 02 16:24:32 UTC 2019 - pousaduarte@gmail.com - Update to version 0.0.5~git20190102: * cellOskDialog: add some param checks * cellOskDialog: add Constants * cellOskDialog: implement CellOskDialogInputFieldResult * implement CELL_PAD_INFO_INTERCEPTED * Overlays: fix input loop when no controllers are detected * Add log messages for PPU compilation * Deploy linux binaries to RPCS3/rpcs3-binaries-linux via GitHub Releases * Migrate to seperate file for environmental variables * Qt/Input: add keyboard stick interpolation * Qt/Input: add mouse settings to the pad settings dialog * Input: add config entries for mouse deadzones and acceleration ------------------------------------------------------------------- Sun Dec 30 22:56:57 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181231: * Fixes issues where the mutex is destroyed while an unlock is happening * Fix sys_vm_memory_map address base * Debug console emulation * Set total memory size according to sdkver * mmapper_allocate_memory improvement ------------------------------------------------------------------- Sun Dec 30 19:55:52 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181230: * Fix builds with musl c * Settings Dialog Update * cellVideoOutConfigure minor fix. * rsx: Evaluate cond render test at set_render_enabled * hle gcm: Fix cellGcmGetReportDataAddressLocation * Fix rsx capture (again) * Qt: Sort game list after load settings to prevent icon size mismatch * capitalize 'japanese' -> 'Japanese' * overlays: don't use /proc on BSDs as it may not be mounted * fs: implement copy_file() fallback * Qt: fix game grid font for unfocused tiles ------------------------------------------------------------------- Fri Dec 28 13:22:07 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181227: * Trophy changes * Fix sys_semaphore_post count check * Set group status INIT on last thread stopped * sceNp: improve sceNpManagerGetNetworkTime function (#5451) ------------------------------------------------------------------- Mon Dec 24 20:14:03 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181224: * Disable thread assignment for Intel * Detect hyperthreading on Windows * SPU LLVM: approximate xfloat option * cellSaveData: try to address #5415 * Fix cellFsGetFreeSize (following #5304) * rsx: Check av configuration when selecting display buffers! - Some applications have mismatch between video output configuration and display buffer sizes * rsx/vp: Fix double dst commands - Test the vec_result mask before assigning to actual output Sometimes, VEC op is used to write to Rx, and SCA op is used to write to o[x]! * rsx/capture: Force flip if no flip event was recorded * rsx: Fixups for immediate rendering mode - Immediate mode is isolated from the rest of the vertex configuration - TODO: Verify register behaviour when immediate mode is used Check if per-primitive const register values are supported (likely are) * rsx: Implement stencil mirror views - Implements a mirror view of D24S8 data that accesses the stencil components. Finishes the implementation of TEX2D_DEPTH_RGBA as the stencil component was previously missing from the reconstructed data - Add a few missing destructors Image classes are inherited a lot and I forgot to make the dtors virtual * rsx: Reimplement conditional execution in shaders - Per-channel conditional execution introduces RAW hazards all over the place - Its cheaper to process both branches and select between the two - Also improves ShaderVariable functionality to allow functionality such as match_size and taking complex variables as inputs * rsx: fix flip logic when grabbing output from the surface cache * Clear disk cache if it grows too large (dev_hdd1/cache) (#5411) * Remove distro whitelist and use the new automated stdc++ checker ------------------------------------------------------------------- Sun Dec 23 14:00:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181223: * Qt/Input: disable in-game controls while the pad settings are opened * Qt/Input: immediately abort remapping if the controller was disconnected * Qt/Input: add disconnected label to the devicenames * Qt/Input: enable DS4 controller reconnect without refresh * Qt/Input: use 1-n in the GUI instead of 1-(n-1) * Qt/Input: improve DS4 device list * Qt/Input: disable mapping for unconnected pads * RSX/Qt: set min gs_frame size to 160x90 to prevent stupid new Vulkan bug * Qt/windows: use Qt's high dpi scaling * sceNpTrophy: use SCE_NP_TROPHY_STATUS_INSTALLED instead of SCE_NP_TROPHY_STATUS_NOT_INSTALLED ------------------------------------------------------------------- Thu Dec 20 12:11:58 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181220: * Add CMake switch for disabling Discord Rich Presence and fix no llvm build * Rewrite readme * Added CAMERA_NOT_INIT checks for no camera setting * cellCamera: fix read_mode ------------------------------------------------------------------- Tue Dec 18 12:04:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181218: * added libevdev-dev as requirement for Debian & Ubuntu * Input: Enable In-Game Pad Config Reset ------------------------------------------------------------------- Mon Dec 17 14:33:15 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181216: * Support macOS bundling for binary distribution ------------------------------------------------------------------- Sun Dec 16 13:48:16 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181215: * cleanup rsx fifo debugger command display * rsx fifo: Fix call cmd offset mask * reduce register_pair container * Fix rsx capture replay * rsx fifo: Stability improvements * rsx: Implement cellGcmSetNotify * hle gcm: Fix cellGcmGetNotifyDataAddress * log rsx get ctrl ------------------------------------------------------------------- Sat Dec 15 13:56:10 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181215: * Do not rely on cellPadInit in native ui * XInput: fix usage of one controller for 2 players ------------------------------------------------------------------- Thu Dec 13 17:19:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181211: * Add strict texture flushing to debug options * Add log warning on slow flush path * Reimplement overlapping fbo "hack" * Fix xcode build * Misc. Texture Cache fixes * Implement dedicated texture cache predictor * Texture cache section management fixups ------------------------------------------------------------------- Tue Dec 11 13:34:28 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181210: * Qt: implement custom titles * Qt: Fix silly edit bug that no one ever noticed * sys_fs_fcntl with parameter 0xC0000002 should extract device path from the given path and use that to gather free space information * cellSaveData: fix 'Already exists' error * CMake: use CMAKE_SOURCE_DIR instead of .. in some places * ppu: Set link unconditionally ------------------------------------------------------------------- Sat Dec 08 22:36:20 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181208: * Extra Handling of result value of funcStat CB. ------------------------------------------------------------------- Thu Dec 06 09:25:47 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181205: * Fix #5370 regression * Detach VBlank and RSX Decompiler threads * SPU MFC: avoid copying of the lockline onto the stack in putllc/putlluc (#5392) ------------------------------------------------------------------- Tue Dec 04 13:39:16 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181204: * Fix segfault when scaled image dimension is less than clip's * rsx image_in: Implement negative scaling * throw exceptions in case of invalid/unknown operations in image_in * rsx: default lv2 semaphore context + dma_4097 * rsx image_in: Fix in_pitch 0 * rsx image_in: Fix src size calculation when in_pitch != line_lengh * rsx image_in: remove clip h and w hack * remove unreachable code * rsx-capture: reduce capture size * Properly get PARAM.SFO and icons for C00 games (#5370) * VS: filter for trophy_manager_dialog.h * Qt: fix play icon default tooltip * Added ignore = dirty to all submodules to make git operations faster ------------------------------------------------------------------- Mon Dec 03 18:05:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181203: * vk: Silence log spam * rsx: Minor cleanup to silence stupid compiler warnings * rsx: Fix null renderer * rsx: Fixup for the flattener - Reset the flattener before use - Better detection of FIFO misalignment ------------------------------------------------------------------- Mon Dec 03 14:32:08 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181203: * sceNp: add SCE_NP_ERROR_ID_NOT_FOUND for sceNpBasic*Entry* functions * Fullscreen fix * Update hidapi to address mingw compilation issues ------------------------------------------------------------------- Sun Dec 02 09:52:59 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181201: * Fixes maximize window to properly update the render surface in Vulkan * Category filter for PS1/PS2/PSP games * Improve path to discord-rpc with non-MSVC * rsx: Flip workarounds for applications that flip via syscall - Do not assume flip marks end-of-frame if executed via syscall - Also disables skip_frame for these applications as there is no frame boundary - NOTE: QUEUE_HEAD cannot be relied on as it is seemingly possible to flip the same head and not need to queue it * gl: Fix flip regression - Restore graphics state after flip (including active fbo) because flip can be made through a syscall * gl: Do not rely on driver statistics for s3TC textures; they are inconsistent. * rsx: Fixup - undo vertex cache 'improvements' * rsx: Pipeline barriers fixed up - Ensure barriers are invoked even if no draw occurs! -- Ensures that deferred commands are executed eventually * rsx: Fix insertion of execution barriers - Ignore barriers inserted after BEGIN but before any draw commands are emitted - Properly process tail barriers inserted before END but after draw commands are submitted - Ignore execution barriers with no effect (same register value written) * rsx: Re-enable fifo error reset * fixup: Clear disabled attrib entries * [WIP] rsx: Rebase cleanup * rsx: Enable dynamic FIFO preprocessing - Tries to detect when FIFO preprocessing is beneficial and only enables optimizations if the benefit outweighs the cost - Current threshold is at least 500 draw calls saved at over 2000 draw calls to justify the overhead - TODO: More tuning for other CPUs * rsx: Fixup; input attributes blob decoding - Use an unstructured blob and index into the vec4 structures to extract the real data * rsx: Fixups - Improve vertex attribute layout format. Allows for full 16-bit attribute divisor - Use actual pitch when declaring framebuffer rsx pitch instead of register value in case of swizzle? rendering * rsx: Scrap the prebuffered queue approach * fixup: It is possible for NOP commands to contain other garbage * vk: Spec compliance. - TODO: Implement push_constants path instead of copy + bind descriptor sets * gl: Separate vertex env from program env * rsx: Fix fifo draw barriers * rsx: Fix some checks when using inlined array rendering * rsx: Critical pipeline fixes - Fix scissor and viewport binding behavior - Fixes recovery if empty scissor is specified and then 'fixed' later - Optimizes state binding a bit * rsx: Restructure programs * rsx: Optimizations - Replace a few more vectors with simple_array<T> - Avoid unnecessary string comparisons in backends. We already know referenced textures from the program analysers! * rsx: Fixups * rsx: Refactor FIFO - Removes fifo structures from common RSXThread - Sets up a dedicated FIFO controller - Allows for configurable queue optimizations ------------------------------------------------------------------- Thu Nov 29 13:28:05 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181129: * Rewrite condition variables * SPU TG: add thread group stop counter * Implement class cond_x16 ------------------------------------------------------------------- Sat Nov 24 15:28:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181124: * Fix 16 bit audio mode * cellFsOpen flag fix ------------------------------------------------------------------- Fri Nov 23 21:42:31 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181123: * Support trophy manager moc'ing in vcxproj * Load trophies in another thread * qt/gs_frame: Hotfix - Dynamically check the loaded QT library version in case of mismatch - Fixes using 5.11.1 builds with non-buggy libraries and vice versa ------------------------------------------------------------------- Tue Nov 20 13:57:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181119: * Fix libcamera regression ------------------------------------------------------------------- Mon Nov 19 13:34:05 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181119: * Fix macOS compilation ------------------------------------------------------------------- Sat Nov 17 22:22:17 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181117: * cellSaveData: fix truncation size (regression) * cellSaveData: restore atime/mtime for unmodified files * fs: normalize atime (ensure atime >= mtime) * fs: disable ctime (return mtime instead) * Add null alloc_addr checks to sys_memory_allocate and sys_memory_allocate_from_container * cellVdecGetPicture accurate error checking ------------------------------------------------------------------- Wed Nov 14 14:00:48 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181114: * Cleanup after #5310 (SPU thread groups) ------------------------------------------------------------------- Tue Nov 13 21:36:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181113: * Ensures threads are stopped in join ------------------------------------------------------------------- Mon Nov 12 20:53:27 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181112: * Implement sys_spu_thread_tryreceive_event ------------------------------------------------------------------- Mon Nov 12 14:00:08 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181112: * Increases stack allocation for callbacks. * Fix typo in sys_fs_mkdir * rsx: inlined array stride fix ------------------------------------------------------------------- Sat Nov 10 16:46:39 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181110: * Extra check when opening pup file * typemap: make use of volatile qualifier * shared_mutex: increase max_readers to 16383 * SPU LLVM: check state in every callable chunk * qt: Add supporters * Fix cellPadGetData * ppu: Fix threads scheduler * lv2: Fix lwcond_queue_wait lock acquiring * lv2: Fix lwmutex locking * Fix error code checking of sys_lwcond_signal_x * gui: Fix OpenCorrectionDialog message ------------------------------------------------------------------- Tue Nov 06 19:38:50 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181105: * Bluetooth returns select as KEY_BACK for XBOX ONE controller. (#5303) * Add libnsl.so.1 to the AppImage, print resulting upload url ------------------------------------------------------------------- Mon Nov 05 13:51:05 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181105: * Fix SPU STOP instruction * Disable npc update for SPU thread groups * cellSaveData: anti-corruption precautions * Implement cond_one sync primitive * Implement "Initialize Directories" options ------------------------------------------------------------------- Sun Nov 04 20:20:39 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181104: * rsx: Fix inlined vertex array validation ------------------------------------------------------------------- Sat Nov 03 01:43:13 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181102: * cellGame: Add missing nullptr checks ------------------------------------------------------------------- Fri Nov 02 13:36:39 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181102: * Update firmware latest version to 4.83 * Fix issue with memory validation * ppu: Fix stack base ------------------------------------------------------------------- Wed Oct 31 14:15:36 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181030: * rsx-debugger: add forgotten super ptrs * rsx-debugger: auto jump into get address on startup * rsx enums: fix typos * rsx-debugger: fix ret and nop cmd display * rsx-debugger: ignore invalid cmds ------------------------------------------------------------------- Tue Oct 30 14:05:48 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181028: * Fix cellGcmInit (workaround) * RSX/Capture: fix filePath and remove strict mode check (#5283) * Qt: add option to add games to the main menu ------------------------------------------------------------------- Thu Oct 25 23:20:09 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181023: * Qt: rename deleteLLVMCache to removePPUCache * Fix a warning that shift overflows data type width (#5116) * fixup for rsx debugging tools segfaults * rsx-capture: unbreak ------------------------------------------------------------------- Mon Oct 22 18:15:19 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181020: * fix evdev device list * typo fix * Fix command line arguments, add --version and set Qt application name * Qt: add tick marks to Master Volume Slider * Qt: also enable/disable overlay centering checkboxes * Qt: refactor settings_dialog and add EnhanceSlider * Qt: add master volume slider to the audio tab * Qt: set Vulkan surface in gs_frame * Add setting for master volume * rsx: Improve inlined arrays (#5248) * Internal: register WaitOnAddress family functions (WinAPI) * Migration to named_thread<> * Fix thread_base::get_cycles (Linux/POSIX) * Fix audio_thread buffer deallocation race * Remove CALL_FUNC, implement ppu_execute<>() ------------------------------------------------------------------- Mon Oct 15 13:13:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181014: * Add title to emulator message dialogs ------------------------------------------------------------------- Sun Oct 14 10:59:32 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181013: * Save compatibility draw state ------------------------------------------------------------------- Sat Oct 13 13:20:08 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181013: * Compatibility status to grid view * Gitignore: Support CLion IDE * ppu-interpreter: improve vminfp instruction ------------------------------------------------------------------- Fri Oct 12 17:53:06 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181012: * rsx_capture/gcm: Fix tile binding (#5246) * README update * README update ------------------------------------------------------------------- Wed Oct 10 12:47:14 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181008: * rsx: Fix u16 index arrays overflow * rsx: Fix restart index check for u16 index arrays * ppu-interpreter: improve vsl/vsr instructions ------------------------------------------------------------------- Fri Oct 05 11:44:41 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181004: * ppu-interpreter: improve fnmadd/fnmadds instructions (#5183) * RSX/Overlays: Add option for japanese button layout ------------------------------------------------------------------- Wed Oct 03 20:22:39 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181003: * RSX/Overlays: don't press buttons on every iteration * RSX/Overlays: formatted comments * rsx: Fix texture height read * rsx: Fix default texture dimensions * rsx: Fix texture depth read * sys_rsx: fix log spam * rsx: Remove texture mipmap hack * rsx: Remove texture size hack * rsx: Remove texture address hack * Refactor audio_thread (g_idm) * typemap improvements * Rename -> typemap_ptr::unlock() * Add cond_variable::wait_unlock * Rename thread_abort (name conflict) ------------------------------------------------------------------- Tue Oct 02 13:09:13 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20181002: * Qt: Add shader loading screen options to the settings dialog * Refactor audio/camera/mic threads * Add g_typemap and g_idm alias * Minor thread fixes * Implement shared_mutex::lock_unlock * utils::typemap implemented * Rebase LLVM fork ------------------------------------------------------------------- Sat Sep 29 18:17:04 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180927: * Make vm::get_super_ptr return contiguous memory * rsx: Fix pfifo ret opcode * rsx: Fix pfifo nop cmd * New named_thread template (preview) * Fix cellVdecClose * Fix consistency in Emu::Stop() * LLVM: remove false alarm errors * Implement utils::memory_reset * Add missing deleted operators * Implement lf_queue<>, lf_value<> * shared_mutex cleanup ------------------------------------------------------------------- Wed Sep 26 18:21:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180926: * rsx: Fixup for vertex attrib parsing - POS does not have to be fetched from ATTR[0] - Confirmed with UC1 that uses WEIGHT for positions - At least one POS stream has to exist to feed the position attribute which cannot repeat for a single triangle * rsx: Fixup flip behaviour - handle_emu_flip is very heavy, only fire * rsx-capture: Save initial method registers state * rsx-capture: Map dynamically rsx data injection addresses * rsx-capture: Rewrite FIFO commands allocation * rsx: Fix vertex attrib parsing ------------------------------------------------------------------- Tue Sep 25 13:00:09 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180924: * rsx: Disable predictions if 50% of predictions are wrong - This happens often in loading screens where the memory usage pattern is often randomized by loading in of assets ------------------------------------------------------------------- Mon Sep 24 18:16:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180924: * rsx: Cleanup changes for the flip patch * rsx: Move render flip from rsx queue command to flip command * Texture cache cleanup, refactoring and fixes * Implement address_range utility class * Change Cell->RSX map/unmap notifications * Update ASSUME, add ASSERT and AUDIT * Avoid silent failures in RSX violation handler * rsx: Fix vertex count if all the streams are disabled * rsx: Fix vertex arrays fetch with inlined draws * rsx: Remove shader address verification ------------------------------------------------------------------- Sun Sep 23 20:55:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180923: * Fix Emu.Restart() * build/cmake: properly disable assert() globally for release builds * build/cmake: ADDITIONAL_LIBS satisfy dependency by other libraries * build/cmake: build everything with -pthread, not just GLEW * build/cmake: add hidapi include directory on libusb platforms as well * rsx: temporary hack - Removes all use of valid_count as a metric until the new refactor is merged * gl: Fix problems with framebuffer reuse - Matching attachments with resource id fails because drivers are reusing handles! - Properly sets up stale fbo ref counting and removal - Properly sets up resource reference test with subsequent removal to avoid using a broken fbo entry * rsx: Preserve memory order when doing flush - Orders flushing to preserve memory at all cost - Avoids false positive where flushing overlapping sections can falsely invalidate another with head/tail test * rsx: Fix flip source selector * rsx; blit engine fixes - Forcefully downloads and reuploads data from the CPU in case of unexpected overlaps - Properly detect correct size of newly created blit targets - Remember to clear any existing views when changing the default component map! ------------------------------------------------------------------- Fri Sep 21 12:59:43 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180920: * Revert change to using --appimage-extract-and-run, as linuxdeployqt doesn't have it yet, Fixes #5148 I really didn't want to do this, but no new AppImages suck. * Fix travis timing out while silently cloning git submodules ------------------------------------------------------------------- Thu Sep 20 12:33:37 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180920: * cellgcm: Fix SET_REFERENCE initial value * rsx: Improve FIFO mem faults handling * rsx/cellgcm: Implemet initialization registers reset * CMake: Fix Linux WITHOUT_LLVM build ------------------------------------------------------------------- Wed Sep 19 18:15:21 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180919: * VFS: fix /host_root * Rename lv2_spu_group::num to max_num * Optimize logs * Remove explicit in atomic_t constructor ------------------------------------------------------------------- Tue Sep 18 23:29:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180919: * CMake: Fix Qt resource files not included in build * CMake: LLVM, Pulse, Alsa and libevdev being disabled * rsx/overlays: Implement blur, darkening and ability to disable custom background * overlays: Allow custom background for message dialog * CMake: Refactor CMake build (#5032) * Minor cleanup and add back in xcb lib removal * Fix travis mac build regression * spu: Fix MMIO index checking * Add forgotten SAFE_BUFFERS * Fix .editorconfig encoding * Fix trailing zeros in CPU brand * rsx: Clamp texture offsets (#5137) * Optimize logging via logs::channel * Rewrite sys_fs_opendir * Remove thread_ctrl::atexit * PPU reservations: ensure aligned atomic ops * Fix bitset formatting * Remove safe_reader_lock, safe_writer_lock * Rewrite vfs::get and vfs::mount ------------------------------------------------------------------- Sat Sep 15 12:05:45 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180915: * rsx/vp: Fix ARL opcode properly - NOTE: The address swizzle index is only for use as src. The address registers are only used one channel at a time. - When the destination of ARL, the encoding is the same as the other temp registers ------------------------------------------------------------------- Thu Sep 13 23:43:24 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180913: * cellKb/Qt: Improve basic keyboard * typo fix * rsx: Add a default shader address state * [vk] don't ask for VK_FORMAT_UNDEFINED support * rsx: tiny zcull optimizations * ppu: Fix extreme reservation corner case ------------------------------------------------------------------- Wed Sep 12 13:17:52 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180912: * rsx: dont silently ignore null shader address * [vk] Throw an exception on using a repder pass that the driver doesn't support * [vk] check for attachment format properties before pre-creating render passes * ppu: improve lvebx/lvehx/lvewx instructions * Travis refactor * cpu: use correct type when defining llvm value is_int constexpr * rsx: add virtual destructor for default_vertex_cache * rsx: Minor texture cache fixes - Retag resources reprotected under flush_always rules - Properly check for blit resource fitting taking into account format mismatch, pitch mismatch and typeless transfers * atomic_t<>: remove inline assignment * Add option "HLE lwmutex" ------------------------------------------------------------------- Sun Sep 09 10:16:44 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180908: * cellCamera: Fix check_dev_num call in cellCameraOpenEx ------------------------------------------------------------------- Sat Sep 08 11:43:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180908: * atomic_t<>: extend fetch_op to support cancellation * Move rotate/cntlz/cnttz helpers to Utilities/asm.h * Remove explicit_bool_t, ignore, multicast<> * Use std::invoke_result_t * Use std::uncaught_exceptions() * bs_t<>: add missing operators * [vk] Check for BGRA8 linear image to support blitting * [vk] fix cubic view construction * Fix trophy regression * Add missing virtual desctructors (#5094) * better stub sceNpUtilBandwidthTestGetStatus * rsx/common: Clean up shared glsl header to minimize string concat operations * rsx: Preserve fog coordinate across shader stages - The x value contains the VP output value interpolated across primitive surface - The y coordinate contains the fog fraction according to the selected fog formula * cleanup: remove unnecessary return and namespace declaration * cleanup: remove recursive_wrapper.hpp * cleanup: remove intermediate const char* variables * cleanup: remove compatibility code for old versions of clang * clang-tidy: use nullptr * clang-tidy: remove redundant "apply_swizzle_remap" declaration * c++17: use std::size * c++17: use std::clamp ------------------------------------------------------------------- Thu Sep 06 07:34:36 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180905: * sys_usbd: add sys_usbd_event_port_send function ------------------------------------------------------------------- Tue Sep 04 13:23:54 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180903: * Cleanup semaphore<> (sema.h) and mutex.h (shared_mutex) * Adjust cellMic log levels * Try to get rid of SIZE_32 macro * Make vm::var unmoveable * Mega-cleanup for atomic_t<> and named bit-sets bs_t<> * Use fold expr in fs::write_file * Remove EXPECTS/ENSURES macro * Remove ALIGN_32 macro ------------------------------------------------------------------- Mon Sep 03 19:00:04 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180903: * rsx: Fix FP temp register count * Fix cellMic regression from #4467 * rsx: Possible fix for UB data type consistency * gl: always clean up the heap when using legacy buffers * vk: Improve logging of device names and driver versions * vk: whitespace fix only * d3d12: restore working graphics * rsx: Fix endianness order when immediate mode register is updated, but used as register lookup - Simplify the code by unifying all the register-backed memory ------------------------------------------------------------------- Sun Sep 02 18:43:16 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180901: * Fix sys_memory_free ------------------------------------------------------------------- Sat Sep 01 10:56:20 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180831: * Remove useless #include * Update ConfigureCompiler.cmake to check for the same compiler versions as those set in README.md * Compilation fixes for optional on osx * 3rdparty: remove optional submodule * Remove Utilities/variant.hpp and use C++17 variant * Utilities: explicitly add more includes found by GCC * vm: allow 4k-aligned allocations for vm::stack * sys_fs_stat: support split files * keyboard_pad_handler: fix mouse for multimonitor fullscreen * Adjust to US keyboard... sigh * Qt: implement first Mouse Movement for keyboard pad handler * rsx: Fix typos (#5054) * Bump CMake Requirement to 3.8.2+ * Trophy fixes * cellMsgDialog: improvements * cellGame: implement error messages and some stubs * cellMsgDialog: introduce open_msg_dialog * cellGameExec: add param checks * Initial work on cellMic * Compilation fixes for Mingw64 (MSYS2) (#4899) * Rsx/cellgcm: complete rsx_state::reset() * Rsx: remove method registers reset * Basic support for Vulkan Portability on OSX * add comma to readme ------------------------------------------------------------------- Tue Aug 28 13:25:18 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180828: * Rsx: fix unknown cull faces * Rsx: fix flip method registers reset * Rsx: add missing default vertex shader attributes registers states * Git Revision Fix (#5043) ------------------------------------------------------------------- Sun Aug 26 17:00:23 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180825: * Don't use decltype(spu_opcode_t::...) * Add _ENABLE_EXTENDED_ALIGNED_STORAGE * Don't use std::aligned_storage * Reintroduce LOG_CHANNEL * Fix type-safe formatting * Fix hidapi URI ------------------------------------------------------------------- Sat Aug 25 16:57:05 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180825: * Disable texture_cache::emit_once (MSVC crash) * Update dependencies * Update GSL and yaml-cpp submodules * Rewrite texture_cache::emit_once * Workaround MSVC bug * VS: enable C++17 * Update Project to Visual Studio 2017. * Simplify error_code * Rearrange atomic operator internals * [CMake] Use C++17 * Add MATCH macro * Use std::void_t * Travis: use gcc-8 ------------------------------------------------------------------- Fri Aug 24 13:36:44 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180824: * vk: Improve fence wait logic * vk: Check for allowed texbuffer range instead of assuming 64M * Fix compilation with VS2017 ------------------------------------------------------------------- Thu Aug 23 20:39:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180823: * vk: Implement double-buffered heaps for platforms without universal support for host visibility (APPLE) * vk: Support sw component swizzle decode because metal sucks * rsx: Rework section reuse logic * rsx-debugger: bugfixes and improvements * Rsx: fix cmd jump over put register * Fix cellGcmInit * Rsx: fix translation when address is negative ------------------------------------------------------------------- Tue Aug 21 07:45:11 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180820: * Qt: only center basic mouse input on active fullscreens ------------------------------------------------------------------- Mon Aug 20 13:02:57 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180820: * Revert d1fd4d5000d72bac4b86f0a9c46ea70020d55d92 * rsx: Fix present modes ordering - Newer nvidia drivers are not exposing IMMEDIATE present mode unless you change options in nvidia control panel This can cause severe performance degradation unless the vsync option is set to "off" in control panel * Name missing vm::spu location * Improve vm::reader_lock * Hardcode vm::user64k location * Improve vm::unmap * Qt: fix stylesheet warning ------------------------------------------------------------------- Sat Aug 18 13:45:57 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180818: * rsx: Do not overflow the program buffer! - Some games overflow the program buffer e.g Resistance games The observed overflow is one instruction longer, likely an engine bug with counting instructions * rsx: Force disable draw reordering when capturing a frame * fix gcc build * rsx: Followup to the memory inheritance hierachy patch - Tags framebuffer resources on first use (when on_write is called to verify memory) - Texture cache now selects the best match and even sorts atlas writes with memory write order to avoid older data showing over newer one * gl: Avoid unnecessary scissor state change every draw call. * gl: Reuse framebuffer resources - WIP optimizations for GL backend * rsx: Enable swizzled decode for all formats unless proven otherwise - Some formats are proven to ignore swizzle flag - DXT compressed textures - COMPRESSED_BG_GB class textures - Some applications are using swizzled wide integer formats so those are confirmed to swizzle * [WIP] rsx: Improve memory inheritance hierachy - Cascade memory writes by invalidating 'downstream' subsurfaces - Fixup; always resolve for overlapping surfaces before sampling (force atlas gather test) * gl: Do not create secondary context if async is disabled - Some third party programs fall apart when multiple contexts are created * zcull: Improve the delay algorithm to be more consistent - Use proper time checking; depending on what is being done one 'tick' can be almost a millisecond long or several nanoseconds - Avoid spamming the system timer unless necessary * rsx: Avoid acquiring the vm lock; deadlock evasion - A possible deadlock is still present if rsx is trying to get a super_ptr whilst the vm lock holder is in an access violation This patch makes this scenario very unlikely since each block need only be touched once * rsx: Allow linear filtering when reading back GPU-resident memory * vulkan: Fix blit engine transfer to ARGB8 render target memory * vk: Fixups for type b surfaces * rsx: Timestamp accuracy workaround * rsx: Optimize hash_struct; vk cleanup * rsx: Refactor and fix framebuffer layout checks - Refactors shared code back into rsx core - Adds extra check to avoid contest confusion * Minor optimizations and fixes - FIFO: avoid multiline spam - VK: Fix program setup counter - FS: Precalculate fragment constants buffer size during analysis step * ZCULL: lower notice severity to avoid spam * zcull synchronization tweaks - Implement forced reading when calling update method to sync partial lists - Defer conditional render evaluation and use a read barrier to avoid extra work - Fix HLE gcm library when binding tiles & zcull RAM * rsx: Synchronization rewritten - Do not do a full sync on a texture read barrier - Avoid calling zcull sync in FIFO spin wait - Do not flush memory to cache from the renderer side; this method is now obsolete ------------------------------------------------------------------- Thu Aug 16 13:23:27 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180816: * Mark unsync textures dirty when deferred flushing * Refactor get_intersecting_set * Fix off-by-one error in get_intersecting_set * Fix typo in buffered_section::overlaps_page * sys_memory: fix default alignment flag * rsx-capture: unbreak * Fix include in log_frame.cpp * Fix vm regression from #4975 * Fixup sys_vm_memory_map * Implement vm::find_map; improve memory allocation * SPU LLVM: lower some log levels * sys_fs_open: support split files * Implement fs::make_gather * basic mouse handler: multi monitor adjustments * fix cellMouse lag + fullscreen mouse ------------------------------------------------------------------- Mon Aug 13 19:07:16 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180813: * Add the accurate xfloat option to the CPU tab * Rsx/vm: fix base addresses * Rsx: rewrite address translation ------------------------------------------------------------------- Sun Aug 12 21:48:18 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180812: * Rsx: avoid invalid cmds execution * Rsx: fix CALL and RET cmd * PPU LLVM: always link syscall_## functions * Update supporters * SPU LLVM: improve xfloat precision * PPU: don't use transactions (test) * SPU LLVM: improve debugging RPCS3 * SPU LLVM: inline WRCH (preview) * SPU LLVM: rewrite CGX * SPU LLVM: improve constant propagation * PPU LLVM: fix phenoms ------------------------------------------------------------------- Sun Aug 12 11:42:38 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180811: * Fix overflow in PPUThread stack frame dump * Fix sys_rsx_context_iounmap args ------------------------------------------------------------------- Sat Aug 11 13:31:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180811: * Update new LV2 names (#4886) ------------------------------------------------------------------- Tue Aug 07 11:09:37 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180807: * Readme update * cellCamera: Fixes ------------------------------------------------------------------- Sat Aug 04 20:48:34 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180802: * cellCamera: improvements * cellMusic: improvements * cellPad: improvements * cellMouse: improvements * cellKb: improvements * Fix alignment in KeyboardHandler.h * VS: move keyboard_pad_handler to a better filter ------------------------------------------------------------------- Mon Jul 30 19:24:13 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180730: * RSX Overlay: fix set text ------------------------------------------------------------------- Sun Jul 29 11:49:41 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180729: * Qt/Emu: Fix RSX capture boot process * Qt: fix trophy table row selection * RSX: use localtime_s instead of localtime * RSX: Add performance overlay colors to configs * RSX/Qt: add the possibility to center the performance overlay * RSX/Qt: Move rrc captures to captures dir * RSX: add config settings for shader compilation hint positions * RSX/Qt: add more performance overlay options to the gui * Qt: fix gui settings options * change rsx_capture filename * Qt: implement tty auto scroll * Loader: handle fs::file is Null fatal after decrypt self * Qt: format category maps. they were ugly af * Qt: implement EnhanceSpinBox and EnhanceDoubleSpinBox * Qt: handle invalid entries in config files * Qt: fix initial deadzone label sizes * Qt: fix pad settings keyboard input ------------------------------------------------------------------- Fri Jul 27 08:01:51 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180727: * Qt: fix user manager localusername and add textvalue to the inputdialog * Qt: add some hotkeys to some user account interactions * Qt: fix user manager directory scan * Qt: minor user manager style changes * Qt: fix user manager button behaviour * Qt: only ignore highlights on specified tables * user_manager: megamouse fixes 4 * user_manager: megamouse fixes 3 * user-manager: m_trophy_dir changed to lowercase. * user_manager: megamouse fixes 2 * user-manager: megamouse fixes * user-manager: replacing fmt::format with string concat. * user-manager: squash all commits for this feature. ------------------------------------------------------------------- Sun Jul 22 19:58:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180722: * ppu-precise: improve vaddsws and vadduws instructions * rsx/gl: Minor cleanup and optimization - Track register change status - Remove unused gl classes * rsx: Reimplement cached textures and their views * MMJOYSTICK: fix nullpointer crash in GetMMJOYDevice * Qt: merge pad settings * Qt: remove obsolete and useless menu entry: "Show Game Tool Bar" * cellvdec: stub unsupported video timebases * Update LLVM * Remove cpu_translator::ucarry<> * SPU LLVM: simplify CG, CGX, BG, BGX * PPU LLVM: simplify VMSUMUHS * cellSaveData: print SECUREFILE secureId * Add a channel map to the PA backend to fix surround sound (#4911) ------------------------------------------------------------------- Fri Jul 20 12:18:45 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180720: * spu-precise: fix double-precision floating-point exception checks * Qt: Add rrc capture replay per drag and drop * Qt: allow bulk pkg installation * Fix Async Shader Tooltip * Fix sys_time_get_current_time * VS: Fix QT deploy for paths with spaces ------------------------------------------------------------------- Tue Jul 17 18:54:14 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180716: * HLE/Qt: implement sys_tty_read * gitignore: completely ignore the game folders, some games use TEST12345 * Qt: handle upstream trolling ------------------------------------------------------------------- Sun Jul 15 11:18:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180715: * clang-tidy: performance-faster-string-find * cmake: remove duplicated directive used to include cmake_modules * clang: fix compilation on 3.6 * clang: fix compilation on 3.7 * clang: fix compilation on 3.8 * vm: Fix memory mirror performance regression * vk: cleanup/optimization, remove unnecessary initialization code * qt: Add async shaders toggle to the UI * rsx: Async shader compilation - Defer compilation process to worker threads - vulkan: Fixup for graphics_pipeline_state. Never use struct assignment operator on vk** structs due to padding after sType member (4 bytes) ------------------------------------------------------------------- Sat Jul 14 11:35:23 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180714: * mfc: clamp atomic cmd's addr ------------------------------------------------------------------- Fri Jul 13 19:11:17 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180712: * rsx: Improve vertex textures support - Adds proper support for vertex textures, including dimensions other than 2D textures - Minor analyser fixup, removes spurious 'analyser failed' errors - Minor optimizations for program state tracking * silence warning ------------------------------------------------------------------- Wed Jul 11 13:03:38 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180711: * Change all hddFreeSizeKB to 40gb-1 ------------------------------------------------------------------- Tue Jul 10 13:09:43 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180710: * fix barrier type mfc transfers ------------------------------------------------------------------- Tue Jul 10 08:08:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180710: * Implement sys_dbg_read_process_memory and sys_dbg_write_process_memory * silence some annoying warnings * facepalm - Fix openGL regression * cmake: remove obsolete command for glslang integration * spu: improve dfnma instruction * ppu: improve vnmsubfp instruction * ppu: improve fnmsubs instruction * ppu: improve fnmsub instruction * Qt: trophy repaint optimizations * Qt: also repaint trophy game list background colors ------------------------------------------------------------------- Sun Jul 08 12:41:34 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180707: * rsx/Qt: Fix Qt shader loading dialog crash * rsx: Silence harmless warning * rsx/vp: CodeGen improvements - Fix double destination writes on conditional write masking - Fix codegen to simplify simple scalar comparisons vs vector functions * rsx/vp: Discard broken vertex programs with no writes to POS register * vp: Improve vertex program analyser - Adds dead code elimination - Fix absolute branch target addresses to take base address into account - Patch branch targets relative to base address to improve hash matching - Bumps shader cache version - Enables shader logging option to write out vertex program binary, helpful when debugging problems. * rsx: vp decompiler fixes - Fix program abort logic to never abort before resolving later label addresses Fixes jumping over broken code and jumping over END markers - TEXTURE_CONTROL2 has indexing range of [0..15] without stride skipping! This register does not have interleaving with other texture registers - Track shader address poke as it seems to invalidate programs as well * rsx: Fix nv308a::color * PPU analyser optimizations * SPU LLVM: combine SELB with comparison instructions * PPU LLVM: simplify VSUBCUW, VSUBUBS, VSUBUHS, VSUBUWS * PPU LLVM: simplify VADDCUW, VADDUBS, VADDUHS, VADDUWS * SPU LLVM: improve SHL, SHLH, ROTM, ROTHM instructions * SPU LLVM: improve ROTMA and ROTMAH instructions * SPU LLVM: combine SHUFB with CWD-alike instructions * SPU LLVM: improve SHUFB with constant mask * SPU LLVM: constant computation fixes * SPU LLVM: fix constant propagation * SPU: rename block stats * SPU: simplify unimplemented event check * SPU: improve analyser (v5) * SPU LLVM: inline RDCH * SPU LLVM: inline RCHCNT * SPU LLVM: clean NOP/LNOP * SPU LLVM: refactor halt instructions * Implement cpu_translator::pshufb<>() * Implement spu_iname helper * Use LLVM 7 (master) * Funny workaround * Rewrite cpu_translator::avg() * SPU LLVM: fix jt target duplication bug * SPU LLVM: use cpu_translator::build<> * SPU LLVM: improve function type * Update cpu_translator ------------------------------------------------------------------- Fri Jul 06 13:22:06 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180705: * Fix table headers for Qt 5.10 and below * Qt: improve docks and toolbar flat style * Qt: fix toolbar element sizes on every toolbar repaint * Qt: Add Classic (Bright) Stylesheet * Qt: adjust custom stylesheets to work with the new toolbar slider * Qt: remove redundant custom toolbar colors. * Qt: adjust table headers for Qt 5.11 * Qt: update custom ui colors * Qt: update stylesheet * Qt: update table item delegates * Qt: fix icon repaint inaccuracy * Qt: temporary game grid selection color adjustment * Qt: Use QStyledItemDelegate instead of QItemDelegate * Qt: Fix style sheet edge case * Qt: update default stylesheet (WIP) * Qt: update toolbar icons * Qt: toolbar adjustments * Fix cellSysCacheMount error checking * Fix cellSysCacheClear * Fix cache directory ------------------------------------------------------------------- Wed Jul 04 12:50:41 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180703: * bump appveyor Qt version to 5.11 * Fix issues with AppImages and Mesa 18.1.1 and greater. Fixes #4509 (#4846) ------------------------------------------------------------------- Mon Jul 02 18:19:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180702: * Fix LLVM STW reservation update * Fix cellGameDataCheckCreate2 (#4832) ------------------------------------------------------------------- Sun Jul 01 21:14:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180701: * Qt: add new spu options to the settings dialog ------------------------------------------------------------------- Fri Jun 29 18:44:36 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180629: * White space and switch to .format() strings ------------------------------------------------------------------- Thu Jun 28 12:20:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180627: * rsx: more efficient command reading ------------------------------------------------------------------- Wed Jun 27 18:16:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180626: * vk: Fixup * rsx: Improve texture cache read speculation * glslang: Bump to version 2776 * vk: Strip 'stencil' MSB when writing d24x8 data - Seems to contains garbage in MSB when DEPTH aspect is read back - TODO: Implement custom depth and stencil readback routine * gl: Fixup * rsx: Rework memory protection management for framebuffer access - Avoid re-locking memory if there is no reason to do so (no draws issued) - Actively bound regions should always get written to the backing cache - Forcefully read memory during download if writes to the target have occured since last sync event * vk: Tuning [WIP] - Unroll main compute queue loop - Do NOT run GPU cores on mappable memory! This has a dreadful impact on performance for obvious reasons - Enable dynamic SSBO indexing (affects AMD) - Make loop unrolling and loop length variable depending on hardware and find optimum * vk: Addendum - Synchronize graphics and compute pipelines with barriers * vk; Add more compute routines to handle texture format conversions - Implement le D24x8 to le D32 upload routine - Implement endianness swapping and depth format conversions routines (readback) * rsx: Fix texture readback - gl: Fix up the calculation for internal image pitch - vk: Implement GPU-side resizing for read back textures (fixes WCB zoom) * facepalm ------------------------------------------------------------------- Mon Jun 25 17:19:54 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180625: * cmake: add possibility to build zlib from submodule * rsx-capture: unbreak ------------------------------------------------------------------- Sun Jun 24 11:32:22 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180624: * rsx: fix image_in to use in_pitch when swizzling * trophy: zero out data before setting * loader: ignore invalid index_value and allow relative reloc 10 * elf: handle decompress flag for 32 bit elfs * cellgcm: fix regression * rsx: fix hardcoded rsx allocation address * pugixml: update submodule and build integration ------------------------------------------------------------------- Sat Jun 23 20:03:22 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180623: * Add conditional reservation update to STW * Update readme library links * Fixes for booting PS1 games * PS1 Classics ------------------------------------------------------------------- Sat Jun 23 12:04:57 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180623: * Restore /dev_flash/ config * Fix SPU ASMJIT for SSE2 CPUs * Update LLVM commit * Qt: fix minor bug in save_manager that occurred when sorting the tables * cellVdec: add more detail to the logging * Qt: emu_settings: close config files after loading and saving * Qt: fix crash in progress dialog * Qt: move ReadJSON in game compat to its own function * Qt: workaround for settings_dialog resize * Qt: add DeleteSPUCache option * Qt: use QDirIterator instead of fs::file stuff * Qt: add more resize possibilities to the trophy manager * Qt: minor icon size action fix * Remove /dev_flash/ configuration * SPU: analyser v4 and fixes ------------------------------------------------------------------- Thu Jun 21 22:44:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180621: * create the shaderlog dir in Emu.Init() * rsx: Fix region pitch inaccuracy - Region pitch of 64 (disabled) can be used to indicate packed contents - do not assume it is the actual pitch! - Also fixes interaction of AA factors with lockable_region size * Add missing Discord guard after 27a94308a740 ------------------------------------------------------------------- Tue Jun 19 22:55:51 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180619: * Qt/RSX: reset gs_frame taskbar progr. when closing native progr. dialogs * Qt: add possibility to copy 'Name [Serial]' * Discord fixes * Qt: add boot by pressing enter or return while having an item selected * Make register editor dialog work * Qt: Add perf overlay position to settings dialog * overlays/perf_overlay: Make pos, font, opacity, margin configurable * overlays: Consider padding when auto-resizing label elements * overlays: Change how padding and margin work * overlays: Fix text rendering position * overlays: Refactoring * Utilities/geometry: Add unsigned specializations to typedefs * vk: Implement safe typeless transfer - Used to transfer D32S8 data where it makes sense to use this variant - On nvidia cards, it is very slow to move aspects from D24S8 probably due to the format being faked. For this reason, the unsafe variant is used for both D16 and D24S8 to avoid the heavy performance loss * vk: Performance fix for RADV - RADV does not keep a mapping ptr around for subsequent remap and falls back to heavy amdgpu methods every time Explicitly manage pointer in the ring buffer structure to fix this * rsx: Improve GPU resource read prediction * vk: Add synchronous compute pipelines - Compute is now used to assist in some parts of blit operations, since there are no format conversions with vulkan like OGL does - TODO: Integrate this into all types of GPU memory conversion operations instead of downloading to CPU then converting * vk: Implement typeless image transport * rsx: Avoid race conditions in unsynchronized unprotect * mfc: clamp list transfer size ------------------------------------------------------------------- Sun Jun 17 19:31:59 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180617: * implement "Enable TSX" combobox * Fix sys_spu_thread_connect event * Fix temp file folder for project pnglibconf and zlib. Delete win32 config in Project not needed. Clean bin folder. * zlib.vcxproj: remove PreprocessorDefinitions "Z_SOLO" * libpng: use official repository instead of the fork from RPCS3 and update submodule * Qt: cleanup syntax_highlighter a bit * Qt: Add copy to clipboard for game data * Qt: add notes as tooltips * Qt: don't adjust columns in case of empty results after filtering * Qt: rename some members in game_list_frame to use m_ * Qt: fix settings dialog subscriptions for custom configs * fix compiler warning "-Winconsistent-missing-override" * cmake: don't use hardcoded lib names when using system ffmpeg and remove unneeded line * asmjit: update build integration ------------------------------------------------------------------- Wed Jun 13 11:02:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180613: * Update System.h * yaml-cpp: update submodule and build integration ------------------------------------------------------------------- Tue Jun 12 19:32:06 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180612: * Enable wayland for AppImages * Prefer GLVND for OpenGL rather than legacy * evdev: Add nullptr check, fixes #4713 (#4744) * qt: fix asm instructions highlighting (#4745) * Fix cellGameContentPermit * SPU: add 'Accurate PUTLLUC' option * SPU ASMJIT: returnable STOP in Mega mode * qt: rewrite syntax highlighter ------------------------------------------------------------------- Mon Jun 11 22:38:48 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180611: * RSX: fix shader cache progress bar exit state shenanigans * Qt: clamp progress bar values * cellGameContentPermit: Don't set content and usrdir path on gamedata if cellGameCreateGameData was never called * Qt: add counters to the find dialog * Fix VSLO and VSRO in the LLVM PPU recompiler ------------------------------------------------------------------- Sat Jun 09 13:01:17 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180609: * 3rdparty: update stb_image.h and stb_truetype.h * cellSaveData: handle fatal error fs::file is_null (read-only files) * RSX: add taskbar progress to native ui progress dialogs * Qt: set up taskbar progress for the gs_frame * Qt/RSX: add taskbar progress in msg_dialog_frame for shader compilation * Qt/RSX: add window title to the shader compilation msg_dialog * Qt: remove multi message dialog code * Qt: Fix message dialog progress bars never reaching 100% * vk: Fix overlays for variable sampler count * vk: RADV support for depth scaling and transfer * Refactoring - Make the memory allocator a unique child of the render device. Fixes object lifetime issues with swapchain management due to cyclic dependencies * rsx/debug: Fix rendering when FIFO reordering is disabled * vk: Avoid use-after-free fence object * fix some linux issues - Fix build - Fix VMA incompatibility with swapchain_NATIVE * rsx: Update memory flags after memory transfer * vk: Implement depth scaling using hardware blit/copy engines - Removes the old depth scaling using an overlay. It was never going to work properly due to per-pixel stencil writes being unavailable - TODO: Preserve stencil buffer during ARGB8->D32S8 shader conversion pass * rsx: Preserve read AA state separate from write AA state - Some applications (e.g Backbreaker) use an evil hack to resolve MSAA. The application respecifies a formerly AA region as a region with no AA then performs a framebuffer feedback lookup. The old memory keeps AA during read, but writes back to itself with AA resolved. This is evil on several levels but it just happens to work on PS3 * rsx: Obey MSAA resolve during memory persistence transfer - Ugh. This is a bandaid on a festering wound, AA badly needs a rewrite ------------------------------------------------------------------- Fri Jun 08 17:51:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180608: * Delay GDB server launch until emulator run (#4658) * Deploy binaries to RPCS3/rpcs3-binaries-win ------------------------------------------------------------------- Thu Jun 07 18:56:21 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180606: * Fix cellGameCreateGameData temporary path ------------------------------------------------------------------- Wed Jun 06 18:45:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180606: * Return offline according to g_psn_connection_status. * sceNpManagerRequestTicket2 (return offline) * cmake: simplify glslang integration (#4652) * Add "SPU Cache" option * Add "SPU Verification" option * SPU ASMJIT: Implement Mega block mode (experimental) * SPU LLVM: implement returnable check_state() * sys_timer_usleep: give Linux a partial exemption * SPU: optimize GETLLAR (TSX) * SPU: fix PUTLLUC accuracy * SPU ASMJIT: implement returnable check_state() * Block GUI after stopping emulation * SPU: improve analyser (v3) * SPU: use progress dialog ------------------------------------------------------------------- Mon Jun 04 13:13:27 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180604: * Convert all spaces to tabs in CMakeLists.txt * Unify Linux detection in CMake * Add additional Fedora dependencies ------------------------------------------------------------------- Sun Jun 03 16:03:18 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180603: * Fix msvc debug build * Discord: add some stuff * Update Arch install directions, and other touchups ------------------------------------------------------------------- Sat Jun 02 11:35:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180601: * appveyor: Fixes #4682 (#4685) ------------------------------------------------------------------- Fri Jun 01 17:19:00 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180601: * Parallel shader cache loading (#4677) ------------------------------------------------------------------- Thu May 31 10:10:31 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180531: * vulkan improvements - Remove deprecated device layers - Reimplement overlays resource management using real heap instead of using first_vertex hack * overlay; Fix leak * Rewrite LLVM compilation progress dialog * SPU LLVM: fix *QBI instructions (UB) * SPU LLVM: emulate PSHUFB * SPU: rewrite FSM/FSMH/FSMB instructions * Fix warning (ignored attributes) * SPU: rewrite spu_interpreter::SHUFB * Extend ppu_decoder/spu_decoder templates * Use memfd_create (Linux) * SPU: improve SHUFB * Qt: Add performance overlay options to the emu tab in the settings dialog * Qt: Add a gui tab to the settings dialog ------------------------------------------------------------------- Wed May 30 13:01:12 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180530: * facepalm * vk/gl: Fix flush synchronization to be kinder to weaker CPUs but not harm higher end CPUs * rsx: Avoid semaphore acquire deadlock * CPUStats: add support for macOS and BSDs * overlays: Performance Overlay * overlays: Font improvements * overlays: Allow for non-interactable UI components * util/thread_ctrl: Method for measuring cycles a thread has run for * util: Class for getting overall CPU usage and thread count * fix memory mapping alignment * cellgcm: implement cellGcmTerminate * allow deallocations to unmap rsx mapped memory * cellgcm: use offset table to get the corresponding address to io address * cellgcm/sys_rsx: fix multiple io maps at the same effective address and vice verse * sys_rsx/cellgcm: return EINVAL if the io map requast's size is 0 * sys_rsx: fix mem_handle id * sys_rsx: fix unused pointer dereferencing ------------------------------------------------------------------- Tue May 29 12:38:14 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180529: * disable thread scheduler on intel * lv2: Ease the pain of lower end CPUs - Avoid busy waiting in usleep code as much as possible, instead yield - Also avoid busy_wait for SPU concurrency choker * rsx: Promote FIFO optimizations outside of strict mode - The benefits of FIFO optimizations are huge in some cases. The optimizations also do not break any tested applications so no need to disable with strict mode - A debug option is provided to disable this behaviour for testing * lv2: Reimplement sys_timer_usleep - Matches ps3 accuracy for all tested values with few exceptions - Do not enter the host OS kernel if waiting for less than 500us to avoid scheduler issues * overlays: Avoid race condition on remove-on-update views - Improves cleanup code to consist of 2 parts, remove then dispose. Remove does not deallocate the item until dispose is called on it, allowing the backends to first deallocate external references. - Caller is responsible for managing list locking and tracking disposable list of items when external references have been cleaned up before using dispose method. ------------------------------------------------------------------- Fri May 25 13:37:05 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180525: * Add SHA256 hash verification * Vulkan SDK Mirror ------------------------------------------------------------------- Thu May 24 18:55:44 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180524: * GPUOpen: drop bogus include ------------------------------------------------------------------- Thu May 24 12:47:41 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180524: * gl: fix wcb regression - Partial framebuffers and blit targets are possible! * fixup - Improve invalidated region checks for performance * rsx: Fixup - fix broken memory protection fail caused by region respec - Some applications will alternate memory between framebuffer and texture data * vk: Clean up memory allocation and fix GPUOpen VMA for Radeon * fixup - locking * rsx: Avoid calling any blocking callbacks from threads that are not rsx::thread - Defers on_notity_memory_unmapped to only run from within rsx context - Avoids passive_lock + writer_lock deadlock * Optimized cached write-through - Allows grabbing an unsynchronized memory block if overwriting contents anyway - Allows flushing only specified range of memory * fixup - range check * rsx: Fix segmented memory access for rsx::super_ptr * vk: Do not do extension test if in a fast context (enum only) * rsx: Silence some meaningless error * rsx: Lower format compatibility severity since it confuses some people * rsx: Texture cache fixes 1. rsx: Rework section synchronization using the new memory mirrors 2. rsx: Tweaks - Simplify peeking into the current rsx::thread instance. Use a simple rsx::get_current_renderer instead of asking fxm for the same - Fix global rsx super memory shm block management 3. rsx: Improve memory validation. test_framebuffer() and tag_framebuffer() are simplified due to mirror support 4. rsx: Only write back confirmed memory range to avoid overapproximation errors in blit engine 5. rsx: Explicitly mark clobbered flushable sections as dirty to have them removed 6. rsx: Cumulative fixes - Reimplement rsx::buffered_section management routines - blit engine subsections are not hit-tested against confirmed/committed memory range Not all applications are 'honest' about region bounds, making the real cpu range useless for blit ops * Performance enhancement - Vulkan memory allocator (#4635) ------------------------------------------------------------------- Wed May 23 13:42:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180523: * Add Human=true in appveyor.yml * Move SPU LLVM log file * SPU: remove passive lock (fixup) ------------------------------------------------------------------- Wed May 23 12:28:08 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180523: * vulkan: link with vulkan-1.lib instead of VKstatic.1.lib ------------------------------------------------------------------- Tue May 22 17:45:10 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180522: * Qt: Workaround for yet another hidden column resize * Qt: set smaller default log frame height * Qt: remove redundant visibility check in FixNarrowColumns * Qt: resize game list columns by default with slight spacing * Qt: disable resizing trophy tables to contents by default * Qt: apply header states after populating the tables * Qt: simplify occasions of restoreState * Qt: use correct menu icon for "Play last played game" on booting RPCS3 * Qt: include QButtonGroup in settings_dialog.cpp in order to fix Qt 5.11 * SPU: use reservation spinlocks on writes (non-TSX) * cellSaveData fix ------------------------------------------------------------------- Mon May 21 17:29:06 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180521: * Facepalm - overlays: Do not free self handle!!!! ------------------------------------------------------------------- Mon May 21 12:31:44 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180521: * Transactions: drop RDTSC usage * Fix vm::reservation_notifier * spu_getll_tx: diagnose loop count * spu_putlluc_tx: diagnose loop count * Replace notifier::lock_shared() with try_lock_shared() * Update SPU dump: print current MFC cmd * Transactions: move loops inside * Native UI refactored (#4623) * cellSaveData: don't return after funcStat was successful in savedata_op ------------------------------------------------------------------- Sun May 20 19:08:55 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180520: * Qt: Fix missing rows in our beloved trophy manager * Qt: Change Trophy Manager to use item selection instead of double click * Qt: Restrict trophy manager combo box size * build: Add xxHash as an emucore dependency (fixes Windows build) ------------------------------------------------------------------- Sat May 19 21:09:54 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180519: * gitignore: also ignore .dat files and KD-11's weird backups * Qt: Fix obnoxious glitch where game list columns ended up with 0 width * Qt: Fix compat download exception ------------------------------------------------------------------- Sat May 19 11:30:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180519: * log: add Vulkan header version * 3rdparty: remove Vulkan/Vulkan-LoaderAndValidationLayers ------------------------------------------------------------------- Fri May 18 20:55:28 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180518: * Qt: Enable all play options for the last played game on StartUp * Qt: trophy manager - fix trophy sorting by ID + handle some warnings * Qt: resize initial game list headers to minimal size if necessary * Qt: use column names instead of numbers in gui_settings * Qt: refactor game list column initialization * Qt: refactor Get-/SetGamelistColVisibility * Qt: improve game list header behavior * Qt: rsx debugger replace wrong setSectionResize command * Qt: add game icons to the trophy manager * Qt: remove trophy_tree_widget_item.h * Qt: trophy manager overhaul * TROPUSR: add GetUnlockedTrophiesCount() * Transactions: touch memory only after a failure * Change retire strategy in cond_variable::imp_wait (WIN32) * SPU: Allow waiting on LR+TM events (fixup) * spu_putllc_tx: preload a little more (WIN32) * Cleanup: unused imports * Fixup (endless loop) * travis: minor qt cleanup and improvements * travis: remove Vulkan-LoaderAndValidationLayers submodule checkout * travis: improve osx build (still not working and disabled) * cmake: improve pthread inclusion * cmake: use -Wno-unused-command-line-argument only with clang (gcc doesn't have this option) * cmake: remove leftover from #4329 about X11 * cmake: remove unused "CMAKE_BUILD" definition * cmake: update cotire to 1.8.0 ------------------------------------------------------------------- Thu May 17 13:21:18 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180517: * Set Windows timer resolution to 0,5ms (#4579) * Qt: simplify horizontal header text alignment in the gamelist * Qt: add sanity check to remove game (prevent nasty system flush). * Qt: Use pointer to game info instead of index in game list * Qt: streamline custom config refresh in game list and thus ignore scroll * Qt: streamline game removal in game list and fix followed item selection * Qt: merge custom context menu functions * Qt: minor fix for compat downloader * Qt: use NoEditTriggers instead of ItemIsEditable flags in the gamelist * Qt: add "Move Support" column to the gamelist and load the info from psf * Qt: fix gamelist sort by adding a sort_role to custom_list_widget_item * Qt: use GameInfo's bootable instead of GUI_GameInfo's bootable member * Qt: Hide firmware and path columns by default * gitignore: improve bin * JIT: add missing header after fd525ae1cf83 ------------------------------------------------------------------- Wed May 16 22:49:57 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180516: * Link against the top-level LLVM targets only * Add EXCLUDE_FROM_ALL to add_subdirectory calls * Remove old references missed in commit b97a9d22f59d3949dd3c00f73fa205faced3b636 * Compilation fix for GCC 8 (at least) * re-enable LLVM for travis and build AppImages with LLVM 6 * Build transactions at runtime * Implement build_function_asm ------------------------------------------------------------------- Wed May 16 13:12:47 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180516: * emu: remove wait_engine files * ps3emu_api: remove leftover files * rpcs3-tests: remove project * hle: improve cellSync2 error checks and logging * Avoid illegal available_user_memory in sys_memory (#4399) ------------------------------------------------------------------- Tue May 15 12:48:03 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180515: * Fix xxhash and AppImages Fixes #4573 ------------------------------------------------------------------- Mon May 14 17:25:26 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180514: * typos * Fix setParam in cellHddGameCheck * build/cmake: pass -DNDEBUG by default like msvc * Add description for SPU LLVM (#4558) * Added (experimental) next to LLVM Recompiler ------------------------------------------------------------------- Mon May 14 12:24:36 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180513: * Increase open file limit on Linux * Update SPU cache (v2) * Qt: Use additional windows resource file for qt.conf ------------------------------------------------------------------- Sun May 13 16:27:44 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180513: * Qt: Create qt/plugins dir to tidy up our Visual Studio builds ------------------------------------------------------------------- Sun May 13 13:37:19 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180513: * rsx: Fix build * exclude qt autogen files * vk: Include RADV POLARIS and RADV VEGA in the primitive restart blacklist * rsx: Improve puller state management - Properly identify puller spin primitives - Add a small wake delay after exiting a spin delay. Fixes desynchronization It seems real hw has a small delay between cell edits to commandbuffer memory at the GET address and the changes becoming visible to the DMA puller Simulated with a short busy_wait, large values will improve sync but degrade performance * gl: Improve AMD multidraw workaround - Reimplements the AMD workaround using an identity buffer to avoid the performance hit of doing multiple glDrawArrays for every single compiled set - Reimplements first/count allocation using a scratch buffer to reduce allocation overhead when large number of draw calls is used * vk: AMD primitive restart bug workaround - Emulate primitive restart with degenerate triangles * rsx/vk: Improvements and minor optimizations - Improve dirty state tracking affecting program state - vk: Refactor out transform constants upload into a separate channel to avoid if possible transform data uploads are quite expensive * rsx: Optimizations for program management * rsx: Improve fragment and vertex program usage - Introduces a gpu program analyser step to examine shader contents before attempting compilation or cache search - Avoids detecting shader as being different because of unused textures having state changes - Adds better program size detection for vertex programs - Improved vertex program decompiler - Properly support CAL type instructions - Support jumping over instructions marked with a termination marker with BRA/CAL class opcodes - Fix SRC checks and abort - Fix CC register initialization - NOTE: Even unused SRC registers have to be valid (usually referencing in.POS) * rsx: initial capture/replay functionality (#4510) * VirtualMemory: add missing header after 5d15d64ec8e5 (#4532) * Travis: remove LLVM for now * Opt-in set DAZ and FTZ * Update LLVM commit, use small code model * SPU Re: more precise jt generation ------------------------------------------------------------------- Wed May 09 23:51:17 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180509: * Set DAZ and FTZ * Memory mirror support * Implement SPU recompiler cache * Convert newlines in game title * SPU: improve jumptable detection * Implement fmt::to_lower * Improve fs::create_path * Cfg: add missing get() methods * SPU ASMJIT: simplify patchpoints * SPU LLVM Recompiler (preview) * Use LLVM 6 * Update cpu_translator * Improve dynamic_library * Update .clang-format * PPU LLVM: minor update * SPU Analyser improved * SPU ASMJIT: internal jumptable * SPU ASMJIT: allow holes in raw block data * SPU ASMJIT: rewrite halt instruction * SPU: fix MFC_PUTQLLUC_CMD fence trait * PPU: improve LWARX/LDARX consistency ------------------------------------------------------------------- Tue May 08 12:50:31 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180507: * gui/themes: Refactor Kuroi ------------------------------------------------------------------- Sun May 06 10:40:23 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180506: * Update some lv2 syscall names (#4490) * hle: make cellSubDisplayInit returns CELL_SUBDISPLAY_ERROR_ZERO_REGISTERED ------------------------------------------------------------------- Mon Apr 30 12:55:19 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180430: * Readme (#4503) ------------------------------------------------------------------- Sun Apr 29 22:39:38 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180429: * Add Rich Presence option ------------------------------------------------------------------- Sat Apr 28 10:53:34 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180425: * gl: Workaround for AMD driver bug * gl: Improve pixel transfer code and notify on AMD driver bug - Readback does not work at all with float textures on AMD openGL Driver throws a bogus OUT_OF_MEMORY error regardless of amount of VRAM and system RAM available * rsx: Workaround for lost memory sections - TODO: surface_cache and texture_cache need a better method of persisting partial framebuffer resources * rsx: Restore component mapping override for depth textures * vk: Reorganize handling of formats support - Formats support is linked to the physical device and by extension the logical device derived from it It therefore makes no sense to track this as a separate object. Simplifies parameter passing and template specialization. Also avoids corner cases with AMD hardware (where D24S8 is not supported) * fixups * vk: Fix border color selection * rsx: Fix performance counters - Detect jump-to-self type idling * rsx: Minor fixes - vk: Clear dirty textures before copying 'old contents' in case the old data does not fill the new region - rsx: Properly decode border color - seems to be in BGRA format - vk: better approximation of border color to better choose between the presets - vk: Individually clear color images outside render pass and without scissor - vk: Fix renderpass selection for clear overlay pass - vk: Include scissor region when emulating clear mask * rsx: Critical fixes - texture cache: Avoid leaking memory sections - Avoid double ref increment on flush-always reprotection - Detect invalidated_resources entries in surface cache when protecting fbo memory - vk: Copypasta bugfix, properly initialize aspect mask * rsx: Texture fixes - gl/vk: Fix subresource copy/blit - gl/vk: Fix default_component_map reading - vk: Reimplement cell readback path and improve software channel decoder - Properly name the subresource layout field - its in blocks not bytes! - Implement d24s8 upload from memory correctly - Do not ignore DEPTH_FLOAT textures - they are depth textures and abide by the depth compare rules - NOTE: Redirection of 16-bit textures is not implemented yet * rsx: Framebuffer fixes Primary: - Fix SET_SURFACE_CLEAR channel mask - it has been wrong for all these years! Layout is RGBA not ARGB/BGRA like other registers * rsx: Blit engine fixes - Ignore unlocked blit sections [TODO] - Do not attempt blit on hw if bytesize is unsupported - gl: Implement typeless memory transfers Uses pbo to handle type-agnostic memory transfer * overlays/gl: minor fixes - fix ogl color map for overlay resources - fix label background for save dialog * gl: Reimplement textures - Separate texture data from texture views * rsx: Improve format mismatch detection hack * rsx: Workaround for G8B8 render targets - Mainly affected are colormasks and read swizzles ------------------------------------------------------------------- Sun Apr 22 16:25:04 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180422: * Fix unnecessary cache dir * Fix game title if unset * Fix warning (vm::reservation_update) * Fix warning (fmt_unveil) * SPU ASMJIT: inline WRCH * SPU: fix MFC_WrTagUpdate * SPU ASMJIT: inline RDCH * SPU ASMJIT: inline RCHCNT * SPU: rewrite spu_channel_t * SPU ASMJIT: übertrampolines and spu_runtime * SPU ASMJIT v2.0 * Refactor debugger_frame into subclasses. Mostly trying to simplify breakpoints. * Fix build with ffmpeg 4.0 ------------------------------------------------------------------- Sat Apr 21 11:17:41 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180420: * cellPad: check for more invalid parameters ------------------------------------------------------------------- Thu Apr 19 12:25:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180419: * Discord Rich Presence Integration (Thanks to @Megamouse for fixing the windows build) * Remove weird whitespace from appdata Fixes xml validation * remove glapi.so.0, and do some minor cleanup * Implemented sysCacheClear() (#4445) ------------------------------------------------------------------- Wed Apr 18 13:11:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180418: * Qt: implement log Repaint ------------------------------------------------------------------- Mon Apr 16 22:48:03 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180416: * Fixes PPU disasm for branch opcodes ------------------------------------------------------------------- Mon Apr 16 12:49:05 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180416: * Fix setParam in cellGameDataCheckCreate2 * Fix appstream copypasta, thanks to @Dominator56 for pointing it out * Fix AppImages for distros that are not ubuntu 14.04 * Rename Supporter * Qt: Fix vfs dialog reset and add some translations ------------------------------------------------------------------- Sat Apr 14 11:14:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180414: * Add appstream metadata for linux ------------------------------------------------------------------- Tue Apr 10 13:11:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180410: * Minor bugfix * SPU: fix non-TSX path * Fix typos (#4410) ------------------------------------------------------------------- Sat Apr 07 23:42:23 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180408: * cellVdec: Do not decode next frame during end_sequence * Implement sys_vm_invalidate * SPU: fix possible livelock * Rewrite vm::reservation ------------------------------------------------------------------- Sat Apr 07 10:35:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180406: * SPU: improve TSX usage * Use vm::passive_lock for SPU threads * SPU: cache barrier/fence masks ------------------------------------------------------------------- Fri Apr 06 11:18:36 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180406: * Bundle libstdc++6 with AppImage to make it work on trusty ------------------------------------------------------------------- Thu Apr 05 12:46:34 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180405: * vk: Squash some spec violations that went unnoticed * rsx: Fix alphakill * rsx: Fix vertex input detection - Properly detect inline array registers vs constant value registers - Silence needless spam, 306E is 2D surface engiine, the assumption that y is multiplied by 306E pitch is not crazy * rsx: Implement proper Z-order curve in 3 dimensions - Should fix garbage palette textures getting uploaded (LSD graphics) * rsx: Texture cache updates - Properly implement section gather for 3d and cubemaps Implements render-to-3d and fixes some corner cases for render-to-cubemap ------------------------------------------------------------------- Tue Apr 03 09:54:18 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180403: * Silence some annoying terminal output * Make loading StyleSheets work for AppImages and if installed via make install ------------------------------------------------------------------- Mon Apr 02 19:01:07 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180402: * Improve save data dialog ------------------------------------------------------------------- Mon Apr 02 10:55:54 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180401: * Fix MMIO on SPU * Fix vm::check_addr usage * Process RawSPU MMIO in do_dma_transfer * Fix MFC_SYNC_CMD ------------------------------------------------------------------- Sun Apr 01 10:43:00 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180401: * cellVdec: log error when using interlaced frame instead of throwing an exception * rsx_debugger: clear command count when not used * rsx_debugger: use PerformJump on doubleclick instead of the mouse scroll * rsx_debugger: handle show buffer per doubleclick through an event filter * Qt: add show_windowed_image to qt_utils * rsx_debugger: move debugger table resize to qt_utils for reusability * rsx_debugger: save/restore table header states * rsx_debugger: layout refactoring for highdpi and resizeability * Qt: simplify resetGeometry occurances * stub cellGem some more (#4349) * PPUTranslator: Ignore relative relocations * Return parameter error if the result of funcFixed is invalid. * Corrected logic for handling number of returned save data list entries and total number of save entries. * Handle some invalid save function parameters. * Calculate save data file size more accurately and return size in savedata_get_list_item if requested. * Remove mfc_thread * RawSPU: reset status register on start * [LLVM] Fix thread limiter * [LLVM Cache] Minor workaround ------------------------------------------------------------------- Sat Mar 31 11:07:28 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180331: * qt: Do not deploy Qt5Quick * cellCamera: Implement cellCamera*NotifyEventQueue and do some refactoring * fix debug build * dx12/vk/gl: implement use of vertex_data_base_index when calculating index * remove redundant error messages in sceNpTrophy * improve sceNpTrophyGetTrophyInfo and sceNpTrophyGetGameInfo ------------------------------------------------------------------- Thu Mar 29 14:13:03 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180329: * rsx: Fix copypasta * rsx: Disable gamma control on WZYX textures - Gamma is seemingly used for (D/X/A)RGB only. Data textures are unaffected * rsx: Dubious fix for broken B8 swizzle remap ------------------------------------------------------------------- Thu Mar 29 10:09:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180329: * Strict Rendering Mode (SRM) fix. Move old surface copy before texture upload. * Qt: minor fixes ------------------------------------------------------------------- Wed Mar 28 11:03:31 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180328: * vk: Improve compatibility workarounds - Disable fence reset on gcn1 - gcn3 - Enable polaris+ workarounds on linux if proprietary driver is used * Qt: use seperate icon sizes for game list and game grid * Fix a typo in gcm_enums.cpp (#4333) * Update settings to indicate speed differences between Interpreters and Recompilers for less confusion (#4345) ------------------------------------------------------------------- Sun Mar 25 20:50:31 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180325: * vulkan-build: use stub sha1 to bypass spirv_tools check when running setup scripts * rsx: Clamp negative fog distance ------------------------------------------------------------------- Sun Mar 25 12:59:51 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180325: * rsx: Fix some texture cache problems - gl/vk: Properly handle remapping temporary resources * gl: Fix leaking occlusion queries - GL queries share the target binding (not asynchronous!) - Discard active queries by closing them, leave closed queries alone (nothing to be done for discard op) * gl: Always use indexed blend caps to avoid conflict with the state cache. - glEnable/glDisable should not be used with GL_BLEND as the main renderer uses the indexed variant * rsx: Overhaul rendertarget sampling/shuffles - Reimplements render target views used for sampling - Optimizes access using an encoded control token - Adds proper encoding for 24-bit textures (DRGB8 -> ORGB/OBGR) - Adds proper encoding for ABGR textures (ABGR8 -> ARGB8) - Silence some compiler warnings as well - TODO: Real texture views for OGL current method is a hack * gl: Implement video-out calibration for gamma and dynamic range - Seems to be of limited use but if it is determined to be useful, a vulkan implementation can be done * rsx/fp: Fragment program overhaul - Separate TXB from TXL: They are completely different! - Properly perform TMU emulation in the fragment shader. Implemens SRGB conversion and alphakill at the moment - Properly perform ROP emulation in the fragment shader. Implements FRAMEBUFFER_SRGB. While support on the chip looks to be incomplete (and wierd), it does work - Document some more bits in SHADER_CONTROL register * video out: Set up video configuration options in fxm - TODO: Actually do something with the values * vk: Fix AMD primitive restart emulation when strict mode is active The restart emulation is there to keep the proprietary drivers from randomly crashing when using primitive restart * rsx/gl/vk: Obey channel remapping on framebuffer resources if requested * rsx/fp: Improvements - Export some debug information in the free texture register space components zw Very useful when analysing renderdoc captures - Enable shadow comparison on depth as long as compare function is active and texture is uploaded for depth read Some engines (UE3) read all the components in the shader and use mul/mad with the result * rsx: Texture format fixes - Implement SRGB (gamma corrected) textures (DXT1, DXT3, DXT5, RGBA8 only) - Fix channel map decode for XY data texture formats - Fix remap layout for X16 textures (verified with Mass Effect 3) ------------------------------------------------------------------- Sat Mar 24 17:50:36 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180324: * unimportant teepo fix (#4328) ------------------------------------------------------------------- Sat Mar 24 16:02:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180324: * sys_spu: dont check prio if spu group type is 0x20 * RawSPU/MFC: fix get start type proxy commands * sys_spu: fix spu image loading address calculation * sys_crash_dump user_log_area improvements * Partial compilation fixes for osx ------------------------------------------------------------------- Sat Mar 24 10:38:58 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180324: * Fix missing Detection for AVX OS Support * Fix git-version.h not correctly updating. * sys_fs: returns the correct error value when the path is 0 or an empty string * stub sceNpScoreWaitAsync and sceNpScorePollAsync * Fix VTC source index increment * VTC tiling - fix source offset increment. * Add end condition for VTC copy. This handles the case when depth is not a multiple of 4. * Fix code formatting * Remove Volume Texture Compression (VTC) tiling for Vulkan, DX12 and ATI (OpenGL). * Use lowercase for FNIDs for consistency * Implement fmt::base57 * Implement patch support for PRX * Implement SPRX precompilation ------------------------------------------------------------------- Thu Mar 22 17:06:50 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 0.0.5~git20180322: * rsx/Qt: add option to disable the shader compilation hint * Qt: sort the game list case insensitive initially * Qt: use QString::simplified() instead of get_single_line * Qt: clean up gui_settings.h - move general functions to qt_utils.h * Qt: move compat_status to game_compatibility.h * Qt: enable hiding on game list and optimize the game list filter * visual studio: add filters for some module headers ------------------------------------------------------------------- Wed Mar 21 20:14:48 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 0.0.5~git20180321: * Check if the compiler supports "-march=native" * Use "USE_NATIVE_INSTRUCTIONS" variable instead of a specific "TRAVIS" variable * Teepo fix ------------------------------------------------------------------- Tue Mar 20 14:24:11 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 0.0.5~git20180320: * set logging stack mode to true by default * qt: make description of disabled AF setting a bit clearer * qt/spu: remove max dma write size setting * add enc_temp_folder to gitignore * gl: Compat support for mesa drivers Needs CLIENT_STORAGE bit set for persistent buffers to make them useful ------------------------------------------------------------------- Mon Mar 19 15:04:48 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 0.0.5~git20180319: * rsx: fixups gl/vk: Bump shader cache version gl/vk: Disable anisotropic override when strict mode enabled as it is proven to alter some games negatively gl: Clamp buffer view range to not exceed the backing buffer size. Also add assert for the same condition * Prevent accessing incomplete RPCS3.log.gz * Add return codes when camera handler is set to null * Make cellCameraInit returns CELL_OK when no camera is plugged in. ------------------------------------------------------------------- Tue Mar 13 18:58:27 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180313: * rsx: Disable async count verification to avoid lockup due to zombie reports in ZCULL * fix linux builds * vk: Implement reading from cell if swap image isn't found * rssx" Halfplement alpha-to-coverage AA transparency * rsx: ZCULL synchronization fixes - Track asynchronous operations in RSX core - Add read barriers to force pending writes to finish. Fixes zcull delay flicker in all UE3 titles without forcing hard stall - Increase zcull latency as all writes should be synchronized now * rsx: ZCULL rewrite and other improvements - ZCULL unit emulation rewritten - ZCULL reports are now deferred avoiding pipeline stalls - Minor optimizations; replaced std::mutex with shared_mutex where contention is rare - Silence unnecessary error message - Small improvement to out of memory handling for vulkan and slightly bump vertex buffer heap * rsx: Improve transform constants management - Removes the duplicate local_transform_constants - Resets the transform constants on every context reset - Simplifies the code abit which should make it faster - NOTE: Transform constants are persistent across context re-init events (VF5) * rsx: Simplify MRT blend setup; Enable separable MRT blend on vulkan and fix corner cases for GL * rsx: Properly implement raster window offsets * rsx: Improve FIFO commandlist flattening - TODO: Alot of work is still needed to execute draw commands out of order Thats the only solution to games sending many draw calls with high frequency of state changes * rsx: Basic performance counters * vulkan: Support APPLE - Adds support for compilation on MAC with moltenVK. Note that vulkan does not work on MacOS yet. There are two main blockers:- 1) Texture component swizzles are not supported except for RGBA8_UNORM->BGRA8_UNORM. 2) There is a bug in their SPIR-V -> MSL generator. GLSL.std.450.xxxx functions are not implemented which breaks rpcs3 functionality. Trying to compile a vertex shader will throw because unpackHalf2x16 is missing. * rsx/fp: Color output registers are always present and zero initialized - According to NV_fragment_program spec, registers are zero initialized always - A program even without writing to these registers will have black (0, 0, 0, 0) output Confirmed behaviour with MotorStorm games. Their engine uses this quirk to clear color buffers when doing depth replace Might be an unfixed game bug * rsx: Clear up confusion on depth writes. According to the NV_fragment_program spec, its not feasible to have 16-bit depth wries NOTE: NV_fragement_program precedes NV_fragment_program2 which is very close to what RSX consumes. It is hardware from that era afterall * gl/vk: Clean up some format casts - TODO: Byte ordering considerations on data casts * rsx/vk/gl: Enforce format matching for render target resources. Fall back to raw data copy if match fails - Forces Bitcast of texture data if input format cannot possibly be the same as the existing texture format * rsx/fp: Improve rgister component gather detection - Also avoids clobbering register data by keeping gathered bits in a temp var * rsx/vulkan: Add post-compilation key validation and dynamically determine attachment write maks based on decompiled shader - A new step is added between decompilation and pipeline object creation allowing for properties to be updated based on shader contents - Allos masking off attachment writes that are unmodified in the shader * rsx: Nvidia driver compatibility workarounds - Sanitize NaN values before they reach the driver. On nvidia (X * NaN = X) * rsx/gl/vk: Improvements - gl: Do not call makeCurrent every flip - it is already called in set_current() - gl: Improve ring buffer behaviour; use sliding window to view buffers larger than maximum viewable hardware range NV hardware can only view 128M at a time - gl/vk: Bump transform constant heap size When lots of draw calls are issued, the heap is exhaused very fast (8k per draw) - gl: Remove CLIENT_STORAGE_BIT from ring buffers. Performance is marginally better without this flag (at least on windows) * rsx/gl: Minor fixes - Identify depth textures reaching the gpu via shader_read upload path - Use correct timestamp counter for opengl - inline draw_state::test_property because msvc doesnt do it for us * rsx/vk: More optimizations - Do not bother rechecking the dirty sampler pool for hits. Its faster to create new sampler than to search the pool - Reserve some memory on vertex layout struct to reduce reallocation penalty * vulkan: Optimize vertex data upload - Reuse buffer views as much as possible, vkCreateBufferView is slow on NV Implemented as a large sliding window, reuseable until it is filled * rsx: Texture cache fixes - Optionally attempt to merge framebuffers into an atlas if partial resources are missing - Support for data update requests to the temporary subresource handler This is useful for framebuffer feedback loops where a new copy is needed after every draw call (resource is always dirty) * Remove an ugly hack pertaining to partial framebuffer-resident texture data - Its better to fill in the missing information with a wrap or clamp than to fake the texture reads in valid regions - Texture coordinate scaling is used to fill in for the cropped dimension available * Debugger improvements (#4026) * Thread: unbreak build on BSDs after ac82ecf387c6 * Use latest Qt patch level on appveyor. * cellGameContentPermit workaround * Improve cellGameCreateGameData error checks * Fix cellGame regression ------------------------------------------------------------------- Mon Mar 12 10:41:27 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180312: * Travis Fixup Fixup (#4273) ------------------------------------------------------------------- Sun Mar 11 18:17:38 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180311: * Use pthread_setname_np (Linux, GDB) * Fix crash on exit after access violation * Fix argv for DG category * Fix cellGameDataCheckCreate2 * Improve vfs::mount * Improve boot dir access * Relax /dev_bdvd mounting requirements * Fix safe_writer_lock (typo) * Fix Travis by using a PPA to install QT. (#4269) ------------------------------------------------------------------- Sat Mar 10 19:12:35 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180309: * ppu/sys_interrupt: add stack_reset command to fix sys_interrupt stack overflowing * rsx: Fix alpha test on VK/GL Moving alpha test outside of fp_main. This enforces alpha test is still done even if shader asm has early return ------------------------------------------------------------------- Thu Mar 08 18:18:48 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180307: * rsx: add vertex data base to offset and mask before translating address ------------------------------------------------------------------- Tue Mar 06 18:56:48 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180306: * Update Vulkan-LoadAndValidationLayers to make CI work again ------------------------------------------------------------------- Tue Mar 06 14:24:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180305: * gui/themes: YoRHa by Ani - Bugfixes * gui: Fix typos and clean up Engrish (#4250) ------------------------------------------------------------------- Sat Mar 03 12:16:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180303: * cellGame: Fix cellDiscGameGetBootDiscInfo return values (#4241) * Qt: enable background images for floating dock widgets * [HLE] First steps to Playstation Move (#4083) ------------------------------------------------------------------- Fri Mar 02 13:44:16 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180301: * Fix boot game crash * Improve TTY output * Optimize SPU interpreter * CPUTranslator: implement ICmp ops ------------------------------------------------------------------- Thu Mar 01 13:45:11 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180301: * Qt: fix dockwidget background ------------------------------------------------------------------- Thu Mar 01 10:50:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180301: * gui/themes: YoRHa by Ani * Add 2-channels mode for cellAudioOutGetDeviceInfo * Change return of function "sceNpMatching2Init" to CELL_OK * Fix Boot regression introduced by #4158 * Qt: enable custom fonts for stylesheets and add random object names * Make cellNetCtlGetInfo returns the correct value in disconnected mode * spu/interp: optimize floating point exception checking * Qt: ask for cache and config removal on app remove (#4016) * Improve GDB debug server (#4027) * Qt: simplify Boot options a bit (#4158) ------------------------------------------------------------------- Wed Feb 28 13:56:23 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180228: * Fix firmware installation for vfs * Qt: remove gamelist toolbar * Add callbacks for cellStorage * Add callbacks for cellUserInfo * Add callbacks for cellPhotoImport * Add callbacks for cellSysconf * Add callbacks for cellCrossController * Add callbacks for cellPrint * Add callbacks for cellPhotoDecode * Add callbacks for cellMusicExport * Add callbacks for cellMusicDecode * Refactor .travis.yml and qt installation ------------------------------------------------------------------- Mon Feb 26 00:48:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180225: * fix spu interpreter single stepping ------------------------------------------------------------------- Sun Feb 25 15:26:50 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180225: * Add CELL_GAMEUPDATE_RESULT_STATUS_* enum * Checks for content_id in sceNpDrmVerifyUpgradeLicense and sceNpDrmVerifyUpgradeLicense2 ------------------------------------------------------------------- Sat Feb 24 23:03:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.5~git20180224: * RPCS3 0.0.5: Versioning Changes (Hotfix) (#4208) * linux appimage versioning changes synced with windows artifact version * windows artifact versioning changes, plus a small syntax fix * minor syntax changes * Add callbacks for cellMusic ------------------------------------------------------------------- Fri Feb 23 22:12:57 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180223: * Fix quoting in cmake ------------------------------------------------------------------- Fri Feb 23 11:49:59 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180223: * Update for Qt 5.10 (#4202) ------------------------------------------------------------------- Thu Feb 22 18:39:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180222: * Qt: use setAttribute(AA_DisableWindowContextHelpButton) instead of flags * sceNpTrophyGetRequiredDiskSpace: take vfs into account for trophy dir * Qt: add translation to save manager messageboxes * Qt: improve VFS dialog a bit * rsx/vk: Cleanup - Silence some warnings, remove dprints * vulkan: Swapchains reimplemented - Adds support for abstract implementations - Adds native windowing implementations for WIN32 and X11 as fallbacks when present support is lacking (headless configs) * Implement _sys_qsort in sys_libc_.cpp (#4176) * disasm: clamp spu address ------------------------------------------------------------------- Tue Feb 20 12:01:19 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180219: * add kdevelop to gitignore * add vscode files to gitignore * Re-arrange VULKAN_PREBUILT option * Add an easy way for package builders to disable native cpu optimizations ------------------------------------------------------------------- Sun Feb 18 23:16:54 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180219: * Qt: fix gamegrid scroll ------------------------------------------------------------------- Sun Feb 18 16:49:34 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180218: * Add flag for rockband. Tests have shown it independent other flags. But, actual use is currently not known. * hle: return enosys on unpresented syscalls ------------------------------------------------------------------- Fri Feb 16 13:41:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180216: * rsx/gl: Hotfix for GL format compatibility check when high precision depth buffers is enabled * vk/drivers: Restore polaris+ patch to disable primitive restart * vulkan: Improve primitive restart workaround for vega/polaris - For some reason the hardware forgets that primitive restart is enabled and tries to actually read vertex index 65535 - Works correctly if uint32 vertex indices are used instead of uint16 for cases where primitive restart is active * rsx: Account for null blit ops (memcpy) - Do not perform extra memory tasks if no actual image copy was performed * rsx: Add texture readback statistics to the texture cache and debug overlay * rsx: Add cache pattern checking to blit engine resources * vulkan API fixes - Fix for texture barriers - vulkan: Rework texture cache handling of depth surfaces - Support for scaled depth blit using overlay pass - Support proper readback of D24S8 in both D32F_S8 and D24U_S8 variants - Optimize the depth conversion routines with SSE - vulkan: Replace slow single element copy with std::memcpy - Check heap status before attempting blit operations - Bump guard size on upload buffer as well * infinitesimal fixes * gl: Fix save binding state for cube textures * rsx: Minor optimizations * rsx: Fix disjoint draw range splitting - Fixes flickering and missing draws in R&C and other games such as Motorstorm Apocalypse and Okami HD when strict mode is disabled * rsx/fp: Discard shaders with undefined (non-existent) writes. On nvidia+vulkan, undefined writes autofill with blue color * rsx/texture_cache: Do not access non-existent components * rsx: fbo fixes 2.5 - Implement flush-always behaviour to partially fix readback from a currently bound fbo - Without this, only the first read is correct, as more draws are added the results become 'wrong' - Fixes WCB and cpublit behviour - Synchronize blit_dst surfaces to avoid data loss when gpu texture scaling is used - Its still faster in such cases to disable gpu texture scaling but some types cannot be disabled without force cpu blit (e.g framebuffer transfers) - Memory management tuning - rsx: on-demand texture cache rescanning for unprotected sections - rsx: Only framebuffer resources are upscaled - Do not resize regular blit engine resources - Lazy initialize readback buffer when using opengl -- These measures should help minimize vram usage * gl: Cleanup some more things - Avoid referencing GL's null texture - Improve texture creation helpers - Remove useless __glcheck from GLHelpers.cpp * gl: Reuse framebuffer textures whenever possible * rsx: Reorganize framebuffer setup code - Fixes some fast paths for framebuffer creation and binding ------------------------------------------------------------------- Mon Feb 12 21:42:43 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180212: * hle: gpio syscalls * gui: Update compatibility colors * Move Contributing to .github * GL: Update glext.h to ver 20180114 * rpcs3qt: Handle duplicate name warning * Remove redundant imports * Remove unused files (ps3emu_api) * openAL: Update to 1.18.2 * VK: add two options (workarounds) * CPUTranslator: add bitcast, trunc, zext, sext ------------------------------------------------------------------- Sun Feb 11 18:03:47 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180209: * Clean vm::ps3 namespace use * Remove PSP2 * Game list: improve deduplication logic * SPU ASMJIT: rewrite 128-bit shifts by bit * SPU ASMJIT: minor change to ROTH instruction * Add ignore=dirty to hidapi submodule * Update LLVM submodule URL * PPU LLVM: rewrite AVG instructions * PPU LLVM: rewrite add/sub instructions * SPU: rewrite ORX instruction * SPU: emit VZEROUPPER * Initial cpu_translator impl * Handle exceptions at loading patch file * Handle exceptions at game list update * SPU: use XOP instructions * SPU: 16-bit shifts for AVX2 * hle: add a missing check in sys_spu * spu: add a missing STOP code * mfc: dont check for one completed command if tag update requast is 2 * appveyor: Add artifact sha-256 hash files (#4148) * Make fs::dir::open skip forward on failed metadata instead of crashing * Fix gs_frame spawning on monitor other than the one the main window is on (#4029) * Add sceNpMatchingInt * Add callbacks for cellPhotoExport * update av build version as late as possible to prevent webhook breakage * package artifacts using 7z LZMA2 ultra compression * minor refactoring * reformat libs fetching, fix appveyor build with luck * update qt 5.9 -> 5.10.0 * download and distribute compat db, cache db in case download fails * add openssl artifact using prebuilt binaries from appveyor build env * nuke after_package, move stuff to after_build * version and artifacts changes - fetch latest tag from git describe, use 7z for artifacts in after_build section * reformat and move BRANCH and PATH setting, reformat submodules fetching * reformat llvm and vulkan libs fetching * removed comments copied directly from appveyor docs, clone_folder is not needed since it's set to the default value ------------------------------------------------------------------- Fri Feb 02 15:02:18 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180202: * core/GUI: Fix null pointer dereference * vk: Also discard background if window is too small in vertical axis * rsx/gl/vk: Support for swizzled? context surfaces - For some surfaces, dimensions are passed via the log2 bits rather than surface pitch -- This is similar to the setup for nv406e and probably means the surfaces are padded and swizzled * vulkan: implement proper texture read barriers * gl: API compliance fixes - Do not assume texture2D when creating new textures - Flag invalid texture cache if readonly texture is trampled by fbo memory. Avoids binding a stale handle to the pipeline and is rare enough that it should not hurt performance * Add callbacks for cellVideoUpload * Add callbacks for cellVideoExport * Add callbacks for cellRec * Install and load icons from Icons in executable directory, fixes local builds using Icons * remove libfreetype.so.6, fixes AppImages for some users * vk: Stuff - Remove subpass dependencies; transitions are handled via exicit imagememrybarriers - Reuse sampler objects whenever possible; create/delete cycles are not free * glsl/fp/vp: Avoid shader clutter - Do not add unused subroutines in shaders unless necessary -- makes shaders easier to read and disassembled spir-v has less clutter - glsl: Replace switch block with lookup table * rsx: misc fixes - Supply explicit options for spv emit allowing optimizations (not yet compiled into the backend) - Add epsilon fix to glslcommon - Fix shader dialog crash when using qt (race condition) * rsx/fp/vp: Epsilon value is too large! - Original epsilon value was 1.E-10 which nvidia linux driver could not read properly -- Restores the original value represented in decimal notation * gl: Implement swap control on linux * Fix native UI save_dialog when there are no saves (#4113) ------------------------------------------------------------------- Tue Jan 30 12:30:51 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180129: * Fix to B8 format render target swizzling (#4123) * Stub some functions in cellWebBrowser * improve cellKB keyreleases and autorepeat * Use clang 5.0 in travis (#4115) * Qt/Core: implement max llvm compile threads ------------------------------------------------------------------- Thu Jan 25 11:36:39 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180124: * vk/ogl: Fix regression for G8B8 * hle: Stub function Unimplemented in NpSns. * rsx: fixed emulated primitive restart * rsx: fix potential hang during thread close * improved hack/fix for cellsurmixer ------------------------------------------------------------------- Wed Jan 24 12:38:14 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180122: * Minor fixes - vulkan: Do not assume an aux frame context must exist in a well defined state as set in init_buffers() since the request might be external (via overlays path) - gl: Do not bother waiting for idle before servicing external flip requests - gl: Queue overlay cleanup requests to ensure only glthread attempts touching the context - overlays: Do not compute size metrics for invalid/unsupported glyphs * rsx/gl/vk: Fixes and optimizations - opengl driver optimization for nvidia. On nvidia glTextureBufferRange performance is horrendous -- Initialize texture buffer to whole buffer at startup and use absolute offsets to read data instead -- Over 2x performance in some cases (Resogun, TNT racers) - gl/vk: Do not flip non-existent display buffers. Fixes spec violation at boot in TNT racers demo - whitespace fixes for sys_rsx * scheduler stuff - more threads for rsx - better 1600 * rsx: Texture format fixes - Implement low bit decode override flags for 2-component textures - Properly implement alot of texture remaps according to the autotest results * vk/gl: Preserve clamped z precision to some extent - Use edges of depth range to map clamped stuff ------------------------------------------------------------------- Sat Jan 20 00:12:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180120: * SPU/MFC: check for sync command before doing a list transfer * install icons to /usr/share and load them from there * rsx/texture_cache: Remove hacks; it has been proven that in offsets are in x16 fixed point * rsx/gl/vk: Simulate z clipping with selective depth clamp - The scale offset matrix is fine but on real hardware the z results seem to be independent of near/far clipping distances -- If depth falls within near/far, clamp depth value to [0,1] * overlay: Fixes - Add fallback fonts including attempting to find glyphs in dev_flash - Fix vulkan hang on startup if icons are not present * rsx: Synchronization improvements - Always flush the primary queue and wait if not involking readback from rsx thread -- Should fix some instances of device_lost when using WCB -- Marked remaining case as TODO -- TODO: optimize amount of time rsx waits for external threads trying to read * cell/scheduler: Manage thread placement depending on cpu hardware * [Travis] Update urls to retrieve glew and vulkan deb packages * RSX: properly handle disconnected pads * Qt: remove obsolete and faulty m_icon_color. RepaintGui does it already * Improve cellSearch implementation ------------------------------------------------------------------- Thu Jan 18 11:54:04 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180117: * rsx/overlays: Introduce 'native' HUD UI and implement some common dialogs (#4011) * Fix #3950 * [GUI] remove the letter v from the emu's version * [GUI] add commit hash to game panel if not master * Qt/Input: use name_string instead of hard coded strings * Qt/Input: enable XInput configs with disconnected devices * Qt: fix deadzone preview size on high dpi * SPU: Allow writing to the WrSRR0 channel * SPU: Allow reading of the RdSRR0 channel * Update current firmware version * Add option to disable on-disk shader cache (#4041) * Fix "cellGame: cellGameDataCheck arg validate" * Qt: handler zero-width columns in gamelist * Detect Vulkan Xlib/Wayland surface support at runtime (#4048) * cellGame: cellGameDataCheck arg validate * rsx: add log for potential source of error * rsx: Fix depth clipping * d3d12: fix invalid framebuffer crash and shader compile * rsx: fix image_in arg and swizzle fix * update vulkan submodules * handle some warnings * Qt: fix CurrentSelectionIconPath() * Qt: fix register editor * improve cellPad * Input: init pads as disconnected ------------------------------------------------------------------- Sat Jan 13 13:55:13 UTC 2018 - pousaduarte@gmail.com - Update to version 0.0.4~git20180113: * GUI/Themes: Fix GameList Toolbar Icon Color * GUI/Themes: Fix GameList Icon Backgrounds * Fix windows build * Add support for Vulkan on Wayland * Qt/Input: Introduce profiles * Also stub some similar cellGameUpdate functions * Better stub cellGameUpdateCheckStartAsyncEx/FinishAsyncEx, fixes PAIN * .travis.yml: set git depth to false * Fix debug build * Qt: implement simple find dialog for logs (#3941) * SPU: rewrite ROTH (AVX-512) * Improve Restart function * Add Start Threshold parameter (ALSA) * rsx: Robustness fixes - Track last working state and reset to it if RSX starts to desync -- This is especially useful when running vulkan since the renderer will easily outpace the rest of the system when merely recording draw commands - Ignore empty sets -- Mark empty/invalid IB sets as having 0 element counts. * Fix #4005 regression * [gui] Show total number of llvm compilation dialogs * MsgDialog: Add SetMsg() for changing main text * fix clang warning: logical-op-parentheses * Trophy: Return correct disk space requirements * PPU: use shared jit_compiler instance * Travis: Pass verbose to Qt installer (#4008) * rsx: Workaround for nvidia linux - For some reason, using 1.E-x notation does not work on nvidia linux. Could be a bug in spir-v generator or the driver itself * rsx: Invalidate surface configuration if stencil state is changed - Stencil state afects validity of a depth/stencil surface same as depth state * rsx: Implement depth clamping * rsx/vk: Synchronize access to queue submit calls - Should prevent concurrent access on the present/graphics queue * gl: Remove flag test optimization as it does not work properly - Most texture cache operations will break sampler state and the extra complexity is not worth the very small speed bump * Qt: fix compat list sort (#4003) * Warn about corrupted PARAM.SFO * Trophy: check both bdvd and hdd locations * cellGame: don't write empty TITLE_IDs in PARAM.SFO ------------------------------------------------------------------- Thu Jan 4 14:57:38 UTC 2018 - pousaduarte@gmail.com - Added llvm5.patch to fix build with LLVM5 ------------------------------------------------------------------- Fri Dec 29 17:56:02 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171229: * SPU: minor addition for CFLTU, CUFLT * Fix game category issues * Remove /app_home/ dependency * Fix lv2_socket id_base * SPU: minor additions for AVX2+ * Fix primary stack size * Set lv2_socket id_base (#3983) * Fix cellPadSetPortSetting (#3980) * Input: evdev: add positive axis list yml to handle 0+ range sticks ------------------------------------------------------------------- Sat Dec 23 19:32:13 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171223: * Reset initial seek position in MSELF files (#3977) * Qt/Input: fix numpad (regression) * vulkan: Tweaks to sampler state fallback paths - Make all texture access on non-existent textures return 0 - If border color is closer to 0, then set alpha to 0 as well (might break some corner cases with alpha test) - Zero initialize null sampler * rsx: Modify semaphore_acquire timeout detection - Take paused state into account - Make timeout configurable * rsx: fix initial swizzle ordering for render target data * rsx/fp: Fix alphakill * c++ is hard - Remove unnecessary const definitions * New themes for RPCS3 (#3741) * Input: fix initial DS4 connection (regression) * _sys_process_exit: Fix logging (#3963) * Input: Fix connection count * Input: fix evdev directions, sticks and rumble * Qt: Fix icon size actions * Qt/Input: implement mouse button mapping / improve keyboard * Input: evdev fixes and first rumble implementation * Input: improve evdev settings dialog / change threshold behaviour * Input: improve MMJOY settings dialog / change threshold behaviour * Fix travis * Pass TRAVIS env var ------------------------------------------------------------------- Wed Dec 20 17:59:55 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171220: * SPU: fixes * PPU: remove SSSE3 dependency * PPU: rewrite VMHRADDSHS without SSSE3 * PPU: redesign LVSL, LVSR instructions * SPU: reorder some instructions for better throughput * SPU: add some AVX-512 variants * SPU: remove SSSE3 dependency * RSX: remove SSSE3 dependency ------------------------------------------------------------------- Mon Dec 18 18:41:37 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171218: * rsx: Raise semaphore timeout duration bacause some games are very slow * rsx/fp: Fix typo * Update FragmentProgramDecompiler.cpp * rsx/fp: Hotfix for TEXBEM/TXPBEM * rsx/fp: Implement TXPBEM * rsx/fp: Implement TEXBEM (untested) * rsx/fp: Stuff - Implement BEM - Add LG2 to special instructions * rsx: Implement variable point size * rsx: Pause FIFO queue when changing ctrl registers * rsx: framebuffer textures do not have mipmaps! - Force mipmap count to 1 if sampling from an RTV/DSV - TODO: Better wcb flush detection, it should be better to re-upload the texture after it has been dwnloaded if expected mipmaps are > 1 * rsx/cfg: Lower the default scaling threshold to 16x16 * rsx: Framebuffer setup fixes - Sometimes square renders are done to surfaces with pitch=64 and re-uploaded with swizzle scanning -- This setup avoids discarding targets if they are square and pitch == 64 * rsx: Minor fixes - Abort nv406e semaphore acquire if the rsx thread stalls/crashes - Fix texture size approximation to take mipmaps into account. Fixes some games hanging with WCB * rsx: Fix RGB565 blits. Data is byteswapped on input - Fixes messed up BG on retroarch glyphs * fix linux builds * rsx: Texture cache fixes - Handle blit resources in a more consistent way - TODO: Handle some corner cases (piyotama) * rsx: Implement delayed swizzle remap for blit engine resources - Fixes remap vectors for memory copied via blit engine as it has no context ------------------------------------------------------------------- Sat Dec 16 20:20:13 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171216: * various memory access violation fixes (and friends) (#3930) * Update to qt 5.10 on linux, Fix issues with Qt's new installer * Add OpenSUSE building dependencies ------------------------------------------------------------------- Thu Dec 14 15:48:40 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171211: * Ninja * Add new functions to cellSysutil ------------------------------------------------------------------- Sun Dec 10 13:10:41 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171210: * Remove std::move on a const variable * Remove redondant "virtual" keyword when "override" is used * Spaces to tabs * Add const and ref for loops * disasm: display db[x]cyc ------------------------------------------------------------------- Sat Dec 09 14:28:00 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171208: * Hotfix #3919 (#3920) * Version adjustments * ds4: fix led on bluetooth * rsx: fix image_in swizzled texture crash ------------------------------------------------------------------- Thu Dec 7 13:22:16 UTC 2017 - pousaduarte@gmail.com - Replace rpcs3-unbreak_build.patch with more flexible sed regex ------------------------------------------------------------------- Wed Dec 06 13:44:18 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171206: * rsx: Narrow the race condition window further - Needs aliased paging to be implemented to fix properly or a re-entrant global IO lock * rsx: Framebuffer setup fix - Stencil flag is meaningless if surface does not support stencil * rsx: Reimplement invalidate_range_base_impl - Avoid unprotecting memory until just before we have to write the data - Avoids race conditions where the caller thread takes too long to enter the second phase and another thread accesses the "bad" memory ------------------------------------------------------------------- Tue Dec 05 18:23:44 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171205: * savedata: avoid passing vm memory to fs::file * Qt: implement compatibility column ------------------------------------------------------------------- Mon Dec 04 16:08:50 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171204: * rsx: Properly fix DATA3F_M register alignment * rsx/vp: Decide default return values in case of undefined attributes based on location ID - Different default values should be returned for different attributes * rsx: Program cache fixes - Reorganize storage hash vs ucode hash - Scan for actual fragment program start in case leading NOPed code precedes the actual instructions -- e.g FEAR2 Demo has over 32k of padding before actual program code that messes up hashes * d3d12: Fix fragment shader compile * rsx:: fixes for framebuffer setup - provide a DSV if depth and/or stencil testing is enabled * rsx/fp: Explicitly insert global functions. - Functions such as pack/unpack ops must exist before the shared gather functions are declared ------------------------------------------------------------------- Mon Dec 04 12:19:18 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171202: * sys_net: Force AF_INET * Input: handle MMJOY reconnection (pad still needs to be online on start) * Input: improve evdev and mmjoy stick input * Qt: Fix SettingsDialog crash introduced by removal of groupboxes * Input: Fix filter button for evdev and DS4 * Input/MMJOY: handle Axis and POV capabilities * gl/vk: Better handling of inter-format data copies - RGBA8->RG16 does not require special instructions so the overlay pass is disabled for OGL * rsx/fp: Properly implement PK/UP instructions based on NV_fragment_program documentation * gl: Implement rgba8 -> fp16 casting pass -- Is this actually necessary? The two format are binary compatible * rsx/fp: Implement register gather (only for UP(X) instructions) - Workaround for temp register aliasing between H and R variants - TODO: Implement temp regs as 128 bit-blocks with r/w as pack/unpack * vulkan: Do not clear non-existent surfaces * rsx/fp: Reimplement PK(X) and UP(X) opcodes. The read back values are obviously in normalized range - Confirmed with a GOW shader which writes result of UP8 to BGRA8 output * rsx: wcb scaling fixes * gl: Minor wcb tweaks * rsx: Fix texture cache memory usage statistics * rsx: method register fixes - Fix VERTEX_DATA_3F_M element alignment (its 16 bytes per attribute) - Fix DATA_2S_X interpretation type. Its signed 16-bit unnormalized (s32k) and not signed normalized (s1) * rsx: Discard queue if RET is found without CALL * rsx: Changes to surface pitch handling - Zeta pitch is ignored by real HW for some reason - Monitor ptch value changes as well since they may affect disabled surfaces - TODO: Verify if MRT pitch is really taken into consideration * vk: Compliance fixes; vkCmd state affects currently bound descriptor set! * rsx: Fixes for framebuffer setup code * rsx: Fixes - Discard intentionally invalidated framebuffer resources. These are created after a flush has happened, forcing reupload since contents cannot be guaranteed (strict mode only) - Fix for blits using vulkan; dont use the copy method if formats do not match, use generic blit instead * rsx: Texture cache hotfixes * gl: Avoid null deref * rsx/fp: Do not apply input mods to all types of inputs - Temp registers are confirmed to be affected - Const registers are confirmed to be unaffected - Varying inputs are not confirmed yet * rsx: More tuning for depth/color buffer selection * rsx: improve depth/color contested memory allocation heuristics - Needs more tests to prove correct behaviour * gl: Fix face winding - Face winding is always calculated based off the top left corner * rsx: Reimplement depth <-> RGBA reinterpretation code - Implements proper channel order for fp24-ARGB8 conversion - Takes swizzle remap into account when reconstructing source bytes * fp32 precision on GPUs is embarassing - Division seems to suffer from drift easily on GPUs due to limited precision * vulkan: Implement overlay shader passes - Implements vk::overlay_pass and vk::depth_convert_pass - Also added a sanity check in RSX core for depth replace shaders * rsx: Zcull refactoring and vulkan implementation * vk: Dont always assume framebuffers exist - TODO: Use temporary renderbuffers for these outputs * rsx/gl: Use strict method of gathering the depth buffer bits - Performance difference on modern GPUs is negligible * rsx: Try to take the context for the surface creation into account * rsx: Improve framebuffer check heuristics for contested memory buffers * rsx: Major fixes - Handle aliased depth + color target by disabling depth writes. This looks to be the correct way - Add support for generic passes that cannot be done using general imaging operations. Lays the framework for tons of features and effects - Implement RGBA->D24D8 casting. Sometimes games will split depth texture into RGBA8 then use the new RGBA8 as a depth texture directly -- This happens alot in ps3 games and I'm not sure why. Its likely the ps3 did not sample fp values with linear filtering so this is a workaround -- Only implemented for openGL at the moment -- Requires a workaround for an AMD driver bug * rsx: Add more validation to framebuffer setups. Game devs sometimes do crazy things * rsx: Minor improvements * rsx: Invalidate both depth and color surfaces when binding a new surface * spu: Fix interrupt jump check - also change interrupt variable to atomic bool for ease of setting/checking * mfc: Fix support for list transfer stall bit with partial support for out of order execution - Also give Sync commands a size so they are properly detected by queue checks * spu: Recompiler Interrupt optimizations - Pigeonhole optimize for branching pattern that is used to enable and disable interrupts used in code, this should lower amount of blocks that are compiled and avoid falling out of a block - Recompiled interupt check in some cases to stay in block instead of falling out to dispatcher * spu: Implement DFCMGT for interpreter and recompiler * sys_memory: Lower maximum size for memory block to fake OS size - Report available memory minus another fake block that can be used for the OS ------------------------------------------------------------------- Fri Dec 01 09:48:19 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171130: * Silence warnings in misc files (gui, psp2, mfc, mouse) * silence warnings in RSX stuff * Silence warnings in lv2/Modules * Silence some warnings in some files in Utilities * Qt/Input: implement blacklist to Filter Noise in pad dialog * Input/MMJOY: use provided min and max. Move info and caps to MMJOYDevice * Qt/Input: Remove unsupported groupboxes from pad dialog and shorten text * Qt/Input: disable config button when device combobox is empty ------------------------------------------------------------------- Thu Nov 30 12:33:12 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171130: * Quick fix to prevent Qt download timeout (#3809) * SPU MFC: Clamp tag and size (#3803) * Qt/Input: Implement GetModifierCode to improve keyevents * Qt/Input: disable TabFocus while mapping buttons in order to map Tab key * Input: MMJOY prioritize button presses due to constant axis events * Input: Fallback in FindKeyCode to prevent crashes on incompatible config * Added installation for additional packages to game boot * Update Qt to 5.9.3 * Input: fix MMJOY a bit * Input: fix currentText of device combobox * Input: Fix Default XInput LB * [Qt/Input] Improve pad_settings_dialog a bit (#3611) * Change sys_usbd_receive_event * RSX: fix fix (406E semaphore release) * Fix log limit * Qt: implement progress_dialog * Qt: remove some warnings * Avoid recreating SwsContext every frame * CMake minor improvements (#3783) * Qt: change settingsdialog to horizontal layout ------------------------------------------------------------------- Sun Nov 26 20:17:26 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171126: * RSX: improve nv406e::semaphore_release * Fix exitspawn (autoexit option) * Clamp utime range (Wnd) * Update Fedora packages in the README file * cmake: remove unused link to ffmpeg libswresample * cmake: check if ffmpeg libswscale is present * Use Qt for error reports * Fix free space check (Wnd) * PKG installer update for DLC * Add libpulse-dev to README.md * Log: minor improvements * Log sys_fs_utime values * Revert ERROR_INVALID_PARAMETERS * Restore log compression * New logging strategy * Log: improve messages for multiple RPCS3 instances * Implement fs::unshare (linux) * Fix cellGameBootCheck for disc games (#3771) * Check sys_spu_thread_group_create's nsize (#3742) * Trophy: Save dialog state (#3729) * Fix "Exit RPCS3 when process finishes" command line crash * Fixes from FreeBSD package (#3765) * Handle Win32 error 87 ERROR_INVALID_PARAMETER with fs::error::inval * Fix regressions caused by network code. (#3702) * vk: Reset renderer status whenever a window geometry event is processed * rsx/fp: Give abs higher prio as it invalidates any precision checks * rsx/fp: improve SRC modifier order - Neg modifier is applied after clamping. Abs has not been tested/proven so precision clamp goes first now, not last * rsx/fp: RE work on precision modifier bits - Testing DS2 has revealed clamping bits in SRC1 that were not respected and left negative values reaching the framebuffer * rsx: Abort all drawing commands if no swapchain exists - Should keep nvidia from consuming all device memory when minimized * rsx: Enable hw blit engine for local->main memory blit operations as well * rsx: research native texel byte order on cpu readback (WCB) [WIP] * Qt: move "Disable Vertex Cache" option back to gpu tab * Updates ReadMe for Windows (#3713) * Qt: Use global Appicon instead of setting it in every Dialog * Fix set thread affinity on OS X (#3757) * Initial work on sys_usbd syscalls * AppVeyor Qt fix * Use zeux/pugixml instead of RPCS3/pugixml ------------------------------------------------------------------- Sat Nov 18 21:45:03 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.4~git20171118: * Fix cond_variable timeout * Bump CMake requirement * Implement savedata delete op * Fix fs::dir (const begin/end) * Fix cellMsgDialog * cellSaveData fixes * Minor fix (cellGame) * Implement _sys_prx_load_module_by_fd * RSX: Rewrite frame limit * Optimize cpuid * Fix command line args * Add supporters * ALSA audio backend fixes * Implement set_ideal_processor_core (linux) * Fire callback in cellSearchInitialize * Fix bug in sys_spu_thread_group_create (#3734) * Bump version to 0.0.4 * GUI: Style fix for Kuroi (Dark) * Fixes commit count on GIT-VERSION * Fix off by one error in trophies (#3715) * Fix cellGameGet(Set)Param (#3690) * Stub sceNpSnsFbCheckConfig (#3720) * Correct two typos and a couple of other nitpicky things (#3721) * rsx: Ignore FENCE instruction as it seems like its ignored on realhw - This is likely a compiler hint for performance reasons and not a mandate * rsx: Fix shader cache version check * rsx: Bump shader cache ver and fix blit engine crash - Disables blit operations if the target will have a size of 0 in any dimension - Bumps shader cache ver to 1.1 * rsx: Minor fixups - Fix texture cache blit behaviour when src has AA enabled and dst is a blit dst texture with or without AA -- This requires handling AA resolve by removing a half downscale on multisampled axes * vk: Hotfix - facepalm: Do not enable depth comparison mode if masquerading as RGBA color! * vk: Cleanup, simplify renderpass management * vk: Fix shader logging - Do not overwrite logged programs * rsx/vk/gl: Cleanup and refector glsl::getFunctionImpl - Both backends now generate very similar code * rsx/vk: Fix unnormalized converted textures * rsx: Minor fixes - texture_cache: Fix internal size calculation for subresources - vk: Delay dynamic state updates until just about to draw to ensure no flush has discarded the cb state * gl/qt: Catch segfaults in wglDeleteContext with SEH (AMD windows driver) - In rare cases the driver derefs a nullptr and dies, taking the emulator with it - From testing, it seems the vram is indeed freed when this happens so its "safe" to continue * rsx: Rewrite invalidate_range_impl_base in a way that makes sense. Fixes wcb hanging * rsx: More fixes - Support for raster offsets in surface descriptors (looks to be unused) - Do not tag disabled render targets when using MRT (pitch = 64) - Add missing notify_surface_changed() call for openGL * rsx: Minor optimization - dont update sampler state if texture state registers have not changed * rsx: Rework context handling and stop leaking the GL ccontext - GL contexts are external handles that require manual lifecycle management * rsx: Fix for unnormalized texture access * rsx: Fixes for cubemap reconstruction - Do not abort generation if sides are missing, replace with blank surfaces instead - Make cubemaps scale with res scaling * rsx: Refactor create_subresource_view(deferred_subresource&) and implement a subresource cache - This limits the number of times an image is copied and improves performance * rsx: Implement render-to-cubemap; Also simplify unnormalized samplers [WIP, DELETE SHADER CACHE, VERY SLOW] - Enables real-time cubemap reflections - TODO: Vulkan is broke; rsx is very slow with this feature * rsx/gl: Addendum - Fix fragment shader to consume texture scale parameters * rsx: Implement 1D<->2D image type casts * rsx: Workaround for missing AA flags on some surfaces - This just doesnt work right yet. It looks like AA is being used dynamically? (RDR) - TODO: Try to locate flags to set AA if AA mode is not changed * gl: Shift code around to increase work done after memory transfer operations - The current code is slower because memory operations are too close to their draw calls -- This is mainly an issue with proprietary AMD drivers * rsx: Minor optimization - Defer resolving image copy operations to the binding step * rsx: Fbo fixes 2 - Use AA mode to predict surface compression. Compression mode is useless without AA activated - Rewrites most image subresource fetch routines to use the new heuristic - Fix rsx::thread::find_tile. FEED000(X) can be substituted for (X) in the code -- Fixes alot of failures when looking for tiled regions * rsx: Minor fixups - Optimize framebuffer memory invalidate conditions - Fix texture sampling of AA textures (wider by 2x surfaces) * rsx: Improve surface store resource management - vk: Use frame testing to determine invalidated resources that can be safely deleted * rsx: More fixes - Tag surface store to help determine when contents have been invalidated - Crop framebuffer textures if they are not the requested dimensions! * rsx: Critical fixes - Remove generic throws from the rsx pipeline. Stops the rsx thread from silently dying leaving the emulator in a hung state - Hackplement add_signed and reverse_subtract_signed blend modes * rsx: Optimizations - Reimplement fragment program fetch and rewrite texture upload mechanism -- All of these steps should only be done at most once per draw call -- Eliminates continously checking the surface store for overlapping addresses as well * HEAD or master will no longer show up in the titlebar * PPUTranslator minor changes * Fix git-branch in title... again (#3704) ------------------------------------------------------------------- Sat Nov 4 20:39:19 UTC 2017 - gasinvein@gmail.com - Add libevdev and libpulse dependencies ------------------------------------------------------------------- Sat Nov 04 20:26:55 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20171104: * Make cellMouseGetDataList return CELL_MOUSE_ERROR_NO_DEVICE if mouse handler is set to null ------------------------------------------------------------------- Sat Nov 04 19:02:32 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20171104: * [RSX] Fix uninitialized value before usage * rsx: Fix for framebuffer validation * Have trophy manager reject games that have invalid usr data rather than dying. * Make it so that TROPUSR doesn't crash on "bad" imput. * Make trophy dialog smarter and not need the silly file. Can load all games by default now. * change CryptAcquireContextW to try CRYPT_NEWKEYSET flag if key container doesnt exist already < https://msdn.microsoft.com/en-us/library/windows/desktop/aa379886(v=vs.85).aspx > * disable fb testing for partial framebuffer resources * rsx: Tweaks - Optimize get_surface_subresource - Add check_program_status time to draw call setup statistics. It can slow down games significantly * vk: Improved handling of swap_bytes behaviour when using WCB * rsx: Experimental; Try to calculate pixel offset using nv3062 pitch register since we know the target block is defined with 3062 registers * Add supporters * Implement set_native_priority (posix) * Fix NPDRM exitspawn * Fix /dev_bdvd/ for exitspawn * Add Delete LLVM Cache option * Update PPA urls to the latest version of Qt * Revert Qt requirements to version 5.7 for Linux * Implement Trophy Manager. * Handle device not ready in fs::error. Solves #3592 * Added breakpoint list * Repositioned current instruction to middle * Qt: Fix Save Data Dialog initial size * rsx: Fix for rsx thread lockup due to nested access violations when WCB is enabled * vk: Allow swapchain create to fail with an error * nvidia facepalm * rsx: Tag cache blocks returned on access violation to validate data passed to flush_all is up to date. Should prevent recursive exceptions * gsframe: Break waiting is emulator is stopped suddenly - Keeps the queue from hanging the GUI * rsx/qt: GsFrame improvements - Identify minimize/restore events as separate from regular resize and do not react to them - Enable message queue consumption after loading the shaders cache. Also hides the frame in this step -- This fixes the 'start fullscreen' bug when running vulkan * fixup * Audio: add Buffer Count setting * ppu_acontext draft * Add cmdline support * [Qt] Fix uninitialised values before usage * rsx: Avoid false positives by early rejection. Should keep cache thashing to a minimum * rsx: Export more information about affected cache sections when handling violations - This allows for better handling of deferred flushes. -- There's still no guarantee that cache contents will have changed between the set acquisition and following flush operation -- Hopefully this is rare enough that it doesnt cause serious issues for now * rsx: Fixes - vk: Always reopen primary command buffers. They should only be closed in flush_command_queue - If uploading a texture and there are collisions with protected buffers, do not rebuild the cache - Perform writes via flush before reprotecting pages that were not trampled - Only flush no pages once * rsx: Implement memory tags for strict mode to validate render target memory * vulkan: Flush queue before attempting to copy texture memory! * rsx: invalidate surface store address when tile is unbound * spu: save and restore mfc cmd after processing * spu: Implement readch(mfc_cmd) * rsx: make dmactrl get 'readonly' * Trophy: use system language setting * Fix off by one error. Sigh. * Fix focus issue in trophies. * rsx: Fix critical bug concerning transient data layout in memory * rsx: Disable draw call batching when strict mode is enabled - Minor bugs have been observed with it always enabled * vk: Fix for infinite hanging in the access violation handler * rsx: Better detection of framebuffer memory copy operations - Still requires texture stitching to work correctly, but matching dimensions works well for now * rsx/vk: Be a little more frugal with texture memory to avoid running out of VRAM on 1GB cards * rsx: Improve separate treatment of write exceptions vs read exceptions - Optimizes search functionality and avoids thrashing valid sections * fix build * rsx: Workaround for 0 pitch textures. - Should these be ignored? Needs investigation * rsx: Even more texture cache fixes - Fix subresource sampling - Invalidate memory range before uploading textures to prevent hangs * rsx: Only transfer framebuffer contents if memory contents are compatible * rsx: Texture fixes continued - Fix buffer invalidate behaviour (wcb) - Disable auto rebuild with only framebuffer storage getting rebuilt - Fix vulkan subresource sampling * rsx: Restructuring [WIP] - Refactor invalidate memory functions into one function - Add cached object rebuilding functionality to avoid throwing away useful memory on an invalidate - Added debug monitoring of texture unit VRAM usage * Make a basic trophy notification dialog (#3204) * Save manager improvements (#3631) * Update Readme to Qt 5.8 * Silence annoying experimental build warning - Compiling locally on VS defines BRANCH to "" (empty $BRANCH envvar) and defines _MSC_VER. The pdb check is useless since it will never be reached * vk: Enable primitive restart workaround for polaris and vega on linux as well - Looks like it might be a hardware erratum * Qt: add "clear" option to tty log contextmenu * [Qt] UI improvements (#3558) * evdev: add analog to dpad option (#3551) * [Qt] Add syntax highlighter (#3550) * gl: Check for vendor_string ATI for AMD cards. It seems AMD is still using the ATI openGL stack * add RX 550 to AMD vulkan cards with restart bug * general fixes; Force u32 return type for index_count and add RX Vega to primitive restart blacklist * rsx: Allow clear_surface command for depth-only passes. Removes invalidate cache hack * rsx: More fixes - Workaround for AMD glMultiDrawArrays bug - Disable disjoint command submission when multidraw support is disabled * rsx: Reimplement index buffer generation - Emulate primitive restart in software whenever we get the chance - Ensure PRIMITIVE_RESTART is never active when LIST topologies are active - Reimplement TRIANGLE_FAN, POLYGON and QUAD expansion * rsx/vk: Workaround for polaris primitive restart bug * Fix compile VS * Add BRANCH as a preprocessor definition taken from an environment variable * Bump Qt version to 5.9.2 for Travis * rpcs3.vcxproj: remove unused paths in AdditionalLibraryDirectories * appveyor.yml: use Visual Studio solution to build the project and cleanup * update vulkan submodules (#3600) ------------------------------------------------------------------- Wed Oct 25 19:07:37 UTC 2017 - kah0922@gmail.com - Added rpcs3-unbreak_build.patch to fix build. ------------------------------------------------------------------- Sun Oct 15 11:17:29 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20171014: * Fix compile VS for Optional submodule * rsx: Texture cache fixes - Fix src/dst framebuffer detection - Silence some warnings * travis: Dont try to upload appiamges if UPLOAD_URL is missing * rsx: Add a debug option to force full software emulation of blit engine * rsx: Fix memory protection - Fixes hanging when wcb is enabled * qt: Add cpu blit emulation override to the debug tab * [CMake] Build LLVM from the submodule if there's no suitable version * GUI: add some visual studio filters (#3375) ------------------------------------------------------------------- Thu Oct 12 16:47:31 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20171012: * Remove unused rsx-debugger submodule and the rsx_program_decompiler entry in .gitmodules (#3542) * Rename outputs correctly when writing default values to them (#3574) * vk: Better vsync mode selection (#3571) * Add PPU instruction stat dumper * Fix instruction editor a bit * Optimize PPU module loading * Allow shader cache dialog cancellation * Escape problematic characters in VFS * Remove sysutil callback * rsx/qt: Implement native window hooks for win32 windows to allow communication between WndProc thread and rsx::thread - This communication is important in communicating window events. Helps properly synchronize swapchain management on vulkan and stops nvidia crashing - Do not block the message queue lest the driver detect window as not responding * rsx: Minor fixes - Dont skip cb if a problem occurs, just spin on it instead to allow possibility of recovery - Vulkan cleanup for the die_with_error helper * rsx: Stop executing broken command queues if the application fails to recover in 3 retries * Move optional.hpp as a submodule ------------------------------------------------------------------- Tue Oct 10 13:34:08 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20171010: * rsx: Set up patch functionality for program coeffecients * rsx/gl: Implement resolution scaling * gl/wcb: Use temporary scaled image to implement bilinear filter * rsx: Implement AF override * vulkan: Implement vsync * rsx: Fixups - gl: Remove redundant texstorage1D call - gl: Disable the wcb scaling code as it doesnt work right yet [WIP] - vk: Fix wcb reads * rsx: Res scaling improvements - gl: Reintroduce the wcb hw downscaling - rsx: Clamp scalable render target size with a config var * Qt: add high resolution settings to gui tab * vulkan: Fix window resize race condition when doing flip * Revert "Add option to build using llvm shared libs and document other cmake options" * Fix gentoo LLVM linking * vulkan: Better VkResult handling * rsx: Improve memory protection behavior when strict mode is off ------------------------------------------------------------------- Mon Oct 09 13:32:31 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20171008: * Qt: move Render_Info to emu_settings.h * Qt: add spu and ppu debug checkboxes to debug tab * Qt: sort game_list_frame members * Qt: extend drag and drop to mainwindow * Qt: fix fullscreen icon * Change compiler requirements in cmake script to match with the values listed in the README.md file * PPU Page Faults (#3309) ------------------------------------------------------------------- Fri Oct 06 14:02:45 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20171005: * [Qt] Fix repository urls to install Qt * Qt: disable viewport settings on custom configs * spu: Fixes (#3526) * Qt: include debug tool colors in stylesheet (#3527) * Add Deadzones for evdev gamepads (#3519) * [Qt] fix experimental build warning layout and smoothen gamelist scrolling (#3532) * Add a GitHub issue template, hopefully help with invalid issue spam. * Qt: fix gamegrid regression: mismatch between entry count and grid size * Update tooltips.json (#3529) * sys_net full rewrite * Fix cellKb * libbeisobmf.sprx * Implement CALL_FUNC * Add cellVdec hack (stolen TLS) * Fix /dev/urandom typo * Implement SYS_NET_SO_REUSEPORT * mutex.cpp: minor update * Add supporters ------------------------------------------------------------------- Mon Oct 02 15:43:38 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170928: * Qt: fix tty objectname and add tty text color to stylesheet * Qt: add old log style to Kuroi ------------------------------------------------------------------- Thu Sep 28 13:14:40 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170928: * AppVeyor git branch in title fix #2 * Fix evdev axis reversal (#3303) * Qt: implement GetOpaqueImageArea * Qt: support thumbnail icons in stylesheets * Qt: use rgba lambda for default stylesheet * Qt: add log colors to stylesheet * Qt: fix log stacking bug when wordwrap occurs * Respect the controller setting when returning data from cellPadGetData. ------------------------------------------------------------------- Mon Sep 25 13:48:12 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170924: * rsx: Texture cache fixes - Update section flags when requested - Fix nullptr dereference: cached_dest will be null if dst_is_render_target is true * rsx: Make the 3rd texture dimension matter - Affects cube maps and texture3D surfaces * vulkan: Optimize memory allocation * vulkan: Use frameid to determine texture storage to discard * vk: New images always should be UNDEFINED or PREINITIALIZED * rsx: Clean up debug overlays. Add unreleased textures metric to track texture memory * vk: Clamp unreleased texture metric - TODO: Find the leaking references * ds4: Fix initial connection issue and hotplug/dongle calibration detection ------------------------------------------------------------------- Fri Sep 22 12:44:02 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170922: * [Qt] fix graphics adapter selection and rebase for less redundancy * HGA calls sys_rsx_context_attribute before calling sys_rsx_memory_allocate. This inevitably causes RPCS3 to crash. Add nullptr check to prevent this. * Silent some compiler warnings * Move sys_process_exit * Add <typeinfo> * Backup logs to old_logs/ * Fix initial log message * Implemented MFF_HIDDEN for VNIDs * Implemented syscall _sys_process_exit * Restore UTF-8 in Log.cpp * Fixed global variables in Log.cpp * Remove unnecessary newline in Log.cpp * Implemented __sys_look_ctype_table * Implemented _sys_prx_load_module_on_memcontainer * Rewrite _sys_memcmp * Fix _sys_strncasecmp * Rewrite _sys_strlen * Rewrite _sys_strcmp * Rewrite _sys_strncmp * Rewrite _sys_strcat * Rewrite _sys_strcpy * Rewrite _sys_strchr * Rewrite _sys_strrchr * Rewrite _sys_strncpy * Rewrite _sys_strncat * Patch: new 'load' syntax * Exitspawn support renewal * Fix error on loading a library twice * sys_fs_mkdir: implement ENOENT * Try to fix some fs errors * Fix library loading mode 'both' * Remove unnecessary include git-version.h * cellAudio: use error_code * Minor VFS fix * rsx/vk/gl: Refactoring and reimplementation of blit engine Fix rsx offscreen-render-to-display-buffer-blit surface reads - Also, properly scale display output height if reading from compressed tile * rsx/vk: Bug fixes - Make each frame context own its own memory - Fix GPU blit - Fix image layout transitions in flip * rsx: Several fixes and improvements - Do not ignore non-centered pixel blitting - Register method ac00+16 - Bump texture memory heap to account for GPU texture scaling requirements (vulkan) - Explicit MRT location index output to better convey intent (openGL) * esx: Fixes to the texture cache rsx: Blit engine improvements - Always handle blits to and from framebuffers through the GPU - Handle depth surfaces properly when using GL - Check for format mismatches when blitting to the surface store [WIP] * rsx/fp: Shader decompiler fixes - Requires proper 2-pass impl rsx/fp: Catch hanging code blocks rsx/fp: Don't pause on scaling error * rsx: Bug fixes and improvements rsx: Try to skip unknown commands without discarding entire cb * rsx: Add support for batched multidraw gl: Fix multidraw [WIP] rsx: Ignore vertex base when data source is generated using arithmetic vk: Check pending flag before doing fence poke vk/gl: Fix for inlined array and immediate draws rsx: Collapse joined draws when batching * gl: cleanup; fix program linkage on mesa using GL_ARB_explicit_uniform_location, also make use of ARB_multidraw * rsx: Texture cache fixes and improvments gl/vk/rsx: Refactoring; unify texture cache code gl: Fixups - Removes rsx::gl::texture class and leave gl::texture intact - Simplify texture create and upload mechanisms - Re-enable texture uploads with the new texture cache mechanism rsx: texture cache - check if bit region fits into dst texture before attempting to copy gl/vk: Cleanup - Set initial texture layout to DST_OPTIMAL since it has no data in it anyway at the start - Move structs outside of classes to avoid clutter * gl: Minor optimizations rsx: Texture cache - improvements to locking rsx: Minor optimizations to get_current_vertex_program and begin-end batch flushes rsx: Optimize texture cache storage - Manages storage in blocks of 16MB rsx/vk/gl: Fix swizzled texture input gl: Hotfix for compressed texture formats * rsx: Fix multidraw range splits again rsx: Hotfix for disjoint range detection * rsx: Texture cache improvements - Limits buffer size to min 720 in the Y axis (1024 section causes conflicts in some cases - TODO) rsx: Fixups to allow large textures for blit operation - Also includes checks for both leaking sections and blit regions for vulkan hotfix for hanging when using WCB addendum - unlock both ro and no blocks before attempting to copy memory blocks gl: Fixups for ARB_explicit_uniform_location - Forces glsl v 430 to make use of the extension rsx/vk: Rework texture cache to minimize recursive access violations - Also modifies the vulkan commandbuffer begin/end/submit mechanism gl: Fix cached_texture_section::is_flushable to take memory protection into account rsx: Fix blit dst offset calculation * rsx: Fixups * rsx: Add support for non-projective shadow sampling - Fixes missing shadows in persona 5 * rsx: Texture cache fixes and improvements rsx: Conditional lock hack removed vulkan - Fixes - Remove unused texture class - Fix native pitch calculation (WCB) rsx: Catch hanging begin/end pairs when flushing deferred draw calls vulkan: Register DXT compressed formats vulkan: Register depth formats gl: Workaround for 'texture stitching' when gathering flip surface - TODO: Add a proper flip hack option rsx: Fix texture memory size calculation - DXT textures dont have real pitch. Since pitch is used to calculate memory size, make sure it always evaluates to rsx_size rsx: Fix cpu copy detection rsx: Validate blit dst surface and dont make assumptions about region blit order - Also relax restrictions on memory owned by the blit engine if strict rendering is not enabled rsx: Fix depth texture detection rsx: Do not manually offset into dst. The overlapped range check does so automatically rsx: Minor optimizations rsx: Minor fixes - Fix to detect incompatible formats when using GPU texture scaling and show message - Better 'is_depth_texture' algorithm to eliminate false positives * Deploy QT DLLs using windeployqt tool (#3432) * Allow null argument * gl: Check that fence is not empty before calling destroy * rsx: Fixes - Fix section scanning range for early reject - Specify IMAGE_ASPECT_STENCIL when uploading image_from_cpu * vs/qt: Explicitly reference target output to avoid failing post-build step - Referencing the whole build folder will err if there is any non-qt exe in the folder * Fix branch name for AppVeyor Builds (#3472) ------------------------------------------------------------------- Sun Sep 17 11:45:12 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170917: * Add git_branch to git-version.h, add display version info to gs_frame and add branch and version to log. (#3186) * Qt: settings_dialog layout fix (hack) * Qt: add char count label to osk dialog ------------------------------------------------------------------- Fri Sep 15 20:18:03 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170915: * VS build: copy Qt5WinExtras.dll to bin directory * [Qt] add scrollbar to about dialog (#3417) * If the loop is never entered, then the jit is null. * VS build: delete QT DLLs from bin directory * CMake build: copy QT DLLs files to bin directory * [Qt] fix small buttons/missing icons in the toolbar (Doppelgänger) (#3413) * Qt: Remove duplicate gui repaints in settings dialog * Qt: improve gamelist refresh, fix some more scroll issues * Fix buffer overrun in cert loading, made it more accurate. Fixes #3408 * fs: minor fix * sys_fs: use g_tls_error for diagnostic * sys_mmapper: minor range fix * Improve lv2_memory object * Implement fs::error::notempty * Vulkan: use pkg-config instead of checking for Linux (#3440) * Update Visual Studio 2015 URL ------------------------------------------------------------------- Sat Sep 09 21:22:56 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170909: * use single line titles in gamelist and recent games menu * Implement _sys_prx_get_module_info * Fix some of libpng known incorrect profile spam * Trophy fixes * [Qt] style adjustments 3 * [Qt] style adjustments 4 * [Qt] style adjustments 5 * [Qt] style adjustments 6 * Added ignoring of keyboard shortcuts to keyboard_pad_handler * Fixed a line where event->ingore() was called after break. * Pad Refactoring Adds a window to setup multiple input types as once All controllers are now handled by a single thread [hcorion] evdev refactor * Qt: fix gamepad settings layout issue * Qt: add Refresh button to gamepad settings, minor cleanup * Qt / OpenGL: fix delete_context * [Qt] Delete "ui" pointer in destructor ------------------------------------------------------------------- Thu Sep 07 15:17:59 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170906: * [Qt] style adjustments 1 * [Qt] style adjustments 2 * Add option to build using llvm shared libs and document other cmake options * Change MacOSX -> MacOS, add warning about glvnd, Fixes #2949 * Implement progress bar in taskbar for non-windows platforms, Fixes #2605 * Weird tlou fix ------------------------------------------------------------------- Wed Sep 06 14:42:27 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170906: * fs::rename fixed * Log backup rotation (incomplete) * Fix fatal error dialog * sys_spu_image: minor update * +sys_spu_elf_get_information * +sys_spu_elf_get_segments * Implemented syscall _sys_spu_image_get_information * Implemented syscall _sys_spu_image_get_segments * Fix sys_raw_spu_load * Fix sys_raw_spu_image_load * Load liblv2.sprx by default * RawSPU: implement Prxy_TagStatus_offs * Implemented syscall sys_event_port_connect_ipc * RawSPU: implement read SPU_NPC_offs * RawSPU: implemented read SPU_RunCntl_offs * Protect SPU segments * Fix access violation handler * Fix decrypt_self usage * Set PPU stack bounds * Add supporters * libad: Enable LLE load * sys_usbd stuff (#3346) * fix da build * Various fixes (Trophy, Gcm corrections, stack alloc) (#2894) * GUI: Fix Repaint on stylesheet change * settings_dialog: minor connect simplification * Implement cellSslCertificateLoader * Add cross-platform implementation of cellHttpUtilParseUri * Remove old wxWidgets-related references * multi pkg fix * Move sys_gamepad filter * Fix sys_event_port_connect_ipc * Fix rXml limitation * fs: atomic truncation * Improve sys_fs_ftruncate * Remove coverity and coveralls references * .travis.yml: rework binutils package update * .travis.yml: remove GCC_COLORS variable export and duplicated "brew update;" instruction * .travis.yml: remove "dist: trusty" as it is now the default distribution * game_list_frame: force single line text in list items * Fix sys_tty_write() if called with pwritelen == NULL. * Convert endianess before passing buffers to setsockopt. ------------------------------------------------------------------- Wed Aug 30 14:43:47 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170829: * _sys_spu_image_import implemented * Make impossible to disable fatal errors * Reserve log space for higher severity levels * Copy sys_spu_segment info in SPU TG * Register Win32 error 32 * Spelling correction * Make travis CI build with PulseAudio backend. * Add missing game categories * Fill log with \n * Compress log to RPCS3.log.gz * Fix ipc_manager::add ------------------------------------------------------------------- Sun Aug 27 10:04:02 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170827: * Correct typo * cellOskDialogLoadAsync fix Takes into account text limit and initial text * [Qt] Simplify firmware libraries searching * gl/rsx: Fixes to zcull pixel counting * rsx: Make fragment state dynamic to reduce shader permutations * vulkan: Gracefully handle back-to-back flip request spam * rsx/vp: ARL fix * gl: Workaround for restrictive z range * gl: Do not modify bound depth/stencil buffers bound to zcull memory - Fixes some rare cases where zcull always fails * rsx: Implement QUAD_STRIP - QUAD_STRIP evaluates to TRIANGLE_STRIP in memory. The memory layout is identical. - The only difference between the two modes would be the primitive_ID but that doesnt matter on RSX - Its worth noting that results will be different between the two modes if input vertices are non-coplanar for every set of N verts * rsx: Remove index expansion for quad strips * Update cell_FreeType2.cpp * [Qt] Replace deprecated qSort function by std::sort * Fix GitIgnore * GUI: Add Kuroi (Dark) Theme * Update Contributing Guidelines * Point forums URLs to the new one ------------------------------------------------------------------- Fri Aug 25 10:04:03 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170824: * rsx: Fix immediate indexed drawing * vk: Improve window resize handling - Be careful not to request images not available - Request a triple buffer at all times if available to keep acquisition from locking up * vulkan: Don't keep invalidated objects around too long * Make it pass desktop-file-validate in Ubuntu 14.04 * Move sys_gamepad files to the correct directory * Add cellAtracGetSamplingRate and cellAtracMultiGetSamplingRate functions * Silence some obvious warnings * rsx: Ignore sending system reserved semaphores to renderer * d3d12: ignore 0 sized rt dma copy * rsx: Vertex Decompiler, fix sca register assignment * cellPad: remove unneeded & * Rewrite cellVideoOutConfigure * Implement a proper save manager. * Make removing a save fast * Fix evdev controller detection, add joystick squircling * Fix linux builds giving experimental build even if not on experimental build. * Update ffmpeg submodule with updated libs and headers for linux * Use newer binutils version to link against newer ffmpeg libraries * Fix evdev joystick detection * stylesheets: make UI Colors optional * osk: fix backspace * cg_disasm: fix frame by removing parent * misc: get rid of some compiler warnings * misc: add build warning to log * GUI: hide utilities by default * stylesheets: UI_Colors hotfix * stylesheets: UI Colors fixes * GUI: improve reset to deafult button * rsx: implement pixel size 16. * stylesheets: add custom color to gamepad * Ensure all log messages are displayed * Implemented fs::file::get_handle * Fix moving disc games with arbitrary dir name * Optimize RPCS3.log and limit it to 64 MiB * Reenable thread_local for all platforms * Add PulseAudio audio backend * Fix log mapping (Linux) ------------------------------------------------------------------- Wed Aug 16 21:41:54 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170816: * Adds support for multi-files pkg. * Adds check for pkg signature in QT part * Resets sleep timer on button press * unpkg fix * Fix rare occurence where there is a /PS3_GAME+something directory which leads to weird behavior * Fix search edit context menu weird color * Simplify qstr function * Simplify m_show_fps assignation * Fix the window title when the option "show_fps_in_title" is not checked * Better evdev joystick axis scaling (#3202) * stylesheets: fix default not working * stylesheets: move white header section to default stylesheet * stylesheets: make toolbar styles more accessible * stylesheets: fix color settings * stylesheets: fix gamegrid font * gl: Move vertex processing to the GPU - Significant gains from greatly reduced CPU work - Also reorders command submission in end() to improve throughput * rsx: Add a few more depth format types to known behaviour paths * gl: Workaround for depth/color format mismatch when using hardware blit * vk/gl: Factorize shared GLSL code - prep vulkan for shared glsl backend * rsx/gl/vulkan: Refactoring and partial vulkan rewrite - Updates vulkan to use GPU vertex processing - Rewrites vulkan to buffer entire frames and present when first available to avoid stalls - Move more state into dynamic descriptors to reduce progam cache misses; Fix render pass conflicts before texture access - Discards incomplete cb at destruction to avoid refs to destroyed objects - Move set_viewport to the uninterruptible block before drawing in case cb is switched before we're ready - Manage frame contexts separately for easier async frame management - Avoid wasteful create-destroy cycles when sampling rtts * rsx/gl/vk: Invalidate texture regions when memory is unmapped * rsx/vk: Implement shaders cache and fix broken pipeline_storage comparison and hash * rsx/util: Add simple consistent hash function * rsx: Zero-initialize the vertex register block - Some games reference constant regs that they never initialize * rsx: Clamp depth range to [0,1] - Fixes remaining issues with Ni no Kuni * gui: Add delete shader cache option in the context menu * ui: Move disable vertex cache to debug. Also add an option to disable zcull emulation in the debugger * rsx: Shader pipeline fixes and improvements - Do not set zfunc if alphakill is not enabled. This is because at the moment alphakill requires a different shader to be built * gl: Fix vsync; always use adaptive vsync instead of double-buffered * rsx: Fix single vertex array input declarations * gl: Workarounds for intel GPUs which dont seem to be truly GL4 compliant * vk: Catch leaking imageview refs on resize * vulkan: Restructure frame queues * vk: Reimplement access violation sync handling * rsx: Add a success message on program compile completion - Should help users wondering if rpcs3 'froze' during shader compile ------------------------------------------------------------------- Tue Aug 15 10:01:06 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170814: * game_list_frame: add scrollAfter option to Refresh for Talkashie * emu_settings: fix faulty custom config file creation * Register missing functions in cellSysutil (#3206) * (#3214) * Update supporters * Fix deadlock in vm::unmap * Rewrite Drag&Drop classification * Check FNID duplication * CFG: print errors for enums * Add build warning * Fix appveyor.yml * Fix appveyor.yml * Update cellHttp.cpp * Update cellNetCtl.cpp ------------------------------------------------------------------- Fri Aug 11 13:30:18 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170811: * Minor DS4 Bluetooth fix (#3140) ------------------------------------------------------------------- Thu Aug 10 13:08:03 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170810: * Make it build on macOS with Clang * Update hidapi * Disable PIE on macOS too * Reduce the zero-page size on macOS, so that PPUThread works * Update build instructions for macOS * Fix Fedora glew install instructions, Fixes #3182 * Perform refactoring of pads to remove the ugly pad initialization. * Add rpcs3 icon to save dialogs. * Remove about 100 warnings from rpcs3qt code. * Finesse size of goto address. Downgrade image loading failed to warning. * Remove some warnings from Linux and fixed something from code review. * use new range for combobox, remove obsolete code * rsx/gl: Fix zcull queries and log conditional render modes - Fixes a situation where a query readback is requested while zcull render is still active * gl: Properly initialize pipeline properties * gl: Fix occlusion statistics clearing * gl: Fix inconsistent state tracking * fix resize on boot * Stub cellSysutilAvc2 functions * Stub cellAvconfExt functions * Add cellVideoOutSetCopyControl function * Add cellSearchGetContentInfoSharable function * Add cellUsbdRegisterCompositeLdd, cellUsbdUnregisterCompositeLdd and cellUsbdResetDevice functions * Add _sce_net_add_name_server function * Add sceNpTssGetDataNoLimit and sceNpTssGetDataNoLimitAsync functions * Update ffmpeg ------------------------------------------------------------------- Tue Aug 08 20:17:16 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170808: * GUI: fix icon sizes and exterminate gamelist bug * log_frame: fix random stack * CFG: provide _int range in to_list() * CFG: catch exceptions * Implement error report stacking * Relax allocations in ppu_load_exec * Fix Firmware message * Yield instead of sleeping rsx thread. (#3158) * Make ALSA optional * rsx: Implement conditional locks * Implement hardware zcull emulation * Fix idm::init, fxm::init * drag and dropperinno (#3037) * fix segfault in boot recent list * Improve error formatting ------------------------------------------------------------------- Thu Aug 03 13:40:03 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170802: * Code review (#3114) * rsx/gcm: Implement rsx dma. Refactor gcm/rsx to not be as codependent * sys_rsx: implement support for lle-gcm * d3d12: Fix 0 sized framebuffer crashes * Add gcm to auto lle / liblv2 ------------------------------------------------------------------- Mon Jul 31 20:29:11 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170730: * rsx/vk: Vertex cache rewritten, add option to disable it as well - Also enable SPU loop detection by default while were at it * vulkan: Texture cache rewritten - Use a map of vectors instead of a flat array * spu: acquire_pc rewritten to be more precise in timing - More accurate pauses may slightly reduce performance but makes it more viable to allow more threads to participate without stuttering * vulkan: Workaround to avoid lockup due to double fault - TODO: Ensure no page faults occur within a page-fault handler! * ui: Restore 'Strict Mode Rendering' to GPU tab. Also add an option to disable the vertex cache - Also, updates json tooltips for some options * rsx/vk/gl: Refactoring - Also adds a vertex cache to openGL as well * gl/vk: Do not trust gcm buffer size to match internal rendering resolution - Should fix games with strange scaling artifacts due to upscaling from lower resolutions * Fix missing newline, add periods, add tooltip for gs_resizeOnBoot (#3112) * Fix build (#3117) * GUI: add custom config indicator (#3108) * Rewrite memory pool to be thread safe. * Bundle Qt5Svg.so, Fixes #3094 (#3120) * Update outdated firmware log message * SPU: minor optimization * Minor fix of sys_event_queue_receive * sys_lwmutex, sys_lwcond refactoring * Fix _sys_lwcond_signal, _sys_lwcond_signal_all * Add supporters ------------------------------------------------------------------- Wed Jul 26 20:23:39 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170726: * Fix sys_rwlock_wlock * Fix sys_rwlock_wunlock * Restore hook static functions * IPC support for lv2 sync objects * cellRec: fix vm::bptr * Update tooltips * Delete make_fself.cmd * Add supporters * Fix sys_semaphore_wait (on timeout) ------------------------------------------------------------------- Wed Jul 26 18:12:49 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170726: * Linux evdev joystick support (#2885) ------------------------------------------------------------------- Wed Jul 26 17:54:23 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170726: * settings_dialog: make size consistent * settings_dialog: enable LLE List multiselection * settings_dialog.ui: just LINUX things * game_list: enable stepless icon sizes * Stub cellRec functions * Stub some cellGameExec and cellResc functions * Mixed minor changes * Stub some cellSysutilAvc2 functions * Fix issue #2788 * Refactor setsockopt for better cross-platform-ness ------------------------------------------------------------------- Tue Jul 25 22:05:08 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.3~git20170725: * Restore timeBeginPeriod * PPU LLVM: simplify module loading * Patch system improved * Patch: add floating point support * Fixes for save_op_get_list_item * settings_dialog: get rid of string duplication * Implements deadzone for xinput * debugger_frame fixerinno * main_window fixerinno * Minor sceNpBasicGetEvent Fix * rsx/vk: Optimize framebuffer lifetime management - Significant gains due to avoiding aggressive create-delete cycles every frame * asmjit: Minimal locking when reading, also only lock when actually writing to the db * spu: Implement concurrent instruction execution watchdog for wrch * vk/rsx: Bug fixes and improvements - Improvements to framebuffer usage; Avoid creating new resources every frame - Handle null fragment program properly - Collect vertex upload statistics * spu: Add polling loop detection and clean up channel access contention code - spus run a tight gpu-style kernel with no multitasking on the cores themselves -- this does not map well to PC processor cores because they never sleep even when doing nothing -- the poll detection hack tries to find a good place to insert a scheduler yield -- RdDec is a good spot as it signifies the spu kernel is waiting on a timer * fix build; restore asmjit reader_lock for now * spu: Simplify watchdog design (PC is purely HLE and occupies SPU code kernel space only, max 256K) * rsx: Surface cache bug fixes - Properly handle data 'transfer' when recycling frame buffer images - Clear 'recycled' surfaces before use * spu: Clean up asmjit - avoid touching the shared db whenever possible - Gets around the locking issues when fetching from the shared db * Enable optimizations on travis * Correct typo * Improve CPU feature check * Use RTM instructions (skylake+) * SPU recompiler: minor optimization * Travis: do not zip * Version 0.0.3 * Missing function names (HLE) and small fixes (#3038) * vulkan hotfix (#3046) * sys_timer: Fix initial timer state * rsx: Fix vertex decompiler to support 2 arg destination * Scroll fix * Splitter fix * cg_disasm: fixerinno * gs_frame: fix the mysterious "second boot crash" * Merge pull request #3 from RipleyTom/OpenGLFix * main_window: adjust toolbar size to prevent blurry icons * gs_frame: fix event * Save Data Note (#3054) * Fix illegal instruction message * cellGame: minor refactoring * Set LLVM recompiler as default * Stub some SPU syscalls * PPU LLVM: minor bitcast avoidance * Force recompiling liblv2.sprx * LLVM: Add error message * sys_rwlock_runlock fixed * Log marking. Useful for knowing when time based things happen in log. * xinput config file * Add Q_EMITs and clean up a couple signals. * rsx: More aggressive thread scheduling for vertex processing - Significantly helps vertex performance - Not recommended as more threads will harm performance if the PC does not have the cores for it * lower mt upload threshold to something useful * vulkan; Add a weak vertex cache with single frame validity * rsx: Fix remainder/iteration computations in BufferUtils * vulkan: Avoid cache miss whenever possible if WCB is enabled * gl: Fix framebuffer validity checks * vulkan: Avoid double flushing if a texture is externally synchronized * Settings Overhaul * Update Framelimiter Tooltip * gamelist: scroll fix (workaround) * Fix PARAM.SFO filename case (#3081) * Allow overlapping ranges in cellGcmMapEaIoAdress with coherency check (#3070) * Linux builds now link LLVM statically, fixed Qt libpng issue, moved to single AppImage * Fixes #3063 * game_list: fix sort and scroll ------------------------------------------------------------------- Mon Jul 17 15:12:02 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170716: * Improve Save Manager (#2951) * Remove "#pragma once" directive in a cpp file * Add cellHttp* functions * Add sceNp* functions * Add sceNp2* functions * Fix cmdline start * Improved sprx boot (for devs only) * Rearrange /dev_bdvd mounting logic * Fix various typos and capitalisation inconsistencies. * Small main_window refactoring. Fixed one of the guiconfig crashes too somehow. * For the Neko * Murdering a wx zombie * game_list_frame: add method colorizedIcons * gui_settings: add tool icon color * settings_dialog: add color picker for main window tool icons * main_window: repaint tool icons * settings_dialog: add color picker for gamelist tool icons * gui_settings: add gamelist tool icon color * game_list_frame: repaint tool icons * Icons (blue): fix inconsistent colors * move colorizedIcon to gui_settings * settings_dialog: add icon hints to color buttons * Settings: fix cameraBox * rename controls to keyboard * Add game window resize on boot (#3000) * Add version to install firmware dialog (#2958) * Fix bug with std::stof being locale-dependant (#3012) * GUI: minor figgcess (#3010) * Fix PIE being on by default * add system_info.h (#2985) * Minor changes for save data utility (#3005) ------------------------------------------------------------------- Thu Jul 13 15:37:09 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170713: * PPU LLVM: unuse FP_SAT_OP * Store sys_spu_image value * vm: decommit by exec_addr * PPU: free prx segments * PPU: load only libsysmodule.sprx * GUI: add supporters * PPU LLVM: reuse loaded executables * Do not load sprx twice * Implemented _sys_memchr * Force HLE for net-related libraries * GUI: Disable poorly designed limitations * Cleaning after PoorRequest * Improve booting disc games * Fill game list from all locations * GUI: fix recent entry duplication * sys_lwmutex_locker aux class * _lv2prx mutex implemented * Fix moving game dir * Refresh game list after booting * minor menu fix * PPU: clean linkage info * fixz (#2996) * Fixes pkg overwriting files without the PKG_FILE_ENTRY_OVERWRITE flag * game_list: enable deselection + fix entry selection * clean up some unused / redundant includes ------------------------------------------------------------------- Wed Jul 12 07:37:50 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170712: * debugger_frame: remove pause button * debugger_frame: transfer capture button from main_window menu * Add ui_*.h to gitignore * Fix a couple crashes * Add $(EmulatorDir) to VFS dialog * Disable remove custom config if no custom config exists. * Search for threads. ------------------------------------------------------------------- Mon Jul 10 15:55:32 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170710: * spu: dma tweaks * rsx: Implement skip draw. Also, start working on MT vertex upload * rsx/gl/vk: Enable frame skipping * rsx/gl/vk: Enable contents transfer when a new framebuffer is created and not cleared * vk: Fix layout transitions * rsx: Fix some fp bugs * rsx: Minor bug fixes - vk: Do not select first available format when choosing a swapchain format - gl/vk: Ignore rendering zero sized framebuffers/scissors - fp: Re-enable range clamp on fp16 registers; fix fx12 clamping [-2, 2] * spu: Reimplement FCGT and FCMGT to handle corner cases (such as comparisons against infinites and denormals) - Also optimize FMA/FMS/FNMS for recompiler * Add Stretch to Display Area option (#2961) * Dagimon rookie level * Dagimon champion level * Dagimon ultra level * Dagimon mega level * Dagimon super mega level * Fix VFS default button (#2975) * Check if the pth is a valid directory before to look for icons. * Fix Stswi instruction ------------------------------------------------------------------- Fri Jul 07 12:21:41 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170707: * msg_dialog_frame: hidpi fixes for m_dialog * msg_dialog_frame: hidpi fixes for osk_dialog ------------------------------------------------------------------- Wed Jul 05 10:22:36 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170704: * Finalize AppImage build ------------------------------------------------------------------- Tue Jul 04 16:45:44 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170704: * REF 57 plus FREF fix * GUI fixes + log stacking (#2897) * vk: add "add_signed" in blend op. * Basic Save Manager (#2924) * qt: relax dependency to qt 5.7 * README: relax qt5 version requirement to 5.7 * README: add fedora instructions * Fix CMake build instructions on Linux (#2946) * remove invalid comment * Fix akiba with cell cancel * Change default selection button to select entry instead of cancel. * bf_t: fix warning * PPU LLVM: relocation support * Fix Miku OP video * Implements sys_fs_disk_free ------------------------------------------------------------------- Fri Jun 30 11:07:45 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170629: * dx12: Fix error reporting * rsx: Emulated index buffers are based on vertex 0 with no disjoint ranges - Drop the 'first' argument as it is unused for now * rsx: Initialize declared but unset varying variables to all ones * rsx: Use loose memory protection on textures since they're almost guaranteed to be wholly moved when changing. Speedup. * cellVideoOut: Enable 59.94 Hz required for some games * gl: Fix legacy ring buffer address alignment - Should always return a base address aligned to the buffers alignment. - Fixes renderdoc crashes when capturing * vk: Fix mapping of output colors to render target ranges * gl: Avoid creating surface copies when strict mode is disabled. * rsx: Avoid using push_back/emplace_back on empty STL containers - Reckless management of STL containers causes significant slowdown - Also reorders vertex compare steps to fail quickly on simpler checks * rsx/fp: Do not swizzle shadow lookups * rsx/decompilers: Avoid std::endl like the plague. It adds extra processing overhead * umulh64, mulh64 moved; added ror8/16/32 * Removed unnecessary code * PPU: VREFP, VRSQRTEFP changed * PPU LLVM: some passes disabled * PPU LLVM: less trash, fix crash * PPU: MTOCRF optimization * PPU LLVM: new mptr/cptr format * PPU LLVM: minor fix * PPU LLVM: SSA reordering ------------------------------------------------------------------- Mon Jun 26 18:09:32 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170626: * FREFS/weak imports and VREFS 4 and 6 * Fix #ifdef style * LLVM: fix cancellation * PPU LLVM: MFCR optimized * PPU LLVM: v2, simplification (no allocas) * PPU LLVM: remove unnecessary code * PPU LLVM: disable unnecessary passes * ppu_syscall_code type added (for fmt) * PPU LLVM: Improve FlushRegisters * PPU: preparations (no fixes) ------------------------------------------------------------------- Mon Jun 26 08:12:15 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170626: * qt: Update about dlg * wxFuneral * Fix tabs * qt: Remove emit * qt: Use #pragma once, Q_SIGNALS, Q_SLOTS * PPU LLVM: multithread compilation * Reenable Home and Audio/Video interactions * add "Other" category include all categories to list and filters * disable compat for non ps3 games * fix image load log message * dialog fixes for multithreading (#2913) ------------------------------------------------------------------- Sat Jun 24 11:23:24 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170624: * fix debugger o.O (#2903) * Fix Travis build (#2902) * qt: Fix logging * qt: Fix OutDir config * Added uptr type * PPUOpcodes.h updated * Workaround booting NP games * LLVM: implement STSWI, LSWI... * PPU LLVM: paradigm shift * Remove throw cpu_flag * qt: Fix kb pad handler * Fix issue with msgdialog not passing event back properly. ------------------------------------------------------------------- Fri Jun 23 07:46:38 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170623: * kb/mouse: fix max in init * Trophy: return size for GetRequiredDiskSpace again * Sprx: loading / reloc fixes * cellGem: Fix headers * Stub some cellHttpAuth* functions * Stub sys_rsxaudio_ functions * Stub cellMsgDialogOpenSimulViewWarning * HLE cellHttpUtilParseUri, Also initalise networking with windows. (#2879) * Improve portability for BSDs (#2813) * Fix da build (#2900) * rsx: Fix stencil initial values * rsx: Fix depth-as-rgba read in fp * rsx/wip: Fix depth surface reuse and clearing (fixes shadows) * rsx/gl/vk: Enable use of native PCF shadows * rsx/vk/gl: Minor fixes * gl: Fix clip-space -> depth conversion. Fixes remaining depth read issues * vk/gl: Fix sampling of shadow2D textures * rsx: Discard surface store contents once per frame (temp workaround) * vk/gl: Do not sample currently bound render targets * rsx/gl/vk: Fix some warnings and whitespace issues (LF vs CRLF) * rsx: Fix clip space computations * gl: Properly emulate signed normalized wide integers * rsx/gl/vk: Invert default stencil values * gl: Silence log spam * vk: Prefer optimal formats when clearing buffers * vk: Avoid constantly reinitializing the SH context when compiling SPIRV. Speedup * vk: Proper shutdown to avoid destroying resources still in use * rsx: Register NV4097_SET_COLOR_KEY_COLOR method. * rsx: Handle non-zero base vertex better * rsx: Code cleanup. Fixes several dozen warnings - Wrap unused parameters as comments to prevent C1400 - Fix sized variable conversions with explicit casts * rsx/ui: Make a few settings configurable via the GUI * rsx: Bug fixes * rsx: Do not sample as pcf shader if writing a vector result * vk: Move resource init/destroy to constructor and destructor * vs: drop user files from shipped vs files * rsx/gui: Add a strict mode toggle. Also reorganizes the graphics tab a bit * add No Thread option ------------------------------------------------------------------- Mon Jun 19 07:46:17 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170618: * GUI: List SPRX modules only * Fix icon and exe name for VS. Rename old rpcs3 project. Restored original name for rpcs3_.rc to rpcs3.rc. Delete old wxWidgets/setup.h & FindwxWidgets.cmake. * Rename project rpcs3qt in rpcs3. * Fix refresh by having the save occur on accept instead of during the destructor. * EmuGameDir --> EmuConfigDir. Give QListWidget a parent to remove a slight memory leak. * Fix message shown when Qt 5 is missing (#2884) * Fix hex_to_bytes * Remove unneeded patch cmake.patch ------------------------------------------------------------------- Sat Jun 17 10:35:42 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170616: * Fix inconsistent selection in gamelist/grid (#2871) * Reimplement debugger resize & disassembly (#2876) ------------------------------------------------------------------- Thu Jun 15 10:35:07 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170615: * Include a VFS manipulation dialog (#2863) ------------------------------------------------------------------- Thu Jun 15 10:28:57 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170614: * Misc organizing and bug fixing * Disable LLVM option in PPU when RPCS3 is not built with it * Add automated qt5 tech support in CMake * Fix annoying cmake output. ------------------------------------------------------------------- Tue Jun 13 13:28:57 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170613: * Add ability to boot elves in command line. (#2859) * Implement strncasecmp and strrchr * Update Icons provided by Discord user rutantan (#2862) * Dx12/Vulk: Fix KernelBase.dll crash (#2870) ------------------------------------------------------------------- Mon Jun 12 09:49:23 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170611: * Command line elf path fix (#2844) * rsx/vk: Fixes for ring buffer allocation and image clipping (#2850) * Grid Mode + Tool Bar (#2857) ------------------------------------------------------------------- Sat Jun 10 16:14:20 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170610: * Fix visual studio build since vulkan changed debug library names in update. * Grid Game Layout (#2854) * Revert "Grid Game Layout (#2854)" (#2856) ------------------------------------------------------------------- Fri Jun 09 09:00:58 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170608: * fix shortcuts * fix about dialog icon * fix game config saving to global if empty * maybe fix about dialog encoding * add dpi scaling for windows fix welcome screen for all platforms (looks slightly different) * fix dpi scaling (for all ?) * use global config as default for game config again (#2845) * GUI: Add recent games menu (#2843) * vulkan bringup on linux * fixes to project files and build scripts * update vulkan and glslang submodules * vk: API bug fixes - Improve spec conformity * Fix dpi awareness error; Enable program debug information on msvc * Add qt5-base dependency for arch linux (#2841) * GUI: Hotfix for Boot Recent (#2847) ------------------------------------------------------------------- Tue Jun 06 09:03:34 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170605: * Update game_list_frame.cpp (#2835) ------------------------------------------------------------------- Mon Jun 05 08:00:11 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170604: * rsx/fp/gl: Minor fixes (#2823) * cellPadPeriphGetData impl * cellPad: Clear info structs before setting * RPCS3 QT (#2645) * Update Readme (#2829) * Update TravisCI to build+upload AppImage for Linux (#2830) * Fix travis (#2832) ------------------------------------------------------------------- Sat May 27 12:51:46 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170526: * Need to link to libatomic for objects with sizes that aren't supported natively by the CPU * ui/vk: Reimplement vulkan GS selection; minor fixes for broken contexts on unsupported devices ------------------------------------------------------------------- Fri May 26 07:49:35 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170525: * Add option to select Vulkan device (#2814) ------------------------------------------------------------------- Thu May 25 08:22:08 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170524: * cmake: Link libllvm-4.0.so dynamically to avoid conflict with system libs (#2811) ------------------------------------------------------------------- Tue May 23 18:00:16 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170523: * Add caching for dependencies in appveyor.yml (#2804) ------------------------------------------------------------------- Tue May 23 08:09:19 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170522: * rsx: Use faster upload path when conditions allow * rsx: Add support for repeated data streams (broken attrib divisor?) * rsx: Relax restriction on vertex register data fetch * rsx: bugfix - avoid a divide by zero * vk: Improve flush queue sync between cell threads * rsx/fp: Better handling of flow control ops * Update .xpm based on new .ico * Add installation for linux ------------------------------------------------------------------- Mon May 22 07:59:13 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170521: * Set TrophyRequiredSize to 0 * Fix C00 SPRX loading * Ignore LLE savedata modules * ds4: use controller calibration values for accel/gyro ------------------------------------------------------------------- Sun May 21 14:11:00 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170520: * Configuration simplified * Config fix ------------------------------------------------------------------- Fri May 19 11:58:19 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170519: * Update asmjit submodule (Testers wanted!) (#2782) * Fix compilation asmjit for VS. (#2791) * Fix MFC_WrTagUpdate * ALSA: decrease buffer * cfmt improved ------------------------------------------------------------------- Tue May 16 08:42:32 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170516: * Stub cellGcmSetWaitFlipUnsafe() (#2786) ------------------------------------------------------------------- Mon May 15 17:24:18 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170515: * config.yml: Log section optimized * Minor StrFmt fix * Added CELL_CANCEL * fs::statfs fixed * CELL_OK cleanup ------------------------------------------------------------------- Mon May 15 15:51:29 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170515: * Stub cell (#2785) ------------------------------------------------------------------- Mon May 15 10:58:45 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170514: * rsx: Vertex program output fixes * gl: Use strict vertex output declaration for better compatibility with mesa * gl: Workaround to detect opengl driver caps for intel * fix for shader fog mode exponential2_abs (#2781) * gl: Strict export of diff_color and spec_color for mesa compatibility (#2779) ------------------------------------------------------------------- Thu May 11 19:48:23 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170511: * sys_ppu_thread_once rewritten * Disable /host_root/ by default * sys_ppu_thread_register_atexit implemented * ppu_initialize_syscalls draft * Remove AutoPause.cpp * cellFsGetPath implemented * Stub sys_fs syscalls * Update yaml-cpp ------------------------------------------------------------------- Thu May 11 09:50:36 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170510: * vulkan: Start work on buffer synchronization * vulkan: Use a parallel cb for texture cache ops; bug fixes * clear up a spec misunderstanding * vulkan: Use non-blocking list of lists (WIP) * rsx: Refactor image scaling code; Scale downloaded surfaces with vulkan * vk: Buffer sync timing tweaks * vulkan: Mark of critical code from allowing cb split in exception handler * vulkan: Do not bother with cache checks if buffer sync is not managed * spu: Speed hacks - Do not starve PPU threads * rsx: Enable GPU texture scaling by default ------------------------------------------------------------------- Sun May 07 18:16:29 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170507: * Update supporters * sys_fs_fsync fix * cellFs fixes ------------------------------------------------------------------- Fri May 05 09:38:27 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170504: * Add hidapi submodule, build updates / readme * DS4 Support. Supports sixaxis and vibrate * XInput vibrate support ------------------------------------------------------------------- Wed May 03 08:03:53 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170502: * Fix FAQ link (#2748) ------------------------------------------------------------------- Tue May 02 08:00:03 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170501: * Update sceNpSns (#2732) ------------------------------------------------------------------- Mon May 01 10:28:56 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170430: * [Crypto] Edat cleanup * Settings Fix * Fix typo/spacing from userclip * Fix cellGameContentErrorDialog freeze * Fix cellPadGetData button reports * Partially implement cellPadGetDataExtra * Stub cellFiber module (#2704) * Stub sceNp functions to return an offline status until further developement is done. * PPU interpreter (precise): SAT bit implemented (#2736) * Stack overflow detection * Preserve original function names * Organize cellDaisy * Hide cursor in GSFrame ------------------------------------------------------------------- Fri Apr 28 07:56:56 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170426: * cellAudioAdd2chData fixed * REG_FUNC+ macro improved ------------------------------------------------------------------- Wed Apr 26 18:40:27 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170426: * Use libfs.sprx (LLE) * cellFsGetDirectoryEntries rewritten * PPU Debug fix * sys_fs: 0xc0000006 stub * Fix module initialization * cellFsSdataOpenByFd fixed * sys_fs_fsync implemented * fs::statfs implemented * sys_fs_test implemented * sys_fs_lsn_lock implemented * cellFsGetFreeSize implemented * sys_fs_fcntl update * sys_fs_lsn_get_cda_size stub * sys_fs_fget_block_size improved ------------------------------------------------------------------- Wed Apr 26 08:18:30 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170425: * [Render] Userclip for d12/vk/ogl (#2719) ------------------------------------------------------------------- Mon Apr 24 08:24:05 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170423: * Stub new modules - cellGamePs1Emu - cellSysconfPs1emu - sysBdMediaId (which included sys_get_bd_media_id) - sysConsoleId (which included sys_get_console_id) - sysPs2Disc ------------------------------------------------------------------- Sun Apr 23 11:14:50 UTC 2017 - pousaduarte@gmail.com - Update to version 0.0.2~git20170422: * offset32(): pointer-to-member arithmetic * Fix Lib Loading * Disable SPUJIT.log (opt-in) * vk: add source alpha saturate blend factor (#2724) ------------------------------------------------------------------- Thu Apr 20 15:18:29 UTC 2017 - pousaduarte@gmail.com - Update to version 20170420~v0.0.2: * Add cellRtcAlarm module (#2703) * Lib Loader Radiobutton (#2689) ------------------------------------------------------------------- Wed Apr 19 07:41:58 UTC 2017 - pousaduarte@gmail.com - Update to version 20170419~v0.0.2: * Add FTFaceH_GetMaxVerticalAdvance function * Add FT_Done_Library function * Add cellFsAccess function ------------------------------------------------------------------- Tue Apr 18 23:00:43 UTC 2017 - pousaduarte@gmail.com - Update to version 20170418~v0.0.2: * Fix crash on linux when opening the settings dialog in debug mode * Misc compile fixes ------------------------------------------------------------------- Mon Apr 17 22:12:03 UTC 2017 - pousaduarte@gmail.com - Update to version 20170418~v0.0.2: * Check variable before to execute remove, in GLGSRender::on_exit (#2682) ------------------------------------------------------------------- Sun Apr 16 21:28:22 UTC 2017 - pousaduarte@gmail.com - Update to version 20170416~v0.0.2: * Add CONTRIBUTING.md guidelines (#2706) ------------------------------------------------------------------- Sun Apr 16 20:01:07 UTC 2017 - pousaduarte@gmail.com - Update to version 20170416~v0.0.2: * HLE linkage rewritten * sys_prx updated * PPU LLVM improved * SPU fix * sys_spu_image loading rewritten * _mxr000 hack moved * Error filtering updated ------------------------------------------------------------------- Sat Apr 15 23:54:54 UTC 2017 - pousaduarte@gmail.com - Update to version 20170416~v0.0.2: * Properly overwrite param.sfo in savedata (#2690) ------------------------------------------------------------------- Fri Apr 14 18:49:39 UTC 2017 - pousaduarte@gmail.com - Update to version 20170414~v0.0.2: * Trophy fixed (#2687) ------------------------------------------------------------------- Thu Apr 13 20:07:04 UTC 2017 - pousaduarte@gmail.com - Update to version 20170413~v0.0.2: * Trophy update (#2655) * spu: Check exponent bits in FMA ops (#2683) ------------------------------------------------------------------- Thu Apr 13 17:00:23 UTC 2017 - pousaduarte@gmail.com - Update to version 20170413~v0.0.2: * Update cellSaveDataGetListItem * Misc (#2614) ------------------------------------------------------------------- Wed Apr 12 15:12:01 UTC 2017 - pousaduarte@gmail.com - Update to version 20170412~v0.0.2: * Travis fix ------------------------------------------------------------------- Tue Apr 11 12:52:17 UTC 2017 - pousaduarte@gmail.com - Update to version 20170411~v0.0.2: * rsx: Throw if user attempts to use Vulkan/DX12 without driver support ------------------------------------------------------------------- Tue Apr 11 08:51:42 UTC 2017 - pousaduarte@gmail.com - Update to version 20170411~v0.0.2: * Travis fix * Fix zip cmd ------------------------------------------------------------------- Mon Apr 10 14:58:45 UTC 2017 - pousaduarte@gmail.com - Update to version 20170410~v0.0.2: * Fix token ------------------------------------------------------------------- Mon Apr 10 14:52:59 UTC 2017 - pousaduarte@gmail.com - Update to version 20170410~v0.0.2: * Upload Travis builds * Fix * gl: Autodetect supported OpenGL extensions * Update libglew-dev for travis ------------------------------------------------------------------- Mon Apr 10 09:49:58 UTC 2017 - pousaduarte@gmail.com - Update to version 20170410~v0.0.2: * Audio: downmix to stereo * Typo * Add functions to cellSsl * Update sys_spu - Implement sys_spu_thread_group_set_priority - Implement sys_spu_thread_group_get_priority * GL: fix wireframe in Catherine (#2660) ------------------------------------------------------------------- Sun Apr 09 18:30:23 UTC 2017 - pousaduarte@gmail.com - Update to version 20170409~v0.0.2: * ppu_analyse: use entry point * PPU disasm: print HLE index * PPU Analyser: TOC detection * ALSA Audio Renderer (Linux) ------------------------------------------------------------------- Sun Apr 09 12:01:16 UTC 2017 - pousaduarte@gmail.com - Update to version 20170408~v0.0.2: * Registers more functions missing. Implement and stub cell_FreeType2. Reorder cellRtc. * rsx: Set up hw accelerated blit * gl: Use the GPU to scale textures; use ARB_sampler_object * rsx/ui: Add config toggle for GPU texture scaling/blit ------------------------------------------------------------------- Sat Apr 08 13:49:58 UTC 2017 - pousaduarte@gmail.com - Update to version 20170408~v0.0.2: * Stub cellScreenshot module * Update cellSpudll - Stub cellSpudllGetImageSize - Implement cellSpudllHandleConfigSetDefaultValues * PPU Analyser fix * Update rpcs3.ico * Update supporters * Fixed auto LLE * Warn about libfiber.sprx ------------------------------------------------------------------- Fri Apr 07 18:29:48 UTC 2017 - pousaduarte@gmail.com - Update to version 20170407~v0.0.2: * Stub cellSysconf module * Stub cellVideoUpload module (#2642) ------------------------------------------------------------------- Fri Apr 07 14:29:24 UTC 2017 - pousaduarte@gmail.com - Update to version 20170407~v0.0.2: * Register cellSpursRemoveSystemWorkloadForUtility * Stub cellBgdl module ------------------------------------------------------------------- Fri Apr 07 13:07:15 UTC 2017 - pousaduarte@gmail.com - Update to version 20170407~v0.0.2: * Imejp: cellImeJpEnterChar (#2600) * Add cellLibprof module (#2637) ------------------------------------------------------------------- Fri Apr 07 08:37:01 UTC 2017 - pousaduarte@gmail.com - Update to version 20170407~v0.0.2: * [WIP] Update Qt interface (#2336) ------------------------------------------------------------------- Thu Apr 06 19:27:14 UTC 2017 - pousaduarte@gmail.com - Update to version 20170406~v0.0.2: * Add few functions in cellSysutil. * Fix isdenormal() for MS VC. ------------------------------------------------------------------- Thu Apr 06 10:36:33 UTC 2017 - pousaduarte@gmail.com - Update to version 20170406~v0.0.2: * Add cellRtc functions ------------------------------------------------------------------- Wed Apr 05 20:35:29 UTC 2017 - pousaduarte@gmail.com - Update to version 20170405~v0.0.2: * cellSave fix plus bugfixes (#2631) ------------------------------------------------------------------- Tue Apr 04 21:18:37 UTC 2017 - pousaduarte@gmail.com - Update to version 20170404~v0.0.2: * Fix freezes on Linux (#2632) ------------------------------------------------------------------- Tue Apr 04 08:20:39 UTC 2017 - pousaduarte@gmail.com - Update to version 20170403~v0.0.2: * cellSaveData workaround ------------------------------------------------------------------- Mon Apr 03 17:26:14 UTC 2017 - pousaduarte@gmail.com - Update to version 20170403~v0.0.2: * Only pass positive values to sqrt and log2 in the fragment program. (#2624) * rsx/vk: Re-enable layout transitions in vulkan. Vulkan drivers take this hint seriously - Fix enum typo * rsx: Fix line_loop -> line_strip indexing ------------------------------------------------------------------- Sun Apr 02 20:31:35 UTC 2017 - pousaduarte@gmail.com - Update to version 20170402~v0.0.2: * Gdb debug server (#2542) ------------------------------------------------------------------- Sun Apr 02 20:25:31 UTC 2017 - pousaduarte@gmail.com - Update to version 20170402~v0.0.2: * Stub cellHttpUtil (#2611) ------------------------------------------------------------------- Sat Apr 01 18:23:23 UTC 2017 - pousaduarte@gmail.com - Update to version 20170401~v0.0.2: * Add "Open Game Folder" Option" (#2595) * LLVM: fix for mingw * fs:: handle negative seek * fs::write_file aux * AutoLLE: libhttp.sprx added * PPU analyser fix * Fix check_addr arg * vm::g_exec_addr added * util::memory_reserve fixed * Fix cpu_thread pause * _sys_sprintf implemented * libmedi fix * OpenGameFolder simplified * OpenConfigFolder * implement getSizeKB functions bugfix in sys_net. id 0 is acceptable socket id * Check for invalid arguments * Add simple divide to get kbytes * rsx: Support indexed immediate draw via ArrayElement method * gl: Force alignment of DXT textures * rsx: Fix mipmap count calculation * RemoveGameConfig improved * Alternative TLS allocation * Simple patch engine * Enable patch engine for SPU images * Restore GD in game viewer * gl: Fix legacy clamp mode (#2612) * Fix mounting bdvd when elf in subdirectory ------------------------------------------------------------------- Sun Mar 26 15:25:38 UTC 2017 - pousaduarte@gmail.com - Update to version 20170326~v0.0.2: * Crypto: fix sprx/self check in npDrm and edata fixes * Xinput/MMjoy: Fix connection status * gl/vk: Fix stencil ops * cellSysmodule: Register 0xF044, 0x0054, 0x005C modules * Register HLE libmedi, cellCrossController, cellSysutilNpEula * Move module in correct path * rsx: Support immediate mode rendering * vk: Minor fixes to vertex counting and lower exception to notice if var does not exist * rsx: Support more base types for immediate rendering * rsx: Fix depth clears on z16 surfaces without stencil
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor