kd-11
f4c28eceef
rsx: Fix null renderer
2018-12-03 20:01:23 +03:00
kd-11
9d0042f509
rsx: Fixup for the flattener
...
- Reset the flattener before use
- Better detection of FIFO misalignment
2018-12-03 20:01:23 +03:00
scribam
24a8d0aeef
sceNp: add SCE_NP_ERROR_ID_NOT_FOUND for sceNpBasic*Entry* functions
2018-12-03 15:26:29 +03:00
RipleyTom
7f3eaed435
Fullscreen fix
2018-12-03 14:16:47 +03:00
RipleyTom
25414953e0
Fixes maximize window to properly update the render surface in Vulkan
2018-12-01 22:20:59 +03:00
msuih
8afc035aac
Category filter for PS1/PS2/PSP games
2018-12-01 16:56:56 +01:00
kd-11
ec768afbd9
rsx: Flip workarounds for applications that flip via syscall
...
- Do not assume flip marks end-of-frame if executed via syscall
- Also disables skip_frame for these applications as there is no frame boundary
- NOTE: QUEUE_HEAD cannot be relied on as it is seemingly possible to flip the same head and not need to queue it
2018-11-30 23:51:25 +03:00
kd-11
2168159d03
gl: Fix flip regression
...
- Restore graphics state after flip (including active fbo) because flip can be made through a syscall
2018-11-30 23:51:25 +03:00
kd-11
b96ed5cd4e
gl: Do not rely on driver statistics for s3TC textures; they are inconsistent.
2018-11-30 23:51:25 +03:00
kd-11
f1c3b46d60
rsx: Fixup - undo vertex cache 'improvements'
2018-11-30 23:51:25 +03:00
kd-11
5b6e1420f3
rsx: Pipeline barriers fixed up
...
- Ensure barriers are invoked even if no draw occurs!
-- Ensures that deferred commands are executed eventually
2018-11-30 23:51:25 +03:00
kd-11
8a186bb97e
rsx: Fix insertion of execution barriers
...
- Ignore barriers inserted after BEGIN but before any draw commands are emitted
- Properly process tail barriers inserted before END but after draw commands are submitted
- Ignore execution barriers with no effect (same register value written)
2018-11-30 23:51:25 +03:00
kd-11
1d19f71a46
rsx: Re-enable fifo error reset
2018-11-30 23:51:25 +03:00
kd-11
718a04c84f
fixup: Clear disabled attrib entries
2018-11-30 23:51:25 +03:00
kd-11
833c25894f
[WIP] rsx: Rebase cleanup
2018-11-30 23:51:25 +03:00
kd-11
5193c99973
rsx: Enable dynamic FIFO preprocessing
...
- Tries to detect when FIFO preprocessing is beneficial and only enables optimizations if the benefit outweighs the cost
- Current threshold is at least 500 draw calls saved at over 2000 draw calls to justify the overhead
- TODO: More tuning for other CPUs
2018-11-30 23:51:25 +03:00
kd-11
7b065d7781
rsx: Fixup; input attributes blob decoding
...
- Use an unstructured blob and index into the vec4 structures to extract the real data
2018-11-30 23:51:25 +03:00
kd-11
846daadd5d
rsx: Fixups
...
- Improve vertex attribute layout format. Allows for full 16-bit attribute divisor
- Use actual pitch when declaring framebuffer rsx pitch instead of register value in case of swizzle? rendering
2018-11-30 23:51:25 +03:00
kd-11
2e32777375
rsx: Scrap the prebuffered queue approach
...
- Basically starting over
- The cost of making command copies into the queue has a measurable impact
2018-11-30 23:51:25 +03:00
kd-11
9deecd506a
fixup: It is possible for NOP commands to contain other garbage
2018-11-30 23:51:25 +03:00
kd-11
26a56ef1f1
vk: Spec compliance.
...
- TODO: Implement push_constants path instead of copy + bind descriptor sets
2018-11-30 23:51:25 +03:00
kd-11
d6b4440ef9
gl: Separate vertex env from program env
2018-11-30 23:51:25 +03:00
kd-11
435afcb865
rsx: Fix fifo draw barriers
2018-11-30 23:51:25 +03:00
kd-11
2d88e41583
rsx: Fix some checks when using inlined array rendering
2018-11-30 23:51:25 +03:00
kd-11
54ec363e88
rsx: Critical pipeline fixes
...
- Fix scissor and viewport binding behavior
- Fixes recovery if empty scissor is specified and then 'fixed' later
- Optimizes state binding a bit
2018-11-30 23:51:25 +03:00
kd-11
1ad76ad331
rsx: Restructure programs
...
- Also re-enable pipeline optimizations
2018-11-30 23:51:25 +03:00
kd-11
b0a6b72ce8
rsx: Optimizations
...
- Replace a few more vectors with simple_array<T>
- Avoid unnecessary string comparisons in backends. We already know referenced textures from the program analysers!
2018-11-30 23:51:25 +03:00
kd-11
677b16f5c6
rsx: Fixups
...
- Also fix visual corruption when using disjoint indexed draws
- Refactor draw call emit again (vk)
- Improve execution barrier resolve
- Allow vertex/index rebase inside begin/end pair
- Add ALPHA_TEST to list of excluded methods [TODO: defer raster state]
- gl bringup
- Simplify
- using the simple_array gets back a few more fps :)
2018-11-30 23:51:25 +03:00
kd-11
e01d2f08c9
rsx: Refactor FIFO
...
- Removes fifo structures from common RSXThread
- Sets up a dedicated FIFO controller
- Allows for configurable queue optimizations
2018-11-30 23:51:25 +03:00
Nekotekina
96cabeadff
Rewrite condition variables
...
Implement helper functions balanced_wait_until and balanced_awaken
They include new path for Windows 8.1+ (WaitOnAddress)
shared_mutex, cond_variable, cond_one, cond_x16 modified to use it
Added helper function utils::popcnt16
Replace most semaphore<> with shared_mutex
2018-11-29 01:30:05 +03:00
Nekotekina
f442a8a84c
SPU TG: add thread group stop counter
...
Fix possible race condition introduced by waiting on `running` value
2018-11-27 23:37:26 +03:00
Nekotekina
febe4d4a10
Implement class cond_x16
...
Use as reservation notifier
Limited to 16 threads but allows more precise control of contention
2018-11-26 00:23:29 +03:00
Nekotekina
7f1cbb1136
Fix 16 bit audio mode
...
Pointed by @ruipin, some backends may be affected
Reuse float buffer for conversion result
2018-11-24 02:55:29 +03:00
eladash
4baa159523
cellFsOpen flag fix
2018-11-24 02:54:48 +03:00
Megamouse
0526bfd7de
Support trophy manager moc'ing in vcxproj
2018-11-23 20:29:43 +01:00
msuih
bf0e6ca174
Load trophies in another thread
2018-11-23 20:29:43 +01:00
kd-11
f505ac7b63
qt/gs_frame: Hotfix
...
- Dynamically check the loaded QT library version in case of mismatch
- Fixes using 5.11.1 builds with non-buggy libraries and vice versa
2018-11-22 10:21:13 +03:00
eladash
3c7f02d99d
Fix libcamera regression
2018-11-19 19:05:39 +03:00
vit9696
634a5fa31c
Fix macOS compilation
2018-11-19 14:39:33 +03:00
Nekotekina
65ca934452
cellSaveData: fix truncation size (regression)
2018-11-17 14:40:11 +03:00
Nekotekina
12ceceff19
cellSaveData: restore atime/mtime for unmodified files
2018-11-17 14:40:11 +03:00
isJuhn
225310e04b
Add null alloc_addr checks to sys_memory_allocate and sys_memory_allocate_from_container
2018-11-16 18:37:07 +00:00
RipleyTom
f4fb5200a0
cellVdecGetPicture accurate error checking
2018-11-15 20:06:49 +03:00
Nekotekina
0044eb44e2
Cleanup after #5310 (SPU thread groups)
...
Move lambda into a cpu_stop()
Use running thread counter to synchronize with sys_spu_thread_group_join()
Use SPU_STATUS_STOPPED_BY_STOP exclusively for sys_spu_thread_exit() as before
Remove unnecessary waiting in sys_spu_thread_group_exit()
Rollback some minor unnecessary changes
Use shared_mutex in SPU TG
2018-11-14 12:50:24 +03:00
RipleyTom
0e0a82e536
Ensures threads are stopped in join
2018-11-13 10:19:28 +03:00
eladash
2e1aec4de8
Implement sys_spu_thread_tryreceive_event
2018-11-12 21:12:33 +03:00
RipleyTom
fada8b6594
Increases stack allocation for callbacks.
2018-11-12 15:09:26 +03:00
eladash
57b7892de6
Fix typo in sys_fs_mkdir
...
create_path is a less resticted version of create_dir, it doesnt check for EEXIST for one.
2018-11-12 13:28:58 +03:00
eladash
37b6afaf2c
rsx: inlined array stride fix
2018-11-11 23:17:07 +03:00
RipleyTom
986bb24326
Extra check when opening pup file
2018-11-10 12:41:47 +03:00
Nekotekina
2fd384ae95
SPU LLVM: check state in every callable chunk
...
It's often redundant but may be necessary
2018-11-09 16:19:59 +03:00
Nekotekina
c17a98030a
qt: Add supporters
2018-11-09 16:19:59 +03:00
eladash
90f816595a
Fix cellPadGetData
...
* Remove complete buffer clear
* If pressure sensitivity option is not specified, write zeroes (should this be handled from our actual controller handler?)
* Check sensor setting before reporting changes
2018-11-07 15:46:51 +03:00
eladash
3332a10052
ppu: Fix threads scheduler
...
*Set priority under a lock
*Fix yield command making threads going out of scheduler control by removing it from the queue (not a bug that affects compatibility)
2018-11-07 13:06:29 +03:00
eladash
3fd17e43a3
lv2: Fix lwcond_queue_wait lock acquiring
2018-11-07 13:06:29 +03:00
eladash
3faaf9e7fb
lv2: Fix lwmutex locking
2018-11-07 13:06:29 +03:00
eladash
777f36e604
Fix error code checking of sys_lwcond_signal_x
2018-11-07 13:06:29 +03:00
Ani
2abbedcc50
gui: Fix OpenCorrectionDialog message
...
It was incorrectly trying to get the previous setting value after updating the setting
2018-11-07 00:04:22 +01:00
RipleyTom
9831bc6bc9
Bluetooth returns select as KEY_BACK for XBOX ONE controller. ( #5303 )
2018-11-05 14:25:38 +00:00
Nekotekina
488928eca2
Fix SPU STOP instruction
...
Check thread state after STOP instruction
2018-11-05 14:35:50 +03:00
Nekotekina
f06e6be2c1
Disable npc update for SPU thread groups
2018-11-05 13:14:11 +03:00
Nekotekina
eaa17b7f7c
cellSaveData: anti-corruption precautions
...
Try to commit changes atomically
2018-11-05 13:14:11 +03:00
Nekotekina
6104685ad6
Implement cond_one sync primitive
...
Change futex() args to use unsigned int
2018-11-05 13:14:11 +03:00
Nekotekina
06253c8489
Implement "Initialize Directories" options
...
If disabled, /dev_hdd0, /dev_hdd1, etc, are not created automatically.
2018-11-05 13:14:11 +03:00
eladash
75221a6078
rsx: Fix inlined vertex array validation
2018-11-04 22:57:18 +03:00
eladash
43b75ccf04
cellGame: Add missing nullptr checks
...
if the param is null pointer, the library simply skips writing into it. also fix the order of writes.
2018-11-02 19:47:37 +03:00
HexyFify
98f2967aac
Update firmware latest version to 4.83
2018-11-02 00:51:42 +00:00
Zion Nimchuk
fa134337d9
Fix issue with memory validation
2018-11-02 03:21:36 +03:00
eladash
3a7f5b970f
ppu: Fix stack base
2018-11-02 02:16:29 +03:00
eladash
7056b5fc70
rsx-debugger: add forgotten super ptrs
2018-10-30 22:33:59 +03:00
eladash
68a8efdc33
rsx-debugger: auto jump into get address on startup
2018-10-30 22:33:59 +03:00
eladash
fb30c8a937
rsx enums: fix typos
2018-10-30 22:33:59 +03:00
eladash
5270dc1c9e
rsx-debugger: fix ret and nop cmd display
2018-10-30 22:33:59 +03:00
eladash
4069470585
rsx-debugger: ignore invalid cmds
...
basically ignore all non method cmds when scrolling to the next command, not only branches.
2018-10-30 22:33:59 +03:00
eladash
2058d024ce
Fix cellGcmInit (workaround)
2018-10-28 20:09:09 +03:00
Megamouse
d56c85fe01
RSX/Capture: fix filePath and remove strict mode check ( #5283 )
...
- Fixes regression introduced by kd-11 when merging in jarves' flip rework.
2018-10-27 13:06:50 +03:00
Megamouse
1cf62e9ded
Qt: add option to add games to the main menu
2018-10-27 02:37:59 +02:00
Megamouse
586c0ea1d0
Qt: rename deleteLLVMCache to removePPUCache
2018-10-23 22:35:50 +02:00
Dennis Luxen
36d4614d12
Fix a warning that shift overflows data type width ( #5116 )
2018-10-23 18:49:01 +03:00
eladash
dfacdd8a40
fixup for rsx debugging tools segfaults
2018-10-23 18:02:03 +03:00
eladash
5ee351234c
rsx-capture: unbreak
2018-10-23 18:02:03 +03:00
Megamouse
eba2216c4a
fix evdev device list
2018-10-20 22:08:58 +02:00
eladash
d14c8a03b3
typo fix
2018-10-20 22:27:48 +03:00
Zion Nimchuk
966c3fea5b
Fix command line arguments, add --version and set Qt application name
2018-10-20 20:42:25 +02:00
Megamouse
aed83e69c9
Qt: add tick marks to Master Volume Slider
2018-10-20 19:19:54 +02:00
Megamouse
6e08d8e746
Qt: also enable/disable overlay centering checkboxes
2018-10-20 19:19:54 +02:00
Megamouse
c9d8cd3613
Qt: refactor settings_dialog and add EnhanceSlider
2018-10-20 19:19:54 +02:00
Megamouse
da5385686c
Qt: add master volume slider to the audio tab
2018-10-20 19:19:54 +02:00
Zion Nimchuk
db40cbda58
Qt: set Vulkan surface in gs_frame
2018-10-20 18:49:04 +02:00
msuih
56ea45f9d5
Add setting for master volume
2018-10-20 16:35:01 +03:00
elad
6829fa0286
rsx: Improve inlined arrays ( #5248 )
...
* rsx: Implement register reads in inlined arrays
* rsx: Check for disabled streams in inlined arrays
2018-10-20 16:00:53 +03:00
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
msuih
48416e81eb
Save compatibility draw state
2018-10-13 17:05:36 +02:00
msuih
90688c4970
Compatibility status to grid view
...
Includes icon drawing, menu option and settings entry.
2018-10-13 14:43:23 +02: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
Megamouse
c9adb52f63
Qt: Add shader loading screen options to the settings dialog
2018-10-02 09:28:58 +02: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
8b3d1c2c91
Implement address_range utility class
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
Jan Beich
0da556e1f8
build/cmake: properly disable assert() globally for release builds
...
Assertion failed: (ObjectBufferMap.find(Key) == ObjectBufferMap.end() && "Second attempt to perform debug registration."), function NotifyObjectEmitted, file llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp, line 168.
2018-09-22 10:35:45 +03:00
Jan Beich
efb3b08f87
build/cmake: ADDITIONAL_LIBS satisfy dependency by other libraries
...
/usr/bin/ld: undefined reference to symbol `libiconv_open' (try adding -liconv)
2018-09-22 10:35:45 +03:00
Jan Beich
1c8fc6852a
build/cmake: build everything with -pthread, not just GLEW
...
error: POSIX thread support was disabled in PCH file but is currently enabled
2018-09-22 10:35:45 +03: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
kd-11
23dc9d54e3
rsx: Fix flip source selector
2018-09-21 16:32:23 +03:00
kd-11
a21bdb9f45
rsx; blit engine fixes
...
- Forcefully downloads and reuploads data from the CPU in case of unexpected overlaps
- Properly detect correct size of newly created blit targets
- Remember to clear any existing views when changing the default component map!
2018-09-21 16:32:23 +03:00
eladash
1a6c819176
cellgcm: Fix SET_REFERENCE initial value
2018-09-20 01:05:40 +03:00
eladash
e6b68b260a
rsx: Improve FIFO mem faults handling
...
increase the delay between faults, reduce log spam by allowing the messages to stack up
2018-09-20 01:05:40 +03:00
eladash
a8ea576b22
rsx/cellgcm: Implemet initialization registers reset
2018-09-20 01:05:40 +03:00
Nekotekina
59090f6d26
VFS: fix /host_root
2018-09-19 14:15:38 +03:00
Nekotekina
dce14a359a
Rename lv2_spu_group::num to max_num
2018-09-19 14:15:15 +03:00
Lassi Hämäläinen
9a457400e7
CMake: Fix Qt resource files not included in build
...
- Move Qt resource initialization to rpcs3_qt target
2018-09-19 01:59:27 +03:00
Lassi Hämäläinen
566c88802e
CMake: LLVM, Pulse, Alsa and libevdev being disabled
...
- These dependencies have #defines which enable code related to them
in rpcs3 and rpcs3_ui targets. They are only used in rpcs3_emu but
HAVE_* defines have to be defined in rpcs3 and rpcs3_ui targets also,
so they have to have PUBLIC visibility so defines carried over
CMake: Fix Alsa and Pulse audios being disabled
- HAVE_PULSE and HAVE_ALSA were not defined in rpcs3 target
Fixup libevdev
2018-09-19 01:59:27 +03:00
kd-11
d6dc1493cb
rsx/overlays: Implement blur, darkening and ability to disable custom background
2018-09-18 16:24:13 +03:00
kd-11
9f61fb5a78
overlays: Allow custom background for message dialog
2018-09-18 16:24:13 +03:00
Lassi Hämäläinen
7aef811ff7
CMake: Refactor CMake build ( #5032 )
...
* CMake: Refactor build to multiple libraries
- Refactor CMake build system by creating separate libraries for
different components
- Create interface libraries for most dependencies and add 3rdparty::*
ALIAS targets for ease of use and use them to try specifying correct
dependencies for each target
- Prefer 3rdparty:: ALIAS when linking dependencies
- Exclude xxHash subdirectory from ALL build target
- Add USE_SYSTEM_ZLIB option to select between using included ZLib and
the ZLib in CMake search path
* Add cstring include to Log.cpp
* CMake: Add 3rdparty::glew interface target
* Add Visual Studio CMakeSettings.json to gitignore
* CMake: Move building and finding LLVM to 3rdparty/llvm.cmake script
- LLVM is now built under 3rdparty/ directory in the binary directory
* CMake: Move finding Qt5 to 3rdparty/qt5.cmake script
- Script has to be included in rpcs3/CMakeLists.txt because it defines
Qt5::moc target which isn't available in that folder if it is
included in 3rdparty directory
- Set AUTOMOC and AUTOUIC properties for targets requiring them (rpcs3
and rpcs3_ui) instead of setting CMAKE_AUTOMOC and CMAKE_AUTOUIC so
those properties are not defined for all targets under rpcs3 dir
* CMake: Remove redundant code from rpcs3/CMakeLists.txt
* CMake: Add BUILD_LLVM_SUBMODULE option instead of hardcoded check
- Add BUILD_LLVM_SUBMODULE option (defaults to ON) to allow controlling
usage of the LLVM submodule.
- Move option definitions to root CMakeLists
* CMake: Remove separate Emu subtargets
- Based on discussion in pull request #5032 , I decided to combine
subtargets under Emu folder back to a single rpcs3_emu target
* CMake: Remove utilities, loader and crypto targets: merge them to Emu
- Removed separate targets and merged them into rpcs3_emu target as
recommended in pull request (#5032 ) conversations. Separating targets
probably later in a separate pull request
* Fix relative includes in pad_thread.cpp
* Fix Travis-CI cloning all submodules needlessly
2018-09-18 13:07:33 +03:00
eladash
05cd3712a3
spu: Fix MMIO index checking
2018-09-17 17:24:54 +03:00
elad
0d4f0f95cc
rsx: Clamp texture offsets ( #5137 )
...
* rsx: Clamp texture offsets
* rsx: Remove texture location check/hack
2018-09-17 10:55:17 +03:00
Nekotekina
ed8aa774bb
Optimize logging via logs::channel
...
Use constant-initialized severity subobjects instead of temporaries
2018-09-16 00:36:20 +03:00
Nekotekina
b94e98aed5
Rewrite sys_fs_opendir
...
Rewrite lv2_dir object
Support split files and mount points
2018-09-15 17:18:40 +03:00
Nekotekina
c5676e5649
Remove thread_ctrl::atexit
...
It was only a workaround for poor C++11 thread_local support
2018-09-15 17:09:56 +03:00
Nekotekina
f2229a5f53
PPU reservations: ensure aligned atomic ops
...
Store aligned 64 bits to ppu.rdata
Don't save reservation size
2018-09-15 17:09:56 +03:00
Nekotekina
e8b5555630
Rewrite vfs::get and vfs::mount
...
Preprocess . and .. correctly
Don't use recursive locking
Also use std::string_view
Fix format system for std::string and std::string_view
Fix fmt::merge for std::string_view
2018-09-15 17:09:56 +03:00
kd-11
16dcbe8c74
rsx/vp: Fix ARL opcode properly
...
- NOTE: The address swizzle index is only for use as src. The address registers are only used one channel at a time.
- When the destination of ARL, the encoding is the same as the other temp registers
2018-09-15 11:57:06 +03:00
Megamouse
ed7012c9db
cellKb/Qt: Improve basic keyboard
...
Sadly the shift in Qt is a bit counter productive.
You'll have to hack another key as shift until i figured it out
2018-09-13 22:01:30 +02:00
elad
d24f9194f7
typo fix
...
shader's location is decremented by one to match cellGcm's constants.
2018-09-13 16:49:58 +03:00
eladash
b9ad578b00
rsx: Add a default shader address state
2018-09-13 16:49:58 +03:00
Dzmitry Malyshau
d28c0d16f8
[vk] don't ask for VK_FORMAT_UNDEFINED support
2018-09-13 16:04:50 +03:00
scribam
4cb98014a2
rsx: tiny zcull optimizations
2018-09-13 12:43:40 +03:00
eladash
cd11ae5d8b
ppu: Fix extreme reservation corner case
2018-09-12 23:17:53 +03:00
eladash
efbd77deb4
rsx: dont silently ignore null shader address
2018-09-12 00:40:20 +03:00
Dzmitry Malyshau
7c4693e271
[vk] Throw an exception on using a repder pass that the driver doesn't support
2018-09-11 23:44:56 +03:00
Dzmitry Malyshau
89ddeda24a
[vk] check for attachment format properties before pre-creating render passes
2018-09-11 23:44:56 +03:00
scribam
f294729b28
ppu: improve lvebx/lvehx/lvewx instructions
2018-09-11 21:20:52 +03:00
scribam
3072571a4f
cpu: use correct type when defining llvm value is_int constexpr
2018-09-10 19:59:37 +03:00
scribam
c8c8ce5e9e
rsx: add virtual destructor for default_vertex_cache
2018-09-10 19:59:37 +03:00
kd-11
f413996362
rsx: Minor texture cache fixes
...
- Retag resources reprotected under flush_always rules
- Properly check for blit resource fitting taking into account format
mismatch, pitch mismatch and typeless transfers
2018-09-10 15:43:28 +03:00
Nekotekina
2226125728
atomic_t<>: remove inline assignment
...
Add atomic_op/fetch_op overloads with template argument (may be removed in future)
Remove args... in atomic_op (capturing lambda is preferred)
2018-09-09 12:59:24 +03:00
Nekotekina
3ac1b46df2
Add option "HLE lwmutex"
...
Replaces lwmutex/lwcond implementation with alternative one
2018-09-09 01:02:19 +03:00
Alex James
5237779136
cellCamera: Fix check_dev_num call in cellCameraOpenEx
2018-09-08 20:07:10 +03:00
Nekotekina
fb5cdf9769
atomic_t<>: extend fetch_op to support cancellation
...
Use std::invoke inside atomic_op/fetch_op
Remove op_fetch because it's easily replaced
Add fetch_dec_sat algorithm (conditional decrement)
2018-09-08 00:32:04 +03:00
Nekotekina
ed9fb8405b
Move rotate/cntlz/cnttz helpers to Utilities/asm.h
2018-09-08 00:32:04 +03:00
Nekotekina
ee96807305
Remove explicit_bool_t, ignore, multicast<>
...
Remove vm::ptr operator %
This was a bad idea but explicit_bool_t was created almost for it
Other removed types are unused and have little to no meaning
2018-09-08 00:32:04 +03:00
Nekotekina
99ffc3fca9
Use std::invoke_result_t
...
Also simplify idm code
2018-09-08 00:32:04 +03:00
Nekotekina
d750e955c3
Use std::uncaught_exceptions()
...
Also remove wrong attributes
2018-09-08 00:32:04 +03:00
Dzmitry Malyshau
4e09573937
[vk] Check for BGRA8 linear image to support blitting
2018-09-07 22:02:02 +03:00
Dzmitry Malyshau
b454dde871
[vk] fix cubic view construction
2018-09-07 19:11:34 +01:00
Ofek
d7b0344091
Fix trophy regression
...
Hopefully
Correct status order
2018-09-07 20:04:37 +03:00
Dzmitry Malyshau
27474316fd
Add missing virtual desctructors ( #5094 )
2018-09-07 14:35:40 +03:00
Zion Nimchuk
46812d46ba
better stub sceNpUtilBandwidthTestGetStatus
2018-09-07 12:38:51 +03:00
kd-11
66610a28af
rsx/common: Clean up shared glsl header to minimize string concat operations
2018-09-06 21:11:11 +03:00
kd-11
346b97f871
rsx: Preserve fog coordinate across shader stages
...
- The x value contains the VP output value interpolated across primitive surface
- The y coordinate contains the fog fraction according to the selected fog formula
2018-09-06 21:11:11 +03:00
scribam
343656f66d
cleanup: remove unnecessary return and namespace declaration
2018-09-06 13:15:59 +03:00
scribam
2834c88de7
cleanup: remove intermediate const char* variables
2018-09-06 13:15:59 +03:00
scribam
f83d381e1e
clang-tidy: use nullptr
2018-09-06 13:15:59 +03:00
scribam
c4cff9b543
clang-tidy: remove redundant "apply_swizzle_remap" declaration
2018-09-06 13:15:59 +03:00
scribam
d7bb59cd99
c++17: use std::size
2018-09-06 13:15:59 +03:00
scribam
7724161c14
c++17: use std::clamp
2018-09-06 13:15:59 +03:00
scribam
02ba529eea
sys_usbd: add sys_usbd_event_port_send function
2018-09-05 19:53:09 +03:00
Nekotekina
ca5158a03e
Cleanup semaphore<> (sema.h) and mutex.h (shared_mutex)
...
Remove semaphore_lock and writer_lock classes, replace with std::lock_guard
Change semaphore<> interface to Lockable (+ exotic try_unlock method)
2018-09-03 23:00:36 +03:00
Nekotekina
5e556a87ff
Adjust cellMic log levels
2018-09-03 21:40:36 +03:00
Nekotekina
ce4c4696dd
Try to get rid of SIZE_32 macro
2018-09-03 21:40:36 +03:00
Nekotekina
7bccdbf157
Make vm::var unmoveable
...
Fix bugs with discarding vm::make_var result
2018-09-03 21:40:36 +03:00
Nekotekina
8abe6489ed
Mega-cleanup for atomic_t<> and named bit-sets bs_t<>
...
Remove "atomic operator" classes
Remove test, test_and_set, test_and_reset, test_and_complement global functions
Simplify atomic_t<> with constexpr if, remove some garbage
Redesign bs_t<> to use class, mark its methods constexpr
Implement atomic_bs_t<> for optimizations
Remove unused __bitwise_ops concept (should be in other header anyway)
Bitsets can now be tested via safe bool conversion
2018-09-03 21:40:36 +03:00
Nekotekina
69f0ad0d68
Remove ALIGN_32 macro
...
It's never used in expressions like SIZE_32(T) * n, so it doesn't help to fix any warning issued due to truncation.
2018-09-03 21:40:36 +03:00
kd-11
dea5193fd7
rsx: Fix FP temp register count
2018-09-03 21:39:18 +03:00
Rui Pinheiro
1175658bd5
Fix cellMic regression from #4467
...
cellMicEnd would get stuck waiting for the cellMic thread to finish, but
it never does because micInited is still true.
Fixes Resistance: Fall of Mankind getting stuck after the menu
2018-09-03 19:49:41 +02:00
kd-11
2e0ecb556c
rsx: Possible fix for UB data type consistency
2018-09-03 18:24:20 +03:00
kd-11
5a08b690d5
gl: always clean up the heap when using legacy buffers
2018-09-03 18:24:20 +03:00
kd-11
815f4aa63b
vk: Improve logging of device names and driver versions
2018-09-03 18:24:20 +03:00
kd-11
e23435a190
vk: whitespace fix only
2018-09-03 18:24:20 +03:00
kd-11
85d38b5751
d3d12: restore working graphics
2018-09-03 18:24:20 +03:00
kd-11
6399833182
rsx: Fix endianness order when immediate mode register is updated, but used as register lookup
...
- Simplify the code by unifying all the register-backed memory
2018-09-03 18:24:20 +03:00
eladash
9acaee563b
Fix sys_memory_free
2018-09-01 22:44:20 +04:00
scribam
bf89b709cb
Remove useless #include
2018-08-31 20:13:54 +04:00
scribam
c2973d2b82
Update ConfigureCompiler.cmake to check for the same compiler versions as those set in README.md
2018-08-31 20:13:54 +04:00
scribam
7d0e94ab0a
Compilation fixes for optional on osx
2018-08-31 20:13:54 +04:00
scribam
6c62d042c5
3rdparty: remove optional submodule
2018-08-31 20:13:54 +04:00
Lassi Hämäläinen
79cf2832ae
Remove Utilities/variant.hpp and use C++17 variant
...
- Remove also Utilities/variant_visitor.hpp
- Fix variant and variant_visitor usages and #includes
2018-08-31 17:49:59 +04:00
Nekotekina
85fa0942e7
vm: allow 4k-aligned allocations for vm::stack
...
Fix utils::shm::map logic for MapViewOfFileEx
2018-08-30 14:56:45 +03:00
Nekotekina
c49c7de427
sys_fs_stat: support split files
...
Was forgotten after sys_fs_open
2018-08-30 14:56:45 +03:00
Megamouse
f933947a27
keyboard_pad_handler: fix mouse for multimonitor fullscreen
2018-08-30 07:38:11 +02:00
Megamouse
e53ca429a1
Adjust to US keyboard... sigh
2018-08-30 07:38:11 +02:00
Megamouse
1fbd918d59
Qt: implement first Mouse Movement for keyboard pad handler
2018-08-30 07:38:11 +02:00
elad
685eaedbf9
rsx: Fix typos ( #5054 )
2018-08-30 00:47:48 +03:00
Ani
4357892081
Bump CMake Requirement to 3.8.2+
...
With older builds CMake will error out with `CXX_STANDARD is set to invalid value '17'`
CXX_STANDARD 17 was added on CMake 3.8.X as found in the 3.8.2 documentation: https://cmake.org/cmake/help/v3.8/prop_tgt/CXX_STANDARD.html
Also removes leftover from old VS2015/2017 mixed instructions, removes "Not GCC 6.1" since we require 7.3+ now and bumps Xcode to 10. Proper MacOS instructions will be added afterwards by someone else.
2018-08-29 22:01:57 +01:00
Ofek
4c1459534d
Trophy fixes
2018-08-29 16:56:17 +03:00
Megamouse
686d3eb1df
cellMsgDialog: improvements
2018-08-29 16:09:00 +03:00
Megamouse
00b31c27a3
cellGame: implement error messages and some stubs
2018-08-29 16:09:00 +03:00
Megamouse
7208aa37cc
cellMsgDialog: introduce open_msg_dialog
2018-08-29 16:09:00 +03:00
Megamouse
d4285fb196
cellGameExec: add param checks
2018-08-29 16:09:00 +03:00
Zion Nimchuk
f9cab3270f
Initial work on cellMic
2018-08-29 15:15:18 +03:00
jmatich
b5dbd44087
Compilation fixes for Mingw64 (MSYS2) ( #4899 )
...
fix compilation on mingw
2018-08-29 14:27:10 +03:00
eladash
37ee0a2f55
Rsx/cellgcm: complete rsx_state::reset()
2018-08-29 13:37:50 +03:00
eladash
fc50e6abcb
Rsx: remove method registers reset
...
cellGcm manually resets registers each flip, tested with cellGcmSetFlip
2018-08-29 13:37:50 +03:00
Dzmitry Malyshau
c452b43ebc
Basic support for Vulkan Portability on OSX
2018-08-28 21:20:11 +03:00
eladash
acf1286b49
Rsx: fix unknown cull faces
2018-08-28 10:47:24 +03:00
eladash
38a72cc6ee
Rsx: fix flip method registers reset
...
driver flip does not reset registers
2018-08-28 10:47:24 +03:00
eladash
e279bdb304
Rsx: add missing default vertex shader attributes registers states
2018-08-28 10:47:24 +03:00
zarroboogs
23f5cee653
Git Revision Fix ( #5043 )
...
* fix shotrened git revision in version string
2018-08-27 22:53:45 +04:00
Nekotekina
7b4f70390d
Don't use decltype(spu_opcode_t::...)
...
Add static constant for this purpose
Try to fix MSVC bug warning C4573
2018-08-25 21:06:24 +03:00
Nekotekina
363811981d
Reintroduce LOG_CHANNEL
...
Groundwork for further improvements
2018-08-25 15:39:00 +03:00
Nekotekina
a93a40e8d9
Disable texture_cache::emit_once (MSVC crash)
2018-08-25 01:58:28 +03:00
Nekotekina
1c6c24f8ac
Update GSL and yaml-cpp submodules
2018-08-25 01:15:47 +03:00
Nekotekina
923314aef5
Rewrite texture_cache::emit_once
...
Also trying to workaround MSVC bug
2018-08-25 01:15:47 +03:00
Nekotekina
bb19feca96
Workaround MSVC bug
...
It fails to parse Args... in fmt::get_type_info<>()
2018-08-25 01:15:47 +03:00