Commit Graph

7767 Commits

Author SHA1 Message Date
eladash 25aa5f80a6 Fix access violations reporting on RSX
and on other threads that do not have cpu_thread handler
2019-01-30 18:44:29 +03:00
eladash b61492ca30 Dont call std::terminate() after normal access violation handling 2019-01-30 18:44:29 +03:00
eladash 6f770c8e35 Fix potential crash in begin_occlusion_query() while closing the Emu 2019-01-30 18:44:29 +03:00
Nekotekina 039f8e1f9d Update About window
Updated supporters and contributors
2019-01-30 03:11:19 +03:00
Nekotekina f50d9cc136 Initial support for HLE in internal API
atomic_storage<>: add compare_exchange_hle_acq and fetch_add_hle_rel
shared_mutex: add methods (un)lock_hle and (un)lock_shared_hle
Clang: 👅
2019-01-29 04:33:59 +03:00
Nekotekina 58358e85dd spu_runtime::add minor optimization
Use preallocated vectors in trampoline generation subroutine
2019-01-29 03:32:16 +03:00
Nekotekina 2b66abaf10 Implement atomic_t<>::release
More relaxed store with release memory order
2019-01-29 03:32:16 +03:00
Nekotekina 50922faac9 Remove SPUThread::jit_dispatcher
Use global array - save memory
Move the array to JIT memory
2019-01-29 03:32:16 +03:00
Nekotekina 4292997a01 Added jit_runtime class
Is a memory manager for ASMJIT, replaces asmjit::JitRuntime
Unified memory manager for ASMJIT and LLVM
Unified SPU trampoline generation
Remove previous workarounds
2019-01-29 03:32:16 +03:00
max d1f544c755 Add QDoubleSpinBox styling
Updated themes
 - YoRHa by Ani
 - Kuroi (Dark) by Ani
2019-01-28 17:41:24 +00:00
eladash 587fe421ee Make ppu main_thread unjoinable 2019-01-25 18:04:33 +03:00
eladash 56b7581ade Return error code in sys_ppu_thread_get_join_state 2019-01-25 18:04:33 +03:00
kd-11 660bfeabae gl: Fixup - inline arrays 2019-01-25 14:34:22 +03:00
kd-11 fa9b448686 vk: Spec fixups
- Disable DEPTH<->RGBA typeless transfers for now as they require a lot more work to work for all vendors
- Do not allow switching layouts to UNDEFINED/PREINITIALIZED formats
2019-01-25 14:34:22 +03:00
kd-11 2163a59649 rsx: Typo fix 2019-01-25 14:34:22 +03:00
kd-11 521969bcc3 gl: Remove GL_R 'format'. There is no GL_R format, it part of the S-T-Q-R enums for texture coordinate space 2019-01-25 14:34:22 +03:00
kd-11 5a4bea8c4f gl: Blit fixup
- Typo fix. I meant to disable scissor test, not stencil test
- Also clean up and simplify/optimize the core logic
2019-01-25 14:34:22 +03:00
kd-11 7e33cdcb08 rsx: simple_array<T> improvements
- Implement move and copy ctors
2019-01-25 14:34:22 +03:00
kd-11 fb778e4821 rsx: Reimplement attrib divisor 2019-01-25 14:34:22 +03:00
kd-11 736415fcd9 rsx/fp: Detect broken/NOP shaders automatically
- Do not compile body if the shader is of no consequence, leave as a passthrough shader
2019-01-25 14:34:22 +03:00
kd-11 6fdc0fd7f0 rsx: Reimplement MSAA transparency
- Apply dither to edges that almost fail the straight-up alpha test
- Significantly improves alpha tested geometry far from the camera
- Also removes blend factor overrides/hacks as they give incorrect results due to background bleeding
2019-01-25 14:34:22 +03:00
kd-11 10a17feda2 rsx: Avoid potential deadlock in FIFO_ctrl 2019-01-25 14:34:22 +03:00
kd-11 7eec702c6d gl: Fix silly regression with blit dst resource readback 2019-01-25 14:34:22 +03:00
kd-11 8093c9b573 rsx: Disable rtt side-effects when async compilation is ongoing. Only real renders should promote buffer state from underined to drawn, otherwise keep previous contents intact. 2019-01-25 14:34:22 +03:00
kd-11 417a2e6731 rsx: Refactor index buffers
- Index offset is ignored anyway and only used to calculate vertex attribute divisor index
- Specialized optimization for untouched xfer without primitive restart
2019-01-25 14:34:22 +03:00
elad afeacc171f Fix spurious abort in sys_rwlock_tryrlock and sys_semaphore_trywait (#5579)
Use full cmpxchg loop to prevent occasional return of CELL_EBUSY
2019-01-22 23:10:17 +03:00
Nekotekina d5eda98e49 Fix le_t<> compilation error
Use memcpy for copying
2019-01-22 22:02:03 +03:00
Nekotekina 4f152ad126 SPU: multithread compilation
Allow parallel compilation of SPU code, both at startup and runtime
Remove 'SPU Shared Runtime' option (it became obsolete)
Refactor spu_runtime class (now is common for ASMJIT and LLVM)
Implement SPU ubertrampoline generation in raw assembly (LLVM)
Minor improvement of balanced_wait_until<> and balanced_awaken<>
Make JIT MemoryManager2 shared (global)
Fix wrong assertion in cond_variable
2019-01-22 22:02:02 +03:00
Megamouse 8d5d44141e rsx/Qt: fix some undefined behavior in progress_dialog CallAfters 2019-01-22 12:04:01 +03:00
eladash 688d5a9919 rsx: Fix unknown vertex base types
Clamp vertex type field into 3-bits instead of 4-bit value
Case 0 is UB256
2019-01-21 22:28:20 +03:00
Megamouse fa00fb3eac Qt: use patch version and firmware for PS3 disc games in the game list 2019-01-20 23:16:37 +01:00
Nekotekina d4591b1508 ALSA: disable recovery (experimental) 2019-01-18 16:49:17 +03:00
Nekotekina 59e0296281 cellMsgDialog: fix error spam on CELL_OK 2019-01-18 16:49:17 +03:00
Nekotekina cc430769c6 Rollback audio backend priority 2019-01-18 16:49:17 +03:00
eladash a11d76249d Patch ppu main thread prio 2019-01-17 21:58:09 +03:00
Megamouse 5ed718110a cellOskDialog/osk_dialog_frame: fix regexp for CELL_OSKDIALOG_NO_SPACE 2019-01-16 23:36:44 +03:00
msuih f902a7867c Fix cache removal 2019-01-16 07:43:39 +01:00
elad fc92ae4085 SPU/PPU atomics performance and LR event fixes (#5435)
* Fix SPU LR event setting in atomic commands according to hw test
* MFC: increment timestamp for PUT cmd in non-tsx path
* MFC: fix reservation lost test on non-tsx path in regard to the lock bit
* Reservation notification moved out of writer_lock scope to reduce its lifetime
* Use passive_lock/unlock in ppu atomic inctrustions to reduce redundancy
* Lock only once for dma transfers (non-TSX)
* Don't use RDTSC in reservation update logic
* Remove MFC cmd args passing to process_mfc_cmd
* Reorder check_state cpu_flag::memory check for faster unlocking
* Specialization for 128-byte data copy in SPU dma transfers
* Implement memory range locks and isolate PPU and SPU passive lock logic
2019-01-15 18:31:21 +03:00
eladash f19fd23227 spu: Fix support for multiple lists when one is stalled 2019-01-15 02:33:22 +03:00
Megamouse 58a22d1461 cellSaveData: add error_code 2019-01-14 21:12:13 +01:00
Nekotekina c5026f7109 cellVdec: fix minor race 2019-01-14 01:24:05 +03:00
Nekotekina a419e98acb Move PPU and shader cache
New hash-based location (already used for SPU)
Bump PPU cache version, improve naming and decrease size

Remove fs::get_data_dir
Disable boot.elf cache
2019-01-14 01:24:05 +03:00
Nekotekina aefee04c4a SPU analyser: fix branch to self
Fixed not filling the predeccessor list on BR-to-self on entry point
Version bumped (v1-tane)
Closes #5353
2019-01-14 00:01:27 +03:00
Nekotekina 74d684b57e cellAudio: fix template arg style
Add constexpr if
2019-01-14 00:01:27 +03:00
Nekotekina 81c50bad69 lf_queue: implement wait() method
Synchronization does not occupy additional space by reusing LSB
2019-01-13 14:45:36 +03:00
Nekotekina ac775cd75e Simplify gui_listener
Use lf_queue
2019-01-13 14:45:36 +03:00
Nekotekina 3fed4dcc5a Remove lf_mpsc, lf_spsc
Not practical
2019-01-13 14:45:36 +03:00
Nekotekina 435f60d503 lf_queue: add iterator support
Allow range-for loop over an object returned by `pop_all()`
2019-01-13 14:45:36 +03:00
Nekotekina cfdf50dcff SPU: ensure sys_spu_thread_group_join receives correct exit status
Following #5334
2019-01-13 14:45:36 +03:00
Nekotekina 453344c232 cellSaveData: workaround possible issues with symlinks
Don't use ../ location for temporary directories
2019-01-13 14:45:36 +03:00