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
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
Pierre Bourdon
c549e2fca1
Merge pull request #265 from Sonicadvance1/GenerateMD5Sum
...
Add the ability to generate a file's MD5sum.
2014-04-15 01:19:53 +02: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
Pierre Bourdon
cf315a487f
Merge pull request #271 from delroth/threading-stuff
...
Threading improvements: add Common::Flag and improve Common::Event
2014-04-14 23:23:16 +02:00
Pierre Bourdon
7074feacbe
Common::Event: Add a faster Windows specific implementation based on the concurrency runtime.
2014-04-14 23:13:15 +02:00
Pierre Bourdon
48bd904028
Common::Event: Implement in terms of Common::Flag to get rid of a volatile and optimize with early returns and atomic swaps
2014-04-14 23:13:15 +02:00
Pierre Bourdon
e24cad0780
Common::Flag: Add support for TestAndSet + test by implementing basic spinlocks.
2014-04-14 23:13:15 +02:00
Pierre Bourdon
fc71494742
Merge pull request #270 from neobrain/bitfield_fixes
...
Bitfield fixes
2014-04-14 20:24:01 +02:00
Tony Wasserka
774a394808
UnitTests: Add a test for BitField behavior on odd structure alignment.
2014-04-14 20:13:23 +02:00
Tony Wasserka
ccc04944b2
BitField: Fix alignment issues.
...
At least one platform (ARM with NEON instructions enabled) generates SIGBUSes if BitField objects aren't aligned properly.
2014-04-14 20:04:44 +02:00
Pierre Bourdon
6bdcbad3e4
Common: Move the Event class to a separate file, and add tests for it. Fix includes everywhere to match this.
2014-04-14 10:54:07 +02:00
Pierre Bourdon
f9fb39d383
Common: Add a 'Flag' class that is used to encapsulate a boolean flag manipulated from several threads
2014-04-14 10:54:07 +02:00
degasus
ee76a51d1f
Truncate the path on logging
...
Cmake compiles we an absolute path, so the macro __FILE__ also has the absolute file in it.
It seems that gcc doesn't provide macros for the basename, so we have to truncate them in c directly:
https://stackoverflow.com/questions/8487986/file-macro-shows-full-path
2014-04-14 10:39:52 +02:00
Tillmann Karras
296637d6f2
Fix crash when pressing Tab
...
When pressing Tab for a long time, Dolphin will sooner or later crash
because the result of FindFocus() has become NULL (toctou).
2014-04-14 10:27:41 +02:00
Tony Wasserka
4f3227b4a9
Merge pull request #261 from magumagu/pixelshadergen-extra-paren
...
PixelShaderGen: delete extra parenthesis
2014-04-14 09:48:02 +02:00
magumagu
a2150ef1f8
PixelShaderGen: delete extra parenthesis.
...
Without this patch, we can generate a pixel shader which doesn't compile
in some cases.
2014-04-14 00:41:27 -07:00
Matthew Parlane
4e0b7260b6
Merge pull request #263 from Sonicadvance1/DetermineMaliVersion
...
Add Mali driver version check and support of checking for Mali-T7xx
2014-04-14 19:20:04 +12: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
magumagu
1a4156a4a0
JitIL: fix carry computation for srawi.
...
The carry computation needs to be based on the input value, not the output
of the shift.
2014-04-13 20:31:32 -07:00
Pierre Bourdon
f034983b62
Merge pull request #262 from SlEePlEs5/master
...
Added BBA TAP backend for OS X.
2014-04-14 02:15:10 +02:00
Tony Wasserka
12841928df
BitField: Optimize generated assembly by forcing inlining.
2014-04-13 13:27:01 +02:00
magumagu
812ff4686b
OpenGL backend: remove useless header Globals.h.
...
The header has no content, so it can can just be deleted.
2014-04-12 19:25:37 -07:00
degasus
96ffbe345d
VideoSoftware: remove const memory usage of DebugUtil
2014-04-12 13:32:53 +02:00
SlEePlEs5
891fb056a3
Added BBA TAP backend for OS X.
...
TUN/TAP OS X needs to be installed, and /dev/tap0 chown’d to the user.
The tap0 network interface doesn’t appear until /dev/tap0 is opened by
the program, so all bridging must be done once the game is already
running.
Unfortunately, bridging seems to be broken on OS X, so this does not
actually work over LAN (yet!).
2014-04-12 09:51:34 +02:00
magumagu
f18a3cc650
OpenGL config: clear backend_info.Adapters on init
...
Fixes a minor UI glitch where if you switch from Direct3D to OpenGL, the
OpenGL config page would appear to have an adapter choice available.
2014-04-12 00:17:36 -07: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
Tony Wasserka
b106dbc96e
Merge pull request #235 from magumagu/videobackend-unused-config
...
VideoBackend: Remove unused config variables.
2014-04-12 00:06:02 +02:00
magumagu
fd9c1fa746
VideoBackend: remove unused config vars.
...
No point to keeping around variables which are always "true".
2014-04-11 14:53:12 -07:00
Pierre Bourdon
745fe14269
Jit64: Use LoadAndSwap/SwapAndStore where it makes sense.
2014-04-11 23:33:21 +02:00
Pierre Bourdon
6cb42859d4
JitAsmCommon: Use MOVBE everywhere it matters (!x86 only code, !old CPU support code).
2014-04-11 23:33:21 +02:00
Pierre Bourdon
fcbe265adc
Jit_Util: Provide two util functions to load/store and swap values, using MOVBE internally when possible.
2014-04-11 23:33:21 +02:00
Pierre Bourdon
b2597739ff
x64Emitter: Add the MOVBE instruction.
2014-04-11 23:33:21 +02:00
Pierre Bourdon
d2de1ddabc
CPUDetect: add support for MOVBE detection
2014-04-11 23:29:03 +02:00
magumagu
76d7c1eb9c
D3DBackend: Don't recompute ID3D11Layout.
...
CreateInputLayout requires a shader as an input, but it only cares about
the signature; we don't need to recompute it for different shaders with
the same inputs.
2014-04-11 13:13:01 -07:00
Tony Wasserka
306b9afd1e
Merge pull request #224 from magumagu/swrender-deletepixelfork
...
Software backend: Delete forked PixelEngine.
2014-04-11 20:01:23 +02:00
Ryan Houdek
bedb386560
Merge pull request #242 from LPFaint99/GCMemcard
...
MemcardManager: Fix "export all saves"
2014-04-10 22:10:34 -05:00
Kristian Buchman
abd57f7198
Updated the Cmake and VCX project files
2014-04-10 12:10:55 -06:00
Kristian Buchman
45589e7735
Renamed all Core/DPS/Dsp* files to Core/DSP/DSP*
2014-04-10 12:10:55 -06:00
Pierre Bourdon
36a693e4fc
Merge pull request #252 from shuffle2/master
...
Assign "user_defined" value properly for downloaded Gecko codes.
2014-04-10 12:23:42 +02: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
Tony Wasserka
cdf6172348
Merge pull request #213 from Jezze/vertexloader-cleanups
...
Vertexloader cleanups
2014-04-10 08:52:36 +02:00
magumagu
4990b8910b
DSound: use DSound notifications to produce sound.
...
Pretty straightforward; IDirectSoundNotify lets you register for
notifications after a certain amount of sound has played, so use that
instead of depending on Update() notifications from the CPU thread.
Also, while I'm here, reduce the buffer size by a factor of 4; this seems
to reduce the latency, although the difference is sort of subtle.
2014-04-09 13:41:27 -07: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
Shawn Hoffman
0c145dd1aa
Assign "user_defined" value properly for downloaded Gecko codes.
...
Fixes Issue 7156.
2014-04-08 14:52:17 -07: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
magumagu
d0f89b2b63
SWBackend: Fix code style.
2014-04-05 13:08:00 -07:00
magumagu
accd652aa1
Fix trailing whitespace.
2014-04-04 16:25:08 -07:00
Matthew Parlane
13119e6755
Merge pull request #240 from Sonicadvance1/GLSLES310_binding
...
Add initial support for GLSL ES 3.10.
2014-04-04 08:43:20 +13:00
Pierre Bourdon
c68be42c55
Merge pull request #226 from LPFaint99/Issue6753
...
Use a 251 block Memory card for games that do not work with larger cards. Fixes Issue 6753
2014-04-03 10:15:43 +02:00
LPFaint99
6333a4b5ba
fix exporting all saves in memcardmanager
2014-04-02 22:58:03 -07: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
Pierre Bourdon
2aac3f14b5
Merge pull request #238 from lioncash/fix-deprecations
...
Replace use of the deprecated mem_fun function with mem_fn.
2014-04-01 23:59:20 +02:00
pf packet
2aaca74dd5
Fix compilation error of Wayland_Util.h
...
This commit fixes the following error:
error: #endif without #if
2014-04-02 03:39:10 +09:00
lioncash
e79895e372
Replace use of the deprecated mem_fun function with mem_fn.
2014-04-01 12:09:22 -04:00
magumagu
f9d2f7e88c
D3D11: Use appropriate shader for PEEK_Z.
...
Trying to use GetDepthMatrixProgram outside of
TCacheEntry::FromRenderTarget is a bad idea, so don't. Instead, use a
shader which only copies the input.
Fixes lens flare depth test in Twilight Princess. See
http://code.google.com/p/dolphin-emu/issues/detail?id=5999 .
2014-03-30 19:50:53 -07:00
Pierre Bourdon
bad109402e
Merge pull request #233 from delroth/dsphle-cleanups
...
DSPHLE Zelda cleanups
2014-03-30 20:12:20 +02:00
Pierre Bourdon
76fafb1c7b
Merge pull request #220 from magumagu/audio-handling-cleanup-v2
...
Audio handling cleanup v2
2014-03-30 13:24:52 +02:00
Pierre Bourdon
9b03178673
Merge pull request #222 from comex/more-clang-fixes
...
More clang fixes
2014-03-30 13:24:08 +02:00
Pierre Bourdon
c7642e4712
DSPHLE: Rename variables in the Zelda UCode to match Dolphin's coding style
2014-03-30 13:06:45 +02:00
Pierre Bourdon
66fa0b626a
DSPHLE: Remove 'ZeldaObsolete.txt'
2014-03-30 12:51:21 +02:00
comex
92dd498fa7
Fix harmless warnings.
2014-03-30 01:40:11 -04:00
comex
b5654a2464
Don't cast -1 to enum to represent a missing value.
...
This is undefined behavior in C++, and a clang warning suggests it is
actually producing bad code as a result:
../Source/Core/VideoCommon/BPFunctions.cpp:164:45: warning: comparison of constant 4294967295 with expression of type 'PEControl::PixelFormat' is always false [-Wtautological-constant-out-of-range-compare]
if (new_format == old_format || old_format == (unsigned int)-1)
2014-03-30 01:40:06 -04:00
Pierre Bourdon
b31d1fd313
Merge pull request #232 from delroth/dsphle-cleanups
...
Random DSPHLE cleanups
2014-03-30 01:23:09 +01:00
Pierre Bourdon
c2ae791440
DSPHLE: Cleanup common style issues in Zelda.{cpp,h} (most of the file is not coding style compliant)
2014-03-30 01:13:33 +01:00
Pierre Bourdon
18ca5b880e
DSPHLE: Cleanup ROM.{cpp,h}
2014-03-30 01:13:33 +01:00
Pierre Bourdon
090e7637c8
DSPHLE: Cleanup INIT.{cpp,h}
2014-03-30 01:10:08 +01:00
Pierre Bourdon
41e9d8e1a4
DSPHLE: Cleanup GBA.{cpp,h}
2014-03-30 01:10:07 +01:00
Pierre Bourdon
061e3f998a
DSPHLE: Cleanup CARD.{cpp,h}
2014-03-30 01:10:07 +01:00
Pierre Bourdon
85ebffd839
DSPHLE: Cleanup AX{,Wii}.{cpp,h}
2014-03-30 01:10:07 +01:00
Pierre Bourdon
d3abe3824f
DSPHLE: Cleanup UCodes.{cpp,h}
2014-03-30 01:10:07 +01:00
Matthew Parlane
2e119af086
Merge pull request #230 from Parlane/libogc_ios_fix
...
Fixes Wiimotes for libogc.
2014-03-30 12:07:02 +13:00
Pierre Bourdon
17d64a1d50
DSPHLE: Mass rename classes to match our coding style better.
2014-03-30 00:01:15 +01:00
Pierre Bourdon
6bc845a804
DSPHLE: Rename files to remove redundant 'UCode' prefix.
2014-03-30 00:01:15 +01:00
Matthew Parlane
cb319ba1da
Fixes Wiimotes for libogc.
...
Caused by USB not writing back expected values.
Fixes Issue 7109
2014-03-30 11:04:30 +13:00
magumagu
bdcd5ba39b
SW backend: make shaders work on Intel/Windows.
...
Apparently the Intel shader compiler doesn't implement "#if" correctly...
so use "#ifdef" instead.
2014-03-29 13:10:43 -07:00
magumagu
0661efea84
Software backend: Delete forked PixelEngine.
...
Mostly just zapping a bunch of duplicated code; the only interesting thing
going on here is the changes to the performance counter implementation.
2014-03-29 12:07:20 -07:00
magumagu
3afa17f752
Move audio handling out of DSP emulation.
...
This is good for a couple of reasons: one, it gets rid of duplicated code,
and two, DSP emulation shouldn't need to interact with audio in the first
place.
2014-03-29 11:19:32 -07:00
magumagu
78499e5b7c
Delete AudioCommon::UseJIT().
2014-03-29 11:19:31 -07:00
magumagu
102ea55f20
Move mixer construction to AudioCommon.cpp.
2014-03-29 11:19:30 -07:00
magumagu
aac4206664
Move UDSPControl structure into DSP.h .
2014-03-29 11:19:19 -07:00
LPFaint99
c47f047ac6
Use memory card 251 for games that cannot use large memory cards
2014-03-29 10:14:24 -07:00
Lioncash
c351e12fe5
Fix assertion fails in FifoPlayerDlg.cpp.
2014-03-29 12:39:54 -04:00
Lioncash
366c83c4e0
Remove unnecessary wxT declarations in FifoPlayerDlg.
...
These are not needed anymore since wx 3.0. Also some minor formatting stuff.
2014-03-29 12:27:51 -04:00
Lioncash
73a3a6726d
Add the algorithm header to a few FifoPlayer cpp files.
...
Both of them use std::min and std::max, but this header wasn't included.
2014-03-29 10:42:28 -04:00
Pierre Bourdon
664c8d30a0
Remove all trailing whitespaces from our codebase.
2014-03-29 11:05:44 +01:00
comex
4d5df0d008
Fix IsTriviallyCopyable for volatile (fixes Mac build).
...
Between C++11 and C++14, volatile types stopped being trivially
copyable. The serializer has no reason to care about this distinction,
so tack on remove_volatile.
2014-03-27 23:42:52 -04:00
Lioncash
52c1db81ee
Fix include order in EGL.h.
2014-03-27 20:26:52 -04:00
magumagu
23174d25c6
Minor Ucode cleanup.
...
Clean out unnecessary references to the audio system from the ucode
implementation.
2014-03-27 14:16:16 -07:00
Pierre Bourdon
784c636db8
Merge pull request #214 from magumagu/zelda-ucode-cleanup
...
Zelda ucode cleanup
2014-03-27 09:57:03 +01:00
Jens Nyberg
73176d0333
VideoCommon/VertexLoader: Add more use of std::min and std::max
2014-03-27 00:33:41 +01:00
Jens Nyberg
478a27e052
VideoCommon/VertexLoader: Remove duplicate point min and max calculation
2014-03-27 00:24:48 +01:00
magumagu
8a3da44d91
Fix CMake build.
2014-03-26 15:59:23 -07:00
Jens Nyberg
0c62ae9c1a
VideoCommon/VertexLoader: Remove NRM enum
2014-03-26 23:56:57 +01:00
magumagu
f8b7a2fc10
Add audio output for Zelda Ucode variants.
...
Untested.
2014-03-26 15:17:37 -07:00
magumagu
e9896c1ff9
Use correct sample rate in Zelda Ucode HLE.
...
The Ucode's output should be independent of the sample rate Dolphin is using.
2014-03-26 15:12:00 -07:00
magumagu
3b62e8b798
Fix minor Zelda Ucode audio corruption.
...
Stupid mistake in my previous commit; the value of m_CurBuffer was
off-by-one.
2014-03-26 14:34:00 -07:00
magumagu
4fafa954a1
Zelda Ucode partly working without Premix hack.
...
The code is still completely wrong, and it only outputs some sound,
but the mess is confined to the Zelda Ucode implementation.
2014-03-26 14:06:32 -07:00
magumagu
8dad1be319
Fix sound buffer addresses in Zelda UCode HLE.
...
The code previously mixed up the addresses of the right and left buffer;
testing shows that the address of the left buffer comes first.
2014-03-26 14:06:30 -07:00
Pierre Bourdon
f6a343df79
Merge pull request #211 from magumagu/win32-jit-fixes
...
Win32 jit fixes
2014-03-26 20:18:04 +01:00
magumagu
ae9367a89b
Delete a bunch of old audio HLE cruft.
...
This commit intentionally breaks audio output from HLE Zelda UCode; no other functional change.
2014-03-26 11:17:19 -07:00
Pierre Bourdon
ea6b37cb75
Merge pull request #193 from neobrain/tev_combiner_fixes
...
PixelShaderGen: Cleanups and fixes for tev combiners.
2014-03-26 10:05:46 +01:00
Tony Wasserka
c6070b94ce
BPMemory: Fix an enum to use u32 as its underlying type.
2014-03-26 10:02:57 +01:00
magumagu
ca4e0495c0
Save registers before calls in x86-32 JIT.
...
I have no idea what the person who added RegistersInUse() was thinking,
but not correctly saving registers is an easy way to end up with crashes.
2014-03-25 20:50:14 -07:00
magumagu
4eab240e25
Compute stack usage correctly in ABI_CallFunctionPC.
...
(The numbers need to be consistent with the actual usage, or else the stack gets corrupted.)
2014-03-25 20:48:25 -07:00
magumagu
e4081b29f9
Use unaligned stores to save XMM regs to stack.
...
On Win32, the stack isn't aligned, so aligned stores will cause crashes.
2014-03-25 20:46:36 -07:00
Pierre Bourdon
5fc6ce59c3
Merge pull request #210 from magumagu/writerex-fix
...
Fix OpArg::WriteRex with 8-bit memory operand.
2014-03-26 02:34:44 +01:00
Tony Wasserka
1dead05cae
Software renderer: Properly calculate tev combiner output.
...
As pointed out by dolphin-emu/hwtests@461476112 .
2014-03-26 00:23:58 +01:00
Tony Wasserka
a8c8db8da7
Software renderer: Use color combiner configuration for alpha combiner compare mode inputs.
...
As pointed out by dolphin-emu/hwtests@f684f2498 .
2014-03-26 00:23:58 +01:00
Tony Wasserka
eb0f547a17
PixelShaderGen: Cleanups.
2014-03-26 00:23:36 +01:00
Tony Wasserka
4f82d6f7af
PixelShaderGen: Implement tev combiner lerping in a faster way which also reproduces hardware behavior perfectly.
...
The new behavior has been verified to be correct by hardware tests. This is an improvement over the old code, which was just a guess.
2014-03-26 00:17:04 +01:00
Tony Wasserka
fdad95c055
PixelShaderGen: Cleanups and fixes for tev combiners.
...
Fixes issue 4674.
2014-03-26 00:17:03 +01:00
Tony Wasserka
16105db709
BPMemory: Make use of BitField in a number of structures.
2014-03-25 23:57:58 +01:00
Tony Wasserka
8941f19cdb
BPMemory: Expose the pixel_format and zformat fields in PE_CONTROL as enumerations.
2014-03-25 23:57:58 +01:00
Tony Wasserka
77a7bab5ae
BPMemory: Use the new BitField class in two selected structures.
2014-03-25 23:57:57 +01:00
Tony Wasserka
948c0a54f1
UnitTests: Add tests for BitField.
2014-03-25 23:57:54 +01:00
Tony Wasserka
48a1790d81
Common: Add a generic class for accessing bitfields in a fast and endianness-independent way.
...
The underlying storage type of a bitfield can be any intrinsic integer type,
but also any enumeration.
Custom storage types are supported if the following things are defined on the storage type:
- casting 0 to the storage type
- bit shift operators (in both directions)
- bitwise & operator
- bitwise ~ operator
- std::make_unsigned specialization
2014-03-25 23:33:04 +01:00
magumagu
03292eabc2
Fix OpArg::WriteRex with 8-bit memory operand.
...
Previously he function was misbehaving because of a missing check for
whether an 8-bit operand was a register operand; it would therefore
emit unnecessary REX prefixes, incorrectly assert on 32-bit targets, and
could potentially emit wrong code in rare cases (like a memory to register
operation involving AH.)
Also, some cleanup while I was in the area to make the function easier to
read.
2014-03-25 14:09:15 -07:00
Matthew Parlane
6351f28ab4
Merge pull request #200 from lioncash/unused-param
...
Remove an unused parameter from UpdateDebugger_MapLoaded.
2014-03-25 09:20:23 +13:00
Pierre Bourdon
c929c3ebc1
Merge pull request #202 from Tilka/mathutil
...
MathUtil: add IntFloat/IntDouble constructors and test FlushToZero()
2014-03-24 21:20:09 +01:00
Tillmann Karras
e0baed850f
MathUtilTest: add test for FlushToZero
2014-03-24 16:14:22 +01:00
Tillmann Karras
af525266d4
MathUtil: add constructors to IntFloat/IntDouble
2014-03-24 16:14:22 +01:00
Tony Wasserka
4aba433296
Merge pull request #201 from Sonicadvance1/Revert-PR179
...
Revert "Remove an unnecessary wx translation underscore macro from PHackSettings."
2014-03-24 09:50:38 +01:00
Ryan Houdek
5310d6d2ea
Fix a crash that got recently introduced.
...
When CFileSystemGCWii::GetFileName can't find a valid filename it would return nullptr.
nullptr as a std::string throws an assert within the std lib.
So return an empty string and check if it is empty or not
2014-03-23 22:29:30 -05:00
Ryan Houdek
479695d068
Revert "Remove an unnecessary wx translation underscore macro from PHackSettings."
...
This reverts commit 110f603cb6
.
2014-03-23 20:28:19 -05:00
Lioncash
59eb59dd98
Remove an unused parameter from UpdateDebugger_MapLoaded.
2014-03-23 17:19:12 -04:00
Ryan Houdek
9849129b5d
Merge pull request #199 from lioncash/defined-densities
...
Provide clearly defined densities of the controller icons.
2014-03-23 00:35:40 -05:00
Ryan Houdek
a3e18cd498
Merge pull request #171 from lioncash/rarc-cleanup
...
File tree building cleanup
2014-03-23 00:34:26 -05:00
Matthew Parlane
b8f469dedd
Merge pull request #195 from Sonicadvance1/RuntimeExtendedInfo
...
Allow the user to enable the extended information string like the old days.
2014-03-23 18:32:37 +13:00
Matthew Parlane
36eb806e4a
Merge pull request #192 from lioncash/final
...
Mark the PPCDebugInterface and DSPDebugInterface as final.
2014-03-23 18:32:11 +13:00
Ryan Houdek
c7335dc48f
Merge pull request #198 from Sonicadvance1/Android-onscreenconfigure
...
Make configuring the onscreen controls less annoying.
2014-03-23 00:29:58 -05:00
Ryan Houdek
4c1cb65e1e
Merge pull request #179 from lioncash/phack-cleanup
...
Remove an unnecessary wx translation underscore macro from PHackSettings.
2014-03-23 00:29:52 -05:00
Ryan Houdek
5dabe598a4
Merge pull request #180 from lioncash/log-window-cleanup
...
Small log queue clearing simplification.
2014-03-23 00:29:08 -05:00
Lioncash
a35e1d42d9
Provide clearly defined densities of the controller icons.
2014-03-23 01:23:39 -04:00