forked from pool/rpcs3
25532adf4d
- 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 - 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) - 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 - 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 - 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) OBS-URL: https://build.opensuse.org/request/show/842554 OBS-URL: https://build.opensuse.org/package/show/Emulators/rpcs3?expand=0&rev=25
157 lines
4.0 KiB
RPMSpec
157 lines
4.0 KiB
RPMSpec
#
|
|
# spec file for package RPCS3
|
|
#
|
|
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: rpcs3
|
|
Version: 0.0.12~git20201018
|
|
Release: 0
|
|
Summary: PS3 emulator/debugger
|
|
License: GPL-2.0
|
|
Url: https://rpcs3.net/
|
|
Source0: %{name}-%{version}.tar.xz
|
|
ExclusiveArch: x86_64
|
|
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: cmake
|
|
|
|
BuildRequires: pkgconfig(libpng)
|
|
BuildRequires: pkgconfig(yaml-cpp)
|
|
BuildRequires: pkgconfig(libevdev)
|
|
BuildRequires: pkgconfig(libudev)
|
|
BuildRequires: pkgconfig(x11)
|
|
BuildRequires: -post-build-checks
|
|
|
|
#graphics backend dependencies:
|
|
#-------------------------------------------------
|
|
#opengl:
|
|
BuildRequires: pkgconfig(glew)
|
|
BuildRequires: pkgconfig(glu)
|
|
|
|
#vulkan:
|
|
BuildRequires: vulkan-devel
|
|
#-------------------------------------------------
|
|
|
|
#audio backend dependencies:
|
|
#-------------------------------------------------
|
|
##faudio:
|
|
BuildRequires: pkgconfig(sdl2)
|
|
|
|
##openal:
|
|
BuildRequires: pkgconfig(openal)
|
|
|
|
##alsa:
|
|
#BuildRequires: pkgconfig(alsa)
|
|
|
|
##pulseaudio:
|
|
#BuildRequires: pkgconfig(libpulse-simple)
|
|
#-------------------------------------------------
|
|
|
|
#ffmpeg dependencies
|
|
BuildRequires: pkgconfig(libavcodec)
|
|
BuildRequires: pkgconfig(libswscale)
|
|
BuildRequires: pkgconfig(libavformat)
|
|
|
|
#qt dependencies
|
|
BuildRequires: pkgconfig(Qt5Core) >= 5.10
|
|
BuildRequires: pkgconfig(Qt5Widgets) >= 5.10
|
|
BuildRequires: pkgconfig(Qt5DBus) >= 5.10
|
|
BuildRequires: pkgconfig(Qt5Network) >= 5.10
|
|
BuildRequires: pkgconfig(Qt5Qml) >= 5.10
|
|
BuildRequires: libqt5-qtbase-private-headers-devel >= 5.10
|
|
|
|
#LLVM dependencies
|
|
#BuildRequires: llvm4-devel
|
|
#BuildRequires: libLLVM4
|
|
|
|
|
|
Requires(post): hicolor-icon-theme
|
|
Requires(postun): hicolor-icon-theme
|
|
Requires(post): update-desktop-files
|
|
Requires(postun): update-desktop-files
|
|
|
|
%description
|
|
An open-source PlayStation 3 emulator/debugger written in C++.
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
#Generate Version Strings
|
|
GIT_VERSION=$(echo %{version} | sed 's|.*git|git~|g')
|
|
|
|
echo "// This is a generated file.
|
|
|
|
#define RPCS3_GIT_VERSION \"$GIT_VERSION\"
|
|
#define RPCS3_GIT_BRANCH \"master\"
|
|
#define RPCS3_GIT_FULL_BRANCH \"master\"
|
|
|
|
// If you don't want this file to update/recompile, change to 1.
|
|
|
|
#define RPCS3_GIT_VERSION_NO_UPDATE 1
|
|
" > %{name}/git-version.h
|
|
|
|
%build
|
|
|
|
mkdir ../%{name}_build
|
|
cd ../%{name}_build
|
|
cmake ../%{name}-%{version} \
|
|
-DUSE_PCH=OFF -DENABLE_PCH=OFF \
|
|
-DENABLE_PRECOMPILED_HEADERS=OFF \
|
|
-DSKIP_PRECOMPILE_HEADERS=ON \
|
|
-DUSE_PRECOMPILED_HEADERS=OFF \
|
|
-DUSE_SYSTEM_FFMPEG="ON" \
|
|
-DUSE_SYSTEM_LIBPNG="OFF" \
|
|
-DUSE_NATIVE_INSTRUCTIONS="OFF" \
|
|
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
|
|
-DCMAKE_INSTALL_LIBEXEC="%{_libexecdir}" \
|
|
-DCMAKE_BUILD_TYPE="Release" \
|
|
-DCMAKE_SKIP_RPATH="YES"
|
|
|
|
%make_jobs
|
|
|
|
%post
|
|
%desktop_database_post
|
|
%icon_theme_cache_post
|
|
|
|
%postun
|
|
%desktop_database_postun
|
|
%icon_theme_cache_postun
|
|
|
|
%install
|
|
cd ../%{name}_build
|
|
%make_install
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%doc README.md
|
|
%license LICENSE
|
|
|
|
%attr(755, root, root) %{_bindir}/%{name}
|
|
%{_datadir}/applications/%{name}.desktop
|
|
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
|
|
%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
|
|
%{_datadir}/%{name}
|
|
%{_datadir}/metainfo/%{name}.appdata.xml
|
|
|
|
%exclude %{_libexecdir}
|
|
%exclude %{_includedir}
|
|
%exclude %{_bindir}/llvm-tblgen
|
|
%exclude %{_bindir}/xxhsum
|
|
%exclude %{_libdir}/libxxhash.a
|
|
%exclude %{_datadir}/man/man1/xxhsum.1.gz
|
|
|
|
%changelog
|