860978e617
- 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 - 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 - 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 - 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 - Update to version 0.0.5~git20180811: * Fix overflow in PPUThread stack frame dump * Fix sys_rsx_context_iounmap args - Update to version 0.0.5~git20180811: * Update new LV2 names (#4886) - Update to version 0.0.5~git20180807: * Readme update * cellCamera: Fixes - 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 OBS-URL: https://build.opensuse.org/request/show/630084 OBS-URL: https://build.opensuse.org/package/show/Emulators/rpcs3?expand=0&rev=20
140 lines
3.7 KiB
RPMSpec
140 lines
3.7 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.5~git20180818
|
|
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(glew)
|
|
BuildRequires: pkgconfig(glu)
|
|
BuildRequires: pkgconfig(libpng)
|
|
BuildRequires: pkgconfig(openal)
|
|
BuildRequires: pkgconfig(alsa)
|
|
BuildRequires: pkgconfig(libpulse-simple)
|
|
BuildRequires: pkgconfig(libevdev)
|
|
BuildRequires: pkgconfig(yaml-cpp)
|
|
BuildRequires: pkgconfig(libudev)
|
|
BuildRequires: vulkan-devel
|
|
BuildRequires: -post-build-checks
|
|
|
|
#ffmpeg deps
|
|
BuildRequires: pkgconfig(libavcodec)
|
|
BuildRequires: pkgconfig(libswscale)
|
|
BuildRequires: pkgconfig(libavformat)
|
|
|
|
#qt deps
|
|
BuildRequires: pkgconfig(Qt5Core) >= 5.8
|
|
BuildRequires: pkgconfig(Qt5Widgets) >= 5.8
|
|
BuildRequires: pkgconfig(Qt5DBus) >= 5.8
|
|
BuildRequires: pkgconfig(Qt5Network) >= 5.8
|
|
BuildRequires: pkgconfig(Qt5Qml) >= 5.8
|
|
|
|
#LLVM deps
|
|
#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
|
|
|
|
#Force Link with shared LLVM libs
|
|
#-e 's|llvm_map_components_to_libnames(LLVM_LIBS .*)|set(LLVM_LIBS LLVM)|g' \
|
|
#-e 's|-march=native|-msse -msse2 -mcx16 -mrtm|g' \
|
|
sed -i \
|
|
-e 's|Qt5 5.[0-9]\+|Qt5|g' \
|
|
%{name}/CMakeLists.txt
|
|
|
|
#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\"
|
|
|
|
// 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_SYSTEM_FFMPEG="ON" \
|
|
-DUSE_SYSTEM_LIBPNG="ON" \
|
|
-DUSE_NATIVE_INSTRUCTIONS="OFF" \
|
|
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
|
|
-DCMAKE_INSTALL_LIBEXEC="%{_libexecdir}" \
|
|
-DCMAKE_BUILD_TYPE="Release" \
|
|
-DCMAKE_SKIP_RPATH="YES" \
|
|
-DCMAKE_C_FLAGS="%{optflags} -fno-pie" \
|
|
-DCMAKE_CXX_FLAGS="%{optflags} -fno-pie"
|
|
|
|
%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
|