Commit Graph
39166 Commits
Author SHA1 Message Date
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
Unknown W. Brackets 496b2bff35 Vulkan: Fix fragment depth rounding.
Was slightly off in the accurate depth path.
2017-12-26 16:19:11 -08:00
Unknown W. Brackets 56835fc017 Qt: Fix OpenGL init.
Needs to check extensions before creating thin3d, as others do.
2017-12-26 16:04:19 -08:00
Unknown W. Brackets 766b40aad8 GPU: Reset GPUBackend on graphics init.
This way, when using a port that doesn't support Vulkan, it doesn't just
silently use upside down GL, etc.
2017-12-26 16:02:55 -08:00
Unknown W. Brackets d6da758ed3 GPU: Remove duplicate BACKEND constants. 2017-12-26 15:55:24 -08:00
Henrik Rydgård 4657397b57 Merge pull request #10449 from myfreeweb/master
Vulkan + Wayland + FreeBSD
2017-12-27 00:24:44 +01:00
Greg V bbf2dcdb21 Check for Wayland headers in CMake 2017-12-26 16:09:31 +03:00
Greg V 52234dae91 Remove VULKAN_STATIC 2017-12-26 16:09:31 +03:00
Greg V f4d76c840c Support Vulkan on any Unix
In particular, it works FreeBSD
2017-12-26 16:09:31 +03:00
Greg V f3783bdb44 Add support for Vulkan on Wayland 2017-12-26 16:09:27 +03:00
Henrik Rydgård 43166c47e6 Merge pull request #10450 from unknownbrackets/bone-matrix
GPU: Avoid memory corruption on bone matrix > 96
2017-12-26 10:36:16 +01:00
Unknown W. Brackets 93a712660c GPU: Avoid memory corruption on bone matrix > 96.
See #9574.  Seen in Zill O'll Infinite, thanks to Kitsu-neechan for
tracking this down.
2017-12-26 01:09:23 -08:00
Henrik Rydgård baa4ceadd8 Merge pull request #10446 from unknownbrackets/ir-break
irjit: Allow continuing from mips break
2017-12-25 22:38:35 +01:00