diff --git a/_servicedata b/_servicedata index 2ab7396..e6f906e 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,4 @@ https://github.com/RPCS3/rpcs3.git - c58738807e205fdbeb1a8b988f76d72f1da9e5eb \ No newline at end of file + 0b3fbf1d4cc793d25819d642ac00084088fd0016 \ No newline at end of file diff --git a/rpcs3-0.0.4~git20171118.tar.xz b/rpcs3-0.0.4~git20171118.tar.xz deleted file mode 100644 index 9a0ba79..0000000 --- a/rpcs3-0.0.4~git20171118.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8ddac9b1e04482b015901d36c51fe8418c01e58cf96cc318cb3d34d2d71e5442 -size 150031960 diff --git a/rpcs3-0.0.4~git20171206.tar.xz b/rpcs3-0.0.4~git20171206.tar.xz new file mode 100644 index 0000000..e0020fc --- /dev/null +++ b/rpcs3-0.0.4~git20171206.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6aa3663e93e1e1d4e44bb74f14162efb125b1411c7a30fb1dcefb9ec2fa020a3 +size 150406100 diff --git a/rpcs3-unbreak_build.patch b/rpcs3-unbreak_build.patch deleted file mode 100644 index b95db14..0000000 --- a/rpcs3-unbreak_build.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 2a16b469dc1a5fea3cf2a0d52bcbaf7328d648d3 Mon Sep 17 00:00:00 2001 -From: v-fox -Date: Tue, 24 Oct 2017 07:08:29 +0500 -Subject: [PATCH] unbreak build by removing dependency on non-existing static - libraries and linking with shared ones, as everyone should - ---- - CMakeLists.txt | 2 ++ - rpcs3/CMakeLists.txt | 12 +++++++++--- - 2 files changed, 11 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 89bc070..273e85a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.0.2) - - option(WITH_GDB "WITH_GDB" OFF) - option(WITHOUT_LLVM "WITHOUT_LLVM" OFF) -+option(USE_SHARED_LLVM_LIBS "Link against shared LLVM libs, instead of statically. -+Only recommended on Gentoo. May interfere with mesa driver and make RPCS3 non-functional." OFF) - - if (WITH_GDB) - add_definitions(-DWITH_GDB_DEBUGGER) -diff --git a/rpcs3/CMakeLists.txt b/rpcs3/CMakeLists.txt -index 641be7d..976c320 100644 ---- a/rpcs3/CMakeLists.txt -+++ b/rpcs3/CMakeLists.txt -@@ -296,10 +296,16 @@ if(NOT LLVM_FOUND) - else() - add_definitions(${LLVM_DEFINITIONS}) - add_definitions(-DLLVM_AVAILABLE) -- if (CMAKE_BUILD_TYPE STREQUAL "Release") -- llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler) -+ -+ if (USE_SHARED_LLVM_LIBS) -+ Message("WARNING! Linking against shared LLVM libs may conflict with your system's mesa, rendering RPCS3 non-functional!") -+ set(LLVM_LIBS LLVM) - else() -- llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler mcdisassembler) -+ if (CMAKE_BUILD_TYPE STREQUAL "Release") -+ llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler) -+ else() -+ llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler mcdisassembler) -+ endif() - endif() - - if (NOT MSVC) --- -2.14.2 - diff --git a/rpcs3.changes b/rpcs3.changes index 8159c47..13e33aa 100644 --- a/rpcs3.changes +++ b/rpcs3.changes @@ -1,3 +1,164 @@ +------------------------------------------------------------------- +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 - opensuse-packaging@opensuse.org + +- 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 - opensuse-packaging@opensuse.org + +- 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 - opensuse-packaging@opensuse.org + +- 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 diff --git a/rpcs3.spec b/rpcs3.spec index 8e7cc1a..b3836f1 100644 --- a/rpcs3.spec +++ b/rpcs3.spec @@ -17,13 +17,12 @@ Name: rpcs3 -Version: 0.0.4~git20171118 +Version: 0.0.4~git20171206 Release: 0 Summary: PS3 emulator/debugger License: GPL-2.0 Url: https://rpcs3.net/ Source0: %{name}-%{version}.tar.xz -Patch0: rpcs3-unbreak_build.patch ExclusiveArch: x86_64 #BuildRequires: gcc-c++ @@ -51,6 +50,7 @@ BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(Qt5DBus) +BuildRequires: pkgconfig(Qt5Network) #LLVM deps BuildRequires: llvm-devel @@ -67,8 +67,10 @@ An open-source PlayStation 3 emulator/debugger written in C++. %prep %setup -q -%patch0 -p1 +#Force Link with shared LLVM libs +sed -i 's|llvm_map_components_to_libnames(LLVM_LIBS .*)|set(LLVM_LIBS LLVM)|g' rpcs3/CMakeLists.txt +#Generate Version Strings GIT_VERSION=$(echo %{version} | sed 's|.*git|git~|g') echo "// This is a generated file. @@ -94,7 +96,7 @@ cmake . \ -DCMAKE_BUILD_TYPE="RelWithDebInfo" \ -DCMAKE_SKIP_RPATH="YES" \ -DUSE_SHARED_LLVM_LIBS=ON \ - -DCMAKE_EXE_LINKER_FLAGS="$(llvm-config --libs mcjit vectorize ipo x86codegen x86disassembler)" + -DCMAKE_EXE_LINKER_FLAGS="$(llvm-config --libs llvm)" %make_jobs