Commit Graph

13650 Commits

Author SHA1 Message Date
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
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
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
JosJuice
16f3970c79 VolumeHandler: Return success value 2014-12-10 22:25:02 +01:00
Fiora
3effd08843 FIFO: allocate slightly more for SIMD vertex loader overreads
May fix crashes in rare cases.
2014-12-10 05:52:55 -08:00
Markus Wick
4c139ca7cc Merge pull request #1609 from degasus/datareader
VideoCommon: Datareader
2014-12-10 06:53:11 +01:00
degasus
bf65c49609 PixelShaderGen: merge OGL+D3D bbox 2014-12-09 19:32:24 +01:00
degasus
e88e63adb3 UnitTests: fix VertexLoaderTest 2014-12-09 18:56:27 +01:00
degasus
3fc7e55cc4 VideoCommon: clean up VertexLoader 2014-12-09 18:56:27 +01:00
degasus
02cdb41d3d VideoCommon: Rename s_pCurBufferPointer 2014-12-09 18:56:27 +01:00
degasus
50de4238bb VertexLoader: Move the old Datareader function into VertexLoader 2014-12-09 18:56:27 +01:00
degasus
21970c4a2a VideoCommon: cleanup OpcodeDecoder 2014-12-09 18:56:27 +01:00
degasus
4b22885ed8 VideoCommon: fifo cleanups 2014-12-09 18:56:27 +01:00
degasus
27f984c02e VideoCommon: rewrite DataReader 2014-12-09 18:56:27 +01:00
Ryan Houdek
1ad8d4629c Merge pull request #1677 from FioraAeterna/fixtypo
JIT: fix MOVD_xmm order typo in ConvertDoubleToSingle
2014-12-09 08:20:27 -06:00
Fiora
92aad1140e JIT: fix MOVD_xmm typoes in ConvertDoubleToSingle
Ordering, plus MOVQ instead of MOVD
2014-12-09 04:19:44 -08:00
Ryan Houdek
0578ec92c0 Merge pull request #1665 from Sonicadvance1/yielding_the_dual_core_world
Idle loop in GPU loop on dual core systems.
2014-12-09 02:22:27 -06:00
skidau
1ce3696e8b Merge pull request #1623 from FioraAeterna/fixppcfp
JIT: fix PPC_FP snan/qnan handling
2014-12-09 14:25:23 +11:00
Lioncash
799b557e21 Merge pull request #1673 from Stevoisiak/Cache_Revision-Comment
Specified where to find CACHE_REVISION
2014-12-08 12:26:31 -05:00
Steven Vascellaro
aeae285c8d Specified where to find CACHE_REVISION 2014-12-08 12:00:11 -05:00
Markus Wick
ff4526b4a9 Merge pull request #1657 from Tinob/master
Add HW bounding Box support to d3d backend
2014-12-08 09:05:22 +01:00
Rodolfo Bogado
cf7512683c spaces cleanup 2014-12-07 20:28:27 -03:00
Lioncash
faf962d528 FifoRecorder: Use std::vector for m_Ram and m_ExRam
No need to delete/recreate the arrays every time a new recording happens. Just zero it out.
2014-12-07 18:13:53 -05:00
Tillmann Karras
6e928d08a0 Jit64: clean up casts in memory operands 2014-12-07 20:23:27 +01:00
Yuriy O'Donnell
e90604c5ed D3D: Fixed debug validation error
A texture was still being bound when OMSetRenderTargets is called.
State manager resource cache must be flushed to unbind it.
This fixes The Last Story cut scene rendering.
2014-12-07 18:46:05 +01:00
Yuriy O'Donnell
4392d3cd55 D3D: Fixed StateManager member function name case 2014-12-07 18:45:50 +01:00
Yuriy O'Donnell
80459c52e9 D3D: StateManager m_current and m_pending are now value-initialized 2014-12-07 18:45:49 +01:00
Yuriy O'Donnell
0e18e9e80d D3D: Removed cull mode changes for lines and points
Fixed include order and whitespace
2014-12-07 18:45:20 +01:00
Yuriy O'Donnell
6e9226650d D3D: Implemented context state caching
This avoids most of the redundant API calls.
2014-12-07 18:17:19 +01:00
Markus Wick
d83f0308af Merge pull request #1664 from Sonicadvance1/GLES3_stereo
Enables stereo rendering with OpenGL ES 3.1 + AEP.
2014-12-07 12:53:14 +01:00
Ryan Houdek
ce7c52eca0 Enables stereo rendering with OpenGL ES 3.1 + AEP.
If the host device supports GLES 3.1 and AEP we can have stereo rendering.
Just need to make sure to grab the correct function pointer that GL_EXT_geometry_shader provides, and enable AEP in the shaders.

We can't just check if AEP is in the extension list for support because Qualcomm has failed once more.
With the Nexus 6 it reports support for AEP but doesn't support OpenGL ES 3.1, which is an impossible combination.
From reports on their forum it seems that attempting to use any AEP things results in nothing happening, seems like a stub implementation.
2014-12-07 11:14:35 +00:00
Ryan Houdek
81cc177c44 Merge pull request #1477 from magcius/nunchuk-cleanup
Nunchuk cleanup
2014-12-07 01:29:59 -06:00
Ryan Houdek
d9d0e285c9 Merge pull request #1560 from magcius/pad-cleanup-1
Pad cleanup 1
2014-12-07 01:22:03 -06:00
Ryan Houdek
4e98078daf Merge pull request #1658 from lioncash/locale
Common: Remove locale based functions from CommonFuncs.
2014-12-07 01:12:00 -06:00
Ryan Houdek
9897f7675e Merge pull request #1611 from waddlesplash/dolphin-qt
DolphinQt: various cleanup & fixes.
2014-12-07 01:11:17 -06:00
Ryan Houdek
6d6b425061 Merge pull request #1647 from magumagu/mmu-flag-cleanup
Cleanup: remove unnecessary uses of the bMMU flag
2014-12-07 01:08:30 -06:00
Ryan Houdek
dec2f9f89b Merge pull request #1596 from Tilka/wiimote
WiimoteReal: use inheritance instead of #ifdef
2014-12-07 01:03:08 -06:00
Ryan Houdek
a48abd7bd2 Merge pull request #1662 from lioncash/tas
TASInputDlg: General cleanup.
2014-12-07 00:58:58 -06:00
Ryan Houdek
b9c6ee93b6 Merge pull request #1661 from FioraAeterna/fixloadstorebind
JIT: fix possible panicalert in loadstore
2014-12-07 00:54:59 -06:00
Ryan Houdek
0e1d98a43f Merge pull request #1663 from Buddybenj/Fix-Warning
Remove RunningGamecube (unused variable)
2014-12-07 00:08:07 -06:00
Ryan Houdek
d58bba2160 Idle loop in GPU loop on dual core systems.
Previously we had decided to busy loop on systems due to Windows' scheduler being terrible and moving us around CPU cores when we yielded.
Along with context switching being a hot spot.
We had decided to busy loop in these situations instead, which allows us greater CPU performance on the video thread.
This can be attributed to multiple things, CPU not downclocking while busy looping, context switches happening less often, yielding taking more time
than a busy loop, etc.

One thing we had considered when moving over to a busy loop is the issues that dual core systems would now face due to Dolphin eating all of their CPU
resources. Effectively we are starving a dual core system of any time to do anything else due to the CPU thread always being pinned at 100% and then
the GPU thread also always at 100% just spinning around. We noted the potential for a performance regression, but dismissed it as most computers are
now becoming quad core or higher.

This change in particular has performance advantages on the dual core Nvidia Denver due to its architecture being nonstandard. If both CPU cores are
maxed out, the CPU can't effectively take any idle time to recompile host code blocks to its native VLIW architecture.
It can still do so, but it does less frequently which results in performance issues in Dolphin due to most code just running through the in-order
instruction decoder instead of the native VLIW architecture.
In one particular example, yielding moves the performance from 35-40FPS to 50-55FPS. So it is far more noticeable on Denver than any other system.
Of course once a triple or quad core Denver system comes out this will no longer be an issue on this architecture since it'll have a free core to do
all of this work.
2014-12-07 05:36:44 +00:00
Ryan Houdek
f9cda79f3a Merge pull request #1659 from rohit-n/ow-the-edge
Fix -Wshadow warning.
2014-12-06 23:34:34 -06:00
Lioncash
e5e8f49425 TASInputDlg: Eliminate the usage of some spacers.
Bordering parameters can be specified on addition.
2014-12-06 20:13:30 -05:00
Fiora
68972da1e5 JIT: fix possible panicalert in loadstore
Didn't bind address register tcorrectly in a very rare case.
2014-12-06 16:09:13 -08:00
Lioncash
694247d3fe TASInputDlg: Fix a typo in layout alignment flags 2014-12-06 17:09:05 -05:00
Lioncash
d09130e3d2 TASInputDlg: Replace some for loops with range-based for loops. 2014-12-06 16:54:42 -05:00
Lioncash
12eb2caa65 TASInputDlg: Remove unnecessary wxWidgets default values. 2014-12-06 16:40:53 -05:00
Tillmann Karras
791d5458e5 UnitTests: add tests for bitwise AVX instructions 2014-12-06 22:28:03 +01:00