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
Markus Stockhausen
8adcb8046b
Patch for vkCreateInstance()
...
patch as requested
2019-10-11 21:16:36 +03:00
Markus Stockhausen
f5817cb430
Error handling for vkCreateInstance()
...
Cry in log if initialization failed.
2019-10-11 21:16:36 +03:00
Eladash
397007cf8b
rsx: Fix FIFO_DRAW_BARRIER substituation
2019-10-11 12:34:53 +03:00
Eladash
9242f16560
rsx: Improve FIFO recovery from flip
2019-10-10 19:34:23 +03:00
Eladash
06017cb14e
rsx: Recover from invalid writes to CELL_GCM_NV4097_SET_INDEX_ARRAY_DMA
...
Also: Trigger a FIFO recovery when encountering an invalid method.
2019-10-10 19:34:23 +03:00
Eladash
2eaf5df60b
rsx: Register some more methods
2019-10-10 19:34:23 +03:00
msuih
e9ea226e30
Validate firmware before installing
2019-10-09 21:21:23 +03:00
plappermaul
925f2ce02f
Use Linux timers for sleeps up to 1ms ( #6697 )
...
* Use Linux timers for sleeps up to 1ms (v3)
The current sleep timer implementation basically offers two variants. Either
wait the specified time exactly with a condition variable (as host) or use a
combination of it with a thread yielding busy loop afterwards (usleep timer).
While the second one is very precise it consumes CPU loops for each wait call
below 50us. Games like Bomberman Ultra spam 30us waits and the emulator hogs
low power CPUs. Switching to host mode reduces CPU consumption but gives a
~50us penalty for each wait call. Thus extending all sleeps by a factor of
more than two.
The following bugfix tries to improve the system timer for Linux by using
Linux native timers for small wait calls below 1ms. This has two effects.
- Host wait setting has much less wait overhead
- usleep wait setting produces lower CPU overhead
2019-10-09 20:03:34 +03:00
Nekotekina
6b1e1e4020
GDB Server: parse 'GDB Server' config entry
...
Add support for unix sockets.
2019-10-09 16:41:01 +03:00
Nekotekina
91dcc3f60c
GDB Server: fix selecting ppu_thread
2019-10-09 03:17:10 +03:00
Nekotekina
23bbeb7f8f
GDB Server: fix ppu_thread access cast
2019-10-09 03:12:45 +03:00
Nekotekina
ad5afc074e
GDB Server: format cleanup
2019-10-09 03:06:59 +03:00
Nekotekina
8f604ddded
Fix log format misuse
...
Harden log channel methods against non-constant string.
2019-10-09 02:14:52 +03:00
Nekotekina
a29d4150df
GDB Server: fix and cleanup
...
Move source files to Emu/GDB.cpp, GDB.h
Remove "WITH_GDB" option, enable GDB Server by default.
Change class name to gdb_thread.
Alias for external access gdb_server.
Change config option name to "GDB Server"
Bind on 127.0.0.1 by default.
2019-10-09 00:11:44 +03:00
Nekotekina
9d4de51cb6
Use g_fxo for network thread
...
Minor refactoring
2019-10-08 23:12:54 +03:00
Eladash
0f3c5f9e5a
Fix verification failure on Emu.Stop() at sys_cond_wait
2019-10-08 23:12:34 +03:00
Eladash
af417c93d0
cellGemUpdateStart/Finish error checking improved
...
* camera_frame = NULL is now checked for CELL_GEM_NO_VIDEO (applied both on start and finish)
* camera_frame = NULL on Start() still starts the update
* Implemented NOT_FINISHED/STARTED
All of those were reversed and hw tested.
2019-10-08 23:12:34 +03:00
Megamouse
278050f8d0
add cellPadFilter functions
2019-10-08 08:21:30 +02:00
Megamouse
29c77132cb
add error code to cellPadInfoPressMode and cellPadInfoSensorMode
2019-10-08 08:21:30 +02:00
Megamouse
f8c6cc2476
cellMic: add some params
...
makes me wonder if dev_num should always be s32
2019-10-08 08:21:30 +02:00
Eladash
36de3d4f4c
sys_gpio Cleanup
2019-10-08 02:52:33 +03:00
Eladash
c2278fb879
spu: Mask SRR0 at write
2019-10-08 02:52:33 +03:00
Megamouse
3455d76970
cellPadGetData: clear buttons if input is ignored but not intercepted.
...
needed in Hotline Miami and NinJa Gaiden Sigma, fixes Gran Turismo 6 regression
2019-10-07 19:25:50 +02:00
Megamouse
d402507be2
cellOskDialog: add some param checks
2019-10-07 19:25:50 +02:00
Nekotekina
239f53568c
SPU: optimize function dispatch in trampolines
...
Add a top-level hashtable
2019-10-06 16:03:38 +03:00
Nekotekina
8031180373
Add dummy alert param to thread_ctrl::wait API
2019-10-06 16:03:10 +03:00
Nekotekina
86fb2993ad
Minor fixup for se_t operators &= |= ^=
2019-10-06 13:33:50 +03:00
Silent
f5d8110ead
Create emulator directories after changing dev_*** directories ( #6707 )
...
* Make pkg_install create path to the game recursively
* Create emulator directories after changing dev_*** dir paths
2019-10-05 16:23:12 +03:00
Eladash
9e929a25d4
rsx: Default initailize zcull reports padding
2019-10-05 15:00:50 +03:00
kd-11
305a5bd717
typo fix
2019-10-05 12:01:46 +03:00
Megamouse
04a6b065b4
Qt: use Qt standard button layout in vfs_dialog
2019-10-04 23:06:05 +02:00
Megamouse
f97ed7738d
Qt: use Qt standard button layout in settings_dialog
2019-10-04 23:06:05 +02:00
Megamouse
91f53a366b
Qt: fix high dpi setting
2019-10-04 23:05:07 +02:00
Megamouse
f7ec679242
mmjoy: fix connection update spam
2019-10-04 20:22:32 +02:00
Megamouse
df5af50866
evdev: add missing override
...
removes a warning
2019-10-04 20:22:32 +02:00
kd-11
4a19a2dd24
rsx: Explicity describe transfer regions for both source and destination blocks
2019-10-04 18:10:46 +03:00
Eladash
08e674aa28
sys_cond fixes ( #6584 )
...
* sys_cond fixes
sys_cond_wait is now signaled atomically (regression fix)
Fix a corner case with sys_cond_wait and sys_cond_destroy EBSUY check (waiter count was inaccurate if thread is not the owner of mutex)
Add not about EBUSY corner case (TODO)
* Fix inconcistency in sys_cond_destroy and ETIMEDOUT
.. event at sys_cond_wait regarding waiters count.
Now waiters count is properly connected to the mutex owner actions after ETIMEDOUT in sys_cond_wait.
2019-10-03 23:05:34 +03:00
Eladash
286d62d09c
sceNp2Init: use u32 in poolsize
2019-10-02 01:52:42 +01:00
Nekotekina
f83385926b
Implement optimized operators &|^ for se_t
2019-09-30 22:32:39 +03:00
Nekotekina
e56ffc1e69
Implement optimized operator~ for se_t<>
2019-09-30 22:26:34 +03:00
Nekotekina
5f29840348
Fix enum vs integer comparison in se_t::operator==
...
Need to convert left part to its underlying type.
2019-09-30 22:26:34 +03:00
Nekotekina
0f567abdd8
Restore experimental optimized operators &= |= ^= for se_t
...
They were removed approximately 3 years ago due to their rarity.
2019-09-30 22:26:34 +03:00
kd-11
7aed9c3f13
gl: Add missing input declarations for 2-sided lighting
2019-09-30 21:52:43 +03:00
kd-11
88229f4716
gl: Remember to unbind attachments from active framebuffer after clear
...
- If a stale reference is left lying around (e.g the texture bound to
depth has been deleted and we attach a color image) no operations
actually take place. glCheckFramebufferStatus also does not catch this
problem.
2019-09-30 21:52:43 +03:00
Eladash
0b2fa6ffdc
rsx: Flush FIFO GET before smeaphore_acquire
2019-09-30 17:30:15 +03:00
Eladash
70b4ae6bd6
rsx: Optimize FIFO PUT masking
2019-09-30 17:30:15 +03:00
kd-11
bcf8799079
rsx: Fix missing point size export
...
- Sometimes program-point-size is enabled, but the vs does not actually
write to the point size register. In this case, pass the incoming point
size along instead of the default register init.
2019-09-30 01:40:04 +03:00
Megamouse
19e0d099b6
config: dynamically show_fps_in_title
2019-09-29 21:00:17 +02:00
Eladash
319fc8c55d
rsx: Mask FIFO PUT on rsx execution
2019-09-29 13:05:24 +03:00
Eladash
822287b418
rsx: Avoid unsigned/signed mismatch with fifo ret addr
2019-09-29 13:05:24 +03:00
kd-11
8cfd3b56d6
vk: Increase wait timeout in case of problematic GPU loads causing heavy stutter
...
- When compiling LLVM objects, it is possible to starve the driver thread and cause the timeouts to trigger
- Observed in RE6 when using SPU LLVM since the game generates a very large number of objects "infinitely"
2019-09-29 11:39:22 +03:00
kd-11
ef5b56bc48
rsx: Align width properly when normalizing to avoid fractional results being lowered to 0
2019-09-29 11:39:22 +03:00
kd-11
69c090b14a
vk: Check frame descriptors before rendering in case of a flip request between begin() and end()
...
- There is no reason to delay async flip requests since most of the work can be handled during rendering anyway
2019-09-29 11:39:22 +03:00
kd-11
1464069476
rsx: Restructure deferred flip queue handling
...
- Allows frameskipping to occur naturally if RSX thread is bombarded with flip requests but just jumping to the last one if possible
- See request_emu_flip() for async frame submission and implicit skipping
- Also allows display queue to fill faster than the flip thread can drain the queue
2019-09-28 21:13:56 +03:00
Eladash
b9b879c3d3
Bugfix for sceNpUtilCmpNpId
...
Fix checking bounds, use memcmp
Fix result store on sceNpUtilCmpNpIdInOrder
2019-09-28 16:02:55 +03:00
Nekotekina
046f8510fa
Restore experimental optimized operators == != for se_t<>
2019-09-28 15:39:50 +03:00
Nekotekina
bd1a24b894
Tidy endianness support (se_t) implementation
...
Move se_t and se_storage to util/endian.hpp
Use single template instead of two specializations.
Add minor optimization for MSVC.
Remove v128 dependency.
Try to enable intrinsics for unaligned data.
Fix minor bug in u16/u32/u64 specializations.
2019-09-28 15:39:50 +03:00
Nekotekina
c7c12941bc
Fix wrong comments in CPUThread.h
...
It's not an upcast.
2019-09-28 15:39:50 +03:00
kd-11
2275259bf5
rsx: Properly scale overlay passes to match drawable area
2019-09-28 13:24:14 +03:00
kd-11
28534e8833
gl: Remove a debug print
2019-09-28 13:24:14 +03:00
Eladash
feabe71183
SPU: Rewrite BGX
2019-09-28 03:42:22 +03:00
Eladash
e315b39822
SPU: Rewrite CGX
2019-09-28 03:42:22 +03:00
Eladash
d0503dc937
SCE_NP_ERROR_OFFLINE logging disabled
2019-09-28 03:16:01 +03:00
Eladash
7f725e0655
sys_rsx: Format special sys_rsx invalid param error, warning fixes
2019-09-28 03:16:01 +03:00
kd-11
e53e98749f
rsx: Add missing initialization
2019-09-27 21:07:56 +03:00
msuih
6979b96225
Log game version
2019-09-27 20:01:55 +03:00
Nekotekina
57f2189b1a
cellSaveData: fix VFS escape usage
2019-09-27 19:04:16 +03:00
Nekotekina
465b16e786
Finally remove fxm from IdManager
2019-09-26 23:26:36 +03:00
Nekotekina
c065a21b74
cellMsgDialog: use g_fxo
2019-09-26 23:26:36 +03:00
Nekotekina
3c72069ae6
cellOskDialog: use g_fxo
2019-09-26 23:26:36 +03:00
Nekotekina
50fc5dfde5
Use g_fxo for rsx::rsx_replay_thread
2019-09-26 23:26:36 +03:00
Nekotekina
a6edcca6e6
Use g_fxo for spu_cache
2019-09-26 23:26:36 +03:00
Nekotekina
5f9c5e8765
Use g_fxo for rsx::thread
2019-09-26 23:26:36 +03:00
Nekotekina
b48cdc2260
Use g_fxo for global ppu_module instance
...
Also fix autonomous PRX/SPU loading sequence.
2019-09-26 23:26:36 +03:00
Nekotekina
240b4a8bd8
cellGameData: use g_fxo for content_permission
2019-09-26 23:26:36 +03:00
kd-11
ee0633f43a
vk: Add turing workaround
...
- Turing crashes if using the depth->color transfer hack
2019-09-26 20:12:25 +03:00
kd-11
acc986be3f
vk: Add chip family detection
2019-09-26 20:12:25 +03:00
msuih
5ac631e03b
Fix debug build
...
Seems to be a compiler bug
2019-09-25 23:20:52 +03:00
Megamouse
839fe786a2
input: fix DS3 button presses (forgot the non pressure sensitive ones)
2019-09-25 21:13:55 +02:00
Nekotekina
ccf9543b44
Improve vfs::host::unlink on Windows (for sys_fs_rmdir)
...
Possibly fixes sys_fs_rmdir and other cases of directory removal.
Make sure the directory with deleted files always becomes empty.
For this purpose, temp files are moved to the root of the device.
2019-09-25 18:47:38 +03:00
Nekotekina
cd843bda6e
cellSaveData: always commit changes on error in funcFile loop
...
Make sure the changes which are already done are written.
2019-09-25 18:47:38 +03:00
Nekotekina
f841b47b6b
cellSaveData: add auto maintenance routine in Emu.Init()
...
This routine:
1) Removes junk backup directories
2) Fixes interrupted save data process in edge case
This case can happen if emu terminates between two atomic renames.
Also use directory renaming technique for delete op.
Also rewrite recreate operation to be part of atomic process.
2019-09-25 18:47:38 +03:00
Megamouse
297016aba3
fix some new warnings
2019-09-25 07:33:32 +02:00
Megamouse
41050c4364
input: fix missing override in keyboard pad handler
2019-09-25 00:30:23 +02:00
RipleyTom
e0d501124f
Only free the list if libusb_get_device_list succeeded
2019-09-25 01:07:04 +03:00
Megamouse
4594148409
Input: move some pad handler logic to the parent class
2019-09-24 21:09:24 +02:00
RipleyTom
4de301a961
Implement sys_usbd_event_port_send
2019-09-24 09:18:33 +02:00
JohnHolmesII
c62a667fb1
Fix null pointer check (clang warnings)
2019-09-24 09:11:50 +02:00
Nekotekina
aa8a7b3e8a
Make errors in Emu::Init verbose and don't crash
...
Allow TTY.log to be disabled if file access failed
Add fs::error::isdir
2019-09-24 05:01:00 +03:00
Nekotekina
9710473a2e
atomic.hpp: use native semaphores on Windows
...
Windows: drop keyed events
Linux: keep using native futex
Implement unused POSIX semaphore path
Implement fallback semaphore with pure std (OSX, BSD, etc)
2019-09-24 05:01:00 +03:00
Nekotekina
95c939f014
atomic.hpp: fix pointer mask
2019-09-24 05:01:00 +03:00
Nekotekina
74471e8ea3
atomic.hpp: fixup for atomic waiting
2019-09-24 05:01:00 +03:00
Nekotekina
feee3838eb
Revert "Revert "Remove shared_cond and simplify reservation waiting""
...
This reverts commit b70c08a2e8 .
2019-09-24 05:01:00 +03:00
Jan Beich
5ec35c7daa
rsx: unbreak build with Clang 9
...
ld: error: rpcs3/CMakeFiles/rpcs3.dir/main_application.cpp.o: unable to find library from dependent library specifier: opengl32.lib
ld: error: rpcs3/Emu/librpcs3_emu.a(GLGSRender.cpp.o): unable to find library from dependent library specifier: opengl32.lib
ld: error: rpcs3/Emu/librpcs3_emu.a(GLRenderTargets.cpp.o): unable to find library from dependent library specifier: opengl32.lib
ld: error: rpcs3/Emu/librpcs3_emu.a(GLVertexBuffers.cpp.o): unable to find library from dependent library specifier: opengl32.lib
2019-09-24 01:00:45 +03:00
Nekotekina
40fcd457bf
cellSaveData fixup
2019-09-23 03:15:41 +03:00
Eladash
2494091353
cellSaveData: Log param error code ( #6587 )
2019-09-23 03:07:23 +03:00
Eladash
718491c56d
ppu disasm: Improve BC formatting
2019-09-23 02:35:56 +03:00
Eladash
2c47e39f08
ppu disasm: Improve disassembly of BCTR and LWSYNC
2019-09-23 02:35:56 +03:00
Silent
a44b1018b5
Add SCP extension support to XInput pad handler ( #6524 )
...
* Add SCP extension support to XInput pad handler
* Add SCP mention in xinput handler description tooltip
2019-09-22 11:22:42 +02:00
Megamouse
88388f1efc
sceNpSns: add more logging
2019-09-22 10:16:55 +02:00
Megamouse
2dc71cfe51
sceNpTrophy: add errors from RE
2019-09-22 10:16:55 +02:00
Eladash
399ea2edb2
dont escape from check_state() before ensuring signal is resetted.
2019-09-21 19:55:10 +03:00
Nekotekina
e7d67f9732
Fix unwanted statichle_handler init
2019-09-21 03:59:43 +03:00
Megamouse
caef52e3b3
Input: don't intercept pads after system dialogs, but still ignore input
2019-09-20 22:12:40 +02:00
Megamouse
571bb914f5
cellPad: fix out of bounds warning
2019-09-20 22:12:40 +02:00
Megamouse
8a63ac033e
Input: Ignore unused reserved button (key code 0 was used twice)
2019-09-20 22:12:40 +02:00
Megamouse
7193d407b9
Input: Remove unused flush member
2019-09-20 22:12:40 +02:00
kd-11
1a892c6b1b
rsx: Avoid recursion in flip handler
2019-09-20 15:08:41 +03:00
RipleyTom
7818d0767b
Forces numeric locale to default
2019-09-20 11:00:05 +02:00
Megamouse
aa7eb1536a
overlays: fix enter button assignment in osk
2019-09-20 10:53:09 +02:00
kd-11
e0005ec347
rsx: Refactoring and improvement
...
- Separate displayed statistics from actual backend statistics.
Allows asynchronous flipping to work correctly as it just uses display stats.
The real stats are used by the frame scope marker to determine behavior like engaging the FIFO optimizer or skipping draw calls correctly.
2019-09-19 23:10:09 +03:00
kd-11
2c76f47eec
rsx: Restructure flip code and frame scoping
...
- Add an explicit frame scope marker tied in with the queue_prepare command
Since queue_prepare is emitted at the end of a frame, it can be used as end-of-frame in games that emit this
- If this command is not emitted, fifo flatenner and frameskip will not work
2019-09-19 23:10:09 +03:00
Eladash
c50119aefa
Fix sceNp2Init
2019-09-19 08:26:29 +02:00
Nekotekina
538a5cc9d8
Silence skylander message
2019-09-19 02:16:14 +03:00
Nekotekina
4b19e55fcc
Use g_fxo for cellKb, cellMouse
...
Use init_mutex
2019-09-19 02:16:14 +03:00
Nekotekina
17d764409e
Add init_mutex.hpp
...
Pseudo-mutex to protect initialization and finalization
2019-09-19 02:16:14 +03:00
Nekotekina
4bba1e3337
Use g_fxo for pad_handler
2019-09-19 02:16:14 +03:00
Nekotekina
3092914527
typeindices.hpp: add typeindex() helper
2019-09-19 02:16:14 +03:00
Nekotekina
c7bf6421f4
typeindices.hpp: rename typeinfo_v to typelist_v
2019-09-19 02:16:14 +03:00
Nekotekina
be61499790
typeindices.hpp: fix constexpr constructor
...
Serious bug...
2019-09-19 02:16:14 +03:00
Nekotekina
8054735cab
Fix manual_fixed_typemap::init result (g_fxo)
...
Return uncasted pointer to created type
2019-09-19 02:16:14 +03:00
Nekotekina
353a7ff8e6
cellCamera: use g_fxo
2019-09-19 02:16:14 +03:00
Nekotekina
a4951ec407
Use g_fxo for global lv2_memory_container
2019-09-18 21:24:04 +03:00
Nekotekina
20cb19618d
Fix vm::reserve_map NRVO
2019-09-18 21:24:04 +03:00
RipleyTom
7e2bb0fd1f
Adds initialization checks back in sys_usbd
2019-09-18 21:19:40 +03:00
kd-11
bd4d86f87a
vk: Properly test MSAA sample mask when switching between states inside a RSX renderpass.
...
- Before, these changes would be lost if the same RTT config was used with varying mask setups
2019-09-18 15:42:59 +03:00
Nekotekina
c900fb0d77
Delete g_idm
...
Needs to be reimplemented
2019-09-17 15:55:58 +03:00
Nekotekina
3eba0f4523
sys_usbd: use g_fxo
2019-09-17 15:23:40 +03:00
Nekotekina
7e2edc2232
sys_usbd: rearrange includes
2019-09-17 15:10:58 +03:00
Nekotekina
c2fe2ac4a4
cellMic: use g_fxo
2019-09-17 02:46:34 +03:00
Nekotekina
36a528067c
cellAudio: use g_fxo
2019-09-17 02:46:34 +03:00
Nekotekina
76314520ef
cellAudio: use vm::gvar to allocate working memory
2019-09-17 02:46:34 +03:00
Nekotekina
584174d371
vm::gvar: add array support
2019-09-17 02:46:34 +03:00
RipleyTom
2b8890b193
CellPadLdd functions implementation
2019-09-17 01:17:48 +03:00
RipleyTom
e98c7f4e1a
sys_usbd implementation
2019-09-17 01:17:48 +03:00
RipleyTom
2f884de885
Adds md5 hash to Crypto implementations
2019-09-17 01:17:48 +03:00
Windy Boy
d782abb3fd
TSX instruction tooltip typo
...
Should be "CPU" instead of "cpu"
2019-09-16 21:08:20 +02:00
youwereeatenbyalid
cea975f6a6
Add a "stack mode" to the TTY. ( #6542 )
...
* Added stack mode to TTY
* fix declarations
* Fixed spacing, removed namechange to preserve user settings, removed debug string
* removed rename of "stack"
* Add menu separator and remove whitespace
2019-09-16 20:38:30 +02:00
msuih
8f965ccd48
Pad settings dialog improvements
2019-09-15 22:48:39 +02:00
Nekotekina
b70c08a2e8
Revert "Remove shared_cond and simplify reservation waiting"
...
This reverts commit 0a96497e13 .
2019-09-14 00:02:48 +03:00
Nekotekina
223319dd2e
Abort named_thread in cpu_thread::stop_all
2019-09-13 15:53:38 +03:00
Nekotekina
e982871ab5
atomic.hpp: increase hashtable capacity
...
Double size and ignore 2 lowest bits (effectively x8)
2019-09-13 15:53:34 +03:00
Nekotekina
2fc8844315
atomic.hpp: add atomic wait mask support
2019-09-13 15:53:34 +03:00
kd-11
c59cb1bdd3
rsx: Allow only sse4.1 capable CPUs to take the accelerated index path
...
- Older sets lack the required min/max functionality
2019-09-13 12:28:52 +03:00
Megamouse
dadfdc35f4
Qt: add --styles cli arg
2019-09-13 10:30:56 +02:00
Megamouse
2ab19efb90
Qt: Enable stylesheet cli args and add stylesheet option "None"
2019-09-13 10:30:56 +02:00
Silent
3e9ed9a17d
Make "Clear shader cache" clear all caches, not just the first ( #6538 )
...
* Use QFileInfo::suffix to obtain and check for file extension when clearing caches
* Clear all shader caches for the game, not just the first
2019-09-13 09:14:52 +02:00
Megamouse
32a4c2242b
sceNp: fixups
2019-09-13 06:18:49 +02:00
kd-11
52e8747b83
rsx: Workaround for exit deadlock
...
- Avoids games locking up when the stop button is pressed
2019-09-12 23:32:21 +03:00
kd-11
cc313b052f
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
2019-09-12 23:32:21 +03:00
kd-11
9842823a8c
rsx: Check if memory actually exists when overallocating blit targets
2019-09-12 23:32:21 +03:00
kd-11
cd1345b6bb
rsx: Do not use nul section if resolution scaling is active on a surface
2019-09-12 23:32:21 +03:00
kd-11
858014b718
rsx: Experiments with nul sink
2019-09-12 23:32:21 +03:00
kd-11
212ac19c11
vk: Reimplement DMA synchronization
2019-09-12 23:32:21 +03:00
kd-11
f06559412e
vk: RDB fixup
2019-09-12 23:32:21 +03:00
kd-11
7fdb4976d8
rsx: Remove log spam for cond render
2019-09-12 14:08:21 +03:00
kd-11
60845daf45
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
2019-09-12 14:08:21 +03:00
kd-11
27af75fe71
rsx: Fixup for blit engine when moving inverted regions
...
- Properly calculate overlap range when sections are inverted
- Simplify transfer logic for inverted regions
2019-09-11 23:30:55 +03:00
Nekotekina
4504ac2d12
atomic.hpp: implement collision fallback properly
...
Should prevent devastating effect of collisions
2019-09-10 19:25:39 +03:00
Nekotekina
0a96497e13
Remove shared_cond and simplify reservation waiting
...
Use atomic wait for reservations
Cleanup some obsolete code
2019-09-10 19:25:39 +03:00
Nekotekina
d13ff285d1
Rewrite cond_variable to use waitable atomics
...
Increase max_timeout and fix max_timeout usage
2019-09-10 19:25:39 +03:00
Nekotekina
67f31c17d1
atomic.hpp: fix signal saturation logic
...
Make sure to notify_all at max signal count.
2019-09-10 19:25:39 +03:00
Nekotekina
a808c2aaf6
atomic.hpp: optimize internal logic
...
Move waiter count to highest bits to prevent false futex wakeups.
Test pointer bits properly in notify_all to avoid false wakeups.
2019-09-10 19:25:39 +03:00
Nekotekina
aa99faa85d
atomic.hpp: add timeout support
2019-09-10 19:25:39 +03:00
Nekotekina
a45f86a4a2
Remove notifier class
...
Poorly implemented condition variable.
2019-09-10 19:25:39 +03:00
Nekotekina
b91661ae71
Remove timeout support from lf_queue::wait
...
Add notify method and use atomic wait
2019-09-10 19:25:39 +03:00
Nekotekina
1668d6ee1b
atomic.hpp: implement wait callback interface
...
Will be used to wake up threads uniformly.
2019-09-10 17:43:04 +03:00
kd-11
412c620b9d
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
2019-09-10 16:54:02 +03:00
kd-11
75fcfac00e
rsx: Modify find_cached_texture to respect gcm_format. Can pass 0 for "dont care"
2019-09-10 16:54:02 +03:00
Wojtek Arabczyk
cb66d05693
Fix warnings in rpcs3/Emu/Cell/Modules/sceNp.cpp
2019-09-09 19:16:02 +03:00
Megamouse
aa262889f2
cellVdec: add error_code
2019-09-08 20:54:43 +03:00
Megamouse
6aacec4694
cellMouse: add error_code
2019-09-08 20:54:43 +03:00
Megamouse
c111209639
cellGem: add error_code
2019-09-08 20:54:43 +03:00
Nekotekina
0fcddf6568
Audio: restore snd_pcm_recover for ALSA backend
...
But don't push audio data after recover as before.
2019-09-08 20:49:51 +03:00
Nekotekina
693d54553c
Fix compilation
2019-09-08 19:26:10 +03:00
Megamouse
cb00b71c4b
sceNp: add error_code and some param checks ( #6416 )
...
* sceNp: add error_code and basic implementations
* sceNp: and fix some structs
* sceNpSns: improvements
* sceNpUtil: improvements
* sceNpTus: improvements
2019-09-08 18:36:10 +03:00
kd-11
d1603fbb0b
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
2019-09-08 18:22:27 +03:00
kd-11
f53361b966
rsx: Fix fast texture copy when src_pitch != width * block_size
...
- Happens on mipmapped linear images
2019-09-08 18:22:27 +03:00
Nekotekina
0c69b7da8f
Fix ppu_interpreter::MTFSFI
...
Out of bounds error.
2019-09-08 14:50:50 +03:00
Nekotekina
798434aada
Remove spin wait loop in cpu_thread::check_state
...
It was mostly dead code.
lock_unlock() method already has spin waiting logic.
2019-09-08 14:50:50 +03:00
kd-11
0af9685381
rsx: Deprecate surface_transform::argb_to_bgra which is no longer required.
...
- vulkan now uses native swizzle mapping for both surface and texture
2019-09-08 13:56:41 +03:00
kd-11
312bf6840e
vk: Fix surface_transform::argb_to_bgra transfers when no scaling is requested
2019-09-08 13:56:41 +03:00
kd-11
cbce309199
vk: Fix depth_stencil scaling
2019-09-08 13:56:41 +03:00
kd-11
48a5cd545f
gl: Do not byteswap uint24_8 as it needs a custom 8_24 decoder
2019-09-08 13:56:41 +03:00
Megamouse
fa2034087d
Input: increase mouse acceleration max to x30
2019-09-08 09:06:16 +02:00
Megamouse
cddc045c69
cellPad: disable reserved bit check in cellPadSetActDirect
2019-09-08 08:49:15 +02:00
msuih
5ed700db5d
Add cache removal to UI
2019-09-07 22:01:12 +02:00
msuih
84867b0848
Fix deprecation warnings
...
warning C4996: 'QPalette::Foreground': Use QPalette::WindowText instead
warning C4996: 'QPalette::Background': Use QPalette::Window instead
2019-09-07 22:01:12 +02:00
Eladash
10c81fbdf9
Fix passive reservation locks checking at Emu.Stop() ( #6482 )
2019-09-07 20:43:16 +03:00
kd-11
440d58f2ff
vk: Batch compute jobs when doing texture upload
...
- Reduces overall number of invocations
2019-09-07 16:23:20 +03:00
kd-11
6aa0b49dbc
vk: Prefer using native alignment when uploading.
...
- Allows using fast copy paths and reduces memory and compute footprint
2019-09-07 16:23:20 +03:00
kd-11
a3a0cb8c17
rsx: Minor texture optimizations
2019-09-07 16:23:20 +03:00
kd-11
efa501dac6
rsx/vp: Set default inputs to (0, 0, 0, 1)
...
- From some hw tests, it seems this is the default.
2019-09-06 17:08:28 +03:00
kd-11
f8dbe281a5
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
2019-09-06 17:08:28 +03:00
kd-11
14aa3b3360
vk: Remember to allocate enough vertex layout storage objects!
...
- vertex_layout_storage descriptors were added but the descriptor count was not updated
2019-09-05 19:43:39 +03:00
kd-11
360c0e9af6
vk: Restructure commandbuffer scoping to allow faults in vertex upload
...
- Defer renderpass open to allow recovery after fault in the middle of vertex upload
2019-09-05 19:43:39 +03:00
Nekotekina
d0db7ca6bd
cellSaveData fixup ( #6393 )
...
Increase entry max size
2019-09-05 14:49:03 +03:00
JohnHolmesII
80d18190f9
Add user message for uppercase RAP
2019-09-05 08:39:11 +02:00
RipleyTom
8de1239132
Simulate BSD FS for file order presentation in savedata
2019-09-05 03:01:46 +03:00
isJuhn
aaae437ca3
PPUInterpreter.cpp: remove SSE4.1 requirement in FCTIWZ, FCTID and FCTIDZ
2019-09-04 14:05:33 +03:00
isJuhn
08c12f4c00
File.cpp: add rounding_alignment argument to get_dir_size to allow GetSizeKB functions to report size more accurately
2019-09-03 03:19:49 +03:00
kd-11
9dc06cef7f
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
2019-09-02 16:49:04 +03:00
Nekotekina
a5be410e3f
[noexcept] Don't throw on unimplemented HLE functions.
...
Getting rid of exceptions.
2019-09-02 14:43:31 +03:00
JoãoPaulo
0dfe85dc14
Update FW 4.85 Latest Version ( #6437 )
...
* Update FW Latest Version
Updates the latest FW version according to: https://www.playstation.com/en-us/support/system-updates/ps3/
Co-Authored-By: MsDarkLow <msdarklow@gmail.com>
2019-09-01 17:19:11 +01:00
kd-11
e99e8460fe
rsx/texture_cache_utils: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
27fabd7607
rsx/ring_buffer: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
33609717f8
rsx/cache: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
f8617500b5
rsx/methods: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
7f7b499303
rsx/util: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
0158a88c88
rsx/textures: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
401bd9112a
rsx/prog: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
652f18ebaa
rsx/buffers: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
6504daa713
overlays: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
94656ac1e3
rsx/vp: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
0ee9d7b46d
rsx/fp: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
756fdedbf6
vk: Warnings cleanup
2019-09-01 18:59:50 +03:00
kd-11
a7b9ff33d8
gl: Warnings cleanup
2019-09-01 18:59:50 +03:00
Megamouse
432364cb04
Qt: add --no-gui mode
2019-08-31 17:08:03 +02:00
Megamouse
7cf037bd49
Fix cli args and app version/name
2019-08-31 17:08:03 +02:00
Nekotekina
81a110f346
Fix system time wraparound
...
Implement utils::udiv128, utils::div128
2019-08-30 22:02:25 +03:00
kd-11
7f99de36c1
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
2019-08-30 21:46:19 +03:00
kd-11
61af2b7dfc
vk: Workgroup tuning for different vendors
2019-08-30 21:46:19 +03:00
kd-11
99fb6d6a5d
rsx: Allow GPU-accelerated stream manipulation when doing texture uploads
2019-08-30 21:46:19 +03:00
kd-11
e0a7912d7c
rsx: Check for stencil writes when determining zeta_write flag
2019-08-30 21:45:41 +03:00
Ani
c4d99f93db
rpcs3_version: Bump to 0.0.7
2019-08-30 03:09:59 +01:00
Nekotekina
801adb0947
VFS: Escape Control Characters 0-31
...
Escaping NUL is formal, it's not expected on input.
2019-08-29 02:44:12 +03:00
Nekotekina
b3f5d6d85b
Put lv2_obj::awake calls under mutex
2019-08-29 02:44:12 +03:00
kd-11
04c808b8ab
rsx: Fixup for MRT color write lookup and surface_target_a
2019-08-28 16:12:10 +03:00
kd-11
e55d216619
rsx: Workarounds for some buggy games
...
- Replace assert with log message until hardware testing confirms findings
2019-08-28 14:54:51 +03:00
kd-11
e334a43169
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.
2019-08-28 14:54:51 +03:00
JohnHolmesII
cca6a19cdd
Fix improper string concatenation in rsx_decode.
2019-08-28 01:26:14 +03:00
kd-11
64aff7f019
emucore: Initialize fxo on loading RSX captures
...
- Fixes crash on capture replay
2019-08-27 21:59:02 +03:00
kd-11
2962e05f26
rsx: Implement per-RTT color masks
...
- Also refactors and simplifies some common code in surface store and rsx core
2019-08-27 21:59:02 +03:00
kd-11
27aeaf66bc
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
2019-08-27 21:59:02 +03:00
Nekotekina
9672ad53cd
Fix SPRX building on AppImage builds
2019-08-27 17:25:55 +03:00
Nekotekina
b6b7d7b48c
sys_cond_wait fixup
2019-08-27 15:38:18 +03:00
Nekotekina
ec8c5453bc
Fix sys_cond_wait
...
Schedule PPU thread before relocking.
Don't lock mutex in notify functions.
2019-08-27 15:13:01 +03:00
Nekotekina
fd839243ec
Revert PR 6405
2019-08-27 14:05:38 +03:00
Nekotekina
ede816387f
Fix SPRX loader crash
2019-08-27 13:57:27 +03:00
Nekotekina
796a6646f7
Silence statichle
2019-08-27 13:56:50 +03:00
Nekotekina
dd79a5efb7
Remove fxm::make_always
2019-08-27 03:50:15 +03:00
Nekotekina
e41b234dc4
Use g_fxo for cellSysCache
2019-08-27 03:50:15 +03:00
Nekotekina
d2eba2387b
Use g_fxo for display_manager
2019-08-27 03:50:15 +03:00
Nekotekina
6811ec562c
Use parentheses for new T() syntax
...
MSVC keeps being dumb...
2019-08-27 03:50:15 +03:00
Nekotekina
fcbf91b7cb
Deprecate fxm::get_always
...
And also its unused fxm::import_always counterpart
2019-08-27 03:50:15 +03:00
Nekotekina
4ec3e968ff
Use g_fxo for jit_core_allocator
2019-08-27 03:50:15 +03:00
Nekotekina
3dd6961ee5
Use g_fxo in PPUThread.cpp misc
...
Replace fxm::get_always
2019-08-27 03:50:15 +03:00
Nekotekina
232e815f17
Init g_fxo in SPRX Loader mode
2019-08-27 03:50:15 +03:00
Nekotekina
ebdb0781fa
Use g_fxo for statichle_handler
2019-08-27 03:50:15 +03:00
Nekotekina
84e44d3372
Use g_fxo for ppu_linkage_info
2019-08-27 03:50:15 +03:00
Nekotekina
2a37a4bcea
Use g_fxo for cellPad
...
Rename pad_t -> pad_info
2019-08-27 03:50:15 +03:00
Nekotekina
928719b658
Use g_fxo for rsx::avconf
2019-08-27 03:50:15 +03:00
Nekotekina
7a00b5f809
Use g_fxo for patch_engine
2019-08-27 03:50:15 +03:00
Nekotekina
cfdd298693
Use g_fxo for cellMusicDecode
2019-08-27 03:50:15 +03:00
Nekotekina
7b0d834477
Use g_fxo for gem_camera_shared
2019-08-27 03:50:15 +03:00
Nekotekina
e4a7e8c058
Use g_fxo for cellGem
...
Rename gem_t -> gem_config
2019-08-27 03:50:15 +03:00
Nekotekina
1d3c18f4e2
Use g_fxo for cellGcm
...
Rename CellGcmSysConfig -> gcm_config
2019-08-27 03:50:15 +03:00
Nekotekina
9a2338a5ca
Use g_fxo for fs_aio_manager (dummy)
2019-08-27 03:50:15 +03:00
Nekotekina
38a06c4b14
Use g_fxo for SysRsxConfig
...
Rename to lv2_rsx_config
2019-08-27 03:50:15 +03:00
Nekotekina
cf44038435
Use g_fxo for lv2_config
2019-08-27 03:50:15 +03:00
Nekotekina
8304043d00
Use g_fxo for sysutil_cb_manager
2019-08-27 03:50:15 +03:00
Eladash
a921fe3351
lv2: Wait for rescheduling before confirming ETIMEOUT
2019-08-27 03:44:34 +03:00
Eladash
35a3bed91a
sys_cond_wait: Wait for rescheduling before relocking
2019-08-27 03:44:34 +03:00
kd-11
3317e13b64
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
2019-08-26 22:33:29 +03:00
Megamouse
32b5b11a83
cellSaveData/overlays: prevent possible array out of bounds in list view
2019-08-26 21:09:20 +02:00
kd-11
eed32cf3a4
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.
2019-08-26 20:03:31 +03:00
kd-11
3e28e4b1e0
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
2019-08-26 20:03:31 +03:00
kd-11
fe6ff8622a
rsx: Decompiler fixups for conditional execution
...
- Cond actually obeys vector mask
2019-08-26 20:03:31 +03:00
kd-11
f9aea076ae
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.
2019-08-26 20:03:31 +03:00
kd-11
9d981de96d
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
2019-08-25 22:09:20 +03:00
Nekotekina
6165bd68c0
Use g_fxo for avconf_manager
2019-08-22 15:14:33 +03:00
Megamouse
94dd6c2007
cellSaveData: improve param.sfo creation
2019-08-22 08:05:12 +02:00
Megamouse
896cfd2ade
cellSaveData/cellMsgDialog: implement cellSaveDataDelete
2019-08-22 08:05:12 +02:00
Megamouse
0b720aeb59
cellSaveData: ignore dot and dotdot
2019-08-22 08:05:12 +02:00
Megamouse
2d29a33ea8
cellSaveData/overlays: initialize with focused entry
2019-08-22 08:05:12 +02:00
Megamouse
b3c1759853
cellSaveData/overlays/Qt: fix some warnings and a possible nullptr deref
2019-08-22 08:05:12 +02:00
Eladash
ec9b896fbf
Fix vm::reserve_map logic
2019-08-22 03:53:40 +03:00
Nekotekina
c43a126f62
Fix VFS initialization
2019-08-22 02:46:21 +03:00
Nekotekina
8cf025bf71
Use g_fxo for cellWebBrowser
...
Rename browser_t -> browser_info
2019-08-22 02:13:39 +03:00
Nekotekina
2b55bde104
Use g_fxo in cellRudp
...
Rename rudp_t -> rudp_info
2019-08-22 02:13:39 +03:00
Nekotekina
02fe1ef7ff
Use g_fxo for cellSearch
...
Rename search_t -> search_info
2019-08-22 02:13:39 +03:00
Nekotekina
4ac1e2d8f5
Use g_fxo for vfs_manager
2019-08-22 02:13:39 +03:00
Nekotekina
93d5c0a38e
Use g_fxo for cellRec
...
Rename rec_t -> rec_info
2019-08-22 02:13:39 +03:00
Nekotekina
2740fafa64
Use g_fxo for page_fault_notification_entries
2019-08-22 02:13:39 +03:00
Nekotekina
54952f6ad6
Use g_fxo for LoadedNpdrmKeys_t
...
Rename to loaded_npdrm_keys
2019-08-22 02:13:39 +03:00
Nekotekina
a85a8796d3
Use g_fxo for page_fault_event_entries
2019-08-22 02:13:39 +03:00
Nekotekina
606601441d
Use g_fxo for cellMusic
...
Replace music_t with music_state
2019-08-22 02:13:39 +03:00
Nekotekina
2882220cbd
Implement cpu_thread::stop_all()
2019-08-22 02:13:39 +03:00
Nekotekina
8517ccfdfa
Add new typemap for always existing objects
...
Not to be confused with singletons or global variables.
2019-08-22 02:13:39 +03:00
Nekotekina
7db2e2537f
Don't call lv2_obj::awake_all with empty list
...
Fixup after #5883
2019-08-22 02:13:39 +03:00
kd-11
7c5bde4aeb
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.
2019-08-21 21:17:15 +03:00
kd-11
c67c97844e
rsx: Fixup for blit engine range calculations
2019-08-21 21:17:15 +03:00
kd-11
5d1b7eb945
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.
2019-08-21 21:17:15 +03:00
kd-11
ca8b0da141
gl: Invalidate range before reading to prevent deadlock
2019-08-21 21:17:15 +03:00
kd-11
141072023b
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
2019-08-21 21:17:15 +03:00
kd-11
9cd5325962
rsx: Free memory 'held hostage' by storage sections in the surface cache
...
- Once the memory has been captured by another surface, release the allocation
2019-08-21 21:17:15 +03:00
kd-11
be98554b40
rsx: Fix surface split logic
...
- Calculations are supposed to be done based on the properties of the outgoing surface
2019-08-21 21:17:15 +03:00
kd-11
67dac94704
rsx/fp: Zero-initialize FragDepth register to match hw
2019-08-21 21:17:15 +03:00
kd-11
35e61c77e0
gl: Fixup for D24S8 readback
2019-08-21 21:17:15 +03:00
Megamouse
9c64318e8a
Qt: Fall back to VERSION in game list
2019-08-21 07:57:44 +02:00
Alex James
b0d0f51d8d
crypto: implement AES-NI acceleration
...
This is based off the upstream implementation in mbedTLS as well as an
external pull request [1] for MSVC support (using intrinsics).
1: https://github.com/ARMmbed/mbedtls/pull/1355
2019-08-19 23:39:40 +03:00
JohnHolmesII
bd8cbcdb21
Reapply old template depth to compilers (fixes Gentoo building)
2019-08-19 20:12:31 +03:00
kd-11
dca29def5e
rsx: Temporary workaround for race condition in blit engine
2019-08-18 20:45:48 +03:00
kd-11
5e299111cc
rsx/vk: Restructure surface access barriers and implement RCB/RDB
...
- Implements render target data load (aka Read Color Buffer/Read Depth Buffer)
- Refactors vulkan surface barrier to be much cleaner.
- Removes redundant surface barrier invocations after doing a merged load
from surface cache.
- Adds explicit access modes when gathering surfaces from cache.
2019-08-18 20:45:48 +03:00
kd-11
dfe709d464
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
2019-08-18 20:45:48 +03:00
JohnHolmesII
5817e2a359
Fix mismatched enum string formats in sys_config
2019-08-18 18:39:17 +02:00
Silent
87ffa04a2b
Improvements to XInput vibration:
...
- use std::chrono to measure 20ms between XInputSetState calls, because clock() measures cpu time and not real time (so calls were made more often than intended)
- fixup data types for cached vibration values to prevent u8 values overflowing and giving false positives on m_dev->newVibrateData
2019-08-18 18:03:20 +02:00
Megamouse
b3aff3a1c6
cellKb: fix large ASCII characters for some compilers
2019-08-18 08:18:15 +02:00
Megamouse
eedf96e1f4
Qt: fix diacritics in keyboard handler
2019-08-18 08:18:15 +02:00
Megamouse
7408f50d71
cellKb: improve key conversion
2019-08-18 08:18:15 +02:00
Megamouse
86a8b5924a
Add option for keyboard layout
2019-08-18 08:18:15 +02:00
Megamouse
8a31c7a7c8
Qt/input: windows workaround to fix shift on the basic keyboard handler
2019-08-18 08:18:15 +02:00
Eladash
62414cee15
Do not allow SYS_SYNC_PRIORITY_INHERIT in sys_semaphore_create (EINVAL)
2019-08-18 04:01:16 +03:00
eladash
0af342a978
PPU Precise: FPCC handling on float ops implemented
2019-08-18 04:01:16 +03:00
Nekotekina
dd86aa472d
Fix _sys_lwcond_queue_wait
...
Fixup after #5883
2019-08-18 00:19:31 +03:00
Nekotekina
6535fb0603
Fix _sys_lwcond_signal_all
...
Fixup after #5883
2019-08-18 00:19:31 +03:00
Nekotekina
11a43e25d7
typeindices.hpp - start index from 0
...
Starting it from 1 makes it more error-prone to use.
2019-08-17 23:40:51 +03:00
max
92e6dee60f
[rpcs3] refactor includes and additional dependencies
2019-08-17 23:30:23 +03:00
max
c5440c95c8
[MSbuild] Extend support to v142 toolset
...
- Added support for current default toolset, explitly specified c++17 standard and 8.1 win sdk.
- properties were defined via `common_default.props` and `common_default_macros.props`
Note: There are 2 files because some properties need to be imported before `Microsoft.Cpp.Default.props` , but other common properties can be imported after but they require marco defined in `Microsoft.Cpp.Default.props`.
- Added hidapi and libusb project files to repository to simplify msbuild changes.
2019-08-17 23:30:23 +03:00
yahfz
1444492eab
lv2: Allow sys_sync_priority_inherit
2019-08-17 23:11:08 +03:00
eladash
050339bb3e
PPU/LV2: Make thread-lists scheduling atomic
2019-08-17 22:46:36 +03:00
Eladash
500a4fa2fb
rsx: Fix potential out of range methods execution (can result in segfaults)
2019-08-17 17:26:04 +01:00
Eladash
0d88f037ff
Add new accuracy control for PUTLLUC accuracy setting (non-TSX)
...
With the option enabled GET commands are blocked until the current PUTLLC/PUTLLUC executer on that address finishes
Additional improvements:
- Minor race fix of sys_ppu_thread_exit (wait until the writer finishes)
- Max number of ppu threads bumped to 8
2019-08-17 00:42:46 +03:00
Eladash
d8402008dd
Stub sys_process_get_number_of_object(object == SYS_SPUPORT_OBJECT)
2019-08-16 23:49:24 +03:00
Eladash
0dce6be8cb
Implement lv2_spu_image
...
- Improved sys_spu_image_.. error checking
- sys_process SYS_SPUIMAGE_OBJECT handling implemented
2019-08-16 23:49:24 +03:00
Eladash
80827aa31a
Stub sys_process_get_number_of_object(object == SYS_TRACE_OBJECT)
2019-08-16 23:49:24 +03:00
Eladash
6540fecdc3
Add another pattern to ppu analyzer imports
2019-08-16 22:55:04 +03:00
Pierre-Loup A. Griffais
f342f4b826
Work around a crash on startup on current versions of KDE on Linux.
...
https://bugs.kde.org/show_bug.cgi?id=401637
2019-08-16 20:37:41 +03:00
Pierre-Loup A. Griffais
56011cbddd
vk: don't die on VK_SUBOPTIMAL_KHR in AcquireNextImage, and recreate swapchain
...
vkAcquireNextImageKHR can also return VK_SUBOPTIMAL_KHR and is non-fatal.
However, it's a good idea to still recreate the swap chain later to maintain
optimal presentation paths after temporary occlusion.
2019-08-16 20:09:37 +03:00
msuih
42ff93d30c
Add advanced tab
2019-08-16 19:58:19 +03:00
Eladash
f2a2dfda3a
Improve unknown settings values dialog text message
2019-08-16 09:45:24 +02:00
Eladash
f0c267ecb0
Change default Sleep Timers Accuracy setting's value to "Usleep Only"
2019-08-16 09:45:24 +02:00
kd-11
a0f0c418d7
gl:Implement proper support for packed 16-bit rendertargets
...
- Also some minor refactoring
2019-08-15 14:00:17 +03:00
kd-11
7f85b18b46
gl: Add support for 4444 typeless texture
2019-08-15 14:00:17 +03:00
Megamouse
9f854dba98
Qt: move default stylesheet to stylesheets.h
2019-08-14 23:54:09 +02:00
Megamouse
503d43889d
rename rpcs3_app to headless_application
2019-08-14 23:54:09 +02:00
Megamouse
0dc7841d0f
Add cli arg for hidpi
2019-08-14 23:54:09 +02:00
Megamouse
13367071b0
update some comments
2019-08-14 23:54:09 +02:00
RipleyTom
2040a11585
header shuffling
2019-08-14 23:54:09 +02:00
Megamouse
8debdfcd09
handle empty callback returns
2019-08-14 23:54:09 +02:00
Megamouse
08c581947d
Create headless application [WIP]
2019-08-14 23:54:09 +02:00
Nekotekina
4df1c16099
Implement stx::typeinfo_v (util/typeindices.hpp)
...
Move and generalize logic from typemap.h
2019-08-14 21:04:25 +03:00
Nekotekina
f8f3067deb
Always check page_allocated in vm::check_addr
2019-08-14 20:28:34 +03:00
Nekotekina
d45c743877
Remove lib_loading_type::automatic
...
This is former default and is now obsolete.
2019-08-14 20:28:34 +03:00
Nekotekina
4f22559ff0
Remove dumb overloads of atomic_op, fetch_op
...
And lf_queue::apply.
Fix inlining problem by passing F by value.
2019-08-14 20:28:34 +03:00
Nekotekina
cf16ee5eb5
Implement lib_loading_type::liblv2list
2019-08-14 20:28:34 +03:00
Nekotekina
ae46333e99
Implement lib_loading_type::liblv2both
2019-08-14 20:28:34 +03:00
RipleyTom
87bf0386c4
Screenshot function
2019-08-14 19:24:42 +02:00
MarioSonic2987
b3f4cd3a95
Update "Enable native user interface" description
...
Since the merge of native OSK, back in February 2019, RPCS3 is able to support more languages with native UI. However, the description hasn't been updated since then.
As far as I know, the languages that are now supported are English, French, German, Italian and Spanish.
Both Greek and Russian use different alphabets from Latin, therefore they aren't supported. Polish or Norwegian uses special Latin characters that aren't covered in extended ASCII character set. Chinese, Japanese and Korean aren't also supported.
2019-08-14 04:44:59 +01:00
Eladash
7fda07eb5b
rsx: UB fix (signed vs unsigned mismatch)
2019-08-13 20:48:50 +01:00
Eladash
519fe9309e
rsx: Fix nv0039::buffer_notify
2019-08-13 20:48:50 +01:00
Eladash
527b1bb071
rsx: Fix overlapping transfer of nv3089::image_in when out_pitch != in_pitch
...
or out_pitch != out_bpp * out_w
2019-08-13 20:48:50 +01:00
Eladash
19825366f5
Fixup for fixup
2019-08-13 17:55:45 +01:00
Eladash
a902874b01
Fixup after #6286
2019-08-13 13:34:14 +03:00
Eladash
a4896eb6df
Fix race on cellVdecClose TLS cleanup
2019-08-13 04:56:00 +03:00
Eladash
30c72b105e
Fix race on notifying vdec thread in cellVdecGetPicture
...
Can dereference nullptr if cellVdecClose was called simultaneously.
2019-08-13 04:56:00 +03:00
Eladash
14ac70dfbf
Avoid using _sys_ppu_thread_exit in _sys_interrupt_thread_disestablish
2019-08-13 04:56:00 +03:00
Eladash
4b82006984
ppu: Improve LWSYNC
...
Block load<->load reordering as real lwsync.
2019-08-13 04:56:00 +03:00
eladash
4f00af6000
ppu interpreter: Allow non-ssse3 to use fast path
...
byte shuffle is now removed which was the barrier for ssse3 check.
2019-08-13 04:56:00 +03:00
Eladash
6d3fc3a386
core config: Expose min/max ranges of integral settings and use it
2019-08-13 04:56:00 +03:00
Eladash
a6c94a0eaf
Fix possible infinite loop on vm area searching (sys_mmapper_allocate_address)
...
Specifically when allocation with 0x8000'0000 alignment fails.
2019-08-13 04:56:00 +03:00
Eladash
cd4e895c04
Use error_code in mmapper_thread_recover_page_fault
2019-08-13 04:56:00 +03:00
Eladash
629d8e3a51
Fix sys_time_get_current_time() date
2019-08-13 04:56:00 +03:00
Eladash
6d0f2ae58a
ppu interpreter: Improve SRD/SLD
2019-08-13 04:56:00 +03:00
Eladash
a560498cd4
ppu: Improve FCTIW, FCTIWZ, FCTID and FCTIDZ
2019-08-13 04:56:00 +03:00
Eladash
0a5b6ad928
Add missing EALIGN check for sys_mmapper_search_and_map
2019-08-11 21:43:13 +03:00
Eladash
a832581201
Fix sys_vm address boundary checks (fix vsize)
2019-08-11 21:43:13 +03:00
Eladash
ecb3b62787
Fix CELL_CAMERA_ERROR_NOT_INIT check in cellCameraSetNotifyEventQueue when camera set to null
...
Don't worry, this was a duplicated check for null camera setting.
2019-08-11 21:43:13 +03:00
Eladash
96527eee5b
idm: Fix bug in ID searching
...
* ID checking now checks if (id % step) == 0
* Extend possible ID range to allow UINT32_MAX (as long as base is non-zero)
2019-08-11 21:43:13 +03:00
Eladash
5c904bf3e2
Fix max allocations for DECR mode (sys_memory)
2019-08-11 21:43:13 +03:00
Eladash
cbcd06d1dc
ppu: Stack size allocation improvements
2019-08-11 21:43:13 +03:00
Eladash
3ce18fd960
Implement vm::page_executable ( #6330 )
...
Fixes segfaults when attenpting to set segfaults on non-executable memory.
2019-08-11 21:04:17 +03:00
Eladash
94d33003a3
Write zero in attr->pad (sys_memory_get_page_attribute)
...
Its included in lv2 as well.
2019-08-10 19:47:37 +03:00
Eladash
25e47e0de0
Fix vm::check_addr memory state check
2019-08-10 19:47:37 +03:00
kd-11
8866a3d6a9
rsx: Cleanup for blit engine fixes
2019-08-10 16:45:02 +01:00
msuih
8150095e8f
Qt warnings cleanup
2019-08-10 16:15:24 +02:00
Megamouse
f051f53e15
Qt: add setting for trophy manager icon background color
2019-08-10 15:13:36 +02:00
Megamouse
2f12226ff9
Qt: add setting for save manager background icon colors + fix icon size
2019-08-10 15:13:36 +02:00
Megamouse
d4c635a83c
Qt: change default icon background color to something friendlier looking
2019-08-10 15:13:36 +02:00
Megamouse
697128464b
Qt: add some sanity checks to prevent list crashes
2019-08-10 15:13:36 +02:00
Megamouse
0559e929d4
fix some warnings
2019-08-10 15:13:36 +02:00
Megamouse
efcb46658b
Qt: fix initial trophy icon background color
2019-08-10 15:13:36 +02:00
Megamouse
01720afba9
silence some warnings
2019-08-10 11:02:20 +02:00
kd-11
033836d88c
rsx: Minor fixup for nv3089::image_in
...
- Typo scale_x->scale_y
- Remove convoluted temp buffer creation and just use vector instead
2019-08-08 15:48:22 +03:00
Eladash
112ad9dda2
Allow to load liblv2.sprx with manual/both lib loading options ( #6274 )
2019-08-07 18:41:27 +03:00
RipleyTom
05813c7e90
Fixes suspend+stop threads not stopping
2019-08-04 21:16:19 +03:00
xddxd
6e89e4ebbf
Update game_list_frame.cpp
2019-08-04 13:29:45 +02:00
Megamouse
4ad784d614
Qt: select custom configs when opening the custom config folder
2019-08-04 08:45:52 +02:00
Eladash
c219417f62
sys_vm: Fix sys_vm_invalidate
2019-08-03 14:29:17 +01:00
Nekotekina
5bd17a44c9
Add fallback implementation for waitable atomics
...
May improve perf on OSX/BSD
2019-08-02 18:37:23 +03:00
Eladash
72fb3ba794
perf hotfix for sys_timer_usleep
2019-08-01 23:38:09 +03:00
kd-11
f0bd0b5a7c
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
2019-07-30 21:13:42 +03:00
Malcolm Jestadt
d689a6e47b
vk: Don't warn RADV users on LLVM 8.0.1
...
- The 'back screen' issue on RADV was resolved with LLVM 8.0.1
2019-07-30 19:56:05 +03:00
eladash
e40b76b253
sys_lwcond: Extract protocol from lwmutex at creation
...
This is the only reason theres a need to specify lwmutex_sq id at creation. unlike sys_cond, lwcond isn't connected to lwmutex at the lv2 level.
SYS_SYNC_RETRY fix is done explicitly at the firmware level.
This fixes issues when the original lwcond and lwmutexol data got corrupted or deallocated, this can happen when the program simply memcpy the control data to somewhere else.
Or if it uses direct lv2 the lwcond conrol param can even be NULL which will make it access violate when dereferncing it. (This param is unchecked and can be anything)
2019-07-29 21:58:04 +03:00
eladash
7508ae6e65
Add EAGAIN check for sys_memory_contianer_create
2019-07-29 21:55:59 +03:00
eladash
1e5e0f3b5e
make sys_fs_closedir atomic
2019-07-29 21:55:59 +03:00
Nekotekina
949f33c8a4
Fix sys_config_get_io_event syscall name
2019-07-29 21:55:59 +03:00
Nekotekina
c6993d3f1c
Change bits of waitable atomics
...
Reduce max waiter count to 2^14.
Refactor code to use waiter_mask and signal_mask constants.
2019-07-29 21:55:59 +03:00
Nekotekina
e1db6cef6f
Remove ignored bits in waitable atomics
...
It was not implemented correctly.
2019-07-29 21:55:59 +03:00
Eladash
829047ecdb
ppu disasm: Improve ORI and ORIS disassembly
2019-07-29 18:28:39 +03:00