Commit Graph

780 Commits

Author SHA1 Message Date
Henrik Rydgård
5e92a94175 Buildfix 2017-01-24 20:58:59 +01:00
Henrik Rydgard
d9acd27126 Rename GLES files to match the convention the other backends use. 2017-01-23 17:08:58 +01:00
Henrik Rydgård
5af8b152e1 Further buildfixes 2016-12-27 11:59:12 +01:00
Henrik Rydgård
73ed466e19 Set up Android build for the proper glslang 2016-12-20 02:31:41 +01:00
Florent Castelli
46fdc0f5f5 cmake: Move some cmake includes to ext 2016-12-18 22:17:41 +01:00
Henrik Rydgard
c87d4a66c1 Move lang into assets. 2016-10-14 22:33:45 +02:00
Florent Castelli
eb2eb4cd9b cmake: Move some platform configuration to a toolchain file 2016-10-12 18:52:23 +02:00
sum
5a224d1601 Build fix for non-windows 2016-10-09 12:40:40 +02:00
Unknown W. Brackets
5641d18eb9 Correctly call Restore in C++ EGL path.
This will be needed for Vulkan.
2016-10-08 12:35:01 -07:00
Henrik Rydgård
55c9838132 Merge pull request #9037 from unknownbrackets/powersave
Fix Touchwiz power saving detection on S5 and newer
2016-10-08 19:38:23 +02:00
Unknown W. Brackets
b23043666a Support newer S5+ Touchwiz power saving setting. 2016-10-08 09:51:46 -07:00
Unknown W. Brackets
a8d37a01e6 Ignore Sense/Touchwiz power saving on L or higher. 2016-10-08 09:43:56 -07:00
Unknown W. Brackets
86b3d4e6d9 Vulkan: Tweak init error logging on Android. 2016-10-01 11:36:50 -07:00
Henrik Rydgard
18a5d23eab Typo fix 2016-09-25 01:45:48 +02:00
Henrik Rydgard
175f3316e0 Update Android "super-minor" version number to be ready for emergency android-only fix 2016-09-18 23:19:35 +02:00
Henrik Rydgard
97b60a23a8 Assorted failsafes around PowerSaveModeReceiver 2016-09-18 23:11:41 +02:00
Henrik Rydgard
6d0d36bf91 Update version to 1.3 2016-09-17 15:22:31 +02:00
Henrik Rydgard
cfba40ebd4 Update font atlas with the latest Chinese chars used 2016-09-17 12:38:07 +02:00
Unknown W. Brackets
279a8e2658 Remove unused import.
This was migrated to the PowerSaveModeReceiver class.
2016-09-11 05:18:36 -07:00
Unknown W. Brackets
98b523ea2c Android: Shutdown on finish(). 2016-09-10 21:58:43 -07:00
Unknown W. Brackets
92d930887f Android: Add both a lost and restore phase.
Lost = delete, restore = create.  Let's stick to never overlapping.

May help #8912.
2016-09-10 21:58:42 -07:00
Henrik Rydgard
03279e1212 Port over the Exynos cacheline size fix from Dolphin. Thanks to lewurm of the mono project for the discovery and original fix.
See https://github.com/dolphin-emu/dolphin/pull/4204 and https://github.com/mono/mono/pull/3549
2016-09-10 09:25:06 +02:00
Henrik Rydgård
ef95bb05cc Merge pull request #8871 from unknownbrackets/android-power
Detect power saving mode on Android
2016-08-06 12:16:01 +02:00
Unknown W. Brackets
f366f09c4c Android: Detect pre-L power saving.
Sometimes users don't realize these are on, and they can slow down
gameplay.  Of course, they can also save battery.
2016-07-24 17:29:04 -07:00
Unknown W. Brackets
1f7a137926 Android: Detect and report power save mode.
This shows a message when it's on, or when power drops to low.
2016-07-24 17:04:06 -07:00
Henrik Rydgard
526d1682ae Update to target Android SDK platform 24 (N) 2016-07-25 01:05:13 +02:00
Unknown W. Brackets
e269a806cd Remove unused exports / sections in jni on x86_64.
This resolves a linkage error with x64 affecting Marshmallow and clang.
It also makes the unexported symbols non-visible since they don't need to
be - this reduces the size of the ppsspp_jni.so too.

Unfortunately, it reduces the readability of stack traces.
2016-07-24 12:55:30 -07:00
Unknown W. Brackets
316b7457b9 Upgrade to FFmpeg 3 / clang. 2016-07-24 12:53:43 -07:00
Unknown W. Brackets
d0b1f1a26e Switch Android build to clang.
It's now the recommended build from NDK 11+.  GCC is deprecated.
2016-07-24 12:52:24 -07:00
Unknown W. Brackets
76cd5bf876 Android: Use the game title as the shortcut title.
This way when you have more than one, it's not just "PPSSPP" on each of
them.
2016-07-23 14:12:14 -07:00
sails
ecf57bdc23 Update NativeActivity.java
fix javaGL bug
2016-07-21 09:31:44 +08:00
Henrik Rydgård
cbb1ab17ca Merge pull request #8845 from unknownbrackets/http
Add UI for wifi remote disc streaming
2016-07-04 20:38:54 +02:00
Unknown W. Brackets
f4e2ca0359 http: Add a screen under tools for the server. 2016-07-03 22:13:47 -07:00
Unknown W. Brackets
4d4e334fc4 Vulkan: Allow C++ to determine use of JavaGL.
Based on config - this way we can enable Vulkan more easily even before we
determine why some devices don't like C++ EGL for GLES.
2016-07-01 14:05:15 -07:00
Henrik Rydgård
63e7304467 Merge pull request #8778 from unknownbrackets/coupling
Remove some dependency coupling
2016-05-28 12:25:01 +02:00
Unknown W. Brackets
a1fbcc3d93 Avoid directly calling osm from Core/GPU code.
This allows UI to handle the message however it wants to, and reduces
cross linkage issues.
2016-05-27 22:05:30 -07:00
Unknown W. Brackets
02db45982a Pass Build.BOARD from Java, avoid lookup.
Fixes arm64 build with r10, but is ugly coupling.
2016-05-27 20:11:25 -07:00
Unknown W. Brackets
eb45c5bc89 Update to latest armips to fix unittest on Android.
Also fixes ARRAY_SIZE warning.
2016-05-21 09:29:20 -07:00
Henrik Rydgard
e711a47a75 Complete the separation of the IR compiler frontend from the "Jit" 2016-05-09 20:05:06 +02:00
Henrik Rydgard
f8659b8e1e Move the IR interpreter out into its own file. Rename it in the UI. First CMake and Android fixes. 2016-05-08 22:06:13 +02:00
Henrik Rydgard
ce8aae5ed1 Make the IRJit core selectable in developer tools 2016-05-08 01:43:27 +02:00
Unknown W. Brackets
9280bb3eda Merge pull request #8715 from unknownbrackets/tex-replace
Initial texture replacement support
2016-05-01 09:58:16 -07:00
Henrik Rydgard
ffe4c266ef Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
Remove unused ArmThunk.
2016-05-01 11:40:00 +02:00
Henrik Rydgard
8b450c8034 Merge NativeJit.cpp/h with JitCommon.cpp/h 2016-05-01 11:39:59 +02:00
Henrik Rydgard
a5be0976bd Remove preprocessor hacks to choose JIT implementation.
Opens up for having multiple JIT implementations available at runtime,
which could be use for experimenting with new JIT compiler types or for
unit testing one JIT on another architecture.

Very few of the newly virtual calls are on any sort of critical path so
hopefully there will not be a performance loss.
2016-05-01 11:39:53 +02:00
Unknown W. Brackets
9039dd606f Move TextureReplacer to Core.
Probably makes more sense here after all.
2016-05-01 00:30:40 -07:00
Unknown W. Brackets
bf39e61458 Setup initial structure for texture replacements. 2016-04-30 13:44:31 -07:00
Henrik Rydgard
7cb6192005 Rename the TransformPipeline files to DrawEngine, and GLES_GPU to GPU_GLES 2016-04-10 10:31:42 +02:00
Henrik Rydgard
e611915a52 Rename some GPU classes and enums to fix some consistency issues between the backends. 2016-04-10 10:21:48 +02:00
Henrik Rydgard
4197148dc4 Add some paranoid checks hoping to fix crashes reported in Google Play developer console. 2016-04-09 18:27:35 +02:00
Unknown W. Brackets
aec117d8ea Vulkan: Allow resizing window/backbuffer.
Not tested much on Android.  Fixes #8656.
2016-03-21 19:45:27 -07:00
Unknown W. Brackets
2461a849f9 Correct some warnings reported by clang. 2016-03-20 23:13:28 -07:00
Unknown W. Brackets
d90527e41e Correct some missing overrides. 2016-03-20 23:05:05 -07:00
Henrik Rydgard
5d56537a16 Move VulkanPushBuffer into VulkanMemory.h 2016-03-20 19:31:02 +01:00
Henrik Rydgard
da50370328 Split out VulkanTexture from VulkanContext.cpp/h into VulkanImage.cpp/h 2016-03-20 19:31:02 +01:00
Unknown W. Brackets
82205a4660 Handle Vulkan init errors more gracefully. 2016-03-20 19:31:02 +01:00
Unknown W. Brackets
c92790c5a8 Specify a useful app version when loading Vulkan. 2016-03-20 19:31:02 +01:00
Henrik Rydgård
9c457da4c9 Gets the Vulkan backend running, but not drawing correctly, on Android.
Not sure what's wrong, I get a yellow flashing screen.
2016-03-20 19:30:39 +01:00
Henrik Rydgard
d325aa2b30 Hook up Vulkan on Android, no idea if it works. Move VulkanContext to Common. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
2481714a8e Load Vulkan dynamically. Fix Android build (though - Vulkan is not working on Android yet) 2016-03-20 19:30:11 +01:00
Henrik Rydgard
5f71b5b3ec Android: Vulkan builds but doesn't link as we have no link library. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
ca63cca9a2 WIP: Start work on getting the Vulkan code to compile for Android 2016-03-20 19:30:11 +01:00
xiushu
6189e3130e fix inputbox
#8642 break #8607 ,now fixed
2016-03-20 08:40:25 +08:00
Henrik Rydgard
8c9f3b9509 Update version numbers to 1.2.2, more README fixes 2016-03-19 19:29:12 +01:00
Henrik Rydgard
92c6810954 Not using a GL config chooser seems to be the way to go, really, and was the way we used before the EGL attempt. 2016-03-17 22:22:57 +01:00
Henrik Rydgard
4c0e6d0138 Some renaming, fixes and tweaks to the gl_lost mechanism, which is again needed 2016-03-17 21:30:16 +01:00
Henrik Rydgard
5ad772a8bf Further fixes to Java EGL support 2016-03-17 19:42:59 +01:00
Henrik Rydgard
2880e09dd2 Fix touch scaling with Java EGL 2016-03-17 18:59:43 +01:00
Henrik Rydgard
0d6c8df4ba Restore Java EGL support, while keeping the new stuff around as an option.
Did not restore the old DPI code, reusing the new instead.

To switch back to C++ EGL, change javaGL in NativeActivity.java.

Fixes issue #8638 and hopefully others like #8618.
2016-03-17 18:49:18 +01:00
Henrik Rydgard
ec6559537b Android EGL: Experiment: Only apply the 16-bit workaround on really old devices. 2016-03-13 15:17:31 +01:00
Unknown W. Brackets
955b0fb9db UI: Minor header cleanup. 2016-03-06 14:49:14 -08:00
Henrik Rydgard
da1a04be8d Make the workqueue slightly safer. Put g_gameInfoCache on the heap.
Cherry-picked from #8592
2016-02-28 12:39:47 +01:00
xiushu
2ec11c56a4 Remove unsupported formats 2016-02-22 16:28:54 +08:00
xiushu
7a2b4eea0a Add inputbox for android
For inputting  IP and NickName ,or something else in future on Android
2016-02-21 11:23:00 +08:00
xiushu
2ba902368e Add open action for android
Open games from file explorer directly.
2016-02-20 19:23:32 +08:00
Henrik Rydgard
52eca3d211 Update version to 1.2.1 2016-02-17 18:20:49 +01:00
Henrik Rydgard
2a77ab71aa Some attempts at increasing reliability of render thread management. 2016-02-17 17:08:48 +01:00
Henrik Rydgard
6ef779402a Update PPGE atlas (font used for in-game save dialogs etc) 2016-02-15 19:24:39 +01:00
Henrik Rydgard
67282cafc4 Apply some minor changes from #8592 2016-02-15 18:21:29 +01:00
Henrik Rydgard
0be9a520ef Remove hack in render loop thread 2016-02-15 00:19:17 +01:00
Henrik Rydgard
b5959be2ec Update font atlas (Chinese, Korean updates) 2016-02-14 13:44:10 +01:00
Henrik Rydgard
09e558c74b Update version numbers to 1.2.0 2016-02-14 12:36:28 +01:00
Henrik Rydgard
bfa5091c41 Exit cleanly on Android instead of hard-exiting using exit(0). 2016-02-13 19:57:05 +01:00
sum2012
39d3147c9b Update to build all ABIs by default 2016-02-13 06:42:47 +08:00
sum2012
8e82a698ff Add ant build script for windows 2016-02-13 05:03:16 +08:00
Unknown W. Brackets
71e41d4adb Android: Restart the render loop on wake. 2016-02-07 16:33:14 -08:00
Unknown W. Brackets
f1afb50fd1 Shutdown EGL properly when quitting render loop. 2016-02-07 16:30:40 -08:00
Henrik Rydgard
4155712113 Improve EGL logging, fallback to a really simple config if the normal one fails. May help #8469, if not may at least give us more info. 2016-01-23 13:17:53 +01:00
Munir
ed9aeb4c3a Merge remote-tracking branch 'origin/x64-android-support' 2016-01-18 06:05:46 +01:00
Carlos Estrague
b7b93eec0b fix typo. 2016-01-17 23:42:19 +01:00
Munir
7be2f81544 Initial support x64-android 2016-01-17 23:34:25 +01:00
Henrik Rydgard
b39206f922 Use the app cache directory on Android for the shader cache. 2016-01-17 22:15:23 +01:00
Henrik Rydgard
27c71aa340 Get rid of the unused "InstallID" 2016-01-17 15:46:15 +01:00
Unknown W. Brackets
481be1cd34 Fix GL feature detection. 2016-01-06 20:26:53 -08:00
Unknown W. Brackets
6c38b22467 Fix crashes when running games, tests, etc.
Need the graphicsContext value to stick around.
2016-01-03 11:05:36 -08:00
Henrik Rydgard
3398288bd0 Some cleanup around input_state 2016-01-01 14:40:18 +01:00
Henrik Rydgard
f419281d16 Fix Android build 2016-01-01 14:40:17 +01:00
Unknown W. Brackets
312fcab8b0 Fix unittest build on Android x86. 2015-12-26 20:35:49 -08:00
Unknown W. Brackets
86127b3d0d Update armips to latest version.
The new version has some speed and other improvements.
2015-12-26 20:30:35 -08:00
Unknown W. Brackets
272d21d702 Send initially held permission grants at start.
This way we don't have to re-ask for things we already have.
2015-12-22 22:29:11 -08:00
Unknown W. Brackets
cca16f63a0 Fix ant build on Windows. 2015-12-22 22:15:41 -08:00
Unknown W. Brackets
dd5c91108c Use a background thread to load ISO into RAM.
This way we don't get slow startup.  This will also cache the CSO data,
for example, rather than the raw data, using up less RAM.  It might even
be reasonable to enable on 32-bit.
2015-12-19 15:23:25 -08:00
Henrik Rydgard
732b1239e7 Add some permission infrastructure, add an ugly button that asks you to grant STORAGE permission if necessary. 2015-12-17 22:41:50 +01:00
Henrik Rydgard
2d22088f38 Update Android target, support "Runtime Permissions" in Android 6.0+ (Marshmallow).
Currently this is the absolute minimum required. Will later add a button to re-request the
permission if it's lost, but at least we do that on application startup.

Storage is the only permission we need that's not auto-granted.
2015-12-17 20:27:25 +01:00
Henrik Rydgard
ebf9bd74c6 Minor fixes 2015-12-17 19:38:23 +01:00
Henrik Rydgård
0e1e52242f Remove unused import 2015-12-16 22:25:01 +01:00
Henrik Rydgard
fd2557dbd7 EGL: Add autodetect mode that only chooses between ES2 and ES3 2015-12-16 21:48:19 +01:00
Henrik Rydgard
db633aa377 Lots more debug logging. Terrifying compatibility hack for devices that for some reason create 16-bit buffers.
Like Xperia Play.
2015-12-16 21:37:39 +01:00
Henrik Rydgard
ac202c16c3 Screen rotation works correctly on startup on older Android devices now.
Changing in-menu still has issues because the activity will not restart.
2015-12-16 19:43:39 +01:00
Henrik Rydgard
13515bf235 Use the hardware scaler again on Android. Move all DPI handling code from java to app-android.cpp. 2015-12-16 14:52:44 +01:00
Henrik Rydgard
04f8bffa29 Use EGL from native code to initialize and run OpenGL on Android.
Should be more robust, allows initializing desktop GL if available, and lets us take control of the render loop.
2015-12-16 10:57:24 +01:00
Henrik Rydgard
2083f22dce Refactor (android): Decouple frame commands from Renderer object.
Minor cleanup in preparation for EGL.
2015-12-13 22:44:55 +01:00
Henrik Rydgard
ee4261cf5c Attempt to address some auto-reported crashes on Android
Still confused about the SignalSema/WaitSema ones.. they are still getting reported at high frequency
2015-11-25 12:05:32 +01:00
Henrik Rydgard
a0cff13efa Fix an auto-reported null pointer exception in NativeActivity, plus a couple of potential others.
Must be rare though..
2015-11-25 11:39:56 +01:00
LunaMoo
ae1cf1d85d Add Display layout editor to use for example on tablets, but also includes automatic screen cropping for 16:9 cases(default).
//Rebased & removed atlas stuff which was added with #8096
//squashed with some improvements
2015-10-31 20:50:02 +01:00
Henrik Rydgard
85c8f7d3c2 Hook up SasReverb. It sounds more like a buzzsaw than a reverb at the moment, needs debugging.
Added a bit of code that only enables it when a reverbed sound is active. This will need to be turned off later but useful right now for hearing when it's used..
2015-10-27 12:36:30 +01:00
Henrik Rydgard
edafa9bc17 Centralize the GPU state conversion functions 2015-10-24 23:49:05 +02:00
Henrik Rydgard
92389a4966 Use a common ShaderId class. Start moving shader ID code to GPU/Common 2015-10-24 23:24:06 +02:00
xiushu
14e7658bbb Implement on-screen touch combo keys.
Replace A,B,cross1,square1,triangle1 with number images 1-6

Rebuild the atlas, update the code to use combo keys 1-5

Also add psp_display.png from pull request #8082.
2015-10-24 13:22:43 +02:00
Henrik Rydgard
7f4e473e8c Add new shader viewing tool 2015-10-14 18:10:21 +02:00
Henrik Rydgard
91e576449f Update version numbers to 1.1.1 2015-10-12 19:57:19 +02:00
Henrik Rydgård
7faf1cb3f3 Fix a couple of crashes 2015-10-06 19:07:28 +02:00
Henrik Rydgard
dd8647bf3a Update version to 1.1 2015-10-04 15:46:29 +02:00
Henrik Rydgard
7a01bc1de3 Update lang, and improve the Android TV banner image a little 2015-10-03 18:44:45 +02:00
Henrik Rydgard
5ff5cf1ac7 Add compat.ini as a dependency to our various build systems 2015-09-27 11:50:23 +02:00
Henrik Rydgard
b07b002040 Introduce "Compatibility Flags".
These should be used very restrictively, see comment in Compatibility.h.

Should help #8004, by disabling depth rounding in Fight Night round 3.
2015-09-27 01:23:20 +02:00
Henrik Rydgard
7e70a743ca Another attempt at fixing the ant build. it must look for the native android module in ext 2015-09-22 18:53:53 +02:00
Henrik Rydgard
44b94e550b Fix NDK build path when building using ant. This should fix the buildbot. 2015-09-22 18:30:58 +02:00
Henrik Rydgård
ca0a6dc7f9 Remove native audio mixer (Unused in PPSSPP) and stb_vorbis 2015-09-19 10:43:58 +02:00
Henrik Rydgård
9636e4cef4 Fix assorted key mapping issues affecting Shield and probably pads in general on Android. See #7976 2015-09-17 22:46:59 +02:00
Unknown W. Brackets
4815046ba6 Add back missing lib from c757931 combination. 2015-09-12 15:18:19 -07:00
Henrik Rydgard
c757931779 Android: Combine the two Java Eclipse projects into one.
Should make it easier to get ndk-gdb going, which I've always had crazy issues with with library projects.
2015-09-10 18:51:48 +02:00
Unknown W. Brackets
85533dad6e Native merge part 2: update build files.
And a couple minor stragglers.
2015-09-06 13:06:57 -07:00
Henrik Rydgård
48fbc83abe Android buildfix 2015-09-06 15:26:36 +02:00
Henrik Rydgard
d822cbf60b Move fbo.cpp/h from native into PPSSPP 2015-09-06 13:13:37 +02:00
Henrik Rydgard
72ae497350 Remove glstate usage except in the GPU implementation. Prepare for moving it into PPSSPP. 2015-09-06 12:42:15 +02:00
Unknown W. Brackets
ba15718db3 Track hovering in GE debugger to show pixel value.
This works for texture, framebuffer, depth, and stencil.

Importantly, allows debugging the actual depth values present.
2015-08-23 09:25:05 -07:00
Henrik Rydgard
2430c283a5 More GPU cleaning, removing uses of GPUState.h where not needed.
Want to get rid of direct accesses to GPUState in modules that may be reused in
my future next-gen backends, that will reformat display lists into command lists that will
then be optimized and executed, out of sync with the real GPUState.

Candidate modules that may be reused in full are Framebuffer and Depal, possibly TextureCache to some degree.
2015-07-29 12:37:49 +02:00
Unknown W. Brackets
e3b6e35417 Correct path for case-sensitive unittest build.
Ouch.
2015-07-22 23:21:40 -07:00
Henrik Rydgard
1c8bae0925 Compile with -mstackrealign on Android-x86, "fixing" mystery crashes on Zenfone.
This is really just a workaround, I have no idea what is misaligning the stack. But it doesn't feel like it's us.

This has a small performance penalty but x86-Android is pretty rare, and it's better than crashing.
2015-07-22 21:03:27 +02:00
Henrik Rydgard
a459e0a733 Add a few little helper scripts to symbolize the last backtrace from adb logcat 2015-07-19 18:24:28 +02:00
Henrik Rydgard
b6e9a47974 Remove separate OpenSL .so, update native accordingly. Fix connection error reporting in HomebrewStore 2015-07-19 17:33:38 +02:00
Henrik Rydgard
0393da5a59 Delete obsolete file 2015-07-18 19:04:43 +02:00
Unknown W. Brackets
12faaca3e4 Build Android using a static library.
This makes headless and unittest build much faster, especially when all
three are building at the same time.
2015-07-05 16:08:41 -07:00
Unknown W. Brackets
808db2482a Initial structure for vertexjit tests. 2015-07-03 15:25:40 -07:00
Unknown W. Brackets
88b23460f1 Add a file loader to perform disk caching.
Had to do some tricks to handle gameinfocache threads properly.
2015-07-02 20:58:58 -07:00
Unknown W. Brackets
da827d9ef0 Move file loader code into directories.
Not making sense to put these all in the same fiel anymore.
2015-07-02 20:58:53 -07:00
Unknown W. Brackets
62988b2aa7 Fix building unittest for ARM64 Android. 2015-06-26 22:29:43 -07:00
Unknown W. Brackets
feddd202ee Add a flag to skip building the app on Android.
This is for unit tests and headless.
2015-06-26 22:26:46 -07:00
Unknown W. Brackets
0597b92998 For consistency, push fp regs here too. 2015-06-14 09:24:56 -07:00