forked from pool/rpcs3
81126bca7e
- 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
- 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
- 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
- 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"
- Update to version 0.0.7~git20190909:
* Fix warnings in rpcs3/Emu/Cell/Modules/sceNp.cpp
- 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
- 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
- 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.
- 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
- 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
- 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
- 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
- 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
- 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"
- 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
- 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
- Update to version 0.0.6~git20190704:
* Fix possible inconsistencies for sys_memory mem stats report
- 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
- Update to version 0.0.6~git20190703:
* gl: Workaround slow PBO usage with Mesa -Mesa is currently fastest with GL_STREAM_COPY -See a338dc0186
-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)
- 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
- 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
- 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
- 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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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)
- 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
- 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)
- 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
- 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
- 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
OBS-URL: https://build.opensuse.org/request/show/731105
OBS-URL: https://build.opensuse.org/package/show/Emulators/rpcs3?expand=0&rev=23
132 lines
3.4 KiB
RPMSpec
132 lines
3.4 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.7~git20190914
|
|
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.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 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
|
|
|
|
#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="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
|