Ryan Houdek
1ad1a9062a
Remove PowerPCState::DebugCount.
...
This value was "helpful" for debugging when the stack got corrupted.
Helpful that if gpr[1](Which is the stack pointer with PPC ABI) is zero then the interpreter would spam huge amounts of annoy text saying that we
managed to get in to a "corrupted" state.
This is incremented every instruction on the interpreter, or every block run on the JIT64....Only if debugging is enabled(JIT64 it is a const
variable)
The message is only outputted when interpreter is used and debugging is enabled.
2014-09-03 00:26:57 -05:00
Ryan Houdek
031beca9c9
Merge pull request #943 from Sonicadvance1/arm32-asserts
...
Add some static_asserts to the Arm32 JIT to make sure ppcState is sane.
2014-09-02 18:52:22 -05:00
Ryan Houdek
1bc246735b
Add some static_asserts to the Arm32 JIT to make sure ppcState is sane.
2014-09-02 18:38:42 -05:00
Ryan Houdek
1a6268e6cf
Merge pull request #899 from FioraAeterna/checkram
...
JIT: fix RAM check in load-from-constant-address
2014-08-30 20:49:33 -05:00
Ryan Houdek
b6cd099e2a
Merge pull request #906 from lioncash/cruft
...
DiscIO: Get rid of unnecessary struct differencing
2014-08-29 19:51:05 -05:00
Ryan Houdek
5724e4021d
Remove the SSE2 messagebox.
...
This is no longer required since we don't support x86_32 anymore.
x86_64 implies SSE2 support.
Also this check was a bit messed up and was hitting on Generic builds.
2014-08-29 12:13:54 -05:00
Ryan Houdek
fc92490031
Merge pull request #902 from Sonicadvance1/android-64bit-support
...
Update shown CPU cores in the Android UI.
2014-08-28 18:20:35 -05:00
Ryan Houdek
5bf9472214
Update shown CPU cores in the Android UI.
...
Only show the JIT cores on x86_64(Will have its own issues once we reach that point)
Show AArch64 JIT if running on a AArch64 device(Good luck with that for now. Future proofing though)
2014-08-28 18:00:32 -05:00
Ryan Houdek
d140964d9b
Merge pull request #900 from Sonicadvance1/update-gradle
...
Update build.gradle to newer buildtools.
2014-08-28 17:58:48 -05:00
Ryan Houdek
b197f44518
Update build.gradle to newer buildtools.
...
Newer android studio versions now mandate at least build tools 20.0.0 and gradle 0.12+
So update the gradle file for this.
2014-08-28 17:21:48 -05:00
Ryan Houdek
0d63dd5e53
Update the android cmake toolchain file to support 64bit.
...
This is available in a PR here: https://github.com/taka-no-me/android-cmake/pull/23
The maintainer of the android toolchain cmake file seems to be AWOL for now.
I have tested this file personally and it works, it just isn't merged in yet
2014-08-28 16:57:48 -05:00
Ryan Houdek
ad8fe0fb52
Merge pull request #879 from FioraAeterna/frspx
...
JIT64: add frspx implementation
2014-08-28 14:12:21 -05:00
Ryan Houdek
4a78a8a72a
Merge pull request #876 from FioraAeterna/floatloadstore
...
JIT64: clean up and unify float load/store code
2014-08-28 13:37:27 -05:00
Ryan Houdek
23bf8df0e2
Merge pull request #894 from FioraAeterna/missingcvt
...
x64Emitter: add support for some missing CVT instructions
2014-08-28 13:18:35 -05:00
Ryan Houdek
0217fb2008
Merge pull request #843 from FioraAeterna/fprf
...
JIT: Initial FPRF support
2014-08-28 13:15:50 -05:00
Ryan Houdek
c908a1e212
Merge pull request #882 from Sonicadvance1/fix-pp-blackness
...
Fix PostProcessing shader garbage on screen.
2014-08-28 10:29:03 -05:00
Ryan Houdek
ca68526ec7
Clear the texture used by PP shaders prior to use.
...
We were generating a texture without ever setting the data to a known value.
This happened on the old code as well, just that PP shaders are receiving some love and people are using it and noticing some of its issues.
2014-08-28 10:16:39 -05:00
Ryan Houdek
8e7d7418af
Merge pull request #890 from degasus/glx
...
glx: fix shutdown hang
2014-08-28 09:13:50 -05:00
Ryan Houdek
db039d1440
Merge pull request #850 from lioncash/unused-headers
...
Core: Removed blank headers Boot_ELF.h and Boot_WiiWAD.h
2014-08-22 02:07:10 -05:00
Ryan Houdek
fc5a73d62e
Merge pull request #849 from FioraAeterna/fixppcanalyzer
...
PPCAnalyzer: move num_instructions initialization to correct place
2014-08-22 00:14:11 -05:00
Ryan Houdek
355f7b366b
Merge pull request #831 from FioraAeterna/cleanupimm
...
JIT: cleanup unnecessary immedate size-checking logic
2014-08-19 04:15:22 -05:00
Ryan Houdek
bac9634fde
Merge pull request #803 from ChuckRozhon/cast_from_double_to_u8_warnings
...
Removed warnings by explicitly casting to `u8` for controllers
2014-08-18 17:01:02 -05:00
Ryan Houdek
859564a2d0
Merge pull request #829 from Sonicadvance1/qualcomm-fixed-rotation
...
Qualcomm fixed screen rotation in their latest v66 development drivers.
2014-08-18 01:29:45 -05:00
Ryan Houdek
7d90a00bbe
Qualcomm fixed screen rotation in their latest v66 development drivers.
...
The framebuffer is no longer rotated the wrong way around in Qualcomm's latest development drivers.
They did something right, only took them over a year.
2014-08-18 00:17:09 -05:00
Ryan Houdek
2d624780c0
Catch broken configurations inside of the Post Processing shaders.
...
This catches most instances of configuration failures that can happen in a post processing shader.
Gives a user a helpful error message that lets them know what they have failed to set up correctly
2014-08-17 23:59:21 -05:00
Ryan Houdek
32fb61816b
Fixes PP-shaders on !Mesa targets.
...
Seems mesa has a quirk where
define THING(x) (#x)
is the same as
define THING(x) (##x)
Didn't realize I messed it up since it just worked since I only tested on Mesa.
2014-08-17 21:28:59 -05:00
Ryan Houdek
e3e1869493
Merge pull request #825 from FioraAeterna/x64emitter
...
x64Emitter: refactor to support longer opcodes
2014-08-17 13:07:56 -05:00
Ryan Houdek
7222eb11e0
Merge pull request #822 from FioraAeterna/integerflush2
...
JIT: flush *after* the merged branch, not before
2014-08-17 02:34:15 -05:00
Ryan Houdek
7a2fe73310
Merge pull request #816 from Sonicadvance1/fix-not-button
...
Fix the Not button showing up in the advanced control dialog.
2014-08-15 20:25:56 -05:00
Ryan Houdek
239e04db02
Merge pull request #757 from Tilka/ps_sum0
...
Jit64: re-enable ps_sum0
2014-08-15 20:25:14 -05:00
Ryan Houdek
9afc16961f
Fix the Not button showing up in the advanced control dialog.
...
The Not button isn't supposed to show up on outputs to controllers.
When we generate the button it still shows up if it isn't added to the sizer since the parent window still owns it.
Fixes this issue report https://forums.dolphin-emu.org/Thread-linux-ui-bug-in-gc-pad-configuration-menu?pid=335269#pid335269
2014-08-15 20:09:35 -05:00
Ryan Houdek
46491ee7a4
Merge pull request #806 from archshift/readability
...
FrameTools.cpp: Alignment of long lists
2014-08-15 03:23:36 -05:00
Ryan Houdek
64697abe48
Merge pull request #798 from FioraAeterna/integerflush
...
JIT: Don't needlessly flush register state in merged integer+branch code
2014-08-14 12:21:03 -05:00
Ryan Houdek
952eaa2449
Merge pull request #801 from FioraAeterna/mergebranchfix
...
JIT: correctly set skipNext even if conditional-continue is off
2014-08-14 11:40:56 -05:00
Ryan Houdek
7f3458e957
Merge pull request #800 from FioraAeterna/showdebugjit
...
Debugger: make "PPC to x86" open JIT window
2014-08-14 10:41:42 -05:00
Ryan Houdek
e6fa582753
Merge pull request #799 from FioraAeterna/mergebranchfix
...
JIT: correctly set skipNext even if conditional-continue is off
2014-08-14 10:12:19 -05:00
Ryan Houdek
f2a1dd91fe
Merge pull request #693 from Sonicadvance1/PP-shaders-improvement
...
Improved system for post processing shaders.
2014-08-13 02:41:15 -05:00
Ryan Houdek
287758f15d
Add the configuration dialog for post processing configuration options.
...
Only enables the config button when the shader options available to it
2014-08-13 01:05:15 -05:00
Ryan Houdek
32fe37d834
Change all the post processing shaders to the new system.
...
Removes the README.txt file in favour of a new wiki page I'm going to generate.
2014-08-13 01:05:15 -05:00
Ryan Houdek
cced3b4a18
Change OpenGL's post processing to use the new VideoCommon PP object.
...
Let's OpenGL's PostProcessing namespace be changed to a class inheriting from VideoCommon's PostProcessing class.
2014-08-13 01:05:15 -05:00
Ryan Houdek
b8a21b3744
Add the PostProcessing class object to RenderBase in VideoCommon.
...
Backends will initialize this variable with their own inherited PostProcessing class object.
2014-08-13 01:05:14 -05:00
Ryan Houdek
6bdc32c54a
Add the VideoCommon PostProcessing class.
...
This class loads all the common PP shader configuration options and passes those options through to a inherited class that OpenGL or D3D will have.
Makes it so all the common code for PP shaders is in VideoCommon instead of duplicating the code across each backend.
2014-08-13 01:05:10 -05:00
Ryan Houdek
3a657fe33c
Add TryParseVector to StringUtil.
...
Adds a nice way to have options be in a vector for results
2014-08-12 23:45:14 -05:00
Ryan Houdek
88934fdef8
Merge pull request #751 from FioraAeterna/fixsignext
...
JIT64: correctly sign-extend immediate RC values
2014-08-06 20:50:35 -05:00
Ryan Houdek
ee7b861ffc
Merge pull request #727 from delroth/flags-opt
...
Jit64: Fix immediates being zero-extended to cr_val instead of sign-extended.
2014-08-03 18:09:10 -05:00
Ryan Houdek
0c24e1dcf2
Remove the rest of x86_32 support from Common.
2014-08-03 13:49:46 -05:00
Ryan Houdek
a70fad4dcb
Removes x86_32 from Visual Studio Base properties.
2014-08-03 13:48:53 -05:00
Ryan Houdek
e004c8ff2d
Remove x86_32 from x64MemTools
2014-08-03 13:48:53 -05:00
Ryan Houdek
8a123b4d75
Remove x86_32 from the JIT block "profiler."
2014-08-03 13:48:53 -05:00
Ryan Houdek
e357fea279
Remove x86_32 from JitCommon.
2014-08-03 13:48:53 -05:00
Ryan Houdek
f2457bbe9d
Remove x86_32 from Jit64IL.
2014-08-03 13:47:56 -05:00
Ryan Houdek
1d5281068d
Remove x86_32 from Jit64.
2014-08-03 13:45:54 -05:00
Ryan Houdek
d9b5482840
Remove x86_32 from VertexLoader.
2014-08-03 13:44:37 -05:00
Ryan Houdek
35bebe9ce0
Remove x86_32 from the DSP JIT.
2014-08-03 13:44:37 -05:00
Ryan Houdek
21ee61d7fc
Remove x86_32 from DolphinWX.
2014-08-03 13:44:37 -05:00
Ryan Houdek
7e83a0ea9b
Merge pull request #700 from jimbo1qaz/master
...
Fix D3D Real XFB texture sampling.
2014-08-01 22:57:44 -05:00
Ryan Houdek
842f8888f8
Merge pull request #706 from degasus/master
...
ogl: fix rasterfont
2014-07-31 12:08:54 -05:00
Ryan Houdek
33450c80c3
Fixes a check for what mmap returns.
...
On error mmap returns MAP_FAILED(-1) not null.
FreeBSD was checking the return correctly, Linux was not.
This was noticed by triad attempting to run Dolphin under valgrind and not getting a memory space under the 2GB limit(Because -1 wraps around on
unsigned obviously)
2014-07-31 00:53:00 -05:00
Ryan Houdek
fda2190a37
Support the 64bit CR flags in the ARM JIT.
2014-07-30 21:41:18 -07:00
Ryan Houdek
3627bd21f1
Remove JitArmIL files from the project.
...
Due to how the new CR-flags work, it isn't possible without some hefty work in the JITIL backend to support this on 32bit systems.
2014-07-30 21:41:17 -07:00
Ryan Houdek
91647f5944
Merge pull request #697 from lioncash/unused-android
...
Android: Remove an unused variable from MainAndroid.cpp
2014-07-29 20:08:06 -05:00
Ryan Houdek
e91db62f1b
Merge pull request #663 from moshekaplan/patch-1
...
Prevent potential buffer overflow in sscanf
2014-07-23 10:00:49 -05:00
Ryan Houdek
bc9ef95643
Support Sampler binding in the shader.
...
In the cases where we support the binding layout keyword, use it for more than binding UBO location.
This changes it so it is supported for samplers as well.
Instances when this is enabled is if a device supports GL_ARB_shading_language_420pack, or if it supports GLES 3.10.
2014-07-18 17:04:03 -05:00
Ryan Houdek
11a0f5ddc5
Merge pull request #636 from SeannyM/android-filter
...
[Android] Enable filtering onscreen buttons
2014-07-16 19:37:53 -05:00
Ryan Houdek
4483b64bcb
Merge pull request #463 from degasus/vertex_format_cache
...
VideoCommon: Cache native vertex formats
2014-07-06 05:26:42 -05:00
Ryan Houdek
aae1630949
Merge pull request #533 from Anti-Ultimate/master
...
Fix OpenGL VSync
2014-06-28 11:06:57 -05:00
Ryan Houdek
d0ad84f69b
Merge pull request #503 from Sonicadvance1/PowerPC-downcount
...
Move CoreTiming::downcount to PowerPC::ppcState.
2014-06-25 21:01:49 -05:00
Ryan Houdek
a40ae6883a
Move CoreTiming::downcount to PowerPC::ppcState.
...
This isn't technically the correct place to have the downcount variable, but it is similar to what PPSSPP does to gain a bit of extra speed on ARM.
We access this variable quite a bit, with each exit in a block it is subtracted from.
On ARM this required four instructions to load and store the value, while now it only requires two.
This gives an average of 1FPS gain to most games.
Examples:
Crazy Taxi: 54FPS -> 55FPS
Luigi's Mansion: 20FPS -> 21FPS
Wind Waker(Save Screen): 27FPS -> 28FPS
This seems to average a 6mhz to 16mhz CPU core emulation improvement in the few games I've tested.
2014-06-26 01:48:00 +00:00
Ryan Houdek
a99ad2db7c
Merge pull request #499 from magumagu/ipchle-disk-channel
...
ES_LAUNCH fixes for disk channel etc
2014-06-25 04:00:57 -05:00
Ryan Houdek
d62ae92b8f
Merge pull request #373 from sigmabeta/android-ui-cleanup
...
Soften up some of the UI elements on Android
2014-06-19 19:25:52 -05:00
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
5147e721ae
Revert "PPCAnalyst now detects internal branches better"
...
This reverts commit 31ec57ab81 .
2014-06-10 04:58:56 -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