5163 Commits

Author SHA1 Message Date
Nekotekina
1b37e775be Migration to named_thread<>
Add atomic_t<>::try_dec instead of fetch_dec_sat
Add atomic_t<>::try_inc
GDBDebugServer is broken (needs rewrite)
Removed old_thread class (former named_thread)
Removed storing/rethrowing exceptions from thread
Emu.Stop doesn't inject an exception anymore
task_stack helper class removed
thread_base simplified (no shared_from_this)
thread_ctrl::spawn simplified (creates detached thread)
Implemented overrideable thread detaching logic
Disabled cellAdec, cellDmux, cellFsAio
SPUThread renamed to spu_thread
RawSPUThread removed, spu_thread used instead
Disabled deriving from ppu_thread
Partial support for thread renaming
lv2_timer... simplified, screw it
idm/fxm: butchered support for on_stop/on_init
vm: improved allocation structure (added size)
2018-10-19 22:22:35 +03:00
Nekotekina
430e2243ac Fix audio_thread buffer deallocation race 2018-10-19 22:22:35 +03:00
Nekotekina
73d35b0236 Remove CALL_FUNC, implement ppu_execute<>() 2018-10-19 22:22:35 +03:00
Megamouse
4ab777b429 Add title to emulator message dialogs 2018-10-14 23:14:46 +03:00
scribam
8540399ecb ppu-interpreter: improve vminfp instruction 2018-10-12 21:30:14 +03:00
elad
623f1b35f6 rsx_capture/gcm: Fix tile binding (#5246)
* gcm: Fix tile offset setting

highest bit signifyies location, so ignore that while reading the offset.

* rsx-capture: Fix tile binding

fixes division by zero when dividing by pitch when the tile is not bound.

* rsx-capture: Fix zcull binding
2018-10-12 19:05:08 +03:00
eladash
83b6c98563 rsx: Fix u16 index arrays overflow
Force u32 index array destinations to avoid overflows when adding vertex base index.
2018-10-08 16:39:47 +03:00
eladash
e361e0daa6 rsx: Fix restart index check for u16 index arrays
Dont ignore upper bits of the restart index with u16 types
2018-10-08 16:39:47 +03:00
scribam
39272eef45 ppu-interpreter: improve vsl/vsr instructions 2018-10-08 00:15:26 +03:00
scribam
cc846eb670 ppu-interpreter: improve fnmadd/fnmadds instructions (#5183)
* ppu-interpreter: improve fnmadd instruction

* ppu-interpreter: improve fnmadds instruction
2018-10-04 00:49:19 +03:00
Megamouse
49e5212a8f RSX/Overlays: Add option for japanese button layout 2018-10-03 23:08:33 +02:00
Megamouse
76da3fa907 RSX/Overlays: don't press buttons on every iteration 2018-10-03 21:37:05 +02:00
Megamouse
9693d1c3a3 RSX/Overlays: formatted comments 2018-10-03 21:37:05 +02:00
eladash
348db050ae rsx: Fix texture height read 2018-10-03 20:57:46 +03:00
eladash
62f97f2e5f rsx: Fix default texture dimensions
haha
2018-10-03 20:57:46 +03:00
eladash
fa723f6dc4 rsx: Fix texture depth read 2018-10-03 20:57:46 +03:00
eladash
4174d7274d sys_rsx: fix log spam 2018-10-03 20:57:46 +03:00
eladash
a92ae827c1 rsx: Remove texture mipmap hack 2018-10-03 20:57:46 +03:00
eladash
6586090307 rsx: Remove texture size hack 2018-10-03 20:57:46 +03:00
eladash
eacd1b8f13 rsx: Remove texture address hack 2018-10-03 20:57:46 +03:00
Nekotekina
1b740995a4 Refactor audio_thread (g_idm) 2018-10-02 23:26:54 +03:00
Nekotekina
1456678316 Refactor audio/camera/mic threads 2018-10-02 02:22:26 +03:00
Nekotekina
19a64e0e94 Add g_typemap and g_idm alias
Future idm/fxm replacement
2018-10-02 02:22:26 +03:00
Nekotekina
da6ce80f4f Make vm::get_super_ptr return contiguous memory
Cleanup RSX code complexity
2018-09-27 23:37:13 +03:00
eladash
72ba062b1a rsx: Fix pfifo ret opcode 2018-09-27 17:47:32 +03:00
eladash
a47ebad24c rsx: Fix pfifo nop cmd 2018-09-27 17:47:32 +03:00
Nekotekina
306f95a9ae New named_thread template (preview)
Old class named_thread renamed to old_thread
It's too hard to move in a single commit
2018-09-27 14:04:16 +03:00
Nekotekina
4ef384a161 Fix cellVdecClose
Thanks Micaelis#6971
2018-09-27 14:04:16 +03:00
Nekotekina
680aaf21f0 Fix consistency in Emu::Stop()
Don't clear force_boot on shortcut Load()
2018-09-27 12:16:43 +03:00
Nekotekina
b2f29cd4d4 LLVM: remove false alarm errors
Writable sections ARE supported
2018-09-27 12:16:43 +03:00
Nekotekina
a605dd0a3f Add missing deleted operators 2018-09-27 12:16:43 +03:00
Nekotekina
a8a8cd88a0 Implement lf_queue<>, lf_value<>
lf_queue<>: unbound FIFO queue with dynamic linked-list
lf_value<>: concurrently-assignable value readable without locking at the cost of memory (using dynamic linked list)

Add atomic_t<>::compare_exchange
2018-09-27 12:16:43 +03:00
kd-11
bdf85ed900 rsx: Fixup for vertex attrib parsing
- POS does not have to be fetched from ATTR[0]
  - Confirmed with UC1 that uses WEIGHT for positions
  - At least one POS stream has to exist to feed the position attribute which cannot repeat for a single triangle
2018-09-26 19:41:50 +03:00
kd-11
6a9f234dc7 rsx: Fixup flip behaviour
- handle_emu_flip is very heavy, only fire
2018-09-26 19:41:50 +03:00
eladash
f056ef7a80 rsx-capture: Save initial method registers state 2018-09-26 17:55:08 +03:00
eladash
5b0ed1e2eb rsx-capture: Map dynamically rsx data injection addresses 2018-09-26 17:55:08 +03:00
eladash
8e268aedc7 rsx-capture: Rewrite FIFO commands allocation 2018-09-26 00:58:24 +03:00
kd-11
f72157bcec rsx: Fix vertex attrib parsing 2018-09-25 22:03:35 +03:00
kd-11
dab30c0051 rsx: Disable predictions if 50% of predictions are wrong
- This happens often in loading screens where the memory usage pattern is often randomized by loading in of assets
2018-09-24 21:19:38 +03:00
kd-11
a3d44b5e1f rsx: Cleanup changes for the flip patch 2018-09-24 16:44:02 +03:00
Jake
699eadc84f rsx: Move render flip from rsx queue command to flip command 2018-09-24 16:44:02 +03:00
Rui Pinheiro
35139ebf5d Texture cache cleanup, refactoring and fixes 2018-09-24 15:26:40 +03:00
Rui Pinheiro
f3029b2b42 Change Cell->RSX map/unmap notifications
This allows for further flexibility on the RSX side, allowing us to fix
some bugs and crashes in later commits.
2018-09-24 15:26:40 +03:00
eladash
06572c6011 rsx: Fix vertex count if all the streams are disabled 2018-09-24 13:25:05 +03:00
eladash
e0a676a3fe rsx: Fix vertex arrays fetch with inlined draws 2018-09-24 13:25:05 +03:00
eladash
e8474145a5 rsx: Remove shader address verification
this came from a misunderstanding of the register's use
2018-09-24 13:25:05 +03:00
Megamouse
b7e010bbd0 Fix Emu.Restart() 2018-09-23 01:49:58 +01:00
kd-11
dafc914bcc rsx: temporary hack
- Removes all use of valid_count as a metric until the new refactor is merged
2018-09-21 16:32:23 +03:00
kd-11
2b6e6a9ae9 gl: Fix problems with framebuffer reuse
- Matching attachments with resource id fails because drivers are reusing
  handles!
- Properly sets up stale fbo ref counting and removal
- Properly sets up resource reference test with subsequent removal to
  avoid using a broken fbo entry
2018-09-21 16:32:23 +03:00
kd-11
fc486a1bac rsx: Preserve memory order when doing flush
- Orders flushing to preserve memory at all cost
- Avoids false positive where flushing overlapping sections can falsely invalidate another with head/tail test
2018-09-21 16:32:23 +03:00