Commit graph

23539 commits

Author SHA1 Message Date
Unknown W. Brackets
8e1ab3f6ff
Merge pull request #10480 from KentuckyCompass/ios-build-fix
Fix building for iOS
2017-12-30 23:03:29 -08:00
Kentucky Compass
6a9a511337 add an include for PPSSPP_PLATFORM 2017-12-30 22:44:41 -08:00
Kentucky Compass
bcd19ee520 fix cmake when building for iOS in a path with spaces 2017-12-30 20:57:45 -08:00
Kentucky Compass
2a3c4408d2 Fix build on iOS (only iOS 9 and up support thread_local) 2017-12-30 20:57:45 -08:00
Henrik Rydgård
d565e23f4c Stencil copy: Avoid clearing the depth buffer. 2017-12-31 01:06:31 +01:00
Unknown W. Brackets
2f24ff85ee
Merge pull request #10479 from hrydgard/vulkan-renderpass-cache
Vulkan: Create renderpass objects on demand.
2017-12-30 15:58:01 -08:00
Henrik Rydgård
b9d0bf9842 Remove outdated comment. 2017-12-31 00:10:55 +01:00
Henrik Rydgård
cc0327137b Oops, forgot these. 2017-12-31 00:07:02 +01:00
Henrik Rydgård
b5e5d72a0a Complete the separation of depth and stencil renderpass flags 2017-12-30 22:52:22 +01:00
Henrik Rydgård
a0f718ace1 Start separating depth and stencil renderpass actions, only internally in the Vulkan code so far. 2017-12-30 22:40:57 +01:00
Henrik Rydgård
1e64919392 Vulkan: Create renderpass objects on demand. Just a refactoring to prepare for some later features/optimizations. 2017-12-30 22:35:43 +01:00
Henrik Rydgård
b9726245ac Vulkan: Use VK_KHR_DEDICATED_ALLOCATION for frame buffers for minor speedup on some GPUs. Check for the debug report extension before enabling it. 2017-12-30 21:31:43 +01:00
Henrik Rydgård
25a9573f8b Typo fix 2017-12-30 21:30:31 +01:00
Henrik Rydgård
191c4ddb0d Add a bit of logging to try to figure out #10477 2017-12-30 21:04:05 +01:00
Henrik Rydgård
f3ba540078
Merge pull request #10476 from unknownbrackets/arm64-jit
Statically allocate RA in arm64jit
2017-12-30 20:49:00 +01:00
Henrik Rydgård
5531afbaf4
Merge pull request #10475 from unknownbrackets/profiler
Make the profiler thread safe
2017-12-30 20:45:36 +01:00
Unknown W. Brackets
9ff812b313 arm64jit: Negate in ADDI2R/SUBI2R as well.
Should've done this at the same time as CMN.  It's not as common, mostly
catches addu calls, but it's good to have these generic for other uses.
2017-12-30 11:11:04 -08:00
Unknown W. Brackets
79a9018aac Debugger: Fix hang when viewing invalid RAM.
If you end up in disassembly near invalid RAM, bad things were happening,
since hitting bad RAM updates the debugger, which hits bad RAM, which...
2017-12-30 11:11:04 -08:00
Unknown W. Brackets
ae63628360 arm64jit: Statically allocate ra as well.
This doesn't seem to have a significant impact on performance, but it
improves bloat by about 5%.
2017-12-30 11:11:03 -08:00
Unknown W. Brackets
52c4293896 Profiler: Show the slowest thread's categories.
May or may not be ideal, but this was the easiest solution...
2017-12-30 10:45:51 -08:00
Unknown W. Brackets
4871b1eeb0 Profiler: Fix cat display on small screens. 2017-12-30 10:19:15 -08:00
Unknown W. Brackets
267b9a6598 Profiler: Separately track texture hashing.
Since it's slow and was lumped into updatestate.
2017-12-30 10:14:35 -08:00
Unknown W. Brackets
89cbf36611 arm64jit: Free up W23 for static alloc.
We shouldn't always reserve W23 for this uncommon case.
2017-12-30 07:51:27 -08:00
Unknown W. Brackets
e7ac672522 arm64jit: Cleanup method names, temp discard.
This way MapDirtyIn won't accidentally discard temps.
2017-12-30 07:51:27 -08:00
Henrik Rydgård
eb35e88288
Merge pull request #10471 from unknownbrackets/arm64-jit
More arm64jit improvements
2017-12-30 15:56:04 +01:00
Henrik Rydgård
364a2662fd
Merge pull request #10472 from unknownbrackets/ui-perms
UI: Only default focus visible things
2017-12-30 11:26:12 +01:00
Unknown W. Brackets
5ea54d991e UI: Fix dev menu scroll on small screens.
The scroll thought it could be as tall as the screen, due to FILL_PARENT.
Maybe that should always use a weight...
2017-12-30 01:10:17 -08:00
Unknown W. Brackets
b9cd883811 UI: Only default focus visible things.
Also, default focus perm button.
2017-12-29 17:55:40 -08:00
Unknown W. Brackets
0fc8274ec4 arm64jit: Enable safe memory for lwl/lwr. 2017-12-29 17:30:18 -08:00
Unknown W. Brackets
c00044c5d8 arm64jit: Avoid arithmetic movs.
ORR is the preferred encoding and may be faster on some chips.
2017-12-29 17:30:18 -08:00
Unknown W. Brackets
98ed6fab3f arm64jit: Fix spilling for more than one temp reg.
Otherwise we hang trying to spill the same reg over and over.
2017-12-29 17:30:17 -08:00
Unknown W. Brackets
ee236743f0 arm64jit: Use TBZ/TBNZ for vfpu branch as well. 2017-12-29 17:30:16 -08:00
Unknown W. Brackets
3b4917a308 arm64jit: Use TBZ/TBNZ for fp branches. 2017-12-29 17:30:15 -08:00
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
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