Unknown W. Brackets
7f8a871e30
arm64jit: Handle more imm compare cases.
2017-12-29 17:30:14 -08:00
Unknown W. Brackets
b59c0d0b45
arm64jit: Use CMN for CMPI2R if possible.
...
It's not hit all that often, but it is hit.
2017-12-29 17:30:13 -08:00
Unknown W. Brackets
56d64f5c67
arm64jit: Avoid temporary on variable shift.
...
I think we should trust that it works per the spec.
2017-12-29 17:30:12 -08:00
Unknown W. Brackets
1ecce2a2e1
arm64jit: Reuse code in I2R funcs.
2017-12-29 17:30:07 -08:00
Henrik Rydgård
2dda2bfa78
Dual source blend: Remove bad #ifdef that killed dual src code on Android... oops. Re-enable on nVidia Shield TV/Tablet. Fixes #10136 properly.
2017-12-30 00:53:24 +01:00
Unknown W. Brackets
2498ce5e3e
arm64jit: Oops, properly init temp locked flag.
...
Fixes #10469 .
2017-12-29 14:36:18 -08:00
Henrik Rydgård
22cb8e0712
Merge pull request #10470 from unknownbrackets/gameinfo
...
Improve startup performance when away from network
2017-12-29 19:06:03 +01:00
Unknown W. Brackets
d03d2f0b2b
UI: Check existance outside of game info lock.
...
Improves behavior when remote files timeout, at least they won't
block FlushBGs().
2017-12-29 08:56:27 -08:00
Unknown W. Brackets
d00dcb4400
UI: Use atomic flags in game info cache.
...
Simpler, no need to lock the entire info when checking these.
2017-12-29 08:55:49 -08:00
Henrik Rydgård
cb3b1876dd
Merge pull request #10467 from unknownbrackets/arm64-jit
...
More arm64 optimizations and cleanup
2017-12-29 09:00:47 +01:00
Unknown W. Brackets
5177db0f91
arm64jit: Remove unnecessary address masking.
...
We use views like on x86_64, so this isn't needed.
2017-12-28 23:58:30 -08:00
Henrik Rydgård
60c10e77c8
Merge pull request #10468 from unknownbrackets/starocean-clear
...
Replace line-by-line framebuf clear in Star Ocean
2017-12-29 08:50:16 +01:00
Unknown W. Brackets
28da05fa7a
HLE: Replace starocean framebuf clear func.
...
This reduces the performance impact significantly, by skipping the memset
uploads for each line.
Fixes #10466 .
2017-12-28 23:40:18 -08:00
Unknown W. Brackets
0151c5e649
GPU: Track stats on uploads.
...
A lot can lead to slowdown, so it's useful when logging frame drops.
2017-12-28 19:27:45 -08:00
Unknown W. Brackets
27116dcb86
arm64jit: Avoid flushing when mapping as pointer.
2017-12-28 16:04:34 -08:00
Unknown W. Brackets
1b1e2c773b
arm64jit: Jit lwl/lwr with proper temp regs.
...
It's possible rt might overlap with w9/w10, so we really need to allocate
these properly. This locks and spills as necessary.
2017-12-28 15:54:03 -08:00
Unknown W. Brackets
970326c9e5
arm64jit: Fix and enable imm lwl/lwr.
2017-12-28 14:49:55 -08:00
Unknown W. Brackets
b21af3321a
arm64jit: Allow ANDI2R/etc. with zero.
...
Since they're all possible anyway, and it's easy to forget to special case
0.
2017-12-28 14:36:37 -08:00
Unknown W. Brackets
1b792c32e1
arm64jit: Attempt to reuse imms on sw/etc.
...
Mostly, this handles the zero case, but it may help in other cases too.
2017-12-28 12:32:12 -08:00
Unknown W. Brackets
48fe0168f1
x86jit: Fix safemem on WX exclusive.
2017-12-28 11:21:45 -08:00
Unknown W. Brackets
8c3b0aa89c
jit: Skip unlinking blocks on clear.
...
Speeds up clear especially when on a WX exclusive platform.
2017-12-28 11:12:06 -08:00
Unknown W. Brackets
08e85d0cd4
arm64jit: Autodetect pointerify support.
...
Also, re-enable static alloc without pointerify, it works now.
2017-12-28 10:48:55 -08:00
Unknown W. Brackets
2e1d85a55b
arm64jit: Allow reg ptr offsets when unaligned.
...
Since now they support being dirty.
2017-12-28 10:45:50 -08:00
Unknown W. Brackets
c4c28282cf
arm64jit: Allow ARMREG_AS_PTR to be dirty.
...
Since we can just add/sub, then it should be valid (as long as we only
offset it when dirty.)
2017-12-28 10:40:31 -08:00
Unknown W. Brackets
6fd17fb026
arm64jit: Use reg sum for LDR/STR.
...
Skips an add, and should be less ops anyway.
2017-12-28 10:19:55 -08:00
Henrik Rydgård
c948a3df00
Merge pull request #10439 from unknownbrackets/intel-dualsrc
...
GLES: Allow dual src blend on newer Intel
2017-12-28 13:37:57 +01:00
Henrik Rydgård
3aba5634d5
Merge pull request #10465 from unknownbrackets/arm64-jit
...
Allow arm64 jit when memory base is not nicely aligned
2017-12-28 09:14:58 +01:00
Unknown W. Brackets
092f98d313
arm64jit: Fix an integer truncation warning.
2017-12-27 19:39:04 -08:00
Unknown W. Brackets
257a4fdd12
arm64jit: Reprotect fixed code after icache flush.
2017-12-27 19:33:04 -08:00
Unknown W. Brackets
4a27e99ee9
arm64jit: Remove buggy icache invalidate.
...
This is always of size 0, and crashes on iOS anyway...
2017-12-27 19:30:10 -08:00
Unknown W. Brackets
7c2fc90def
arm64jit: Avoid MOVK elsewhere without pointerify.
2017-12-27 17:57:19 -08:00
Unknown W. Brackets
d82efc4b0b
arm64jit: Allow static alloc without pointerify.
2017-12-27 17:50:15 -08:00
Unknown W. Brackets
9573a791b4
arm64jit: Skip storing spilled but not dirty.
...
Unless IMM, we don't need to store non-dirty mapped regs.
2017-12-27 17:15:18 -08:00
Unknown W. Brackets
3fae092ecb
arm64jit: Only adjust pointers if pointerified.
2017-12-27 17:02:29 -08:00
Unknown W. Brackets
cccf448ae0
arm64jit: Allow disabling pointerification.
...
For platforms where we can't get base aligned.
2017-12-27 17:02:19 -08:00
Henrik Rydgård
95c2690416
Merge pull request #10464 from unknownbrackets/savestate
...
Module: Reload imports later in save state load
2017-12-28 00:17:26 +01:00
Unknown W. Brackets
caf6277db7
Module: Reload imports later in save state load.
...
We want all the modules to have loaded when we start doing this, so that
itnerlinking can properly be handled. Otherwise, earlier created modules
won't import later ones, and instead generate kernel object errors.
2017-12-27 13:36:26 -08:00
Henrik Rydgård
d487c75562
Android cmake buildfix
2017-12-27 15:28:17 +01:00
Henrik Rydgård
ea50561c80
Merge pull request #10454 from unknownbrackets/gpu-minor
...
Vulkan: Use depth clamping, where available
2017-12-27 11:11:18 +01:00
Henrik Rydgård
8ebbb82c0a
Merge pull request #10459 from unknownbrackets/ui-resized
...
UI: Trigger view recreate on static sized screens
2017-12-27 11:07:35 +01:00
Unknown W. Brackets
6bdf39c232
GPU: Reset context version on init.
2017-12-27 01:54:36 -08:00
Henrik Rydgård
c1a23658d1
Merge pull request #10456 from unknownbrackets/gpu-flips
...
Display: Avoid limiting FPS without a clear
2017-12-27 10:14:12 +01:00
Unknown W. Brackets
c0f0bc88af
UI: Trigger view recreate on static sized screens.
...
If a screen doesn't size via layout, it needs to recreate views on resize,
which is what the resized() method is for.
2017-12-27 01:13:47 -08:00
Henrik Rydgård
6b6487afc5
Merge pull request #10455 from unknownbrackets/debug-perf
...
Debugger: Defer active symbol updates
2017-12-27 10:02:41 +01:00
Henrik Rydgård
559d939b9f
Merge pull request #10453 from unknownbrackets/gpu-backend
...
Reset GPU backend setting on graphics init
2017-12-27 10:01:37 +01:00
Unknown W. Brackets
f9750dd137
Display: Avoid limiting FPS without a clear.
...
A bit of a dirty heuristic to avoid the slowdown in #8538 .
2017-12-26 19:37:40 -08:00
Unknown W. Brackets
89f89ec749
Debugger: Defer active symbol updates.
...
This makes it faster when loading many modules/functions/etc., for example
when using the freeze debug feature.
2017-12-26 18:11:22 -08:00
Unknown W. Brackets
e8ca467bc9
Vulkan: Allow full depth range with depth clamp.
2017-12-26 16:54:40 -08:00
Unknown W. Brackets
b94ca6e75e
Vulkan: Use depth clamping, where available.
...
This fixes, for example, Shadow of Destiny, even without the hack.
2017-12-26 16:54:39 -08:00
Unknown W. Brackets
f263d207b3
GPU: Match GE saved context better.
...
Just in case some game stores it somewhere, but also makes it simpler to
write tests against hardware.
2017-12-26 16:20:11 -08:00