linkmauve
e9c5c6e6bf
Move input to its own directory ( #7126 )
2019-12-22 17:39:42 +01:00
Silent
f03cb5c9c0
Qt: Simplify custom titles and notes
...
By adding some code to notes/titles reading,
it is possible to leverage default value behaviour in QMap value()
which simplifies code a bit.
2019-12-22 15:54:04 +01:00
Eladash
c65bb0d267
Avoid shifting by greater/equal than max bits values in ppu_rotate_mask
2019-12-22 04:35:57 +03:00
Markus Stockhausen
a36f0497ce
Improve approximate xfloat
...
- Disable denormals for SPU threads
- Add clamping helpers
2019-12-22 01:26:34 +03:00
Nekotekina
3b46c9cb6a
SPU LLVM: use FMA with approx xfloat when available
...
Emulate FMA with double precision if unsupported natively.
2019-12-21 17:53:34 +03:00
Nekotekina
068450d4fe
CPUTranslator: detect FMA feature
2019-12-20 21:11:07 +03:00
kd-11
fff1007d9a
cmake: Fix vulkan on X11
2019-12-20 16:57:01 +03:00
Eladash
db4041e079
Implement rounded_div
...
Round-to-nearest integral based division, optimized for unsigned integral.
Used in sceNpTrophyGetGameProgress.
Do not allow signed values for aligned_div(), align().
2019-12-20 14:47:04 +03:00
Emmanuel Gil Peyrot
e30173a835
rsx: Make X11 optional on Linux
...
This makes it possible to build rpcs3 on a pure Wayland system, without
the Xlib installed.
2019-12-20 10:48:03 +00:00
Eladash
6dd4003154
Fix cellNetCtlNetStartDialogUnloadAsync
2019-12-20 10:20:32 +01:00
Silent
95f363c174
Qt: Look for custom game titles when filtering via Search
2019-12-20 00:19:13 +01:00
Megamouse
7fcef227af
sceNpTrophy: minor optimizations
2019-12-19 18:15:22 +01:00
Megamouse
6388c98073
Qt: add platinum relevance to trophy_manager_dialog
2019-12-18 15:41:15 +01:00
Megamouse
91ad3d371f
Qt: minor optimizations in trophy_manager_dialog
2019-12-18 15:41:15 +01:00
Eladash
8d955cfb8c
Hotfix sceNpTrophyGetTrophyUnlockState
2019-12-18 13:07:55 +01:00
Eladash
e380a8c279
Fix sceNpTrophyGetGameProgress ( #7103 )
...
* Fix sceNpTrophyGetGameProgress
Was missing multiplication by 100.
* apply requested changes
* Enforce round-to-nearest rounding mode
2019-12-17 22:43:00 +00:00
Eladash
3efd5f360c
PPU DisAsm: Again
2019-12-15 19:55:23 +03:00
Megamouse
725761f282
Qt: move firmware settings to the advanced tab
2019-12-14 15:15:49 +01:00
Megamouse
97fb08935e
Qt: Use QT_ENABLE_HIGHDPI_SCALING starting with Qt 5.14 ( #7090 )
...
* Qt: Use QT_ENABLE_HIGHDPI_SCALING starting with Qt 5.14
* Qt: Add QT_SCALE_FACTOR_ROUNDING_POLICY starting with Qt 5.14
* Qt: remove style path for Qt versions below 5.11 (5.11.0 is min version)
* Qt: Fix dpi-rounding cli arg
* Qt: use rounding policy PassThrough as default dpi scaling policy
* Qt: add missing Qt Version check (facepalm)
2019-12-14 12:48:34 +01:00
Jayveer
364ba95d26
Updated sys_net to use WSAPoll on win32 as this fixes connection issues
...
in Metal Gear Online. Also aligns with implementations on non win32
platforms
2019-12-13 21:52:29 +03:00
Nekotekina
321f7e7197
Fix missing-braces warnings
2019-12-13 03:21:43 +03:00
Nekotekina
69e81da57b
Fix some warnings
2019-12-13 02:08:52 +03:00
kd-11
73236efe58
vk: Remove some outdated code ( #7060 )
2019-12-12 16:29:55 +03:00
Eladash
6a926daee7
rsx: Delay FIFO recovery point creation if is in in_begin_end scope ( #7080 )
2019-12-12 15:38:56 +03:00
Megamouse
038694ae28
cellGem: add some explanatory comments
2019-12-10 23:20:13 +01:00
Megamouse
691c7cde67
cellGem: cleanup some spacings
2019-12-10 23:20:13 +01:00
Zangetsu38
af8ebc76e2
Modules/cellGem: Implement pos, quat and handle_pos in Gemstate for mouse.
...
Modules/cellGem: Fix name for gem_image_state.
Modules/cellGem: Implement projectiion(x/y) in gem_image_State for mouse.
Modules/cellGem: Add cross, triangle, circle and start with use middle click for mouse.
Modules/cellGem: Refactor global code.
Modules/cellGem: fix some warning with initializing value.
2019-12-10 23:20:13 +01:00
VelocityRa
ac2b0c9752
PSMove: Rudimentary mouse emulation.
2019-12-10 23:20:13 +01:00
Eladash
7260af032e
rsx: Ignore or recover from unknown primitives
...
This also fixes a bug when recovering FIFO or creating such recovery point inside in_begin_end == true scope.
2019-12-11 00:11:12 +03:00
Eladash
6a4ba9d562
Fix warning about truncation
2019-12-07 10:22:11 +01:00
Eladash
a5b3b0df40
sceNpBasicAddBlockListEntry: Add connection check
2019-12-07 10:22:11 +01:00
Eladash
963d5fb981
sceNpBasicAddPlayersHistory(Async) fixes
...
* Check if count == 0.
* u64 typos fixed.
* description won't be checked if null.
* Check each npid provided, not only the first.
2019-12-07 10:22:11 +01:00
Eladash
5142d7c011
Minor fixup after #7068
2019-12-06 19:59:29 +03:00
Eladash
5631382623
sys_spu: Fix SPU Thread Id
...
* Removed wrong code in sys_spu_thread_group_terminate.
* SPU Thread ID is accurate, including 5th thread id "rule".
* Fixed possible use-after-free access of spu_thread::group member.
* RawSPU ID management simplified.
2019-12-06 19:59:29 +03:00
Eladash
e050dcbc52
Move size write in cellGamePatchCheck
2019-12-05 23:31:46 +03:00
Eladash
98970884c8
Make sys_tty accurate in release console mode, message saving in log
2019-12-05 23:31:46 +03:00
Eladash
401813f962
Revert part of #7044
...
oops.
2019-12-05 23:31:46 +03:00
Eladash
a2c69e4a2e
sys_spu_thread_group_dis/connect_event Improvements
2019-12-05 23:31:46 +03:00
Nekotekina
835892aa51
C-style cast cleanup VII
2019-12-05 02:10:15 +03:00
Nekotekina
d2fd3c6bc4
Commit 377e7d2a73
2019-12-04 21:32:08 +03:00
Nekotekina
377e7d2a73
C-style cast cleanup VI
2019-12-04 17:56:22 +03:00
kd-11
d973835bef
ds4: Cleanup
...
- Simplify helpers to read integers HID feature report buffers. They're
simple LE values.
- Improve calibration format detection by just checking the returned
values and not relying on bluetooth check. PS4 does not seem to do it
this way as it accepts 3rd party controllers with inverted format. The
only other request 0xA3 seems unrelated to device capabilities.
2019-12-04 13:48:39 +03:00
kd-11
6ae8fd0d34
ds4: Add workarounds for some 3rd party controllers
2019-12-04 13:48:39 +03:00
scribam
2eaaf5b132
vk: Add sampleRateShading to the list of device enabled features
2019-12-04 12:59:38 +03:00
Nekotekina
185c067d5b
C-style cast cleanup V
2019-12-03 17:23:00 +03:00
Megamouse
46ca39ec4d
Add Emu.HasGui() to properly hide Qt dialogs in no-gui mode
2019-12-03 09:12:51 +01:00
Megamouse
84f9911163
Qt: skip in-game Qt dialogs if no-gui was used
2019-12-03 07:59:10 +01:00
Megamouse
d73f04da13
cellSaveData: avoid nullptr if there is no dialog
2019-12-03 07:59:10 +01:00
Nekotekina
bf11a28fb5
C-style cast cleanup IV
2019-12-01 22:12:33 +03:00
Eladash
d45fbc331c
Fix error checking of cellGameContentPermit
2019-12-01 21:11:43 +03:00
Eladash
1a6e8e20dc
cellGameBootCheck Improvements
...
* size->sysSizeKB returns 4kb. (hw tested, unknown if in different situations this value changes)
* Return CELL_GAME_ERROR_BROKEN on failure to init. (hw tested)
* Write to dirName only when type is HDD game. (REd)
* Don't write to *size on errors, make it happen after *attributes and *type writes. (REd)
2019-12-01 21:11:43 +03:00
Eladash
37c220af72
Fix sceNpTrophyRegisterContext hack
2019-12-01 21:11:43 +03:00
Nekotekina
28eacc616a
C-style cast cleanup III
2019-12-01 00:32:44 +03:00
Nekotekina
ad9c9f0183
C-style cast cleanup II
2019-11-30 18:17:45 +03:00
Nekotekina
5b9df53c13
C-style cast cleanup (partial)
...
Replace C-style casts with C++ casts.
2019-11-29 00:35:23 +03:00
Eladash
8bd52c9843
Fix sys_spu_thread_un/bind_queue queue existence check
2019-11-28 01:54:45 +03:00
Eladash
9cc3838e49
Fix possible division by zero in sys_spu_thread_write/read_ls
2019-11-28 01:54:45 +03:00
Eladash
b8220ec12f
Stub sys_spu_thread_group_log
2019-11-28 01:54:45 +03:00
Eladash
038c6bb234
Avoid calling lv2_obj::sleep sequantially in sceNpTrophyRegisterContext
...
Also fix a correctness issue with queued.
2019-11-27 21:41:40 +01:00
Eladash
3b06214f88
Decrease memory stats in cellGemInit if needed
...
Also:
* fix state reset of cellGem
* Check max_connect == 0 in cellGemInit
2019-11-27 21:41:40 +01:00
Megamouse
d91f8193b0
settings: enable dynamic reload of some emu values
2019-11-27 10:34:03 +01:00
Megamouse
f2b530823b
overlays: add dynamic switch for perf overlay
2019-11-27 10:34:03 +01:00
Eladash
b5f6b27f86
cellSysutilGetSystemParamString improvements
...
- Check bufsize, must match to max string length
- Add missing cases for ParamId 0x1008, 0x1011, 0x1012, 0x1024
- Set actual current username in buffer on id == ID_CURRENT_USERNAME
2019-11-26 20:21:33 +00:00
Nekotekina
2290c389d6
vm: implement vm::try_access, vm::ptr::try_read/write
2019-11-26 00:12:45 +03:00
Nekotekina
1b9a3e6077
SPU: internal refactoring, add spu_program
...
Use struct (spu_program) instead of std::vector<u32>.
2019-11-26 00:01:38 +03:00
Nekotekina
4caf747729
SPU LLVM: detect mpy32 pattern
2019-11-26 00:01:38 +03:00
scribam
f29709105f
cmake: Add post-build commands for Windows
2019-11-25 23:08:37 +03:00
Eladash
70ace4bb83
Fix cellAudioCreateNotifyEventQueue queue depth
...
TODO: global sdk value used is set in cellAudioInit, which means sdk var value is 0 before it's initialization, currently safely set queue size to 8 in this case.
2019-11-25 09:04:56 +00:00
Eladash
17ae70b935
Implement cellAudioCreateNotifyEventQueueEx
2019-11-25 09:04:56 +00:00
Eladash
40db205f5d
Fix cellVoiceCreatePort
2019-11-25 09:04:56 +00:00
Eladash
1233c48d92
cellAudio: Implement event source
2019-11-25 09:04:56 +00:00
Eladash
f4ac8a2e0c
cellVoice: Fix NOT_INIT checks, implement 0 event source handling
2019-11-25 09:04:56 +00:00
Eladash
c9066e7236
cellVoice Update
...
* Use shared lock wherever possible.
* Fix cellVoiceSetVolume.
* Fix error logging of cellVoiceCreateNotifyEventQueue, cellAudioCreateNotifyEventQueue
2019-11-25 09:04:56 +00:00
Eladash
fd433779bb
sys_prx: Tiny improvement
2019-11-25 09:04:56 +00:00
kd-11
8ca53f9c84
rsx: Remember to min-max the anchor indices of a polygon or triangle fan
2019-11-24 19:01:57 +03:00
kd-11
429a76a140
rsx: Remove redundant check
2019-11-23 16:11:18 +03:00
Nekotekina
f31233b822
sys_net: don't report SYS_NET_EWOULDBLOCK in blocking syscalls
2019-11-22 18:56:40 +03:00
Nekotekina
5c55d4f2fe
sys_net: format both negative and positive sys_net_error values
2019-11-22 18:56:13 +03:00
Eladash
6ad8b0a443
sys_net: Add error_code
2019-11-21 22:51:22 +03:00
Eladash
8d5ef2c7b9
Clamp volume in cellAudioAdd/2c/6c/Data
...
Same as firmware, NaN and Inf are flushed to zero.
2019-11-20 21:58:43 +03:00
Markus Stockhausen
cd6b6c8a4f
Lightweight putllc() for non-TSX if no data changed
...
This replaces the totally messed up PR #6728
Some games make heavy use of getllar() & putllc() without even changing data.
In this case avoid unneccesary heavy locking of the PPU threads on non-TSX
hosts.
2019-11-19 18:10:29 +03:00
Megamouse
223d1473b0
Qt: remove unused rsx debugger code
2019-11-19 16:04:03 +01:00
kd-11
41e7d2aa0a
rsx: Select correct image aspect for blit engine targets.
2019-11-19 13:18:15 +03:00
kd-11
fd751e3e7b
rsx: Improve blit format mismatch detection
2019-11-19 13:18:15 +03:00
kd-11
41c3180276
rsx: Fix invalid format checks for DMA sections which are typeless
2019-11-19 13:18:15 +03:00
Megamouse
2152a77005
HLE: stub cellCrossController some more
2019-11-18 23:42:49 +01:00
Megamouse
41505117a7
HLE: stub cellCelpEnc and cellCelp8Enc
2019-11-18 23:42:49 +01:00
Megamouse
ca59ab59e9
HLE: add even more error_code
2019-11-18 23:42:49 +01:00
kd-11
9dab0575fa
rsx: Add missing format check for the RTV<->DSV transfer case
...
- TODO: Rewrite resource handling routines
2019-11-18 13:17:00 +03:00
kd-11
4a0e1c79ed
rsx: Improve format validation for blit engine
...
- Check all possible cases where format mismatch is possible.
- Warn if a slow path is going to be taken. Should help with future
optimizations.
2019-11-18 13:17:00 +03:00
kd-11
c415578e79
vk: Clamp buffer row length to never be less than declared width
...
- Fixes some games with broken textures
2019-11-18 13:17:00 +03:00
kd-11
2408922806
rsx: Do not ignore clamping for some routines that do not have implied range
2019-11-18 13:17:00 +03:00
kd-11
c10aa360b1
rsx: Remove more deprecated methods
2019-11-18 13:17:00 +03:00
JohnHolmesII
e53be99e1a
Fix typo in update manager
2019-11-18 07:33:53 +01:00
Nekotekina
db4e201fee
SPU LLVM: use updateGlobalMapping instead of addGlobalMapping
...
...Where appropriate.
Fix to incorrect addGlobalMapping usage.
Also use clearAllGlobalMappings at compilation start.
2019-11-17 22:15:59 +03:00
Nekotekina
f30b81f8b0
SPU LLVM: change patchpoint name generation
...
Allow 2 or more patchpoint from a single address.
2019-11-17 22:07:08 +03:00
Niram7777
2de3c06781
Qt: Avoid Start/StopPlaytime when installing firmware.
2019-11-17 10:57:21 +01:00
Megamouse
9a8c59a1ff
Qt: rename pad_info to pad_device_info for ODR
2019-11-16 16:11:40 +01:00
Megamouse
0b28f0fa14
HLE: add more error_code
2019-11-16 10:38:56 +01:00
Eladash
0f2adab05f
Disallow NaN in cellVideoOutSetGamma
2019-11-16 11:21:10 +03:00
Eladash
610463a425
cellSysutilGetSystemParamInt(ID_PAD_RUMBLE) changed to return ON status
2019-11-15 20:17:51 +01:00
Eladash
da12969898
cellSysUtil: Add a few CELL_SYSUTIL_ERROR_VALUE checks
2019-11-15 20:17:51 +01:00
Eladash
894658f14c
cellSysutil: Log error code
2019-11-15 20:17:51 +01:00
Eladash
25382a7dae
Restore cellPadSetActDirect's reserved error check
2019-11-15 20:17:51 +01:00
Megamouse
a17a5a76a0
overlays: avoid division by zero
2019-11-15 14:53:18 +01:00
Megamouse
fb96047d2f
overlays: add settings for overlay graphs
2019-11-15 14:53:18 +01:00
Megamouse
dd1707bd46
overlays: fix center options when graphs are shown
2019-11-15 14:53:18 +01:00
Megamouse
d6b0361a02
overlays: perf_metrics_overlay to seperate header
...
this is done to prevent severe conflicts with upcoming changes
2019-11-15 14:53:18 +01:00
Megamouse
b84fd29abc
settings: fix performance overlay margin checkbox
2019-11-15 14:53:18 +01:00
Anuskuss
7e31c30133
Intel iGPU needs workaround on Windows
2019-11-15 12:08:16 +03:00
RipleyTom
8e39c778a1
Cheat engine
2019-11-13 00:53:31 +03:00
Nick Renieris
cc59d319e1
overlay: Performance graphs
2019-11-12 20:43:09 +01:00
Emmanuel Gil Peyrot
0ff5938b1f
Utilities: Remove unused headers
...
AtomicPtr.h has never been used since its introduction in
da7472fe81 .
Same for Interval.h, since 4fedf5749e .
event.h’s last usage got removed in
70e2873e69 .
2019-11-12 19:51:57 +03:00
Nekotekina
abbf3c4d16
SPU LLVM: add SPU profiling to compilation thread
...
Run another thread to collect profile data from SPU threads.
Use this data to prioritize compiling hot spot SPU blocks.
Implement stx::init_mutex::wait_for_initialized() helper.
2019-11-11 23:13:13 +03:00
Eladash
a21d7def33
SPU: Don't break blocks on DSYNC instruction in Safe mode ( #6731 )
2019-11-11 23:12:21 +03:00
kd-11
8234bdb8f0
vk: Check for heap change events after a grow to avoid spec violations
...
- Avoid referencing the old buffer in stale views. Status can be set
globally if requested during heap creation.
2019-11-10 17:53:12 +03:00
kd-11
5968427a2f
vk: Initialize queries before use
...
- The spec does not guarantee that queries are initialized. In fact, it
now says all queries must be reset before they are used for the first
time.
2019-11-10 17:53:12 +03:00
kd-11
8ea9bc9874
vk: Reduce memory allocation sizes of default heaps
...
- The heaps will grow as desired, no need to overallocate to cater to
the most resource-hungry games
2019-11-10 17:53:12 +03:00
kd-11
0a32d478df
vk: Enable auto-growing of the data heaps for the performance case
2019-11-10 17:53:12 +03:00
kd-11
357e0d2097
vk: Implement explicit runtime flags to manage events like heap sync
2019-11-10 17:53:12 +03:00
kd-11
f359342721
rsx: Implement mutable ring buffers with grow support
2019-11-10 17:53:12 +03:00
kd-11
5f39a594ac
rsx: Clean up some unused legacy methods unnecessary after d3d removal
2019-11-10 17:53:12 +03:00
Eladash
3f3ce53c67
Fix string length check in cellGameThemeInstall
...
vm::ptr::size() returns sizeof type instead.
2019-11-10 14:32:15 +03:00
Eladash
e8cc9d1f52
Loader: Fix default sdk version
...
Note: sdk version checks are unsigned checks, such value results in always true.
2019-11-10 14:32:15 +03:00
Eladash
1986944c61
Implement sysutil_check_name_string
...
* Fully implement 3, 4, 16 and 17 error checks of cellSaveData.
* cellSysCacheMount restrict characters in ID.
* cellHddGameCheck restricts characters in dirName.
2019-11-10 14:32:15 +03:00
Emmanuel Gil Peyrot
56f82d2701
rsx: Wrap gsl::span definition into Utilities/span.h
2019-11-09 20:00:50 +01:00
Emmanuel Gil Peyrot
f29fcc10cf
s/GSL/span/ in XML files too
...
This is completely untested, as I can’t run Visual Studio.
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
7e4d142682
Remove GSL as we don’t use it anymore
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
f76720ceb0
Remove extraneous ::narrow<int>() calls
...
GSL’s gsl::span didn’t use the correct type for its index_type, which is
why they were needed.
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
72cdf0b04c
Replace gsl::span’s implementation with tcbrindle’s
...
This implementation optimises correctly on all relevant compilers,
unlike GSL’s which gave extremely slow code on any compiler other than
MSVC.
Supersedes #6948 .
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
25144caf12
Add tcbrindle’s span implementation
2019-11-09 19:30:06 +01:00
Nekotekina
a83cbf63c6
Remove gsl::finally only use
2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
ef368c5171
rsx: Replace gsl::byte with C++17’s std::byte
2019-11-09 19:30:05 +01:00
Nekotekina
6ea02c23a0
Fix SSSE3 usage in PPUInterpreter.cpp
...
Fixup
2019-11-09 20:39:56 +03:00
Nekotekina
1cca00ec3a
Fix SSSE3 usage in PPUThread.cpp
...
Remove legacy ifdefs, allow SSSE3 usage in AppImages.
2019-11-09 20:10:59 +03:00
Nekotekina
191675bf31
Remove gsl::finally only use
2019-11-09 19:11:01 +03:00
Nekotekina
0d629743ca
cellSysCache: poison opened cache files on cache clear
...
Make opened files return CELL_EIO after cache clear.
2019-11-09 14:50:41 +03:00
Nekotekina
73ee6abb0f
cellSysCache: return /dev_hdd1 root
...
It simplifies internal logic a little.
2019-11-09 14:43:19 +03:00
Nekotekina
e0bc276205
cellSysCache: keep mounted /dev_hdd1 after exitspawn
2019-11-09 14:43:19 +03:00
kd-11
7072489a6e
rsx: Implement point sprite coordinate generation
...
- When the point sprite flag is set, overrides the input similar to the
2D mask. The returned X and Y values are always the gl_PointCoord values
for the fragment.
- Stacks with the 2D mask to override the z and w coordinates.
2019-11-09 12:50:53 +03:00
Nekotekina
81c61e230f
Use std::from_chars in Emulator::SetUsr
2019-11-08 19:27:11 +03:00
Nekotekina
ccac9d4777
Remove throwing and catching cpu_flag::stop
...
Since there is spu_runtime::g_escape function now.
2019-11-08 19:27:11 +03:00
Nekotekina
e74a311931
GDB: remove wrong_checksum_exception
2019-11-08 19:27:11 +03:00
Nekotekina
587ae17aa2
Simplify fmt::throw_exception
...
Gradual exception deprecation: disallow choosing exception type.
However, the function itself can remain here forever.
2019-11-08 19:27:11 +03:00
Nekotekina
742bd633d8
Remove fs::file::set_delete
...
Since it's Windows-only functionality with limited use.
2019-11-08 19:27:11 +03:00
Nekotekina
d6087978b5
Fix vfs::host::unlink (Win32)
...
Use fs::get_virtual_device properly.
2019-11-08 19:27:11 +03:00
kd-11
63673b1a9f
rsx: Implement full color remap for the D24S8->ARGB8 converter
2019-11-08 19:11:59 +03:00
Nekotekina
24fdd24808
Fix vfs::host::remove_all
...
Separate WIN32-specific logic.
Don't call fs::remove_all on WIN32 path.
2019-11-07 21:21:21 +03:00
RipleyTom
4ff6acf6ba
Fixes evdev settings & multiple pads handling
2019-11-07 15:02:01 +03:00
Eladash
af0bd7136d
PPU Disasm: Fix RC OE enabled instructions view
2019-11-07 14:09:23 +03:00
kd-11
8d1505752f
rsx: Validate depth test setup to avoid address contention
2019-11-07 11:32:44 +03:00
Megamouse
77ac875b0b
Qt: adjust custom context menu positions
2019-11-06 19:26:29 +01:00
Nekotekina
03b9ee27c5
Virtualize cellSysCache
...
Allows caches from multiple games to coexist.
Also change the way of handling cache IDs (file-less).
2019-11-06 14:12:43 +03:00
kd-11
508ffcb775
vk: Compute kernel fixups
...
- Adhere to workgroup count limits as exposed by the GPU vendor.
They already execute properly even when going beyond the limits but this removes validation noise.
- Fix invocation counts for deswizzle kernel. The count was incorrect if blocksize was not 4, causing a bunch of useless work to be done.
2019-11-05 22:07:22 +03:00
kd-11
99d71fdc2a
vk: Implement layer batching for the GPU swizzle decoder
...
- Handles all LODs per layer meaning cubemaps are now fully handled in 6 passes instead of 6 * (log2(width)) passes.
- Handles all LODs of a 3D texture in one pass as well.
- The improvements do warrant dropping down the number of allowed compute invocations a bit
2019-11-05 22:07:22 +03:00
kd-11
7a0b94f343
vk: Minor compute optimizations
...
- Remove use of uniform buffers for compute static data. Use push
constants instead.
- Minor touchups to the deswizzle code to avoid redundant data copies.
2019-11-05 22:07:22 +03:00
kd-11
1266b63135
vk: Enable gpu deswizzling
2019-11-05 22:07:22 +03:00
kd-11
9cd3530c98
rsx: Set up framework for hw deswizzle
2019-11-05 22:07:22 +03:00
Nekotekina
531afe0f97
atomic2: fix pessimisations
2019-11-04 22:53:26 +03:00
Nekotekina
ec25deed2b
atomic2: fix corruption bug
2019-11-04 22:52:45 +03:00
Nekotekina
be306afae9
atomic2: add TSX path for multi_cas
2019-11-04 22:52:24 +03:00
Nekotekina
1f9250e39a
Linux: disable update check at startup if not running from AppImage
2019-11-04 22:52:03 +03:00
Nekotekina
da135fbfcc
SPU LLVM: Disable "special" branch patchpoints
2019-11-04 22:52:03 +03:00
kd-11
57d3c9e171
rsx: Take empty queries into account for engines that spam report reads.
...
- Some games will spam the report queue with requests but have zpass
statistics enabled.
2019-11-04 18:48:41 +03:00
kd-11
2a8f2c64d2
rsx: Implement report transfer deferring
...
- Allow delaying report flushes triggered by image_in or buffer_notify
- When the report is ready, all the delayed transfers will automatically
be done.
- TODO: Make this configurable?
2019-11-04 18:48:41 +03:00
kd-11
3e0f9dff4d
vk: Improve zcull synchronization
...
- Use zcull sync hints more aggressively
2019-11-04 18:48:41 +03:00
kd-11
fe3c290d03
vk: Reimplement occlusion result reading
...
- Implement partial result reads
2019-11-04 18:48:41 +03:00
kd-11
51e0eaaddc
rsx: Implement backend notification for upcoming zcull reads
2019-11-04 18:48:41 +03:00
kd-11
df63de8f16
rsx: Allow u32 restart index with full index width
2019-11-04 16:56:34 +03:00
kd-11
6b3af09fa5
vk: Improved crash message for missing MSAA features
2019-11-04 16:56:34 +03:00
ipkpjersi
8ed45a0553
Qt: Fixed plurals of time played strings ( #6937 )
2019-11-03 21:22:23 +01:00
Silent
e1638b9326
Fix context menu showing twice in Game List
2019-11-03 20:13:20 +01:00
Eladash
7475be99ab
lv2: Check ipc_key value if object is process shared
2019-11-03 14:59:47 +03:00
eladash
33fe0fdd6b
Add missng check for key in cellAudioSetNotifyEventQueue
...
key is checked once according to hw test.
2019-11-03 14:59:47 +03:00
Megamouse
3be92ec52b
Qt: implement time played and last played
2019-11-02 12:48:12 +01:00
RipleyTom
35c0c05707
Stop autoupdater renaming file across devices
2019-11-02 12:31:38 +03:00
Nekotekina
f75661bfae
Fix ALSA and PULSE building on Linux (workaround)
2019-11-01 20:41:16 +03:00
Nekotekina
35249d2578
Implement multi_cas with atomic2 type
...
stx::atomic2 is a "fat atomic" for use with multi_cas.
stx::multi_cas is minimal transaction routine.
2019-11-01 20:41:16 +03:00
kd-11
bbed791ee0
vk: Add explicit support for identity image views
...
- Allows bypassing all remap shenanigans to make some operations that
rely on the raw image to work correctly.
2019-11-01 19:35:46 +03:00
Emmanuel Gil Peyrot
03a2d36c7e
Audio: don’t build ALSA, PulseAudio or FAudio backends when disabled
2019-10-31 15:46:20 +03:00
kd-11
63bbf11a76
vk: Add video out calibration pass
...
- Adds gamma correction and RGB range filters to output to match PS3
2019-10-31 14:43:24 +03:00
kd-11
78aefe5b5e
rsx/overlays: Add support for other primitive types other than triangle_strips
2019-10-31 14:43:24 +03:00
Nekotekina
e3e7051ed3
Minor optimization in BufferUtils.cpp
...
Don't use PSHUFB for horizontal operations.
Utilize PHMINPOSUW to compute max as well:
+ sse41_hmin_epu16
+ sse41_hmax_epu16
2019-10-30 18:52:34 +03:00
Nekotekina
b1968769b7
Minor cleanup in BufferUtils.cpp
...
Replace inline asm with intrinsic using target attribute trick.
2019-10-30 17:53:51 +03:00
linkmauve
cfd5cf6bdb
Optimise primitive_restart::upload_untouched() ( #6881 )
...
* rsx: Optimise primitive_restart::upload_untouched() with SSE4.1
This optimisation is only applied when skip_restart is false.
I’ve only tested the u16 codepath, as it is the one used in NieR.
In some very unscientific profiling, this function used to take 2.76% of
the total frame time at the save point of the port town, it now takes
about 0.40%.
* rsx: Mark all SSE4.1 functions with attributes on gcc and clang
This assures the compiler we will take care of only calling these
functions after having checked that the CPU does support these
instructions.
* rsx: Add an AVX2 implementation of primitive restart ibo upload
* rsx: Remove redefinition of SSE4.1 instructions
Now that clang is aware that our functions are compiled with SSE4.1, it
lets us generate this code using its intrinsics.
* rsx: Optimise vector to scalar conversion
This is done using minpos and srli intrinsics and generate less code
than before.
Thanks Nekotekina for the suggestion!
2019-10-30 16:42:44 +03:00
kd-11
35794dc3f2
vk: Add checks for alphaToOne support
...
- This feature is very rarely used, as alphaToCoverage is commonly used as a replacement for blending, not in addition to it.
2019-10-30 01:06:28 +03:00
Eladash
f41f5054f7
sys_spu Fixup after #6864
2019-10-29 23:13:16 +03:00
kd-11
eda09489b2
vk: Optionally ignore depth bounds testing on hardware that does not
...
support it.
2019-10-29 20:03:54 +03:00
kd-11
7a5c20ef85
vk: Minor spec touchups
...
- Simplify active instance management. While multicontext support will
be required in future, this is better done with multiple logical devices
rather than multiple instances.
- Destroy the WSI surface on exit
- Enable depthBoundsTest explicitly. TODO: Properly check for supported
features.
2019-10-29 20:03:54 +03:00
kd-11
aa3eeaa417
rsx: Separate subresource_layout:dim_in_block and
...
subresource_layout::dim_in_texel
- These two are not always linked when working with compressed textures.
The actual texels extend past the actual size of the image if the size
is not aligned. e.g if height is 1, the real height is 4, but its not
possible to determine this from the aligned size. It could be 1, 2, 3 or
4 for example.
- Fixes image out-of-bounds writes when uploading from CPU
2019-10-29 20:03:54 +03:00
Eladash
b99992d570
sys_spu: Fix SNR and Inbound Mailbox state reset
...
Also remove bugged ESTAT check at sys_spu_thread_write_spu_mb.
2019-10-29 18:34:28 +03:00
Eladash
739f68271f
SPU LLVM: fix MFC CMD enqueuing
2019-10-29 18:16:08 +03:00
Eladash
f88a135b5b
Fix lv2_config_service_event event id reset
2019-10-29 18:15:26 +03:00
Eladash
114b9498bf
Remove unjustified use of idm::import_existing in sys_config
2019-10-29 18:15:26 +03:00
Eladash
8b6383b489
lv2: Correct alignment of some attributes structs
2019-10-29 18:15:41 +03:00
Eladash
f7c177d79e
Kernel Explorer: Don't hardcode endianness in name64
2019-10-29 18:15:26 +03:00
Eladash
3e4cbf67f6
sys_rwlock_wlock: Fix typo
2019-10-29 18:15:26 +03:00
Eladash
42fc698186
rsx: Enable primitive restart index only when needed ( #6889 )
...
* rsx: Enable primitive restart index only when needed
* rsx: Use if with initializer in read_put()
2019-10-28 23:16:27 +03:00
Nekotekina
83cf6e6fa3
Qt: fix crash on startup in game_list_frame::Refresh
...
QList isn't supposed to be modified concurrently.
Use lf_queue to collect game_info data.
2019-10-28 22:59:56 +03:00
Max
8c3d2363bf
[msbuild] 7zlib msbuild changes
...
- move project file to 3rdparty for consistency
- add common_default props
- fixes 7zlib.vcxproj.FileListAbsolute.txt being detected as change
2019-10-28 18:59:16 +03:00
Hula Hoop
200ec5c4b3
Super-important PR ( #6900 )
...
* Fix capitalisation errors and typos
* Oops
2019-10-28 17:44:44 +03:00
kd-11
479d92d075
vk: Fix uninitialized (and wrong) variable access
2019-10-28 15:20:45 +03:00
kd-11
b0708367c2
vk: Round lod bias to the nearest 0.5 to lower number of permutations when nearest mipmap sampling is used
...
- The lambda values will be rounded to the nearest integer anyway
2019-10-28 15:20:45 +03:00
kd-11
3e8dfede1c
vk: Modify sampler cache to uniquely identify all the input parameters
...
- Avoids iteration when variable mipmap counts or lod bias parameters change
2019-10-28 15:20:45 +03:00
kd-11
ad2add9574
rsx:: Use fcmp correctly
2019-10-28 15:20:45 +03:00
kd-11
d04241ad25
rsx: Allow compressed textures to be unaligned in size
...
- Align based on row length but let the texture itself be of arbitrary dimensions
2019-10-28 15:20:45 +03:00
Emmanuel Gil Peyrot
69e9ee26f6
rsx: Make input_is_swizzled a template parameter
...
This lowers the relative cost of this function from ~2.25% to ~1.80% on
gcc 9 which I found quite surprising, some of it probably gets inlined
better in the callers, but I haven’t been able to isolate which parts.
2019-10-28 13:28:51 +03:00
Eladash
65e47490c4
cellSysCacheClear/Mount() improved
...
Clear() error checking simplified a bit
Mount() now clears cache if ID was changed from last or NULL specified.
Implemented vfs::host::remove_all():
Clear() now uses vfs::host::remove_all() to match behaviour on Windows with ps3
2019-10-27 15:56:16 +03:00
Nekotekina
83f253636a
SPU LLVM: verbose patchpoints in "giga table"
2019-10-27 13:04:05 +03:00
Nekotekina
16edb5bdd0
SPU Analyser: don't compile on "analyser failed"
2019-10-27 13:04:05 +03:00
Nekotekina
5f00b32867
SPU: fixup for duplicates in recompilers
...
Fixup for the edge case.
2019-10-27 13:04:05 +03:00
Nekotekina
37dbbce194
SPU LLVM: Enable "Giga table" in Mega mode
...
Was previously only enabled in Giga mode.
Also fill the table with branch patchpoints.
2019-10-27 13:04:05 +03:00
Megamouse
6fe32887b2
Qt: disable progress_dialog resize
2019-10-27 08:02:45 +01:00
Megamouse
200162cf2a
Qt: connect compat error handling to error signal
2019-10-27 08:02:45 +01:00
Megamouse
59747fd708
Qt: add quickstart link to SSL warnings
2019-10-27 08:02:45 +01:00
Nekotekina
8c28c4e8ec
SPU: Make recompilers lock-free.
2019-10-26 23:33:18 +03:00
Nekotekina
9ac6ef6494
SPU: cleanup former OOM handling
...
Remove cpu_flag::jit_return.
It's obsolete now, and worked only in SPU ASMJIT anyway.
2019-10-26 21:24:12 +03:00
MSuih
f3ed26e9db
Small warnings cleanup ( #6671 )
...
* Ignore more warnings
These are intentional
* Signed/unsigned mismatch when comparing
* Explictly cast values
* Intentionally discard a nodiscard value
* Change ppu_tid to u32
* Do not use POSIX function name on Windows
* Qt: Use horizontalAdvance instead of width
* Change progress variables to u32
2019-10-25 13:32:21 +03:00
Megamouse
89a2d04f96
Qt: add mutex to game list creation
...
should prevent random crashes when accessing maps
2019-10-25 12:10:07 +02:00
arabek
63a0b97dd1
Normalize audio when downmixing to avoid clipping ( #6867 )
...
* Normalize audio when downmixing to avoid clipping
Idea came from this topic:
https://hydrogenaud.io/index.php?topic=104214.msg855199#msg855199
Fixes very loud audio in Motorstorm (and probably other games
when playing over headphones/stereo speakers with
Downmix to Stereo option enabled)
2019-10-25 12:56:47 +03:00
Oschowa
6944e180c8
rpcs3qt/settings_dialog: fix Audio Buffering setting for FAudio backend
2019-10-25 00:56:53 +03:00
Oschowa
06433d614a
Implement FAudio backend ( #6374 )
2019-10-24 22:26:29 +03:00
RipleyTom
c89ad38ef1
Check if we're in the process of restarting when trying to open the log
2019-10-24 18:36:28 +02:00
Marin Baron
4599d58413
Fix debug build gcc/clang linker.
...
Create temporary variable to resolve undefined reference.
[ 98%] Linking CXX executable ../bin/rpcs3
/usr/bin/ld : Emu/librpcs3_emu.a(sys_vm.cpp.o) : dans la fonction « sys_vm_t::~sys_vm_t() » :
/mnt/raid/Git/rpcs3/rpcs3/Emu/Cell/lv2/sys_vm.cpp:21 : référence indéfinie vers « id_manager::id_traits<sys_vm_t, void>::invalid »
collect2: erreur: ld a retourné le statut de sortie 1
make[2]: *** [rpcs3/CMakeFiles/rpcs3.dir/build.make:426: bin/rpcs3] Error 1
2019-10-24 14:34:38 +03:00
JohnHolmesII
0842724f94
Update cellVoice.cpp
...
Caused warnings. Not sure what the actual intention was, this may need to be inverted.
This commit assumes that erase() returning 0 is a sign that deletion
failed, or that there was corruption. There should be a port there.
2019-10-24 14:19:52 +03:00
Emmanuel Gil Peyrot
9253f7d645
Audio: don’t build XAudio2 backend on Linux
...
The files already had a #ifdef _WIN32, but this avoid even trying to
compile their translation unit.
I was surprised to see XAudio2 being mentioned on Linux, this makes sure
no one else will get this surprise.
2019-10-24 14:16:29 +03:00
Megamouse
a360836fef
Qt: don't update the gui from QtConcurrent
2019-10-24 00:26:07 +02:00
Megamouse
56a249fd5a
Qt: multi thread trophy loading
2019-10-24 00:26:07 +02:00
Megamouse
221508fa07
Qt: indent try and catch block
2019-10-24 00:26:07 +02:00
Megamouse
b805238b8a
Qt: multi thread game list refresh from drive
2019-10-24 00:26:07 +02:00
Megamouse
5b59c18dcc
Qt: multithreaded icon resize
2019-10-24 00:26:07 +02:00
Megamouse
d0ea71289e
fix weird filters for display sleep files
...
For some reason kd-11 thought generated files was a good place to put them
2019-10-23 20:35:32 +02:00
Megamouse
c88654bc8f
Remove VS D3D12 Dependencies
2019-10-23 20:35:32 +02:00
Nekotekina
ec1ea466fd
atomic.hpp: fix typo
2019-10-23 16:01:14 +03:00
Nekotekina
6e19881b82
Update LLVM (10)
2019-10-23 16:01:14 +03:00
kd-11
d53d7bb598
vk: Restore vega native use of FP16 in shaders
...
- AMD proprietary drivers should work fine
2019-10-23 12:20:06 +03:00
Emmanuel Gil Peyrot
54d95373d0
Support fullscreen properly on Wayland
...
The current behaviour when going fullscreen from windowed was to keep
the previous size of the swapchain, with black borders on all sides,
which looks quite ugly.
The root of this issue is that rpcs3 only checks for frame resize if
vkQueuePresent() returns VK_SUBOPTIMAL_KHR, which drivers can’t do on
Wayland, see https://gitlab.freedesktop.org/mesa/mesa/issues/1979
2019-10-23 12:19:46 +03:00
Megamouse
2cc71afdcd
Remove further occurrences of DirectX 12
2019-10-23 00:03:20 +02:00
kd-11
e04b6cd7c0
rsx: Copypasta fix
...
- r1 is always float4 never half4. Its a full-width register unlike the
other outputs which are optionally half-width.
2019-10-23 00:50:24 +03:00
Zion
f1d474f932
Bump version built on to 16.04, Update clang to 8, update Qt to 5.12.3
2019-10-22 21:52:01 +03:00
kd-11
00bc3fe658
Drop d3d12 backend
2019-10-22 21:45:14 +03:00
Emmanuel Gil Peyrot
14c63ec014
Fix misleading indent.
2019-10-22 16:11:43 +03:00
Emmanuel Gil Peyrot
9d1b7af2eb
Avoid std::move() for copy elision
...
This could disable zero-copy optimisations, which is the opposite of
what we want.
2019-10-22 16:11:43 +03:00
Eladash
586fe11e22
Fix cellGcm HLE regression
...
Also correct flags.
2019-10-22 13:45:09 +03:00
Eladash
945abcc6cd
rsx: Align down index array offset
...
* Also use improved to_be_t<> template (recetly ignoring one byte long types) for vm gsl::byte referencing, remove redundent narrow<> cast (same type)
2019-10-22 13:45:09 +03:00
kd-11
3bb70e837a
vk: Silly copypasta
2019-10-22 13:44:49 +03:00
kd-11
0b2f9f0f17
rsx: Add support for delayed shader discard.
...
- Noticed a glitch on AMD hw and windows drivers where discard seems to affect entire 4x4 cells.
- Dead fragments (outside the primitive boundary) could have their discards trigger as they do not have proper access to variables.
- This introduces dead fragments along triangle edges, causing a diagonal line pattern across the screen that is very annoying.
2019-10-22 13:44:49 +03:00
kd-11
901942f24a
rsx: Replace pointless f32[4] restriction on texture parameters.
...
- Use a struct instead to improve readability and remove pointless OpBitCast
2019-10-22 13:44:49 +03:00
kd-11
f7842b765f
rsx: Implement packed format renormalization
...
- Renormalizes arbitrary N-bit values as 8-bit normalized.
- NV hardware performs integer normalization at 8 bits if the size is less than 8.
- This can cause significant arithmetic drift because the error is multiplied by a huge number when sampling.
2019-10-22 13:44:49 +03:00
Ani
407be45069
Partially revert git-version.cmake
2019-10-22 11:42:49 +01:00
RipleyTom
f8e4079c41
Fix for auto updater
2019-10-22 07:43:12 +02:00
RipleyTom
9f9ac4b696
Auto-updater
2019-10-22 01:51:50 +02:00
RipleyTom
56e6dd1c46
Adds 7z sdk to 3rdparty
2019-10-22 01:51:50 +02:00
Nekotekina
b329bb604c
SPU LLVM: implemented asynchronous compilation
...
Implemented interpreter-based pre-recompiler.
Interpreter functions are build with SPU LLVM.
2019-10-21 19:29:34 +03:00
Eladash
29cddc30f0
rsx: Fix vblank signals flood after Emu.Resume()
2019-10-21 15:31:45 +03:00
Eladash
cbecbc264e
cellGcm: Fix driver_info->memory_size
...
based hw test
2019-10-21 15:31:45 +03:00
Eladash
5de0005f5a
rsx: Report full method range on invalid methods
...
Also report full command on fifo desync event for the first time
2019-10-21 15:31:45 +03:00
eladash
730e9cde84
sys_rsx: Improve allocations and error checks
...
* allow sys_rsx_device_map to be called twice: in this case the DEVICE address retrived from the previous call returned
* Add ENOMEM checks for sys_rsx_memory_allocate and sys_rsx_context_allocate
* add EINVAL check for sys_rsx_context_allocate if memory handle is not found
* Separate sys_rsx_device_map allocation from sys_rsx_context_allocate's
* Implement sys_rsx_memory_free; used by cellGcmInit upon failure
* Added context_id checks
* Throw if sys_rsx_context_allocate was called twice.
2019-10-21 15:31:45 +03:00
Nekotekina
b844cd81e8
atomic.hpp: remove <string> dependency
2019-10-20 23:06:17 +03:00
Nekotekina
2dde133e1f
atomic.hpp: fix internal resource deallocation
...
Also remove debug printf.
2019-10-20 23:06:17 +03:00
kd-11
3c44065684
gl: Fix copypasta
...
- MSAA is still unimplemented in OGL
2019-10-20 21:38:40 +03:00
kd-11
f40f2c6215
vk: Fix minification filter description for NEAREST_MIPMAP_NEAREST. Just a typo.
...
- Also remove mipmap filter for CONVOLUTION
2019-10-20 21:38:40 +03:00
kd-11
09de3b7974
rsx: Tweak behaviour of the "Use GPU texture scaling" option
...
- If either source data or dest is a render target, do image operations on the GPU same as before
- If swizzle is desired, use CPU fallback
- If no scaling and no format conversion is required, use CPU fallback
- If scaling is desired and the transfer target is in local memory, use the GPU
- When doing trivial copies, use the routine in rsx_methods instead of
duplicating code. Also has the benefit of better range checking.
2019-10-20 21:38:40 +03:00
kd-11
868547aec8
rsx: Minor improvement to fbo region invalidation
...
- When commiting a block as fbo, keep blit_dst data as well.
- Avoids removing (and losing data from) blit targets that just happen to share a page with a framebuffer.
2019-10-20 21:38:40 +03:00
Eladash
c16319f959
PPU Precise: Fix fused float ops misaccuracy by using fma
...
Also cleanup add64_flags, remove redundent copy of s_ppu_itype.
2019-10-20 20:58:31 +03:00
Nekotekina
4d46e66833
atomic.hpp: improve internal data layout
...
Put semaphore control variable together in hashtable.
Avoid unnecessary allocation of extents.
2019-10-20 20:08:09 +03:00
Nekotekina
56b310ebac
atomic.hpp: reimplement USE_FUTEX path for Linux
2019-10-20 20:05:36 +03:00
Nekotekina
e0f60c5dce
atomic.hpp: rewrite collision handling
...
Remove "fallback" code path.
Remove USE_FUTEX code path temporarily.
2019-10-20 18:29:20 +03:00
Eladash
79a3a7ce4c
Add exception for sys_usbd_initialize
2019-10-20 15:28:26 +01:00
Eladash
a1e7cdf1e9
Forcefully awake waiters in sys_usbd_finalize
...
This is a no-op from cellUsbd side but happens on lv2 side as well.
2019-10-20 15:28:26 +01:00
Eladash
d90696be90
sys_usbd Tiny update
2019-10-20 15:28:26 +01:00
Eladash
6c2307fb96
cellVoice: Initial Implementation
...
Implement system service events, error checking and some functions.
2019-10-20 15:16:53 +01:00
Eladash
fa73175754
sceNpBasicGetEvent error checks improved
2019-10-20 14:56:44 +01:00
Eladash
d9a97d8674
sceNpUtil Improvements
2019-10-20 14:56:44 +01:00
kd-11
996534c559
rsx: Fixup for aspect mismatch
2019-10-20 15:25:07 +03:00
Megamouse
0ef7ad129d
cellNetCtl: improve param checks
2019-10-19 19:20:18 +02:00
Megamouse
e6aeb7ecb9
stub cellKey2Char
2019-10-19 19:13:33 +02:00
Nekotekina
59382e023d
Compilation fix
2019-10-19 14:08:21 +03:00
Nekotekina
2446bb5d40
init_mutex: implement init_always()
2019-10-19 14:01:34 +03:00
Nekotekina
db7042b986
Restore using keyed events in waitable atomics on Windows
2019-10-18 23:08:00 +03:00
Eladash
d4ba7f37b6
rsx util: Implement decode_fxp<>
2019-10-18 15:41:39 +03:00
kd-11
299b98b30a
vk: Disable mipmap sampling if sampling mode is does not have a mipmap filtering mode.
...
- GL_LINEAR and GL_NEAREST always sample LOD0 so make vulkan behave the same way
2019-10-18 14:46:37 +03:00
kd-11
404073c74a
rsx: Force-align compressed formats to 4x4 texel blocks and disable 1D compressed textures.
...
- The PS3 allows defining 1D compressed images but this obviously doesn't work well on desktop.
2019-10-18 14:46:37 +03:00
kd-11
eff4e95c99
rsx: Minor cache fixup for cyclic references.
...
- Logic was broken by mipmaps PR. Do not issue a texture barrier if a temp copy is being done.
2019-10-18 14:46:37 +03:00
kd-11
bd1bcc6be7
vk: Remove a redundant memory barrier
2019-10-18 14:46:37 +03:00
kd-11
70642484cd
vk: Check for cyclic references if sampler is marked as do-not-cache.
...
- Usually an indication of surface/texture cache interaction.
2019-10-18 14:46:37 +03:00
kd-11
eee2237e19
rsx: Track uncached cache resources
...
- Uncacheable resources can be reused as soon as they're made visible to the draw call.
- Since they're likely to be reused every draw call until the shader changes, it is important to reuse as much as possible
2019-10-18 14:46:37 +03:00
kd-11
decf9cfcf6
rsx: Notify the backend to release or delete temporary surfaces after we're done with them.
2019-10-18 14:46:37 +03:00
kd-11
97ed95d21b
vk: Add video memory manager to monitor VRAM usage
2019-10-18 14:46:37 +03:00
Megamouse
d6664450df
Input: avoid exception while no keyboard is registered
2019-10-18 09:20:51 +02:00
kd-11
1046184dd0
rsx: Fix some uninitialized variables flagged by valgrind
2019-10-18 00:32:38 +03:00
Megamouse
0bad56da67
cellScreenshot: initial implementation
2019-10-17 21:24:25 +02:00
Markus Stockhausen
2850d0c6bc
avoid update of window title
...
only update title if user really wants to display the FPS during gameplay.
2019-10-17 21:15:14 +02:00
Megamouse
60f3ed7607
stub cellSsl
2019-10-17 20:32:33 +02:00
Nekotekina
00895862e1
Fix sys_vm_t destructor
...
It's not a destructor's job to free vm like this.
2019-10-17 19:57:29 +03:00
kd-11
5af8a9fbbc
rsx: Fix decoding of some fixed point texture parameters
...
- Checked envydocs and found the correct format as fixed-point 4.8 with optional sign bit
2019-10-17 18:18:00 +03:00
kd-11
a936e43ff6
rsx: Fixup for slice gathering for structures with multiple mipmap levels
...
- TODO: Proper multi-level assembly for non-2D structures
2019-10-17 18:18:00 +03:00
kd-11
e47b4ffb8f
rsx: Fix rsx capture crash.
...
- Pixel coordinates are top-left not bottom-right
- Solves out of bounds access
2019-10-17 18:18:00 +03:00
kd-11
e166dbccc8
rsx: Fix visibility of blit destination targets
2019-10-17 18:18:00 +03:00
kd-11
0c35595ce2
rsx: Remove the alpha-to-coverage hack that was added to hide the missing mipmaps in games
...
- Moves to a purely stochastic function using dithering to simlulate coverage
2019-10-17 18:18:00 +03:00
kd-11
f0ed0285f3
rsx: Implement range-based subresource descriptor cache
...
- The previous address-based approach was pretty awful when it comes to invalidating
2019-10-17 18:18:00 +03:00
kd-11
fbb9ed4e25
rsx: Add explicit range to cached subresource descriptors
2019-10-17 18:18:00 +03:00
kd-11
c9e3a321b2
rsx: Fixup for surface cache scanning
...
- Fix regression when gathering cubemaps
2019-10-17 18:18:00 +03:00
kd-11
1ac976771c
rsx: Add some texture search options for the cache
...
- Potentially optimizes texture cache searching using explicit options
2019-10-17 18:18:00 +03:00
kd-11
840b52fe80
rsx: Implement mipmap gathering from texture cache
2019-10-17 18:18:00 +03:00
kd-11
d6d8766f8d
rsx: Refactoring
...
- Move some helper routines out of the cache core
- Prep for multi-layered image search
2019-10-17 18:18:00 +03:00
kd-11
cb362b4085
rsx: Runtime check on RTT cast
2019-10-17 02:30:03 +03:00
kd-11
5c7bbb3354
vk: Fixup
...
- Removes incorrect line writing stencil flags to a regular texture.
2019-10-17 02:30:03 +03:00
kd-11
d29b6cdb59
vk: Proper workaround for VEGA float16_t bugs
2019-10-16 22:40:50 +03:00
kd-11
a6e143254a
vk: Add workaround for broken format conversion in older GeForce cards
2019-10-16 22:40:50 +03:00
kd-11
4f088a102c
vk: Add kepler and maxwell tables
2019-10-16 22:40:50 +03:00
eladash
95752607ea
sys_spu: Don't reset snr config at group_start()
...
Also first check for EINVAL in sys_spu_thread_set_spu_cfg
2019-10-16 21:11:29 +03:00
Eladash
6dd96d3db9
Fixes for cellUserInfoGetList
...
- Don't allow all args to be nullptr at once.
- Fill listBuf with zeroes for unwritten entries
- Fix userId set in listBuf
Similarly to what the firmware does
2019-10-16 21:11:29 +03:00
Eladash
47c3d945aa
spu/ppu-diasm: Fixup for #6772 , #6722
2019-10-16 21:11:29 +03:00
Nekotekina
0fe46934de
Fix "SPU Interpreter (fast)"
...
Regression after #6770
2019-10-16 14:20:35 +03:00
Eladash
4ed2c7b594
error checking bugfix for sceNpTrophyCreateContext
...
options = 1 is allowed.
2019-10-16 00:50:58 +03:00
Eladash
b03c2fc856
sys_cond_wait: Fix mutex acquire when signaling thread didnt pass ownership immediatly
2019-10-16 00:50:58 +03:00
Eladash
ab02c56725
sceNpTrophyRegisterContext verbose logging in TROPHY_ERROR_ILLEGAL_UPDATE error
...
Also use safer checking when creating trophy ctxt dir
2019-10-16 00:50:58 +03:00
Eladash
80b4ac23e5
spu disasm: Show interrupts status modifiers on indirect branches
...
That's how the assembler represents it as well.
2019-10-16 00:50:58 +03:00
Nekotekina
eafbc77c0d
SPU LLVM: Always use linux-gnu target triple (affects Windows)
...
Unify internal code generation to make better use of GHC calling convention.
Ideally, it would just work on Windows as well, but some random bug appeared.
This bug was causing freezes on SPU LLVM compilation.
This commit desperately attempts to workaround it.
2019-10-15 18:04:50 +03:00
Nekotekina
c69fe0f664
SPU Profiler preview
...
Add option "SPU Profiler" (disabled by default).
Works only with SPU recompilers.
Results are flushed on pausing.
2019-10-15 17:42:57 +03:00
Malcolm Jestadt
1a9e06d3c6
Linux: Change default Sleep Timers accuracy to host
...
- This doesn't change existing configs
- Also sets the host_min_quantum to the true value
- Restores lost TODO: comment
2019-10-15 00:32:31 +03:00
plappermaul
2171ffdab2
minor optimization for FIFO_control::read_put() ( #6768 )
2019-10-14 21:26:31 +03:00
Eladash
7e08fff91d
ppu disasm: Improve CR bits manipulation instructions formatting
2019-10-14 20:44:23 +03:00
Eladash
3910b2465e
Fix unknown BCLR forms formatting
2019-10-14 20:44:23 +03:00
Eladash
75ee668922
Log fs::g_tls_error on ACCESS_ERROR errors
2019-10-14 20:44:23 +03:00
Nekotekina
076a80d71e
Random space fixes
2019-10-14 19:42:35 +03:00
Ani
f8153fca58
Unify versioning
...
Use the same version value across all scripts instead of program side version and repository side version separatedly
2019-10-14 13:57:36 +01:00
Ani
6a0ce010eb
Update git-version generation
2019-10-14 13:57:36 +01:00
Eladash
1e303e9f97
ppu disasm: Implement BCLR's, BCCTR's and BC's extended mnemonics
...
Also:
BCCTR cr bit is now shown as cr(bit/4)[bit % 4]
BLRL is now shown properly
BDN?Z[TF](LR?)L?A? branches are now implemented.
2019-10-14 13:54:56 +01:00
Eladash
5978b1f28f
ppu disasm: Fix AA BC formatting
2019-10-14 13:54:56 +01:00
Eladash
1d07c40aa5
Fix state reset in cellMic, cellAudio, cellCamera ( #6761 )
2019-10-13 19:26:11 +03:00
kd-11
42aa4c5000
gl: Vendor-specific tuning
2019-10-13 19:00:05 +03:00
kd-11
776fa54d22
gl: Fix missing case
2019-10-13 19:00:05 +03:00
kd-11
27f48fbc06
gl: Rewrite image transfer operations to support image subregions
...
- Working exclusively with full sized images is very expensive
2019-10-13 19:00:05 +03:00
kd-11
d9a9766e41
gl: Refactoring and fallback support for compute acceleration
2019-10-13 19:00:05 +03:00
kd-11
b39bfa02a6
gl: Windows bringup
2019-10-13 19:00:05 +03:00
kd-11
105d4b51e6
gl: Use compute shaders for typeless texture decode
2019-10-13 19:00:05 +03:00
kd-11
7a6e2e716f
gl: Add a framework for compute shaders
2019-10-13 19:00:05 +03:00
Nekotekina
ac712bf4e3
lf_queue: remove explicit notify(), notify in push() instead
...
Should be cheap enough now if there are no waiters.
2019-10-12 22:45:17 +03:00
Nekotekina
5624b001ae
lf_queue: add range-for support (endless loop with waiting)
2019-10-12 22:37:52 +03:00
Nekotekina
16dd72b3e3
Replace some uses of Emu.IsStopped()
...
Poll thread state instead.
2019-10-12 21:12:47 +03:00
Nekotekina
9ae08946ac
g_fxo: destroy objects in reverse creation order
...
Maintain creation order internally.
2019-10-12 20:58:36 +03:00
Nekotekina
8e21f4d5d4
Remove g_thread_count
...
Unnecessary global which is bad to reason about.
Possibly fix a but in SPRX loader.
2019-10-12 16:45:41 +03:00
Nekotekina
49e96b39dd
[SPU, TSX] Fix reservation corruption in PUTLLC
...
Change reservation locking logic.
2019-10-12 15:41:24 +03:00
Alex James
3ad743ecaa
Add option for preventing display sleep ( #5783 )
...
Adds support for preventing the display from sleeping while a game is
running. Supports Windows, Linux (with the org.freedesktop.ScreenSaver
D-Bus service), and macOS.
2019-10-12 15:40:47 +03:00
Megamouse
07022fd3b6
stub cellVoice
2019-10-12 10:16:01 +02:00
Eladash
0172e097f7
Fix cellCameraInit (camera_handler::null)
2019-10-11 21:55:10 +02:00
Eladash
5cc12ef22e
cellCamera: Log error code
2019-10-11 21:55:10 +02:00
Markus Stockhausen
4d99169d51
Patch v2 for vkCreateInstance()
...
as requested
2019-10-11 21:16:36 +03:00