Commit Graph

14408 Commits

Author SHA1 Message Date
Ryan Houdek 9cada14ebc Merge pull request #1859 from FioraAeterna/fixinterpreterslw
Interpreter: fix slwx
2015-01-09 18:51:06 -06:00
JosJuice 358183e34a Fix 4.0-4901 VolumeDirectory stack overflow
I actually fixed this once, but then I broke it in a
failed attempt to optimize. VolumeHandler::IsWii calls
CVolumeDirectory::Read(0x18, 4, &MagicWord, false);
2015-01-09 22:50:07 +01:00
Fiora 55b509b739 Interpreter: fix slwx 2015-01-09 11:39:41 -08:00
Jules Blok 031096c8d4 FramebufferManager: Remove unnecessary sampler declaration.
It's not needed and invalid when declared for the geometry shader.
2015-01-09 14:53:56 +01:00
Ryan Houdek 5a28883f9e [AArch64] Implements 15 floating loadstores. 2015-01-08 19:56:47 -06:00
Ryan Houdek 7370473eb3 [AArch64] Implement 19 floating point instructions 2015-01-08 19:56:47 -06:00
Ryan Houdek 6dff4421d3 [AArch64] Implement 24 paired instructions. 2015-01-08 19:56:47 -06:00
Ryan Houdek 602702fdcb [AArch64] Implement three system register instructions. 2015-01-08 19:56:47 -06:00
Ryan Houdek 0dd3804cf7 [AArch64] Implement 13 integer instructions. 2015-01-08 19:56:47 -06:00
Ryan Houdek be0d552d54 [AArch64] Enable the full range of integer loadstores. 2015-01-08 19:56:47 -06:00
Ryan Houdek b1169a9773 [AArch64] Flush FPRs if they won't be used be used the rest of the block. 2015-01-08 19:56:47 -06:00
Ryan Houdek 3fe0b5b969 [AArch64] Add floating point backpatching support. 2015-01-08 19:56:47 -06:00
Ryan Houdek f1443bec1e [AArch64] Add a memory dump routine.
Allows me to easily disassemble a block of code from the Nexus 9 by dumping it to logcat.
2015-01-08 19:56:47 -06:00
Ryan Houdek b3201be95f [AArch64] Add some static_asserts.
Makes sure we have a few PPCState values within range of STRB's range.
2015-01-08 19:56:47 -06:00
Ryan Houdek 74de345b51 [AArch64] Fix loads with update.
Update register wasn't being loaded in to the cache prior pushing the address in to it.
Adds float push and pop routines around the calls that need it as well.
2015-01-08 19:56:47 -06:00
Ryan Houdek 52a532370a [AArch64] Implement FPR Cache. 2015-01-08 19:56:47 -06:00
Ryan Houdek c511ee763a [AArch64] Add the float emitter. 2015-01-08 19:55:31 -06:00
Ryan Houdek 6bc274a968 Merge pull request #1844 from Tilka/sse_mov
x64Emitter: fix MOVLPD/MOVHPD
2015-01-08 19:04:14 -06:00
skidau feba284b6d Merge pull request #1841 from Bracket-/DSPSpy
DSPSpy: Fix build failures
2015-01-09 11:59:50 +11:00
skidau 530f894d87 Merge pull request #1845 from adamdmoss/lfe1
Audio: Fix subwoofer output in software 5.1 decoding
2015-01-09 11:59:29 +11:00
skidau ac33423db5 Merge pull request #1835 from adamdmoss/master
Pulseaudio: Support 5-channel surround, optional in UI
2015-01-09 11:59:02 +11:00
Adam D. Moss f47cce2210 SDL: Refactor the SDL haptic effects a little. 2015-01-08 15:17:29 +00:00
Karol Herbst 17ad68ff86 SDL: more global memset 2015-01-08 13:37:06 +01:00
Markus Wick f0f8384639 Merge pull request #1785 from degasus/custom_texture
VideoCommon: Custom texture handling
2015-01-08 13:29:45 +01:00
Adam Moss 95c912310d PulseAudio: Support 5.1 surround, optional in UI 2015-01-08 11:10:34 +00:00
Adam Moss b1c9f56acd Audio: Fix warning in DPL2 subwoofer change 2015-01-08 10:48:30 +00:00
skidau 25c6f6e6a1 Merge pull request #1782 from FL-dolphinemu/master
Issue 7968: Added keybinds for increasing, decreasing, and muting audio.
2015-01-08 14:09:18 +11:00
Tillmann Karras 4d1face540 Fix indentation 2015-01-07 21:51:47 +01:00
Adam Moss 917f6683f4 Video: Remove more debug spew in XRANDR mode code 2015-01-07 20:23:09 +00:00
Adam Moss 5fab29df81 Video: Remove debug spew in XRANDR mode code 2015-01-07 20:22:29 +00:00
Adam Moss ee1941769b Video: Distinguish between interlace and non-interlace X11 XRANDR modes 2015-01-07 20:20:14 +00:00
Ryan Houdek 5a0133c478 [AArch64] Add a few more VFP register helpers.
Renames Is128Bit to IsQuad to line up more with the other helpers.
2015-01-07 13:05:55 -06:00
Ryan Houdek 2b4f1aed40 [AArch64] Minor shifted register adjustment.
If we have a shift amount that is the full length of the source register then we have an invalid instruction.
This can happen when dealing with a couple of PowerPC instructions.
This same adjustment is already in the ARMv7 emitter.
2015-01-07 13:03:51 -06:00
Ryan Houdek 0a23ca9461 [AArch64] Add MUL/MNEG instruction aliases to the emitter. 2015-01-07 13:03:01 -06:00
Ryan Houdek d2eaba5cb7 [AArch64] Minor MOVI2R improvement.
Use the ZR for both input arguments in the case the immediate is the maximum immediate value.
This allows it to be aliased to MVN when disassembling.
2015-01-07 13:00:39 -06:00
Ryan Houdek 8dba84dd7c [AArch64] Fix 8 & 16 bit loadstore indexes.
I wasn't bit shifting correctly for 8 and 16bit loadstores.
2015-01-07 12:58:37 -06:00
Ryan Houdek f4f59ea71e [AArch64] Fix ADDS/SUBS emitter functions.
These weren't emitting the flag bit. So they were regular ADD and SUB emitters.
2015-01-07 12:56:45 -06:00
skidau 99ca789b97 Fixed the GC Steering Wheel and Dance Mat identification. 2015-01-07 23:40:41 +11:00
Adam Moss 2c892c7b68 OpenAL: Fix volume of sample conversion 2015-01-07 12:34:02 +00:00
Adam Moss 7580069dea Audio: Fuller subwoofer processing for software 5.1 decode
Code was only using front-left and front-right to calculate bass, but
HRTF code - which this was once based on - uses all five channels and
this sounds fuller.
2015-01-07 11:58:02 +00:00
Adam Moss f324f3f68f Audio: Fix subwoofer output in software 5.1 decoding
The FIR filter was only using the first sample of each input packet.
2015-01-07 10:24:25 +00:00
Tillmann Karras 1efa9b8b72 x64Emitter: add MOVLPS/MOVHPS 2015-01-07 11:23:52 +01:00
Tillmann Karras 3daa6ab259 x64Emitter: fix MOVLPD/MOVHPD
These instructions were using the wrong prefix which turned
MOVLPD(reg, mem) into MOVDDUP(reg, mem) and made the rest of them
invalid.
2015-01-07 11:23:52 +01:00
skidau 0d952534c7 Corrects the origin in the case where a GC Controller has been set in the controller properties, but a controller has not been plugged into the adapter. 2015-01-07 17:12:30 +11:00
skidau ab87309917 Merge pull request #1838 from JosJuice/clearcoverinterrupt-timing
DVDInterface: Use default delay for DVDLowClearCoverInterrupt
2015-01-07 12:41:21 +11:00
skidau c0ff677674 Merge pull request #1763 from skidau/GC-Adapter-error-recovery
Added an error recovery mechanism for the GC Adapter.
2015-01-07 12:40:14 +11:00
magumagu f1420472c8 OSREPORT: Fix out-of-bounds string access. 2015-01-06 17:12:31 -08:00
Bracket- bde072e0a9 DSPSpy: Fix build failures
- Remove dangling #endif include guard from #pragma once conversion
- Enable C++0x support for nullptr support
2015-01-06 19:54:12 -05:00
Dolphin Bot 89b7f1057f Merge pull request #1804 from FioraAeterna/fastermmu2_master
MMU: various improvements, bugfixes, optimizations
2015-01-07 00:49:58 +01:00
Markus Wick a2ec4d5f51 Merge pull request #1836 from FioraAeterna/catchillegalinst
JIT: catch illegal instruction errors
2015-01-06 23:10:46 +01:00
JosJuice 5162ed4d5f DVDInterface: Use default delay for DVDLowClearCoverInterrupt
The old delay was probably a hack to make up for the incorrect
disc speeds. Using it with the new disc speeds made
Resident Evil Archives: Resident Evil Zero freeze when starting.
2015-01-06 21:25:17 +01:00
Markus Wick f63361ad26 Merge pull request #1810 from Stevoisiak/FreelookDefaultHotkeyFix
Changed default freelook hotkey to match description
2015-01-06 20:52:00 +01:00
Markus Wick f080e0221e Merge pull request #1758 from rohit-n/build-pch
Fix building with PCH disabled.
2015-01-06 20:42:50 +01:00
Adam Moss 306c8d14db SDL Input: Support more types of force feedback for controllers through SDL. 2015-01-06 19:17:43 +00:00
Markus Wick 09a10622dd Merge pull request #1621 from FioraAeterna/pscleanup
JIT: cleanups/optimizations for ps loadstore
2015-01-06 20:12:50 +01:00
Fiora 8f7c799794 JIT: catch illegal instruction errors
Still crash, but at least give a message informing the world that it happened.
2015-01-06 11:06:49 -08:00
Markus Wick 25fac0282c Merge pull request #1764 from Armada651/safe-exclusive
D3D: Only try to apply exclusive mode when the renderer is in focus.
2015-01-06 11:00:47 +01:00
Markus Wick d8d4c94e07 Merge pull request #1819 from Tilka/cmake
CMake: simplify some expressions
2015-01-06 09:27:59 +01:00
Ryan Houdek 7033b371c2 Merge pull request #1784 from lioncash/android
Android: Fix a few warnings. Misc other things.
2015-01-05 14:32:01 -06:00
Fiora e85f0ff179 MMU: fix problems with blocks that cross vmem page boundaries
In rare cases, this can result in a violation of the JIT block cache constraint
that blocks must end in the same place. This can cause instability, lockups,
due to blocks not properly being invalidated properly.
l Please enter the commit message for your changes. Lines starting
2015-01-05 10:46:04 -08:00
Fiora b058bbd223 JIT: move mfcr code to JitAsmCommon
It's like 80+ instructions, so inlining it on every use of mfcr is probably
not the best for the icache.
2015-01-05 10:46:03 -08:00
Fiora 821db9798c Memmap: clean up function argument names.
To be more consistent overall.
2015-01-05 10:46:02 -08:00
Fiora 3d2492627f Fastmem: increase the size of trampoline cache in MMU mode, check space
Fastmem in MMU mode generates way more trampolines than normal, so we need
a bunch more space too, lest we run out of room.
2015-01-05 10:46:01 -08:00
Fiora 1ee83e332e MMU: optimize PTE lookup code
Pull out calculation of PTE1 instead of comparing the separate parts.
2015-01-05 10:46:01 -08:00
Fiora 16e756cb39 MMU: fix TLB behavior on setting C bit
We shouldn't be updating the TLB when setting the C bit.

Bug reported by tueidj.
2015-01-05 10:45:59 -08:00
Fiora 8903df7300 MMU: simplify code to restore original data register after failed load
Instead of passing the value around constantly, just store it in the regcache,
note where it is, and restore it on the exception path.

This saves a whole bunch of pushing and popping and gives a ~5% speed boost
in Rebel Strike. It's a bit ugly, but it simplifies a lot of code and is
faster, too.
2015-01-05 10:45:59 -08:00
Fiora 53b44ccb3a x64ABI: enhance MOVTwo to take an offset
This lets us merge displacements into MOVTwo in trampolines.
2015-01-05 10:45:58 -08:00
Fiora 2a8936312e Fastmem: jump to trampolines instead of calling them
Should be slightly faster, and also lets us skip the nops on the way back.

Remove the trampoline cache, since it isn't really useful anymore with this.
2015-01-05 10:45:54 -08:00
Fiora 9923d705df JIT: simplify and optimize memcheck macros
Instead of jumping over update code and similar, just jump directly to the
handler.

This avoids redundant exception checks in the case where we can't do fastmem
memory operations (e.g. paired loadstore).
2015-01-05 10:34:59 -08:00
Fiora 6dc7cf29f3 JIT: implement crset special case
Rebel Strike seems to use this one.
2015-01-05 10:34:59 -08:00
Fiora 0ff6ad5734 MMU: handle exception checks in fastmem
Inspired by a patch by magumagu.
2015-01-05 10:34:58 -08:00
Fiora 190312e1a6 MMU: enable fastmem stores 2015-01-05 10:34:58 -08:00
Fiora 8e1c92f2e7 MMU: remove goto in MMU fast past check
Split into a separate patch to avoid rebasing conflicts and to split from
functional changes.
2015-01-05 10:34:57 -08:00
Fiora 6f028257d7 MMU: remove code that looks totally wrong
I don't think this affects any games (who puts PTEs in MEM2?) but it didn't
make any sense.
2015-01-05 10:34:57 -08:00
Fiora dde8b24d00 MMU: small simplification of TLB structure
We only need one "recent" per set, not NUM_WAYS recents. Slightly faster.
Breaks savestate compatibility.
2015-01-05 10:34:56 -08:00
Fiora a0e5c76a1f Memmapfunctions: more refactoring and optimizations
Try to clean up some redundant code, simplify a few checks, and simplify
page accesses.
2015-01-05 10:34:56 -08:00
Fiora c2ed29fe0d MemmapFunctions: various MMU optimizations
Small TLB lookup optimizations: this is the hot path for MMU code, so try to
make it better.

Template the TLB lookup functions based on the lookup type (opcode, data,
no exception).

Clean up the Read/Write functions and make them more consistent.

Add an early-exit path for MMU accesses to ReadFromHardware/WriteToHardware.
2015-01-05 10:34:55 -08:00
Fiora ea23ce2726 MMU: fix rollback in DSIs on page-crossing stores
I don't know if this affected anything, but it was subtly wrong.
Also reorganize the loads to match, for consistency.
2015-01-05 10:34:55 -08:00
Markus Wick acb583e607 Merge pull request #1815 from degasus/fix_det_dual_core
VideoCommon: fix deterministic dual core
2015-01-05 11:50:33 +01:00
skidau 519970c003 Added a callback option instead of using a thread to read the GC adapter. 2015-01-05 12:43:26 +11:00
skidau 8e9ff68352 Set the GC pad origin using the real hardware origin instead of the virtual hardware. 2015-01-05 12:27:36 +11:00
skidau cd4e0399ec Added an error recovery mechanism for the GC Adapter. 2015-01-05 12:27:36 +11:00
Tillmann Karras fffd890be3 SI_GCAdapter: properly clean up libusb 2015-01-05 01:31:54 +01:00
Jules Blok 399b6248d1 D3D: Further improve exclusive fullscreen state checking. 2015-01-05 00:01:22 +01:00
Stevoisiak 2f47faf016 Changed default freelook hotkey to match description 2015-01-04 17:07:43 -05:00
Pierre Bourdon 1b4b836731 Merge pull request #1743 from Stevoisiak/variableNamingConsistency
Globals.h: Variable naming consistency
2015-01-04 22:45:30 +01:00
Rohit Nirmal bad5aef5df Fix building with PCH disabled. 2015-01-04 10:45:35 -06:00
Jules Blok b7e056c74d Host: Add Host_RendererIsFullscreen(). 2015-01-04 17:09:56 +01:00
Jules Blok 3b9c070ee0 D3D: Only try to apply exclusive mode when the renderer is in focus. 2015-01-04 16:42:16 +01:00
skidau b06a3fb144 Merge pull request #1809 from magumagu/simplify-isi
JIT: simplify ISI handling.
2015-01-04 20:31:16 +11:00
Pierre Bourdon 4cbb690378 Merge pull request #1827 from FioraAeterna/fixcrdisasm
GekkoDisassembler: fix display of CRs in branch operations
2015-01-04 05:00:31 +01:00
Fiora 8a6ea918b6 GekkoDisassembler: fix display of CRs in branch operations 2015-01-03 19:53:55 -08:00
Pierre Bourdon 142aa4a7fe Merge pull request #1825 from Stevoisiak/RenameBuildDate
Change Build Date to Apploader Date
2015-01-03 23:10:12 +01:00
Stevoisiak 0b8ab84554 Change Build Date to Apploader Date
Date given by Dolphin did not match up with build dates found from
tcrf.net
2015-01-03 17:05:35 -05:00
Patrick A. Ferry 069a0864c0 Scale the offset to the IR scale
The offset between fbStride and fbWidth will need to be scaled by IR
scale.
2015-01-03 22:05:22 +00:00
degasus 110d494070 VideoCommon: fix deterministic dual core 2015-01-03 21:50:51 +01:00
Fiora 33b03fab81 JIT: cleanups/optimizations for ps loadstore
I'm not quite sure why the float paired stores were written how they were,
but it should be more consistent now.

Also get rid of the use of a psTemp global that wasn't really needed.

Add some comments.
2015-01-03 10:30:13 -08:00
JosJuice 2560d89576 Fix "Lionux" typo 2015-01-03 15:42:28 +01:00
Tillmann Karras 6bcdb10eee CMake: simplify some expressions 2015-01-03 13:17:57 +01:00
Patrick A. Ferry eebd7da443 Fix stretching with Virtual XFB in D3D
This change matches the behaviour of OpenGL.

This should make Ty the Tasmanian Tiger 3 stretch across the whole
screen. There are other games with this same issue but I have not any.

See issue #6750 for details
2015-01-03 01:28:49 +00:00
Pierre Bourdon c3d52e0476 Merge pull request #1789 from Tilka/memleak
DSPHLE: fix an unimportant memory leak
2015-01-03 01:50:16 +01:00
Pierre Bourdon 799d69c69d Merge pull request #1816 from Armada651/master
OGL: Fix stereoscopy not being applied properly while the game is running.
2015-01-03 01:48:55 +01:00
Jules Blok dddaa11595 OGL: Fix stereoscopy not being applied properly while the game is running. 2015-01-03 01:36:43 +01:00
skidau 3738d27b24 Merge pull request #1776 from JosJuice/cleanrip-wii-discs
Fix CleanRip reading Wii discs
2015-01-03 10:42:51 +11:00
skidau 598dc033f2 Merge pull request #1739 from JosJuice/wii-di-timing
Accurate loading times for Wii games
2015-01-03 10:41:18 +11:00
Scott Mansell 1b771deb56 Move worldpos into it's own varying.
Previously it was packed into spare slots in clippos.xy and normal.w,
but it's ugly and more importantly it's causing bugs.

This was discovered during the debugging of a zfreeze branch, which
expected clippos.xy to be xy position coordinates in clipspace (as
the name suggested).

Turns out the stereoscopy shader had also run into this trap, modifying
clippos.x (introducing errors with per-pixel lighting).

This commit has been moved outside of the zfreeze PR for fast merging.
2015-01-03 09:23:09 +13:00
Dolphin Bot 7dc6484fe7 Merge pull request #1805 from Armada651/dubois
PostProcessing: Use Dubois algorithm for anaglyph shader.
2015-01-02 20:04:04 +01:00
Jules Blok 582a15deb3 PostProcessing: Mark all shaders constant. 2015-01-02 20:03:20 +01:00
Jules Blok 6855c098f7 ISOProperties: Add stereoscopy per-game settings. 2015-01-02 19:57:32 +01:00
Jules Blok b816ee1f79 VideoConfig: Define a per-game minimum convergence value instead of a percentage boost. 2015-01-02 17:07:08 +01:00
Jules Blok 26a9afa0e7 Anaglyph: Use matrices instead of vectors. 2015-01-02 14:32:42 +01:00
magumagu 1e370550c4 JIT: simplify ISI handling.
When we try to JIT from a block which doesn't exist, don't JIT any code;
just update the PPC state to indicate an ISI.  This is a little simpler,
and avoids abusing the JIT block cache.
2015-01-01 19:25:48 -08:00
Jules Blok 491de39325 PixelShaderCache: Implement Dubois algorithm in anaglyph shader. 2015-01-02 03:06:11 +01:00
Jules Blok e3969f763e PostProcessing: Use Dubois algorithm for anaglyph shader. 2015-01-02 03:02:28 +01:00
skidau 9c6795c7b7 Merge pull request #1778 from JMC47/ReadIdleFix
Remove AtBreakpoint() from ReadIdle. Fixes Rogue Squadron 2 without breaking Gladius
2015-01-02 12:00:00 +11:00
Markus Wick ec4dfae333 Merge pull request #1747 from Armada651/intel-workaround
OGL: Work around Intel structures bug.
2015-01-01 21:41:09 +01:00
Ryan Houdek 479d1e56c3 Merge pull request #1783 from degasus/disablelogs
OGL: disable driver warnings fetch
2015-01-01 14:12:02 -06:00
Pierre Bourdon 6b88704fd6 Merge pull request #1794 from FioraAeterna/forceinline
Memory: forceinline read/write hardware functions
2015-01-01 20:36:17 +01:00
Fiora 92a0716f65 Memory: forceinline read/write hardware functions, TLB/page functions
MSVC wasn't actually inlining these. Should give a nontrivial performance boost
in MMU-heavy games.
2014-12-30 18:04:21 -08:00
Stevoisiak 2e1d8d7ac0 Added identifier for country code 'B'
Only used by the American version of Ufouria: The Saga
2014-12-30 19:57:14 -05:00
Markus Wick f5cddd4020 Merge pull request #1790 from Armada651/master
VideoConfig: Don't disable stereoscopy if Real XFB is enabled but not in use.
2014-12-30 12:30:23 +01:00
Markus Wick dd1e624fff Merge pull request #1787 from Armada651/fix-3dvision
VertexShaderManager: Turn off the epsilon hack for Nvidia 3D Vision.
2014-12-30 12:30:01 +01:00
skidau 5d55bceeb3 Merge pull request #1773 from FioraAeterna/fixcarryearlyblockend
JIT: fix carry optimization on blocks that end early
2014-12-30 11:15:45 +11:00
Jules Blok 0860c02258 VideoConfig: Don't disable stereoscopy if Real XFB is enabled but not in use. 2014-12-29 19:15:31 +01:00
Tillmann Karras a00ae4ad79 DSPHLE: fix an unimportant memory leak 2014-12-29 18:39:24 +01:00
Jules Blok b474c4229d VertexShaderManager: Turn off the epsilon hack for Nvidia 3D Vision. 2014-12-29 17:05:39 +01:00
Jules Blok da058b3078 VideoConfig: Fix convergence parameter.
Looks like a rebase failed somewhere.
2014-12-29 12:03:59 +01:00
Jules Blok 813b3808a7 VideoConfigDiag: Remove double space. 2014-12-29 11:20:14 +01:00
Jules Blok 29e05c5ff8 Stereo3D: Don't rely on GetEFBLayers() when dealing with shaders.
Shaders may be compiled before the FramebufferManager is initialized.
2014-12-29 11:19:55 +01:00
FL.dolphinemu 5de43536ba Update pull request 1782. Reordered header and corrected text case.
Feedback from Antidote and lioncash.
2014-12-29 11:00:03 +01:00
degasus c6dd5044d6 VideoCommon: make hash independet from hires textures 2014-12-29 10:24:27 +01:00
degasus f8184858da VideoCommon: Merge code to generate texture names on dumping 2014-12-29 10:24:27 +01:00
degasus 51bfc4c52a VideoCommon: rewrite custom textures 2014-12-29 10:24:21 +01:00
Lioncash ad254f1b16 Android: Fix a typo (Depthn -> Depth) 2014-12-28 20:34:54 -05:00
Lioncash 038b968698 Android: Use findViewById instead of getChildAt
More futureproof if anything else is added to the layout.
2014-12-28 20:33:27 -05:00
Lioncash 4221999c6e Android: Fix a warning regarding a string in the slider layout 2014-12-28 20:19:29 -05:00
Lioncash fa0c3aa62d Android: Remove unnecessary context variable in SliderPreference 2014-12-28 20:17:24 -05:00
Ryan Houdek a09d854636 Merge pull request #1760 from rohit-n/shadow
DSPLLE: Silence -Wshadow warning and conform more to style.
2014-12-28 16:43:08 -06:00
Jules Blok 3ed777b0f9 PixelShaderGen: Don't assign to input variables. 2014-12-28 23:37:05 +01:00
Jules Blok 8676891f77 VertexShaderGen: Don't read from output variables. 2014-12-28 23:28:00 +01:00
Jules Blok 3f763e6999 DriverDetails: Remove Intel Structs bug since it doesn't affect us anymore. 2014-12-28 23:28:00 +01:00
Jules Blok 7eb353b3bd VideoCommon: Don't pass structs between shaders, use the interface blocks instead. 2014-12-28 23:28:00 +01:00
Jules Blok 2c0bee5da9 DriverDetails: Update Intel bug description. 2014-12-28 23:28:00 +01:00
Markus Wick c5a0b6bf50 Merge pull request #1432 from randomstuff/linux-perf
Add Linux perf JIT support (/tmp/perf-$pid.map)
2014-12-28 23:12:52 +01:00
degasus 1ed41672f5 OGL: disable driver warnings fetch
This did give a decent slowdown on some drivers.
2014-12-28 22:31:24 +01:00
Markus Wick 0f87d9b669 Merge pull request #1781 from Armada651/xfb-fixes
D3D: Fix Virtual XFB viewport.
2014-12-28 22:22:27 +01:00
Ryan Houdek 83d9942ca3 Merge pull request #1761 from Sonicadvance1/Android_stereoscopy
Adds stereoscopy configuration support to Android.
2014-12-28 15:15:27 -06:00
Ryan Houdek 15f074dd21 Merge pull request #1766 from Armada651/enable-stereo
Enable stereoscopy settings.
2014-12-28 15:14:53 -06:00
FL.dolphinemu 78f8bf7423 Issue 7968: Added keybinds for increasing, decreasing, and muting audio. 2014-12-28 22:03:21 +01:00
Jules Blok e1dc033113 Renderer: Cosmetics. 2014-12-28 18:35:23 +01:00
Jules Blok 89de7e0526 Renderer: Invalidate the FramebufferManager if the XFB mode is changed.
Fixes incorrect texture sizes after switching XFB modes.
2014-12-28 18:26:25 +01:00
Jules Blok 730a6e5f4b D3D: Fix Virtual XFB viewport.
Looks like I was incorrect about swapping the bottom and top members.
2014-12-28 17:34:19 +01:00
Rohit Nirmal fd0d19aa82 DSPLLE: Silence -Wshadow warning and conform more to style. 2014-12-28 09:52:31 -06:00
Jules Blok 81d1b7f0c2 XFBEncoder: Cosmetics. 2014-12-28 16:30:48 +01:00
JosJuice bb93336ecf DiscIO: Replace "raw" functions with "decrypt" parameters
This is intended to make decryption look less implicit in the code.
2014-12-28 10:35:48 +01:00
Fiora 354e255827 JIT: fix carry optimization on blocks that end early
I don't know if this shows up currently, but e.g. if you force blocks to be
under a certain length, this problem (a crash) shows up.
2014-12-27 23:20:05 -08:00
Justin Chadwick 51b26f3397 Remove AtBreakpoint() from ReadIdle. Fixes Rogue Squadron 2 without
Breaking Gladius
2014-12-27 19:16:50 -05:00
JosJuice 7f04a23e23 Add FileMonitor support for VolumeDirectory 2014-12-27 20:13:31 +01:00
Lioncash 9465a877f8 Merge pull request #1718 from lioncash/wxdoesitagain
ControllerConfigDiag: Potentially fix scaling problems on high DPI
2014-12-27 10:10:45 -05:00
Jules Blok d7037ae492 PixelShaderCache: Don't use GetDimensions() for the sample count.
This function is bugged on Windows 7, and statically declaring the sample count is trivial anyway.
2014-12-27 14:45:15 +01:00
JosJuice 72f8f243c7 Never decrypt data when using DI command 0xA8
CleanRip relies on this when ripping Wii discs.
2014-12-27 13:49:25 +01:00
Ryan Houdek 1dbd8c0b96 Merge pull request #1745 from degasus/remove_gpu_sync
VideoCommon: Make GPU syncing hack optional
2014-12-27 04:26:17 -06:00
Jules Blok 86120bfc97 GeometryShaderManager: Set viewport in SetConstants().
Setting it in the callback is too early.
2014-12-26 17:58:59 +01:00
Ryan Houdek 859e103ce6 [Android] Add support for sterescopy configuration.
This menu allows us to configure the stereoscopy video settings if the device supports it.
This menu is only enabled if the hardware supports everything needed to use the feature.
2014-12-26 08:17:29 -06:00
Ryan Houdek 339383b8dd Merge pull request #1756 from JosJuice/eslaunch-regression
Fix 4.0-4724 ES_Launch and System Menu regressions
2014-12-26 08:02:39 -06:00
Pierre Bourdon b3bae9eef7 Merge pull request #1473 from phire/cleanHLE
Clean up debug string functions in OS_HLE.
2014-12-26 13:49:59 +01:00
Markus Wick 7764a5ed9d Merge pull request #1733 from degasus/glx
GLX: try to get an OpenGL 3.3 core context
2014-12-26 13:31:41 +01:00
Markus Wick a86865d1c4 Merge pull request #1740 from Armada651/stereo-xfb
Support stereoscopy with Virtual XFB
2014-12-26 13:25:33 +01:00
Lioncash f71c4b5768 Merge pull request #1768 from JosJuice/filemonitor-regression
Re-add FileMonitor support for Wii discs
2014-12-25 22:02:28 -05:00
Jules Blok 833513f384 XFBEncoder: Sample the first layer of the resolved EFB texture.
Using the multisampled EFB texture is invalid, as the XFB encoder does not have a multisampling shader.
2014-12-25 12:09:35 +01:00
JosJuice 1618d31523 FileMonitor: Get rid of "GC" from names and comments 2014-12-25 11:12:04 +01:00
JosJuice 8624461315 Re-add FileMonitor support for Wii discs
This in done in the same way as GC discs, unlike the previous implementation.
2014-12-25 11:01:18 +01:00
Jules Blok af8ac328e5 Renderer: Use old method of calculating the source rectangle. 2014-12-25 02:37:22 +01:00
Jules Blok 46bb4fd364 FramebufferManagerBase: Remove obsolete parameters. 2014-12-25 00:58:16 +01:00
Jules Blok 49137c7c2c FramebufferManager: Return framebuffer target size in GetTargetSize(). 2014-12-25 00:57:52 +01:00
Jules Blok 111b04388c VideoConfigDiag: Don't enable the post-processing config button when there are no options.
The handling of the Anaglyph override was incorrect.
2014-12-25 00:14:15 +01:00
Jules Blok 1bbb323e97 D3D: Remove obsolete Real XFB codepath. 2014-12-24 23:55:04 +01:00
Jules Blok 31a55384b3 VideoConfig: Rename "StereoMonoEFBDepth" to "StereoEFBMonoDepth"
Makes a little bit more sense.
2014-12-24 23:30:40 +01:00
Jules Blok 1105dd7dcd VideoConfigDiag: Enable stereoscopy options. 2014-12-24 23:29:42 +01:00
Jules Blok c424aa1ac6 GeometryShaderManager: Boost convergence value.
Most game don't require much granularity regarding the convergence value.
The default convergence was also too low, this commit increases it tenfold.
2014-12-24 23:29:40 +01:00
Jules Blok 70b898e2c6 VideoConfig: Rename Separation to Depth and update descriptions.
More accurate since it's not a real IPD and Nvidia also calls it depth.
2014-12-24 23:28:23 +01:00
Augustin Cavalier d857306190 DolphinQt: remove non-render-to-main and add fullscreen. 2014-12-24 14:28:46 -05:00
Jules Blok 9590ea0cf6 VideoConfig: Turn off stereoscopy when Real XFB is enabled. 2014-12-24 18:45:24 +01:00
Jules Blok 4a86234a79 D3D: Support stereoscopic XFB blit to screen. 2014-12-24 18:45:24 +01:00
Jules Blok a845aeeb3d FramebufferManager: Copy all EFB layers to the XFB. 2014-12-24 18:45:19 +01:00
Jules Blok 59bea317d7 GeometryShaderCache: Cosmetics. 2014-12-24 17:22:24 +01:00
Jules Blok b109b31f61 FramebufferManagerBase: Only allocate one layer for Real XFB. 2014-12-24 17:22:23 +01:00
Jules Blok a9364cd5db OGL: Support stereoscopic XFB blit to screen. 2014-12-24 17:22:23 +01:00
Jules Blok 12412ac5b7 FramebufferManager: Copy all EFB layers to the XFB framebuffer. 2014-12-24 17:22:22 +01:00
Markus Wick 5526b39320 Merge pull request #1748 from Armada651/stereo-format
FramebufferManager: Support stereoscopic EFB format changes.
2014-12-24 11:02:17 +01:00
JosJuice 329af1aea3 Always read 0x20 bytes of disc ID 2014-12-23 13:25:04 +01:00
Jules Blok b2efbdaf44 Cosmetics. 2014-12-23 13:16:09 +01:00
Jules Blok 01718eafa6 FramebufferManager: Use a separate layer variable. 2014-12-23 13:16:03 +01:00
Ryan Houdek 97d6afdde9 [Android] Add a few helper functions to EGLHelper.
Let's us check for extension support and OpenGL version.
2014-12-23 03:56:06 -06:00
JosJuice 61da252858 Mark cover as open when no disc is inserted 2014-12-23 09:43:51 +01:00
skidau e396286361 Merge pull request #1751 from FenrisulfrX/master
AR: Fix Memory Copy Without Pointer Support
2014-12-23 12:39:48 +11:00
degasus 01cd11a835 OGL: fix ssbo based bbox support 2014-12-22 19:10:35 +01:00
JosJuice 14ff0004b5 Check if there is a disc for all disc reads 2014-12-22 16:34:18 +01:00
JosJuice 867bd2eb34 Only use bounds check for DVDLowUnencryptedRead 2014-12-22 15:01:55 +01:00
Pierre Bourdon c5c10fe48b Merge pull request #1757 from JosJuice/gc-ipl-regression
Fix 4.0-4724 GC IPL regression
2014-12-22 13:03:08 +01:00
JosJuice c1ad4055a3 Fix 4.0-4724 GC IPL regression
Apparently the IPL actually writes to address 0.
2014-12-22 11:38:44 +01:00
Ryan Houdek 5af426df33 Merge pull request #1713 from degasus/vertex-loader
virtual vertex loader
2014-12-22 03:02:02 -06:00
FenrisulfrX e70baf43d4 AR: BugFix to Memory Copy Without Pointer
Using ReadUncheked to avoid changing the state of the emulation
2014-12-22 06:22:01 -02:00
skidau a00aa1a770 Merge pull request #1746 from skidau/dsp-thread-lock
Added lock guards around the DSP LLE cycle count updating.
2014-12-22 17:45:06 +11:00
skidau 4ede885702 Added lock guards around the DSP LLE cycle count updating.
Changed the isRunning flag to a Common::Flag.
2014-12-22 16:40:01 +11:00
Ryan Houdek 0d744cddf6 Merge pull request #1729 from Sonicadvance1/AArch64_compare_me
[AArch64] Add partial support for cmp* instructions.
2014-12-21 20:56:49 -06:00
Ryan Houdek d35f7231dc Merge pull request #1727 from Sonicadvance1/AArch64_conditional_continue
[AArch64] Adds support for conditional continue.
2014-12-21 20:56:36 -06:00
Ryan Houdek 47b67fe527 Merge pull request #1744 from Buddybenj/google-code
Update Outdated Google Code References
2014-12-21 20:55:56 -06:00
Ryan Houdek 02aea1b4c5 [AArch64] Adds support for conditional continue.
Requires PR #1723 prior to merging.
2014-12-21 20:48:40 -06:00
Ryan Houdek 1da6995d5b Merge pull request #1728 from Sonicadvance1/AArch64_BindToRegister
[AArch64] Adds support for BindToRegister to the integer instructions.
2014-12-21 20:48:24 -06:00
Ryan Houdek bd4fa951a9 Merge pull request #1726 from Sonicadvance1/AArch64_flush_if_not_needed
[AArch64] Flush registers from register cache if they won't be used again.
2014-12-21 20:46:38 -06:00
Ryan Houdek 4fad742da4 Merge pull request #1723 from Sonicadvance1/AArch64_loadstores
[AArch64] Implements loadstores with AArch64
2014-12-21 20:46:23 -06:00
Ryan Houdek 5cf79fd3b1 Merge pull request #1724 from Sonicadvance1/AArch64_dispatcher_optimization
[AArch64] Optimization in the dispatcher.
2014-12-21 20:08:40 -06:00
Ryan Houdek e423939c9f Merge pull request #1754 from FioraAeterna/mmulogspam
Eliminate some spammy log messages in MMU mode
2014-12-21 20:05:07 -06:00
Ryan Houdek 4247506c00 [AArch64] Implements loadstore instructions in the JIT recompiler.
These instructions are all implemented with fastmem support.
Currently loads with update are disabled due to an issue that I've yet to figure out.
I'm sure I'll figure that out later.
2014-12-21 19:43:59 -06:00
Ryan Houdek 17a4208fe5 [AArch64] Adds backpatching routines.
Currently supports only integer loadstores. Floating point loadstores will come later.

This system is semi based on the ARMv7 backpatching routine, where we need to initialize our backpatch routine sizes prior to actually using them so
we know we won't be overwriting any memory.
2014-12-21 19:40:29 -06:00
Jules Blok bcfd431e9a Frame: Fix a crash-on-exit on Mac OS X.
A null pointer exception is triggered when Dolphin is quit from the dock.
2014-12-22 02:06:23 +01:00
Fiora e7a49ae5f3 Eliminate some spammy log messages in MMU mode
dcbz: just don't use GetPointer, that can't be right anyways
ppcanalyst: don't print "instruction hex 0" messages in MMU mode, where ISIs
are expected.
2014-12-21 12:41:44 -08:00
Fiora 3b7d7da1ac JIT: Fix redundant MOVs in x86 trampolines
Fixes spammy log messages about redundant MOVs.
2014-12-21 12:06:07 -08:00
FenrisulfrX 46e74782a7 AR: Fix Memory Copy Without Pointer Support
Fix a bug when using AR codes with "Memory Copy Without Pointer Support"
code type which would write more data than it should.
2014-12-21 16:45:50 -02:00
Jules Blok 737bc0e7ad PixelShaderCache: Support stereoscopic EFB format changes. 2014-12-21 15:46:12 +01:00
Jules Blok ba242d27c8 FramebufferManager: Support stereoscopic EFB format changes. 2014-12-21 15:25:58 +01:00
degasus 1efd00227d VertexLoader: Skip vertices with position index = -1 2014-12-21 14:29:44 +01:00
degasus 325e8e370e VertexLoader: Merge dummy functions 2014-12-21 14:13:04 +01:00
degasus 7c486a8c24 VertexLoader: Add a VertexLoader pointer to each function call 2014-12-21 14:13:04 +01:00
degasus 7edf6ec4e4 VertexLoader: Add a test loader which compares two vertex loaders 2014-12-21 14:13:04 +01:00
degasus 809117102e VideoCommon: split VertexLoaderBase from VertexLoader 2014-12-21 14:12:43 +01:00
degasus a71c8158d9 VertexLoader: remove inlined getters
They just blow up the code.
2014-12-21 13:47:43 +01:00
degasus 6e3b2712d2 VideoCommon: Move NativeVertexFormat cache to VertexLoaderManager 2014-12-21 13:47:43 +01:00
degasus 1281798992 VertexLoaderUid: remove operator<
Not needed for unordered map.
2014-12-21 13:47:43 +01:00
degasus ec28a80e00 VideoLoader: remove VAT_*_FRACBITS
They are used to remove the flush amounts, but as we don't
flush anymore on vertex loader changes (only on native
vertex format right now), this optimization is now unneeded.

This will allow us to hard code the frac factors within the
vertex loaders.
2014-12-21 13:47:42 +01:00
degasus 7e12fec7c3 VideoCommon: Make GPU syncing hack optional
This hack is there for quite a long time, and lots of games crashes if it's disabled.
But it's still a hack, so it shouldn't be enabled hard coded. This commit create a new
ini option for this hack which is enabled by default.
Maybe some games does still run very fine without this hack.
2014-12-21 11:54:53 +01:00
Ryan Houdek 9b2909357b Merge pull request #1731 from Sonicadvance1/ARMv7-minor-optimization
[ARMv7] Minor integer fastmem optimization.
2014-12-20 23:38:41 -06:00
Ryan Houdek 8ea6c62943 Merge pull request #1705 from Sonicadvance1/AArch64_emitter_fixes
[AArch64] Improvements to the AArch64 emitter.
2014-12-20 23:27:59 -06:00
Ryan Houdek 59e1a8a1a0 Merge pull request #1736 from degasus/osd
OSD
2014-12-20 23:21:24 -06:00
Benjamin Przybocki fba3c48ec4 Update Outdated Google Code References 2014-12-20 21:17:51 -06:00
Stevoisiak 6ad5e54970 DolphinWX/Globals: Variable naming consistency 2014-12-20 21:43:11 -05:00
Ryan Houdek ab2b499fa6 [ARMv7] Minor integer fastmem optimization.
This is a one instruction optimization for integer loadstores.
Makes sure to enable nop padding in some cases where a fault can still happen and cause us to overwrite other instructions that aren't meant to be.
2014-12-20 19:41:33 -06:00
Ryan Houdek c22e750f74 [AArch64] Add partial support for cmp* instructions.
This support is as far as ARMv7's support for these instructions.
Requires PR #1728 prior to merging.
2014-12-20 19:41:04 -06:00
Ryan Houdek 6f0fbac68f [AArch64] Adds support for BindToRegister to the integer instructions.
This requires PR #1723 prior to merging.
2014-12-20 19:40:14 -06:00
Ryan Houdek 73542ce93e [AArch64] Flush registers from register cache if they won't be used again.
This requires PR #1705 and #1723 prior to merging.
2014-12-20 19:38:34 -06:00
Ryan Houdek 360cf761d2 [AArch64] Optimization in the dispatcher.
Align our dispatcher to a page so we can jump to it with a ADRP+BR pair instead of ADRP+ADD+BR.
Also make sure to save /all/ of our callee saved registers that we are supposed to save.
Requires PR #1705 prior to merging.
2014-12-20 19:37:45 -06:00
Ryan Houdek 13b70c2fbd [AArch64] Add an exception exit function with the exit location already in PC.
This will be used with idle skipping later.
2014-12-20 19:36:48 -06:00
Ryan Houdek 32eb0a9d68 [AArch64] Removes CODE_SIZE variable.
This is in a global location now which conflicts with this one.
2014-12-20 19:36:48 -06:00
Ryan Houdek edfbb6ab9a [ARM] Adds a ArmCommon folder.
Moves the backpatch flags and struct to a common location for ARM.
I'm sure there will be more things that use this common ARM location in the future.
2014-12-20 19:36:48 -06:00
Ryan Houdek eaf17b7d7b [AArch64] Register cache improvements.
Adds the ability to flush the cache and maintain state.
Adds the BindToRegister ability.
Sorts register usage as callee saved used first, reduces dumping pressure when jumping to external routines/interpreter.
Adds a function to store a register, for use when flushing a register that won't be used during the rest of a block.
2014-12-20 19:36:48 -06:00
Ryan Houdek d3c2e8fb0a [AArch64] Improvements to the AArch64 emitter.
Fixes issues with negative offsets in loadstore instructions.
Adds ADRP/ADR instructions.
Optimizes MOVI2R function to take advantage of ADRP on pointers, can change a 3 instruction operation down to one.
Adds GPR push/pop operations for ABI related things.
2014-12-20 19:35:52 -06:00
Matthew Parlane f4ab1443fa Merge pull request #1725 from Sonicadvance1/update_gradle
Updates the gradle build file to the latest needed for Android Studio.
2014-12-21 14:31:05 +13:00
Ryan Houdek b47cf7e70e Updates the gradle build file to the latest needed for Android Studio.
This may require the buildbot to be updated.
2014-12-20 19:01:40 -06:00
Pierre Bourdon f2a07e43d1 Merge pull request #1638 from Stevoisiak/DSP-to-Audio
Rename DSP settings to Audio settings
2014-12-21 01:57:39 +01:00
Stevoisiak 91aeb7510f Changed config DSP references to config audio 2014-12-20 19:46:59 -05:00
Ryan Houdek 3b332f7270 [Android] Raise requirements to Android 4.3 and OpenGL ES 3.0
We need to stop pretending that we "support" GLES 2.0 devices.
We are a high performance application that requires GLES 3.0, which was officially supported in Android 4.3.
The few Android phones that released with Android 4.2 and supported OpenGL ES 3.0 have already been updated to a later Android version.
2014-12-20 15:43:51 -06:00
Ryan Houdek 829132d465 Merge pull request #1732 from Sonicadvance1/stupid_android_garbage
Work around broken Android garbage.
2014-12-20 15:29:38 -06:00
Ryan Houdek f2d998c938 Work around broken Android garbage.
This fixes running Dolphin on the Nexus 9.

Android's EGL stack has internal arrays that they use for tracking OpenGL function usage. Probably has something to do with their OpenGL profiling
garbage that used to be in ADT.

Android has three of these arrays, each statically allocated.
One array is for all GLES 1.x functions
One array is for all GLES 2.0/3.0/3.1 and a couple of extensions they deem worthy of being in this array.
The last array is for all function pointers grabbed via eglGetProcAddress that isn't in the other two arrays.

The last array is the issue that we are having problems with. This array is 256 members in length.
So if you are pulling more than 256 function pointers that Google doesn't track in their internal array, the function will return NULL and yell at you
in logcat.

The Nvidia Shield Tablet gets around this by replacing part of the EGL stack with their own implementation that doesn't have this garbage.
The Nexus 9 on the other hand doesn't get away with this. So we pull >100 more function pointers than the array can handle, and some of those we need
to use.

The workaround for this is to grab OpenGL 1.1 functions last because we won't actually be using those functions, so we get away with not grabbing the
function pointers.
2014-12-20 15:15:57 -06:00
JosJuice 34a37cc30d WII_IPC_HLE: Fix timing weirdness
The reply delay of a command shouldn't be ignored just because the
previous command isn't done yet. DI is way too fast without this change.
2014-12-20 22:07:30 +01:00
JosJuice be9789f2c6 WII_IPC_HLE_Device_DI: Use the new accurate timing 2014-12-20 22:07:28 +01:00
JosJuice a7296681ff WII_IPC_HLE: Return delay time instead of using GetCmdDelay 2014-12-20 22:07:15 +01:00
Dolphin Bot f978d141c8 Merge pull request #1720 from Armada651/stereo-msaa
FramebufferManager: Support resolving a multi-layered EFB
2014-12-20 20:35:36 +01:00
degasus a858db1d27 OGL: move osd warning for not supported stereo mode into config validation 2014-12-20 19:54:00 +01:00
degasus ed9c14e0d5 OGL: Fix OGL3 with stereo enabled 2014-12-20 19:13:34 +01:00
Markus Wick 9122c868fe Merge pull request #1734 from Armada651/stereo-fixes
GeometryShaderManager: Set stereo parameters in a SetConstants() call.
2014-12-20 17:48:31 +01:00
Pierre Bourdon dad7911214 Merge pull request #1486 from rohit-n/goto
Remove some gotos.
2014-12-20 16:47:55 +01:00
Pierre Bourdon cee4a85a12 Merge pull request #1633 from JosJuice/dvd-speed-tweak
DVDInterface: Tweak speeds
2014-12-20 16:46:22 +01:00
Pierre Bourdon 24a2ca4d28 Merge pull request #1703 from FioraAeterna/saveregs
JIT: free up a register by eliminating RCODE_POINTERS
2014-12-20 16:45:08 +01:00
Pierre Bourdon e7eb4c06e2 Merge pull request #1634 from JosJuice/disc-drive-unification-lite
Make WII_IPC_HLE_Device_DI call DVDInterface
2014-12-20 16:41:52 +01:00
Jules Blok d37b65c117 FramebufferManager: Support resolving a multi-layered EFB in OGL. 2014-12-20 16:08:00 +01:00
degasus 3322c55484 OGL: don't clear the stencil buffer
We don't have one. This should remove some spamming of the nvidia driver.
2014-12-20 15:17:20 +01:00
degasus 3f9b52e555 OGL: draw shadows within rasterfont itself 2014-12-20 13:31:41 +01:00
Jules Blok d09af2dbba GeometryShaderManager: Set stereo parameters in a SetConstants() call.
Doing it in SetProjectionChanged() is too early because the projection type is not set yet.
2014-12-20 13:16:26 +01:00
degasus fb177ca04e VideoCommon: merge debug test generators 2014-12-20 13:06:29 +01:00
JosJuice d1c8a8bd9f Make WII_IPC_HLE_Device_DI call DVDInterface 2014-12-20 13:02:04 +01:00
degasus ffa014dd48 VideoCommon: merge debug info generators 2014-12-20 12:25:10 +01:00
Dolphin Bot a560d8f150 Merge pull request #1716 from Armada651/geom-wireframe
VideoCommon: Handle wireframe mode in the geometry shader.
2014-12-20 12:22:40 +01:00
degasus e6137407ba GLX: try to get an OpenGL 3.3 core context 2014-12-20 10:57:34 +01:00
Matthew Parlane 6a785af280 Merge pull request #1704 from phire/wii_ssl_segfault
De-memsetify Wii_SSL and fix segfault.
2014-12-20 21:16:55 +13:00
comex fba3abe4cf Manually revert d34418100b 2014-12-20 00:33:15 -05:00
skidau 31bc51072b Merge pull request #1712 from skidau/GC-Adapter-thread-fix
Corrected the buffer that is used by the GCAdapter thread.
2014-12-20 13:09:19 +11:00
Jules Blok bc3ed44050 OGL: Disable geometry shaders on Intel's Windows drivers due to broken interface blocks. 2014-12-19 23:56:02 +01:00
skidau f913cb6ab6 Removed redundant code from the GC Adapter interface. 2014-12-20 09:44:35 +11:00
skidau 9eecfca71d Corrected the buffer that is used by the GCAdapter thread. 2014-12-20 09:44:35 +11:00
Ryan Houdek b30802e2f0 Merge pull request #1721 from Sonicadvance1/fix_adreno_400
Fixes Adreno 400 performance.
2014-12-19 15:55:50 -06:00
Jules Blok 0d79e8f32b VideoCommon: Don't specify the redundant in/out qualifier if GL_ARB_shading_language_420pack is supported.
Some driver developers interpreted "can" as "must" in the OpenGL specs. (I'm looking at you AMD)
2014-12-19 22:45:39 +01:00
Ryan Houdek 8c0e26d969 Minor changes to DriverDetails
Fixes a typo where the official IMGTec drivers were said to be the OSS driver support.
Removes Mali GPU family detection just like I removed the Adreno family detection.
We don't support Mali Utgard anyway.
If we need family detection we can properly add it, right now it isn't needed.
2014-12-19 21:41:12 +00:00
Jules Blok 761749e07f FramebufferManager: Support resolving a multi-layered EFB in D3D. 2014-12-19 22:37:28 +01:00
Jules Blok 0ae082fb61 FramebufferManager: Return the depth texture instead of the color texture in GetResolvedEFBDepthTexture() when AA is enabled. 2014-12-19 22:37:28 +01:00
Ryan Houdek 0fec69001b Fixes Adreno 400 slow performance.
Adreno 300 and 400 have the same video driver performance issues because they are very similar architectures which use basically the same thing with
everything.
There isn't any need to detect the family of the driver with Qualcomm anyway. If we ever need family specific bugs then we can implement real support
for that.
Performance issue on Adreno 400 series was due to us only detecting Adreno 300 series, and with Adreno 400 it wouldn't use the bugs, which would cause
it to use glBufferSubData, causing the huge performance hit.
2014-12-19 21:31:37 +00:00
Lioncash 6adfa92a7e ControllerConfigDiag: Potentially fix scaling problems on high DPI
Fixes issue 7940 hopefully.
2014-12-19 14:50:36 -05:00
Jules Blok 531b3941ff GeometryShaderGen: Re-emit the first vertex when wireframe mode is enabled. 2014-12-19 14:24:08 +01:00
Jules Blok 1b9fe70d7c VideoCommon: Make IsPassthrough() a function of the ShaderUid. 2014-12-19 14:10:53 +01:00
Jules Blok c9e469f832 D3DState: Remove wireframe rasterizer support. 2014-12-19 14:10:52 +01:00
Jules Blok 925bbcb85b VideoCommon: Handle wireframe mode in the geometry shader. 2014-12-19 14:10:52 +01:00
Jules Blok cdd9e07522 VideoCommon: Add in/out qualifiers to centroid storage qualifier.
Fixes shaders for GPUs that don't support GL_ARB_shading_language_420pack.
2014-12-19 12:19:15 +01:00
Ryan Houdek 02f22152be Merge pull request #1706 from Armada651/line-width
VideoCommon: Merge LineGeometryShader into GeometryShaderGen.
2014-12-18 19:43:12 -06:00
Jules Blok e7e8a4f1cb GeometryShaderGen: Don't use the reserved keyword "point" in D3D. 2014-12-19 02:24:41 +01:00
Markus Wick c7b809d46b Merge pull request #1669 from degasus/swvertexloader
Video Software Vertex Loader
2014-12-18 19:30:56 +01:00
shuffle2 717e155ce1 Merge pull request #1689 from kayru/d3d_efb_copy_fix
D3D: Fixed D3D validation error during EFB to texture copy
2014-12-18 02:59:51 -08:00
Stevoisiak 200097f25d Renamed dsp.png to audio.png
Note: This will break custom themes.
2014-12-18 01:01:57 -05:00
Jules Blok 8dc3653ac9 VideoCommon: Don't pass structs between shader stages when geometry shaders are unsupported. 2014-12-18 00:37:16 +01:00
Jules Blok 1f84f4632d OGL: Check OpenGL version for geometry shader support. 2014-12-18 00:37:16 +01:00
Jules Blok 93ce95b48e D3D: Use ROUND_UP macro for rounding buffer sizes. 2014-12-18 00:37:15 +01:00
Jules Blok 69df23f725 VideoCommon: Only use interface blocks when geometry shaders are supported. 2014-12-18 00:37:14 +01:00
Jules Blok 1af3d8447a GeometryShaderManager: Set the constants within the callbacks. 2014-12-18 00:37:09 +01:00
Jules Blok 3d9dfad6a2 D3D: Set the geometry shader before every draw call.
And refactor the VertexManager draw call.
2014-12-18 00:36:50 +01:00
Jules Blok 7e8f96f0d3 OGL: Don't generate a geometry shader if the backend doesn't support it.
This commit repurposes the bSupportsStereoscopy flag as the bSupportsGeometryShaders flag.
2014-12-18 00:36:49 +01:00
Jules Blok 782a5adb94 VideoCommon: Pass interface blocks between shader stages to resolve naming conflicts. 2014-12-18 00:36:49 +01:00
Jules Blok bd6d229733 GeometryShader: Disable the geometry shader stage if it is a pass-through shader. 2014-12-18 00:36:48 +01:00
Jules Blok f2e52b46c3 GeometryShaderGen: Cosmetics. 2014-12-18 00:36:47 +01:00
Jules Blok 2850c9a206 VertexManager: Disable culling for lines and points. 2014-12-18 00:36:47 +01:00
Jules Blok 0ac7103391 GeometryShaderGen: Pack uniforms more tightly. 2014-12-18 00:36:40 +01:00
degasus 5f322cc9e8 Jit: move constants out of class
This fixes a linking issues on debug builds.
2014-12-17 23:42:10 +01:00
Yuriy O'Donnell 5688c27610 D3D: Moved setting texture by slot mask into StateManager 2014-12-17 23:41:26 +01:00
shuffle2 d9e2f51900 Merge pull request #1698 from shuffle2/win-qt-5.4.0
windows: use qt 5.4.0
2014-12-17 06:06:59 -08:00
Markus Wick 98292682fe Merge pull request #1709 from unknownbrackets/attributeless-fix
OGL: Attempt a larger buffer to workaround 7946
2014-12-17 14:20:54 +01:00
skidau 5313dd1b8c Merge pull request #1702 from CarlKenner/DebugSymbols
Fix many bugs with the Symbols menu (when run with -d argument).
2014-12-17 22:04:56 +11:00
Unknown W. Brackets 5b51f5a801 OGL: Attempt a larger buffer to workaround 7946. 2014-12-16 22:20:45 -08:00
CarlKenner 6e7eb52211 Rename menu items, stop using PanicAlertT, remove -d when running from visual studio.
I accidentally committed my addition of the -d option that I used for testing, now it's fixed.
2014-12-17 01:12:33 +10:30
CarlKenner 84ae817c18 Remove white space at ends of lines. 2014-12-17 01:12:08 +10:30
CarlKenner cd5d354acc Load 4 column map files like in American Mensa Academy.
Unfortunately the map files in American Mensa Academy don't correspond to the release version.
But at least now if other games use those map files we will be able to load them.
2014-12-17 01:12:03 +10:30
CarlKenner dfd915eb53 Merge bad map file loading into the original function. 2014-12-17 01:11:58 +10:30
CarlKenner f95f43fdde Apparently c_str doesn't return a C str. 2014-12-17 01:11:52 +10:30
CarlKenner e246aaf419 Add "Load bad map file" option for map files on disc that don't quite match.
Currently it is very simple and naive, but filters out most of the bad matches.
2014-12-17 01:11:41 +10:30
CarlKenner f54d9e33c2 Fix many bugs with the Symbols menu (when run with -d argument).
The Symbols menu is now fully useable.
2014-12-17 01:11:36 +10:30
magumagu 31bcdb8f2f D3D+OGL: choose blendenable over logicopenable.
No sane game should turn on both logicopenable and blendenable in the same
blend mode, but not every game is sane. Fixes issue 6009.
2014-12-15 20:16:25 -08:00
skidau 7b5b76caa4 Merge pull request #1700 from JosJuice/discio-clear-error
DiscIO: Clear error status when reading file
2014-12-16 13:09:03 +11:00
skidau ce8b3d83a8 Merge pull request #1693 from magumagu/memcheck-fastmem
JIT: use fastmem loads in MMU mode.
2014-12-16 13:07:53 +11:00
Jules Blok d115048615 GeometryShaderGen: Remove redundant declaration. 2014-12-15 23:20:56 +01:00
Jules Blok 16af00d515 GeometryShaderGen: Use signed integers for the texture offset flags. 2014-12-15 23:05:16 +01:00
Jules Blok 861fa1af23 GeometryShaderGen: Declare a prototype for EmitVertex(). 2014-12-15 22:47:43 +01:00
Jules Blok 8ae738ff30 VideoCommon: Merge PointGeometryShader into GeometryShaderGen.
This adds point-width emulation support to OpenGL.
2014-12-15 22:47:43 +01:00
Jules Blok 55e60a9c22 VideoCommon: Merge LineGeometryShader into GeometryShaderGen.
This adds line-width emulation support to OpenGL.
2014-12-15 22:47:42 +01:00
Jules Blok 275af9c5e4 VideoCommon: Assume we always use a geometry shader, not just for stereoscopy. 2014-12-15 22:47:41 +01:00
Jules Blok 382e1c22db GeometryShaderGen: Support multiple primitive types.
And make more stereoscopy code optional.
2014-12-15 22:47:41 +01:00
Jules Blok 887c669c28 GeometryShaderGen: Redefine gl_InvocationID so we can use the same variable name in both backends. 2014-12-15 22:47:40 +01:00
Jules Blok 332ba4b210 GeometryShaderManager: Upload Line/Point width constants. 2014-12-15 22:47:35 +01:00
Scott Mansell 950ca267bb De-memsetify Wii_SSL and fix segfault.
Fixes #7917
The first memset was clearing the delicate bits of the std::string
in the struct, causing segfaults.

I also removed the rest of the memsets because they were paranoid,
unneeded and waseful. We shouldn't be managing the ssl libraries
structs for it.
I checked and the ssl library's functions were already memsetting
those structs as needed.
2014-12-15 18:17:00 +13:00
Fiora 76ca42b758 JIT: free up a register by eliminating RCODE_POINTERS
Also use shorter code in the dispatcher if we can get away with it (e.g. on
Windows where the relevant memory is in the low 2GB).
2014-12-14 18:19:37 -08:00
Jules Blok aa4242fd9c GeometryShaderGen: Pass the primitive type and always run the generator regardless of stereoscopy. 2014-12-14 21:23:20 +01:00
Jules Blok b406e4e1f2 VideoCommon: Add a separate constants buffer for the geometry shader. 2014-12-14 21:23:13 +01:00
Lioncash c7179af8f7 Merge pull request #1675 from Stevoisiak/Rename-Build-Date
ISOProperties: Rename Date to Build Date
2014-12-14 14:26:24 -05:00
Lioncash ff41c2a1a1 Merge pull request #1687 from lioncash/sprintf
MemoryWindow: Remove wxSprintf call, use wxString::Format instead.
2014-12-14 14:26:03 -05:00
Jules Blok 6c7bed25a5 Cosmetics 2014-12-14 13:29:27 +01:00
Jules Blok cec5b0ce01 ShaderGen: Remove the GS_OUTPUT struct for OpenGL.
And remove the generator for it since it is no longer used outside of the geometry shader.
2014-12-14 13:28:50 +01:00
Jules Blok fd6b588627 D3D: Define decimals in floating point numbers 2014-12-14 13:28:49 +01:00
Jules Blok a6ac7dd5bd D3D: Fix Nvidia 3D Vision memory leak 2014-12-14 13:28:49 +01:00
Jules Blok ea2bcb44f0 Cosmetics 2014-12-14 13:28:48 +01:00
Jules Blok 6fe7d530ed PixelShaderCache: Fix MSAA shaders.
Various typos were introduced due to lack of testing.
2014-12-14 13:28:48 +01:00
Jules Blok b2e73400be Cosmetics 2014-12-14 13:28:48 +01:00
Jules Blok b06280e866 D3D: Add anaglyph stereoscopy support. 2014-12-14 13:28:47 +01:00
Jules Blok 4b3e784949 TextureCache: Add stereoscopy support for EFB to texture copies. 2014-12-14 13:28:47 +01:00
Jules Blok 3355d8086d D3DUtil: Use a geometry shader to clear all slices. 2014-12-14 13:28:46 +01:00
Jules Blok 799697ad80 PSTextureEncoder: Add texture array support.
We only read the first slice, because EFB2RAM doesn't support texture arrays.
2014-12-14 13:28:46 +01:00
Jules Blok ced733ccdf PixelShaderCache: Add texture array support to static shaders. 2014-12-14 13:28:46 +01:00
Jules Blok d58e389f67 D3D: Recreate the framebuffer when stereoscopic 3D is toggled. 2014-12-14 13:28:45 +01:00
Jules Blok b769da23d0 PixelShaderGen: Sample the correct texture slice. 2014-12-14 13:28:45 +01:00
Jules Blok 7c05b9a6d0 D3D: Set the geometry shader for triangle primitives. 2014-12-14 13:28:44 +01:00
Jules Blok 4f6ce0f236 D3D: Add geometry shader instancing support. 2014-12-14 13:28:44 +01:00
Jules Blok ca766747a8 D3DTexture: Bind textures as texture arrays. 2014-12-14 13:28:43 +01:00
Jules Blok cf12c93c86 D3D: Use common GetEFBLayers() instead of GetEFBSlices(). 2014-12-14 13:28:43 +01:00
Jules Blok 9d9bd5341d D3D: Restore viewport after stereo blitting. 2014-12-14 13:28:43 +01:00
Jules Blok a689db0e48 D3D: Add 3D vision support. 2014-12-14 13:28:42 +01:00
Jules Blok e53705784b D3D: Add SBS/TAB output support. 2014-12-14 13:28:42 +01:00
Jules Blok 9253bb7d96 D3D: Add geometry shader stereoscopy support. 2014-12-14 13:28:41 +01:00
Jules Blok d5ebdf7a97 D3D: Add GeometryShaderCache. 2014-12-14 13:28:41 +01:00
Jules Blok 9a312e2b83 D3D: Use two slices for most of our textures. 2014-12-14 13:28:40 +01:00
JosJuice 467b3e6baf DiscIO: Clear error status when reading file 2014-12-14 13:16:21 +01:00
shuffle2 5aa1d4733d Merge pull request #1699 from unknownbrackets/attributeless-fix
OGL: Correctly define attrib 0 in attributeless
2014-12-13 21:24:12 -08:00
Unknown W. Brackets 1c316eb18c OGL: Correctly define attrib 0 in attributeless. 2014-12-13 21:02:15 -08:00
Shawn Hoffman 33634b6489 windows: use qt 5.4.0 2014-12-13 20:59:40 -08:00
Lioncash 3c10ffa574 Merge pull request #1696 from skidau/Fix-ISOProp-GPUDeter
Gave the GPU determinism game property its own ID
2014-12-13 23:33:00 -05:00
skidau 15f7e63cc2 Merge pull request #1650 from unknownbrackets/attributeless-fix
OGL: Unbind the active VAO before attributeless rendering
2014-12-14 14:42:07 +11:00
skidau f9badc2b7c Gave the GPU determinism game property its own ID so that changing it to "Not Set" does not disable the emulation issues textbox. 2014-12-14 14:38:35 +11:00
skidau 45dedfcb8e Merge pull request #1685 from RachelBryk/hires-tex
Fix hires texture path.
2014-12-14 14:25:21 +11:00
Jules Blok 14792c3402 D3DState: Set the pixel shader in m_current when linking dynamically. 2014-12-13 22:09:34 +01:00
Jules Blok a2b43b21fe D3DState: Always update the m_pending members in the setters.
Fixes unintentional behaviour when a setter is called twice before the state is applied.
2014-12-13 21:51:18 +01:00
skidau 68a4cc6b72 Merge pull request #1686 from degasus/master
OGL: fix efb pokes
2014-12-13 23:38:07 +11:00
degasus d5eeb9b713 VideoSW: rewrite VertexLoader to use the VideoCommon one 2014-12-13 10:29:08 +01:00
skidau d02eb3ca59 Merge pull request #1640 from rohit-n/switch-default
Silence some -Wswitch-default warnings.
2014-12-13 19:47:06 +11:00
magumagu e479606b07 JIT: simplify code using MOVTwo. 2014-12-12 22:29:49 -08:00
magumagu 43d56febc4 JIT: use fastmem loads in MMU mode.
Even in games that require MMU mode, loads outside the area specified by
the BAT are rare, so fastmem is a substantial improvement.

All of the interesting changes are in the backpatch handler, to make it
generate DSI exceptions correctly.
2014-12-12 22:08:46 -08:00
skidau 6fb89e3b77 Fixed the Y button (typo) on the GC adapter. 2014-12-13 16:14:18 +11:00
skidau 1f41c3c2d5 Fixed the non-responsive d-pad on the GC Adapter.
Fixed -Wmissing-declarations and -Wshadow warning (thanks rohit-n).
2014-12-13 15:04:03 +11:00
Pierre Bourdon 4747cc7a15 Fix DSP CMPAR disassembly
Previously the two operand register selection bits were inverted, causing "CMPAR AC1, AX0.H" to be disassembled as "CMPAR AC0, AX1.H".

DSP RE is always fun: on the one hand Nintendo does a lot of stupid shit, so anything weird could be a legitimate bug of the UCode that is not supposed to make any sense. On the other hand, Dolphin *also* does a lot of stupid shit, so there's always that doubt.

Note: completely untested change - done with the GH text editor, just to show you how much I care :) . These operand descriptions are only used for disassembly, so no real behavior change is expected.
2014-12-13 04:14:51 +01:00
skidau 297ef16745 Merge pull request #1678 from skidau/GC-Adapter
Added GameCube Adapter support
2014-12-13 12:06:17 +11:00
Yuriy O'Donnell 764aee6995 D3D: Fixed D3D validation error during EFB to texture copy
Texture was being bound as a render target while still being set as a shader resource.
D3D automatically unbinds the SRV in this case and generates a validation error.
The fix is to manually unbind SRV, render into it and then re-bind to old slots.
2014-12-13 00:32:08 +01:00
Lioncash 20fc2d5674 MemoryWindow: Remove wxSprintf call, use wxString::Format instead. 2014-12-12 10:29:07 -05:00
degasus 1a5d791964 OGL: fix efb pokes 2014-12-12 16:11:17 +01:00
Rohit Nirmal b030d29067 Silence some -Wswitch-default warnings. 2014-12-11 22:23:05 -06:00
skidau 7ebca647b3 Merge pull request #1679 from rohit-n/shadow-qt
DolphinQt: Silence -Wshadow warnings.
2014-12-12 14:01:19 +11:00
skidau aaa2dca554 Merge pull request #1684 from skidau/mmu-blocklink
Enable block-linking with MMU
2014-12-12 13:51:39 +11:00
skidau 110d079c1e Enable block-linking with MMU. Blocks that cause an ISI exception are not linked. 2014-12-12 13:25:51 +11:00
Lioncash 815c29f6f4 Merge pull request #1682 from JosJuice/volumehandler-return
VolumeHandler: Return success value
2014-12-11 20:38:43 -05:00
Rachel Bryk 6a2973ac1d Fix hires texture path. 2014-12-11 19:24:16 -05:00
Dolphin Bot 971a95aece Merge pull request #1503 from kayru/d3d_optimization_cache
D3D: Filter redundant API calls by caching state in StateManager
2014-12-11 23:38:35 +01:00
Unknown W. Brackets 029f8c3c3f OGL: Ensure a VAO is bound for all attributeless.
Unfortunately, some of these cases are not well tested, because I don't
know how to reproduce them.
2014-12-11 09:42:49 -08:00
Unknown W. Brackets de2abbed17 OGL: Move attributeless VAO creation to Init.
This way we won't trash an existing bound VBO by mistake.
2014-12-11 01:00:37 -08:00
Unknown W. Brackets 290fd545e6 OGL: Bind the attributeless VAO before EFB copies.
Fixes crashes in Zack & Wiki using an older NVIDIA driver.
2014-12-10 23:19:18 -08:00
Unknown W. Brackets 0861cb8744 OGL: Properly reset the attributeless VAO. 2014-12-10 20:11:48 -08:00
skidau fe67230663 Merge pull request #1670 from lioncash/array
FifoRecorder: Use std::vector for m_Ram and m_ExRam
2014-12-11 14:26:09 +11:00
skidau 30b34f3b2e Moved the GC Adapter processing under "Standard Controller" as it appears the adapter does not work with controllers other than the standard controller (pads, bongos, some dance mats). 2014-12-11 14:06:35 +11:00
skidau 8fdd04e647 Fixed wireless GC controller detection.
Made the controller update thread-safe.
Added pad origin to wired and wireless pads only.
2014-12-11 11:15:36 +11:00