Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Houdek e5b5713d70 [ARM] Optimize that fastmem load/stores minimally. 2013-09-08 07:37:03 +00:00
Ryan Houdek 2126f405e0 [ARM] 1 instruction optimization for psq_l 2013-09-08 07:25:59 +00:00
Ryan Houdek 53fb0622f0 Fix the glew check. GLES3 can be used on non-Android platforms. 2013-09-08 07:21:33 +00:00
Ryan Houdek e6af4970d8 [ARM] Use NEON for loading the values from psq_l, gives a minimal performance increase. This change also begins a new NEONXEmitter for having cleaner support for NEON. 2013-09-08 07:07:15 +00:00
Ryan Houdek 31b69c53f7 [ARM] Implement psq_l for 2x float loads. Couldn't find a game using quantized loads. Huge speed boost to Ikaruga and THP movies with this one. 2013-09-07 17:44:10 +00:00
Ryan Houdek 614a7c2081 [ARM] Clean up some host side register allocations I missed. 2013-09-07 17:44:10 +00:00
Ryan Houdek 67c65831bc [ARM] Make fnabsx and ps_nabs quicker. Sleep deprivation got the better of me. 2013-09-07 00:35:12 +00:00
Ryan Houdek ef05a14757 [ARM] Clean up FPR cache. Rapid fire floating point instruction implementations. Adds 13 new instructions. 2013-09-07 00:19:32 +00:00
Ryan Houdek a7f244e96d Revert "Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay.""
This reverts commit 5696da0b3e.

JMC messed up, it wasn't due to this commit.
2013-09-04 19:16:28 -05:00
Ryan Houdek 5696da0b3e Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay."
This reverts commit e110f1049c.

This unfixes issue 6575. Reverted due to huge performance hit on behalf of JMC.
2013-09-04 02:55:13 -05:00
Ryan Houdek d0d053a9f9 Fix for old libc version on bionic. Old versions would crash if the second argument was NULL. 2013-09-04 02:04:31 -05:00
Ryan Houdek 7e26aace9f [ARM] Reenable ps_add. Issue is due to something in the FPR cache. Still needs to be investigated. 2013-09-04 03:27:45 +00:00
Ryan Houdek 8684b7635a [ARM] Reimplement fastmem for the few loadstores that had it before. 2013-09-04 02:07:57 +00:00
Ryan Houdek 39ad48dfa5 [ARM] lmw implementation. 2013-09-03 09:55:15 +00:00
Ryan Houdek 30cd436e86 [ARM] Merge load instructions in to one. Also rapid prototype 13 more load instructions. This disables fastmem currently for loads. 2013-09-03 09:22:43 +00:00
Ryan Houdek d4d6eb562e [ARM] Fix and enable fastmem for 32bit stores. 2013-09-03 05:05:10 +00:00
Ryan Houdek c97229f612 Merge branch 'arm-storemerge' 2013-09-03 04:12:22 +00:00
Ryan Houdek cc2fa4a003 [ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this. 2013-09-03 04:11:25 +00:00
Ryan Houdek dfce0f3b0b [ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this. 2013-09-03 04:08:15 +00:00
Ryan Houdek a7f3264fed [ARM] Merge a bunch of arithmetic JIT instructions and rapid prototyping of a bunch more. 2013-09-02 14:15:37 +00:00
Ryan Houdek 2897619ddb Removal of my terrible idea. 2013-09-02 05:31:48 -05:00
Ryan Houdek e7157e7c52 [Android] Fix fastmem and enable. 2013-09-02 04:10:21 -05:00
Ryan Houdek 679957dc98 Fix Non-GLES run path in videosoftware for the previous commit. 2013-09-02 01:44:46 -05:00
Ryan Houdek 831963616f [Android] Make texture loading/deleting/drawing backend non-specific by making them happen in the backend instead of somewhere else. Just a clean up commit really. 2013-09-02 01:40:05 -05:00
Ryan Houdek b03ff7a86b [Android] Fix the game thread never leaving. 2013-09-01 01:10:40 -05:00
Ryan Houdek df7b4da13b [ARM] Fastmem is back. Still disabled for Android. 2013-08-31 02:33:12 +00:00
Ryan Houdek 8b0a0daf10 Revert "[ARM] Remove Fastmem. It is buggy and may never have the potential to work correctly."
This reverts commit f485d96b0b.
2013-08-31 02:33:11 +00:00
Ryan Houdek 710ac04084 [ARM] Fix the VMOV encoding to encode the destination VFP register correctly. 2013-08-30 05:13:43 -05:00
Ryan Houdek 2c1337eb5f [ARM] Support both hardfp and softfp with lfs and lfd. Fixes these two instructions on Android since it uses softfp calling conventions. This adds a emitter for moving from two ARM Registers to a double VFP reg. 2013-08-30 09:38:11 +00:00
Ryan Houdek 7cceace1ed [ARM] Fix Savestates. 2013-08-30 06:43:18 +00:00
Ryan Houdek 8bb16d8e98 [Android] Android NDK now supports full implementations of std::mutex, std::thread, and std::conditional_variable so there is no need to have our own implementations there now. 2013-08-29 22:29:33 -05:00
Ryan Houdek 10c18e75de [ARM] Fix lfs/lfd. We need to dump the fpr cache at times where VFP registers may be affected. We shouldn't need to flush D8-D15 but it doesn't seem to work. So we have to flush all registers. 2013-08-30 01:11:32 +00:00
Ryan Houdek 96394da1c2 [Android] Let NativeLibrary handle initial folder structure creation. 2013-08-29 18:07:32 -05:00
Ryan Houdek 957c263367 [Android] Add save state native functions. 2013-08-29 17:47:50 -05:00
Ryan Houdek 1dcede4d56 [Android] Stop the play store from overwriting buildbot builds. 2013-08-29 22:28:23 +00:00
Ryan Houdek 8ae076e665 Merge branch 'iconv_static' 2013-08-29 05:54:02 -05:00
Ryan Houdek 18fd690533 Only use static iconv on Android. 2013-08-29 05:53:15 -05:00
Ryan Houdek cb8e7a1be5 Work around check_lib not finding iconv. 2013-08-29 05:40:16 -05:00
Ryan Houdek 160d72a9ae [Android] Add in a static libiconv library so non English games don't crash Dolphin Mobile. 2013-08-29 04:43:31 -05:00
Ryan Houdek d83dffe442 [Android] Add wad file support. 2013-08-26 12:19:47 -05:00
Ryan Houdek 8b291b6b57 [Android] Allow users to be able to choose where they want the APK installed. 2013-08-21 14:35:31 -05:00
Ryan Houdek 1eb1ba8c3d Typo + Add Lima to the driverdetails. 2013-08-21 05:41:32 -05:00
Ryan Houdek 1910f5851f Make us capable of supporting driver specific issues(OSS versus official) 2013-08-21 05:34:52 -05:00
Ryan Houdek 60ccb2f44d [Android] Fix Android 4.3 from crashing on my devices. This was annoying to find. 2013-08-21 00:12:53 -05:00
Ryan Houdek fbd0fba13a [Android] Fix preferences from crashing. OSD controls was supposed to be boolean. 2013-08-21 00:06:48 -05:00
Ryan Houdek 272dcb8756 In Windows, if BBA can't connect to any TUNTAP device then throw a panicalert, not just an error log. 2013-08-21 03:22:14 +00:00
Ryan Houdek 0521b6aa69 [Android] Hopefully fix buildbot's ant build. 2013-08-20 15:41:11 -05:00
Ryan Houdek ba3d3311bd [ARM] If one requests a FPR to not preload but then later ask it to preload. Make sure to preload it at that time. Would have caused issues with having to make sure the non-preloaded regs were always grabbed last. 2013-08-19 18:13:08 +00:00
Ryan Houdek 8094037104 [ARM] Add ps_sum0 and a disabled ps_madd. 2013-08-19 18:13:08 +00:00
Ryan Houdek 42de733c41 [ARM] Disable floating loadstores as they cause problems. Reenable faddsx/fsubsx as it works with loadstores disabled. 2013-08-19 18:13:08 +00:00
Ryan Houdek 1675f56f02 [ARM] Disable faddsx since it causes problems in crazy taxi. 2013-08-19 12:26:25 +00:00
Ryan Houdek b4baa4fdb9 [ARM] Add mullwx, mulhwux and half implemented srawix instructions. Change fsubsx/fmulsx slightly, still broken. 2013-08-19 06:26:34 +00:00
Ryan Houdek 9bded1382c [ARM] Add ASR/ASRS and UMULLS emitters. 2013-08-19 06:26:34 +00:00
Ryan Houdek 9f4ca0e0a7 [ARM] JitASM miroops. No functionality change. 2013-08-18 17:45:04 +00:00
Ryan Houdek ba76b016da [Android] Fix Wii games. 2013-08-17 19:41:28 -05:00
Ryan Houdek 7294fe5a3f Change per instruction run counts to u64 on all platforms. JIT64 and JITIL runcount isn't implemented properly(and is disabled) so this doesn't effect them. 2013-08-18 00:15:47 +00:00
Ryan Houdek 7934df3879 Remove a redundant check in the fifo. 2013-08-17 01:27:08 +00:00
Ryan Houdek 08b27bb3b8 In the EGL backend context interface, don't call eglMakeCurrent. This was only done to pull in some information to the info log. This is necessary since eglMakeCurrent binds the context to the current thread and we need to destroy the context and reinitialize it when jumping to a new thread. We already call MakeCurrent in Video_Prepare which is done in the new thread. 2013-08-16 23:41:45 +00:00
Ryan Houdek 49963da371 Put the shader info log at the end of the shader log file. This fixes issue 6495. 2013-08-16 21:05:35 +00:00
Ryan Houdek da560ecefc On CoreParemeter member object creation make sure to set bEnableDebugging, bAutomaticStart, and bBootToPause to default values so they aren't unitialized. This caused a issue in particular on the Android builds where bBootToPause would cause the games to boot in to a paused state, effectively causing the application to need to be forced closed and reran multiple times in order to test anything. 2013-08-16 07:30:53 -05:00
Ryan Houdek 367f294ed2 [Android] Make sure to unallocate the correct memory size in MemArena. 2013-08-16 04:55:43 -05:00
Ryan Houdek 10f6117905 Add some ifdef magic to GLFunctions.cpp to make it not directly dependant on GLESv3. 2013-08-15 18:15:55 +00:00
Ryan Houdek 06620ff364 [Android] Fall back to using dlsym on ourselves to pull in OpenGL Functions when eglGetProcAddress fails. This fixes an issue on the Chromebook where I was forced to link to libGLESv2 and pull in the functions statically since eglGetProcAddress wouldn't return any GLESv3 functions. This also changes glMapBuffer to glMapBufferOES because glMapBuffer isn't actually part of the OpenGL ES 3 spec... 2013-08-15 18:07:56 +00:00
Ryan Houdek 958590beaa [Android] Fix OpenGL ES 3 detection on Nexus 10. Nexus 10 defaults to GLES1 context when not specified while Adreno defaults to GLES2. Thanks to Jeremy D Miller for noticing and finding out why this was failing. 2013-08-12 04:44:08 -05:00
Ryan Houdek 7f3c06de27 [ARM] Add a few instructions. 2013-08-12 02:52:56 +00:00
Ryan Houdek 4ed8972c30 [ARM] Implement andx, andi_rc, and andis_rc. 2013-08-11 08:21:17 +00:00
Ryan Houdek 42aef24d78 [ARM] IMM support for all integer instructions that call ComputeRC. Small FPS gains everywhere. 2013-08-11 07:41:23 +00:00
Ryan Houdek ef83d03dc0 [ARM] Fix ori again. 2013-08-11 05:07:20 +00:00
Ryan Houdek 805009abca Fix a merge fail that happened when I merged in Android. It is just a bit of duplicate code, no issues came from it. 2013-08-09 19:01:27 +00:00
Ryan Houdek 873987bc99 [ARM] Some initial support for immediates in integer. Plenty more to go. 2013-08-05 19:48:15 +00:00
Ryan Houdek 4752eae677 [ARM] Fix IMM support in the register cache. 2013-08-05 18:33:51 +00:00
Ryan Houdek 25fc0c27f3 [ARM] Make sure to flush a register location. IMM still doesn't work... 2013-08-05 07:15:15 +00:00
Ryan Houdek f2e43f47a4 [ARM] Add support for IMMs to the GPR reg cache. Not yet using it since it doesn't quite work 2013-08-05 05:26:32 +00:00
Ryan Houdek f485d96b0b [ARM] Remove Fastmem. It is buggy and may never have the potential to work correctly. 2013-08-05 05:26:32 +00:00
Ryan Houdek db93b516b0 [ARM] Missed flushing our register caches in mtmsr. This would cause a buttload of problems, including the suspected ori being wrong issue. So flush caches and reenable ori. 2013-08-05 02:15:25 +00:00
Ryan Houdek bafed349e8 [ARM] dcbst implementation. 2013-08-04 17:44:59 +00:00
Ryan Houdek 522d38d080 [ARM] Implement cmpl 2013-08-04 17:33:43 +00:00
Ryan Houdek f690be3e94 [ARM] Disable ori since it breaks Wind Waker. 2013-08-04 17:05:53 +00:00
Ryan Houdek cf8e8c91b6 [ARM] Implement lha and fix lfs. 2013-08-03 00:48:45 +00:00
Ryan Houdek ca7fb9f38e [ARM] Fix VCVT F32<->F64 encoding. 2013-08-03 00:48:44 +00:00
Ryan Houdek 7d187dc597 Change a glClear in the OpenGL renderer to improve performance on Mali chips. 2013-08-02 23:19:16 +00:00
Ryan Houdek ab0f42636d [ARM] Push new ArmEmitter changes from PPSSPP. Mostly Fixes a few VFP/NEON instruction encodings. 2013-08-02 23:18:44 +00:00
Ryan Houdek 5d38a9c91e [Android] Some minor cleanup. 2013-07-27 15:09:33 -05:00
Ryan Houdek 4aba0135e1 [Android] Qualcomm Swap hack isn't needed anymore due to the new StreamBuffer type. 2013-07-26 21:49:48 -05:00
Ryan Houdek 952aa714fd [Android] Another check for OpenGL ES 3. 2013-07-26 21:07:17 -05:00
Ryan Houdek b6e9a75bdf Good Job Windows. Fixes compiling... 2013-07-27 00:53:53 +00:00
Ryan Houdek bab2534c36 Didn't mean to disable hacked buffer. 2013-07-27 00:51:26 +00:00
Ryan Houdek 8db9b61be6 Enable the shader cache on GLES3 now that the shaders compile fine on Mali and Adreno. 2013-07-27 00:42:20 +00:00
Ryan Houdek f786f0f0c6 Remove the broken buffers bug on Mali hardware since it isn't needed anymore using the glBufferData route in the StreamBuffer class. 2013-07-27 00:41:38 +00:00
Ryan Houdek 319e29e7d0 Add the new glBufferData stream buffer type to the streambuffer class which is hugely more efficient on Mali drivers. 2013-07-27 00:40:16 +00:00
Ryan Houdek a9ebd7d3e5 Fix Android Build. 2013-07-26 15:02:03 +00:00
Ryan Houdek 6887a0c341 Change from using glDrawElements/glDrawElementsBaseVertex to glDrawRangeElements/glDrawRangeElementsBaseVertex. On Mali, this reduces a internal function usage from 8% to off the charts. 2013-07-26 14:51:04 +00:00
Ryan Houdek 4deea2bcae Revert "[Android] Use equals to compare GL version string instead of contains. This should really be some sort of sscanf check so we can check if version > 3.0 but we'll worry about that when OpenGL ES 4.0 is released."
This reverts commit bc58e7f42f.
2013-07-25 19:35:01 +00:00
Ryan Houdek bc58e7f42f [Android] Use equals to compare GL version string instead of contains. This should really be some sort of sscanf check so we can check if version > 3.0 but we'll worry about that when OpenGL ES 4.0 is released. 2013-07-25 18:45:40 +00:00
Ryan Houdek 3e697b363e Fix an issue where TextureConverter.cpp was creating a renderbuffer with the wrong format. Also a few minor shader issues where they were using integers in place of floats. 2013-07-25 18:39:00 +00:00
Ryan Houdek e0a5f7842e Fix Mali-T604 shader compilation 2013-07-25 16:13:33 +00:00
Ryan Houdek 672871b3be Add in the Mali driver bug so we can call glFlush every flush. It seemingly is quicker calling flush every time instead of every n times. 2013-07-25 05:44:20 +00:00
Ryan Houdek 82f7b20b91 There. Fix all the issues where we are using integers when we should be using floats in the texture conversion shaders. 2013-07-21 12:00:20 +00:00
Ryan Houdek 83a79c28ca Continuation of the previous commit. I missed a integer. 2013-07-21 11:27:26 +00:00
Ryan Houdek 6194234a54 Fix a issue in the texture conversion shaders that was multiplying an integer with a float. 2013-07-21 11:17:21 +00:00