Commit graph

11891 commits

Author SHA1 Message Date
Elad 0cc655074d serialzation.hpp: Fix add_padding 2024-12-27 22:08:28 +02:00
Elad a5ba96e991 Fixup lv2_socket 2024-12-27 22:08:28 +02:00
kd-11 b2949f114b vk: Wrap device fault handler in SEH2 2024-12-25 01:41:23 +03:00
kd-11 e3df7bccac vk: Selectively enable extended device fault features in logical device creation step 2024-12-25 01:41:23 +03:00
kd-11 2c45438422 vk: Minor improvements to extended fault output 2024-12-25 01:41:23 +03:00
kd-11 4ef1d48c0c vk: Properly initialize device fault counts structure 2024-12-25 01:41:23 +03:00
kd-11 7b6a672c64 vk: Fix device fault extension loading 2024-12-25 01:41:23 +03:00
kd-11 883529eaf3 vk: Add support for spec-compliant query scopes 2024-12-25 01:41:23 +03:00
kd-11 afc10ea112 vk: Workaround for older SDK header versions 2024-12-25 01:41:23 +03:00
kd-11 488e5d9eb5 vk: Register honeykrisp as known driver in RTT quirks check 2024-12-25 01:41:23 +03:00
kd-11 6d976b5d90 vk: Fix build 2024-12-25 01:41:23 +03:00
kd-11 b44e2d3b30 vk: Add basic support for honeykrisp driver 2024-12-25 01:41:23 +03:00
kd-11 a196bbcbcd vk: Remove unnecessary workaround for older SDK versions 2024-12-25 01:41:23 +03:00
kd-11 6000e3a47d vk: Add support for extended device fault information 2024-12-25 01:41:23 +03:00
Elad 623f5822b3 Fix Emulator::Pause() segfault 2024-12-24 21:31:57 +02:00
Elad c6dadc537b Add some FXO init checks 2024-12-24 21:31:57 +02:00
Elad a2d5b5a0e2 Fixup GDB 2024-12-24 21:31:57 +02:00
Elad d376ba5994 Remove lv2_socket_native destructor 2024-12-24 21:31:57 +02:00
Elad 3bf735161f sys_config: Move cleanup to IDM abort 2024-12-24 21:31:57 +02:00
Elad 6eb4138595 Fixup sys_process 2024-12-24 21:31:57 +02:00
Megamouse 53817dcc90 Fix fs::file log formatting 2024-12-23 11:29:13 +01:00
Elad 575a245f8d
IDM: Implement lock-free smart pointers (#16403)
Replaces `std::shared_pointer` with `stx::atomic_ptr` and `stx::shared_ptr`.

Notes to programmers:

* This pr kills the use of `dynamic_cast`, `std::dynamic_pointer_cast` and `std::weak_ptr` on IDM objects, possible replacement is to save the object ID on the base object, then use idm::check/get_unlocked to the destination type via the saved ID which may be null. Null pointer check is how you can tell type mismatch (as dynamic cast) or object destruction (as weak_ptr locking).
* Double-inheritance on IDM objects should be used with care, `stx::shared_ptr` does not support constant-evaluated pointer offsetting to parent/child type.
* `idm::check/get_unlocked` can now be used anywhere.

Misc fixes:
* Fixes some segfaults with RPCN with interaction with IDM.
* Fix deadlocks in access violation handler due locking recursion.
* Fixes race condition in process exit-spawn on memory containers read.
* Fix bug that theoretically can prevent RPCS3 from booting - fix `id_manager::typeinfo` comparison to compare members instead of `memcmp` which can fail spuriously on padding bytes.
* Ensure all IDM inherited types of base, either has `id_base` or `id_type` defined locally, this allows to make getters such as `idm::get_unlocked<lv2_socket, lv2_socket_raw>()` which were broken before. (requires save-states invalidation)
* Removes broken operator[] overload of `stx::shared_ptr` and `stx::single_ptr` for non-array types.
2024-12-22 20:59:48 +02:00
Whatcookie 385710672f
SPU LLVM: Recognize ROTYQBYI and ROTQBI rotation pattern (#16409)
Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2024-12-22 10:29:15 +02:00
Megamouse ec7f50d925 ps move tracker: set max of radii to 50%
It makes no sense to have a larger radius than half of the image size
2024-12-21 14:36:24 +01:00
kd-11 760b49bc6c Cleanup 2024-12-21 15:24:15 +03:00
kd-11 70eca8cb24 vk: Fix border color swizzling behavior 2024-12-21 15:24:15 +03:00
Megamouse d450a5ee95 cellGem: add magnetometer support 2024-12-21 03:24:32 +01:00
Megamouse 1cf927aef9 cellGem: request orientation reset during calibration 2024-12-21 00:48:52 +01:00
Megamouse 8678402c25 cellGem: fix some data types 2024-12-20 17:30:25 +01:00
Megamouse ee2ea0cb02 cellGem: invalidate hue and tracking in cellGemInvalidateCalibration
This fixes the cursor color in OVERKILL
2024-12-20 17:30:25 +01:00
Megamouse cf0b4d4ed4 cellGem: split status_flags into calibration flags and runtime flags 2024-12-20 17:30:25 +01:00
Megamouse cc50049bca cellGem: implement cellGemSetRumble 2024-12-20 17:30:25 +01:00
Megamouse c6a76eb9af cellGem: add setting to let the game actually set the device hues
This is not very useful at the moment since the tracker can't really
handle random hues yet.
2024-12-20 17:30:25 +01:00
Megamouse 67e8e373a7 cellGem: set sphere RGB when a hue is set and vice versa 2024-12-20 17:30:25 +01:00
Megamouse 304964ba71 cellGem: add debug setting for painting spheres into the live image 2024-12-20 17:30:25 +01:00
Megamouse d2c58765cd cellGem: fix some data types 2024-12-20 17:30:25 +01:00
Megamouse 385d21e6dc Fix some warnings 2024-12-20 17:30:25 +01:00
Megamouse 0fd6956bb0 cellPhotoDecode: allow dev_bdvd paths 2024-12-19 18:01:10 +01:00
Megamouse 5073477415 cellGem: Split horizontal and vertical mouse rotation cone setting 2024-12-19 16:55:39 +01:00
capriots 9d4ff13c2b
cellAdec implementation part 2: LPCM decoder (#16381)
* cellAdec: savestate fixup

* simd.hpp: add some intrinsics

* cellAdec implementation part 2: LPCM decoder

* cellAdec: set to HLE by default

* cellAdec: review fixes

---------

Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2024-12-18 20:21:56 +02:00
Megamouse e18ae5abd6 cellGem: expose rotation cone to settings 2024-12-18 09:14:04 +01:00
Megamouse f3ef4f3658 cellCamera: try to fix internal state on stop
When stopping, the camera is supposed to be open still.
Add an expected state to check the camera signal does what it should.
2024-12-18 03:54:25 +01:00
Megamouse 5491fbee5b Fix warning 2024-12-17 20:46:07 +01:00
RipleyTom 18f82f0006 Fix unused p2p socket closing 2024-12-17 15:09:59 +02:00
kd-11 30ca2370ab rsx: Improve MM synchronization 2024-12-16 19:00:08 +03:00
kd-11 21eaee0e23 rsx: Revert bounds optimization on RO texture load 2024-12-16 19:00:08 +03:00
kd-11 cd7e1e1e2b rsx: Improve performance even more when async MM is active 2024-12-16 19:00:08 +03:00
kd-11 4b30e82aee rsx: Restore previous (incorrect) low-precision format handling 2024-12-16 19:00:08 +03:00
kd-11 83c0212b59 rsx/qt: Add option to disable async host MM to GUI 2024-12-16 19:00:08 +03:00
kd-11 4eb0ee23db Fix linux build 2024-12-16 19:00:08 +03:00