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
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