23633 Commits

Author SHA1 Message Date
Conrad Kreyling
0e474077e4 Add taptic feedback on virtual buttons 2018-01-14 13:38:18 -05:00
Henrik Rydgård
9baf83ea32
Merge pull request #10529 from vnctdj/bSh
Don't prevent use of make's long options
2018-01-14 00:37:29 +01:00
vnctdj
fb34cb5d55 Don't prevent use of make's long options
+ an indentation fix
2018-01-13 21:44:58 +01:00
Henrik Rydgård
6e8d18df84
Merge pull request #10526 from Florin9doi/INSTALLER
Update Inno installer : resolve #10367, resolve #10368, resolve #10370
2018-01-12 23:24:53 +01:00
Henrik Rydgård
36bfe5fdfc
Merge pull request #10525 from myfreeweb/master
Check for Vulkan Xlib/Wayland surface support before enabling
2018-01-12 23:23:08 +01:00
Florin9doi
bb4b1e7dc9 Update Inno installer 2018-01-12 22:39:35 +02:00
Greg V
025c382b9b Check for Vulkan Xlib/Wayland surface support before enabling
The Vulkan loader will error if a requested extension is not available,
and the nvidia proprietary driver does not support the Wayland one.
2018-01-12 22:18:58 +03:00
Henrik Rydgård
d3f8a4db05 Update lang submodule 2018-01-11 16:56:11 +01:00
Unknown W. Brackets
0954f24a77
Merge pull request #10520 from vnctdj/i18nSysInfoYesNo
[i18n] Use more specific words when applicable
2018-01-10 00:23:26 -08:00
Henrik Rydgård
34f79904fd IR: This optimization is safe when all three regs are consecutive, so avoid disabling it unnecessarily. 2018-01-10 09:19:27 +01:00
Henrik Rydgård
fb0e81484b Minor cleanup 2018-01-10 09:19:27 +01:00
Henrik Rydgård
4a32ec3102
Merge pull request #10516 from unknownbrackets/irjit-lwr
irjit: Optimize out more temps and lwl/lwr operations
2018-01-10 09:11:10 +01:00
vnctdj
a4df576f7c
Use more accurate words 2018-01-10 08:57:41 +01:00
Unknown W. Brackets
b6bb0159e3 irjit: Remove Comp_ITypeMemLR. 2018-01-09 18:06:25 -08:00
vnctdj
6073826ca0 Use more specific words when applicable 2018-01-10 00:38:16 +01:00
Henrik Rydgård
62242601ef
Merge pull request #10514 from unknownbrackets/irjit
irjit: Add ini option to precompile functions
2018-01-08 17:47:54 +01:00
Unknown W. Brackets
544344f505 GPU: Improve some bezier logging.
Meant to do this when splines were changed.
2018-01-07 21:06:03 -08:00
Unknown W. Brackets
f01e06aefd irjit: Improve multiple lwr in a row. 2018-01-07 21:06:02 -08:00
Unknown W. Brackets
fbeedd333b irjit: Swap moves when it may allow clobbering.
Example:
addiu a0, a1, a2
mov s0, a0
addiu a0, a2, a3

By swapping the mov, we can eliminate it.

Only going one back because it's common and didn't want to track reads.
2018-01-07 21:06:02 -08:00
Unknown W. Brackets
d27e428659 irjit: Convert lwr and friends to easier code.
This makes it easier to write a (working) jit backend from IR, since these
ops are always annoying to get right.
2018-01-07 21:06:00 -08:00
Unknown W. Brackets
b11f00cead irjit: Combine lwl/lwr and swl/swr, like before.
Still want to inline the operation, because the backend shouldn't have to
redo it every time, and we want the temps cleaned up if possible.
2018-01-07 21:05:58 -08:00
Unknown W. Brackets
c6d690e9b8 irjit: Handle Left/Right ops in passes. 2018-01-07 21:05:57 -08:00
Unknown W. Brackets
6dda053365 irjit: Add dedicated ops for lwl/swl and friends.
Temporarily removes optimizations.
2018-01-07 21:05:57 -08:00
Unknown W. Brackets
cd3f4881a5 irjit: Optimize out temp lhs copies.
Common example:
li v0, 1
beq s2, v0, somewhere
li v0, 2

Which was copying s2 before.  This pattern generally doesn't happen in
MIPS code, though, so really only catches that (very common) case.
2018-01-07 12:11:16 -08:00
Unknown W. Brackets
97674b80bd irjit: Skip preloading blocks with jump to 0.
These will be changed before executing anyway.
2018-01-06 17:23:53 -08:00
Unknown W. Brackets
cc8e9a93c3 irjit: For debug, return the best block at addr.
Invalidation may result in multiple matching blocks, prefer any that is
currently valid.
2018-01-06 17:08:54 -08:00
Unknown W. Brackets
463b2a90c7 irjit: Allow precompiling funcs at start.
This can take a second, but cuts down on jitc spikes throughout runtime.
Note: bits of the game will still be recompiled as games change code.

This is basically the same operation as loading from cache, without the
cache yet.
2018-01-06 17:06:53 -08:00
Unknown W. Brackets
6149ac584f jit: Add interface to precompile functions.
This doesn't actually do any preloading yet, it just adds an API.
2018-01-06 16:43:38 -08:00
Henrik Rydgård
a989b4a933
Merge pull request #10507 from KentuckyCompass/ios-resolution-fix
Require iOS 8 and up, add a launch screen, use full resolution
2018-01-05 09:15:28 +01:00
Henrik Rydgård
94e73bcb5e
Merge pull request #10508 from unknownbrackets/irjit
Improve IR debug output
2018-01-05 09:14:02 +01:00
Unknown W. Brackets
ccd562d934 irjit: Add a safety check for block num overflow.
In case a game is very frequently modifying some block.
2018-01-04 23:24:15 -08:00
Unknown W. Brackets
5b9b6daea8 irjit: Enable more debug UI for block selection. 2018-01-04 23:10:49 -08:00
Unknown W. Brackets
0bfab27b46 irjit: Calculate bloat statistics.
At least based on IR for now.  Can do something else later.

memset() was causing a crash on the std::map.
2018-01-04 23:09:03 -08:00
Henrik Rydgård
2709472abd
Merge pull request #10506 from hrydgard/ir-interpreter-simd
More IR interpreter SIMD
2018-01-05 01:21:32 +01:00
Henrik Rydgård
8c3a50d089
Merge pull request #10505 from hrydgard/ir-disasm-jit-compare
Show IR disassembly in JIT Compare screen
2018-01-05 01:20:49 +01:00
Henrik Rydgård
d1d01bfdcb Cleanup GetBlockNumberFromStartAddress 2018-01-05 01:20:10 +01:00
Henrik Rydgård
331a8f91e8 Fix that weird unordered compare mode, hopefully 2018-01-04 20:06:26 +01:00
Henrik Rydgård
18be23eccc IR: More fixes. Still something wrong with VFPU compares (not caused by this PR). 2018-01-04 19:38:36 +01:00
Kentucky Compass
6ea4924ee9 require iOS 8, add a launch screen 2018-01-04 09:56:49 -08:00
Henrik Rydgård
ca9050b84c On Linux, can't even include nmmintrin without explicitly enabling SSE 4.2 support. 2018-01-04 18:27:19 +01:00
Henrik Rydgård
fe88d12055 IR interpreter: Add some braces to allow variable declaration in the switch cases. 2018-01-04 18:27:19 +01:00
Henrik Rydgård
e0cc126d09 Add some more SIMD support to IR interpreter. Mostly just because, but also serves as implementation reference for later code generation backends. 2018-01-04 18:27:19 +01:00
Henrik Rydgård
a128624f98 IRInterpreter: Fix bugs in floating point truncation functions 2018-01-04 18:25:54 +01:00
Henrik Rydgård
1a97f62dc9 Fix running the CPU test from the UI. 2018-01-04 18:10:41 +01:00
Henrik Rydgård
468b830bec Show IR disassembly in JIT Compare screen 2018-01-04 12:23:23 +01:00
Henrik Rydgård
604b3c3e97 IR Interpreter: Add missing break; to switch case IROp::FSign. 2018-01-04 11:08:56 +01:00
Henrik Rydgård
c3f271c715
Merge pull request #10503 from unknownbrackets/irjit
irjit: Embed constant inside IRInst (now 64-bit)
2018-01-04 09:58:55 +01:00
Unknown W. Brackets
bc541bd020 irjit: Encode downcount directly as a constant.
Simpler this way, now.
2018-01-03 23:32:31 -08:00
Unknown W. Brackets
cffb2d61a7 irjit: Embed constant inside IRInst.
This simplifies a bunch of code and improves compile performance by about
30%, at the cost of a bit more memory.
2018-01-03 23:24:04 -08:00
Henrik Rydgård
5c50c007b7 Minor fix for previous commit. 2018-01-03 18:21:50 +01:00