Commit Graph

11116 Commits

Author SHA1 Message Date
Shawn Hoffman
fa65eeb492 Apparently the debug build has not been freeing memory since 2008. Undo that. 2014-05-08 00:58:55 -07:00
Tillmann Karras
452cdefaa3 Use std::make_unique where it makes sense to
(and improve some other unique_ptr initializations).

Adapted from delroth's pull request.
2014-05-06 12:35:50 +02:00
Tillmann Karras
81d4d7368a Add a std::make_unique implementation
Some compilers we care about (mostly g++) do not support std::make_unique yet,
but we still want to use it in our codebase to make unique_ptr code more
readable. This commit introduces an implementation derivated from the libc++
code in the Dolphin codebase so we can use it right now everywhere.

Adapted from delroth's pull request.
2014-05-06 12:32:03 +02:00
Tony Wasserka
b4e1ac5f08 Merge pull request #185 from degasus/shader-cleanup
Shader cleanup
2014-05-06 11:37:11 +02:00
Ryan Houdek
aa30f5a6cb Change Android's default EFB configuration to texture instead of disabled. 2014-05-05 17:13:04 -05:00
magumagu
f123e08731 DVDInterface: tweak buffered reads to be a bit faster.
A read finishes when the result is complete in the drive's buffer, not
main memory.
2014-05-05 14:52:15 -07:00
magumagu
8014795d56 DVD emulation: make seek timing more accurate.
Based on real measurements of a Gamecube disk on a Wii.  (If anyone else
is interested in running more tests, I can upload my code; it's a mess at
the moment.)

This isn't a complete model, but it's a step in the right direction:
in Metroid Prime, the loading times are sane, and I think I managed to do it
without breaking anything.
2014-05-05 14:33:00 -07: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
Tony Wasserka
edbf90f9d2 Merge pull request #336 from magumagu/xfb-vertical-scale
XFB width/height handling fixes
2014-05-05 22:05:21 +02: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
Tony Wasserka
093ee090b8 Merge pull request #339 from magumagu/opengl-unused-parameter
OpenGL: delete unused function parameter in TextureConverter.
2014-05-05 20:05:08 +02:00
magumagu
c01ac18d4d VideoInterface: clean up naming and bitfields.
Matching the hardware more closely will hopefully make this code easier to
read.
2014-05-05 11:01:15 -07:00
magumagu
716b3fefd4 VideoCommon: recreate XFB texture when the XFB size changes.
We need to do this to correctly deal with games which dynamically change the
XFB width and height.
2014-05-05 11:01:14 -07:00
magumagu
2db2f3dce9 VideoInterface: accurate XFB width and height.
What we call "fbWidth" here is really the stride, but I'll fix that in a
followup.
2014-05-05 11:01:14 -07:00
magumagu
bca0b7b543 OpenGL: delete unused function parameter in TextureConverter.
(While I'm here, also mark some functions static.)
2014-05-05 10:56:36 -07: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
degasus
813e30ec2a ShaderGen: make uv readonly 2014-05-05 17:06:38 +02:00
degasus
6109958e68 ShaderGen: OGL: don't make a copy of "Normal" 2014-05-05 17:06:37 +02:00
degasus
0e0da8c8fd ShaderGen: make clipPos readonly 2014-05-05 17:06:37 +02:00
degasus
c80717ac2e PixelShaderGen: extract iround 2014-05-05 17:06:37 +02:00
degasus
2bc2b73e03 PixelShaderGen: drop fmod as it isn't used any more 2014-05-05 17:06:37 +02:00
degasus
c82991df5b ShaderGen: inline constant shaders 2014-05-05 17:06:37 +02:00
degasus
b0878c54b2 ShaderGen: use cbuffers for D3D 2014-05-05 17:06:37 +02:00
degasus
fe9fcfdd07 ShaderGen: merge early-z blocks of ogl+d3d 2014-05-05 17:06:37 +02:00
degasus
3e14bf511f ShaderGen/D3D: inline centroid 2014-05-05 17:06:36 +02:00
degasus
25b8edd2a6 ogl: fix signed vs unsigned comparison warning 2014-05-05 17:06:36 +02: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
magumagu
2e464800bc VideoCommon: correctly compute whether an indirect texture stage is active.
This is consistent with the implementation in PixelShaderGen.
2014-05-04 22:44:10 -07:00
magumagu
52c42a2946 VideoCommon: fix indirect texture coordinate computation in TEV.
Even if an indirect texture stage doesn't actually sample a texture, we
still need to emit the relevant math.

Fixes Issue 7092.
2014-05-04 22:12:57 -07:00
Lioncash
f4d80bd8a5 Move the #pragma once header guard before the includes in Statistics.h in VideoCommon. 2014-05-04 00:24:21 -04:00
Tillmann Karras
4cce79e744 Jit64: implement tw/twi more accurately
Fixes issue 7253.
2014-05-03 12:30:07 +02:00
Ryan Houdek
a1374dd4ba Merge pull request #329 from Tilka/rounding
Small FPU settings changes
2014-05-02 12:11:09 -05:00
LPFaint99
b549ec70b4 GCMemcard: fix edge case of adding to a fragmented memcard.
allocates last block of memcard, and then wraps around, instead of attempting to write past the end of the card
2014-05-01 12:21:48 -07:00
Tony Wasserka
557c3db462 Merge pull request #81 from degasus/skip_framelimit_hotkey
Add a hotkey for disabling the framelimit.
2014-05-01 12:40:01 +02:00
Tony Wasserka
95f097d79b Revert "Merge pull request #62 from degasus/log_truncate_path" because it was merged without consensus.
This reverts commit 1b581b7c27, reversing
changes made to 951612f08e.
2014-05-01 11:00:21 +02:00
Tony Wasserka
2cf8f55ad3 Merge pull request #310 from Sonicadvance1/Integer-posmtx
Change over to use integer posmtx in our vertex shaders
2014-05-01 10:52:18 +02: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
Tillmann Karras
9de77b7c23 x64FPURoundMode: always set x87 precision
Set the x87 precision, even on x64. Since we are using x87 instructions
in the JIT now, we can't guarantee that x87 precision will never
influence Dolphin on x64.
2014-05-01 01:10:00 +02:00
Tillmann Karras
ed762a3eda x64FPURoundMode: use fesetround() instead of asm 2014-05-01 01:09:55 +02:00
Pierre Bourdon
951612f08e Merge pull request #325 from Tilka/nop
Fix NOP padding
2014-04-30 18:55:36 +02: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
Tillmann Karras
36dbde0f3c Jit_Util: reduce NOP padding of 8 bit loads
and use MOVSX directly if needed.
2014-04-30 15:26:11 +02:00
Tillmann Karras
e659f5ac58 JitBackpatch: fix NOP padding
The new NOP emitter breaks when called with a negative count. As it
turns out, it did happen when deoptimizing 8 bit MOVs because they are
only 4 bytes long and need no BSWAP.
2014-04-30 15:26:11 +02:00
booto
9892c8ea54 numCyclesMinusOne to numCycles in GekkoOPInfo 2014-04-30 19:04:02 +08:00
degasus
f254fdfd96 drop Host_GetKeyState
This function isn't used any more and it shouldn't be used at all as it generates a sync request to the x11 server. So it has to wait for a complete round trip time.
2014-04-30 12:51:13 +02:00
degasus
30586f4d29 Add set/get functions for IsFramelimiterTempDisabled 2014-04-30 12:51:13 +02:00
degasus
8483811b39 Add a hotkey for disabling the framelimit.
Atm this is hardcoded to '\t'.
2014-04-30 12:50:53 +02:00
Sean Maas
5865ae2d6f Add a comment about game list color 2014-04-27 20:03:30 -04:00
Sean
be7f39445f Make the Android UI more like the desktop UI 2014-04-27 17:13:09 -04:00
Tony Wasserka
a40ea4e26a Merge pull request #236 from magumagu/d3d11-fix-peekz
D3D11: Use appropriate shader for PEEK_Z.
2014-04-27 16:09:02 +02:00
Pierre Bourdon
aef24d509b Merge pull request #304 from Tilka/nop
Optimize NOPs
2014-04-27 11:52:05 +02:00
Pierre Bourdon
a093b41231 Merge pull request #312 from Tilka/small_jit_optimizations
Small JIT optimizations
2014-04-27 11:51:21 +02:00
Pierre Bourdon
8bf2a338c4 Merge pull request #314 from Sonicadvance1/Clean-UpdateCR1
Removes unused argument in Helper_UpdateCR1.
2014-04-27 11:50:44 +02:00
Sean
895e84edfe ARM: Fix Wii games on JIT 2014-04-25 18:32:49 -04:00
Sean
eef51fdde6 Android: Fix Scaled EFB Copy setting 2014-04-25 16:11:28 -04:00
Pierre Bourdon
25f5598e31 Merge pull request #306 from neobrain/pixel_center_correction
VertexShaderGen: Correct vertex shader output to consider shifted pixel centers.
2014-04-25 09:32:36 +02: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
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
Tillmann Karras
886c887e80 Fix Fastmem on CPUs without MOVBE
The problem was that when BSWAP was used, UnsafeWriteRegToReg() returned
the address of that instead of the MOV.
2014-04-25 01:11:52 +02:00
Tillmann Karras
688644dd18 Jit64: use integer instructions for boolean logic
They are semantically equivalent and according to Agner Fog they can run
on more execution ports than their floating point counterparts (at least
on Intel CPUs).
2014-04-24 22:50:27 +02:00
magumagu
78292e5d18 Movie: don't use "hh" scanf modifier.
Attempting to use it with Visual Studio is a good way to corrupt the stack.
2014-04-24 11:05:25 -07:00
Tillmann Karras
12054e9f16 Jit64IL: remove dummy implementations 2014-04-24 18:52:56 +02:00
Tillmann Karras
1f2e551c8c BackPatch: make sure MOVBE is long enough 2014-04-24 16:36:03 +02:00
Tillmann Karras
acfd9ee76c Add remaining possible uses of MOVBE
Also fixes a missing 'break' statement in DisassembleMov().
2014-04-24 16:36:03 +02:00
Pierre Bourdon
13b1ff5160 Merge pull request #307 from neobrain/custom_textures_workaround
Workaround dumb custom texture loading logic.
2014-04-24 00:46:42 +02:00
Tony Wasserka
fe65474cc4 Software renderer: Update a reference link. 2014-04-24 00:42:08 +02:00
Tony Wasserka
ca2a79d0bd Workaround dumb custom texture loading logic so that D3D11, GL core (used on OS X) and GLES code paths have less broken custom textures. 2014-04-24 00:33:48 +02:00
Tony Wasserka
c47c32d4a8 VertexShaderGen: Correct vertex shader output to consider shifted pixel centers.
Fixes issue 267.
2014-04-24 00:21:17 +02:00
Tillmann Karras
957649b7af Optimize NOPs 2014-04-23 21:15:09 +02: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
9f12d02328 Merge pull request #295 from SeannyM/button-holding
Android: Allow finger movement while pressing button
2014-04-23 04:01:35 -05:00
Sean
4edb0a3134 Add braces 2014-04-22 19:40:03 -04:00
Sean
c81ac090c9 Clarify code with comments 2014-04-22 18:34:16 -04: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
magumagu
b5f71e901f PatchEngine: Remove no-op function LoadDiscList.
(The function just pushes elements onto an std::vector which is unused
otherwise.)
2014-04-21 21:07:02 -07:00
Sean
f489e30cd8 Release button after touch leaves boundaries
Now, your finger can still move around, but as soon as it leaves the button boundaries the button is released.
2014-04-21 22:59:08 -04:00
Sean
72f3d69a78 Android: Allow finger movement while pressing button 2014-04-21 21:24:49 -04:00
Tony Wasserka
762572a08c BPMemory: Fix GenMode using an incorrect number of bits for the number of color chans. 2014-04-21 22:47:08 +02:00
Tony Wasserka
16d3dbc5ea BPMemory: Use BitField for the GenMode fields. 2014-04-21 22:34:23 +02:00
Pierre Bourdon
8e38b1e63b Merge pull request #285 from delroth/movbe
WriteToConstRamAddress: support swap on 32 bit too
2014-04-21 02:23:30 +02:00
Pierre Bourdon
78b3eb1e64 Merge pull request #289 from Sonicadvance1/Fix-IPL-Horizontal-Offset
Change IPL horizontal offset from +5 to 0.
2014-04-20 01:26:41 +02:00
Tillmann Karras
c9405b2030 BitFieldTest: fix warnings 2014-04-19 18:31:35 +02:00
Pierre Bourdon
79df318a76 Merge pull request #284 from delroth/jitil-exp
DolphinWX Config: mark JITIL as slower to remove a source of confusion
2014-04-19 14:53:30 +02:00
Pierre Bourdon
d8ca861fec Merge pull request #287 from Tilka/unused_variable
Fix "warning: unused variable 'skipFrames'"
2014-04-19 09:03:19 +02:00
Pierre Bourdon
8a5c0b3894 Merge pull request #288 from magumagu/remove-hid2-panicalert
Interpreter: don't PanicAlert on write to SPR_HID2.
2014-04-19 09:02:49 +02: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
magumagu
002fb0b563 Interpreter: don't PanicAlert on write to SPR_HID2.
The alert apparently triggers on Midway Arcade Treasures 2; given that the
game otherwise works fine, it's not a high priority to accurately emulate
the bit in question.

Fixes issue 7197.
2014-04-18 20:20:42 -07:00
Tillmann Karras
d523d2002b Fix "warning: unused variable 'skipFrames'" 2014-04-19 04:59:37 +02:00