scribam
f1e6532ec0
ppu: improve fnmsub instruction
2018-07-09 03:33:05 +04:00
Megamouse
1c9769670c
Qt: trophy repaint optimizations
2018-07-08 17:43:13 +04:00
Megamouse
0d72889c52
Qt: also repaint trophy game list background colors
...
And refactor a bit
2018-07-08 17:43:13 +04:00
kd-11
f0a9799b4b
rsx/Qt: Fix Qt shader loading dialog crash
2018-07-07 16:20:33 +03:00
kd-11
4d40ed9dbd
rsx: Silence harmless warning
2018-07-07 16:20:33 +03:00
kd-11
d78957d1cf
rsx/vp: CodeGen improvements
...
- Fix double destination writes on conditional write masking
- Fix codegen to simplify simple scalar comparisons vs vector functions
2018-07-07 16:20:33 +03:00
kd-11
2c34195954
rsx/vp: Discard broken vertex programs with no writes to POS register
2018-07-07 16:20:33 +03:00
kd-11
2ca935a26b
vp: Improve vertex program analyser
...
- Adds dead code elimination
- Fix absolute branch target addresses to take base address into account
- Patch branch targets relative to base address to improve hash matching
- Bumps shader cache version
- Enables shader logging option to write out vertex program binary,
helpful when debugging problems.
2018-07-07 16:20:33 +03:00
kd-11
bd915bfebd
rsx: vp decompiler fixes
...
- Fix program abort logic to never abort before resolving later label addresses
Fixes jumping over broken code and jumping over END markers
- TEXTURE_CONTROL2 has indexing range of [0..15] without stride skipping!
This register does not have interleaving with other texture registers
- Track shader address poke as it seems to invalidate programs as well
2018-07-07 16:20:33 +03:00
kd-11
66854b78fa
rsx: Fix nv308a::color
2018-07-07 16:20:33 +03:00
Ofek
dceba8a92b
PPU analyser optimizations
2018-07-07 14:26:56 +04:00
Nekotekina
d856dc89a8
SPU LLVM: combine SELB with comparison instructions
...
Turn bitwise select into a vector select
2018-07-06 02:26:18 +03:00
Nekotekina
2f0dc9bd0f
PPU LLVM: simplify VSUBCUW, VSUBUBS, VSUBUHS, VSUBUWS
2018-07-06 00:33:52 +03:00
Nekotekina
9d9869e803
PPU LLVM: simplify VADDCUW, VADDUBS, VADDUHS, VADDUWS
2018-07-06 00:33:52 +03:00
Nekotekina
caf827344f
SPU LLVM: improve SHL, SHLH, ROTM, ROTHM instructions
...
Avoid zero extension, select undef result to zero
2018-07-06 00:33:52 +03:00
Nekotekina
b9c026d441
SPU LLVM: improve ROTMA and ROTMAH instructions
...
Avoid sign extension, clamp shift amount with min op
2018-07-06 00:33:52 +03:00
Nekotekina
2b9fa7ed23
SPU LLVM: combine SHUFB with CWD-alike instructions
...
Turn SHUFB into a vector insert
2018-07-06 00:33:52 +03:00
Nekotekina
253e8b4466
SPU LLVM: improve SHUFB with constant mask
2018-07-06 00:33:52 +03:00
Nekotekina
622f2f7f66
SPU LLVM: constant computation fixes
...
Fixed instructions:
Gather Bits: GB, GBH, GBB
Form Select Mask: FSM, FSMH, FSMB
2018-07-06 00:33:52 +03:00
Nekotekina
c959ab2698
SPU LLVM: fix constant propagation
...
Compute constant bitcasts
2018-07-06 00:33:52 +03:00
Nekotekina
20900ebea2
SPU: rename block stats
...
Use Block Weight and Retreats
2018-07-06 00:33:52 +03:00
Nekotekina
a0c0d8b993
SPU: simplify unimplemented event check
...
Move checks closer to the actual use
2018-07-06 00:33:52 +03:00
Nekotekina
afd5af04f6
SPU: improve analyser (v5)
...
Fix jumptable analysis
2018-07-06 00:33:52 +03:00
Nekotekina
712632d28a
SPU LLVM: inline RDCH
2018-07-06 00:33:52 +03:00
Nekotekina
c1385558ad
SPU LLVM: inline RCHCNT
2018-07-06 00:33:52 +03:00
Nekotekina
0910acad42
SPU LLVM: clean NOP/LNOP
...
Add volatile to state check and update_pc()
2018-07-06 00:33:52 +03:00
Nekotekina
513bac0304
SPU LLVM: refactor halt instructions
2018-07-06 00:33:52 +03:00
Nekotekina
a0bf103e8b
Implement cpu_translator::pshufb<>()
...
Remove spu_translator::pshufb<>()
Improve PSHUFB emulation (pre-SSSE3)
Emit static shufflevector for the constant mask
PPU: Inline VPERM instruction
2018-07-06 00:33:52 +03:00
Nekotekina
41eab62ed7
Implement spu_iname helper
...
Remove old code
Report $SP anomalies
2018-07-06 00:33:52 +03:00
Nekotekina
e009bbac10
Use LLVM 7 (master)
2018-07-06 00:33:52 +03:00
Nekotekina
1ac203a958
Funny workaround
2018-07-05 22:26:35 +03:00
Nekotekina
c86dc133cf
Rewrite cpu_translator::avg()
2018-07-05 22:26:35 +03:00
Nekotekina
8ad05ce10e
SPU LLVM: fix jt target duplication bug
2018-07-05 22:26:35 +03:00
Nekotekina
a999bccc03
SPU LLVM: use cpu_translator::build<>
2018-07-05 22:26:35 +03:00
Nekotekina
ded9d1ddfd
SPU LLVM: improve function type
...
Use pointers for args
Use noalias attribute
2018-07-05 22:26:35 +03:00
Nekotekina
88d0316aad
Update cpu_translator
...
Add get_const_vector<v128>()
Add make_const_vector<v128>()
Add i2 and i4 types
Add build<>() for vector constants
Fix comparisons, allow EQ/NE for bool/char/i2/i4 types
2018-07-05 22:26:35 +03:00
Megamouse
6a62de6d68
Fix table headers for Qt 5.10 and below
2018-07-05 23:22:33 +04:00
Megamouse
544f8711f0
Qt: improve docks and toolbar flat style
2018-07-05 23:22:33 +04:00
Megamouse
b9c9bb30ba
Qt: fix toolbar element sizes on every toolbar repaint
2018-07-05 23:22:33 +04:00
Megamouse
3a5ce90148
Qt: remove redundant custom toolbar colors.
...
They got too complicated when used with stylesheets. I left the gamelist icon color option since it does in no way interfere with the stylesheets
2018-07-05 23:22:33 +04:00
Megamouse
1270ee4b38
Qt: adjust table headers for Qt 5.11
2018-07-05 23:22:33 +04:00
Megamouse
62cec24235
Qt: update custom ui colors
2018-07-05 23:22:33 +04:00
Megamouse
124122839d
Qt: update stylesheet
2018-07-05 23:22:33 +04:00
Megamouse
20d653b58a
Qt: update table item delegates
2018-07-05 23:22:33 +04:00
Megamouse
ed4caf0fbe
Qt: fix icon repaint inaccuracy
2018-07-05 23:22:33 +04:00
Megamouse
ff9024ae70
Qt: temporary game grid selection color adjustment
2018-07-05 23:22:33 +04:00
Megamouse
01dc09c436
Qt: Use QStyledItemDelegate instead of QItemDelegate
2018-07-05 23:22:33 +04:00
Megamouse
19514128e3
Qt: Fix style sheet edge case
2018-07-05 23:22:33 +04:00
Megamouse
23b10fc16d
Qt: update default stylesheet (WIP)
2018-07-05 23:22:33 +04:00
Megamouse
4bddb6a9e3
Qt: update toolbar icons
2018-07-05 23:22:33 +04:00
Megamouse
cb3933dcab
Qt: toolbar adjustments
2018-07-05 23:22:33 +04:00
eladash
4db79c458d
Fix cellSysCacheMount error checking
2018-07-05 16:36:57 +04:00
eladash
24699f0f96
Fix cellSysCacheClear
2018-07-05 16:36:57 +04:00
eladash
3b64e0fb3f
Fix cache directory
2018-07-05 16:36:57 +04:00
Megamouse
cd59bc3d6d
bump appveyor Qt version to 5.11
2018-07-03 22:09:44 +01:00
isJuhn
3d8223fccc
Fix LLVM STW reservation update
2018-07-02 15:19:50 +04:00
Ofek
5d3b0e7352
Fix cellGameDataCheckCreate2 ( #4832 )
...
* Fix cellGameDataCheckCreate2
2018-07-01 23:07:21 +01:00
Megamouse
ca30131faa
Qt: add new spu options to the settings dialog
...
Also rework the layout a bit.
We need to think about creating a firmware tab
2018-07-01 19:33:33 +04:00
eladash
345f92ab0a
rsx: more efficient command reading
2018-06-27 21:59:34 +03:00
kd-11
42851a93d4
vk: Fixup
2018-06-26 20:07:20 +03:00
kd-11
24f4c92759
rsx: Improve texture cache read speculation
2018-06-26 20:07:20 +03:00
kd-11
c3d75e208f
glslang: Bump to version 2776
2018-06-26 20:07:20 +03:00
kd-11
df2137781d
vk: Strip 'stencil' MSB when writing d24x8 data
...
- Seems to contains garbage in MSB when DEPTH aspect is read back
- TODO: Implement custom depth and stencil readback routine
2018-06-26 20:07:20 +03:00
kd-11
1e375e5210
gl: Fixup
2018-06-26 20:07:20 +03:00
kd-11
1730708f47
rsx: Rework memory protection management for framebuffer access
...
- Avoid re-locking memory if there is no reason to do so (no draws issued)
- Actively bound regions should always get written to the backing cache
- Forcefully read memory during download if writes to the target have occured since last sync event
2018-06-26 20:07:20 +03:00
kd-11
bda65f93a6
vk: Tuning [WIP]
...
- Unroll main compute queue loop
- Do NOT run GPU cores on mappable memory! This has a dreadful impact on performance for obvious reasons
- Enable dynamic SSBO indexing (affects AMD)
- Make loop unrolling and loop length variable depending on hardware and find optimum
2018-06-26 20:07:20 +03:00
kd-11
d484253136
vk: Addendum - Synchronize graphics and compute pipelines with barriers
2018-06-26 20:07:20 +03:00
kd-11
5fb4009a07
vk; Add more compute routines to handle texture format conversions
...
- Implement le D24x8 to le D32 upload routine
- Implement endianness swapping and depth format conversions routines (readback)
2018-06-26 20:07:20 +03:00
kd-11
f45dcfe18a
rsx: Fix texture readback
...
- gl: Fix up the calculation for internal image pitch
- vk: Implement GPU-side resizing for read back textures (fixes WCB zoom)
2018-06-26 20:07:20 +03:00
kd-11
278cb52f19
facepalm
2018-06-26 20:07:20 +03:00
scribam
3b8eab87dd
cmake: add possibility to build zlib from submodule
2018-06-25 00:28:46 +04:00
eladash
b9fd6ad37d
rsx-capture: unbreak
2018-06-24 15:14:37 +03:00
Jake
00c9b323c2
rsx: fix image_in to use in_pitch when swizzling
2018-06-24 14:29:41 +04:00
Jake
e2c288ff8a
trophy: zero out data before setting
2018-06-24 14:29:41 +04:00
Jake
edeb858138
loader: ignore invalid index_value and allow relative reloc 10
2018-06-24 14:29:41 +04:00
Jake
095d02e41b
elf: handle decompress flag for 32 bit elfs
2018-06-24 14:29:41 +04:00
eladash
b3a933ba84
cellgcm: fix regression
2018-06-24 10:57:30 +03:00
eladash
b456955688
rsx: fix hardcoded rsx allocation address
2018-06-24 10:57:30 +03:00
scribam
3935cef691
pugixml: update submodule and build integration
2018-06-24 02:02:36 +04:00
isJuhn
83f096c435
Add conditional reservation update to STW
2018-06-23 23:13:34 +04:00
Nekotekina
6229b3ca8d
Fixes for booting PS1 games
2018-06-23 17:30:16 +03:00
clienthax
8b449ce76c
PS1 Classics
2018-06-23 16:34:19 +04:00
Nekotekina
d62b0c88b0
Restore /dev_flash/ config
2018-06-23 09:26:11 +03:00
Nekotekina
cd92d9bcdf
Fix SPU ASMJIT for SSE2 CPUs
2018-06-23 08:46:50 +03:00
Megamouse
78ef205b4f
Qt: fix minor bug in save_manager that occurred when sorting the tables
2018-06-22 22:30:02 +04:00
Megamouse
4464951c77
cellVdec: add more detail to the logging
2018-06-22 22:30:02 +04:00
Megamouse
64c04769d2
Qt: emu_settings: close config files after loading and saving
2018-06-22 22:30:02 +04:00
Megamouse
dada341d4e
Qt: fix crash in progress dialog
2018-06-22 22:30:02 +04:00
Megamouse
a96a8a9db0
Qt: move ReadJSON in game compat to its own function
2018-06-22 22:30:02 +04:00
Megamouse
dab82b70f7
Qt: workaround for settings_dialog resize
2018-06-22 22:30:02 +04:00
Megamouse
c3916fee9c
Qt: add DeleteSPUCache option
2018-06-22 22:30:02 +04:00
Megamouse
e7a02f1506
Qt: use QDirIterator instead of fs::file stuff
2018-06-22 22:30:02 +04:00
Megamouse
68bb1bd6ee
Qt: add more resize possibilities to the trophy manager
2018-06-22 22:30:02 +04:00
Megamouse
cad017a64f
Qt: minor icon size action fix
2018-06-22 22:30:02 +04:00
Nekotekina
81e5f3b7f2
Remove /dev_flash/ configuration
...
Simplify code by using root config location for /dev_flash/
Hide Emu.GetEmuDir() function due to the risk of misuse
2018-06-22 14:14:29 +03:00
Nekotekina
e4da284176
SPU: analyser v4 and fixes
...
Build SPU cache after PPU, fix mixing progress
SPU ASMJIT: add support for Giga mode
SPU ASMJIT: use the same spu.log location as SPU LLVM
SPU: improve spu.log disasm
SPU: improve trampolines, unify with SPU ASMJIT
SPU: decode interrupt handler address from BR/BRA at 0x0
SPU LLVM: support Mega/Giga modes
SPU LLVM: implement function chunks
SPU LLVM: use PHI nodes, value visibility across basic blocks
SPU LLVM: implement function chunk table
New simple memory manager for LLVM (bugfix)
2018-06-21 22:29:34 +03:00
eladash
3e433ef05c
create the shaderlog dir in Emu.Init()
2018-06-21 22:54:08 +04:00
kd-11
8f1c36d79f
rsx: Fix region pitch inaccuracy
...
- Region pitch of 64 (disabled) can be used to indicate packed contents - do not assume it is the actual pitch!
- Also fixes interaction of AA factors with lockable_region size
2018-06-21 13:08:50 +03:00
Jan Beich
c776ff5020
Add missing Discord guard after 27a94308a7
...
/usr/bin/ld: error: undefined symbol: Discord_Initialize
>>> referenced by _discord_utils.cpp
>>> rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::initialize(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&))
/usr/bin/ld: error: undefined symbol: Discord_Shutdown
>>> referenced by _discord_utils.cpp
>>> rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::shutdown())
/usr/bin/ld: error: undefined symbol: Discord_UpdatePresence
>>> referenced by _discord_utils.cpp
>>> rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::update_presence(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool))
c++: error: linker command failed with exit code 1 (use -v to see invocation)
2018-06-21 01:07:05 +01:00
Megamouse
0ffaf6c1ce
Qt/RSX: reset gs_frame taskbar progr. when closing native progr. dialogs
...
I forgot that the gs_frame's taskbar progress will stay unchanged due to its persistence, unlike the msgdialog.
2018-06-19 21:58:09 +03:00
Megamouse
4419e5d838
Qt: add possibility to copy 'Name [Serial]'
2018-06-19 20:45:00 +04:00
Megamouse
27a94308a7
Discord fixes
2018-06-19 20:45:00 +04:00
Megamouse
0c4cdaa7d3
Qt: add boot by pressing enter or return while having an item selected
2018-06-19 17:13:08 +03:00
Zion Nimchuk
87194e5887
Make register editor dialog work
2018-06-19 14:06:26 +03:00
VelocityRa
392a4bdc0b
Qt: Add perf overlay position to settings dialog
2018-06-18 22:34:26 +03:00
VelocityRa
dd0684b58a
overlays/perf_overlay: Make pos, font, opacity, margin configurable
...
- Also some perf overlay refactoring
2018-06-18 22:34:26 +03:00
VelocityRa
58f4b26134
overlays: Consider padding when auto-resizing label elements
...
- Also make auto_resize return whether it changed the size
2018-06-18 22:34:26 +03:00
VelocityRa
84d1cf5065
overlays: Change how padding and margin work
...
- Also add 3 helper functions to compiled_resource
2018-06-18 22:34:26 +03:00
VelocityRa
07731d0228
overlays: Fix text rendering position
...
- It should be offset by one line, not half
- Also tweak every overlay element affected by this
to look as it used to
2018-06-18 22:34:26 +03:00
VelocityRa
44449dd9e9
overlays: Refactoring
...
- Use names for overlay command config and vertex data instead of std::pair.
- Make a couple of compiled_resource constructors explicitly named functions.
2018-06-18 22:34:26 +03:00
kd-11
c60f7b89ba
vk: Implement safe typeless transfer
...
- Used to transfer D32S8 data where it makes sense to use this variant
- On nvidia cards, it is very slow to move aspects from D24S8 probably due to the format being faked.
For this reason, the unsafe variant is used for both D16 and D24S8 to avoid the heavy performance loss
2018-06-18 17:32:22 +03:00
kd-11
0d61bae1b9
vk: Performance fix for RADV
...
- RADV does not keep a mapping ptr around for subsequent remap and falls back to heavy amdgpu methods every time
Explicitly manage pointer in the ring buffer structure to fix this
2018-06-18 17:32:22 +03:00
kd-11
d77e62c94e
rsx: Improve GPU resource read prediction
2018-06-18 17:32:22 +03:00
kd-11
2afcf369ec
vk: Add synchronous compute pipelines
...
- Compute is now used to assist in some parts of blit operations, since there are no format conversions with vulkan like OGL does
- TODO: Integrate this into all types of GPU memory conversion operations instead of downloading to CPU then converting
2018-06-18 17:32:22 +03:00
kd-11
0d5c071eee
vk: Implement typeless image transport
2018-06-18 17:32:22 +03:00
kd-11
dd4c13b625
rsx: Avoid race conditions in unsynchronized unprotect
2018-06-18 17:32:22 +03:00
eladash
af62c92b7f
mfc: clamp list transfer size
2018-06-17 23:20:00 +04:00
Megamouse
af71cf0922
implement "Enable TSX" combobox
2018-06-17 00:43:00 +04:00
Ofek
2bc4cb4e58
Fix sys_spu_thread_connect event
2018-06-16 19:05:51 +04:00
scribam
9f420081fd
libpng: use official repository instead of the fork from RPCS3 and update submodule
2018-06-14 21:55:39 +04:00
Megamouse
ddded7ba5c
Qt: cleanup syntax_highlighter a bit
2018-06-14 18:35:21 +04:00
Megamouse
79dd62cda2
Qt: Add copy to clipboard for game data
2018-06-14 18:35:21 +04:00
Megamouse
d013524ea9
Qt: add notes as tooltips
2018-06-14 18:35:21 +04:00
Megamouse
61a517cc1a
Qt: don't adjust columns in case of empty results after filtering
2018-06-14 18:35:21 +04:00
Megamouse
fddd39d508
Qt: rename some members in game_list_frame to use m_
2018-06-14 18:35:21 +04:00
Megamouse
661d19e33f
Qt: fix settings dialog subscriptions for custom configs
2018-06-14 18:35:21 +04:00
scribam
6f3a63df94
fix compiler warning "-Winconsistent-missing-override"
2018-06-13 20:22:53 +02:00
scribam
968f3995ff
Merge branch 'master' into asmjit
2018-06-13 09:27:12 +02:00
Talkashie
f491dc1413
Update System.h
2018-06-13 10:00:32 +03:00
scribam
14dc1fead6
yaml-cpp: update submodule and build integration
2018-06-13 04:25:34 +04:00
scribam
ea8397fbab
cmake: don't use hardcoded lib names when using system ffmpeg and remove unneeded line
2018-06-12 22:28:30 +02:00
scribam
3a9778668a
asmjit: update build integration
2018-06-12 20:03:53 +02:00
Zion Nimchuk
67a6db8325
Prefer GLVND for OpenGL rather than legacy
2018-06-12 16:51:26 +01:00
Zion
09c8162235
evdev: Add nullptr check, fixes #4713 ( #4744 )
2018-06-12 16:12:37 +01:00
scribam
cc22d25490
qt: fix asm instructions highlighting ( #4745 )
...
* qt: fix asm instructions highlighting
2018-06-12 15:38:19 +01:00
Nekotekina
88b6d51643
Fix cellGameContentPermit
2018-06-12 02:09:22 +03:00
Nekotekina
eb081bbcfa
SPU: add 'Accurate PUTLLUC' option
...
Effectively rollback previous PUTLLUC accuracy commit by default
Minor changes in GETLLAR/PUTLLUC transactions
2018-06-12 02:09:22 +03:00
Nekotekina
0a58464f01
SPU ASMJIT: returnable STOP in Mega mode
...
Fix STOP, STOPD, SYNC, DSYNC in Safe mode
2018-06-12 02:09:22 +03:00
scribam
626836f95b
qt: rewrite syntax highlighter
...
- fix multi-line comments
- remove compilation warnings "unknown escape sequence"
- fewer lines of code
2018-06-12 02:49:58 +04:00
Megamouse
a8f19fbfae
RSX: fix shader cache progress bar exit state shenanigans
2018-06-11 22:41:38 +03:00
Megamouse
2b8cab906c
Qt: clamp progress bar values
2018-06-11 22:41:38 +03:00
isJuhn
88bfdb0c05
cellGameContentPermit: Don't set content and usrdir path on gamedata if cellGameCreateGameData was never called
2018-06-11 21:48:29 +04:00
Megamouse
3dd45fc859
Qt: add counters to the find dialog
2018-06-11 16:24:51 +03:00
jjsat
53ca2526ed
Fix VSLO and VSRO in the LLVM PPU recompiler
2018-06-10 20:12:40 +04:00
Megamouse
5454f57dd0
cellSaveData: handle fatal error fs::file is_null (read-only files)
2018-06-08 23:41:56 +03:00
Megamouse
4003aacc6a
RSX: add taskbar progress to native ui progress dialogs
2018-06-08 23:41:56 +03:00
Megamouse
17250bc2d4
Qt: set up taskbar progress for the gs_frame
2018-06-08 23:41:56 +03:00
Megamouse
b9b6bd85a6
Qt/RSX: add taskbar progress in msg_dialog_frame for shader compilation
2018-06-08 23:41:56 +03:00
Megamouse
edc9e9b4ec
Qt/RSX: add window title to the shader compilation msg_dialog
2018-06-08 23:41:56 +03:00
Megamouse
7aa2cddb05
Qt: remove multi message dialog code
2018-06-08 23:41:56 +03:00
Megamouse
38e88253cc
Qt: Fix message dialog progress bars never reaching 100%
...
and clean up a bit
2018-06-08 23:41:56 +03:00
kd-11
da9affb348
vk: Fix overlays for variable sampler count
2018-06-08 22:17:50 +03:00
kd-11
00eaf39c01
vk: RADV support for depth scaling and transfer
2018-06-08 22:17:50 +03:00
kd-11
63f803b68a
Refactoring
...
- Make the memory allocator a unique child of the render device.
Fixes object lifetime issues with swapchain management due to cyclic dependencies
2018-06-08 22:17:50 +03:00
kd-11
c9e367befd
rsx/debug: Fix rendering when FIFO reordering is disabled
2018-06-08 22:17:50 +03:00
kd-11
1c5667f0ce
vk: Avoid use-after-free fence object
2018-06-08 22:17:50 +03:00
kd-11
e9c3ab7ae6
fix some linux issues
...
- Fix build
- Fix VMA incompatibility with swapchain_NATIVE
2018-06-08 22:17:50 +03:00
kd-11
1b9c9267f0
rsx: Update memory flags after memory transfer
2018-06-08 22:17:50 +03:00
kd-11
fc18e17ba6
vk: Implement depth scaling using hardware blit/copy engines
...
- Removes the old depth scaling using an overlay.
It was never going to work properly due to per-pixel stencil writes being unavailable
- TODO: Preserve stencil buffer during ARGB8->D32S8 shader conversion pass
2018-06-08 22:17:50 +03:00
kd-11
3150619320
rsx: Preserve read AA state separate from write AA state
...
- Some applications (e.g Backbreaker) use an evil hack to resolve MSAA.
The application respecifies a formerly AA region as a region with no AA then performs a framebuffer feedback lookup.
The old memory keeps AA during read, but writes back to itself with AA resolved.
This is evil on several levels but it just happens to work on PS3
2018-06-08 22:17:50 +03:00
kd-11
0f24379c0e
rsx: Obey MSAA resolve during memory persistence transfer
...
- Ugh. This is a bandaid on a festering wound, AA badly needs a rewrite
Also silence some warnings
2018-06-08 22:17:50 +03:00
Daniel Valentine
fb20c27e7b
Delay GDB server launch until emulator run ( #4658 )
2018-06-08 13:34:27 +01:00
isJuhn
dde4a9c6e7
Fix cellGameCreateGameData temporary path
2018-06-06 23:51:58 +04:00
ikki84
73f7ab29bc
Return offline according to g_psn_connection_status.
2018-06-06 19:14:12 +04:00
ikki84
83b09cf047
sceNpManagerRequestTicket2 (return offline)
...
Returning CELL_OK in sceNpManagerRequestTicket2 makes NPEB01268 loop indefinitely trying to check the downloaded content.
Telling that the system is offline escapes the loop and make the game go further.
Moves NPEB01268/BLES01794 from Intro to Ingame.
2018-06-06 19:14:12 +04:00
scribam
824ad4fea7
cmake: simplify glslang integration ( #4652 )
...
* cmake: simplify glslang integration
* Fix warning (ignored attributes), part 2
2018-06-06 15:45:28 +03:00
Nekotekina
5c9d0e4b46
Add "SPU Cache" option
...
If disabled, the cache will still be loaded, but never updated.
2018-06-05 12:35:26 +03:00
Nekotekina
5d4c5ecc1c
Add "SPU Verification" option
...
Should be always enabled
2018-06-05 12:35:26 +03:00
Nekotekina
12eee6a19e
SPU ASMJIT: Implement Mega block mode (experimental)
...
Disable extra modes for SPU LLVM for now.
In Mega mode, SPU Analyser tries to determine complete functions.
Recompiler tries to speed up returns via 'stack mirror'.
2018-06-05 12:35:26 +03:00
Nekotekina
11bdb4102a
SPU LLVM: implement returnable check_state()
...
Call it only at the beginning of loop entries
2018-06-05 12:35:26 +03:00
Nekotekina
df489d786a
sys_timer_usleep: give Linux a partial exemption
2018-06-05 12:35:26 +03:00
Nekotekina
ec6d1fb1ba
SPU: optimize GETLLAR (TSX)
...
Add an option "Accurate GETLLAR"
2018-06-05 12:35:26 +03:00
Nekotekina
a5f4e6ecef
SPU: fix PUTLLUC accuracy
2018-06-04 16:01:17 +03:00
Nekotekina
9fe03a94d8
SPU ASMJIT: implement returnable check_state()
2018-06-04 16:01:17 +03:00
Nekotekina
7242387a42
Block GUI after stopping emulation
...
This is necessary to prevent restarting the emulation until it's finished
Remove "process_events" callback completely
2018-06-04 16:01:17 +03:00
Nekotekina
1e107487da
SPU: improve analyser (v3)
2018-06-04 16:01:17 +03:00
Nekotekina
05e24f38f9
SPU: use progress dialog
2018-06-04 16:01:17 +03:00
Zion Nimchuk
ea1bb3b90e
Convert all spaces to tabs in CMakeLists.txt
2018-06-04 17:00:44 +04:00
Zion Nimchuk
4d3b60cf46
Unify Linux detection in CMake
2018-06-04 17:00:44 +04:00
Jake
84ae643692
Fix msvc debug build
2018-06-03 16:37:37 +04:00
Megamouse
9dea602496
Discord: add some stuff
2018-06-03 13:28:12 +04:00
Dravonic
400079a006
Parallel shader cache loading ( #4677 )
...
* Parallel shader cache loading
2018-06-01 19:49:29 +03:00
kd-11
87b510d5bf
vulkan improvements
...
- Remove deprecated device layers
- Reimplement overlays resource management using real heap instead of using first_vertex hack
2018-05-31 11:22:40 +03:00
kd-11
9f9e1b5fe0
overlay; Fix leak
2018-05-31 11:22:40 +03:00
Nekotekina
b0ee369135
Rewrite LLVM compilation progress dialog
...
Use a single dialog
2018-05-30 20:35:35 +03:00
Nekotekina
a2253e840f
SPU LLVM: fix *QBI instructions (UB)
...
Improve codegen at the cost of unnecessary shuffle, use u64[2]
2018-05-30 20:35:35 +03:00
Nekotekina
37577714fa
SPU LLVM: emulate PSHUFB
...
For targets without SSSE3 support
2018-05-30 20:35:35 +03:00
Nekotekina
759370ea1b
SPU: rewrite FSM/FSMH/FSMB instructions
...
Remove lookup tables
2018-05-30 20:35:35 +03:00
Nekotekina
55e9d437a9
Fix warning (ignored attributes)
2018-05-30 20:35:35 +03:00
Nekotekina
bdf6545571
SPU: rewrite spu_interpreter::SHUFB
...
Use ASMJIT to generate SSSE3+ code at runtime
Remove static SSSE3 code from spu_interpreter
2018-05-30 20:35:35 +03:00
Nekotekina
bebb1bdeda
Extend ppu_decoder/spu_decoder templates
...
Automatically dereference pointers
2018-05-30 20:35:35 +03:00
Nekotekina
944e89058e
SPU: improve SHUFB
2018-05-30 20:35:35 +03:00
Megamouse
c5709f71b3
Qt: Add performance overlay options to the emu tab in the settings dialog
2018-05-30 21:31:45 +04:00
Megamouse
cc50d503ef
Qt: Add a gui tab to the settings dialog
...
this is mainly to make place in the emulator tab
2018-05-30 21:31:45 +04:00
kd-11
cf2cb7978b
facepalm
2018-05-30 13:30:23 +03:00
kd-11
f543fb0243
vk/gl: Fix flush synchronization to be kinder to weaker CPUs but not harm higher end CPUs
2018-05-30 13:30:23 +03:00
kd-11
6362942928
rsx: Avoid semaphore acquire deadlock
2018-05-30 13:30:23 +03:00
VelocityRa
c8d8a81ccd
overlays: Performance Overlay
2018-05-30 12:35:41 +03:00
VelocityRa
c2e17d04e1
overlays: Font improvements
...
* Support for using arbitrary firmware fonts
* Support for specifying font extension in `font` constructor (useful for most firmware fonts that use .TTF)
2018-05-30 12:35:41 +03:00
VelocityRa
33b01d9306
overlays: Allow for non-interactable UI components
...
* Also fix a few warnings in overlay_controls
2018-05-30 12:35:41 +03:00
eladash
4576a31f47
fix memory mapping alignment
2018-05-30 00:34:38 +04:00
eladash
8826948c43
cellgcm: implement cellGcmTerminate
2018-05-29 19:57:28 +03:00
eladash
23b380eb41
allow deallocations to unmap rsx mapped memory
2018-05-29 19:57:28 +03:00
eladash
ce98c962f8
cellgcm: use offset table to get the corresponding address to io address
2018-05-29 19:57:28 +03:00
eladash
c2b2dee56d
cellgcm/sys_rsx: fix multiple io maps at the same effective address and vice verse
...
from hw testing, as long as the io address is valid, it returns CELL_OK, even when it doesn't make much sense
2018-05-29 19:57:28 +03:00
eladash
97515a0941
sys_rsx/cellgcm: return EINVAL if the io map requast's size is 0
2018-05-29 19:57:28 +03:00
eladash
0a7902d313
sys_rsx: fix mem_handle id
2018-05-29 19:57:28 +03:00
eladash
8eab9fe36c
sys_rsx: fix unused pointer dereferencing
2018-05-29 19:57:28 +03:00
kd-11
d48f391b41
lv2: Ease the pain of lower end CPUs
...
- Avoid busy waiting in usleep code as much as possible, instead yield
- Also avoid busy_wait for SPU concurrency choker
2018-05-29 13:54:30 +03:00
kd-11
83f9be2524
rsx: Promote FIFO optimizations outside of strict mode
...
- The benefits of FIFO optimizations are huge in some cases.
The optimizations also do not break any tested applications so no need to disable with strict mode
- A debug option is provided to disable this behaviour for testing
2018-05-29 13:54:30 +03:00
kd-11
be13a776f4
lv2: Reimplement sys_timer_usleep
...
- Matches ps3 accuracy for all tested values with few exceptions
- Do not enter the host OS kernel if waiting for less than 500us to avoid scheduler issues
2018-05-29 13:54:30 +03:00
kd-11
2adb2ebb00
overlays: Avoid race condition on remove-on-update views
...
- Improves cleanup code to consist of 2 parts, remove then dispose. Remove
does not deallocate the item until dispose is called on it, allowing the
backends to first deallocate external references.
- Caller is responsible for managing list locking and tracking disposable list
of items when external references have been cleaned up before using
dispose method.
2018-05-29 13:54:30 +03:00
kd-11
0fc67aa2f6
gl: fix wcb regression
...
- Partial framebuffers and blit targets are possible!
2018-05-24 10:36:04 +03:00
kd-11
493d4e8613
fixup - Improve invalidated region checks for performance
2018-05-24 10:36:04 +03:00
kd-11
b030d1900c
rsx: Fixup - fix broken memory protection fail caused by region respec
...
- Some applications will alternate memory between framebuffer and texture data
2018-05-24 10:36:04 +03:00
kd-11
f38f61d110
vk: Clean up memory allocation and fix GPUOpen VMA for Radeon
2018-05-23 19:07:08 +03:00
kd-11
92b5a705d8
fixup - locking
2018-05-23 19:07:08 +03:00
kd-11
b957eac6e8
rsx: Avoid calling any blocking callbacks from threads that are not rsx::thread
...
- Defers on_notity_memory_unmapped to only run from within rsx context
- Avoids passive_lock + writer_lock deadlock
2018-05-23 19:07:08 +03:00
kd-11
d2bf04796f
Optimized cached write-through
...
- Allows grabbing an unsynchronized memory block if overwriting contents
anyway
- Allows flushing only specified range of memory
2018-05-23 19:07:08 +03:00
kd-11
f8d999b384
fixup - range check
2018-05-23 19:07:08 +03:00
kd-11
fbf6581249
rsx: Fix segmented memory access for rsx::super_ptr
2018-05-23 19:07:08 +03:00
kd-11
d283200e13
vk: Do not do extension test if in a fast context (enum only)
2018-05-23 19:07:08 +03:00
kd-11
3f14bc6961
rsx: Silence some meaningless error
2018-05-23 19:07:08 +03:00
kd-11
f2a3167193
rsx: Lower format compatibility severity since it confuses some people
2018-05-23 19:07:08 +03:00
kd-11
8fcd5c1e5a
rsx: Texture cache fixes
...
1. rsx: Rework section synchronization using the new memory mirrors
2. rsx: Tweaks
- Simplify peeking into the current rsx::thread instance.
Use a simple rsx::get_current_renderer instead of asking fxm for the same
- Fix global rsx super memory shm block management
3. rsx: Improve memory validation. test_framebuffer() and
tag_framebuffer() are simplified due to mirror support
4. rsx: Only write back confirmed memory range to avoid overapproximation errors in blit engine
5. rsx: Explicitly mark clobbered flushable sections as dirty to have them
removed
6. rsx: Cumulative fixes
- Reimplement rsx::buffered_section management routines
- blit engine subsections are not hit-tested against confirmed/committed memory range
Not all applications are 'honest' about region bounds, making the real cpu range useless for blit ops
2018-05-23 19:07:08 +03:00
pauls-gh
f8a0be8c3e
Performance enhancement - Vulkan memory allocator ( #4635 )
...
* Incorporates the vulkan memory allocator from the AMD GPUOpen project
2018-05-23 17:02:35 +03:00
Nekotekina
c5d8d50908
Move SPU LLVM log file
2018-05-23 15:36:29 +03:00
Nekotekina
3e580afe21
SPU: remove passive lock (fixup)
2018-05-23 15:36:29 +03:00
scribam
2270b8d15c
vulkan: link with vulkan-1.lib instead of VKstatic.1.lib
2018-05-23 13:54:27 +03:00
Megamouse
b230b0df0d
Qt: Workaround for yet another hidden column resize
2018-05-22 16:27:33 +01:00
Megamouse
62efe6e5be
Qt: set smaller default log frame height
2018-05-22 16:27:33 +01:00
Megamouse
7c031c2330
Qt: remove redundant visibility check in FixNarrowColumns
2018-05-22 16:27:33 +01:00
Megamouse
40d2341ef1
Qt: resize game list columns by default with slight spacing
2018-05-22 16:27:33 +01:00
Megamouse
f1670a9ea0
Qt: disable resizing trophy tables to contents by default
2018-05-22 16:27:33 +01:00
Megamouse
325048a134
Qt: apply header states after populating the tables
2018-05-22 16:27:33 +01:00
Megamouse
bff9a06f9f
Qt: simplify occasions of restoreState
2018-05-22 16:27:33 +01:00
Megamouse
31101b4828
Qt: use correct menu icon for "Play last played game" on booting RPCS3
2018-05-22 16:27:33 +01:00
Megamouse
598008868e
Qt: include QButtonGroup in settings_dialog.cpp in order to fix Qt 5.11
2018-05-22 16:27:33 +01:00
Nekotekina
72574b11ff
SPU: use reservation spinlocks on writes (non-TSX)
...
This should decrease contention by avoiding global lock
2018-05-21 21:56:14 +03:00
Nekotekina
182259e4a5
cellSaveData fix
2018-05-21 21:47:04 +03:00
kd-11
c9669818eb
Facepalm
...
- overlays: Do not free self handle!!!!
2018-05-21 15:55:25 +03:00
Nekotekina
6fd402bcf8
Transactions: drop RDTSC usage
...
Use simple increment (minor optimization)
2018-05-21 00:18:37 +03:00
Nekotekina
fb0f5f0c8b
Fix vm::reservation_notifier
2018-05-21 00:18:37 +03:00
Nekotekina
7a6db3dd7e
spu_getll_tx: diagnose loop count
2018-05-21 00:18:37 +03:00
Nekotekina
295f782b30
spu_putlluc_tx: diagnose loop count
2018-05-21 00:18:37 +03:00
Nekotekina
a33f297315
Replace notifier::lock_shared() with try_lock_shared()
...
Also add notify_one(), try_lock() and unlock()
Move some code in cond.cpp
2018-05-21 00:18:37 +03:00
Nekotekina
8d5bbfb850
Update SPU dump: print current MFC cmd
2018-05-21 00:18:37 +03:00
Nekotekina
33a1c743a4
Transactions: move loops inside
...
Rewrite loops in assembler (minor optimization)
2018-05-21 00:18:37 +03:00
kd-11
f6f45b8699
Native UI refactored ( #4623 )
...
Refactor and improve native overlays
2018-05-20 23:05:00 +03:00
Megamouse
68fff54a8b
cellSaveData: don't return after funcStat was successful in savedata_op
...
also add some missing constants
2018-05-20 23:16:11 +04:00