Commit Graph

9182 Commits

Author SHA1 Message Date
shuffle2 dd413269e3 Merge pull request #343 from jordan-woyak/disable-sdl-windows
Disable SDL input on Windows.
2014-05-21 19:47:44 -07:00
Jasper St. Pierre 9d161b4170 BPStructs: Consistently put the two shared copy args first
And rename them so they make a bit more sense.
2014-05-20 11:28:15 -04:00
Jasper St. Pierre 1ae8edc1d0 BPStructs: Remove another function wrapper 2014-05-20 11:28:15 -04:00
Jasper St. Pierre b1d3c5937a BPStructs: Move LoadBPReg here 2014-05-20 11:28:14 -04:00
Jasper St. Pierre 763ad77a1c BPStructs: Flatten out BPWritten 2014-05-20 11:28:14 -04:00
Jasper St. Pierre 07ab77d31c BPStructs: Reindent BPWritten 2014-05-20 11:28:08 -04:00
Jasper St. Pierre c33a1b4b28 BPStructs: Document BPMEM_BP_MASK better 2014-05-20 11:26:31 -04:00
Jasper St. Pierre 2f122ea63c BPMemory: Fix "DISPLAYCOPYFILER" typo 2014-05-20 11:15:10 -04:00
Jasper St. Pierre 4e8e51b278 BPStructs: Remove calls to SetInterlacedMode when reloading state
SetInterlacedMode is a dummy no-op that does nothing.
2014-05-20 11:15:10 -04:00
Jasper St. Pierre 833b7ee584 BPFunctions: Remove the rest of GetConfig 2014-05-20 11:15:09 -04:00
Jasper St. Pierre 08611c3f36 PixelShaderManager: Fizzle out fog changes when disabled here
This lets us remove a use of GetConfig.
2014-05-20 11:15:09 -04:00
Jasper St. Pierre fe645b888b BPFunctions: Remove use of a dumb method
GetPointer serves no purpose.
2014-05-20 11:15:08 -04:00
Jasper St. Pierre 56228cea5d BPFunctions: Remove an unused method 2014-05-20 11:15:08 -04:00
Jasper St. Pierre 4f4e3fad85 BPMemory: Clean up and rename some variables and comments
This is about the register number, not the opcode.
2014-05-20 11:15:08 -04:00
Jasper St. Pierre e81b62aad1 BPFunctions: Clean up math slightly
No need for magic 342 numbers.
2014-05-20 11:14:00 -04:00
degasus c1b6fcc00b ogl: pixel format shader without resolving
v2: Don't use std::to_string as this function is broken on android.
2014-05-19 09:29:40 +02:00
degasus e150d307a6 ogl: use ARB_texture_multisample for msaa 2014-05-19 09:21:44 +02:00
degasus fab78c2dff ogl: add ARB_texture_multisample 2014-05-19 09:21:44 +02:00
degasus 775858b6bc ogl: drop NV_framebuffer_multisample_coverage 2014-05-19 09:21:44 +02:00
degasus afea848e3b ogl: drop csaa support 2014-05-19 09:21:44 +02:00
magumagu 5dffa28f0a DVDInterface: make fast disc speed faster.
Fixes workaround for crash in Star Wars Rogue Leader.
2014-05-18 20:03:55 -07:00
Jordan Woyak d841e5176f Fix game list size display. 2014-05-18 12:17:56 -05:00
Lioncash 554207a87c Remove an unnecessary null check in CodeWindow.cpp.
The validity of ToolBar is checked at the beginning of the function
2014-05-18 11:43:21 -04:00
Pierre Bourdon 826a9e0152 MMIO: Lazy-initialize read/write handlers since most are not actually used 2014-05-18 17:37:33 +02:00
Lioncash 75cb8a7452 Fix a typo in the JIT debugger window 2014-05-18 10:31:39 -04:00
Tony Wasserka 6950f533ae Merge pull request #355 from magumagu/gx-missing-opcode
Opcode decoding: handle missing opcodes 0x88 etc.
2014-05-18 11:12:06 +02:00
Ryan Houdek a4bb0dafb4 Removes ZeroFrog's "optimized" memcpy and memcmp functions.
These were only compiled in on Windows and x86_32.
They provided "optimized" copies and compares based on blocksizes for the AMD Athlon and Duron CPU families.
The code was taken from something that AMD provides with a as-is license.
Just get rid of this crap.
2014-05-17 18:03:31 -05:00
Pierre Bourdon 0f1b1dd3cf CheckExceptions: add TODO and remove a wrong comment 2014-05-18 00:56:18 +02:00
Lioncash 5f796e919b Move bn.h and ec.h into the correct filter section 2014-05-17 16:47:41 -04:00
Lioncash e1359382be Kill off _T and wxT macros
Minor other alterations that relate to above as well.

Also added the PanicAlertT version of alerts for some error messages that
use PanicAlert. We want the user to actually understand why the error
occurred.
2014-05-17 16:25:51 -04:00
Tony Wasserka fc34d5a130 Merge pull request #360 from magumagu/lighting-rounding
Video backends: fix rounding in lighting computation.
2014-05-17 21:06:31 +02:00
magumagu 9b82d72070 Video backends: warn on usage of GL_DRAW_QUADS_2.
It's not normally used, so if it shows up, it could indicate a CPU emulation
bug.
2014-05-17 11:55:32 -07:00
Lioncash 90df5efd01 Get rid of old wx event type usages. Use recommended replacements 2014-05-17 13:17:43 -04:00
Pierre Bourdon 5391b2dd9c Merge pull request #327 from magumagu/dvd-seek-time
DVD emulation: make seek timing more accurate.
2014-05-17 18:48:35 +02:00
Pierre Bourdon 396e13de89 Merge pull request #369 from lioncash/ini
Use size_t in std::string operations in IniFile.cpp, not int
2014-05-17 17:42:08 +02:00
Tony Wasserka 0fac17da33 Merge pull request #269 from magumagu/swbackend-xfregisters
SW backend: use VideoCommon XFRegisters struct.
2014-05-17 10:40:57 +02:00
magumagu 6fbf6fad3b VideoCommon: cleanup Renderer::RecordVideoMemory. 2014-05-16 18:58:08 -07:00
magumagu 1357277f40 Video backends: mass-replace "xfregs" with "xfmem". 2014-05-16 18:58:07 -07:00
magumagu 8f5342c442 Video backend: merge global var xfmem into xfregs.
There isn't really any reason to keep them separate.
2014-05-16 18:55:31 -07:00
magumagu 818c89313e Video backends: unify xfregs/xfmem structures.
Removes the duplicate swxfregs global variable/struct from the software
backend in favor of the ones from VideoCommon.
2014-05-16 18:55:30 -07:00
shuffle2 d0de0c1222 Merge pull request #374 from ToadKing/master
make IOCTL_SO_GETHOSTID more accurate on Windows
2014-05-16 18:12:35 -07:00
Toad King 1ba5ffeea3 remove trailing whitespace 2014-05-16 20:10:30 -04:00
Toad King e7e6021414 changed IOCTL_SO_GETHOSTID to remove malloc()/free() calls
account for GetIpForwardTable() returning ERROR_MORE_DATA
2014-05-16 19:13:52 -04:00
magumagu 8b82cea704 Video backends: fix behavior of "konst" TEV inputs.
Also fixes TEVCOLORARG_HALF.

Values verified to match hardwarere.
2014-05-16 12:19:35 -07:00
Tony Wasserka fee6efc4dc Merge pull request #375 from degasus/remove_SkipVertices
VertexLoaderManager: Remove unused function.
2014-05-16 16:20:29 +02:00
Tony Wasserka b8817267f4 Merge pull request #366 from Jezze/vertex
OGL/VertexManager: Remove unused variable.
2014-05-16 16:18:14 +02:00
Tony Wasserka 25e8dc0aed Merge pull request #354 from magumagu/gx-primitive-mask
Opcode decoding: 0xC0 isn't a valid command.
2014-05-16 15:59:59 +02:00
degasus 7bb44199fd remove unused and unexported function 2014-05-16 14:33:00 +02:00
Toad King ce64885a66 make IOCTL_SO_GETHOSTID more accurate on Windows 2014-05-15 20:33:21 -04:00
Fredrik Ehnbom 31ec57ab81 PPCAnalyst now detects internal branches better
For example:

```
addr     opcode    disasm
80026584 48000054  b	->0x800265D8 
```
2014-05-15 16:36:44 +02:00
Lioncash d0bd4119d1 Use size_t in std::string operations in IniFile.cpp, not int 2014-05-14 20:38:08 -04:00
Jens Nyberg f742c5a057 OGL/VertexManager: Remove unnused m_CurrentVertexFmt 2014-05-13 23:59:08 +02:00
LPFaint99 1b65456738 Export wii saves to the "User" directory 2014-05-11 22:23:21 -07:00
Jordan Woyak 635dbd0ff9 Possibly an OSX buildfix. 2014-05-11 23:05:34 -05:00
magumagu 9e4eeb3b9b Video backends: fix rounding in lighting computation.
For whatever reason, the hardware doesn't do a full divide by 255, but
instead uses an approximation with shifting, similar to the way it is done
in TEV.
2014-05-11 12:53:02 -07:00
shuffle2 36720e6822 Merge pull request #351 from Tilka/make_unique
Add a std::make_unique implementation (Common/StdMakeUnique.h)
2014-05-11 01:46:09 -07:00
Tillmann Karras fd94ce5210 fixmeup use 2014-05-11 10:40:18 +02:00
Tillmann Karras 4400e511c0 fixmeup rename 2014-05-11 10:40:18 +02:00
Shawn Hoffman 17577affba D3D: Don't pass D3D10_SHADER_WARNINGS_ARE_ERRORS to the compiler in debug builds.
For quite a while this has been causing integer division to generate a warning as error, blocking shader compiling. This means probably no one has even been running D3D in debug builds...
I tried disabling the warning with a #pragma, but it doesn't seem to apply when this flag is used.
2014-05-10 22:12:54 -07:00
Ryan Houdek 15ce648b0d Merge pull request #341 from lioncash/pragma
Move the header guard before the includes in VideoCommon's Statistics.h
2014-05-10 23:21:53 -05:00
Ryan Houdek fcc7b6e56d Merge pull request #346 from Sonicadvance1/Android-PewPewShaders
Adds support for the PP shaders in the Android UI.
2014-05-10 22:51:28 -05:00
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
Ryan Houdek cdec575bef Fixes games that use the MMU to page in code(Rogue Leader).
The issue was that on memory exception we wouldn't call in to PPCAnalyst and our code_block would retain the previous blocks information.
This would cause us to compile the previous blocks instructions in prior to the exception exit.
2014-05-09 09:10:45 -05: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
magumagu 727ef4a625 JIT: unify JitAsm for JIT64 and JIT64IL.
Having a bunch of nearly identical code sitting around isn't a good idea,
so fix that. JITIL had a couple of extra entry points into the JIT main
loop, so adjust the code appropriately.

Also fixes Issue 7186.
2014-05-05 11:12:22 -07: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
Jordan Woyak 9af18d1b96 Remove SDL from Externals. 2014-05-04 19:41:02 -05:00
Jordan Woyak 4321951987 Disable SDL input on Windows. 2014-05-04 19:09:51 -05: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
Ryan Houdek e1bbda1e18 [Android] Fix a bunch of input bugs.
Looking at the old code for the ButtonManager was a brainfsck. This fixes a ton of bugs I kept uncovering as I was moving along.

Fixes the gamepad configuration file being incorrect.
No longer treats touchscreen in a special way. Ends up as a regular device with a "Touchscreen" device name.
Was incorrectly converting a index from integer to ButtonType. Wouldn't work due to the addition of some unused(in JNI) enumerators in ButtonType.
Fixes an issue where a map had a key as an axis which was causing its binding to be overwritten for every axis that was used twice (eg main stick left and right);
Fixes Triggers not working at all.
Fixes DPad not working at all.
Fixes C-Stick only half working.
Removes touch screen specific nativelibrary types onTouchAxisEvent and onTouchEvent.

Adds a configuration version configuration option. Allows easy configuration overwriting if the options need to be changed during updating.

Supersedes github PR #291.
2014-04-24 08:51:44 -05: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
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 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
Rachel Bryk d9d292fd1c Add dsp rom hashes to movie header.
Also fix a random typo.
2014-04-06 09:36:45 -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 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 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 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 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
Ryan Houdek 7549ee232c Allow the user to enable the extended information string like the old days.
This string shows emulated CPU speed, including true mhz + idle skipping mhz
2014-03-22 23:32:07 -05:00
Ryan Houdek 89efec6109 Merge pull request #167 from neobrain/ogl-efbpokes
Implement EFB pokes in the OpenGL backend.
2014-03-20 15:25:56 -05:00
Lioncash 9ed562d7de Mark the PPCDebugInterface and DSPDebugInterface as final. 2014-03-18 20:42:08 -04:00
Jens Nyberg ae260e55e4 OGL/VertexManager: Do not check if g_nativeVertexFmt is zero
The variable is already dereferenced both before and after this
check which means that if this variable would ever be zero it would
have crashed dolphin already.
2014-03-18 21:33:30 +01:00
Jens Nyberg 80421156b6 OGL/VertexManager: Minor cleanup of if case 2014-03-18 21:33:30 +01:00
Pierre Bourdon c11aadee41 Merge pull request #182 from RachelBryk/extract-gc-dol
Add extract dol/apploader options back for gc disks.
2014-03-18 20:41:35 +01:00
lioncash aecc8ea666 Remove usesMixer function from the sound streams.
This isn't used anywhere in the codebase. Not even the base SoundStream has it as part of its interface.
2014-03-18 10:42:07 -04:00
lioncash 5e5ab61d0c Mark the audio streams as final.
These aren't intended to be continually extended.
2014-03-18 10:37:45 -04:00
Jens Nyberg 4a68550d01 Remove superfluous bit shift 2014-03-18 04:07:45 +01:00
Ryan Houdek 484fb46390 Clang 3.4 exposes some warnings on Android.
Fixes all warnings on Android build except for what is in externals.
Removes a function from TextureDecoder_Generic since it is unused and generates a warning.
2014-03-17 18:17:12 -05:00
Ryan Houdek 3586ab1d4c Fix the Android build when using clang 3.4 2014-03-17 17:56:22 -05:00
Rachel Bryk 57f3e1c907 Add extract dol/apploader options back for gc disks.
It was removed from the menu for the disk item in 868c6278, but we want to keep it there for gc games, since they don't have separate partitions.
2014-03-17 03:10:17 -04:00
Matthew Parlane 6445e02d53 Merge pull request #159 from Tilka/misc
Cleanup stuff
2014-03-17 17:43:20 +13:00
Tillmann Karras fa3cc05753 Turn some non-const refs into pointers 2014-03-17 02:55:57 +01:00
Tillmann Karras 7e39cf3b0d .gitignore: fix the build directory pattern 2014-03-17 02:55:56 +01:00
Tillmann Karras 2fcaca0603 More range-based loops and overrides 2014-03-17 02:55:55 +01:00
Tillmann Karras 3fc9ca0789 UCodes: nits 2014-03-17 02:55:54 +01:00
Tillmann Karras 3c46c0ede9 Interpreter: make some class members private 2014-03-17 02:55:54 +01:00
Lioncash 692deb24ba Remove unused function PanicAlertToVideo from Core.cpp. 2014-03-16 21:07:34 -04:00
Lioncash 5edce0eeb6 Simplify log queue clearing.
Simply just keep popping the queue until it's empty. No point in using a for loop for this.

Combined some if statements too.
2014-03-16 20:58:13 -04:00
Pierre Bourdon 4a906fdf7b Merge pull request #170 from RachelBryk/save-skip-bios
Save bHLE_BS2 to config cache before it can be changed while booting.
2014-03-17 01:06:46 +01:00
Rachel Bryk 89dbec437f Save bHLE_BS2 to config cache before it can be changed while booting.
This variable can be changed in SConfig::AutoSetup, so we need to save it before that is called.
2014-03-16 20:05:09 -04:00
Lioncash 110f603cb6 Remove an unnecessary wx translation underscore macro from PHackSettings.
Also removed an unnecessary string -> wx string conversion.
2014-03-16 19:05:57 -04:00
Lioncash 291c95b780 Cleanup a little bit of the PHackSettings. 2014-03-16 18:42:56 -04:00
Tillmann Karras a9a15690a2 UCode_AX: don't always call NotifyAXThread()
StartWorking() already does this if needed
2014-03-16 22:05:59 +01:00
Lioncash a9adaa5601 Prevent VideoConfig inheritance. 2014-03-16 17:00:29 -04:00
Lioncash bd1ce18f90 Simplify file tree building for the filesystem view.
Technically this also simplifies on disc filename building in general.
2014-03-16 16:54:00 -04:00
Pierre Bourdon 927a97c2a5 Merge pull request #166 from Sonicadvance1/Android-config
Fix the Android build's configuration setting/getting
2014-03-15 18:11:20 +01:00
Ryan Houdek 7b86716c65 Due to the removal of our char* IniFile setters/getters this broke Android build which relied on that.
Convert our C-strings to std::strings before using
2014-03-15 12:09:49 -05:00
Linktothepast 82f772fdcc Remove the extra parameters field from the PH.
Metroid: Other M was the only game which required this field, but the
issue in that game can be fixed properly by enabling format change
emulation. Hence, there's no point in having this around anymore.
Fixes issue 6644.
2014-03-15 15:04:39 +02:00
Lioncash f325fc9634 Clean up FileHandlerARC.cpp/.h
- Removed parentheses from the returns.
- Put the function declaration headers back on a single line.
- Make FindFileInfo's parameter a const string reference.
2014-03-15 02:14:49 -04:00
Rachel Bryk aa3ca6d8ea Fix extracting dols.
There is no "/" after partition number when extracting a dol. Also the .remove is completely unneeded.
2014-03-14 21:20:20 -04:00
Lioncash 3b27a2d22e Make WiiSocket function names conform to the coding style. 2014-03-14 20:11:52 -04:00
Pierre Bourdon 8d679e76d2 Merge pull request #164 from lioncash/cstr-cull
Kill off some usages of c_str.
2014-03-15 00:57:56 +01:00
Matthew Parlane 12c2e345a3 Merge pull request #168 from RachelBryk/extract-files
Fix extracting files on partition > 0.
2014-03-15 12:57:46 +13:00
Matthew Parlane 76e3a74c5c Merge pull request #165 from delroth/mi-mmio-fix
MemoryInterface: properly register region MMIOs.
2014-03-15 12:57:01 +13:00
Rachel Bryk f6dfc1f653 Fix extracting files on partition > 0. 2014-03-14 19:09:36 -04:00
Tony Wasserka d946e4e238 OpenGL: Implement color and z pokes. 2014-03-14 23:39:52 +01:00
Tony Wasserka 0f81cbd6be PixelShaderGen: More code alignment fixes. 2014-03-14 22:33:26 +01:00
Tony Wasserka c1016205d3 Pixel/LightingShaderGen: Fix code alignment issues.
Most of these weren't even introduced by me, but hey - I'm nice and love wasting my time :p
2014-03-14 22:33:26 +01:00
Tony Wasserka 2067f88e0f PixelShaderGen: Don't make local lookup tables "static". 2014-03-14 22:33:26 +01:00
Tony Wasserka 0ce92e0162 PixelShaderGen: Remove the "i" prefix for integer variables.
The prefix was just required in the development stage to reduce the risk of regressions.
2014-03-14 22:33:26 +01:00
Tony Wasserka bdd629c598 PixelShaderGen: Use spaces for alignment where appropriate. 2014-03-14 22:33:26 +01:00
Tony Wasserka 6e65e02c9e ConstantManager: Do not use single-element arrays. 2014-03-14 22:33:25 +01:00
Tony Wasserka 6c2971eaf6 PixelShaderGen: Write 16777215 in hex (0xFFFFFF) so that it's easier to understand. 2014-03-14 22:33:25 +01:00
Tony Wasserka 8ebb65ebf2 PixelShaderGen: Prettify generated shader source. 2014-03-14 22:33:24 +01:00
Tony Wasserka e2e1c5c905 PixelShaderGen: Add a note about a random idea which should be checked with hardware tests. 2014-03-14 22:33:12 +01:00
Tony Wasserka 6fcbda6752 PixelShaderGen: Cleanup and clarify bump alpha combiner inputs. 2014-03-14 22:33:12 +01:00
Tony Wasserka 9a96a1d525 PixelShaderGen: Remove old, mostly useless comments.
A few vague lines of comments cannot replace an afternoon reading of how TEV works.
2014-03-14 22:33:12 +01:00
Tony Wasserka 8b8bb04fd3 PixelShaderGen: Use bit shifts instead of multiplications as a small optimization. 2014-03-14 22:33:12 +01:00
Tony Wasserka 036a8c6951 PixelShaderGen: Clean up tev compare functionality. 2014-03-14 22:33:10 +01:00
Tony Wasserka fa7173d099 PixelShaderGen: Store tex scale as an integer. 2014-03-14 22:32:30 +01:00
Tony Wasserka 16109fb453 PixelShaderGen: Treat UV coordinates as actual integers. 2014-03-14 22:32:29 +01:00
Tony Wasserka 50526ae50a PixelShaderGen: Remove some dead code. 2014-03-14 22:32:18 +01:00
Tony Wasserka 065919f599 PixelShaderGen: Perform some of the fog calculations with integers. 2014-03-14 22:31:32 +01:00
Tony Wasserka 605b687af8 PixelShaderGen: Use integer math for z textures. 2014-03-14 22:31:31 +01:00
Tony Wasserka 3a6389992e PixelShaderGen: Treat UV coordinates like S17.7 integers (they're still stored as float, though). 2014-03-14 22:31:30 +01:00
Tony Wasserka 3e6efdb53e LightingShaderGen: Perform more lighting calculations with integers. 2014-03-14 22:31:19 +01:00
Tony Wasserka 387b9bf3c2 LightingShaderGen: Perform some lighting calculations with integers. 2014-03-14 22:31:19 +01:00
Tony Wasserka 78623871f9 ShaderGen: Store material uniforms as integers. 2014-03-14 22:31:19 +01:00
Tony Wasserka 4bf57565e8 ShaderGen: Store light color uniforms as integers. 2014-03-14 22:31:18 +01:00
Tony Wasserka 68e91f0d55 PixelShader: Store fog color as an integer. 2014-03-14 22:31:18 +01:00
Tony Wasserka 0238a56816 PixelShaderGen: Change indirect texture matrix uniforms to use integers. 2014-03-14 22:31:18 +01:00
Tony Wasserka c13a5c38e9 PixelShaderGen: Change the "alpha" uniform to use integers. 2014-03-14 22:31:18 +01:00
Tony Wasserka ec60acac3a PixelShaderGen: Change the "colors" and "kcolors" uniforms to be integers. 2014-03-14 22:31:18 +01:00
Tony Wasserka df94e62350 PixelShaderGen: Process fog calculations with integer math. 2014-03-14 22:31:18 +01:00
Tony Wasserka 21eb482a6e PixelShaderGen: Write constants in decimal instead of hexadecimal where appropriate. 2014-03-14 22:31:11 +01:00
Tony Wasserka cff952c397 PixelShaderGen: Use integer math for indirect tev stage texcoord calculation. 2014-03-14 22:30:27 +01:00
Tony Wasserka e7a42d884f PixelShaderGen: prev should be initialized to the proper value; tev output needs to be clamped between -1024 and 1023. 2014-03-14 22:30:16 +01:00
Tony Wasserka cb1514e082 PixelShaderGen: Remove superfluous registerstate stuff. Also, made alphabump an integer. 2014-03-14 22:30:15 +01:00
Tony Wasserka a11ae69cb0 PixelShaderGen: Use integer math for TEV combiners. 2014-03-14 22:28:32 +01:00
Tony Wasserka aaa8e74a68 PixelShaderGen: Use integer math for tev outputs. 2014-03-14 22:28:14 +01:00
Tony Wasserka 654442feb7 PixelShaderGen: Use integer math for tev konst value. 2014-03-14 22:28:12 +01:00
Tony Wasserka e69ee6ae0a PixelShaderGen: Remove remaining floating point bits for texture color. 2014-03-14 22:26:50 +01:00
Tony Wasserka ac1c77c392 PixelShaderGen: Use integer math for rasterizer color. 2014-03-14 22:26:50 +01:00
Tony Wasserka 3ea97f7730 PixelShaderGen: Use integer math for indirect texture coords. 2014-03-14 22:26:50 +01:00
Tony Wasserka 0e711bf520 PixelShaderGen: Use integer math for sampling textures. 2014-03-14 22:26:50 +01:00
Tony Wasserka 1b3b12caa0 PixelShaderGen: Fix an issue where small negative z coordinates would underflow when they shouldn't. 2014-03-14 22:26:50 +01:00
Tony Wasserka fa77e1d2b6 PixelShaderGen: Use integer math for alpha testing. 2014-03-14 22:26:48 +01:00
Ryan Houdek 22c989de9a Provide our own dot functions in GLSL since GLSL doesn't provide integer versions of this function, even though AMD and Nvidia provide their own. 2014-03-14 22:26:27 +01:00
Tony Wasserka bed442198f PixelShaderGen: Make SampleTexture static inline. 2014-03-14 22:26:26 +01:00
Tony Wasserka 2af50f04c2 OGL: Force highp for integers. 2014-03-14 22:26:26 +01:00
Tony Wasserka 032c920247 OGL: Remove some dead code. 2014-03-14 22:26:26 +01:00
Pierre Bourdon 974123000d MemoryInterface: properly register region MMIOs. 2014-03-14 21:52:45 +01:00
Lioncash a82675b7d5 Kill off some usages of c_str.
Also changes some function params, but this is ok.
Some simplifications were also able to be made (ie. killing off strcmps with ==, etc).
2014-03-14 13:51:23 -04:00
Pierre Bourdon 450bde27bb Merge pull request #162 from lioncash/tas-dlg
Simplify boolean toggling in the TASInputDlg.
2014-03-13 02:09:32 +01:00
Lioncash 0edda2bd7f Fix a typo in DSPSymbols. (DisasssembleRange -> DisassembleRange)
Also remove IsHexDigit and IsAlpha and replace them with their cctype equivalents.
2014-03-12 20:51:06 -04:00
Lioncash dccc6d8b47 Simplify boolean toggling in the TASInputDlg.
Also fixed the indentation for some code in a switch statement.
2014-03-12 10:12:29 -04:00
Matthew Parlane 31cfc73a09 Fixes spacing for "for", "while", "switch" and "if"
Also moved && and || to ends of lines instead of start.
Fixed misc vertical alignments and some { needed newlining.
2014-03-11 00:35:07 +13:00
Matthew Parlane e05eca71ea Merge pull request #149 from lioncash/filemonitor-song-types
Add more sound file extensions to FileMonitor's IsSoundFile.
2014-03-10 13:45:23 +13:00
Tillmann Karras d802d39281 clang-modernize -use-nullptr
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09 21:14:26 +01:00
Tillmann Karras f28116b7da clang-modernize -add-override 2014-03-09 21:12:01 +01:00
Tillmann Karras c89f04a7c5 clang-modernize -loop-convert
and some manual adjustments
2014-03-09 21:11:59 +01:00
Pierre Bourdon f401263867 Merge pull request #152 from Tilka/float_stuff
Fix IsQNAN() and reduce code duplication
2014-03-09 21:06:19 +01:00
Tillmann Karras 16885d0f74 Interpreter: less duplicate code in float compares 2014-03-09 19:35:13 +01:00
Tillmann Karras 9ef64245fa MathUtil: fix IsQNAN()
The constants were one nibble too short and the lower 51 bits don't
actually have to be zero.
2014-03-09 19:34:58 +01:00
Lioncash e9d1796c24 Rename assemble.cpp/.h and disassemble.cpp./.h to DSPAssembler.cpp/.h and DSPDisassembler.cpp/.h 2014-03-09 13:25:50 -04:00
Lioncash b027c4d64e Add more sound file extensions to FileMonitor's IsSoundFile. 2014-03-09 12:46:01 -04:00
Lioncash db0596e088 Add a namespace to DSPHost.
Gets rid of the "DSPHost_" prefix in function names.
2014-03-09 12:30:13 -04:00
Tillmann Karras d05e205a24 FPURoundMode: revert use of enums in bit-fields
The workaround of using fixed underlying types produces lots of warnings
in GCC because now the bit-fields are too small for the value range used
for conversion semantics.
2014-03-09 15:24:35 +01:00
Tillmann Karras aa7a2fc4bf Jit64::twx(): add assert message
The implemented and the real control flow differ a bit.
2014-03-09 15:24:33 +01:00
Matthew Parlane 25341f88ef Fixes include order of TextureConversionShader.cpp 2014-03-09 12:38:29 +13:00
Matthew Parlane 2e70ff2441 Add missing functional include caused by PR111 2014-03-09 12:28:58 +13:00
Matthew Parlane d9ca5c83c9 Fix bug in PrintCallstack caused by trying to use MMIO
Also tidy up methods in Debugger_SymbolMap.cpp
2014-03-09 12:23:30 +13:00
Pierre Bourdon 8802770a85 JitUtil: Optimize MMIO loads by generating code to directly access a given MMIO. 2014-03-08 23:32:43 +01:00
Pierre Bourdon edba8096bf x64Emitter: Add functions to call a C++ std::function from JITed code 2014-03-08 23:32:43 +01:00
Pierre Bourdon 9869c53859 x64ABI: Add two more CallFunction functions (for additional parameter types). 2014-03-08 23:32:43 +01:00
Pierre Bourdon 6d6abfa61f x64Emitter: Allow const pointers where it makes sense to do so. 2014-03-08 23:32:43 +01:00
Pierre Bourdon 71962ee0eb MMIO: Pass pointers to the complex method lambdas when visiting. 2014-03-08 23:32:43 +01:00
Pierre Bourdon 6b645f5cac MMIO: Add a function to check if a given address refers to MMIO registers. 2014-03-08 23:32:43 +01:00
Matthew Parlane 886060aaf7 Merge pull request #96 from lioncash/remove-console-correctly
Remove console correctly
2014-03-08 15:54:06 +13:00
Matthew Parlane 6704832f3d Merge pull request #139 from lioncash/wx-clean
Remove some superfluous arguments from some wx control creations
2014-03-08 15:50:34 +13:00
Matthew Parlane ca6946bcbf Merge pull request #138 from Tilka/sw_fix
SW renderer: add missing ClearCurrent()
2014-03-08 15:50:05 +13:00
Pierre Bourdon 248f5d7f22 Merge pull request #130 from lioncash/breakpoint-clear
Actually make PPCDebugInterface::ClearAllBreakpoints have functionality.
2014-03-07 20:42:52 +01:00
Matthew Parlane 57f2eda130 Fix MAC address reading on Windows. 2014-03-07 21:40:59 +13:00
Shawn Hoffman 932945d480 Implement workaround for Windows versions which do not support XSAVE.
Fixes CRT math routines using FMA instructions from causing illegal instructions.
2014-03-06 14:38:10 -08:00
Shawn Hoffman 8995d299f2 windows: move arch defines to base.props 2014-03-06 14:37:40 -08:00
Lioncash b2d47401b2 Remove some superfluous arguments from some wx control creations
wx has these as default parameters.
2014-03-05 23:02:34 -05:00
Lioncash aa82680be7 Mark functions in the PPCDebugInterface and DSPDebugInterface as final.
The way they currently were, they would allow for a class to inherit and override these interfaces functions. However, this doesn't make sense conceptually.
2014-03-05 21:54:34 -05:00
Lioncash 610a6f9b23 Add ClearAllMemChecks to DebugInterface
Breakpoints have one, but memchecks don't, despite being cleared directly in the breakpoint window.

Now DolphinWX should call the interface functions and not the direct functions of the breakpoints or memchecks for clearing.
2014-03-05 21:50:23 -05:00
lioncash 96328902a5 Actually make PPCDebugInterface::ClearAllBreakpoints have functionality.
Fairly simple - just clear the breakpoints.
2014-03-05 20:27:27 -05:00
Tillmann Karras d461b3f33c SW renderer: add missing ClearCurrent()
courtesy of degasus
2014-03-06 01:53:29 +01:00
Matthew Parlane e5b250fa79 Merge pull request #122 from lioncash/rename-default
Rename the JIT function Default() to FallBackToInterpreter(). Communicates intent way better in terms of telling the reader what's going on.
2014-03-06 12:13:54 +13:00
Rachel Bryk d06eb0f668 Fix reading revision specific default game inis in ISOProperties. 2014-03-05 17:05:36 -05:00
Shawn Hoffman 3647dfa711 Allow VS builds to be speedy again. 2014-03-05 11:17:14 -08:00
Shawn Hoffman 7733463e65 commit 1a428de189 introduced a bug by using a signed enum in a bitfield, the value of which is then used in a ldmxcsr instruction. The sign-extension corrupts the value, causing an exception by attempting to load mxcsr with an invalid value. 2014-03-05 10:19:29 -08:00
Ryan Houdek 4f02132f93 Make our architecture defines less stupid.
Our defines were never clear between what meant 64bit or x86_64
This makes a clear cut between bitness and architecture.
This commit also has the side effect of bringing up aarch64 compiling support.
2014-03-04 09:36:59 -06:00
lioncash 2c8b9735ae Add two other formats to the list of extensions in IsSoundFile
.adx is used in various games, so this should definitely be here.
2014-03-04 08:57:07 -05:00
lioncash f39c757edf Simplify ShowSound() in FileMonitor.cpp.
Now if more sound types are found, they just need to simply be added to
the unordered set.

- Also changed ShowSound() to IsSoundFile()
- Fixed IsSoundFile’s definition in FileMonitor.h. This whole time it
has been defined as a void method, when in reality it was a bool
function.

- Changed the FileMonitor’s string parameters to be constant references.
2014-03-04 08:39:25 -05:00
Pierre Bourdon 6fa39c28fe Merge pull request #118 from neobrain/videosoftware-bypass-xfb-hack
Software renderer: Restore FifoPlayer support by emulating hardware backend behavior.
2014-03-03 19:05:35 +01:00
Tony Wasserka 1bdf232fed videosoftware: More coding style fixes. 2014-03-03 19:03:15 +01:00
Pierre Bourdon 91676ad930 Merge pull request #128 from lioncash/normalize-debug-interface-func-names
Change the DebugInterface, PPCDebugInterface, and DSPDebugInterface to use CamelCase function names.
2014-03-03 18:58:36 +01:00
Tillmann Karras 891b334f52 Fix 32 bit non-Windows build 2014-03-03 10:46:08 +01:00
Lioncash 279a8c0148 Change the DebugInterface, PPCDebugInterface, and DSPDebugInterface to use CamelCase names.
This is the standard coding convention in the codebase, so our interfaces should use it too.
2014-03-03 00:39:08 -05:00
Lioncash 10f3d90f83 Make the base calculation in CheatsWindow simpler.
First and foremost this should test the checked state, not its direct value.
This should never have used multiplication at all. Seriously, what the hell?

The only values it would have given is true or false, so the only cases are 0*6 and 1*6.
2014-03-02 22:15:01 -05:00
Lioncash 34b5a7871f Rename the JIT function Default() to FallBackToInterpreter(). Communicates intent way better in terms of telling the reader what's going on.
Also did some minor cleanup in functions that used Default.
2014-03-02 19:59:20 -05:00
Lioncash 445d257641 Fix a case where the wrong placeholders were being assigned for the up and down D-Pad buttons in the TAS dialog. 2014-03-02 18:58:54 -05:00
Lioncash 13a007abed Remove another clamp function laying in the codebase and replace it with the one in MathUtil.h. 2014-03-02 13:57:27 -05:00
Matthew Parlane 70b3749d4b Merge pull request #109 from lioncash/file-io-clarifications
Eliminate the magic constants in the switch statement in WII_IPC_HLE_Device_FileIO.cpp's Seek function.
2014-03-02 18:29:48 +13:00
Tony Wasserka c6c6d20014 videosoftware: Provide a more elaborate comment on the FifoPlayer support hack. 2014-03-01 18:52:19 +01:00
Scott Mansell 17231418ef videosoftware: Added hack to bypass xfb just so fifoplayer works.
Fifoplayer depends on the old behaviour of videosoftware (and the other
hardware backends in non virtual/real xfb modes) where the framebuffer
gets rendered directly to the screen.

Really fifoplayer should call BeginFrame/EndFrame when it finished
rendering a frame, but adding this hack back in is simpler.
2014-03-01 18:45:24 +01:00
Lioncash 3bc082be52 Fix WII_SEEK_END seeking. 2014-02-28 19:56:42 -05:00
Tillmann Karras 7c93f2dc23 Fix the Windows build (broken in 315a8ba) 2014-03-01 01:33:19 +01:00
Pierre Bourdon bc844a168f Merge pull request #100 from Tilka/misc_fixes
Misc fixes
2014-02-28 23:08:56 +01:00
Pierre Bourdon 1a7e3b3227 Merge pull request #80 from Tilka/dsp
DSP: add inline opcode documentation
2014-02-28 22:50:37 +01:00
Tillmann Karras 892012dc02 Remove own round() implementation
1. It's not correct, it rounds x.5 down to x.
2. It is visible across the whole project (!).
3. VS2013 finally supports this:
   http://msdn.microsoft.com/en-us/library/dn353646.aspx
   http://msdn.microsoft.com/en-us/library/dn329049.aspx
2014-02-28 12:43:23 +01:00
Tillmann Karras 7a66a3ded1 ArmEmitter: make it more readable 2014-02-28 12:43:22 +01:00
Tillmann Karras 46e7c0657f Crypto: small cleanup 2014-02-28 12:43:22 +01:00
Tillmann Karras 315a8ba1c0 Various changes suggested by cppcheck
- remove unused variables
- reduce the scope where it makes sense
- correct limits (did you know that strcat()'s last parameter does not
  include the \0 that is always added?)
- set some free()'d pointers to NULL
2014-02-28 12:43:20 +01:00
Tillmann Karras 5f0a8008f4 Convert MemoryUtil.cpp to Unix-style line endings 2014-02-28 12:28:21 +01:00
Tillmann Karras 1a428de189 x64FPURoundMode: move things around a bit 2014-02-28 12:28:21 +01:00
Tillmann Karras 6914eca167 Fix various warnings reported by clang
- mostly remove unused variables
- rename some generic JIT identifiers
2014-02-28 12:28:19 +01:00
Pierre Bourdon ea34ae0a70 Merge pull request #113 from Parlane/fix_wifi
Randomise the mac address and store it in the config.
2014-02-28 11:25:29 +01:00
Matthew Parlane c68cd3a8ea Randomise the mac address and store it in the config.
This stops error 20115 when trying to go online.
2014-02-28 22:53:00 +13:00
Pierre Bourdon a3508823de Merge pull request #112 from Parlane/fix_ssl_init
Initialise entropy correctly for ssl.
2014-02-28 00:51:09 +01:00
Tony Wasserka 1f5b3c928f Merge pull request #108 from degasus/GLSLUtilShader
GLSL utility shader optimization
2014-02-27 22:38:37 +01:00
Matthew Parlane e1ec4729b4 Initialise entropy correctly for ssl. 2014-02-27 21:46:14 +13:00
degasus f628695d31 comment fixes 2014-02-26 12:48:52 +01:00
Tony Wasserka 66d1f16f98 Merge pull request #107 from lioncash/tiny-cleanup
Tiny cleanup of WII_IPC_HLE.cpp.
2014-02-26 12:46:49 +01:00
degasus aaaa5af0b2 remove (ATTR|VARY)(IN|OUT) macros 2014-02-26 11:37:29 +01:00
degasus 1d0b6a1156 Merge duplicate parts of sampler into header 2014-02-26 11:37:29 +01:00
degasus 11efa88157 calculate constant values on shader compilation 2014-02-26 11:37:29 +01:00
degasus 8a4aa8c1f5 Rewrite texture tiling implementation
inline halfxb

So we know which is the first pixel by masking.

inline xl

inline xb a bit

inline yl

inline uv1.x shift

remove likely wrong guessed ternary operator

add pixel layout comment

inline xel

optimize the shifts a bit

inline xb

optimize shifts in a second step

extract xb

rename all variables

calculate cache line by position.x

Revert 5115b459f40d53044cd7a858f52e6e876e1211b4 "optimize the shifts a bit"

It seems I was wrong, the other way is the more natural.

use x_virtual_position instead of uv1.x for x_offset_in_block

This looks more natural and the offset should be masked anyway.

substitude factor with cache_lines

move 32bit logic in a conditional block
2014-02-26 11:37:29 +01:00
degasus bd3beeb184 TextureConverter: Use Log2() and shifts instead of multiplications/divisions 2014-02-26 11:37:29 +01:00
degasus 94da4e1aa2 MathUtil: Change Log2 return value to int
Log2(u64) can't be bigger than 63, so there is no need in forcing a 64 bit value.
So just using a common int seems more natural.
2014-02-26 11:37:28 +01:00
degasus f99c8a0b70 merge common parts of encoding shaders 2014-02-26 11:37:28 +01:00
degasus 7f539b6033 ogl: optimize real xfb a bit
Both nvidia + mesa seems not to optimize x / (2**n) to x >> n, so we do it ourself.
2014-02-26 11:37:28 +01:00
Lioncash d5fd68e4a4 Eliminate the magic constants in the switch statement in WII_IPC_HLE_Device_FileIO.cpp's Seek function. 2014-02-24 15:01:08 -05:00
Lioncash 4094c35203 Tiny cleanup to WII_IPC_HLE.cpp.
- Inlined loop vars in statements where possible.
- Eliminate some explicit iterators with foreach loops.
- Kill off some newlines that weren't necessary.
2014-02-24 14:09:42 -05:00
Tillmann Karras 33beaf20f3 PolarSSL: adapt Dolphin to new version
- strip down PolarSSL's CMakeLists.txt
- switch to the PolarSSL 1.3 API
- use entropy interface instead of havege (PolarSSL 1.3 has disabled
  havege by default because it is "considered unsafe for primary usage")
- add VS2013 .vcxproj file
2014-02-24 16:20:50 +01:00
Pierre Bourdon 7be3dae988 Merge pull request #106 from lioncash/unnecessary-cstr
Unnecessary c_str() call in WII_IPC_HLE_Device_es.cpp's OpenTitleContent function.
2014-02-24 15:56:34 +01:00
Lioncash 98d2e76fcc Unnecessary c_str call in WII_IPC_HLE_Device_es.cpp's OpenTitleContent function.
m_ContentFile is a string, so it's kind of pointless to pass a c_str of a string to constructor of a new string.
2014-02-24 08:32:45 -05:00
degasus 8af3f751db Fetch swapInterval function pointer after binding a context
This fixes vsync on windows
2014-02-24 12:45:02 +01:00
Ryan Houdek 2bd1f99125 Fix the nogui build when building with EGL 2014-02-24 06:34:09 +00:00
Lioncash e71db8fe04 In UCode_AX.cpp in function HandleCommandList() - case CMD_MIX_AUXB_NOWRITE should have 1 being passed, not false, as the aux ID in MixAUXSamples. 2014-02-23 17:22:20 -05:00
Pierre Bourdon 99db9f0fb1 Merge pull request #94 from Tilka/uninitialized
Fix struct initialization
2014-02-23 17:07:24 +01:00
Pierre Bourdon 4a569c4449 Merge pull request #97 from delroth/mmio-gpfifo
WriteToHardware: Pass through the whole 0xCC008xxx area to GPFifo instead of only 0xCC008000.
2014-02-23 10:20:56 +01:00
Lioncash e3e78128a2 isSameValue in IR.cpp/.h should be returning a boolean value. 2014-02-23 04:14:57 -05:00
Lioncash 679a1bb2eb WII_IPC_HLE_Device_usb_kbd.cpp's Update method should return 0, not false, it communicates the wrong intent otherwise. 2014-02-23 04:08:52 -05:00
Pierre Bourdon 86326de6f6 WriteToHardware: Pass through the whole 0xCC008xxx area to GPFifo instead of only 0xCC008000. 2014-02-23 10:01:47 +01:00
Lioncash 8d57f38be7 Purge wx elements of the console. 2014-02-23 03:12:24 -05:00
Pierre Bourdon c06c8f0ec8 MMIO: Fix a megaderp in the UniqueID function causing handlers to be overwritten by other handlers. 2014-02-23 08:34:05 +01:00
Pierre Bourdon b8582b00a9 MMIO: Pass the provided high part/low part addrs to handlers in {Read,Write}ToSmaller. 2014-02-23 08:33:27 +01:00
Pierre Bourdon 803c110e30 MMIO: Show the read/write size in invalid handlers. 2014-02-23 08:32:52 +01:00
Lioncash d45351a43f Initial removal of the actual console functionality on windows. 2014-02-23 02:01:35 -05:00
Pierre Bourdon 70f3a069f2 Revert "Merge pull request #83 from lioncash/remove-console"
This breaks Linux stdout logging.

This reverts commit 7ac5b1f2f8, reversing
changes made to 9bc14012fc.

Revert "Merge pull request #77 from lioncash/remove-console"

This reverts commit 9bc14012fc, reversing
changes made to b18a33377d.

Conflicts:
	Source/Core/Common/LogManager.cpp
	Source/Core/DolphinWX/Frame.cpp
	Source/Core/DolphinWX/FrameAui.cpp
	Source/Core/DolphinWX/LogConfigWindow.cpp
	Source/Core/DolphinWX/LogWindow.cpp
2014-02-23 07:48:06 +01:00
Ryan Houdek 60a5d8900b Merge pull request #60 from Sonicadvance1/Android-GLDetect
Fix the Android OpenGL About tab.
2014-02-22 22:29:57 -06:00
Tillmann Karras 3038bca0a4 JitBackpatch: initialize InstructionInfo to 0
DisassembleMov() doesn't always initialize all fields of 'info'.
2014-02-23 04:36:26 +01:00
Pierre Bourdon 311caef094 Merge pull request #25 from Tilka/ppc_fp
Fix non-IEEE mode
2014-02-23 04:15:37 +01:00
Tillmann Karras ee21cbe2d1 Add phire's more accurate DoubleToSingle version
This method doesn't involve messing around with the quirks of the x87
FPU and should be reasonably fast. As a bonus, it does the correct thing
for out-of-range doubles.

However, it is also a little slower and only benefits programs that rely
on undefined behavior so it is disabled for now.
2014-02-23 04:13:47 +01:00
Ryan Houdek 1f750904af Fix the OpenGL About tab.
Move EGLHelper to be local to the creation of the about GL/GLES tabs so we don't have 3 EGL contexts running at a time.
Fix issues with OpenGL context creation here so we show the correct information.
This requires adding an EGL function to the NativeLibrary since Android's JAVA bindings don't expose eglBindAPI.
2014-02-22 21:08:27 -06:00
Pierre Bourdon 4ba9cb217f Fix a compilation error introduced in PR #91.
For some reason it passed builbot-try but didn't build after being merged to
msater. Did not expect that, sorry :(
2014-02-23 03:45:46 +01:00
Pierre Bourdon 7cabe1772e Merge pull request #91 from delroth/iwyu
Include-what-you-use suggested fixes.
2014-02-23 03:34:10 +01:00
Pierre Bourdon f344a43657 Make DolphinWX/ mostly IWYU clean. 2014-02-23 00:27:27 +01:00
Pierre Bourdon c698c07755 Make DiscIO/ mostly IWYU clean (and fix errors in rest of the project detected by this change). 2014-02-22 23:37:29 +01:00
Pierre Bourdon 83b7bb64aa Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change). 2014-02-22 23:37:29 +01:00
Tillmann Karras 79336c88f8 Remove X11InputBase (dead code) 2014-02-22 22:42:42 +01:00
Pierre Bourdon 6d8df311a3 Merge pull request #88 from lioncash/relative-includes
Relative includes
2014-02-20 02:08:44 +01:00
Lioncash 24ba058404 Fix the Windows build for the final time. 2014-02-19 19:38:23 -05:00
Lioncash c1a934f7ed Fix the Android build.
Required the removal of EGL.h from EGL.cpp.

Removed the similar includes from AGL.cpp, GLX.cpp, and WGL.cpp to retain consistency.
All GL interfaces are now centralized on GLInterface.h
2014-02-20 01:01:11 +01:00
Lioncash 91286f5021 Fix the Windows build in relation to the recent changes. 2014-02-20 01:01:11 +01:00
Lioncash 146b301a91 Fix more header sorting issues in Core/ (now check-includes clean). 2014-02-20 01:01:11 +01:00
Pierre Bourdon 9a8ea53195 Fix LinearDiskCache.h relying on a file not directly included. 2014-02-20 01:01:11 +01:00
Pierre Bourdon 425f9dcd51 Fix more header sorting issues in VideoBackends/ (now check-includes clean). 2014-02-20 01:01:11 +01:00
Pierre Bourdon 592ebc5262 Fix more header sorting issues in DolphinWX/ (now check-includes clean). 2014-02-20 01:01:10 +01:00
Pierre Bourdon ffe588cc24 Fix more header sorting issues in VideoCommon/ (now check-includes clean). 2014-02-20 01:01:10 +01:00
Pierre Bourdon 6847a0fc0c Fix more header sorting issues in InputCommon/ (now check-includes clean). 2014-02-20 01:01:10 +01:00
Pierre Bourdon fca12c4c4e Fix more header sorting issues in AudioCommon/ (now check-includes clean). 2014-02-20 01:01:10 +01:00
Pierre Bourdon 8ea8da6ebc Fix more header sorting issues in DiscIO/ (now check-includes clean). 2014-02-20 01:01:10 +01:00
Pierre Bourdon 3f9c38d231 Fix more header sorting issues in Common/ (now check-includes clean). 2014-02-20 01:01:10 +01:00
Lioncash edb43cfe61 Fix the OSX build.
Turns out Dolphin uses some macros that clash on OSX. However thankfully, this include is only used in Frame.cpp.
2014-02-18 19:08:17 -05:00
Lioncash eee549f92b Scope the Windows include directory to only point to Source/Core/.
Also fix the Windows build with this change.
2014-02-18 13:21:12 -05:00
Rachel Bryk b1f77d0191 Save frame skipping option, and allow loading it from game ini too. 2014-02-18 12:25:11 -05:00
Pierre Bourdon a18e8249a4 Merge pull request #79 from Tilka/nits
Silence some Windows compiler warnings
2014-02-18 14:19:38 +01:00
Pierre Bourdon 362dec9c7c Dolphin now builds on Linux with only Source/Core as include dir 2014-02-18 12:18:47 +01:00
Pierre Bourdon dc1db82f70 Fix Linux build 2014-02-18 12:09:38 +01:00
Lioncash 2afe215271 Convert all includes to relative paths. 2014-02-18 02:19:10 -05:00
Lioncash 3fd87a7636 Second and final pass of clearing out tabs. 2014-02-17 02:19:41 -05:00
Lioncash d9ce4a892b Remove the leftover folder for Wii IO bridge. Was removed in the mmio merge 2014-02-16 21:08:32 -05:00
Lioncash cd8196f5db Turns out Console.cpp and ConsoleListener.cpp were being built into the Linux builds too. Fixes the build. 2014-02-16 20:55:07 -05:00
Lioncash ca7bdf1d5d Remove the embedded Console from the possible logging options.
Note I do not mean the Logging window, but the console window.
It's literally rarely, if at all used, and offers less advantages over the built-in logging window (ie. it breaks on different locales: http://i.imgur.com/Cs92tQE.png)

This commit should remove all of the console logging.
2014-02-16 20:40:33 -05:00
Pierre Bourdon b18a33377d Merge pull request #55 from Sonicadvance1/GLExt-InitArray
Change OpenGL extension initialization in to a big array
2014-02-17 02:16:16 +01:00
Ryan Houdek 6b5f6ddaa1 Merge pull request #82 from lioncash/vertical-alignment
Fix some vertical alignments
2014-02-16 19:12:42 -06:00
Lioncash 6c4ee1753a Fix some vertical alignments
ie. uses spaces for alignment.
2014-02-16 20:12:05 -05:00
Ryan Houdek eae9d47c3c Change OpenGL extension initialization in to a big array
This is a reasonable chunk of changes and moves from multiple initialization functions in to an array initialization.
2014-02-16 17:40:34 -06:00
Tony Wasserka de5bfd0bce Merge pull request #37 from degasus/VideoCommonApiFixes
VideoCommon API cleanups
2014-02-16 22:08:28 +01:00
Pierre Bourdon 96a66ada2e Use a pointer instead of a non-const ref in MMIO::Mapping::Read now that compatibility with the old interface is not required anymore. 2014-02-16 19:22:40 +01:00
Pierre Bourdon 92f8d93e96 Remove the old MMIO access "interface". 2014-02-16 19:22:40 +01:00
Pierre Bourdon f8f14c83a3 MMIO: Port the SW CP/PE MMIOs to the new interface.
Migration is now complete.
2014-02-16 19:22:40 +01:00
Pierre Bourdon 5b5dfb384e MMIO: Port the VideoCommon PE MMIOs to the new interface. 2014-02-16 19:22:40 +01:00
Pierre Bourdon 4129b30494 MMIO: Port the VideoCommon CP MMIOs to the new interface (and provide framework for other video related mappings). 2014-02-16 19:22:40 +01:00
Pierre Bourdon bdedaa24a9 MMIO: Port the EXI MMIOs to the new interface. 2014-02-16 19:22:40 +01:00
Pierre Bourdon 353c145e64 MMIO: Port the IPC MMIOs to the new interface (and move the IOB handling to IPC). 2014-02-16 19:22:40 +01:00
Pierre Bourdon a7c1e0d0d7 MMIO: Port the AI MMIOs to the new interface. 2014-02-16 19:22:40 +01:00
Pierre Bourdon 191b447092 MMIO: Port the SI MMIOs to the new interface. 2014-02-16 19:22:40 +01:00
Pierre Bourdon f34651f48d MMIO: Port the DI MMIOs to the new interface. 2014-02-16 19:22:40 +01:00
Pierre Bourdon 63990787fd MMIO: Port the DSP/ARAM/AI MMIOs to the new interface. 2014-02-16 19:22:40 +01:00
Pierre Bourdon b7a0c34906 MMIO: Port the MI MMIOs to the new interface (and rework that module extensively). 2014-02-16 19:22:40 +01:00
Pierre Bourdon f1dba04be7 MMIO: Port the VI MMIOs to the new interface. 2014-02-16 19:22:39 +01:00
Pierre Bourdon a3f95c1e10 MMIO: Port the PI MMIOs to the new interface. 2014-02-16 19:22:39 +01:00
Pierre Bourdon 9fe58d28ba Starting point for the new MMIO interface
Design doc:
    https://docs.google.com/document/d/11qcGCWLne1wYvmtFaSrOKZt_vHxXrcWcZsdWJ-MJnyo/edit

The code is currently not used. Migration plan:
    1. Implement MMIO access via MMIO::Mapping in parallel to the current
       method.
    2. Implement all existing MMIO handlers via the new interface.
    3. Remove the old hwRead/hwReadWii/hwReadIOBridge code.
    4. Implement JIT optimizations for MMIO accesses.
2014-02-16 19:22:39 +01:00
Tillmann Karras 6ae2972444 DSP: add inline opcode documentation
While further increasing the table width doesn't make the code any less
ugly, it makes it easy to generate auto-comments in the IDA processor
plugin. Also, use spaces for alignment instead of tabs.
2014-02-16 18:29:53 +01:00
Tillmann Karras 9f462a00a0 DSP: remove redundant expression 2014-02-16 18:18:23 +01:00
Tillmann Karras 0d6ab2c658 Silence some Windows compiler warnings
by adding explicit type casts.
2014-02-16 16:59:45 +01:00
degasus e5eff6bc1a Remove slowdown warning
Now it's shown as "debug" which is disabled by default.
2014-02-16 12:57:17 +01:00
Ryan Houdek 9b57292395 Fix ARM build 2014-02-15 22:05:12 -06:00
Ryan Houdek 77851edc1b Fix the arbitrary exits. We have to make sure that the block links are cleared entirely. 2014-02-15 20:41:42 -06:00
Ryan Houdek 0a9fd93eda On block unlinking, wipe the address from the valid links. 2014-02-15 20:23:01 -06:00
Ryan Houdek d2a90e6eab If block linking isn't enabled then make sure there isn't a performance hit from getting a block number. 2014-02-15 20:23:00 -06:00
Ryan Houdek c5b8c65ddc Initialize linkStatus to false in the ARM JIT cores as well. 2014-02-15 20:23:00 -06:00
Ryan Houdek 22b86e64f5 redo 'jit: change our linking module to be able to handle arbitrary exit addresses' 2014-02-15 20:22:59 -06:00
degasus 647aad0a19 inline SetViewport into VertexShaderManager 2014-02-15 21:09:42 +01:00
Pierre Bourdon cbe7656b2f Merge pull request #42 from degasus/latencyFix
audio latency fix
2014-02-15 18:22:57 +01:00
Pierre Bourdon cf736cd5df Merge pull request #73 from lioncash/ArraySize-Cleanup
Kill off some usages of the ArraySize macro.
2014-02-15 18:22:28 +01:00
degasus d5f1f0d4a9 merge some common parts of Swap() into VideoCommon 2014-02-15 11:33:43 +01:00
degasus 3551259c7a use EFBRectangle for scissor rect
This one is backend independed. The backend should recalc such things on their own.
2014-02-15 11:33:43 +01:00
degasus 1f4219b5b4 move perfquery enable checks into videocommon (caller side) 2014-02-15 11:33:43 +01:00
degasus 5a660c27bc rename UpdateViewport to SetViewport like all others setters in RenderBase.h 2014-02-15 11:33:43 +01:00
degasus 3cd6918dec fix ogl video config crash
This will happen when playing on any other backend than ogl which have a non-trival GLInterface::GetMode() method.
2014-02-15 11:33:43 +01:00
degasus e5318d2624 move shared parts from VertexManager::vFlush into VideoCommon 2014-02-15 11:33:43 +01:00
Lioncash 655d22512b Kill off some usages of the ArraySize macro.
This required the use of std::array in some cases.
2014-02-15 02:43:54 -05:00
Matthew Parlane 48798d8d34 Merge pull request #70 from lioncash/fifo-unsigned
Kill off some casting in the FifoPlayer.
2014-02-15 20:42:15 +13:00
Lioncash 867d0f01a2 Remove #if 0 statement in lfd() in Jit64/Jit_LoadStoreFloating.cpp 2014-02-14 23:46:09 -05:00
Lioncash 49d6be26cd Remove dead else branch in StoreFromRegister() in Jit64/JitRegCache.cpp 2014-02-14 23:43:51 -05:00
Lioncash d42e8817a0 Clean out some old left-behind quantizer stuff in Jit64/Jit_LoadStorePaired.cpp and Jit64/Jit_SystemRegisters.cpp. 2014-02-14 23:32:37 -05:00
Lioncash c78faafeae Kill off some silly casting in the FifoPlayer.
Also makes more sense conceptually, since it's not like we'll ever have negative frames.
2014-02-14 22:07:12 -05:00
Jordan Woyak d6f6672522 Kill auto usage in CISOBlob.cpp per request. 2014-02-13 16:09:58 -06:00
Jordan Woyak cec8ac20fc Fixed issue 7020. CISO >4GB failure. Caused by integer overflow. 2014-02-13 15:47:42 -06:00
degasus 9e56b1d343 Disable framerate correction for OpenAL
OpenAL itself stretch the time on slowdowns, so the Mixer isn't allowed also to change the rate.
2014-02-13 13:22:29 +01:00
Tillmann Karras 404624bf0b Turn loops into range-based form
and some things suggested by cppcheck and compiler warnings.
2014-02-13 09:05:50 +01:00
Tillmann Karras 2ff794d299 Fix some warnings 2014-02-13 09:02:43 +01:00
Matthew Parlane 88526be3b5 Merge pull request #50 from Parlane/inifile_tidy
Fix IniFile to use string& instead of char*
2014-02-13 19:04:27 +13:00
Matthew Parlane 3fe05e0a9f Fix IniFile to use string& instead of char*
Also removes .c_str() usages where found.
2014-02-13 17:06:30 +13:00
Scott Mansell 7062cf8657 Interpeter: Fixed ConvertToDouble to match the manual.
Also added some documntation comments.
2014-02-12 23:12:17 +01:00
Scott Mansell cf5938c4df x64Emitter: Fix the PSUBQ instruction's opcode 2014-02-12 23:12:17 +01:00
Scott Mansell 1eb8168488 x64Emitter: Add the xmm, xmm form of PSRLQ instruction. 2014-02-12 23:12:16 +01:00
Tillmann Karras 1f34ed2c25 Re-enable non-IEEE mode support 2014-02-12 23:12:16 +01:00
Tillmann Karras f6897039c7 Interpreter: fix float conversions
Can't use simple casting, otherwise we get the same problems as in Jit64.
2014-02-12 23:12:15 +01:00
Tillmann Karras db196d8c5b Jit64[IL]: fix float conversions
Floating-point is complicated...

Some background: Denormals are floats that are too close to zero to be
stored in a normalized way (their exponent would need more bits). Since
they are stored unnormalized, they are hard to work with, even in
hardware.  That's why both PowerPC and SSE can be configured to operate
in faster but non-standard-conpliant modes in which these numbers are
simply rounded ('flushed') to zero.

Internally, we do the same as the PowerPC CPU and store all floats in
double format. This means that for loading and storing singles we need a
conversion. The PowerPC CPU does this in hardware. We previously did
this using CVTSS2SD/CVTSD2SS. Unfortunately, these instructions are
considered arithmetic and therefore flush denormals to zero if non-IEEE
mode is active. This normally wouldn't be a problem since the next
arithmetic floating-point instruction would do the same anyway but as it
turns out some games actually use floating-point instructions for
copying arbitrary data.

My idea for fixing this problem was to use x87 instructions since the
x87 FPU never supported flush-to-zero and thus doesn't mangle denormals.
However, there is one more problem to deal with: SNaNs are automatically
converted to QNaNs (by setting the most-significant bit of the
fraction). I opted to fix this by manually resetting the QNaN bit of all
values with all-1s exponent.
2014-02-12 23:12:15 +01:00
Tillmann Karras c25c4a6e20 x64: add support for some x87 instructions 2014-02-12 22:45:01 +01:00
ExtremeDude2 5e0b8b3477 Rename "JITIL experimental recompiler"
This changes it to "JITIL Recompiler (experimental)"
2014-02-12 10:21:02 -05:00
degasus bbd58b8f6a change AI sampling rate based on framelimit 2014-02-11 14:53:53 +01:00
degasus ca9fd64df9 controll the interpolation frac by the fifo size 2014-02-11 14:35:19 +01:00
degasus d20dbbc92f audiocommon: sync mixer by fifo instead of estimate values 2014-02-11 07:25:58 +01:00
degasus 2956ffa5be audiocommon: remove 1:1 interpolation
The usual one is 32->48 khz interpolation. So there is no need in a special 1:1 interpolation only for performance.
2014-02-11 07:25:58 +01:00
Tillmann Karras 3218f6cca8 x64: drop instructions that don't exist
These instructions don't exist in hardware although I agree that they
would be useful for our purposes ;)
2014-02-11 05:22:53 +01:00
lioncash d2038049f5 Replace all include guard ifdefs with "#pragma once" 2014-02-10 18:07:16 -05:00
degasus 532cd44003 Use float to calculate the fps/vps
This will round internally, so 59.99 fps will now be shown as 60 fps.
2014-02-10 16:08:03 +01:00
degasus a51b5f7815 Drop framelimit by fps
Framelimit by fps can't be done per coretiming
2014-02-10 16:08:03 +01:00
degasus f7dc918057 Throttle by coretiming event instead of VI
VI isn't called as regular as we want to, so we have to create a new throttling event called regularly by coretiming.

Atm we throttle every 1 ms when we are too fast and skip throttling when we lack 40ms (to avoid fast boosts after slowdowns)
2014-02-10 16:08:03 +01:00
lioncash f5408c3f52 Clarify an if statement in NetPlayClient.cpp. See: https://github.com/LaurentGomila/SFML/issues/26.
This was simply an error in documentation. It actually returns an sf::Socket::Status enum value as a result.
2014-02-10 09:26:29 -05:00
Matthew Parlane 32bfcc034f Some tidy up of sprintf to StringFromFormat
Includes a small fix to SetupWiiMemory
2014-02-10 17:25:18 +13:00
Ryan Houdek 8d25e12085 Merge pull request #54 from lioncash/cleanup
Cleanup mismatching struct/enum indentations.
2014-02-09 19:26:15 -06:00
Pierre Bourdon 28b5c8be47 Merge pull request #53 from lioncash/remove-another-xchg
Remove function Xchg from SWStatistics.cpp.
2014-02-10 02:01:21 +01:00
Lioncash fc30597f7a Remove function Xchg from SWStatistics.cpp. Like the one previous, this can be replaced with std::swap 2014-02-09 19:55:44 -05:00
Lioncash ebb48d019e Clean up some struct indentations
Also cleaned up the indentations of some variable declarations.
2014-02-09 19:40:11 -05:00
Ryan Houdek 0030784cbf Merge pull request #38 from Sonicadvance1/GLExt-lessfail
Cleanup GLExtensions on how it fails.
Fixes Mesa with buffer_storage patches and no direct_state_access.
2014-02-09 17:48:34 -06:00
Lioncash 40182a48a5 Cleanup enum indentations. 2014-02-09 16:16:10 -05:00
Pierre Bourdon e59f770ccb Revert "Merge pull request #49 from Parlane/sprintf_tidy"
Change broke the build on Debian stable.

This reverts commit 28755439b3, reversing
changes made to 64e01ec763.
2014-02-09 16:14:13 +01:00
Pierre Bourdon 9da6900595 Merge pull request #12 from Armada651/osx_rumble
OS X Rumble Support
2014-02-09 16:10:07 +01:00
Jules Blok 2063eddfa3 ForceFeedback: Fixed scoping bug
Previous code relied on a destroyed variable to still be valid.
2014-02-09 17:04:05 +09:00
Jules Blok 992b91c082 ForceFeedback: Don't depend on the force_type_name index.
Instead use a for-each loop, compare GUIDs and save the name pointers.
2014-02-09 17:01:45 +09:00
Jules Blok c6d650c058 ForceFeedback: Add OSX rumble support 2014-02-09 17:01:45 +09:00
Jules Blok 02a95c139e ControllerInterface: Move DInput ForceFeedback support to a seperate class 2014-02-09 17:01:38 +09:00
Ryan Houdek 6a5cd02629 Cleanup GLExtensions on how it fails.
If there is an issue with a reported extension, disable it instead of failing out entirely.
Fixes an issue with buffer_storage that I had overlooked as well.
2014-02-08 19:50:12 -06:00
Ryan Houdek 9f91769def Improve GLExtensions compile time.
This changes from using logical and to bitwise and, which causes the compile time to drop from an absurd amount of time to around five seconds on my
crappy laptop.
2014-02-08 15:04:17 -06:00
Matthew Parlane ebff7974c3 Some tidy up of sprintf to StringFromFormat 2014-02-08 14:32:48 +13:00
Matthew Parlane 64e01ec763 Merge pull request #48 from Parlane/SetupWiiMemory_tidy
Tidy up SetupWiiMemory
2014-02-08 00:22:24 +13:00
Pierre Bourdon 4f97666bfd Merge pull request #20 from degasus/pulseaudioRewrite
Pulseaudio: rewrite the pa backend with the async api
2014-02-07 11:51:25 +01:00
Matthew Parlane 6b980cbf30 Tidy up SetupWiiMemory 2014-02-07 19:00:34 +13:00
Pierre Bourdon 70e2ed320d Revert "Merge pull request #47 from lioncash/remove-stringfromint"
Breaks Android build.

This reverts commit 12d026c544, reversing
changes made to 6d678490f5.
2014-02-07 00:26:33 +01:00
degasus ab124b96c4 Atomic Stores / Loads 2014-02-07 00:20:10 +01:00
degasus 5c646d334a Pulseaudio: rewrite the pa backend with the async api
The default async api allow us to set some latency options. The old one (simple API) was the lazy way to go for usual audio where latency doesn't matter.

This also streams audio, so it should be a bit faster then the old one.
2014-02-07 00:20:10 +01:00
Pierre Bourdon 12d026c544 Merge pull request #47 from lioncash/remove-stringfromint
Remove function StringFromInt from StringUtil.cpp/.h. C++11 has std::to_string for this now.
2014-02-07 00:19:15 +01:00
Pierre Bourdon 4c6d4cc270 Merge pull request #41 from Parlane/printf_warnings
Give StringFromFormat a printf format attribute.
2014-02-07 00:18:12 +01:00
Lioncash 05742ffd48 Remove function StringFromInt from StringUtil.cpp/.h. C++11 has std::to_string for this now. 2014-02-06 18:08:31 -05:00
Ryan Houdek 7a9f7bfa83 Fix a typo in EGL.h for setting mode.
Seems to have been a copy and paste issue where SetMode would always set to DETECT
This isn't right since mode should be set correctly by SetMode
2014-02-06 21:41:11 +00:00
Matthew Parlane 70d2592ffb Fix warnings found by StringFromFormat having printf style checking. 2014-02-07 01:38:08 +13:00
Matthew Parlane 09cc7e2ddf Give StringFromFormat a printf format attribute.
It gives StringFromFormat printf style arguments that should be type-checked against a format string.
2014-02-07 01:10:04 +13:00
Lioncash 9ac6e35b5f Add static and const qualifiers to the maps. 2014-02-06 03:23:13 -05:00
Lioncash 78356ce184 Simplified GetAreaCode() and GetHardwareModel() to simply use a map in comparisons. 2014-02-05 19:59:13 -05:00
Pierre Bourdon 9a24ba343b Merge pull request #34 from lioncash/geckocode-foreach
Change some for+iterator loops in GeckoCode.cpp and GeckoCodeConfig.cpp into foreach loops.
2014-02-05 17:07:40 +01:00
Lioncash 249b00c469 Change the modified parameter in the Clamp function to be a pointer.
Makes it easier to identify the one being modified.
2014-02-05 04:04:35 -05:00
Lioncash 6b87a0ef20 Introduce a generic clamp function to clean up some similarly duplicated code. 2014-02-04 20:43:07 -05:00
Lioncash 8039963858 Add const qualifiers to two foreach loop variables for consistency.
Also fix a vector include I happened to notice. Should be "<vector>" not "vector"
2014-02-04 19:44:02 -05:00
Pierre Bourdon 59e2179172 Merge pull request #35 from lioncash/videocommons-kill-xchg-in-statistics
[VideoCommon] Eliminate the function Xchg in Statistics.cpp. std::swap does the same thing.
2014-02-04 16:40:25 -08:00
Lioncash 6d9cd07bb9 [VideoCommon] Eliminate the function Xchg in Statistics.cpp. std::swap does the same thing. 2014-02-04 19:35:27 -05:00
Lioncash a73a600343 Fix name conventions of some of the foreach loop variables. 2014-02-04 19:30:46 -05:00
Lioncash 63700ad28a Change some for+iterator loops in GeckoCode.cpp and GeckoCodeConfig.cpp into foreach loops. 2014-02-04 19:19:48 -05:00
Tony Wasserka af24ed782d Merge pull request #14 from degasus/uboWorkaroundRemove
OGL: Remove non-UBO code path.
2014-02-04 14:05:55 -08:00
Ryan Houdek 00089433a6 Merge pull request #31 from Sonicadvance1/slowmemfix
[JITARM] Fixes an issue in the slowmem path that causes grey THP movies,...
2014-02-04 12:55:43 -08:00
Ryan Houdek 57f86f7f52 [JITARM] Fixes an issue in the slowmem path that causes grey THP movies, and issues of games not working like Mario Kart being incapable of getting ingame. This was due to me forgetting an instruction. 2014-02-04 13:44:26 -06:00
Tillmann Karras 442796b681 Jit64IL: nits 2014-02-04 09:09:06 +01:00
Matthew Parlane 0c2a826693 Merge pull request #29 from lioncash/remove-pointless-cstr
Remove a pointless c_str() call in FileUtil.cpp.
2014-02-03 19:48:53 -08:00
Lioncash 7ebc829b17 Remove a pointless c_str() call in FileUtil.cpp. The function takes a string in it's parameter 2014-02-03 21:31:12 -05:00
Pierre Bourdon 36f6ec8b89 Merge pull request #27 from delroth/swcp-struct-fix
SWCommandProcessor: fix the CPReg structure fields
2014-02-03 16:42:05 -08:00
Tillmann Karras 8ef57064b2 Silence warning 2014-02-04 01:30:39 +01:00
Pierre Bourdon 8ab6ed4b49 SWCommandProcessor: fix the CPReg structure fields
This structure fields should match byte-to-byte the layout of MMIO registers:
it is addressed using the MMIO reg address when doing a CP MMIO read. This was
unfortunately not the case, causing CP reads to be mostly broken with the
software renderer.
2014-02-04 01:16:14 +01:00
Pierre Bourdon 3363b396af Merge pull request #23 from lioncash/sorta-large-input-cleanup
Larger cleanup to input-related source files (this time using unique_ptr).
2014-02-02 15:11:15 -08:00
Lioncash e96f464eb5 [VideoCommon] Remove references to now non-existant files OpenCL.h and OpenCL/OCLTextureDecoder.h in the Visual Studio vcxproj file. 2014-02-01 21:52:06 -05:00
Lioncash 3efb0aa5f7 Purely stylistic cleanup of Core/HW/WiimoteEmu/Attachment/* files.
Also cleaned up WiimoteEmu.h as well.
2014-02-01 19:13:38 -05:00
Lioncash c31a623780 Clean up InputConfigDiag.cpp.
Changes a bunch of for+iterator loops into foreach loops.
2014-02-01 19:02:32 -05:00
Lioncash 557015626a Introduce the usage of unique_ptr into the InputCommon ControlEmu.h class. Allows for the automatic handling of resource deallocation. 2014-02-01 17:20:35 -05:00
degasus 6089e4470a OGL: remove ubo workaround
This was only keeped for some broken mesa versions. Meanwhile most used versions should be fixed for almost a year.
2014-02-01 22:33:45 +01:00