Commit Graph

7097 Commits

Author SHA1 Message Date
scribam
4babe9076b clang: fix compilation on 3.8 2018-07-15 12:51:09 +04:00
kd-11
46abe0f315 vm: Fix memory mirror performance regression 2018-07-14 15:19:56 +03:00
kd-11
c35d0d16e7 vk: cleanup/optimization, remove unnecessary initialization code 2018-07-14 15:19:56 +03:00
kd-11
77e2af8c00 qt: Add async shaders toggle to the UI 2018-07-14 15:19:56 +03:00
kd-11
e7f30640ef rsx: Async shader compilation
- Defer compilation process to worker threads
- vulkan: Fixup for graphics_pipeline_state.
  Never use struct assignment operator on vk** structs due to padding after sType member (4 bytes)
2018-07-14 15:19:56 +03:00
eladash
ac99fd764d mfc: clamp atomic cmd's addr 2018-07-14 01:40:40 +04:00
kd-11
fa55a8072c rsx: Improve vertex textures support
- Adds proper support for vertex textures, including dimensions other than 2D textures
- Minor analyser fixup, removes spurious 'analyser failed' errors
- Minor optimizations for program state tracking
2018-07-12 18:02:28 +03:00
kd-11
c5b2469fe7 silence warning 2018-07-12 18:02:28 +03:00
Ofek
d3596fbc95 Change all hddFreeSizeKB to 40gb-1 2018-07-11 02:16:14 +04:00
eladash
a5d4e58ddd fix barrier type mfc transfers 2018-07-10 14:54:51 +04:00
Chris Weermann (TGE)
c5dcef52fa Implement sys_dbg_read_process_memory and sys_dbg_write_process_memory 2018-07-10 01:47:47 +04:00
kd-11
d266a25618 silence some annoying warnings 2018-07-09 13:06:00 +03:00
kd-11
1ddcad4fa4 facepalm
- Fix openGL regression
2018-07-09 13:06:00 +03:00
scribam
1fdc070e4e cmake: remove obsolete command for glslang integration 2018-07-09 03:33:05 +04:00
scribam
1b0f5b1ed9 spu: improve dfnma instruction 2018-07-09 03:33:05 +04:00
scribam
2ed6e51d24 ppu: improve vnmsubfp instruction 2018-07-09 03:33:05 +04:00
scribam
733efc6b0d ppu: improve fnmsubs instruction 2018-07-09 03:33:05 +04:00
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