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
degasus
3437c7f060
VideoCommon: small VertexLoader(Manager)? refactoring
2014-01-31 07:31:03 +01:00
degasus
010a0d481a
VideoCommon: remove Cache Displaylist
...
This option was known to break every second game and only boost a bit.
It also seems to be broken because of streaming into pinned memory and buffer storage buffers.
v2: also remove dlc_desc
2014-01-31 07:30:55 +01:00
degasus
a65162f1cd
PortableVertexFormat: use AttributeFormat for posmtx attribute format
2014-01-31 07:19:34 +01:00
degasus
6c59b691b0
PortableVertexFormat: use AttributeFormat for texcoord attribute format
2014-01-31 07:19:34 +01:00
degasus
ef2d6e7d53
PortableVertexFormat: use AttributeFormat for color attribute format
2014-01-31 07:19:34 +01:00
degasus
b38ef39ab7
PortableVertexFormat: use AttributeFormat for normal attribute format
2014-01-31 07:19:34 +01:00
degasus
210f4f3e55
PortableVertexFormat: add a struct which hold all needed information for every vertex and use this for position
...
atm, position attribute is hardcoded both in VertexLoader and in backends.
v2: fix coding style + cleanup lookup table
2014-01-31 07:19:25 +01:00
Lioncash
89001accd8
Move two macros that literally doesn't change across all JIT platforms (JITDISABLE and INSTRUCTION_START) and simply have it in the JitBase.h source file. This way the macro is just located in one spot rather than 6 places.
2014-01-30 22:11:39 -05:00
Lioncash
825c5f689b
Remove some unnecessary comments, as pointed out by Matt_P.
2014-01-30 20:21:18 -05:00
Lioncash
d91a5abba1
Light cleanup to a little bit of InputCommon. Replaces much of the iterators that litter this section of the codebase.
...
Also clean up a little bit of the comments that describe the interface classes.
2014-01-30 19:51:21 -05:00
Lioncash
fea3076241
Fix an unused variable within function GetScheduledEventsSummary() in CoreTiming.cpp.
2014-01-30 15:52:27 -05:00
degasus
02d1d8e6a0
NativeVertexFormat: swap unsigned / signed formats to match GX order
2014-01-30 11:12:10 +01:00
Pierre Bourdon
72cc6431e5
Merge pull request #9 from Sonicadvance1/Fix-AndroidRender
...
[Android] Fix Android not calling eglSwapBuffers
2014-01-29 15:08:32 -08:00
Ryan Houdek
99b6c82ac3
[Android] Fix Adreno v53 development drivers rotating framebuffer
...
Older Qualcomm drivers rotated the framebuffer 90 degrees and this fix didn't work.
Now for some obscene reason it rotates a full 180 degrees.
This can at least be worked around by flipping around the image on our end.
2014-01-29 16:39:45 -06:00
Ryan Houdek
990be70eb7
[Android] Fix Android not calling eglSwapBuffers
...
This isn't the cleanup that GLInterface needs, but for now it makes it so it'll swap and not just black screen
A cleanup to GLInterface will be coming in a couple weeks.
2014-01-29 15:54:55 -06:00
Lioncash
0f555d3a47
Remove two references to DX9 in VideoCommon.
...
DX9 isn't a backend anymore, so may as well get rid of them
2014-01-29 14:39:13 -05:00
degasus
b1290a8630
OGL: remove version check for buffer_storage on windows
...
On Windows, nvidia don't give us their driver version, so we can't workaround any issues.
As buffer_storage is broken on some drivers, we wanted to disble it for them.
So we can't.
Luckyly only "some" released driver versions are affected as this extension is only available since some months. Let's hope that nobody have to use one of this driver version, else they will get a black screen ...
2014-01-28 15:15:26 +01:00
Jules Blok
5d1db5d717
Fix compilation
2014-01-27 21:40:28 +09:00
Jules Blok
76019848a4
Fix coding style
2014-01-27 21:24:35 +09:00
Zakk
0eadc2e2a4
Implement SwapInterval for AGL interface
2014-01-27 21:11:03 +09:00
crudelios
9b6c6fa9e4
BBox: Changed the rounding again, the old one fixed Paper Mario but had bugs in Mickey's Magical Mirror. This change fixes the glitches in both games.
...
Also fixed some compiler warnings.
2014-01-26 13:21:22 +00:00
degasus
d3fd0eddbb
OSX: don't avoid unsync mapping on nvida gpus just because the windows driver doesn't like it
...
OSX has their own driver, so performance issues aren't shared with the nvidia driver (unlike the closed source linux and windows nvidia driver). So now they'll also use the MapAndSync backend like all other osx drivers.
fixes issue 6596
I've also cleaned up the if/else block selecting the best backend a bit.
2014-01-26 11:00:29 +01:00
Lioncash
6f74f59427
[Core] Remove an unnecessary pragma directive from EXI_Channel.h.
...
Dolphin uses warning level 3 in VS. This warning is only triggered in warning level 4.
2014-01-25 17:12:59 -05:00
Tillmann Karras
e94a6f07f4
Fix warning
2014-01-25 21:42:44 +01:00
crudelios
23b8465621
BBox: fix for a small rounding issue.
...
The new chapter title in Paper Mario TTYD had a small graphical bug due to the new code because it read one extra pixel, this fixes it.
I hope this gets everything, I though I had checked most bugs and yet here I am, commit-spamming...
2014-01-25 19:13:32 +00:00
crudelios
90a7e053c5
Merge branch 'master' of https://code.google.com/p/dolphin-emu
2014-01-25 18:06:58 +00:00
crudelios
5f14f0e3ce
BBox: read from the proper world matrix index when transforming vertexes to screen coordinates.
...
Fixes some remaining bbox related bugs in Mickey's Magical Mirror and a slight graphical glitch in Paper Mario: TTYD when flipping and Vivian as your companion (I've been scratching my head for days to find this one).
2014-01-25 18:04:15 +00:00
Tillmann Karras
b34fe2b8f1
x64: fix parameter names of WriteModRM()
2014-01-25 17:36:09 +01:00
crudelios
cdfe58f7ed
Rewrote bounding box algotithm. Fixes issues 5967, 6154, 6196, 6211.
...
Instead of being vertex-based, it is now primitive (point, line or dissected triangle) based, with proper clipping.
Also, screen position is now calculated based on viewport values, instead of "guesstimating".
This fixes many graphical glitches in Paper Mario: TTYD and Super Paper Mario.
Also, the new code allows Mickey's Magical Mirror and Disney's Hide & Sneak to work (mostly) bug-free. I changed their inis to use bbox.
These changes have a slight cost in performance when bbox is being used (rare), mostly due to the new clipping algorithm.
Please check for any regressions or crashes.
2014-01-25 15:36:23 +00:00
Scott Mansell
dd42af9a7c
Videosoftware: Fix memory cleanup code.
2014-01-25 11:06:18 +13:00
Rachel Bryk
a3d1b9aba7
Increase save state version.
2014-01-24 00:15:56 -05:00
Scott Moreau
202054708b
EGL: Fix android build broken by last commit
2014-01-23 19:41:07 -07:00
Scott Moreau
d4ff195cad
EGL: Properly set parent window.
...
In X with EGL and WX frontend enabled, running the emulator created
two windows. This was because the parent window was set incorrectly.
2014-01-23 19:20:22 -07:00
degasus
1898524c96
VideoCommon: fix "Buffer not large enough for all vertices!"
2014-01-24 00:10:21 +01:00
Ryan Houdek
fd8757a64b
Fix OpenGL 2.1 devices that support everything we need.
...
The only two devices that do this are Mesa software rasterizer and Intel Ironlake(With a few hacks).
Basically since it doesn't support OpenGL 3.0, it can't grab the version the new way.
So failing that, it sets to GL 2.1, and continues.
Further along, on Ironlake at least, it tries grabbing the extensions the new GL 3.0 way and fails.
So have a fallback that grabs the extensions string the old way, in probably the most elegant way possible.
2014-01-23 16:02:53 -06:00
degasus
65121cf9a9
OpenGL: remove unused OpenGL headers
2014-01-23 18:52:57 +01:00
degasus
1ff681a412
D3D: move streaming buffer fallback into D3D backend
...
Neith OGL nor VideoCommon doen't use it, so there is no need to have it in VideoCommon.
2014-01-23 15:27:18 +01:00
degasus
62f1905978
VideoCommon: don't save streaming fifos into savestate
2014-01-23 15:12:31 +01:00
degasus
ff002320a5
OpenGL: Stream vertices + indices
2014-01-23 15:12:31 +01:00
degasus
52feed04db
VideoCommon: allow backends to set the buffer pointer as they want to
2014-01-23 15:12:31 +01:00
degasus
128fcdac26
OpenGL: refactor all of our StreamBuffers
...
The old way was to use big switch/case statements based on a type of buffer.
The new one is to use inheritance.
This change prohibits us to change the buffer type while running, but I doubt we'll ever do so.
Performance should also be a bit better. Also a nice cleanup.
Added some comments about this different kind of buffers.
2014-01-23 15:12:31 +01:00
degasus
be1fee6d74
OpenGL: change StreamBuffer in a streaming way
...
This is a bit slower on map_and_* because of flushing and _very_ much slower on buffer(sub)?data because of a new memcpy.
But this design allow us to decode directly into a gpu buffer, eg vertexloader will profit :)
2014-01-23 15:12:31 +01:00
Ryan Houdek
650bae12e1
Bit of a failure. Fixes 6964.
...
I was attempting to grab wglSwapIntervalEXT prior to having a valid WGL context.
This was doomed to fail.
2014-01-23 08:04:33 -06:00
Ryan Houdek
07db7520bf
[GLExt-Cleanup] This cleans up some extra bits unneeded in the extension headers
...
gl.h and glext.h provide most of the function pointer typedefs and defines for extensions and core features.
The only one it doesn't provide is GL 1.1 function typedefs, but this is to be expected.
If anything needs defines or typedefs in their header in the future, that's as easy as before.
2014-01-23 07:11:13 -06:00
Lioncash
391d26d3bf
[DolphinWX] Prevent hotkeys from being assigned to more than one button/function.
...
Prior to this commit it was possible to assign the same keycode to more than one button.
ie. Say I assigned Open with the hotkey Ctrl+O; well, it was possible to also add it to another function as well, which leads to hotkey clashing.
Now, say I assign Open with Ctrl+O, but then assign that same hotkey to Refresh List; it will unbind the hotkey from Open and then assign it to refresh list.
2014-01-22 18:28:59 -05:00
degasus
3cb5bb3b30
VertexLoader: temp class for reader/writer
2014-01-21 23:44:51 +01:00
degasus
0b97b33ceb
VertexLoader: inline destionation buffer
2014-01-21 19:23:07 +01:00
degasus
c613868f57
VertexLoader: load scale factor as const, this will save some assembler instructions
2014-01-21 18:54:16 +01:00
degasus
f90fe90320
fix windows debug comile
...
This is broken because of revision ebbf1d392b
2014-01-21 14:23:50 +01:00
degasus
ebbf1d392b
VideoCommon: merge trivial parts of VertexManager::Flush
2014-01-21 10:47:00 +01:00
degasus
60632fda6f
OpenGL: remove small optimization
...
This one was introduced to reduce the glBindTexture and glActiveTexture calls. But it was quite a bit of logic and only an improvment on uploading/creating a texture, which is done rarely.
2014-01-21 10:34:48 +01:00
degasus
fe02833f13
OpenGL: fix our ubo workaround when blend_func_extended is missing
2014-01-21 10:03:05 +01:00
Scott Mansell
8b2c540544
Finally Merge branch 'videosoftware-xfb'
...
This adds xfb support to the videosoftware backend, which increases it's
accuracy and more imporantly, enables the usage of many homebrew apps
which write directly to the xfb on the videosoftware backend.
Conflicts:
Source/Core/VideoBackends/Software/SWRenderer.cpp
Source/Core/VideoBackends/Software/SWmain.cpp
2014-01-21 00:10:00 +13:00
Scott Moreau
2c8340e1dc
Move GLInterface.h into GLInterface directory
2014-01-20 00:46:21 -07:00
Scott Moreau
4b3c338930
Merge Platform.h into GLInterface.h
2014-01-20 00:32:01 -07:00
Ryan Houdek
683dbc09ac
Stop building GLExtensions.cpp twice(One in GL, one in software). We don't need to build it twice, this'll save a bit of time in the build process.
...
Also a bit of spacing cleanup.
2014-01-19 11:37:37 -06:00
Scott Moreau
84aa98a5a4
wayland: Add bits required to run as a wayland client.
2014-01-19 10:36:20 -07:00
Tillmann Karras
21b0252e27
Jit64: disable non-IEEE mode emulation
...
I give up. Merging the ppc_fp branch has caused issues in numerous games
and I can't find the bug. I'm leaving this merged to enable easy
recompilation for people who would like to play games that benefit from
non-IEEE mode emulation (e.g. Starfox Assault).
2014-01-19 09:36:08 +01:00
Rachel Bryk
4a81baff3f
Reenable vsync after releasing tab even if frame limit is disabled.
2014-01-19 02:48:59 -05:00
Ryan Houdek
5d26bf6d9d
Rename our GLInterface class function 'GetProcAddress' in order to not have clashing function names due to Windows.
2014-01-18 14:18:32 +00:00
Ryan Houdek
bea484e12f
Move Win32 specific function grabbing fallback to WGL.cpp. Fixes issue 6964.
2014-01-18 14:10:24 +00:00
Ryan Houdek
839df31347
Merge of GL-AutoChoose.
...
This branch is the final step of fully supporting both OpenGL and OpenGL ES in the same binary.
This of course only applies to EGL and won't work for GLX/AGL/WGL since they don't really support GL ES.
The changes here actually aren't too terrible, basically change every #ifdef USE_GLES to a runtime check.
This adds a DetectMode() function to the EGL context backend.
EGL will iterate through each of the configs and check for GL, GLES3_KHR, and GLES2 bits
After that it'll change the mode from _DETECT to whichever one is the best supported.
After that point we'll just create a context with the mode that was detected
2014-01-18 04:11:59 +00:00
degasus
5a599d472e
Merge branch 'GLExtensions'
2014-01-17 16:49:51 +01:00
degasus
304adc6e0d
IndexGenerator: inline all variables
...
As we do lots of writes to *Iptr, the compiler isn't allowed to cache any shared variable (neither index nor Iptr itself).
This commit inlines Iptr + index into the index generator functions, so the compiler know that they are const.
2014-01-17 16:34:53 +01:00
degasus
1d6425bd5e
IndexGenerator: drop unused variable
2014-01-17 16:34:53 +01:00
degasus
6b01839525
VideoCommon: merge triangle+list+point index buffers
...
We are used to render them out of order as long as everything else matches, but rendering order does matter, so we have to flush on primitive switch. This commit implements this flush.
Also as we flush on primitive switch, we don't have to create three different index buffers. All indices are now stored in one buffer.
This will slow down games which switch often primitive types (eg ztp), but it should be more accurate.
2014-01-17 16:34:53 +01:00
degasus
e932a349e8
[GLExtensions] fixup for missing changes on rebase
2014-01-17 16:10:10 +01:00
Ryan Houdek
29e0a90b88
[GLExtensions] Rename internal GetProcAddress function since it clashes with the global Windows function. Fix Windows function pointer grabbing.
2014-01-17 16:06:46 +01:00
Ryan Houdek
3d4d3f6b11
[GLExtensions] Remove a bunch of unneeded headers. Fix Linux+EGL compiling. Move include to glx.h around to work around it including global GL/gl.h
2014-01-17 16:06:29 +01:00
Ryan Houdek
6cdb05b633
[GLExtensions] OpenGL 3.0 also added GL_ARB_map_buffer_range to core.
2014-01-17 16:06:23 +01:00
Ryan Houdek
a5ffe9932a
[GLExtensions] Future proof ourself by putting the default: instance on the top, so we'll grab extensions if they support something newer. Handle older GLVersions in the case they get that far.
2014-01-17 16:06:18 +01:00
Ryan Houdek
2a11fead5c
[GLExtensions] Populate the extension list for OpenGL implementations that don't show core extensions.
2014-01-17 16:06:13 +01:00
Ryan Houdek
0ea6718d99
[GLExtensions] Fix OS X build.
2014-01-17 16:06:08 +01:00
Ryan Houdek
34c9a33807
[GLExtensions] Remove AGL GetProcAddress. Change dlsym to using RTLD_NEXT. Enable dlsym fallback for OS X
2014-01-17 16:06:03 +01:00
Ryan Houdek
ca96274936
[GLExtensions] Make sure to link against libdl since we use it to grab GL function pointers in Linux/Android in the case the GLInterface->GetProcAddress fails.
2014-01-17 16:05:57 +01:00
Ryan Houdek
45dfa3a481
[GLExtensions] Missed a couple USE_GLES3 compile time differences.
2014-01-17 16:05:52 +01:00
Ryan Houdek
97dc20d1be
[GLExtensions] Pull in all the function pointers for OpenGL 1.1, This removes the need for a couple compile time differences between GL and GLES3 mode.
2014-01-17 16:05:40 +01:00
Ryan Houdek
f308b878b2
[GLExtensions] Oops. Don't just outright disable these helper functions.
2014-01-17 16:05:34 +01:00
Ryan Houdek
cfb8b43b4a
[GLExtensions] Don't fail out loading funciton pointers in both ES2 and ES3 modes.
2014-01-17 16:05:25 +01:00
Ryan Houdek
fc1f8291d6
[GLExtensions] Make sure to initialize our function pointers with VideoSoftware as well.
2014-01-17 16:05:07 +01:00
Ryan Houdek
17955fa025
[GLExtensions] Still had a GLEW lib hanging out in the CMake file for the software renderer.
2014-01-17 16:01:49 +01:00
Ryan Houdek
2a8ee1a7ff
[GLExtensions] Hopefully fix OS X build.
2014-01-17 16:01:35 +01:00
Jack Frost
f4bd7bdef0
fix windows build
...
add the GL include (back) to Base.props
use a similar technique to GLX.cpp (by Sonic) in WGL.cpp to get
wglSwapIntervalEXT without the WGLEW check
Conflicts:
Source/Core/VideoBackends/OGL/OGL.vcxproj
Source/Core/VideoBackends/OGL/OGL.vcxproj.filters
Source/VSProps/Base.props
2014-01-17 16:01:17 +01:00
Ryan Houdek
10bd61a9d2
[GLExtensions] Dynamically pull in the GL 1.3 and 1.4 functions as well.
2014-01-17 15:56:54 +01:00
Ryan Houdek
d5a7ea2041
[GLExtensions] KHR_debug on OpenGL ES 3 has a KHR suffix on their function pointers. In Desktop OpenGL there is no suffix. So handle this correctly. Make the GrabFunction macro slightly less evil, so update the init_* to reflect it. Thanks Bh44L for the suggestion.
2014-01-17 15:56:28 +01:00
Ryan Houdek
d093276e93
[GLExtensions] Fix a typo in KHR_debug
2014-01-17 15:56:20 +01:00
Ryan Houdek
a024c515c8
[GLExtensions] Remove glew includes from wgl and agl.
2014-01-17 15:56:04 +01:00
Ryan Houdek
cf8865a6e5
[GLExtensions] Add ARB_buffer_storage to negate at least one null pointer instance.
2014-01-17 15:52:34 +01:00
Ryan Houdek
71681de81a
[GLExtensions] Initial code drop for GLExtensions. This drops GLEW entirely from the codebase. This has been tested on Android and Linux+ATI. Of course untested on Windows and Apple. Also untested with Linux + EGL but should be fine there. There are most likely a couple of extensions I'm missing which would result in null pointer runs but not bad for the initial commit.
...
Conflicts:
CMakeLists.txt
Externals/GLew/glew.vcxproj
Externals/GLew/glew.vcxproj.filters
Source/Core/VideoBackends/OGL/CMakeLists.txt
Source/Core/VideoBackends/OGL/GLFunctions.cpp
Source/Core/VideoBackends/OGL/GLFunctions.h
Source/Core/VideoBackends/OGL/GLUtil.h
Source/Core/VideoBackends/OGL/Render.cpp
Source/VSProps/Base.props
2014-01-17 15:50:51 +01:00
degasus
770485ad04
VertexLoader: don't check for possible range
...
I(index) < std::numeric_limits<I>::max() is always true, so we don't have to check it
2014-01-16 22:07:48 +01:00
degasus
5eae39766b
enable buffer_storage on nvidia 331.38 on linux
...
it works fine here, and as the VSH is removed, this is the newest driver.
2014-01-16 17:51:38 +01:00
degasus
331af32038
fixup "Remove the ZTP speedup hack"
...
This fixes revision b49c09c36b
2014-01-16 00:26:49 +01:00
Tony Wasserka
f1adc56a56
Remove vertex streaming hack.
...
NV has buffer_storage, AMD has pinned memory.
Both are better than that hack which shouldn't ever have been introduced in the first place.
2014-01-16 00:11:12 +01:00
Tony Wasserka
b49c09c36b
Remove the ZTP speedup hack. Also remove useless debugging code, and a presumably outdated workaround (which was commented out).
...
Fixes issue 6875.
2014-01-16 00:11:12 +01:00
degasus
5e5db9fbc6
VideoCommon: cleanup of "components" usage
...
This "u32 components" is a list of flags which attributes of the vertex loader are present.
We are used to append this variable to lots of vertex generation functions, but some of them don't need it at all.
2014-01-15 16:58:36 +01:00
Pierre Bourdon
a561c436fc
Change the default GFX backend from D3D11 to OGL.
...
Rationale and discussion:
https://ml.dolphin-emu.org/archives/dolphin-dev/2014-January/000003.html
2014-01-14 21:57:32 +01:00
skidau
8b53385c54
Added a check for a redundant mov in the fastmem writes code.
...
Fixes issue 6905.
2014-01-13 22:18:19 +11:00
degasus
e00c3ce363
TextureConverter: remove implicit int->float convertion
...
They was used to check if we're writing to the first or second part of one pixel.
So this is now done with a boolean and a ternary operator.
2014-01-13 12:10:17 +01:00
Scott Mansell
9aff16e7c1
Fix stupid bug in Z16L depth texture efb2ram encoding shader.
2014-01-12 13:32:06 +13:00
Ryan Houdek
e3d103f60c
Update some of the comments in DriverDetails.h for drivers that have fixed their bugs.
2014-01-11 07:31:47 -06:00
Ryan Houdek
67f099af33
Enable buffer_storage for Nvidia drivers 332.21 and above.
2014-01-09 12:06:12 -06:00
degasus
95aa977d81
OGL: remove masking from streambuffer
...
We used this to disable pinned memory for index buffer, but as the detection
was reworked completely, it's just unused code.
2014-01-09 18:52:05 +01:00
degasus
eb310cbd1d
VideoCommon: disable efb access + perf querys on cph thread
...
The usual way to handle this kind of request is to rise a flag which the gpu thread polls.
The gpu thread itself either generates the result or just write zeros if disabled.
After this, it rise another flag which says that this work is done.
So if disabled, we still have the cpu-gpu round trip time. This commit just returns 0 on the cpu thread
instead of playing ping pong...
2014-01-09 18:37:59 +01:00
Pierre Bourdon
45f74840d6
Do not fastmem addresses that were constant propagated
2014-01-09 08:28:45 +01:00
Rachel Bryk
48470a20ca
Code cleanup
...
Move enums for max SI and EXI devices to their respective .h file, and rename them.
Use only those enums in BootManager.cpp. Same thing in Movie.cpp
Change one instance of MAX_BBMOTES to MAX_WIIMOTES in Movie.cpp, since movies do not support balance board.
2014-01-08 20:36:27 -05:00
Jasper St. Pierre
3046d0e701
NetPlay: Sync CPU engine between NetPlay clients/servers
2014-01-08 19:42:02 -05:00
Rachel Bryk
216f4c927a
Fix copy and paste error in BootManager.cpp.
2014-01-08 19:37:51 -05:00
Ryan Houdek
b55a4bb087
Slight optimization in the pixel shader. We are using pow(2.0, X) in place of exp2(X). This can be faster in places that don't optimize a pow to a exp2 in this case.
...
Notice this from here: http://cgit.freedesktop.org/mesa/mesa/commit/?id=847bc36a38d42967ad6bf0492fe90a4892d9d799
Intel Haswell GPU is 24 cycles for POW and 14 cycles for EXP2.
Maybe other GPUs don't optimize this either. Just be safe.
2014-01-08 16:40:31 -06:00
Ryan Houdek
cdf69adcb0
Fix for previous commit. I was supposed to use GL_VERSION, not GL_RENDERER.
2014-01-07 19:35:06 -06:00
Ryan Houdek
d2e62796fc
Probe the GL_RENDERER string on Nvidia to grab the driver version.
2014-01-07 18:29:04 -06:00
Ryan Houdek
7acc64eb0a
[Android] Reenable the bug for dynamic UBO array member accesses.
...
Some information on this bug since this isn't quite true.
Seemingly with the v53 driver, Qualcomm has actually fixed this bug. So we can dynamically access UBO array members.
The issue that is cropping up is actually converting our attribute 'fposmtx' to an integer.
int posmtx = int(fpostmtx);
This line causes some seemingly garbage values to enter in to the posmtx variable.
Not sure exactly why it is failing, probably them just not actually converting the float to an integer and just handling the float directly as a integer.
So the bug is going to stay active with Qualcomm devices until we convert this vertex attribute from a float to a integer.
2014-01-07 07:56:30 -06:00
NeoBrainX
55717ed216
D3D: Verbosify an error message.
2014-01-06 10:31:09 +00:00
degasus
e6676b4565
OpenGL: fix scaled efb2ram copys
...
This fix a regression in revision 687097d4bc
because of the wrong order of moving the sampled rect and scaling.
2014-01-05 18:19:17 +01:00
Pierre Bourdon
ed67d1ae2f
Fix the Zelda: The Wind Waker heat effect glitch.
...
Let's talk a bit about this bug. 12nd oldest bug not fixed in Dolphin, it was a
lot of fun to debug and it kept me busy for a while :)
Shoutout to Nintendo for framework.map, without which this could have taken a
lot longer.
Basic debugging using apitrace shows that the heat effect is rendered in an
interesting way:
* An EFB copy texture is created, using the hardware scaler to divide the
texture resolution by two and that way create the blur effect.
* This texture is then warped using indirect texturing: a deformation map is
used to "move" the texture coordinates used to sample the framebuffer copy.
Pixel shader: http://pastie.org/private/25oe1pqn6s0h5yieks1jfw
Interestingly, when looking at apitrace, the deformation texture was only 4x4
pixels... weird. It also does not have any feature that you would expect from a
deformation map. Seeing how the heat effect glitches, this deformation texture
being wrong looks like a good candidate for the problem. Let's see how it's
loaded!
By NOPing random calls to GXSetTevIndirect, we find a call that when removed
breaks the effect completely. The parameters used for this call come from the
results of methods of JPAExTexShapeArc objects. 3 different objects go through
this code path, by breaking each one we can notice that the one "controlling"
the heat effect is the one at 0x81575b98.
Following the path of this object a bit more, we can see that it has a method
called "getIndTexId". When this is called, the returned texture ID is used to
index a map and get a JPATextureArc object stored at 0x81577bec.
Nice feature of JPATextureArc: they have a getName method. For this object, it
returns "AK_kagerouInd01". We can probably use that to see how this texture
should look like, by loading it "manually" from the Wind Waker DVD.
Unfortunately I don't know how to do that. Fortunately @Abahbob got me the
texture I wanted in less than 10min after I asked him on Twitter.
AK_kagerouInd01 is a 32x32 texture that really looks like a deformation map:
http://i.imgur.com/0TfZEVj.png . Fun fact: "kagerou" means "heat haze" in JP.
So apparently we're not using the right texture object when rendering! The
GXTexObj that maps to the JPATextureArc is at offset 0x81577bf0 and points to
data at 0x80ed0460, but we're loading texture data from 0x0039d860 instead.
I started to suspect the BP write that loads the texture parameters "did not
work" somehow. Logged that and yes: nothing gets loaded to texture stage 1! ...
but it turns out this is normal, the deformation map is loaded to texture stage
5 (hardcoded in the DOL). Wait, why is the TextureCache trying to load from
texture stage 1 then?!
Because someone sucked at hex.
Fixes issue 2338.
2014-01-05 11:33:15 +01:00
degasus
c42f274e22
OpenGL: use shader 420pack if available to staticly bind ubo location
...
Bindung locations after compiling a shader stalls the driver. So if we manage not to bind anything after compilation, the lag would be reduced much.
2014-01-05 10:38:45 +01:00
degasus
4fff5ac90d
OpenGL: drop UBO-workaround usage for efb2ram shaders
...
It's just brainfuck to use this workaroung there. Just fetch the uniform location like all other util shaders.
2014-01-05 09:52:26 +01:00
degasus
01351795f0
TextureCache: Warn for invalid custom textures
...
At the moment, custom textures with:
- invalid mipmap size
- invalid aspect ratio
- non-fractional scaling factors
are allowed. But they can't be loaded fine by the backend, so generate a warning if someone trys to load them.
2014-01-03 14:30:12 +01:00
degasus
0f0a3cc509
ogl: clamp to edge for out of bound efb access
...
fixes issue 6898
OpenGL defaults are GL_REPEAT, which is even more unlikely than GL_CLAMP_TO_EDGE.
As I can't test the behavoir of the real hardware, I changed it to how it works before,
but I guess just clip the texture makes more sense.
2014-01-03 08:15:19 +01:00
Rachel Bryk
509ec9cc99
Bootmanager.cpp fixes and clean up.
...
Some settings that bootmanger reads from game ini can be changed while a game is running, so we don't have to revert these back to what they were when starting the game, unless they were actually changed by the game ini.
Fix signed/unsigned warnings that pauldacheez pointed out.
2014-01-02 16:36:06 -05:00
Rachel Bryk
450cacd092
Allow pad settings to be set via game ini.
2014-01-02 13:13:59 -05:00
Ryan Houdek
0faf696be7
Merge Fail. We don't disable BaseVertex on broken pinned memory.
2014-01-01 17:20:09 -06:00
Ryan Houdek
d36355e45c
Merge branch 'buffer_storage'
2014-01-01 17:14:35 -06:00
Rachel Bryk
7a818e05ef
I've never claimed to be a good coder.
2014-01-01 07:45:20 -05:00
Rachel Bryk
8f34085172
Really fix android build.
2014-01-01 07:39:50 -05:00
Rachel Bryk
777c62c67a
Fix android build.
2014-01-01 07:04:30 -05:00
Rachel Bryk
8a765f8749
Allow wiimote source to be set via game ini.
2014-01-01 06:59:01 -05:00
Ryan Houdek
1118226f27
Merge branch 'master' into buffer_storage
2013-12-31 19:18:30 -06:00
Ryan Houdek
8d8b0fc884
Merge branch 'master' into buffer_storage
...
Conflicts:
Source/Core/VideoBackends/OGL/Src/Render.cpp
Source/Core/VideoCommon/Src/DriverDetails.cpp
Source/Core/VideoCommon/Src/DriverDetails.h
2013-12-31 15:41:50 -06:00
Jasper St. Pierre
34692ab826
Remove unnecessary Src/ folders
2013-12-31 14:03:19 -05:00
Jasper St. Pierre
43e618682e
Convert all vcxproj files to UNIX line endings
2013-12-31 14:03:18 -05:00
Jasper St. Pierre
b6ad8bd712
HW: Remove unnecessary "../HW/" in include paths
2013-12-31 14:03:17 -05:00
Jasper St. Pierre
70d4d973f9
TAP_Win32: Remove unnecessary Memmap.h include
2013-12-31 14:00:06 -05:00
Ryan Houdek
6d63db96e9
Disable primitive restart on buggy OS X Intel HD 3000 drivers.
2013-12-30 18:26:55 -06:00
Tony Wasserka
de16b7207c
D3D/OGL: Add a TODO noting that we don't support GX_CULL_ALL, most notably required for accurate zfreeze emulation.
2013-12-30 20:37:59 +01:00
Tony Wasserka
3aa0a63fe6
VertexShaderGen: Remove Sonic Unleashed hack. Doesn't seem to be required anymore.
...
Either way, even if it's still needed for anything, this is not the correct way to fix the issue.
2013-12-30 20:28:07 +01:00
NeoBrainX
3cfa04b5cf
VertexShaderManager: Remove a hardcoded projection hack.
2013-12-30 19:26:10 +00:00
Tony Wasserka
bbde075420
Software renderer: Add a zfreeze related TODO.
2013-12-30 20:18:53 +01:00
Ryan Houdek
a5bfdbf6cd
Free performance for AMD+Linux. Instead of disabling BaseVertex due to pinned_memory. Just disable pinned_memory for the ELEMENT_ARRAY_BUFFER type which has issues with baseVertex(ELEMENT_ARRAY_BUFFER)+pinned_memory. In my two tests with this, I went from 5FPS to 11FPS in one test, and 2FPS to 6FPS in another.
2013-12-28 08:00:44 -06:00
Ryan Houdek
0b31fc8f52
[buffer_storage] Temporary fix for Android/GLES3 just like how everything else is. Cleanup for this will be in a new branch.
2013-12-28 05:16:39 -06:00
Ryan Houdek
8fdcba0c06
[buffer_storage] Code formatting changes suggested by Bh44L
2013-12-28 05:15:43 -06:00
Ryan Houdek
935e1fdf99
[Android] Enable shader cache.
2013-12-28 04:55:39 -06:00
Ryan Houdek
c8cdc81ce3
[ARM] Implement tw/twi
2013-12-28 04:43:07 -06:00
Ryan Houdek
d8b7f4d73f
[Android] Support grabbing OpenGL extensions and a function for checking for support.
2013-12-28 01:08:52 -06:00
Ryan Houdek
e04edd89cc
Support grabbing whichever OpenGL mode we are running under from GLInterface. GLES or GL
2013-12-28 00:58:08 -06:00
Ryan Houdek
77ba051361
[buffer_storage] Add the CLIENT_STORAGE_BIT since we access the buffer more frequently on the client side than the server side. That is exactly what the hint is for.
2013-12-27 22:58:36 -06:00
Jordan Woyak
8230da26fe
Fixed issue 6245. (ISO Path's "Remove" button not being disabled when it should be)
2013-12-27 17:16:28 -06:00
Jordan Woyak
620bf0b304
Eliminate some Wiimote acceleration logic redundancy.
...
Yeah, I eliminated a total of 3 LSB of accel data in the process, but no one will notice.
2013-12-27 16:35:11 -06:00
Jordan Woyak
c5695c987b
Revert "Reading shake force from calibration rather than a constant"
...
It didn't make sense. The math was nonsensical. Calibration data was somehow applied twice. I don't even.
This reverts commit 4dad640d5f
.
Fixed issue 6702.
2013-12-27 16:00:59 -06:00
Ryan Houdek
d8ceb97a60
[buffer_storage] Require GLEW 1.10 which has the new OpenGL 4.4 methods. Fixes linux build.
2013-12-27 15:37:31 -06:00
Ryan Houdek
ce99921c20
[buffer_storage] Implement ARB_buffer_storage. Disable it for GL_ARRAY_BUFFER due to a bug in Nvidia's drivers that causes black screen with it.
2013-12-27 10:56:03 -06:00
Jordan Woyak
4d1f113ab1
Fix some emulated wiimote turntable stupidness (DJ Hero controller). Happy Christmas!
...
Fixed issue 6865.
2013-12-25 15:33:33 -06:00
Ryan Houdek
a87e0e7489
Remove our GLU dependency. Fix static zlib
2013-12-23 16:01:34 -07:00
Rachel Bryk
04b87e1dcc
Change a PanicAlert to OSD message.
2013-12-23 07:18:28 -05:00
Ryan Houdek
42217fbd75
Fix the extended information status line that shows emulated mhz + idles skipped.
2013-12-21 17:58:04 -06:00
Ryan Houdek
e697d7a2dd
[Android] Work around Qualcomm's broken garbage in their v53 drivers. This doesn't fix the issue, just a work around. This is the stupidest issue coming from Qualcomm. Now Dolphin Mobile won't crash immediately, but there are new SPS issues.
2013-12-19 17:30:39 -06:00
Ryan Houdek
945b903499
Work around AMD's broken Linux drivers when it comes to pinned memory and base_vertex usage. It seems that using pinned memory with base_vertex disabled is quicker than the other way around.
2013-12-19 09:40:13 -06:00
Ryan Houdek
a35b62358a
[Android] Things fixed in Qualcomm driver v53. GLSL Centroid usage. SHADER_INFO_LOG reporting 0 at all times. Some crazy nonsense that broke the FPS counter. Those are all fixed. glBufferSubData still makes the device do a OOM error, and is still stupidly slow to use. Many more bugs remain in this latest Qualcomm driver.
2013-12-18 22:23:26 -06:00
Ryan Houdek
8c264a3964
In the shader log message, say if the error came from a PS or VS.
2013-12-18 22:21:14 -06:00
degasus
5eab3239bb
Jit64: load second operator for double intrutions
...
SSE do support non-vector instructions, but they _all_ overwrite the dest register
if the src location isn't a register. (wtf?)
So we have to load the src into a temporay register :(
2013-12-17 08:49:06 +01:00
degasus
2fad2a3e88
Revert "Jit64: use AVX instructions in some places"
...
and the fixes afterwards
This reverts commit ff91789773
.
This reverts commit bcefa880e4
.
This reverts commit 710a0ff435
.
This reverts commit ddaf29e039
.
2013-12-17 08:49:06 +01:00
comex
1b617c736c
Add a non-tiny warning about CPUs that will silently desync.
2013-12-16 22:41:52 -05:00
comex
d619ccee21
Remove the flawed, unused attempt to manually emulate Gecko codes.
...
Parsing Gecko codes (in any manner) is much like parsing HTML with regex
- that w̷a̶y̸ l̵i̷e̴s̵ m̴̲a̵͈d̵̝n̵̙ę̵͎̞̼̙̼͔̞͖͎̝s̵̨̬̱͍͓͉̠̯̤͙̝s̷͍̲̲̭̼͍͎͖̤̭̘. Luckily, with the embedded codehandler.bin,
the monstrosity may remain at only one implementation. Anyway, removing
the inserted_asm_codes thing probably speeds up the interpreter a bit.
2013-12-16 22:27:13 -05:00
Tony Wasserka
07820aaa9e
Software renderer: Add linear interpolation of fog range adjustment factors.
2013-12-16 18:42:46 +01:00
Ryan Houdek
2e1aa64958
[Android] Fix joysticks only capable of right/down movements. Also make it capable of using onscreen joystick even if controller 1 is bound.
2013-12-12 21:24:39 -06:00
Ryan Houdek
d7be993889
Oops, I left a bit being set when it shouldn't have been.
2013-12-12 22:35:05 +00:00
Ryan Houdek
09680ccee6
Small cleanup in the EGL GLInterface.
2013-12-12 22:08:54 +00:00
Ryan Houdek
50df037bb5
[Android] Fix gamepad input.
2013-12-12 14:42:25 -06:00
Ryan Houdek
f9ff0bc55d
Have our OpenGL/ES context creation be less stupid.
2013-12-12 12:43:49 -06:00
Ryan Houdek
40b3534319
[Android] Remove the now unused texture loader on the JNI side of things.
2013-12-11 20:09:54 -06:00
Ryan Houdek
0e1e14b3a1
Fix Linux build.
2013-12-11 16:06:19 -06:00
Ryan Houdek
eb3b933dd0
Remove all instances of OpenCL in the Dolphin Project. A brief history of OpenCL in Dolphin. OpenCL was originally added to the Dolphin codebase 1 month after it was released with OS X Snow Leopard in 2009. OpenCL was one of the largest group projects that Dolphin ever has had. The OpenCL texture decoder was originally aded with version 1.0 of the OpenCL spec; This version didn't have the capability of a OpenCL-OpenGL interop which would allow for uploading textures once and have it decoded directly to a OpenGL texure. This was to be worked out when the OpenCL 1.1 spec was released and allowed the interop. This work has never been done, and no one in the team is willing to work on it for various reasons. OpenCL has had the unreasonable expectation that it increases the performance of video games that require a large amount of EFB copies like NSMBW. In reality, enabling OpenCL just put the graphics card in a higher power mode which increased the game speed. This is due to the unfortunate effect of Dolphin tending to not push GPUs out of their lower frequency power savings modes. Thanks to everyone that had contributed to the OpenCL texture decoder.
2013-12-11 15:15:55 -06:00
Tony Wasserka
c9d9081bf9
Use less brain damaged names for DLCache and TextureDecoder.
2013-12-11 20:35:12 +01:00
Lioncash
e0aa674c72
Minor const-correctness for some functions in FifoPlayer and some AudioCommon headers.
2013-12-11 08:43:58 -05:00
comex
101bded6b3
Oops, don't use -lrt on Android either.
2013-12-10 16:35:44 -05:00
comex
eaacf10f71
Fix an idiotic race condition when starting games in multiple Dolphin instances at the same time on Unix.
...
MemArena mmaps the emulated memory from a file in order to get the same
mapping at multiple addresses. A file which, formerly, was located at a
static filename: it was unlinked after creation, but the open did not
use O_EXCL, so if two instances started up on the same system at just
the right time, they would get the same memory. Naturally, this caused
extremely mysterious crashes, but only in Netplay, where the game is
automatically started when the client receives a broadcast from the
server, so races are actually quite likely.
And switch to shm_open, because it fits the bill better and avoids any
issues with using /tmp.
2013-12-10 16:20:52 -05:00
degasus
2d8515c0cf
VideoCommon: remove outdated copy of OGL::VertexManager::vFlush
2013-12-09 23:49:09 +01:00
degasus
134c89ef98
OpenGL: disable shader cache when ShaderDebugging is enabled
...
fixes 6859
2013-12-09 16:45:20 +01:00
degasus
42619c1d2d
Merge branch 'ogl-tex2d'
...
Conflicts:
Source/Core/VideoBackends/OGL/Src/TextureConverter.cpp
2013-12-09 13:04:14 +01:00
degasus
687097d4bc
OGL: use integer uniforms for efb2ram texture converter
2013-12-09 12:33:50 +01:00
Chanwoong Kim
c405d92c41
fixed issue 6852.
2013-12-07 16:07:47 +09:00
Ryan Houdek
4867937355
Add Read16/Read8 to the CBlobBigEndianReader so the key check is reading 8bit from the correct location to determin which key to use. Also change check to == 1 as suggested in the IRC channel on first implementation. Potentially fixes 6852.
2013-12-06 20:40:12 -06:00
Ryan Houdek
14d9802ea4
Oops. Fix a typo in the DriverDetails change.
2013-12-06 12:18:20 -06:00
Ryan Houdek
faf8792351
Support OS specific bugs in our DriverDetails.
2013-12-05 09:32:27 -06:00
degasus
2cbefa2905
PixelShaderManager: clear s_bViewPortChanged flag
...
This flag wasn't cleared at all, so we set our constants dirty every time...
This could fix some performance regressions because of revision 6798a4763e
2013-12-03 09:37:45 +01:00
degasus
edc879ce48
OpenGL: fix crash in revision 95aeedec19
...
Real xfb didn't provide any read_stride, so there is a division by zero.
This commit calculates the correct read_stride for real_xfb, so there is also no hack for texture vs xfb needed.
2013-12-03 00:09:37 +01:00
Ryan Houdek
7bdd8191db
Merge branch 'master' into android-new-control-input-overlay
...
Conflicts:
Source/Android/src/org/dolphinemu/dolphinemu/settings/video/VideoSettingsFragment.java
2013-11-29 21:27:17 -06:00
Ryan Houdek
49eef423a8
[Android-overlay] Add the new overlay icons. Support configuring them. Disable hardfloat since it has issues since Dalvik doesn't understand passing floats due to ABI differences.
2013-11-29 18:37:33 -06:00
degasus
69137cff4c
Merge X11+D3D FreeLook feature into DolphinWX
...
This removes the redundant code and also implements this feature for OSX and Wayland.
But so it's dropped for non-wx builds...
imo DolphinWX still isn't the best place for this, but now it's in the same file as all other hotkeys. Maybe they'll be moved to InputCommon sometimes at once ...
2013-11-29 06:09:54 +01:00
degasus
95aeedec19
OpenGL: readback efb2ram with different strides at once
...
This is done with a pixel buffer object. We still have to stall the GPU, but
we only do it once per efb2ram call.
As the cpu can't access the vram, it has to queue a memcpy for the gpu and
wait for the gpu to finish this copy. We did this for every cache line which
is just stupid. Now we copy the complete texture into a pbo and readback this
at once. So we don't have to wait for lots of round-trip-times.
2013-11-26 20:05:49 +01:00
degasus
1138c2e155
OpenGL: reset EFB after efb2ram FB initialization
2013-11-26 04:07:59 +01:00
Ryan Houdek
db9c586356
Revert "jit: change our linking module to be able to handle arbitrary exit addresses"
...
This shouldn't cause issues, but does in Windows. Revert for now.
This reverts commit 1aa06b8fa4
.
2013-11-25 16:56:04 -06:00
degasus
0b4cb2e15f
OpenGL: split real xfb + efb2ram framebuffers
2013-11-25 22:27:11 +01:00
Ryan Houdek
7718c9959e
[Android-overlay] Multiple physical gamepad support.
2013-11-25 10:58:05 -06:00
degasus
11973d31c1
TextureConverter: remove WriteIncrementSampleX
2013-11-25 17:11:41 +01:00
Ryan Houdek
421fd0e16e
Fix OpenGL ES 3.
2013-11-25 15:36:24 +00:00
degasus
64a1969e36
TextureConverter: fix scoping
2013-11-25 16:34:08 +01:00
degasus
2a2f2fd4eb
TextureConvertion: merge Write*Swizzler
2013-11-25 16:19:08 +01:00
Ryan Houdek
9dbb262aab
Fix for OpenGL ES 3.
2013-11-25 15:11:06 +00:00
degasus
6750a81972
TextureConverter: Use integer math for swizzling
...
also move int(efb_coord) -> float(ogl_fb_coord) into WriteSampleColor
2013-11-25 15:49:13 +01:00
degasus
bcb31b09d3
TextureConverter: Use gl_FragCoord instead of uv0
2013-11-25 15:01:18 +01:00
degasus
a289e0604f
TextureConverter: remove D3D9 foo
...
This file is in VideoCommon, but as D3D11 doesn't use it and D3D9 is dropped, it's time to clean up.
2013-11-25 14:53:44 +01:00
degasus
454e1dd9a2
OpenGL: attributeless rendering for efb2ram
...
This wasn't as easy as we now have to cache also the uniform locations.
2013-11-25 13:03:35 +01:00
degasus
6ed3f82aff
OpenGL: attributeless rendering for postprocessing
2013-11-25 12:36:17 +01:00
degasus
38fe05b1df
OpenGL: attributeless rendering in emulate format changes
...
only cleanup
2013-11-25 12:27:54 +01:00
degasus
dd0b74ac15
OpenGL: cleanup efb2tex
...
Also use attributeless rendering. But we need the src rect, so set it by uniform.
If there is a slowdown here (I doubt as the driver likely has a fast path to update uniforms)
then we should check if this rect changes and only then update the uniform.
2013-11-25 12:19:34 +01:00
degasus
b93756df87
OpenGL: drop texture_rect hack
...
Everything is moved to texture2d (but often in a hacky way), so we don't need this global hack any more.
2013-11-25 09:05:50 +01:00
degasus
afcf0e65d1
OpenGL: fix emulate format changes for texture2d
2013-11-25 08:59:04 +01:00
degasus
146e435009
OpenGL: fix efb2ram for texture2D
...
This was hacky as hell. Our efb2ram shader generator is just freaked out.
2013-11-25 08:56:01 +01:00
degasus
b904d56036
OpenGL: fix efb2tex for texture2d
2013-11-25 08:43:55 +01:00
degasus
1a3e790d9e
OpenGL: fix xfb for texture2d
2013-11-25 08:38:00 +01:00
degasus
e8f23af10b
OpenGL: always use texture2d as efb
2013-11-25 08:32:41 +01:00
degasus
230e12ae8c
OpenGL: also remove VAO from xfb convertion
...
We use attributeless rendering, so officially we have to bind _any_ VAO.
As the state of this VAO doesn't matter, we don't have to switch it.
Also fix an AMD issue as they don't like to render from an empty VAO.
2013-11-25 07:38:20 +01:00
Ryan Houdek
da3eef1019
Fix the issue with COLOROUT not being defined anymore. Fix a issue where Mali shader compiler is idiotic in finding an overload for the mix function.
2013-11-25 00:06:29 +00:00
Ryan Houdek
cb3dd6b94b
Merge branch 'master' into android-new-control-input-overlay
2013-11-24 17:10:24 -06:00
Ryan Houdek
2c09e8fc5a
[Android] Enable hard-float support. Requires Android NDK r9b.
2013-11-24 16:43:53 -06:00
Ryan Houdek
ba18f38e70
Merge branch 'master' into android-new-control-input-overlay
...
Conflicts:
Source/Android/res/values-ja/strings.xml
Source/Android/res/values/strings.xml
Source/Android/src/org/dolphinemu/dolphinemu/AboutFragment.java
Source/Android/src/org/dolphinemu/dolphinemu/emulation/EmulationActivity.java
Source/Android/src/org/dolphinemu/dolphinemu/folderbrowser/FolderBrowser.java
Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListActivity.java
Source/Android/src/org/dolphinemu/dolphinemu/settings/video/VideoSettingsFragment.java
2013-11-24 16:12:00 -06:00
Ryan Houdek
f292819ff5
[Android] Due to recent changes in code breaking Tegra 4 support, and also the upcoming code which will be breaking GLES2 support entirely. Taking the initiative to drop the remaining support code from the codebase in preparation for the upcoming changes. For a look at how Dolphin on Tegra 4 looked like prior and would not have been able to be fixed at all due to Tegra 4 not supporting the precision we need in our shaders; Look at this Youtube video http://youtu.be/Ga7Jc_Ote7U
2013-11-24 15:49:23 -06:00
Ryan Houdek
f6f2b1fc60
[Android-overlay] Support multiple gamepads with touch screen controls.
2013-11-24 15:04:53 -06:00
degasus
d410fe7c96
OpenGL: cleanup yuv2rgb (real xfb) workflow
...
We neither scale nor render from subimages, so we by using gl_Position, we don't have to generate _any_ vertices for this converting.
Also remove the glTexSubImage optimization as every driver does it when needed. But there are some workflows (eg on APU) where it's better to realloc this texture instead of a second memcpy or stall.
2013-11-24 15:56:50 +01:00
Scott Mansell
12741f6406
Add comments for anybody attempting accuracy improvements in the future.
2013-11-25 01:30:53 +13:00
Scott Mansell
b5bd2ba847
OpenGL: Enable filtering for EFB to Real XFB copies.
...
This fixes Real XFB Jaggies in OpenGL on games which use yscaling, such
as most PAL games.
This fixes the last of the "Real XFB Macroblocking" issues for opengl,
see issue #6503
2013-11-25 01:11:42 +13:00
Ryan Houdek
6f73162df4
[ARM] Implement the Acid test in the JIT core. This test is currently broken in JIT64 since it uses cr instead of cr_fast.
2013-11-24 10:51:07 +00:00
Scott Mansell
e6b35642df
Fix Desktop GLSL versions in the recent changes.
...
Seems OpenGL ES 3 Requires you must have an lod argument, while Desktop
versions require you must not have a lod argument if you are using a
Sampler2DRect (which doesn't do Mipmapping).
2013-11-24 22:48:10 +13:00
Ryan Houdek
531f840720
Fix OpenGL ES 3 in the recent changes. texelFetch doesn't require the lod argument in desktop GLSL versions, but in GLSL ES 3 it is a required argument.
2013-11-24 07:45:42 +00:00
degasus
994426b3dc
Opengl: fix real XFB sample positions
...
(0,0) and (1,0) aren't accurate xfb sample positions. This fixes the image shift to the left and some blocking on higher IR.
2013-11-24 05:39:40 +01:00
Scott Mansell
eef2cddfd7
Opengl: Fix opengl realxfb "macroblocking"/bluring issue.
...
YUYV textures should NEVER be interpolated/filtered in RGB colour space.
Use TexelFetch to always fetch an actual texture sample.
issue 6503
2013-11-24 17:15:11 +13:00
degasus
09f4439d0c
VideoCommon: reorder cbufid in orderer. We've used once two times
2013-11-24 04:43:54 +01:00
degasus
7d58278b67
Merge branch 'efb2tex_alpha'
2013-11-24 04:02:38 +01:00
degasus
2bf7379a7f
D3D: also fix MAX_COPY_BUFFERS
...
the D3D backend caches the colmat buffers. As we've created more different colmats, the maximum of this matrices must also be updated.
2013-11-24 04:00:12 +01:00
Matthew Parlane
0a31255943
Unused arguments removed from XFBSource::Draw
...
Thanks neo.
2013-11-24 11:33:43 +13:00
Scott Mansell
43d1678fb2
Dynamically allocate color textures.
...
Saves ram when the video software backend isn't being used.
2013-11-24 00:52:17 +13:00
Scott Mansell
afe47ff847
Increase res of color texture to match PAL Super Smash Bros: Brawl
...
The pal version of SSBB has a 640x568 xfb, which is larger than the efb.
Increase the size of the static textures and put in some runtime checks
to prevent buffer overruns.
2013-11-24 00:15:08 +13:00
Scott Mansell
e720ea7837
Remove c++11 feature so VC2010 can be happy.
2013-11-23 23:44:05 +13:00
Scott Mansell
786e49ed48
Merge branch 'master' into videosoftware-xfb
...
Conflicts:
Source/Core/VideoBackends/Software/Src/EfbCopy.cpp
Source/Core/VideoBackends/Software/Src/SWRenderer.cpp
Source/Core/VideoBackends/Software/Src/SWRenderer.h
Source/Core/VideoBackends/Software/Src/SWVideoConfig.cpp
Source/Core/VideoBackends/Software/Src/SWmain.cpp
2013-11-23 23:20:45 +13:00
Tony Wasserka
672fa65ee7
OpenGL: Enable pinned memory even for index buffers (works for me). Big-ish speedup on AMD GPUs for streaming intensive games.
2013-11-22 18:09:52 +01:00
skidau
efeb0096c9
Changed the DSP ROM warning from a panic alert to an on-screen message.
2013-11-22 14:55:25 +11:00
degasus
b0a83c9aaa
VideoCommon: don't read alpha from efb which don't have alpha
...
This fixes issue 6788
2013-11-22 04:50:33 +01:00
Ryan Houdek
ea9ac07ec9
Merge branch 'master' into jit_exit_addresses
2013-11-21 21:17:58 -06:00
Tillmann Karras
ff91789773
Jit64: really fix fmrx regression
...
This is more tricky than I thought!
2013-11-21 05:31:55 +01:00
degasus
011fe86d01
jit64: add regcache option IsBound
...
Lots of x86 instructions are different on memory vs registers.
So to generate code, we often have to check if a ppc register is already bound to a x86 register.
2013-11-21 05:16:58 +01:00
Tony Wasserka
286b6110f1
Revert "Handle BP mask register better to avoid useless BP writes (causing flushes)"
...
This reverts commit 954be9e2d9
.
Fixes issue 6826.
2013-11-20 22:53:10 +01:00
Tillmann Karras
bcefa880e4
Jit64: fix fmrx regression
...
Revision ddaf29e039
introduced a register
corruption bug (#6825 ). Since fmrx/MOVSD only modifies ps0 but we save
both ps0 and ps1 in one xmm register, not loading the previous value
when binding to a x64 register trashed ps1.
But hey, a good opportunity to shave off one more instruction ;)
2013-11-20 21:30:49 +01:00
Ryan Houdek
ae11fba069
[Android] Make joysticks less dumb from a configuration standpoint.
2013-11-18 14:48:08 -06:00
comex
4f13f6ecaa
"warning fixes" commit introduced warnings; fix them. (And I refuse to use PRI macros.)
2013-11-18 14:34:21 -05:00
Tillmann Karras
b863e40677
Merge branch 'ppc_fp'
2013-11-18 19:31:09 +01:00
Matthew Parlane
e805bf6068
Only add real HID devices to HID list.
2013-11-17 21:14:22 +13:00
Matthew Parlane
b372f97675
Imagewrite.cpp had same problem.
...
I hate windows :(
2013-11-17 11:30:05 +13:00
Matthew Parlane
f4a1f183b9
std::string can't be passed to ... format.
2013-11-17 11:28:11 +13:00
Matthew Parlane
ea3990a41b
Don't pass char* to std::string.
...
Windows was fine with this :(
2013-11-17 11:25:12 +13:00
Matthew Parlane
33d8166620
Use IOFile for TextureToPng to support non-ascii
...
Changed save texture/screenshot uses to std::string
Removed unneeded new/delete calls when dealing with temp data.
2013-11-17 11:14:38 +13:00
Lioncash
cce869ae01
[Core] Fix a mismatched dealloc in Render.cpp in the OGL backend. Should be delete[]
2013-11-16 17:05:51 -05:00
Ryan Houdek
4a9c8e6f55
Change software rasterizer screenshot code due to change in api just now.
2013-11-16 15:37:40 -06:00
Matthew Parlane
71d70d896f
Api was too confusing for people.
2013-11-17 10:34:34 +13:00
Ryan Houdek
2025f00f88
Woops, vim copy and paste issue with a double include.
2013-11-16 09:41:01 -06:00
Ryan Houdek
e8a4cc0f71
Screenshot capability of Software rasterizer for feature completness.
2013-11-15 22:08:08 -06:00
Matthew Parlane
3a13dfdd9b
[OGL] Textures now save to PNG not TGA
2013-11-16 15:59:59 +13:00
Ryan Houdek
15bb974224
[Android] Add screenshot nativelibrary function.
2013-11-15 17:32:50 -06:00
Ryan Houdek
b9d7bb9012
[Android] Broken UBOs has been fixed in Adreno driver v53, so update the comment in DriverDetails.h. Also enable dynamic UBO array member access with that version since there is a high chance of it being fixed. Dynamic UBO member access is commonly noticed with character models being terrible looking.
2013-11-15 16:51:07 -06:00
Ryan Houdek
0e415467c4
[Android] Spawn a message if someone's phone doesn't support NEON. NEON is a requirement for Dolphin Mobile on ARM, CPU core will crash without it.
2013-11-15 14:17:47 -06:00
Matthew Parlane
c712fb7356
Fix introduced ImageWrite warning.
2013-11-15 17:58:57 +13:00
Jordan Cristiano
714633f311
Fixed console commands not registering. Code cleanup.
2013-11-14 22:23:55 -05:00
Ryan Houdek
117bf435b0
Fix GUI-less build. Also potentially OS X. We now require libpng due to our screenshot code relying on it now. WXWidgets links in libpng by itself so it isn't noticed in a wxwidgets build. OS X seems to not have libpng linked in from wxWidgets so just link in libpng at all times.
2013-11-15 01:09:38 +00:00
Matthew Parlane
ba71cdcc51
Goto crosses initialization error.
...
Sorry.
2013-11-15 13:05:03 +13:00
Matthew Parlane
033ed9477e
Reworked Screenshot saving.
...
Now OGL doesn't rely on WX for PNG saving.
FlipImageData supports (pixel data len > 3) now.
TextureToPng is now in ImageWrite.cpp/h
Video Common depends on zlib and png.
D3D no longer depends on zlib and png.
2013-11-15 13:00:38 +13:00
Ryan Houdek
feedee5c23
[Android-overlay] Support touch screen axises in native. Have a non-configurable main joystick on screen at this point.
2013-11-14 15:18:33 -06:00
Jordan Cristiano
2703cae8d3
Fixed ZComploc and Zfreeze values being incorrectly saved.
2013-11-14 03:15:03 -05:00
Jordan Cristiano
0fced651a5
More warning fixes, OSX build fix.
2013-11-14 03:11:40 -05:00
Matthew Parlane
7e9b970240
Use libpng for saving images.
...
TODO: Needs threading done similiar to OGL backend.
Fixes issue 6779.
2013-11-14 21:02:49 +13:00
Jordan Cristiano
c3069eda28
build fix
2013-11-14 02:27:53 -05:00
Jordan Cristiano
39a4d4329d
more warning fixes
2013-11-14 02:19:15 -05:00
Matthew Parlane
ca5b3b4773
atlbase not needed. Interim fix until I get png done.
2013-11-14 18:10:39 +13:00
Ryan Houdek
1942d79c5b
[Android-overlay] Had the action reversed.
2013-11-13 16:36:30 -06:00
Ryan Houdek
2a23bdde6f
Merge branch 'master' into android-new-control-input-overlay
...
Conflicts:
Source/Core/DolphinWX/Src/Android/ButtonManager.h
2013-11-13 16:17:42 -06:00
Ryan Houdek
63a9dff3bb
Windows requires memory to be included to use unique_ptr
2013-11-13 12:51:49 -06:00
Ryan Houdek
652ef24a2e
Remove our two instances of auto_ptr and replace it with unique_ptr. auto_ptr has been deprecated.
2013-11-13 11:44:04 -06:00
Matthew Parlane
7b53574b68
Support texture and screenshot dumping using WIC, no XP support.
2013-11-14 00:48:02 +13:00
Matthew Parlane
abc3bddb54
Revert "D3D: Reintroduce depencency on D3DX11 because it's the most straightforward way to bring back some broken features."
...
This reverts commit a83c239765
.
2013-11-14 00:34:09 +13:00
Jordan Cristiano
f96e9e1ae4
warnings and code formatting
2013-11-13 04:03:46 -05:00
Tillmann Karras
038ffea369
Jit64: don't flush clean FPRs
2013-11-13 08:03:18 +01:00
Tillmann Karras
288bef2807
x64: add small warning if CPU has SSE2 but not DAZ
2013-11-13 06:26:57 +01:00
degasus
d78c8c21a2
jit64: enable fp instructions faddx fsubx fdivx fdivsx
...
all of them are now accurate enough as we handle non-ieee floats correctly
2013-11-13 06:26:50 +01:00
Tillmann Karras
cd069fdce1
Interpreter: software-based flush-to-zero
...
bDAZ is now called bFlushToZero to better reflect what it's actually
used for.
I decided not to support any hardware-based flush-to-zero on systems
that don't support this for both inputs _and_ outputs. It makes the code
cleaner and the intersection of CPUs that support SSE2 but not DAZ
should be very small.
2013-11-13 06:24:58 +01:00
Tillmann Karras
466a7afde3
Interpreter: support non-IEEE mode emulation
...
v2: fix fxsave on visual studio, thx @ rodolfo for this patch
2013-11-13 06:24:57 +01:00
Tillmann Karras
710a0ff435
Jit64: don't unnecessarily load registers
2013-11-13 06:16:24 +01:00
Tillmann Karras
ddaf29e039
Jit64: use AVX instructions in some places
2013-11-13 06:15:56 +01:00
Tillmann Karras
ae86850a78
x64: support VEX opcode encoding
...
and add some AVX instructions
2013-11-13 06:12:23 +01:00
Tillmann Karras
22b47d5b9c
Jit64: Fix and re-enable psq_l for W=1
...
Patch by konpie:
https://forums.dolphin-emu.org/Thread-code-bug-report-based-on-3-0-735
2013-11-13 05:58:28 +01:00
Tillmann Karras
6054129df8
x64: detect FMA support
2013-11-13 04:46:34 +01:00
Tillmann Karras
2fecb033be
Jit64: micro-optimize ps_sel
...
Adapted from a patch by konpie:
https://forums.dolphin-emu.org/Thread-code-bug-report-based-on-3-0-735
2013-11-13 04:45:43 +01:00
Tillmann Karras
6f5650f82e
Fix Bluetooth warnings
2013-11-13 04:01:24 +01:00
Tillmann Karras
268bdf19ce
Fix format string warnings
2013-11-13 04:01:16 +01:00
Ryan Houdek
39ad5a2f7a
Disable Fastmem on JIT64IL. JIT64IL is completely incompatible with Fastmem and doesn't need it since it has its own way to speed up memory accesses. This fixes the JIT64IL core, which I totally didn't break but was blamed for.
2013-11-12 19:37:09 -06:00
Ryan Houdek
7c1ac441f6
Redo 'Fixes GCC 4.9 compilation. It now supplies its own _mm_shuffle_epi8 intrinsic.' This time with support for Windows.
2013-11-12 16:34:56 -06:00
Rachel Bryk
0f94652952
Disable wiimote source selection while netplay is running.
2013-11-12 04:16:51 -05:00
Ryan Houdek
a72b3ca20c
[ARM] Don't leave my test code in the JIT core.
2013-11-12 04:22:42 +00:00
Ryan Houdek
56557c845a
[ARM] Fix NEON emitter encodings.
2013-11-12 01:01:54 +00:00
Ryan Houdek
68ba0f7f4e
Add a comment to the magic value reading location.
2013-11-11 17:17:49 +00:00
Chanwoong Kim
22fef0da9b
Fixed a bug that incorrectly recognized as 'GameCube'. when you open the Korean Wii Disc, which is re-encrypted with a common-key(g_MasterKey).
2013-11-12 01:05:30 +09:00
Ryan Houdek
d1de336879
[ARM] More NEON emitters.
2013-11-11 01:47:05 +00:00
Jordan Cristiano
3a28afd8d5
Changed thread barrier and event to use a lamba wait predicate instead of a functor.
2013-11-10 04:57:11 -05:00
Ryan Houdek
e013a74cdb
[ARM] More NEON emitters.
2013-11-10 05:02:32 +00:00
Tony Wasserka
22f727cc69
D3D: Use D3DX11 for taking screenshots.
2013-11-10 00:22:35 +01:00
Tony Wasserka
0b02880b76
Revert "Be less dumb."
...
Revert "Actually, filename really does need to be a parameter because of some random debug thing."
Revert "fix non-HAVE_WX case"
Revert "Handle screenshot saving in RenderBase. Removes dependency on D3DX11 for screenshots (texture dumping is still broken)."
This reverts commits 00fe5057f1
, 74b5fb3ab4
, cd46138d29
and 5f72542e06
because taking screenshots in D3D still crashed for me so there was no point in the code changes (which I found ugly anyway).
2013-11-10 00:22:33 +01:00
Tony Wasserka
3de2ee5d46
D3D: Use D3DX for texture dumping.
2013-11-10 00:22:31 +01:00
Tony Wasserka
a83c239765
D3D: Reintroduce depencency on D3DX11 because it's the most straightforward way to bring back some broken features.
...
The Dolphin development team is incapable of providing sufficient replacement for its previous usage in Dolphin and the advantages of dropping the dependency do not justify the removal of screenshots and texture dumping.
From now on, d3dx11.h, d3dx11async.h, d3dx11core.h and d3dx11tex.h are required to be stored somewhere in the header include path. I don't know if this is the case for anyone else than me, but I can't really say that I care after having people randomly merge unfinished branches into master.
2013-11-10 00:18:03 +01:00
degasus
8923968b47
Revert "VideoCommon: create native texture pool"
...
This reverts commit 6cece6b486
.
In fact, there was a _huge_ speedup on lots of games (mostly on nvidia+ogl), but there are some crashes on D3D.
I have to fix this crash and then I'll commit something like this again :-)
Conflicts:
Source/Core/VideoCommon/Src/TextureCacheBase.cpp
2013-11-07 21:16:36 +01:00
Shawn Hoffman
33d56f50a4
Re-plumb window handle to the dsound backend.
...
Reverts parts of commit 71c01d83ab614b9e0c421d03ca694713dbabff48.
Fixes issue 6800
2013-11-07 09:24:56 -08:00
degasus
ea2d8bf328
VideoCommon: fix custom textures
...
This fix a regression by revision 6cece6b486
delete pointer must not do anything if pointer==NULL.
2013-11-07 15:55:34 +01:00
Lioncash
c33036aa01
Fix the filter for some files in the Core VS project related to the JitIL. They were in the root of the project. They should actually be in their own filter named JitILCommon.
2013-11-07 01:33:32 -05:00
degasus
1aa06b8fa4
jit: change our linking module to be able to handle arbitrary exit addresses
...
And also do this for all JIT backends...
2013-11-07 06:19:35 +01:00
Pierre Bourdon
ea6fd58b97
Use an unordered_set to track FIFO write adresses
...
Reduces CheckGatherPipe CPU consumption by 40%.
2013-11-07 03:22:32 +01:00
Pierre Bourdon
954be9e2d9
Handle BP mask register better to avoid useless BP writes (causing flushes)
...
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2013-11-07 03:06:53 +01:00
Tillmann Karras
cdc27e46f1
Jit64: implement ps_res
...
This is probably more accurate than it is allowed to be. After all, the
instructions are supposed to be "estimates".
2013-11-07 02:19:20 +01:00
Tillmann Karras
0a2a273a2e
Jit64: simplify ps_sel
2013-11-07 02:02:38 +01:00
Tillmann Karras
201c4c65a5
Jit64: fix typo in ps_sel and re-enable it
2013-11-07 02:02:24 +01:00
degasus
2f7ca688ae
jit64: remove dead code
2013-11-07 01:59:10 +01:00
Tillmann Karras
c29fb22cd4
Jit64: extract frsqrtex as method
2013-11-07 01:59:00 +01:00
Matthew Parlane
897bec1add
[JitIL] No more terrible usage of vectors.
...
This is possible because of C++11.
2013-11-06 22:18:08 +13:00
degasus
274f6dd7ab
ogl: check default framebuffer for msaa
...
default framebuffer must not be sampled, so throw a panicalert if it is
2013-11-05 17:38:48 +01:00
Ryan Houdek
948ace9546
[ARM] Minor idle skip optimization in bx.
2013-11-05 13:05:39 +00:00
Ryan Houdek
56685c396a
[ARM] Fix an issue with the data offset in LoadStore operations. Thanks to PPSSPP.
2013-11-05 13:05:38 +00:00
degasus
6cece6b486
VideoCommon: create native texture pool
...
We often need the same native texture objects for new textures. This commit
try to avoid destroying and creation of this textures by pooling them.
This should be a big performance gain for some efb2ram games as they may
overwrites partially a cached texture (which would be deleted) and afterwards
try to read it.
Creating/destroying sounds like an easy task, but it isn't. eg the nvidia ogl
driver synchonize their threads do avoid use-after-free issues.
2013-11-05 12:21:22 +01:00
Shawn Hoffman
f4056978c8
[windows] update SDL-2.0.0 to 2.0.1. Fixes issue 6793.
2013-11-04 23:50:52 -08:00
degasus
045efdfc3e
ogl: drop all %f from TextureConversionShader
2013-11-04 12:38:55 +01:00
Matthew Parlane
e15f628935
Fix {Read,Write}FileToString.
...
We should be using binary always.
2013-11-05 00:33:41 +13:00
comex
3f1ea21e4f
Fix warnings.
2013-11-03 20:54:06 -05:00
comex
21610c2e54
Run code through clang-modernize -add-override to add 'override' decls.
2013-11-03 20:54:05 -05:00
comex
c579637eaf
Run code through the advanced tool 'sed' to remove trailing whitespace.
2013-11-03 20:54:05 -05:00
comex
965b32be9c
Run code through clang-modernize -loop-convert to create range-based for loops, and manually fix some stuff up.
2013-11-03 20:54:01 -05:00
comex
00fe5057f1
Be less dumb.
2013-11-03 14:37:56 -05:00
Rachel Bryk
a250ab0af7
Stop saving random files to ./
2013-11-02 23:47:10 -04:00
comex
74b5fb3ab4
Actually, filename really does need to be a parameter because of some random debug thing.
2013-11-02 22:44:27 -04:00
comex
cd46138d29
fix non-HAVE_WX case
2013-11-02 22:23:29 -04:00
comex
5f72542e06
Handle screenshot saving in RenderBase. Removes dependency on D3DX11 for screenshots (texture dumping is still broken).
2013-11-02 22:19:21 -04:00
Shawn Hoffman
26059f1109
rename the dolphinwx project to dolphin, and thus change the executable name back to dolphin{d}.exe
2013-11-02 16:22:15 -07:00
Shawn Hoffman
bc45a38122
do not copy pdbs to binary dir (you can use the symbol server for $(random_build), or it will be found locally if you built it yourself)
2013-11-02 16:19:17 -07:00
Matthew Parlane
dab9af43a4
[Windows] Add missing dlls and enable OpenMP support.
2013-11-03 11:54:45 +13:00
skidau
65404e7475
Removed duplicate definition of ibuild within JitIL.h. Fixes JitIL from hanging on x64/x86.
2013-11-01 12:33:29 +11:00
comex
82729fcc8f
Merge remote-tracking branch 'shuffle2/vc12'
...
Conflicts:
Source/Core/Common/Common.vcxproj
Source/Core/Common/Common.vcxproj.filters
2013-10-31 16:51:56 -04:00
comex
4c7bbd96e4
Improve ChunkFile.h:
...
- Add support for std::set and std:pair.
- Switch from std::is_pod to std::is_trivially_copyable, to allow for
types that have constructors but trivial copy constructors. Easy,
except there are three different nonstandard versions of it required
on different platforms, in addition to the standard one.
2013-10-31 15:40:53 -04:00
degasus
498d491942
Merge branch 'viewportCorrection'
2013-10-29 22:33:51 +01:00
degasus
35824aa4d5
ogl: ceil viewport, rounding isn't supported on vs and this is more like the old behavior
2013-10-29 21:42:40 +01:00
degasus
ab35503195
ogl: don't force depth+stencil for default framebuffer
2013-10-29 19:20:40 +01:00
degasus
92fdac412b
VideoCommon: drop UpdateViewportWithCorrection
...
It's only used once in BPFunction which itself is also only used once.
So the setter is moved to BPStructs like all other ones.
2013-10-29 18:55:50 +01:00
degasus
2118c1d3c3
VideoCommon: remove constants.depthparams[2+3] as they aren't used in the shader at all
2013-10-29 18:55:50 +01:00
degasus
f4a9deefa8
ogl: remove some unneeded includes
2013-10-29 18:55:50 +01:00
degasus
8e0f91f70e
d3d: use backend based UpdateViewport instead of VideoCommon one
2013-10-29 18:55:50 +01:00
degasus
acc0b3b21c
ogl: don't call SetViewportChanged from backend as it's not needed any more
2013-10-29 18:55:50 +01:00
degasus
3151d8709c
VideoCommon: move ViewportCorrection into VideoCommon
...
D3D doesn't allow bigger viewports than rendertargets. But flipper does, so the viewport will be clipped and the transformation matrix will be changed.
This was done in the D3D backend itself. This is now moved into VideoCommon. This don't reduce code, but in this way, VideoCommon doesn't depend on the backends.
2013-10-29 18:55:50 +01:00
degasus
0002236e3e
Merge branch 'viewport_float'
2013-10-29 18:33:56 +01:00
degasus
b253d60f04
VideoCommon: Drop D3D9 SSAA implementation
...
This isn't needed for both OGL+D3D11 as they support sample shading directly. So we
could use the common MSAA util shaders instead of writing custom ones.
2013-10-29 18:20:07 +01:00
Ryan Houdek
f18c461fd6
[viewport-float] Fix OpenGL ES 3 build.
2013-10-29 17:10:02 +00:00
degasus
edf0511d4e
OGL: Use floating points for viewport parameters.
...
As told by neobain, ARB_viewport_array introduced float viewports.
They must be supported on OGL4.1+, but it's usually also implemented on 3.3 GPUs.
2013-10-29 15:29:06 +01:00
Ryan Houdek
58d42f43e3
[Android] Fix PCH build. Clean up DolphinWX cmake file a little bit. Modify our android cmake toolchain file to make the default build location not be source root, because that is stupid.
2013-10-28 19:59:03 -05:00
comex
2e983071c5
Add git.bat to the options in make_scmrev.h.js because depot_tools uses it and I'm silly.
2013-10-27 19:51:55 -04:00
Ryan Houdek
8e73e8ae5f
Wipe all traces of OpenSSL's AES implementation. Use polarssl instead.
2013-10-27 18:27:07 +00:00
Shawn Hoffman
8dcd13cca7
[vc12] std::min/max requires <algorithm> header. It should be in pch, but just add it for the single file that needs it, for now.
2013-10-26 18:04:00 -07:00
Shawn Hoffman
ccd30024b3
Update to VS2013 and a slew of build-related updates. Notes:
...
* Currently there is no DEBUGFAST configuration. Defining DEBUGFAST as a preprocessor definition in Base.props (or a global header) enables it for now, pending a better method. This was done to make managing the build harder to screw up. However it may not even be an issue anymore with the new .props usage.
* D3DX11SaveTextureToFile usage is dropped and not replaced.
* If you have $(DXSDK_DIR) in your global property sheets (Microsoft.Cpp.$(PlatformName).user), you need to remove it. The build will error out with a message if it's configured incorrectly.
* If you are on Windows 8 or above, you no longer need the June 2010 DirectX SDK installed to build dolphin. If you are in this situation, it is still required if you want your built binaries to be able to use XAudio2 and XInput on previous Windows versions.
* GLew updated to 1.10.0
* compiler switches added: /volatile:iso, /d2Zi+
* LTCG available via msbuild property: DolphinRelease
* SDL updated to 2.0.0
* All Externals (excl. OpenAL and SDL) are built from source.
* Now uses STL version of std::{mutex,condition_variable,thread}
* Now uses Build as root directory for *all* intermediate files
* Binary directory is populated as post-build msbuild action
* .gitignore is simplified
* UnitTests project is no longer compiled
2013-10-26 17:55:38 -07:00
Ryan Houdek
1eba4da21a
Revert "Fixes GCC 4.9 compilation. It now supplies its own _mm_shuffle_epi8 intrinsic."
...
This reverts commit b2c4901b3f
.
Breaks Windows build. GCC 4.9 isn't out yet anyway.
2013-10-26 19:21:00 -05:00
Ryan Houdek
b2c4901b3f
Fixes GCC 4.9 compilation. It now supplies its own _mm_shuffle_epi8 intrinsic.
2013-10-26 19:05:31 -05:00
Tony Wasserka
f82e1b9dc7
D3D: Use floating points for viewport parameters.
...
OpenGL 4.1 allows for a similar change thanks to ARB_viewport_array, but we don't make use of this, yet.
2013-10-26 12:40:37 +02:00
Ryan Houdek
c24dfe559b
[Android] Change how the onTouchEvent native method works. Just pass in the correct Button ID and Action and it'll be pressed or not. Not actually rigged up to the Java code yet. Doesn't support anything with an Axis yet so no C stick, main stick, L and R triggers
2013-10-26 05:36:20 -05:00
skidau
41f6f6adc9
Added memchecks when the MMU is enabled. Thanks to comex for the fix.
...
Fixes issue 6754.
2013-10-26 14:32:03 +11:00
comex
005af7bd63
Fix build on Mavericks.
2013-10-24 16:39:46 -04:00
Tillmann Karras
69a10869bb
Document FPSCR fields
2013-10-24 01:46:07 +02:00
Rachel Bryk
8aef60f6ca
Allow frame limit to be set via game ini.
2013-10-23 13:45:03 -04:00
Ryan Houdek
e3febb1603
[Android] Fix MIPS compiling.
2013-10-21 09:52:43 -05:00
Ryan Houdek
887f8e463d
[Android] Fix MIPS compiling.
2013-10-21 09:43:19 -05:00
Lioncash
4b774ef99a
Fix my fix.
2013-10-20 16:42:30 -04:00
Lioncash
448c19bce1
Fix an issue where my recent changes would cause compilation to fail on some distros of Linux.
...
Note that before pushing those changes, they were initially tested in a branch, and passed the compilation testing. Sorry that I didn't catch this before.
2013-10-20 16:32:40 -04:00
Lioncash
b3da5c5d58
Really fix the Linux build this time.
...
Dammit size_t :(
2013-10-19 19:59:05 -04:00
Lioncash
a5a21e7f44
Fix Linux build.
...
Turns out Hash.h needs Common.h
2013-10-19 19:59:04 -04:00
Lioncash
8b10d5b481
Add header cstdint to CommonTypes.h
2013-10-19 19:59:03 -04:00
Lioncash
1f0710caf7
Remove some more includes.
2013-10-19 19:59:03 -04:00
Lioncash
207547b425
Clean up includes in DiscIO as much as possible.
...
Also turned a long iterator declaration in VolumeDirectory.cpp to using auto in order to shorten it.
2013-10-19 19:59:02 -04:00
Lioncash
82fd579506
Remove unnecessary include of "../../Core/Src/ConfigManager.h" from BannerLoaderGC.cpp. In actuality, all that was needed here was an include of CommonTypes.h.
...
Also change Common.h to CommonTypes in BannerLoaderWii.cpp.
2013-10-19 19:59:01 -04:00
Lioncash
6adf3e37e2
Clean out unnecessary includes from the DSP JIT.
2013-10-19 19:59:00 -04:00
Lioncash
af1b5fe767
Woops forgot to clean out some files in the Jit64IL. All clean now.
2013-10-19 19:58:59 -04:00
Lioncash
80b4cb6cf3
Clean out includes from regular JitCommon.
2013-10-19 19:58:59 -04:00
Lioncash
3360ec013f
Clean out includes in JitILCommon.
2013-10-19 19:58:58 -04:00
Lioncash
22cdc0f56e
Remove some more unnecessary includes, as well as organize a little more.
2013-10-19 19:58:57 -04:00
Lioncash
97cd42f5c3
Remove some unnecessary includes as well as simplifying exisiting ones if possible.
2013-10-19 19:58:56 -04:00
comex
33ee04626d
Don't define __rdtsc if x86intrin.h already does.
2013-10-19 12:40:21 -04:00
Lioncash
81964517d6
Remove a redundant assignment in Init() within PowerPC.cpp. We already assign zero to ppcState.dtlb_last.
2013-10-17 20:38:49 -04:00
Lioncash
b8a947ce0a
Fix a filter in the VS project file for JitILCommon-related files.
2013-10-17 06:36:32 -04:00
comex
de1773affb
Basic precompiled header support for Linux/OS X. Shaves 20-30% off full rebuild time on my system.
2013-10-17 00:07:35 -04:00
comex
cffe6ba3fd
Fix TextureEncoder.h
2013-10-16 23:20:51 -04:00
comex
e1f3a4d7b3
Fix out-of-tree build on OS X.
2013-10-16 23:15:21 -04:00
Tillmann Karras
e4a81f32d4
Document some UGeckoInstruction fields
2013-10-17 04:59:13 +02:00
Rachel Bryk
f605ea9eeb
[Netplay] Allow a spectator to leave without affecting players.
2013-10-16 21:44:49 -04:00
degasus
5a212a8fe0
jit64: enable faddsx again
...
It was disabled because of issue 182, but as this game depeneds on FPRF, it was just 'fixed' because of the fallback to interpreter (which implements FPRF by default).
Also enables FPRF for this game via GameIni, so that the issue is still workaround.
If there are any regressions because of this commit, please try to enable FPRF in GameIni.
2013-10-17 01:43:16 +02:00
degasus
f850d283d1
ogl: only use bufferdata if buffersubdata is broken
...
Else nvidia fallback would be slower than needed
2013-10-16 15:46:58 +02:00
Ryan Houdek
f0bf5aa113
Fix rendering on Adreno and Mali. This adds a new DriverDetails bug to know if the bufferstreaming is broken. Thanks degasus for fixing this.
2013-10-16 11:27:58 +00:00
Tillmann Karras
c234dc97c0
Jit64: optimize floating-point/paired-single arith
...
The "else if (b != d)" branch was dead code and only works if b == d. Now
the last else block with two temporary XMM registers is not needed anymore.
2013-10-16 00:52:21 +02:00
skidau
b4513313bb
Increase the trampoline cache size to cater for fastmem writes.
...
Fixes issue 6722.
2013-10-16 09:26:08 +11:00
Rachel Bryk
6eb216fc77
(Netplay) Disable record input checkbox while a game is running.
...
Fixes issue 6734.
2013-10-15 17:28:01 -04:00
comex
b11cf1fa10
Fix config file saving on Windows.
2013-10-15 17:20:00 -04:00
degasus
b1afb32188
ShaderGen: fix for commit bd80de14f4
2013-10-15 14:48:40 +02:00
degasus
bd80de14f4
ShaderGen: drop PerPixelLighting + 8Texcoord hack
...
D3D9 only supports 8 texcoords. But we need a new one for ppl, so we just store it in the first 4 texcoords in the free 4th component.
This isn't needed for both d3d11 and ogl3, so just remove it.
2013-10-15 14:38:26 +02:00
degasus
f62579761c
ShaderGen: remove nonsense for() if() {}
2013-10-15 14:31:02 +02:00
comex
72c1e143f3
Try to atomically save config files.
2013-10-15 02:59:25 -04:00
Lioncash
f3af8ee0f0
Revert "Remove some unnecessary includes."
...
Turns out this explodes on Linux.
This reverts commit c4696568cc
.
2013-10-14 04:05:38 -04:00
Lioncash
c4696568cc
Remove some unnecessary includes.
2013-10-14 04:01:57 -04:00
comex
390760bd75
Perf: Use unordered_map instead of map in very slightly hot function.
...
Incrementing an unordered_map's iterator is a bit faster.
2013-10-13 15:31:42 -04:00
comex
1570558789
Remove unused variable waitingForPEInterruptDisable.
2013-10-13 14:00:38 -04:00
NeoBrainX
59ae93d04e
PixelShaderGen: Refine the comment from revision 3fbe1b1ccd
.
2013-10-13 14:59:59 +00:00
degasus
3fbe1b1ccd
VideoCommon: Update FastDepth's comment
2013-10-13 16:14:30 +02:00
degasus
6798a4763e
VideoCommon: revert the ViewPort changes
...
xfregs isn't written when calling this function, so we have to use such an invalid flag :-(
2013-10-13 15:41:11 +02:00
degasus
2754c1132e
VideoCommon: reimplement Dirty() in PixelShaderManager
...
This isn't needed in VertexShaderManager as it's still in the old dirty flag way.
But it's very importend for PixelShaderManager as some float4s aren't initialized as 0.0f
2013-10-12 20:31:59 +02:00
degasus
50c404ce4a
VideoCommon: fix dstAlpha
2013-10-12 20:31:59 +02:00
degasus
0b2fb548c3
VideoCommon: remove SetVSConstant4f
2013-10-12 20:31:59 +02:00
degasus
5de7ac4791
OGL: update ubo workaround
2013-10-12 20:31:59 +02:00
degasus
cc6c454898
VideoCommon: refactor PixelShaderManager setters
...
The old way was to use a dirty flag per setter. Now we just update the const buffer per setter directly.
The old optimization isn't needed any more as the setters don't call the backend any more.
The follow parts are rewritten:
Alpha
ZTextureType
zbias
FogParam
FogColor
Color
TexDim
IndMatrix
MaterialColor
FogRangeAdjust
Lights
2013-10-12 20:31:25 +02:00
degasus
15ed0ea9cf
videoCommon: remove not supported constant types
...
I'm pretty sure GPUs can read u8 values, but this isn't exported by the API.
But hey, see unpackSnorm4x8 :-)
2013-10-12 20:29:56 +02:00
degasus
6e2fe72b8f
D3D: also uses VideoCommon constant buffer handling
...
As now both backends uses the VideoCommon one, the old setting API was removed.
2013-10-12 20:29:56 +02:00
degasus
7c14463d11
ogl: implement useful constant buffer upload
...
this will remove the additional memcpy introduced in my last commit
2013-10-12 20:29:56 +02:00
degasus
4377618438
VideoCommon: keep a copy of the const buffer in VideoCommon
...
The upload in the backend isn't done, it's just pushed by the mostly removed SetMulti*SConstant4fv.
Also no optimizations was done on VideoCommon side, but I can start now :-)
Sorry for the hacky way, but I think this is a nice (working) snapshot for a much bigger change.
2013-10-12 20:29:56 +02:00
degasus
0753ce5bda
ogl: use GL_RGBA instead of GL_RGBA8
...
8 bit per pixel is _everywhere_ the default, so we don't need to define it explicitly.
Also we don't rely on exact 8 bit resolution.
2013-10-12 16:34:06 +02:00
Ryan Houdek
2f0aca2055
[ARM] Fix the JITILArm and JITArm dispatchers from comex's recent changes.
2013-10-12 08:30:26 +00:00
Ryan Houdek
0556193442
Build fix for previous commit.
2013-10-11 21:45:44 -05:00
Ryan Houdek
cf7521dc36
[Android] Make Tegra 4 output graphics that aren't visually appealing.
2013-10-11 21:42:07 -05:00
comex
78a4dbced8
Remove more unused stuff.
2013-10-09 21:37:29 -04:00
comex
8962b9606b
One shudders to imagine what inhuman thoughts lie behind that code.
...
(Read_Opcode_JIT and Write_Opcode_JIT read/write from unrelated memory
areas.* Rename the latter and refactor.)
*except at the one specific exception handler where it doesn't. I
have no idea what this is supposed to do, but it probably doesn't do
it correctly. For now, remove the exception.
2013-10-09 21:37:29 -04:00
comex
2e32f11f03
Remove "deprecated" and unused function Read_Opcode_JIT_LC.
2013-10-09 21:37:28 -04:00
comex
5847e26d34
Minor JitCache cleanup.
2013-10-09 21:37:28 -04:00
comex
86f2e1734a
Make JIT_UNLIMITED_ICACHE always on.
...
(1) The alternative doesn't compile.
(2) Despite "unlimited" sounding like a hack, it's actually
significantly more correct then the alternative, which is no
emulated icache.
(3) Easier to wrap my head around.
2013-10-09 21:37:28 -04:00
Ryan Houdek
715d5ae8a7
Merge branch 'JitArmIL'
...
This implements a partial JITIL based off of the JIT64IL. It's enough to run most games, albiet at a slow speed.
Implementing instructions for this IL is really simple since it basically is just enabling based on what is already in JIT64IL, and then enabling each individual IL instruction.
2013-10-09 23:16:07 +00:00
Ryan Houdek
7bc4838243
Add the Arm JITIL to DolphinWX.
2013-10-09 23:09:18 +00:00
Ryan Houdek
bd79603c66
[ARM-JitArmIL] Enable a bunch of instructions.
2013-10-09 23:03:39 +00:00
Ryan Houdek
f5e1b4659a
[ARM] Clean up LSL, LSR, and ASR emitters, we don't need a separate instruction for each to support registers.
2013-10-09 22:57:31 +00:00
Ryan Houdek
4914665429
[ARM-JITArmIL] Remove the SystemRegisters file.
2013-10-09 20:59:15 +00:00
Rachel Bryk
cc05f66ba1
Don't prepend file:// in wxUtils::Explore() on windows. Wxw will just remove it, and/or blow up trying to remove it, if the path isn't ascii.
...
Fixes issue 6721.
2013-10-09 16:18:33 -04:00
Rachel Bryk
99c89ae109
Fix unicode support for File::Rename() on windows.
...
Partial fix of issue 6721.
2013-10-09 15:33:21 -04:00
comex
d5e40bfb01
Don't waste time looking up the block if enableBlocklink is off anyway.
2013-10-09 15:01:55 -04:00
Matthew Parlane
414ed6ef63
C.K. should fix his website before throwing stones at obsolete xml.
2013-10-09 23:56:16 +13:00
Matthew Parlane
fbcc41c18e
Fix references for OGL, SW and D3D.
2013-10-09 23:49:00 +13:00
Matthew Parlane
935ed814ea
Missed a accept error handler.
...
Init instead of memset.
2013-10-09 23:35:29 +13:00
Matthew Parlane
f811dbb575
Fix accept() bug, which was using the wrong isRW for error conversion.
...
Also fixed a debug issue where local_name is used uninitialised.
2013-10-09 22:16:04 +13:00
Ryan Houdek
932586f743
[JitArmIL] Fix Windows build?
2013-10-09 00:55:43 +00:00
Ryan Houdek
4263f062b0
[JITArmIL] Fix JITIL compiling on x86.
2013-10-08 19:16:27 -05:00
Ryan Houdek
ce5dbfe7a7
[ARM-JITArmIL] Begin merging of the two IL cores in to a common source base.
2013-10-08 19:23:37 +00:00
Ryan Houdek
a0f2183424
[ARM-JITArmIL] Provide the necessary instructions to allow the JitArmIL to actually run. Disable branch instructions as well for now since one is wrong somewhere.
2013-10-08 16:42:33 +00:00
Ryan Houdek
7dd8deecec
[ARM] Update the ArmEmitter with a bunch of NEON emitters. This adds around 47 instruction emitters if I counted correctly. None well tested at this point. On going to add all the NEON emitters.
2013-10-08 10:17:01 +00:00
Matthew Parlane
4a0745799f
Missed OGL includes apparently.
2013-10-08 18:03:33 +13:00
Matthew Parlane
eb480a406c
Fix Windows vcxproj files.
2013-10-08 17:52:18 +13:00
Ryan Houdek
0236ba3f86
[ARM-JITARMIL] CMP optimization. Int3 IR. DownCount added.
2013-10-07 23:25:13 +00:00
Jasper St. Pierre
9920362581
Fix MSVC project files
...
yay relative paths
2013-10-07 18:50:21 -04:00
Jasper St. Pierre
a7c7208103
Put Plugins/ in Core/, rename to VideoBackends
2013-10-07 10:37:01 -04:00
Ryan Houdek
a4eab75d15
[ARM] Beginning of JitArmIL JIT recompiler. This code is entirely based off of magumagu's work with the JIT64IL. This puts down the base needed for the recompiler. Starfield actually runs quite a few blocks being mysteriously dying while most other games just exit out due to an instruction not being done yet. A lot of this code can be tidied up and actually shared between the two IL recompilers but isn't yet done.
2013-10-07 14:25:07 +00:00
comex
d6f0ecebb4
Fix updating the register even if an exception occurred in MMU mode.
2013-10-07 02:34:38 -04:00
comex
a9908fdf09
Fix build issues on OS X i386.
2013-10-07 02:16:51 -04:00
Ryan Houdek
c054049712
Fix PixelShaderGen from the previous commit.
2013-10-06 21:54:09 -05:00
Ryan Houdek
26c38648ec
[Android] Missed a few things for PowerVR544MP3 'support.' It doesn't actually get any video output on it just like Tegra 4.
2013-10-06 21:51:41 -05:00
Ryan Houdek
d4bd5fde71
Only emit the texgens if they are used, not every single time do all of them.
2013-10-06 21:32:05 -05:00
Tony Wasserka
ed88cf6cad
Removing more references to D3D9.
2013-10-06 13:37:10 +02:00
Tony Wasserka
5de6726658
Remove another D3D9 reference.
2013-10-06 13:30:59 +02:00
Tony Wasserka
d198fee21b
Remove more references to D3D9...
2013-10-06 13:30:59 +02:00
Tony Wasserka
61ed40749f
Shader generators: Remove any references to D3D9 and cleanup the affected code.
2013-10-06 13:30:56 +02:00
Tony Wasserka
0e2e71e483
Remove some now unused VideoConfig settings.
2013-10-06 13:28:46 +02:00
Tony Wasserka
3b188b0481
VideoConfigDiag: Update video backend description to reflect the D3D9 removal.
2013-10-06 13:28:45 +02:00
Lioncash
0d4df39e1f
Remove D3D9 related files.
...
Cf. issue 6167 for a list of shortcomings that made us decide on removing the backend.
2013-10-06 13:28:41 +02:00
Ryan Houdek
6bdcde9dd6
[Android] Tegra 4 'support.' This brings up the OpenGL backend to support Tegra 4 to the point where it will run games but it doesn't have any video output for some reason. This is a large change that doesn't actually change much functionally. Walking through the changes.
...
It changes the string in the Android backend select to just OpenGL ES.
Adds a check in the Android code to check for Tegra 4 and to enable the option to select the OpenGL ES backend.
Adds a DriverDetails bug under BUG_ISTEGRA as a blanket case of Tegra 4 support.
The changes that effects most lines in this change. Removing all float suffixes in the pixel/vertex/util shaders since OpenGL ES 2 doesn't support float suffixes.
Disables the shaders for reinterpreting the EFB format since Tegra 4 doesn't support integers.
Changes GLFunctions.cpp to grab the correct Tegra extension functions.
Readds the GLSL 1.2 'hacks' as GLSLES2 'hacks' since they are required for GLSL ES 2
Adds a GLSLES2 to the GLSL_VERSION enum.
Disable the SamplerCache on Tegra since Tegra doesn't support samplers...
Enable glBufferSubData on Tegra since it is the only mobile GPU to correctly work with it.
Disable glDrawRangeElements on Tegra since it doesn't support it, This uses glDrawElements instead.
2013-10-06 03:12:29 -05:00
skidau
2b08172a45
Corrected the XMM0 processing for pairedStoreQuantized in the x86 build.
...
Updated the PC for the fifo writes processing in the less common case.
2013-10-06 16:31:34 +11:00
Matthew Parlane
8722b9cfb5
Missing break for IOCTL_ES_DELETETITLECONTENT
2013-10-06 16:22:44 +13:00
Lioncash
a7d073b0da
[Core] Simplify a loop within function Run() in Interpreter.cpp. The increment variable for the for loop is never used at all, so it's sensible to replace it with a while loop.
2013-10-05 14:38:21 -04:00
skidau
2d00c3a4f8
Added code to update the PC before doing a fastmem write. Fixes games with freezing and FIFO errors since r2a339c926e43c11f7b9acc8d3af202f0be54e2b0.
2013-10-05 23:23:49 +10:00
comex
6498a77362
Fix storeSingleFloat stack alignment.
2013-10-05 07:56:57 -04:00
comex
21a114ec28
...Forgot the XMM regs for x86.
2013-10-05 01:17:34 -04:00
comex
144d7e5500
Fix build-breaking typo.
2013-10-05 01:08:08 -04:00
skidau
8324510d65
Removed the IOSVersion check (caused some Wii games like Battalion Wars 2 not to boot).
2013-10-05 13:07:40 +10:00
skidau
b7d1c03c8a
Added a check for the IOS version before overriding the OSGetResetCode() function.
...
Fixes issue 6700.
2013-10-05 12:41:59 +10:00
comex
f6c0fb7bbe
Merge branch '6663'
...
Should fix some fastmem-related bugs and possibly improve performance a bit.
2013-10-04 21:19:40 -04:00
comex
a51eb5fd19
Fix idle skipping.
...
It incorrectly continued to test EAX after it was changed to load
directly to the assigned register.
Also switch from a flush to ABI_PushRegistersAndAdjustStack, to avoid
needless flushing in the no-idle case.
2013-10-04 20:33:39 -04:00
comex
3679f9ba60
Don't push registers before pairedStoreQuantized, that's dumb.
...
And fix some stuff up. It would probably be good to unify the stack
handling some more rather than having ABI_PushRegistersAndAdjustStack do
part of it and ABI_AlignStack the rest, causing unnecessary subtract
instructions on Linux x86 (only).
2013-10-04 15:48:06 -04:00
LPFaint99
8c103a8dee
ChooseMemcardPath bugfix: check for a directory separator before converting an absolute path to a relative path.
...
if the exe directory and the save directory had the same prefix, .../dolphin emulator/... and .../dolphin/... the path would previously have been incorrectly changed
2013-10-04 11:31:22 -07:00
comex
a91469ffa5
Fix stfd, which was broken in the fastmem writes commit.
2013-10-03 18:22:35 -04:00
comex
5e4665301b
Finish replacing ThunkManager with ABI_PushRegistersAndAdjustStack.
...
As part of that, change SafeLoadToEAX to SafeLoadToReg, and have JitIL
use that, which should fix fastmem on JitIL.
This should also fix a potential stack corruption issue with x86.
2013-10-03 18:22:35 -04:00
comex
a53dc6f981
Remove profiled re-JIT support in JitIL.
...
It's extremely unsafe, unused (not exposed in the GUI and not present in
any gameconfigs), and mostly obviated by fastmem. Although this type of
thing could theoretically be useful someday for fastmem support with
MMU, it's probably not the best way to do it, the existing
implementation is way too simplistic, and it can always be dug up to
provide support for a new implementation if needed.
Not like it's a big deal to keep it working, but it really seems
pointless.
2013-10-03 18:22:12 -04:00
comex
3b0c0e2500
Trap to the debugger properly after BackPatch failure.
2013-10-03 18:21:29 -04:00
Ryan Houdek
fe3d0c9aa2
[ARM] Disable subfic, it prevents Wind Waker from booting into a save game.
2013-10-03 06:43:16 +00:00
comex
cb3afe8f70
Warning fixes:
...
- Don't use %lu for size_t; they're different on Linux x86.
- has_warned_about_drivers is only used on win32, so only declare it
there to avoid a unused variable warning.
2013-10-02 20:48:37 -04:00
Lioncash
1ec4894bc5
[Common] Abstract out the decode5A3Image and decodeCI8Image functions in BannerLoaderGC, BannerLoaderWii, and GCMemcard into ColorUtil.cpp. Makes for less copied code and remains functionally the same.
2013-10-02 18:18:54 -04:00
Matthew Parlane
cd99e5e3a6
mtspr fall through to interpreter not needed for basic SPRs
2013-09-30 23:43:11 +13:00
Matthew Parlane
d261dfaf46
Upgrade libusb to 1.0.16
2013-09-30 18:36:54 +13:00
Ryan Houdek
3c53f2e5e0
[Android] Fix Fastmem on Android 4.2
2013-09-29 20:53:32 -05:00
comex
1a008b9e62
Fix use of ABI_GetAlignedFrameSize.
2013-09-29 16:36:26 -04:00
comex
ccbf2ac21a
Match ABI_AlignStack with ABI_RestoreStack properly.
...
The relevant function is entirely unused, so it shouldn't have any
effect.
2013-09-29 14:59:13 -04:00
Rachel Bryk
b0200219dd
Add literally a million blank inputs in netplay when a wiimote changes reporting mode, just to make nsmbw sync.
2013-09-28 23:39:29 -04:00
comex
853392b790
Use a separate section for enabled Gecko codes, like AR.
...
This properly fixes default gecko codes.
It makes perfect sense to have two separate cheat windows and two
separate code paths for the different code formats, right?
2013-09-28 23:38:40 -04:00
comex
f57ff0a569
Support a gcm revision-specific game ini for cheats + partially fix gecko codes in default ini.
...
The local ini is not revision-specific because it would require renaming
everything. Meh.
2013-09-28 23:38:25 -04:00
comex
1ed06f1dc4
Reset wxTAB_TRAVERSAL.
...
Fixes issue 3903.
2013-09-28 23:00:56 -04:00
Rachel Bryk
9c53a21c18
Allow setting DSP settings via game ini.
2013-09-28 08:31:28 -04:00
Rachel Bryk
785171abb4
Change iTLBHack to a bool.
...
It is only used as a bool.
Fixes issue 6668.
2013-09-28 08:07:23 -04:00
Rachel Bryk
cbd366236a
Allow loading save states via drag and drop.
2013-09-27 08:38:12 -04:00
skidau
9a2c7df8dc
Added a small disc access delay to fix the missing music in Super Monkey Ball 2.
2013-09-27 20:35:27 +10:00
comex
bea76ac129
No need to std::move a return value. Thanks Billiard.
2013-09-26 21:15:35 -04:00
Lioncash
4542b9fcbb
[Core] Fix a memory leak in NetPlayServer.cpp in function OnData().
2013-09-26 15:42:22 -04:00
Ryan Houdek
e37cb1fc76
Implement CR1 for the intepreter. To be honest I have no idea why this was never done previously, all it is is copying four bits from the FPSCR register to CR1. This fixes issue 2390.
2013-09-26 18:09:25 +00:00
Ryan Houdek
4efc3e6c8f
Quick build fix.
2013-09-26 07:50:24 +00:00
Ryan Houdek
feaf65f2ae
[Android] The dynamic UBO access isn't actually fixed, contrary to what rev cd646d8e236 said. I presumed it fixed with v4x drivers, but I didn't have the LG G2 with me to test 100% at the time. This won't afflict any Adreno device with v4x drivers since UBOs are disabled for them since they are _broken_.
2013-09-26 07:46:56 +00:00
comex
ecca0045a9
Fix Imm8 check.
...
(I blame whoever made it take a u8 despite logically being a s8.)
2013-09-25 14:29:17 -04:00
Ryan Houdek
691f76b826
[ARM] Implement CR1 setting for the few floating point instructions that I have setting the flags. For the rest, drop to interpreter if it sets CR1. At that point it'll spam a panic alert. I don't quite understand why Interpreter and JIT64/IL don't do this yet, it's a simple 4 bit copy.
2013-09-25 18:17:05 +00:00
comex
54843ad1e8
Need to reload from XMM0 in this case.
2013-09-25 14:16:20 -04:00
Rachel Bryk
74ee85aaac
Fix linux, attempt 2.
2013-09-25 06:22:11 -04:00
Rachel Bryk
f77b3ccf8a
Fix linux, probably.
2013-09-25 06:13:44 -04:00
Rachel Bryk
93f7622e16
Fix changing wiimotes when starting netplay.
...
AccessWiiMote() crashed for some users. Not sure why...
2013-09-25 05:44:16 -04:00
comex
ebe4448749
Save only the registers that need to be saved rather than going through ProtectFunction.
2013-09-25 03:15:53 -04:00
comex
2a339c926e
Fastmem writes for x86-64.
2013-09-25 03:15:53 -04:00
comex
18abc33306
2x banner images!
2013-09-25 03:06:27 -04:00
Ryan Houdek
624c92f97e
[ARM] fresx/fnmaddsx/fselx/frsqrtex/fnmaddx implementations.
2013-09-25 03:00:57 +00:00
Ryan Houdek
ae75f92b2a
[ARM] psq_lx/psq_lux/psq_stx/psq_stux implementations. Four more instructions that JIT64 doesn't have.
2013-09-25 02:22:52 +00:00
Ryan Houdek
cd646d89e2
[Android] The issue with the dynamic UBO access on Adreno platforms was fixed with v41 of the video drivers. v41 and above of the video drivers fix the spiky polygon problems that are noticed ingames.
2013-09-25 01:50:02 +00:00
Ryan Houdek
357a7707a6
[ARM] ps_cmpu0/ps_cmpu1/ps_cmpo0/ps_cmpo1 implementations.
2013-09-24 21:13:33 +00:00
Ryan Houdek
74bc855f20
[ARM] ps_res implementation.
2013-09-24 21:00:50 +00:00
Ryan Houdek
3b1b0d3fb5
[ARM] ps_div implementation.
2013-09-24 20:46:57 +00:00
Ryan Houdek
94a731b49d
[ARM] fctiwx implementation.
2013-09-24 20:37:10 +00:00
Ryan Houdek
482170c3ea
[ARM] Implement subfic with optimizations stolen from JIT64.
2013-09-24 19:01:03 +00:00
Ryan Houdek
405aa30cb8
[ARM] Fix fastmem...
2013-09-24 18:03:06 +00:00
Ryan Houdek
8e2e5a4e70
[ARM] Have both fastmem and non-fastmem paths for floating point loadstores because fastmem is completely broken garbage on Android at this point in time.
2013-09-24 17:40:12 +00:00
Ryan Houdek
5866859ff0
Screw you comex, this doesn't even make any damn sense.
2013-09-24 17:25:13 +00:00
Ryan Houdek
eb6ed3e42a
[ARM] Change all floating point loadstores to fastmem implementations except lfs since all floating point accesses tend to be to RAM space. lfs tends to get used to write quickly to the gatherpipe and other places, look at the JIT64 implementation to see how to make it quicker.
2013-09-24 05:41:58 +00:00
comex
29dc253fde
Improve context structure handling on non-Windows.
...
Instead of copying data into and out of a fake CONTEXT structure with
only a few entries, use the platform specific structure directly with a
typedef and macros. This is needed because fastmem writes need to be
able to access any register from BackPatch. It adds a fair number of
repetitive defines, but it's better than the alternative.
2013-09-24 01:38:27 -04:00
comex
4cdce55615
Don't define _M_IX86 on ARM(!).
...
Also define _M_* in a common location, and clean up code that these
changes break (including DSPJit files that assume X86 yet are compiled
on ARM for some reason...)
2013-09-24 01:30:41 -04:00
comex
a7f2160a0f
Remove "educational purposes only" from about message.
...
Dolphin is obviously not marketed as being for educational purposes
only, and claiming otherwise in the about screen would not have any
legal weight, so don't insult everyone's intelligence.
2013-09-24 01:14:56 -04:00
comex
2f384c75d2
Only include scmrev.h from Version.cpp.
...
This way less code has to be rebuilt whenever that file gets
regenerated.
2013-09-24 01:14:56 -04:00
comex
1bf2c03a99
Fix my stupid attempt to depend on the entire Data/Sys directory.
...
Instead, if SKIP_POSTPROCESS_BUNDLE is on, just use a symlink, and if
it's off, always run the install.
2013-09-24 01:14:56 -04:00
Scott Mansell
0696fc93b2
Merge branch 'fix-field-ordering'
...
Fixes 6387
Closes 6635
2013-09-24 13:47:20 +12:00
Ryan Houdek
41ab4a2275
Nevermind the previous commit, SafeLoadToEAX already calls in to UnsafeLoadToEAX if fastmem is enabled. This one just tidys up the code.
2013-09-24 01:40:19 +00:00
Ryan Houdek
aa41978834
Enable fastmem for the lfs instruction for unix and OSX as well.
2013-09-24 01:34:08 +00:00
Ryan Houdek
3fe8134f3b
[ARM] lfsux/lfdx/lfdux/stfsx/stfsux/stfdx/stfdux implementations.
2013-09-24 01:17:24 +00:00
comex
f81df136c2
Add an explicit error message for outdated GCC, and remove some commented out code.
2013-09-23 15:01:38 -04:00
Rachel Bryk
1745bfdc45
Fix crash in gc games in netplay.
2013-09-23 11:07:15 -04:00
comex
299421a02a
Don't call into wx in static initializers - crashes on Windows.
2013-09-23 02:58:04 -04:00
Rachel Bryk
0bdef3932f
Automatically connect the appropriate wiimotes in netplay. Extensions must still be set manually.
2013-09-23 02:56:17 -04:00
Ryan Houdek
96a77f9feb
[Android] Fix the ability to stop the game and start another.
2013-09-23 01:43:18 -05:00
Scott Mansell
440353a3a1
Remove all refrences of field ordering from video backends.
...
They were unused.
2013-09-23 18:29:31 +12:00
Scott Mansell
4d3c41c8a2
Fixed issues with feild ordering.
...
This commit fixes issues with PAL games which use the incorrect feild
ordering.
We move all code that deals with indivudal fields from the indivudal
video plugins and VideoCommon and make VideoInterface always pass in
the start address of the whole XFB into VideoCommon.
2013-09-23 16:31:27 +12:00
comex
c8c83f7b8a
Remove FifoQueue iterator and RemoveThreadsafeEvents.
...
No point making a whole iterator class for the sake of a function that
doesn't need to exist.
2013-09-22 23:14:42 -04:00
Rachel Bryk
0a093cf1b9
Why do compilers assume i don't know order of opperations? :(
2013-09-22 22:01:25 -04:00
comex
e82c9e616d
operator= is a function too! std::forward is still appropriate.
...
Fix the potentially unsafe use of std::move I added to FifoQueue.
2013-09-22 21:15:58 -04:00
degasus
573dbfd494
ogl: drop glsl120 support
2013-09-22 23:45:14 +02:00
Rachel Bryk
12e7c22006
Fix recording netplay with wiimote.
2013-09-22 17:32:11 -04:00
comex
80b14e80b5
Fix crash when a player leaves in NetPlay.
...
The player ID was being written as int and read as PlayerId (u8).
2013-09-22 16:12:16 -04:00
comex
229b35bb6d
When hosting, don't try to connect if listening failed.
...
If another instance of the server is running on the same computer, this
would cause Dolphin to confusingly connect to it.
2013-09-22 16:11:47 -04:00
comex
17e753faf3
Fix FifoQueue's atomicity on ARM.
...
Theoretically.
2013-09-22 16:08:09 -04:00
comex
c3b9f3556f
Make CoreTiming's threadsafe events lock-free.
...
Not sure if this actually helps in practice, but might help in
pathological cases, and almost certainly can't hurt.
2013-09-22 16:08:01 -04:00
comex
7fe440340f
Improve Atomic.h:
...
- For GCC, use intrinsics that will work on ARM.
- Add AtomicExchangeAcquire.
- Make Atomic{Load,LoadAcquire,Store,StoreRelease} work for any suitable type.
2013-09-22 16:07:45 -04:00
comex
6209067daa
Fix stack misalignment fix.
2013-09-22 15:48:27 -04:00
Rachel Bryk
9a6f28fce4
Revert "Fix stack misalignment issues."
...
This reverts commit d334a9bc23
.
This breaks single core.
2013-09-22 14:29:35 -04:00
Rachel Bryk
f3469c16a5
Merge branch 'wiimote-netplay'
...
Conflicts:
Source/Core/Core/Src/NetPlayClient.cpp
Source/Core/Core/Src/NetPlayClient.h
Source/Core/Core/Src/NetPlayProto.h
Source/Core/Core/Src/NetPlayServer.cpp
Source/Core/Core/Src/NetPlayServer.h
Source/Core/DolphinWX/Src/NetWindow.cpp
Source/Core/DolphinWX/Src/NetWindow.h
2013-09-22 14:27:52 -04:00
Rachel Bryk
75129dc3a7
Merge branch 'to-merge-after-4.0'
2013-09-22 10:58:24 -04:00
Pierre Bourdon
323ecdb772
Ship vcomp100.dll with Dolphin
2013-09-22 16:00:56 +02:00
Pierre Bourdon
1f95a294cd
Add the new 'Clean' themes from MaJoR and default to Clean by changing the name of the config key (yes, hack)
2013-09-22 16:00:56 +02:00
Pierre Bourdon
196953c50a
Use the new Dolphin icon
2013-09-22 16:00:39 +02:00
Scott Mansell
4758ef9a9e
Merge commit 'fa8a4cdbb57e'
2013-09-22 15:25:10 +12:00
Pierre Bourdon
91c0e02609
Don't require running Dolphin in the directory that contain Languages/ on Windows
2013-09-21 21:17:47 +02:00
Glenn Rice
d321aa7e7a
Pull in translations from Transifex.
2013-09-21 11:24:33 -05:00
Scott Mansell
1fb373f439
Stop dolphin from loading help.png
...
It was never used, just wasting time and resources.
This patch simply deletes two lines of code.
2013-09-21 06:34:50 +02:00
Rachel Bryk
d2c3222fcc
Fix copying Sys/Wii to User/Wii on startup.
...
Fixes issue 6621.
2013-09-21 00:34:19 -04:00
comex
d334a9bc23
Fix stack misalignment issues.
...
- Call ABI_AlignStack even on x86-64.
- Have ABI_AlignStack respect the difference in current alignment
between the root JIT function, which has a prolog, and
ProtectFunction thunks, which do not. This was causing many games
to crash on start on OS X. Since this might otherwise mean changing
the stack pointer before every call...
- Have one prolog/epilog function rather than two (one of which
definitely did not do what it was thought to do), and make it
actually work like a normal one, so that the stack frame shows up
properly in the debugger. There should be no performance impact.
2013-09-20 16:46:48 -04:00
LPFaint99
95aac4ff68
if a memcard is set to read only, fail more gracefully by reporting when writes to the file fail instead of saying that the file does not exist.
2013-09-20 12:08:58 -07:00
Lioncash
86d70cee15
Turns out CVTSD2SI in x64Emitter.cpp should actually use 64 bits instead of 32. Thanks for pointing that out hk.konpie.
2013-09-20 14:50:27 -04:00
Ryan Houdek
85f067780a
[ARM] Reenable flush per instruction with FPR cache. Something is still very wrong.
2013-09-19 02:08:20 +00:00
Ryan Houdek
930f997f04
[ARM] Fix and optimize mtcrf.
2013-09-19 02:08:19 +00:00
Ryan Houdek
1b1b5d2100
[ARM] MicroOps in the branching instructions.
2013-09-19 02:08:19 +00:00
Ryan Houdek
5158aea4dc
[ARM] Fix misuse of RBIT in crXXX, meant to use MVN.
2013-09-19 02:08:19 +00:00
Rachel Bryk
dc73222bfc
Remove suggestion to restart dolphin if a wiimote movie desyncs, since it's no longer necessary.
2013-09-18 21:51:37 -04:00
comex
ae607ea1e9
Fix missing md5thread.detach()
2013-09-18 21:48:23 -04:00
Ryan Houdek
452fd84bbd
[ANDROID] Fix ARM JIT. Is due to Android using softfp instead of hardfp.
2013-09-18 17:21:22 -05:00
Ryan Houdek
6fc2117503
[ARM] Enable VMOV to move from double VFP reg to two ARM registers.
2013-09-18 17:21:22 -05:00
Lioncash
af951f467e
[InputCommon] Fix a bug in ControllerInterface::UpdateOutput() in ControllerInterface.cpp. The variable ok_count was never incremented, which caused the function to always return false.
2013-09-18 10:09:32 -04:00
Lioncash
d03fb11188
Fix an incorrect opcode for an SSE instruction in x64Emitter.cpp. CVTSD2SI should write 0x2D, not 0xF2.
...
Also format the NormalSSEOps enum.
2013-09-18 07:43:31 -04:00
Pierre Bourdon
86f6e8cc1e
Better fix for issue 6614: ISOProperties should store integer settings for PHack booleans. INIFile is stupid, please kill it with fire.
2013-09-18 12:33:57 +02:00
Pierre Bourdon
7aa98a3830
Fix loading of the 'projection hack enabled' gameini setting
...
Fixes issue 6614.
2013-09-18 12:23:46 +02:00
Ryan Houdek
24a44ecfb8
[ANDROID] Add two new DriverDetails bugs for Adreno. V45 of the driver has broken shader compilation with UBOs in the shaders, this is most likely fixed with V53 found in the Nexus 5. Add a bug for issue surrounding on screentext and doing a glClear after swap causes screen swizzling and zero frames rendered respectively. On the Java side, pass in the dimensions of the screen swapped since there is an issue with Adreno where it rotates the output 90 degrees for some reason. Disable the GLSL shader cache on Android for now due to the inability to cleanly exit the emulator, this tends to cause the cache to get corrupted. All this together fixes rendering with Adreno 3xx GPUs with driver version v14 and above. In particular my Galaxy S4 still resets with this without the root commands, but my HTC Droid DNA and LG G2 is fine. This must be due to particular 'enhancements' that the Samsung kernel has over the other ones. The speed on Adreno has yet to be optimized, so it will most likely be slow still. Faster than the software rasterizer in any case. The ARMJIT is still broken in at this point, so not much fun can be had.
2013-09-18 02:37:10 -05:00
Lioncash
197b317357
Fix indentation in function PSO_MakeSaveGameValid() in GCMemcard.cpp.
...
Also move the iterator variable for a for loop into the loop statement in function CARD_GetSerialNo()
2013-09-17 21:27:37 -04:00
Ryan Houdek
39a8645ffc
[ARM] Fix the FPR cache to not have to dump registers after every instruction. Add mullwox instruction.
2013-09-17 22:08:23 +00:00
Ryan Houdek
06062d5744
[ARM] Fix VSQRT/VCMP/VCMPE/VCMPE0/VCMP0 emitters when using the high 16 double registers.
2013-09-17 22:08:23 +00:00
Pierre Bourdon
ec9c395f4f
Add WBFS to the file extensions supported by Dolphin on OSX
2013-09-17 16:50:44 +02:00
Pierre Bourdon
e34d8aee1d
Add * to the characters leading a verbatim line (used in Gecko codes comments)
2013-09-17 16:50:44 +02:00
Rachel Bryk
47ce3dd09d
Really fix reading projection hacks from game inis.
2013-09-17 10:44:47 -04:00
Rachel Bryk
e3d01de01d
Fix reading projection hack from game inis in ISOProperties.
2013-09-17 10:40:12 -04:00
Rachel Bryk
ec5cf60f5e
Set L/R buttons in tas input, instead of just the analog triggers.
...
Fixes issue 6613.
2013-09-17 09:56:45 -04:00
Ryan Houdek
302e9c891b
[ARM] crand/crandc/creqv/crnand/crnor/cror/crorc/crxor/mcrf/mfcr/mtcrf/mtsr/mcrxr/mfsr implementations.
2013-09-17 11:00:16 +00:00
Ryan Houdek
dcf74ef2b3
[ARM] Renables load instructions with update.
2013-09-17 11:00:15 +00:00
Lioncash
38c7d38800
Fix two wrong opcodes in the x64Emitter. PEXTRW and PINSRW were actually writing PCMPGTB opcodes. Thanks for the help Sintendo.
2013-09-16 15:59:31 -04:00
Ryan Houdek
1529bb48c8
[ARM] Flush the fpr cache between every instruction. Do this until I figure out what is destroying the FPR register states.
2013-09-16 15:44:41 +00:00
Ryan Houdek
9b9526fba2
[ARM] Add dcbt/dcbtst/dcba noops.
2013-09-16 15:13:37 +00:00
degasus
75f2738f5c
VideoCommon: fix ogl lighting bug which happens because of NaN emulation
...
attn is sometimes very big (eg 1e27), so attn*attn doesn't fit into a float.
So the funny part here is: 0.0 * (1e27*1e27) = 0.0 * Inf = NaN
As the shader compiler is allowed to change the order of multiplications,
this issue isn't fixed completely.
2013-09-16 17:10:19 +02:00
Ryan Houdek
98fb4c146e
[ARM] ps_sel implementation.
2013-09-16 14:05:50 +00:00
Ryan Houdek
cba2dd01bc
[ARM] Remove extraneous BKPT from ps_rsqrte.
2013-09-16 13:39:02 +00:00
Ryan Houdek
a0a0c526ae
[ARM] ps_rsqrte implementation.
2013-09-16 12:59:34 +00:00
Ryan Houdek
7d410ec95c
[ARM] VRSQRTE NEON emitter.
2013-09-16 12:58:20 +00:00
Ryan Houdek
5a9cb84ae2
[ARM] ps_nmadd/ps_nmsub implementations.
2013-09-16 12:03:08 +00:00
Ryan Houdek
b7f47bc2e1
[ARM] rlwnmx implementation.
2013-09-16 11:53:22 +00:00
Ryan Houdek
43f2313ef9
[ARM] Implement ps_msub. Minor optimizations.
2013-09-16 11:53:21 +00:00
Ryan Houdek
0bcc20ca5b
[ARM] fcmpo/fcmpu implementations.
2013-09-16 08:57:51 +00:00
Ryan Houdek
c56ecce840
[ARM] fctiwzx implementation. This isn't implemented in JIT64 and it is unstandeable why it isn't.
2013-09-16 07:49:16 +00:00
Ryan Houdek
beb41a8f56
[ARM] Add NEON VORR and fix encoding on NEON VEOR. Remove VMRS_APSR because it is the same as VMRS(PC)
2013-09-16 07:49:16 +00:00
Pierre Bourdon
f0fc611f15
Add a hacky check for text file size in ReadFileToString. Fixes issue 6455.
2013-09-16 06:57:44 +02:00
LPFaint99
a7e1fb81b1
Merge branch 'wad_gamenames'
2013-09-15 21:38:31 -07:00
Pierre Bourdon
037199c326
Look for portable.txt in the exe directory and activate portable mode if it exists
2013-09-16 05:46:07 +02:00
Pierre Bourdon
2c350a5e6b
Fix INIFile ignoring the last line of files
2013-09-16 05:28:14 +02:00
Rachel Bryk
b4c082f1b3
No, i don't check what i committed before pushing to master, one week before a release.
...
Fixes a mistake from 550c855ae6
.
2013-09-14 22:58:32 -04:00
Rachel Bryk
550c855ae6
Create blank ini file before editing it, if it doesn't already exists. This prevents the editor from prompting to create it.
2013-09-14 20:30:42 -04:00
LPFaint99
5d202ae9ea
proper fix for issue 6206
2013-09-14 15:09:58 -07:00
Pierre Bourdon
24e9aedc14
Merge branch 'global-user-directory'
...
Please read https://wiki.dolphin-emu.org/index.php?title=Controlling_the_Global_User_Directory
for documentation about this feature.
Thanks to neobrain and RachelB for their work on this change, and thanks to
everyone who helped test it.
2013-09-14 19:24:27 +02:00
Pierre Bourdon
4ef5624f1f
Change the name of INI options for memcard paths and NAND path to make migrating User directory from non-global to global easier
2013-09-14 17:46:41 +02:00
Pierre Bourdon
501eafb407
Overlay local gameinis over global gameinis instead of copying.
...
Huge megacommit because a lot of things needed to be modified to make this
possible.
2013-09-14 17:46:41 +02:00
Ryan Houdek
e56071f2be
[ARM] slwx/srwx/srawx implementations.
2013-09-14 09:07:34 +00:00
Ryan Houdek
81d7986202
[ARM] Add LSRS emitters, and ASR{S} register emitters. Fixes encoding in LSR emitter.
2013-09-14 09:06:49 +00:00
Ryan Houdek
53498dafeb
[ARM] fmaddsx and fmaddx implementations.
2013-09-14 05:52:09 +00:00
Ryan Houdek
be4277e8a1
[ARM] stmw implementation.
2013-09-14 05:16:18 +00:00
Ryan Houdek
c211d06ad2
[ARM] stfd and stfdu implementations.
2013-09-14 05:09:46 +00:00
Ryan Houdek
6fe86f1fd1
[ARM] cntlzwx implementation.
2013-09-14 04:29:37 +00:00
Ryan Houdek
ef2ea31eac
[ARM] ps_madds0 and ps_madds1 implementations.
2013-09-14 04:12:57 +00:00
Pierre Bourdon
cf4c39d2be
IniFile: Support extending the list of loaded keys and sections with data from other ini files.
...
Changes a lot of parsing code which previously was not aware of the notion of
key/value, and operated only with raw lines. Now key/value is the default and
lines are handled as raw only if they do not contain =, or they start with $ or
+ (for Gecko/AR compatibility).
2013-09-14 06:08:31 +02:00
NeoBrainX
d1e96c7282
Display warning OSD messages when a game ini is overriding any settings.
2013-09-14 06:08:31 +02:00
Pierre Bourdon
aa202c2e21
Move global gameinis from User to Sys. Get rid of SHARED_USER.
2013-09-14 06:08:30 +02:00
Pierre Bourdon
86e765f3eb
Move Themes/ from User to Sys. Only Gameinis remain.
2013-09-14 06:08:30 +02:00
Pierre Bourdon
91a758b342
Move TextureDecoder.cl from User to Sys
2013-09-14 06:08:30 +02:00
Pierre Bourdon
c3eec379df
Move global User/Wii to Sys/Wii
2013-09-14 06:08:30 +02:00
Pierre Bourdon
e7213ca4b1
Overlay the user Shaders/ over the shared one to avoid copying files
2013-09-14 06:08:30 +02:00
Pierre Bourdon
6bdb6585d6
Overlay the user Maps/ over the shared one to avoid copying files
2013-09-14 06:08:29 +02:00
Pierre Bourdon
b587af3ea3
Change the initial user directory creation to stop special casing Windows
2013-09-14 06:08:29 +02:00
Rachel Bryk
dfcef6890e
Use global user directory on windows.
...
Can override by setting HKCU\Software\Dolphin-emu\LocalUserConfig to true.
2013-09-14 06:08:29 +02:00
Ryan Houdek
4512813cf9
[ARM] lfdu and stfsu implementations.
2013-09-14 04:00:40 +00:00
Ryan Houdek
0ae8fa964d
[ARM] lfsu implementation.
2013-09-14 03:51:32 +00:00
Ryan Houdek
aaf8e92f78
[ARM] Fixes srawix implementation.
2013-09-14 03:00:33 +00:00
Jasper St. Pierre
f830b85d10
NetPlayServer: Drop all the pads for a client when she disconnects
...
This makes intuitive sense, and prevents issues with users stealing
up all the pads and requiring admin intervention to participate.
2013-09-13 21:33:11 -04:00
comex
0040e66282
Merge branch 'geckoos-fix'
...
Fixes issue 6551.
2013-09-13 18:18:51 -04:00
comex
e15e30602c
Fix HLE_HOOK_START in the interpreter.
2013-09-13 18:18:20 -04:00
comex
e62bc44f15
Use d01f1bad for the gameid check in RunCodeHandler rather than the actual ID.
...
This avoids conflict with the icache hack. codehandleronly.s does not
actually use the gameid, so it shouldn't matter.
2013-09-13 18:14:56 -04:00
comex
e6cd3b3283
Fix placement of HLE::Patch to not get overwritten by HLE::PatchFunctions.
...
(This applies to the existing HBReload hook, which would be erased in
various circumstances depending on the type of file loaded.)
2013-09-13 15:31:51 -04:00
comex
a316e2f182
Hook the Gecko codehandler to invalidate the icache.
...
The codehandler is broken and does not do this itself. This is a hack,
but a lot simpler than the alternatives.
2013-09-13 15:31:51 -04:00
comex
354b205dec
Return correct value to fix libogc's IOS launch sequence.
2013-09-13 15:31:50 -04:00
comex
1f8237c570
Fake ticket views for missing IOS title.
2013-09-13 15:31:50 -04:00
comex
868ab1918b
Reset es_inuse upon Reset.
2013-09-13 15:31:50 -04:00
comex
39a524f47d
Returning false from an IPC_HLE method should not produce an INFO_LOG.
...
It's commonly used to delay replying to a message and is in no way an
error.
2013-09-13 15:31:50 -04:00
Ryan Houdek
1680f27739
[ARM] Disable loadstorepaired instructions when fastmem is disabled.
2013-09-12 23:07:19 -05:00
Jordan Woyak
ef1d33647f
Improve the ArraySize function a bit now that c++11 isn't forbidden there. Error messages should be friendlier now.
2013-09-12 12:57:13 -05:00
Pierre Bourdon
44066326ff
Hack the gettext detection a bit to fix translations not working on OSX buildbot builds
2013-09-12 18:22:31 +02:00
Ryan Houdek
c1ddeacc9d
[ARM] Removes extraneous fpr.Flush
2013-09-12 10:31:29 +00:00
Ryan Houdek
aa8f0c2ca4
[ARM] Fixes ps_madd implementation.
2013-09-12 10:30:52 +00:00
Ryan Houdek
8882d27689
[ARM] Fixes the ps_merge00 and ps_merge10 implementations. They both had the potential to overwrite the source registers in the moves.
2013-09-12 10:17:27 +00:00
Ryan Houdek
749b62fcd9
[ARM] Fixes orcx implementation.
2013-09-12 09:55:55 +00:00
Ryan Houdek
e1d510c2dc
[ARM] Disables loadstores with update because they are broken.
2013-09-12 09:40:10 +00:00
Ryan Houdek
2c33bab1a6
[ARM] lfsx implementation.
2013-09-12 07:52:19 +00:00
Ryan Houdek
fa5499e046
[ARM] Disable lmw when fastmem is disabled.
2013-09-12 02:51:38 -05:00
Glenn Rice
acbdcc8ea0
Use the POLARSSL_LIBRARY variable to set the link library. This fixes a
...
possible linkage issue when multiple versions of the library are around.
2013-09-11 22:09:49 -05:00
comex
b9c1af04ad
Replace the one use of CompileTimeAssert with static_assert (already used elsewhere).
2013-09-11 20:58:47 -04:00
comex
9ee50a2730
Merge branch '6584'
...
Fix for XP and lifetime issues on Mac. Fixes issue 6584.
2013-09-11 20:47:27 -04:00
Jordan Woyak
fde3815d34
Replace ARRAYSIZE macro with another ugly macro. At least this will throw an error for a non-array and won't conflict with Windows macro names.
2013-09-11 19:19:36 -05:00
Jordan Woyak
ce49964dfe
Fix "modifier" button functionality et al.
2013-09-11 17:48:04 -05:00
degasus
3fcdf5e25b
VideoCommon: use memcmp to compare shader uid
2013-09-11 17:34:23 +02:00
Jasper St. Pierre
2b10142b4f
Remove a bunch of old HLE junk
...
This hasn't been used since 2008
2013-09-10 22:35:52 -04:00
comex
56686666d6
Fix ES_DECRYPT.
...
ES_DECRYPT is usually called with the in IV parameter equal to the out
IV parameter. Dolphin was preemptively zeroing out the out buffer,
causing it to read zeroes for the IV. (Also be more correct when those
parameters *aren't* equal.)
Dolphin now has the dubious honor of having an exploit (smashstack) work
in it. It crashes in Project M, though.
2013-09-10 17:09:37 -04:00
Shawn Hoffman
484130049d
On windows, ignore WM_QUERYENDSESSION and close upon WM_ENDSESSION.
...
The messages can come through CFrame::MSWWindowProc and the wxApp implementation, so make sure to catch both.
Fixes issue 6546.
2013-09-10 03:14:21 -07:00
Shawn Hoffman
2d492bdc4f
Revert "Leak an object when quitting Dolphin to try and fix issue 6546"
...
This reverts commit 380b780dd1
.
Revert "Move the CFrame::ClosePages call from ~CFrame to CFrame::OnClose"
This reverts commit e29de302a6
.
2013-09-10 01:04:29 -07:00
comex
4add0f55e0
Fix SDIO HLE writing garbage to memory.
...
When servicing a write-register request, it wrote the contents to the
register offset plus 0x8d070000, which corresponds to the actual
hardware registers, presumably in case the application wanted to read
them directly rather than with a read-register request. WriteToHardware
doesn't handle cached writes to registers, so it decided the address was
RAM, applied RAM_MASK, and happily wrote the register contents to
0x81070000, causing random corruption. Since the PPC does not normally
have access to those registers, there is no reason to be doing this in
the first place. Use a member to store these values instead.
(Also add a proper DoState.)
2013-09-09 23:57:51 -04:00
Pierre Bourdon
e29de302a6
Move the CFrame::ClosePages call from ~CFrame to CFrame::OnClose
2013-09-09 18:49:10 +02:00
Pierre Bourdon
380b780dd1
Leak an object when quitting Dolphin to try and fix issue 6546
2013-09-09 18:44:21 +02:00
Rachel Bryk
0d341e9f28
[NetPlay] Fix copy and paste error.
2013-09-09 03:12:42 -04:00
Rachel Bryk
772046647a
Revert "Revert "NetPlay: Use the correct pad mappings for rumble""
...
This reverts commit 06140e8083
.
2013-09-09 03:09:45 -04:00
comex
06140e8083
Revert "NetPlay: Use the correct pad mappings for rumble"
...
This reverts commit 92c846de45
.
It breaks NetPlay entirely for me.
2013-09-09 02:39:28 -04:00
degasus
3ec9f9b64a
videoCommon: also reset logicOp on mode switch
2013-09-09 02:30:44 +02:00
comex
fe0a450ee4
Don't request authentication (aka I should actually test before committing).
2013-09-08 19:32:14 -04:00
comex
22d9331b96
Improve IOdarwin -
...
Add requestAuthentication, which might help someone who can't sync, and
better error reporting.
2013-09-08 18:15:49 -04:00
Ryan Houdek
4146e1f3d6
[ARM] Implement psq_st. Optimizations in psq_l and fix all the remaining bugs...except clamping within the max value range of the value. Causes some minor visual effects mostly.
2013-09-08 21:56:17 +00:00
Ryan Houdek
c1aa80cefa
[ARM] Add support for double registers in VMOV(immediate). Add VEOR and VSTR1. Fix some minor encoding bugs.
2013-09-08 21:56:17 +00:00
NeoBrainX
3db2108dbb
Add two buttons to the ISOProperties dialog so that we still meet string freeze deadline.
2013-09-08 21:04:03 +02:00