Commit Graph

12348 Commits

Author SHA1 Message Date
Nekotekina d862817485 vm::ref: remove erroneous default constructor 2021-05-31 15:31:20 +03:00
Nekotekina 63210449c6 Don't use -fconcepts anymore 2021-05-31 15:31:20 +03:00
kd-11 4a32b70aec vk: Validate pipeline state before compiling in case of shader cache moved between GPUs/drivers 2021-05-30 22:35:34 +03:00
kd-11 9199b1b1d8 vk: Improve compatibility with sub-par drivers and hardware
- Adds workarounds for INTEL + MSAA
- Adds support for younger drivers where all features may not be
  implemented.
  Things that won't out-right break the emulation can be
disabled.
2021-05-30 22:35:34 +03:00
Ani a49446c9e9
Replace gsl::span for std::span (c++20) (#7531)
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte

Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
Nekotekina f5e529db61 shared_ptr.hpp: don't use fake objects
This lifts the limitation for casting with abstract classes.
Use new C++20 feature (constexpr allocator) to test viability.
Add SamePtr concept to types.hpp
2021-05-30 15:07:17 +03:00
Nekotekina eec9578619 types.hpp: add PtrCastable concept 2021-05-29 18:32:13 +03:00
Eladash d81a5b1423 SPU LLVM: Add missing WRCH PC updates 2021-05-29 15:26:52 +03:00
Megamouse 3cbe42df0a pads: Remove outdated DualSense battery note 2021-05-29 12:46:21 +02:00
Megamouse a2da525064 cellVdec: silence "Unsupported time_base" error log spam 2021-05-29 12:46:21 +02:00
Malcolm Jestadt 7c2b08b9b6 SPU LLVM: Expand branch optimizations for more instructions 2021-05-29 13:07:35 +03:00
Megamouse 99af70ae59 Include limits.h 2021-05-29 10:09:56 +02:00
Megamouse 5a0b93742c overlays: move more code to cpp 2021-05-29 10:09:56 +02:00
polar 7c7cc3914d
BUILD: Refactor glslang submodule (#10361)
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-05-29 09:47:51 +03:00
Megamouse 0d64b0f94d VS: fix libPng ProjectReference in emucore 2021-05-29 08:17:30 +02:00
Megamouse f18e80e899 fix some warning spam 2021-05-29 08:17:30 +02:00
Megamouse 210999b874 perf_overlay: fix guide line locations
The guide lines falsely started from the top and not from the bottom, as all datapoints do.
2021-05-29 08:17:30 +02:00
Megamouse 046d029e89 try to fix pad interception 2021-05-29 07:43:09 +02:00
Eladash 7d89938624 cellPad: do not use recusrive mutex 2021-05-28 20:25:16 +03:00
Eladash 6ff9aab2ca Fix cpu_thread::check_state() cpu_flag::temp support 2021-05-28 20:25:16 +03:00
Eladash 5f47730fc0 Fix reservations handling in logs
Remove reservation cb.
2021-05-28 20:25:16 +03:00
kd-11 9e62e98f79
rsx: Minor refactoring (#10358)
- Fix some misnomers.
- Allow finer grained control over texture section creation routines.
2021-05-27 23:44:07 +01:00
kd-11 763828837b
vk: Forcefully unmap DMA blocks before destroying them (#10359)
- While the vulkan spec explicitly allows destroying mapped blocks, GPUOpen vma_alloc does not.
- Strangely, this issue does not afflict linux users, only windows.
2021-05-27 23:03:46 +01:00
kd-11 f9d9d12f11 vk: Fix slow bo upload + copy when using RADV
- This reverts commit dbcf1b5a03bfef18f404aa6827515af319abd744.
- Avoid unmapping buffers used for GPU upload/download. It is very slow
  on some platforms.
2021-05-27 22:49:13 +03:00
kd-11 56f7359da4 vk: Workaround for slow bo transfer (pinned<->VRAM) when using RADV
- perf shows extremely high number of cycles wasted in memmove glibc method
2021-05-27 01:27:15 +03:00
Megamouse 6fed80333c perf_overlays: only calculate metrics on update
This should give a significant performance boost
2021-05-26 23:26:12 +02:00
Megamouse befd38d9ae perf_overlays: only compile dirty graphs
This should give a small performance boost
2021-05-26 23:26:12 +02:00
Megamouse 98b668b3a8 perf_overlays: add avg and 1p high/low 2021-05-26 23:26:12 +02:00
Eladash f103004aa0
sys_prx/overlay: Fix disambiguator of module names opened by FD (#10340)
Don't append zero offset.
2021-05-26 23:38:17 +03:00
Megamouse 5b4631dcf9 Set min gcc version to 11 2021-05-26 21:43:42 +02:00
polar 177933e212
Refactor hidapi submodule (#10346)
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-05-26 22:03:53 +03:00
Megamouse 83d3658ef0 scale debug overlay based on current dpi settings
Depending on the dpi settings, the debug overlay was almost unreadable.
I also took the liberty to refactor some redundant client size calls and to add some margin to the left of the debug text.
2021-05-26 20:31:29 +02:00
Eladash 44f0ca08e2 Simplify PPU exit 2021-05-25 22:47:23 +03:00
kd-11 338dc62474
vk: Fixup on linux + RADV combo (#10341) 2021-05-25 20:40:53 +01:00
kd-11 a736350859 rsx/vk: Use backend configuration to track options that can be modified on a per-device basis 2021-05-25 20:54:17 +03:00
kd-11 156b092dc9 vk: Lock passthrough DMA behind the async streaming option
- Without async streaming this option can introduce artifacts.
  The correct fix for it is to use async streaming which allows the GPU to process texture data in parallel with rendering.
  Without streaming enabled the GPU can sometimes pull stale data via DMA when rendering and find the CPU has modified it.
2021-05-25 20:54:17 +03:00
kd-11 122bb4d829 vk: Avoid repeated chip_class lookup by using generic global function 2021-05-25 20:54:17 +03:00
kd-11 7508949ca8 vk: Add workarounds to disable incompatible options 2021-05-25 20:54:17 +03:00
JohnHolmesII c882c8f417 CI: Add FreeBSD 13 2021-05-25 17:45:40 +02:00
Megamouse ac59073071 perf_overlay: update interval config update 2021-05-25 11:04:45 +03:00
Nekotekina 7311c161f6 vm_native: fix Linux/Posix sparse file check
Fix fast path condition (xnor is not ==, facepalm).
Increase probe size.
Should fix #10334
Closes #10335

Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2021-05-25 09:55:43 +03:00
Eladash 9ba3e6d3f7 sys_mmapper: Fix IPC-enabled instances memory consumption 2021-05-24 23:16:06 +03:00
Nekotekina 5db38c0127 vm_native: improve sparse file check (Linux/BSD)
Use lseek(FIND_DATA) to check for sparse file support.
2021-05-24 18:21:52 +03:00
Nekotekina 191cb92300 vm_native: improve sparse file implementation (Win32)
Fix sparse attribute set/check, improve logic.
Implement actual check of file data.
Ask to restart RPCS3 first time (Win7 bug).
2021-05-24 18:21:52 +03:00
Nekotekina 2491aad6f2 types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
2021-05-23 19:43:51 +03:00
Nekotekina 4b239a0b87 types.hpp: rewrite _u16-_u64 suffixes
_u48 is unused and gone, blends into _u64.
2021-05-23 07:33:54 +03:00
Nekotekina 2768727e2f types.hpp: replace custom std::bit_cast
Remove memcpy version.
Use builtin instead.
2021-05-23 07:33:19 +03:00
Eladash 309759b725 kernel-explorer: Save self mem-container ID and use it 2021-05-23 05:37:37 +03:00
Zion 18627960d7
Bump gcc to 11, shellcheck and SDL2 (#10324) 2021-05-22 13:36:23 +03:00
Nekotekina 160b131de3 types.hpp: implement smin, smax, amin, amax
Rewritten the following global utility constants:
`umax` returns max number, restricted to unsigned.
`smax` returns max signed number, restricted to integrals.
`smin` returns min signed number, restricted to signed.
`amin` returns smin or zero, less restricted.
`amax` returns smax or umax, less restricted.

Fix operators == and <=> for synthesized rel-ops.
2021-05-22 12:10:57 +03:00