Commit Graph
14759 Commits
Author SHA1 Message Date
Unknown W. Brackets c71285c970 arm64jit: Use CBZ/CBNZ for zero compare branches.
These are pretty common, so it reduces bloat decently.  Seems about the
same speed, though.
2017-12-29 17:30:15 -08:00
Unknown W. Brackets 7f8a871e30 arm64jit: Handle more imm compare cases. 2017-12-29 17:30:14 -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
Unknown W. Brackets 2498ce5e3e arm64jit: Oops, properly init temp locked flag.
Fixes #10469.
2017-12-29 14:36:18 -08:00
Henrik RydgårdandGitHub 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
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 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 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årdandGitHub 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 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årdandGitHub 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årdandGitHub c1a23658d1 Merge pull request #10456 from unknownbrackets/gpu-flips
Display: Avoid limiting FPS without a clear
2017-12-27 10:14:12 +01:00
Henrik RydgårdandGitHub 6b6487afc5 Merge pull request #10455 from unknownbrackets/debug-perf
Debugger: Defer active symbol updates
2017-12-27 10:02:41 +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 d6da758ed3 GPU: Remove duplicate BACKEND constants. 2017-12-26 15:55:24 -08:00
Henrik RydgårdandGitHub baa4ceadd8 Merge pull request #10446 from unknownbrackets/ir-break
irjit: Allow continuing from mips break
2017-12-25 22:38:35 +01:00
Unknown W. Brackets ebce6da223 UI: Remove auto-download options.
See previous commit removing actual functionality.
2017-12-25 11:20:26 -08:00
Unknown W. Brackets 8c2edd432b irjit: Allow continuing from mips break.
Some games currently generate break instructions, and can be played
otherwise.  Should be fixed, but let's not hard crash.
2017-12-25 10:21:22 -08:00
Unknown W. Brackets 554a85e6d8 GE Debugger: Save with alpha for PNGs. 2017-12-21 23:47:49 -08:00
Unknown W. Brackets b56aceb227 Core: Allow more formats for screenshot.
This allows depth and stencil formats too, so we can use for debugger
export.
2017-12-21 16:39:01 -08:00
Unknown W. Brackets 79dc857527 Core: Refactor screenshot saving.
So we can reuse the actual saving.
2017-12-21 15:44:49 -08:00
Henrik Rydgård 4f1e0de9a9 Add missing includes. Remove some more unnecessary #ifdef _DEBUG checks - the debugger is supposed to work in release mode too. 2017-12-20 11:24:05 +01:00
Henrik Rydgård 5c1dad9909 Remove more obsolete ifdefs 2017-12-19 17:59:00 +01:00
Henrik Rydgård a1f029fe1f Some ifdef cleanup. 2017-12-19 15:42:18 +01:00
Henrik Rydgård 1a5d1081f9 Get rid of the old custom "Event" sync primitive. 2017-12-19 15:38:18 +01:00
Henrik Rydgård 525cce095a Implement warning when trying to play Ghost of Sparta with a modified CPU clock, as suggested by unknownbrackets in #7411 2017-12-17 13:14:06 +01:00
Henrik Rydgård dc6a4ea753 Fix annoying name clashes (Status is in X11 headers..) 2017-12-15 16:34:29 +01:00
Henrik Rydgård e488227398 Just some log cleanup 2017-12-15 16:33:49 +01:00
Henrik Rydgård c55847a79e Fix typo causing #10408 2017-12-14 00:23:07 +01:00
Henrik RydgårdandGitHub 7c03d69f91 Merge pull request #10389 from unknownbrackets/remoteiso
http: Allow sharing automatically on PPSSPP start
2017-12-11 15:00:19 +01:00
Unknown W. Brackets fcdf512ee8 GPU: Rename GPUBackend setting to apply default. 2017-12-11 00:02:18 -08:00
Unknown W. Brackets 522447dca8 GPU: Default to Vulkan if possible.
Fall back to Direct3D 11 on Windows 8+ to target Windows 10 most
especially.

Default vertex cache off everyone except OpenGL where it helps the most.
2017-12-10 23:46:36 -08:00