Commit graph

8378 commits

Author SHA1 Message Date
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
Pierre Bourdon
97119d0e89 Merge pull request #18 from lioncash/small-jit-macro-cleanup
Move two macros (JITDISABLE and INSTRUCTION_START) into JitBase.h.
2014-02-01 09:29:00 -08:00
degasus
31c3bee5bc VertexShaderGen: fix D3D posmtx attribute regression by VertexLoaderCleanup branch
Sorry, I'm too dumb too test my code. I hope this will work fine now.
2014-02-01 11:35:46 +01:00
Tony Wasserka
3dd31fe22b Merge pull request #11 from degasus/VertexLoaderCleanup
Vertex loader cleanup.
2014-01-31 06:13:26 -08:00
neobrain
0735fb7a52 Merge pull request #13 from degasus/dlCacheRemove
Remove Display List caching.
2014-01-31 03:42:06 -08:00