Commit Graph

11031 Commits

Author SHA1 Message Date
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 6d678490f5 Merge pull request #46 from Sonicadvance1/Android-removeDLCache
Remove Cache DL option from Android UI
2014-02-07 00:18:40 +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 3666178f85 Remove Cache DL option from Android UI
This option has been removed entirely from Dolphin, so remove the option from Android
2014-02-06 17:02:38 -06: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
Ryan Houdek ac2ebd264d Merge pull request #5 from lioncash/android-info-fix
[Android] Fix three limits in GLES2InfoFragment.java.
2014-01-29 04:46:01 -08:00
Lioncash 74d9d7923e Fix three limits in GLES2InfoFragment.java. 2014-01-29 07:35:07 -05:00
Buildbot system user 7ed9f5e63e Upgrade Android API. 2014-01-28 23:35:13 +00:00
neobrain 7b459d2463 Merge pull request #4 from lioncash/android-about-menu-info
Expand the Android app's about menu to include additional info about a user's device.
2014-01-28 15:19:05 -08: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
Lioncash b9e7749fe6 [Android] Implement CPU info retrieval within the about menu.
ARM only at the moment. Could potentially support x86 and MIPS if necessary.
Capable of parsing the manufacturer codes and part IDs of some (but not all part numbers). If anyone knows of part numbers that aren't in the list, please report them.
2014-01-26 21:37:43 -05: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
Lioncash 521aa631dc [Android] Parse integer ranges in the GLES3 info tab.
The info we retrieve will only ever have 2 elements given back to us.
2014-01-22 12:28:46 -05:00
Lioncash 36863bf7b8 [Android] Get rid of the version check class in VideoSettingsFragment.java. Not needed anymore since the introduction of the EGLHelper class. Also decouples some classes from the VideoSettingsFragment.java class (yay).
- Minor other change is that the EGL helper fields in GLES3InfoFragment.java, GLES2InfoFragment.java, and GLInfoFragment.java are made final.
2014-01-22 11:56:25 -05:00
Lioncash 5c4d087e8f [Android] Greatly clean up the previous commits. Now here is the long list of cleaned up things:
- Spaces -> Tabs | Consistency
- Javadoc everything that was added and not documented.
- Remove duplicated code regarding the adapter that used to reside in DolphinInfoFragment.java. Now it resides in AboutActivity.java without a second duplication of it.
- Properly retrieve all of the contexts in the EGL initialization in EGLHelper.java.
- Remove the attribute EGL_RENDERABLE_TYPE from the pbuffersurface attributes in EGLHelper.java. With this present, the EGL context will always fail to reinitialize if destroyed and attempted to be recreated.
- Break the inner class Limit within GLES2InfoFragment.java, GLES3InfoFragment.java, and GLInfoFragment.java into its own single class. Greatly reduces code duplication.
- Introduce a Type enum into Limit.java (one of the wildly rare cases in Java where an enum is actually an OK solution). Removes duplicated constants from the Java files stated in the previous bullet note.
- Add a copyright comment to the top of EGLHelper.java. Forgot to do this initially, my bad.
- Add some missing override annotations to GLES2InfoFragment.java, GLES3InfoFragment.java, and GLInfoFragment.java.
- Use StringBuilders in the previously mentioned three Java files. This is better than using a String in this instance, as the String object won't have to be recreated multiple times (ala concatenation).
- Fix some constant accessors in the previously mentioned three Java files.
- Added the 'final' modifier to the above three classes and to Limit.java. These classes serve a single purpose only, and are not intended to be inherited.
2014-01-22 00:41:23 -05:00
Ryan Houdek 7e9b8d18a7 [android-about-menu-info] Add desktop OpenGL tab population.
Since showing every single limit that desktop OGL supports is crazy, Let's just show the basic information, and extensions.
2014-01-21 17:55:00 -06:00
Ryan Houdek d3ccf1c7b5 [android-about-menu-info] Have information populate the GLES2 and GLES3 tabs.
There is a /lot/ of information in these tabs, we may have to think about changing how the information looks
OpenGL isn't done yet since there are a million limits on desktop GL, may just show a few things and extensions there.
2014-01-21 17:45:39 -06: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
Lioncash 0dc437e94d [Android] Finally check if regular OpenGL is possible on devices and display/hide it's fragment based upon this in AboutActivity.java.
Also added another constructor to EGLHelper which can be used to quickly query for information.
2014-01-21 00:12:40 -05: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
Lioncash f8abdbf91a [Android] Initial introduction of the EGLHelper utility class. Should simplify all interop with the EGL/GL APIs. Not hooked up yet. However it is entirely functional. 2014-01-19 18:29:43 -05: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 eba0c21b5a [GLExtensions] Fix Windows build.
Conflicts:
	Source/VSProps/Base.props
2014-01-17 16:04:05 +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
Lioncash 45964e4b46 [Android] Initial implementation of the extended info menu.
Most fragments are not implemented yet. This is just a working base framework for it.
2014-01-07 19:47:15 -05: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
Lioncash e6497bca5a [Android] Simplify instantiations of OverlayConfigButton.java. Also simplified resizeDrawable even more. We just acquire the resource instance and then get the display metrics directly. 2014-01-02 12:23:17 -05:00
Lioncash 5635c94a30 [Android] Simplify resizeDrawable in OverlayConfigButton.java.
Also add a missing override to onRestart in DolphinEmulator.java.
2014-01-02 11:53:28 -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 2ed24d5311 [Android] Fix the gradle build system to allow for building from terminal. It will now copy the library files correctly and sign the resulting apk. 2013-12-24 15:28:24 -06:00
Ryan Houdek a87e0e7489 Remove our GLU dependency. Fix static zlib 2013-12-23 16:01:34 -07:00
Ryan Houdek 86b3719d14 [Android] Add a gradle build file for use with Android Studio 4.0 2013-12-23 12:26:55 -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 6737904c83 [Android] Stop copying assets that don't need to be copied anymore. 2013-12-21 16:20:14 -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 2a0adc3972 [Android] Make our OpenGL ES 3 check in the UI less stupid. 2013-12-12 11:58:38 -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 424f7b094e Fix Windows Build 2013-12-11 15:23:09 -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
Lioncash 55e8be595c Fix "Entry Point Not Found crash on Windows Vista"
Fixes issue 6805.
https://code.google.com/p/dolphin-emu/issues/detail?id=6805
2013-12-08 18:01:49 -05: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 bc01785264 [Android] Fix an issue that occurs due to the warning dialog. 2013-11-30 19:48:08 -06:00
Ryan Houdek 65ce711a21 [Android] 0.13 release. 2013-11-30 14:28:48 -06:00
Ryan Houdek 020331383a [Android] Fix alert when using crappy Qualcomm drivers. 2013-11-30 14:28:00 -06:00
Ryan Houdek 2ad686a2a2 [Android-overlay] Z-button support. 2013-11-29 21:50:42 -06:00
Ryan Houdek b9f03444cd [Android-overlay] Fix Java imports. 2013-11-29 21:32:27 -06: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 00a25cdaf5 [Android-overlay] Disable Wiimote configuration until it is wired up. 2013-11-29 21:12:36 -06:00
Lioncash f6e89356c7 [Android] Simplify some things in the overlay. Also Javadoc the new static function. 2013-11-29 20:06:39 -05: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
Lioncash 7f85c3215b [Android] Add Javadoc to InputOverlayDrawableJoystick. 2013-11-25 17:18:31 -05:00
degasus 0b4cb2e15f OpenGL: split real xfb + efb2ram framebuffers 2013-11-25 22:27:11 +01:00
Lioncash 76843b450b [Android] Build the configuration window for the overlay programmatically. Moved the overlay configuration classes into their own package. Also launch the overlay config activity through the preference XML via an embedded Intent. Lets us remove code explicitly handling this. 2013-11-25 14:23:28 -05: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 7ed8e6a29c [Android] Fix the check for the Qualcomm graphics driver version for v53 drivers with the screen being rotated 90 degrees. Initialize the OpenGL information grabbing only once. Check for v14 Qualcomm drivers and spit out an error if the user tries selecting OpenGL ES 3. 2013-11-24 22:45:48 -06: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
Scott Mansell 999e085411 Fix a few typos. 2013-11-23 20:16:30 +13:00
Scott Mansell 01da9c4b71 Added a Bypass XFB option to Videosoftware's configuration.
This is useful for testing XFB vs no XFB in videosoftware, for
compatablity or visual comparasions.
2013-11-23 20:04:37 +13:00
Scott Mansell a94940edd3 Videosoftware realxfb: Fixed a few bugs while testing Zelda: Collectors Edition
* Don't force a frame to be progressive if it's already progressive.
 * Don't assume the framebuffer will be 640 pixels wide
 * Remember to offset the Luma channel by 16.
2013-11-23 18:38:15 +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
Lioncash 42f8562e5c [Android] Basic Wiimote binding settings now implemented. 2013-11-19 19:28:10 -05:00
Lioncash 7e544d8996 [Android] Basic UI functionality for enabling/disabling aforementioned Gamecube controllers. 2013-11-19 16:14:40 -05:00
Lioncash 53ab104d5f [Android] Expand the input binding UI in the settings to handle 4 Gamecube controllers in the future.
Other changes:

 - Broke out MotionAlertDialog into it's own separate class.
 - Made a preference specifically for handling input bindings.
2013-11-19 15:53:30 -05: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
Lioncash c46aabc853 Merge branch 'master' of https://code.google.com/p/dolphin-emu 2013-11-16 16:53:22 -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
Lioncash ee32c8b4e9 [Android] Remove accidental fragment tag in GameListActivity (it was useless, since it's an empty string) 2013-11-16 15:17:37 -05:00
Ryan Houdek 2025f00f88 Woops, vim copy and paste issue with a double include. 2013-11-16 09:41:01 -06:00
Lioncash 11a156615f [Android] Like the previous commit (but for the GameListFragment), don't constantly create a new adapter when filling the game list. 2013-11-16 05:30:58 -05:00
Lioncash d98664b053 [Android] Simplify the FolderBrowserAdapter a little, as well as the Fill method within FolderBrowser.java. Previously the fill method would create an entire new adapter and assign it to the backing ListView. This is pretty unnecessary, so what it now does is, when the function is called, it clears out the adapter, then simply fills it in again with the new directory's contents. Simple, and doesn't require a reference to the actual ListView to be used. 2013-11-16 04:36:22 -05:00
Lioncash c8ddc70c97 [Android] Simplify the AboutFragment view inflating. Considering the backing layout is a direct ListView, the original rootView can just be casted to a ListView, no need for an intermediate. 2013-11-16 04:09:30 -05:00
Lioncash 94f8c68a35 [Android] Use the ViewHolder design pattern for the FolderBrowserAdapter. In directories with a lot of files, this should be noticeably smoother in terms of scrolling. Also fixed the case where the subtitle text might disappear. 2013-11-16 03:56:58 -05:00
Lioncash c90ce1aad1 [Android] Change the name of the XML layout file gamelist_folderbrowser_list.xml to gamelist_folderbrowser_list_item.xml. More accurate name on what it is. 2013-11-16 03:31:02 -05:00
Lioncash 21a196f9af [Android] Eliminate the need to hold a reference to the shown Fragment within GameListActivity. Now we only care about the numeric ID of the one being shown. 2013-11-16 03:09:07 -05:00
Lioncash 777b5a109b [Android] Fix the handling of orientation changes for the Fragments related to the game list. Now screen orientation changes don't kick you back to the root view. 2013-11-16 01:48:17 -05:00
Ryan Houdek e8a4cc0f71 Screenshot capability of Software rasterizer for feature completness. 2013-11-15 22:08:08 -06:00
Lioncash 23c84c220f [Android] Add ability to take screenshots into the emulation menu. 2013-11-15 22:21:50 -05: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 0720026dab [Android] Disable the workaround for Qualcomm devices with driver >= 53 for the rotated framebuffer since it is fixed now. 2013-11-15 16:56:21 -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
Lioncash 483a28f34a [Android] Simplify the AboutFragmentAdapter a little bit.
- Removes an unnecessary variable.
- Shortens the LayoutInflater usage.
- Gets rid of an unnecessary override of onAttach.
2013-11-15 17:19:09 -05:00
Lioncash 8c7d1afd5f [Android] Externalize the device compatibility warning strings. 2013-11-15 17:05:56 -05:00
Lioncash 4bb22aa0ab [Android] Indicate whether or not the device supports NEON within the About fragment. 2013-11-15 16:48:36 -05:00
Lioncash d3731d0827 [Android] Get rid of some unnecessary variables in the getView() methods of some adapters.
Directly referencing convertView is fine.
2013-11-15 16:32:52 -05: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
Lioncash 07765aa6f0 [Android] Documentation and some cleanup. 2013-11-15 12:26:17 -05: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 1e90a838f2 Make sure to add our resources for the joystick. 2013-11-14 15:20:44 -06: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
Lioncash 9d3d568ae4 [Android] Bump the targetSdkVersion in the AndroidManifest XML file to 19 (KitKat). Nothing we do would require compatibility behaviors to be enabled to maintain forward compatibility. 2013-11-14 11:01:44 -05:00
Lioncash f15a0c17d0 [Android] Get rid of some unnecessary onAttach overrides in AboutFragment, VideoSettingsFragment, and FolderBrowser. These can just be replaced with calls to getActivity(). 2013-11-14 10:45:45 -05: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
Matthew Parlane e22ff4927a Revert "Add dxsdk_dir to vc++ paths via base.props. This means you no longer need the paths in a global property sheet. In fact if you have them in such a file, you should remove them as it will cause conflicts with the vs2013 build."
This reverts commit 0791a9ef80.
2013-11-02 09:24:56 +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
Ryan Houdek 0f061e4e7c [Android] Do /not/ give users the benefit of the doubt that the device supports OpenGL ES 3 when we can't grab an OpenGL context. The only devices that fail to do so is PowerVR5 and we can't run with them anyway. 2013-10-31 07:30:18 -05: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
Lioncash 3c7613fc83 [Android] More cleanup. We don't need the preference to enable/disable the overlay in the video preferences anymore. 2013-10-28 16:36:26 -04:00
Lioncash 4e999fe0ee [Android] General cleanup.
We no longer need the buttons in Assets, considering they are now resources (ie. drawables).

Also remove (now) junk code from VideoSettingsFragment.java. We handle the input overlay within the InputSettingsFragment.

Also add a TODO detailing what needs to be refactored when axis support is finally added.
2013-10-27 22:15:49 -04:00
Lioncash d1834b3058 [Android] Overlay now works during emulation. 2013-10-27 22:08:41 -04: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
comex b97e2faa15 Fix Linux build issue. 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 0791a9ef80 Add dxsdk_dir to vc++ paths via base.props. This means you no longer need the paths in a global property sheet. In fact if you have them in such a file, you should remove them as it will cause conflicts with the vs2013 build. 2013-10-27 00:48:53 -07: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
Lioncash c3e4aa1f35 [Android] Add the copyright header to some Java source files that were lacking them. 2013-10-26 01:06:00 -04:00
Lioncash c78d5a9751 [Android] Improve an if statement check in InputConfigFragment.java. Also clarify it. 2013-10-26 00:59:53 -04:00
Lioncash 8d71a83ae5 [Android] Fix the super-mature string that was a placeholder for the title for the overlay configuration setting.
Also fix a NullPointerException possibility. Fixed it by giving the PreferenceScreen a title.
2013-10-26 00:55:07 -04: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
Lioncash 77eb9ce725 [Android] Add the capability to dynamically enable and disable the input overlay during emulation. 2013-10-25 23:10:17 -04:00
Lioncash d9be95ed9e [Android] Fix alignment issues with the overlay config settings. 2013-10-25 21:29:06 -04:00
Lioncash 7c6caa388a [Android] Prevent automatic alignments within the overlay configuration settings. Let the user do this on their own. 2013-10-25 21:14:11 -04:00
Lioncash c1ed54832c [Android] Maintain the chosen button layout when returning to the input overlay configuration menu.
- Also make the overlay configuration screen fullscreen for the app.

- Also force the overlay activity to be landscape, since this is the only orientation the EmulationActivity supports.
2013-10-25 21:05:42 -04:00
Lioncash c8cf71c913 [Android] The emulation overlay now sets the button positions based upon the locations chosen in the input overlay configuration settings. Documented the hell out of how the initialization of the Drawables works inside InputOverlay.java.
Also made the use of InputOverlayItem.java obsolete. So this is now removed.
2013-10-25 20:34:38 -04:00
Lioncash 88c797a9c0 [Android] Slight cleanup for previous commit. Mostly UI adjustments.
Makes the buttons appear uniformly on the overlay config activity.
2013-10-25 17:39:23 -04:00
Lioncash 9f36081a8f [Android] Implement a very basic version of the input overlay configuration screen.
Still a bit of a mess, but this will get cleaned up during finalizations.
2013-10-25 16:52:46 -04:00
comex 005af7bd63 Fix build on Mavericks. 2013-10-24 16:39:46 -04:00
Lioncash 1267877e80 [Android] Documentation typo cleanups from the last commit.
Also cleaned up the Javadoc for the constructor of MotionAlertDialog.
2013-10-24 15:10:25 -04:00
Lioncash 079147ca07 [Android] Refactor InputConfigFragment a little bit in preparation for the implementation of the new input overlay.
This moves all of the dialog handling into the actual MotionAlertDialog class itself. This is something I should have done a long time ago.
Also moved the Gamecube input binding preferences into their own PreferenceScreen.
2013-10-24 14:55:10 -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 187827624f [Android] 0.12 release. 2013-10-21 12:09:15 -05: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
Ryan Houdek aa713e11f7 [Android] Fix Build. 2013-10-21 09:36:40 -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