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