Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Houdek afc4a37058 Merge pull request #502 from magumagu/video-common-small-cleanup
VideoCommon: small cleanups.
2014-06-16 20:51:34 -05:00
Ryan Houdek ee690fe401 Merge pull request #468 from RachelBryk/remove-exi-update
Remove unused EXI update functions.
2014-06-16 16:36:13 -05:00
Ryan Houdek 7416b9cdb4 Merge pull request #496 from Sonicadvance1/fix-subfic-round2
Fix ARM Jit's subfic when d != a.
2014-06-15 11:25:39 -05:00
Ryan Houdek 78d2322aa0 Fix ARM Jit's subfic when d != a.
Missed this path previously, Crazy Taxi hits it.
2014-06-15 15:37:17 +00:00
Ryan Houdek 83157ba350 Fix the ARM JIT's subfic implementation. 2014-06-15 09:40:31 -05:00
Ryan Houdek 27b41c1f64 Merge pull request #489 from Sonicadvance1/Fix-NonX86
Fix the vertexloader on non-x86 targets.
2014-06-13 13:40:24 -05:00
Ryan Houdek f87b913f0e Fix the vertexloader on non-x86 targets.
When I dropped ARM from a generic target, this caused the vertexloader to try using the JIT path.
Instead of !_M_GENERIC, check for _M_X86 instead. Since it is only for the x86 target
2014-06-13 18:36:54 +00:00
Ryan Houdek 679f57eb1f Merge pull request #487 from Sonicadvance1/Fix-Conditional-branch
Fix conditional branching on x86_64.
2014-06-13 13:04:24 -05:00
Ryan Houdek 2152e812fc Fix conditional branching on x86_64.
The register cache can be filled to the point that when dumping them the FixupBranch goes over the maximum size of 0x80.
Force them to use the "5byte" variant of the jump.

If we were able to determine if the length we had to jump was <0x80 in the future this could be a slight optimization.
This has to be done in bcctrx, bclrx, and twx. It was already done in bcx before.
This fixes issue 7378.
2014-06-13 12:41:50 -05:00
Ryan Houdek 5a66ded081 Merge pull request #482 from RachelBryk/remove-item-hang-patch
Remove fix item hang patch for wind waker.
2014-06-11 04:31:09 -05:00
Ryan Houdek 1db93db474 Merge pull request #474 from Sonicadvance1/conditional-branch
Support conditional register cache flushing on ARMv7.
2014-06-10 07:21:07 -05:00
Ryan Houdek be4b544bf6 Merge pull request #479 from Sonicadvance1/x86-regcache
Jit64 RegCache cleanup
2014-06-10 07:20:55 -05:00
Ryan Houdek c2b6a41e6b Fix a few code style remarks.
Removes some casting of size_t to int.
2014-06-10 02:52:15 -05:00
Ryan Houdek b4ec70f0ac Add conditional register cache flushing to JIT64's twx instruction. 2014-06-10 02:46:10 -05:00
Ryan Houdek 06e8c7d7c9 Add conditional register cache flushing to JIT64's bcx instruction. 2014-06-10 02:45:04 -05:00
Ryan Houdek b99edd6202 Add conditional register cache flushing to JIT64's bcctrx conditional route. 2014-06-10 02:44:16 -05:00
Ryan Houdek 5e1a465d50 Change register cache to using an enum to determine flush mode.
This is easier to identify what the flush is doing rather than a "true" as argument.
2014-06-10 02:42:00 -05:00
Ryan Houdek 2989ccff79 Support conditional register cache flushing on ARMv7.
Similar to PR #451, but for ARM as well.
2014-06-09 06:08:13 -05:00
Ryan Houdek 2ae3609a7b Merge pull request #476 from RachelBryk/wtf-is-this
Remove a useless ini file set.
2014-06-08 23:25:28 -05:00
Ryan Houdek 4cfeeee5e9 Merge pull request #472 from Sonicadvance1/ARM-is-not-generic
Make it so ARMv7 isn't a generic target.
2014-06-08 09:30:57 -05:00
Ryan Houdek 6e1d312091 Make it so ARMv7 isn't a generic target.
Rearranges a bit of code so that ARM isn't a generic build anymore. Because it obviously isn't
2014-06-07 20:26:31 -05:00
Ryan Houdek 103d9008d6 Merge pull request #391 from RachelBryk/netplay-flash-on-join
Flash netplay window when someone joins if the window doesn't have focus...
2014-06-07 06:33:54 -05:00
Ryan Houdek b778b43992 Merge pull request #404 from magumagu/jitcache-cleanup
JitCache cleanup
2014-06-07 01:49:07 -05:00
Ryan Houdek 7d12a31cc2 Merge pull request #395 from RachelBryk/race
Fix a couple race conditions.
2014-06-07 01:10:51 -05:00
Ryan Houdek b591184e4b Merge pull request #437 from lioncash/netplay
Minor netplay server cleanup
2014-06-07 01:08:52 -05:00
Ryan Houdek b7519fdde1 Merge pull request #337 from Tilka/lto
Fix LTO with GCC 4.9
2014-06-07 00:54:28 -05:00
Ryan Houdek 28c8802515 Merge pull request #469 from Sonicadvance1/GLES-version-detect-fix
Fix OpenGL ES version detection.
2014-06-06 21:26:03 -05:00
Ryan Houdek d2e4c2fc50 Fix OpenGL ES version detection.
Mesa report GLES version as "3.0" not "3.00"
Spec mandates X.Y versioning scheme, doesn't say how long the decimal place must be.
2014-06-06 21:21:35 -05:00
Ryan Houdek b6db0d0ab8 Merge pull request #457 from Tilka/jcc
x64Emitter: J_CC: use 32 bit offset automatically
2014-06-06 20:53:50 -05:00
Ryan Houdek c118632cde Merge pull request #450 from Tilka/fmrx
Jit64: revert fmrx revert
2014-06-06 20:53:21 -05:00
Ryan Houdek db08f7bf4a Merge pull request #371 from quarnster/patch-1
PPCAnalyst now detects internal branches better
2014-06-06 02:45:24 -05:00
Ryan Houdek 3a06907653 Merge pull request #455 from lioncash/arm-cpudetect-fix
Stringify ArmCPUDetect.cpp.
2014-06-02 20:10:39 -05:00
Ryan Houdek b5a12dd7a2 Merge pull request #454 from Sonicadvance1/fix-android-crash
[Android] Fix potential crash in Video Settings.
2014-06-02 19:39:32 -05:00
Ryan Houdek 7dc31fbd1a Fix potential crash in Video Settings.
When Shaders folder didn't exist it would cause crash.
2014-06-02 17:57:23 -05:00
Ryan Houdek e0a60a40a5 Remove unused mojs array from ppcState.
This was some unused array just sitting in our global ppcState struct.
I've got no idea what its use was /supposed/ to be used for if ever implemented.
2014-06-02 01:39:07 -05:00
Ryan Houdek 5d3382fb56 Fix a crash in ARM's CPUDetect on a malformed /proc/cpuinfo.
If a CPU string was incapable of being found we would return a null pointer, which would crash with strncpy.
Also if we couldn't get a CPU implementer we would call free() to a null pointer.
In addition, detect 64bit ARM running.
2014-06-01 23:55:38 -05:00
Ryan Houdek 87e671404a Make MemoryUtil.cpp use the correct x86_64 define.
MemoryUtil.cpp was incorrectly using the old __x86_64__ define when it should be using _M_X86_64.
It was also using _ARCH_64 when it shouldn't have which was causing an errant PanicAlert to come up in my development.
2014-06-01 23:45:44 -05:00
Ryan Houdek 8fae3d9c23 Merge pull request #412 from SeannyM/Android-Multitouch
Android: add multitouch support
2014-05-30 21:34:25 -05:00
Ryan Houdek 28e643c384 Add a Cmake generic build option and remove x86_32 build capabilities.
Adds the ability to build our generic build option without manually enabling it in the cmake file.
If trying to build on a x86_32 host, throw a fatal error but say that a binary can be built as a generic build if one wants.
2014-05-25 20:52:52 -05:00
Ryan Houdek d710e3af82 Fixes build if the build path has spaces in it. 2014-05-23 18:24:08 -05:00
Ryan Houdek db96f862d2 Merge pull request #378 from delroth/interrupts-comments
CheckExceptions: add TODO and remove a wrong comment
2014-05-17 18:04:34 -05:00
Ryan Houdek a4bb0dafb4 Removes ZeroFrog's "optimized" memcpy and memcmp functions.
These were only compiled in on Windows and x86_32.
They provided "optimized" copies and compares based on blocksizes for the AMD Athlon and Duron CPU families.
The code was taken from something that AMD provides with a as-is license.
Just get rid of this crap.
2014-05-17 18:03:31 -05:00
Ryan Houdek 454919bfbf Merge pull request #358 from SeannyM/Android-strings
Add japanese strings
2014-05-11 00:32:23 -05:00
Ryan Houdek 15ce648b0d Merge pull request #341 from lioncash/pragma
Move the header guard before the includes in VideoCommon's Statistics.h
2014-05-10 23:21:53 -05:00
Ryan Houdek 878740b43d Merge pull request #349 from Sonicadvance1/Android-Default-Config
[Android] Change default EFB copy method from disabled to texture.
2014-05-10 23:19:43 -05:00
Ryan Houdek fcc7b6e56d Merge pull request #346 from Sonicadvance1/Android-PewPewShaders
Adds support for the PP shaders in the Android UI.
2014-05-10 22:51:28 -05:00
Ryan Houdek cf71047c03 Merge pull request #348 from Sonicadvance1/PPShader-GLES3
Fixes our post processing shaders so they work under OpenGL ES 3.0
2014-05-10 22:48:54 -05:00
Ryan Houdek 004af614cf Merge pull request #335 from Tilka/twx
Jit64: implement tw/twi more accurately
2014-05-10 22:26:02 -05:00
Ryan Houdek cdec575bef Fixes games that use the MMU to page in code(Rogue Leader).
The issue was that on memory exception we wouldn't call in to PPCAnalyst and our code_block would retain the previous blocks information.
This would cause us to compile the previous blocks instructions in prior to the exception exit.
2014-05-09 09:10:45 -05:00
Ryan Houdek aa30f5a6cb Change Android's default EFB configuration to texture instead of disabled. 2014-05-05 17:13:04 -05:00
Ryan Houdek 0bfec024e9 Merge pull request #330 from LPFaint99/GCMemcard_addsave_fix
GCMemcard: fix edge case of adding to a fragmented memcard.
2014-05-05 16:31:33 -05:00
Ryan Houdek 34bc14e75d Fixes our post processing shaders so they work under OpenGL ES 3.0
Most of our shaders relied on implicit int->float conversions.
This fixes the assumption that this is allowed
2014-05-05 15:59:49 -05:00
Ryan Houdek 33bdc0f985 Adds support for the PP shaders in the Android UI.
Copies over the PP shaders to the APK's assets and installs them on run.
Exposes them via the video settings UI.

This is in anticipation of dropping the workaround for rotated blits on Adreno and instead forcing shader usage by the user.
2014-05-05 13:44:08 -05:00
Ryan Houdek 2f92b82b29 Merge pull request #345 from Sonicadvance1/Qualcomm-textureSize
Enables usage of GLSL textureSize on Qualcomm v66.
2014-05-05 11:41:40 -05:00
Ryan Houdek 8bb8446e34 Enables usage of GLSL textureSize on Qualcomm v66.
Qualcomm's v66 drivers have a working textureSize() function now.
Enable usage of it.
2014-05-05 08:50:13 -05:00
Ryan Houdek a1374dd4ba Merge pull request #329 from Tilka/rounding
Small FPU settings changes
2014-05-02 12:11:09 -05:00
Ryan Houdek c5d506142f Merge pull request #305 from magumagu/movie-scanf
Movie: don't use "hh" scanf modifier.
2014-04-30 20:01:27 -05:00
Ryan Houdek 2d8cfb89d7 Changes posmtx vertex attribute to integer.
This makes it so we don't need to do some dumb casting from float to integer in our shaders.
Only tested in OpenGL, needs to be tested in D3D.
2014-04-30 19:11:06 -05:00
Ryan Houdek 99338daa8f Fixes glVertexAttribIPointer on GLES.
We need to pull in function pointers for OpenGL 3.0 in order to use glAttribIPointer.
This isn't too big of an issue, and this code will be gone in the future when we change over to libepoxy.
Just need to push code upstream to libepoxy to support Android with GLES and GL first.
2014-04-30 19:11:06 -05:00
Ryan Houdek 7f00cae2b6 Merge pull request #320 from SeannyM/Android-Theme
Make the Android UI more like the desktop UI
2014-04-30 19:00:41 -05:00
Ryan Houdek c4221e8f68 Merge pull request #323 from Sonicadvance1/newer-ppcanalyst
[RFC] New PPCAnalyst class.
2014-04-30 18:59:24 -05:00
Ryan Houdek 1b581b7c27 Merge pull request #62 from degasus/log_truncate_path
Truncate the path on logging
2014-04-30 18:57:59 -05:00
Ryan Houdek 8e1dfef14c Remove the old PPAnalyst::Flatten function that is no longer in use. 2014-04-30 10:49:39 -05:00
Ryan Houdek c794dc8085 Move the JitWindow debugging window over to using the new PPCAnalyzer class. 2014-04-30 10:49:39 -05:00
Ryan Houdek 6949087ee1 Missed the analyzer object not named correctly. 2014-04-30 10:49:39 -05:00
Ryan Houdek 70d1f5adfb Let Jit64IL use the new PPCAnalyst class 2014-04-30 10:49:39 -05:00
Ryan Houdek 1cb1260c1d Address delroth's comments. 2014-04-30 10:49:39 -05:00
Ryan Houdek 40c317d1d4 Support the new PPCAnalyst class in JIT64.
Implements support for OPTION_CONDITIONAL_CONTINUE in JIT64.
2014-04-30 10:49:39 -05:00
Ryan Houdek ad167e7b52 Adds support to the new PPCAnalyst to the ARM JIT cores.
ArmJit32 supports OPTION_CONDITIONAL_CONTINUE with this.
2014-04-30 10:49:38 -05:00
Ryan Houdek da2ed2e17d Adds new PPCAnalyser class.
Supports conditional branch continuation.
More features to come.
2014-04-30 10:49:31 -05:00
Ryan Houdek 664496a2a8 Merge pull request #324 from booto/eliminate-cyles-minus-one
numCyclesMinusOne to numCycles in GekkoOPInfo
2014-04-30 10:45:39 -05:00
Ryan Houdek 21315ae616 Merge pull request #317 from SeannyM/armjit-lwzux
ARM: Fix Wii games on JIT
2014-04-25 21:28:22 -05:00
Ryan Houdek 94497961ac Removes unused argument in Helper_UpdateCR1.
Interpreter::Helper_UpdateCR1 doesn't use the argument passed to UpdateCR1. It pulls its value from the FPSCR register.
Also there was a Interpreter::Helper_UpdateCR1(float) in addition to Helper_UpdateCR1(double) that hasn't ever existed. Remove the function
declaration.
2014-04-24 22:00:58 -05:00
Ryan Houdek 28db739717 Merge pull request #313 from Sonicadvance1/Fix-ARMTables
Fixes missing instructions in ARM JIT Tables.
2014-04-24 20:27:26 -05:00
Ryan Houdek c29961cc90 Fix missing instructions in ARM JIT Tables.
The ARM insturction tables were missing addcox, addeox, and subfcox.
Implements support for addcox and addeox to the ArmJit, required little work since they are basically the same as addcx and addex.
2014-04-24 19:34:21 -05:00
Ryan Houdek e1bbda1e18 [Android] Fix a bunch of input bugs.
Looking at the old code for the ButtonManager was a brainfsck. This fixes a ton of bugs I kept uncovering as I was moving along.

Fixes the gamepad configuration file being incorrect.
No longer treats touchscreen in a special way. Ends up as a regular device with a "Touchscreen" device name.
Was incorrectly converting a index from integer to ButtonType. Wouldn't work due to the addition of some unused(in JNI) enumerators in ButtonType.
Fixes an issue where a map had a key as an axis which was causing its binding to be overwritten for every axis that was used twice (eg main stick left and right);
Fixes Triggers not working at all.
Fixes DPad not working at all.
Fixes C-Stick only half working.
Removes touch screen specific nativelibrary types onTouchAxisEvent and onTouchEvent.

Adds a configuration version configuration option. Allows easy configuration overwriting if the options need to be changed during updating.

Supersedes github PR #291.
2014-04-24 08:51:44 -05:00
Ryan Houdek 864aad6704 Merge pull request #299 from Sonicadvance1/EFBRam-FixGLSLES
Fix texture conversion shaders for GLSL ES.
2014-04-23 04:54:23 -05:00
Ryan Houdek cc2dac6722 Adds Link Time Optimization cmake option.
Adds a LTO option that isn't enabled by default.
Allows building release binaries with link time optimizations without generating a -dirty build.
Not enabled by default due to concerns of memory usage and increased build time.
2014-04-23 04:15:25 -05:00
Ryan Houdek c44df3d932 Moves a few Cmake options so that debug options are near one another.
Moves GDBSTUB to the top as well where it should be.
2014-04-23 04:15:08 -05:00
Ryan Houdek 9f12d02328 Merge pull request #295 from SeannyM/button-holding
Android: Allow finger movement while pressing button
2014-04-23 04:01:35 -05:00
Ryan Houdek fd37a768a6 Fix texture conversion shaders for GLSL ES.
Noticed this while messing with EFB to RAM.
We were having an implicit conversion from integer to float, GLSL ES doesn't allow implicit conversion.
Changes it to a explicit conversion to float.
2014-04-22 15:48:26 -05:00
Ryan Houdek e6fa9bf048 Change IPL horizontal offset from +5 to 0.
Noticed this while fiddling with things.
Having a default offset of +5 is stupid.
Changes the bit that contains the offset and the two hashs.
2014-04-18 23:31:44 -05:00
Ryan Houdek 92ec49ac9f Change to ARM's naming convention in DriverDetails.
This matches how ARM handles their naming in their drivers for different models.
Really it's that way because both Mali-T6xx and Mali-T7xx fall under Midgard.
While everything else (except Mali-55) fall under Utgard.
2014-04-18 21:06:32 -05:00
Ryan Houdek c88b83699e Don't use SDL devices that report invalid ranges.
If Buttons, Axes, Hats, or Balls > 255 then reject it.
2014-04-16 16:28:57 -05:00
Ryan Houdek 47f76b8907 Fix the integer overflow that happens in the MD5Sum Progressbar.
Instead of using a u64 size integer as the range on the progressbar, set the max as 1000.
Similar maximums are used in other parts of the UI.
2014-04-14 20:40:43 -05:00
Ryan Houdek a30a528dd1 Add the ability to generate a files MD5sum.
This adds the ability to generate a files MD5sum in the ISO properties.
This uses polarssl to generate the MD5Sum.
2014-04-14 16:35:11 -05:00
Ryan Houdek 60202cff15 Merge pull request #258 from Sonicadvance1/More-Fastmem
[ARM] Implements more fastmem instructions in lXX.
2014-04-14 00:42:44 -05:00
Ryan Houdek 3f73fc37fc [ARM] Implements more fastmem instructions in lXX.
There are a few instructions in lXX that aren't currently fastmem capable due to using a register offset.
This implements fastmem for those few instructions.
Really I'll be changing how ARMv7 fastmem works in the future so this is really temporary code.
Just don't know how long it'll stay.
This relies on PR #257
2014-04-14 00:38:46 -05:00
Ryan Houdek a07f8fb65b Merge pull request #257 from Sonicadvance1/LoadStore-Fix
[ARM] Minor cleanup to lXX and stX. Fixes a bug.
2014-04-14 00:38:13 -05:00
Ryan Houdek 3910437447 Merge pull request #272 from magumagu/jitil-fix-srawi
JitIL: fix carry computation for srawi.
2014-04-14 00:38:06 -05:00
Ryan Houdek a9fa49f34d Support checking for the Mali-T7xx line of GPUs.
They are similar enough that they will share bugs with their drivers, so make them fall under the same Mali-Txxx umbrella of bug issues.
If there is ever a need in the future for having separate bugs depending on family, we can support that then.
2014-04-11 23:46:44 -05:00
Ryan Houdek ed67cc3fb2 Add the ability to determine the Mali driver version.
This is the only way we can determine the video driver version with mali.
Really it's a good thing that they only push driver updates once every two years, makes it easy to determine what driver anybody is running.
2014-04-11 23:38:40 -05:00
Ryan Houdek bedb386560 Merge pull request #242 from LPFaint99/GCMemcard
MemcardManager: Fix "export all saves"
2014-04-10 22:10:34 -05:00
Ryan Houdek d17d5ead07 [ARM] Minor cleanup to lXX and stX. Fixes a bug.
Fixes an issue in lXX where if the instruction was an update instruction and was a register address offset that we would add garbage values to the
writeback register.
Does some minor cleanups as well which save a few instructions here and there.
2014-04-10 02:17:01 -05:00
Ryan Houdek 87d106d65c Remove dumb CodeBlock duplication in the emitters.
Fixes issue 6990.
This uses a bit of templating to remove the duplicate code that is the CodeBlocks in each emitter headers.
No actual functionality change in this.
2014-04-09 13:53:43 -05:00
Ryan Houdek ccc4866118 Fix Fastmem on ARM once more. 2014-04-06 10:28:58 -04:00
Ryan Houdek 93c871522f Fix a bug in the ARMEmitter.
When creating a Fixupbranch we were swapping the BL and B targets.
I think this was found by PPSSPP a while ago, but they never send PRs to merge their changes upstream.
2014-04-06 10:28:41 -04:00
Ryan Houdek 3251d78f89 Add initial support for GLSL ES 3.10.
GLSL ES 3.10 adds implicit support for the binding layout qualifier that we use.
Changes our GLSL version enums to bit values so we can check for both ES versions easily.
2014-04-03 00:46:09 -05:00
Ryan Houdek ca9ee3586f Merge pull request #227 from magumagu/swbackend-fix-shaders
SW backend: make shaders work on Intel/Windows.
2014-04-02 14:51:14 -05:00
Ryan Houdek 94ceb4d305 Merge pull request #203 from Sonicadvance1/fix-crash
Fix a crash that got recently introduced.
2014-03-23 22:56:15 -05:00