SHA256
1
0
forked from pool/rpcs3

Accepting request 555033 from home:xenonpk

- Replace rpcs3-unbreak_build.patch with more flexible sed regex
- 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
- Update to version 0.0.4~git20171205:
  * savedata: avoid passing vm memory to fs::file
  * Qt: implement compatibility column
- 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
- 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
- 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
- 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
- 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

OBS-URL: https://build.opensuse.org/request/show/555033
OBS-URL: https://build.opensuse.org/package/show/Emulators/rpcs3?expand=0&rev=12
This commit is contained in:
Klaus Kämpf 2017-12-07 13:56:40 +00:00 committed by Git OBS Bridge
parent 7733e8794b
commit 33946b5fdf
6 changed files with 171 additions and 59 deletions

View File

@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/RPCS3/rpcs3.git</param>
<param name="changesrevision">c58738807e205fdbeb1a8b988f76d72f1da9e5eb</param></service></servicedata>
<param name="changesrevision">0b3fbf1d4cc793d25819d642ac00084088fd0016</param></service></servicedata>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ddac9b1e04482b015901d36c51fe8418c01e58cf96cc318cb3d34d2d71e5442
size 150031960

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6aa3663e93e1e1d4e44bb74f14162efb125b1411c7a30fb1dcefb9ec2fa020a3
size 150406100

View File

@ -1,51 +0,0 @@
From 2a16b469dc1a5fea3cf2a0d52bcbaf7328d648d3 Mon Sep 17 00:00:00 2001
From: v-fox <virtuousfox@gmail.com>
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

View File

@ -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

View File

@ -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