Commit Graph

8454 Commits

Author SHA1 Message Date
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
booto
9892c8ea54 numCyclesMinusOne to numCycles in GekkoOPInfo 2014-04-30 19:04:02 +08: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
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
Pierre Bourdon
0908bd64dc Merge pull request #279 from Sonicadvance1/Reject-InvalidControllers
Don't use SDL devices that report invalid ranges.
2014-04-17 00:16:19 +02: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
magumagu
648b9865d8 D3D11 backend: fix rounding in texture encoder.
We need to explicitly round when converting colors from float to uint
because multiplying a normalized float by 255 might not result in a whole
number.  (The exact result here may vary depending on your
drivers/hardware.)

Ideally, we shouldn't be using floating point here, but fixing that is a
much more complicated patch.

Fixes gxtest TEV tests using Intel HD 4000.
2014-04-15 23:36:05 -07:00
magumagu
b3a67821e4 VideoCommon: fix rounding in TEV.
The hardware backends pass the TEV tests in gxtest with this change.
2014-04-15 16:47:01 -07:00
Matthew Parlane
1f0da63cbe Merge pull request #276 from neobrain/master
PixelShaderGen: Color combiner compare mode fix and simplification
2014-04-16 09:56:29 +12:00
Tony Wasserka
068f26d2aa PixelShaderGen: Fix an issue with color combiner compare mode and simplify the affected line a bit.
This was a mistake of mine when translating floating point values to integer values.
Also, the max() part of that line was just completely redundant because the sign of an absolute value is always greater than or equal to zero.

Fixes issue 7178.
2014-04-15 23:41:07 +02:00
magumagu
685d612c8c Software backend: don't skip red component in TEV. 2014-04-15 14:05:12 -07:00
magumagu
5e1c6aba33 Software backend: make TEV rounding match hardware.
Formulas stolen from gxtest.  (Not sure how "==" got turned into "!=", but
I'm pretty confident the patched version is correct.)
2014-04-15 14:04:46 -07: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