magumagu
39d439fc48
Opcode decoding: handle missing opcodes 0x88 etc.
...
Hardware testing shows that they do the same thing as the 0x80 family of
opcodes: they draw quads.
2014-05-10 20:33:28 -07:00
shuffle2
2983ae2823
Merge pull request #357 from shuffle2/master
...
Revert "x64FPURoundMode: always set x87 precision"
2014-05-10 20:26:56 -07: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
Shawn Hoffman
700c135386
Revert "x64FPURoundMode: always set x87 precision"
...
This reverts commit 9de77b7c23
.
Setting x87 precision control is only supported on x86 platforms (not ARM or x64).
2014-05-10 20:21:07 -07:00
magumagu
369c0c4ce2
Opcode decoding: 0xC0 isn't a valid command.
...
Fix our opcode decoders to handle this appropriately.
2014-05-08 15:49:19 -07:00
magumagu
4f5421ffb5
DVDInterface: code cleanup.
2014-05-08 11:47:38 -07:00
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
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
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
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
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
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
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
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
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
comex
5a5e63bdd4
Merge pull request #282 from Tilka/atomic_clang_fix
...
Atomic: support clang 3.4+
2014-04-18 20:31:33 -04:00
Pierre Bourdon
257b11366d
WriteToConstRamAddress: support swap on 32 bit too
2014-04-19 02:23:57 +02:00
Pierre Bourdon
5f7ed5bd45
DolphinWX Config: mark JITIL as slower to remove a source of confusion for users.
2014-04-18 00:43:49 +02:00
pinumbernumber
a84bb7eb88
Add support for the guide button to XInput
2014-04-17 12:03:44 +01:00
Tillmann Karras
b3c7395a23
Atomic: support clang 3.4+
2014-04-17 10:39:02 +02:00