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
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
skidau
344c43cc74
Retrieved the endpoint addresses of the GC Adapter via the descriptor.
2014-12-10 21:35:30 +11:00
skidau
8d4a47d40c
Added GameCube Adapter support.
...
The libusb driver must be installed on the adapter (e.g. zadig can be used to install the driver in Windows). GameCube pad controllers are supported and will override the current input device assigned to the port. GameCube controller buttons are auto-configured and cannot be re-assigned. Rumble is supported. Hotplug is supported while playing a game. If a controller is unplugged from the adapter, Dolphin will fallback to using the host input device on that port. If a port on the adapter is unused, Dolphin will use the host input device for that port, allowing a mixture of host input devices and controllers connected to the adapter.
The adapter support can be disabled in the Controllers config if the OS driver is preferred (allowing the pad buttons to be reconfigured).
One adapter per system is supported.
2014-12-10 20:45:45 +11: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
Rohit Nirmal
2997689d08
DolphinQt: Silence -Wshadow warnings.
2014-12-09 10:36:16 -06: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
Steven Vascellaro
843bbc8e2d
ISOProperties: Rename Date to Build Date
2014-12-08 16:22:12 -05: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
Unknown W. Brackets
b19cff8a08
OGL: Use a fixed VAO for attributeless rendering.
...
Instead of abusing whatever VAO is previously bound, which might have
enabled arrays.
Only used in one instance currently, which fixes a crash with older
NVIDIA drivers.
2014-12-06 19:27:49 -08: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
Tillmann Karras
ddebdb61c4
UnitTests: fix register symbol name in AVX tests
2014-12-06 22:28:03 +01:00
Tillmann Karras
986d19b9d5
x64Emitter: fix bitwise AVX opcodes
...
The reason this didn't break is that bitwise instructions like VPAND,
VANDPS, and VANDPD do the exact same thing. The only difference is the
data type they are intended for.
2014-12-06 22:28:03 +01:00
Fiora
3d12849967
JIT: fix snan/qnan handling in float loads/stores
...
Also simplify the conversion code with some suggestions by flacs; might even
be slightly faster now despite handling more cases.
2014-12-06 13:07:24 -08:00
Benjamin Przybocki
9d0606d2c1
Remove RunningGamecube
...
It's not being used and gives a warning on Unix/Unix-like machines.
2014-12-06 12:50:24 -06:00
Rodolfo Bogado
c2de38c115
use SAFE_RELEASE to make code cleaner
2014-12-06 10:46:15 -03:00
Rodolfo Bogado
817d025328
small spacing fixes
2014-12-05 23:54:34 -03:00
Rohit Nirmal
fa501e9d8d
Fix -Wshadow warning.
2014-12-05 20:33:24 -06:00
Lioncash
9bcadc8029
Common: Remove locale based functions from CommonFuncs.
...
Since %f isn't used anymore in the shader generators, these can go.
2014-12-05 20:55:29 -05:00
skidau
f7a16eca84
Merge pull request #1437 from skidau/Remove-DSP-thread-option
...
Removed the DSP LLE on separate thread option.
2014-12-06 10:54:53 +11:00
skidau
757077e6fb
Merge pull request #1654 from skidau/Fix-TLB-Cache
...
TLB cache fixes
2014-12-06 10:41:21 +11:00
skidau
d485acdb51
Stored a copy of the PTE in the TLB like the real hardware does.
...
Updated PTE.R bit on Write and Instruction fetch.
Added code to read the PTE from MEM2 if the PTE is stored there.
Refactored the two hash functions to reduce code duplication.
Updated save state version.
2014-12-06 10:28:34 +11:00
Rodolfo Bogado
c7bb8fba9e
Added support test for bbox and some naming corrections
2014-12-05 18:51:23 -03:00
Rodolfo Bogado
93b4540e19
Add HW bounding Box support to d3d backend
2014-12-05 15:03:24 -03:00
Markus Wick
f00ad2e65c
Merge pull request #1656 from kayru/orthographic_projection_epsilon
...
Moved projection epsilon back to g_fProjectionMatrix[15]
2014-12-05 17:34:50 +01:00
skidau
997681b65a
Removed the tag check in InvalidateTLBEntry. All four TLB entries are always cleared on each invalidate command.
...
Initialised the TLB cache to start from a consistent state on reset.
2014-12-05 19:56:45 +11:00
Yuriy O'Donnell
7ba417b73d
Moved projection epsilon back to g_fProjectionMatrix[15], which essentially scales vertices instead of just biasing.
2014-12-05 09:41:41 +01:00
skidau
693f413364
Updated C bit on TLB cache hits.
...
Added TLB state to the save state file.
2014-12-05 14:29:13 +11:00
Lioncash
c617b6c722
Merge pull request #1652 from lioncash/delete
...
DiscIO: Remove some explicit deletes
2014-12-04 19:51:21 -05:00
Ryan Houdek
a381d25d76
Merge pull request #1651 from Armada651/resolve-layer
...
FramebufferManager: Bind only the first framebuffer layer when the EFB only has one layer.
2014-12-04 17:52:22 -06:00
Jules Blok
42bb48bd46
FramebufferManager: Bind only the first framebuffer layer when the EFB only has one layer.
2014-12-05 00:36:10 +01:00
Tillmann Karras
8d9a30b370
WiimoteReal: use inheritance instead of #ifdef
2014-12-05 00:16:41 +01:00
Lioncash
f14f0caea6
DiscIO: Remove some explicit deletes
2014-12-04 11:39:20 -05:00
Tillmann Karras
94197b604e
WiimoteReal: inline unnecessary function
2014-12-04 17:09:12 +01:00
Tillmann Karras
d087cb95cd
WiimoteReal: shuffle code around
2014-12-04 17:09:12 +01:00
Tillmann Karras
a1e974fedf
WiimoteReal: add m_ prefix to member variables
2014-12-04 17:09:12 +01:00
Markus Wick
02dae1d1ba
VideoCommon: fix include order
2014-12-04 15:15:16 +01:00
Rohit Nirmal
e7ddaf86f5
Fix building with PCH disabled.
2014-12-03 22:01:12 -06:00
skidau
7bc78827ed
Merge pull request #1574 from degasus/profiler
...
Common: Add a built-in profiler
2014-12-04 13:22:31 +11:00
Lioncash
4c09f3ab05
Merge pull request #1637 from lioncash/dim
...
FrameTools: Fix dimming of controller settings menu item
2014-12-03 21:20:58 -05:00
skidau
b1b7ae9f6a
Merge pull request #1644 from FioraAeterna/fixtlb
...
TLB: fix backwards exception check
2014-12-04 13:19:03 +11:00
skidau
4a424e93a4
Merge pull request #1622 from FioraAeterna/texmtxfloat4
...
Vertex loader: optimize texmtx_write_float4
2014-12-04 13:10:22 +11:00
Rohit Nirmal
ac22a2184b
Fix building with PCH disabled.
2014-12-03 19:59:47 -06:00
Ryan Houdek
d8cb976bba
Merge pull request #1639 from Sonicadvance1/aarch64_improvements
...
Aarch64 improvements
2014-12-03 19:15:55 -06:00
Lioncash
692f4496ba
Merge pull request #1646 from lioncash/header
...
Jit: Remove unnecessary include
2014-12-03 20:12:01 -05:00
Lioncash
c715a4f8ef
Jit: Remove unnecessary include
2014-12-03 17:30:57 -05:00
skidau
bfc62d2ada
Merge pull request #1366 from kayru/orthographic_projection_epsilon
...
Added projection matrix epsilon that fixes depth clipping issues in some games
2014-12-04 09:10:36 +11:00
magumagu
6b34b1b0d0
JIT: remove unnecessary uses of MMU flag.
2014-12-03 14:06:06 -08:00
magumagu
c3b36de51e
HLE code replacement: remove unused code.
2014-12-03 14:05:05 -08:00
Lioncash
241c94d337
Merge pull request #1645 from magumagu/jit-unused-flag
...
JIT: remove unused flag.
2014-12-03 16:13:31 -05:00
Lioncash
88cd27bbca
Merge pull request #1392 from kayru/d3d_viewport_depth
...
D3D: Replaced shader-based depth range remap with viewport
2014-12-03 14:49:30 -05:00
Fiora
e3578683e3
Vertex loader: optimize texmtx_write_float4
...
Seems to be pretty high in the profile in some geometry-heavy games like The
Last Story, and the compiler-generated assembly is terrifyingly bad, so
SSE-ize it.
2014-12-03 11:17:05 -08:00
Fiora
a4c6cf85e9
TLB: fix backwards exception check
2014-12-03 06:00:23 -08:00
skidau
b9b3277fb5
Merge pull request #1618 from JosJuice/dvd-low-open-partition
...
Fix Wii disc partitions
2014-12-03 21:24:56 +11:00
JosJuice
a2566bd397
DiscIO: Safety check when allocating memory for TMD
2014-12-03 10:54:09 +01:00
Ryan Houdek
5c3bbf7409
Works around broken Intel Windows video drivers.
...
Just use regular boolean negation in our pixel shader's depth test everywhere except on Qualcomm.
This works around a bug in the Intel Windows driver where comparing a boolean value against true or false fails but boolean negation works fine.
Quite silly.
Should fix issues #7830 and #7899 .
2014-12-03 00:33:42 -06:00
Ryan Houdek
71e4e67ae1
[AArch64] Only flush registers that are needed with interpreter fallback.
...
We try to keep as many registers as possible in callee saved registers, so if we have guest registers in the correct registers and the interpreter
call we are falling back to doesn't need the registers then we can dump just those ones. Which means we don't have to dump 100% of our register state
when falling to the interpreter.
2014-12-02 21:08:38 -06:00
Ryan Houdek
71b77f3173
[AArch64] Makes some integer instructions more clear what they're doing.
...
ComputeRC was a bit unclear by using 64bit registers for setting the immediate and then calling SXTW on a 6b4it register which is just a bit obscure.
When the source register is an immediate in cntlzwx, just use the built in GCC function instead of our own implementing for counting leading zeros.
2014-12-02 21:08:38 -06:00
Ryan Houdek
8dfb8d8ad5
[AArch64] Implements HLE function injection
2014-12-02 21:08:38 -06:00
Ryan Houdek
51ad798105
[AArch64] Implements block linking.
...
Before block linking was enabled but it wasn't ever implemented.
Implements link blocks and destroy block functions and moves the downcount check in the WriteExit function so it doesn't get overwritten when linking.
2014-12-02 21:08:38 -06:00
Ryan Houdek
ca04601b14
[AArch64] Fixes the dispatcher
...
Changes the dispatcher to make sure to we are saving the LR(X30) to the stack. Also makes sure to keep the stack aligned.
AArch64's AAPCS64 mandates the stack to be quad-word aligned.
Fixes the dispatcher from infinite looping due to a downcount check jumping to the dispatcher. This was because checking exceptions and the state
pointer wouldn't reset the global conditional flags. So it would leave the timing/exception, jump to the start of the dispatcher and then jump back
again due to the conditional branch.
2014-12-02 21:08:38 -06:00
Ryan Houdek
c3c80e9440
[AArch64] Improves the register cache.
...
Removes the REG_AWAY nonsense I was doing. I've got to get the JIT more up to speed before thinking of insane register cache things.
Also fixes a bug in immediate setting where if the register being set to an immediate already had a host register tied to it then it wouldn't free the
register it had. Resulting in register exhaustion.
2014-12-02 21:08:38 -06:00
Ryan Houdek
2c39d4044d
[AArch64] Add loadstore paired emitter instructions.
2014-12-02 21:08:34 -06:00
Lioncash
22209bcc62
Merge pull request #1620 from Armada651/ogl-msaa-array
...
OGL: Don't use texture arrays for MSAA.
2014-12-02 20:50:09 -05:00
Jules Blok
40920b3823
OGL: Don't use texture arrays for MSAA.
...
This solves a performance regression on AMD cards.
We don't currently support stereoscopy for MSAA anyway.
2014-12-03 01:39:43 +01:00
Lioncash
8f08601499
FrameTools: Fix dimming of controller settings menu item
2014-12-02 19:18:15 -05:00
degasus
94d9d138d9
Common: Add a built-in profiler
2014-12-03 00:50:41 +01:00
Ryan Houdek
08660c89ad
Fix register usage detection in PPCAnalyst.
...
lmw/stmw weren't properly setting input and output registers since they use multiple registers.
dcbz was just missing a flag in the instruction tables.
2014-12-02 16:12:33 -06:00
Ryan Houdek
e40f129fdd
Merge pull request #1635 from FioraAeterna/fixprofiler2
...
JIT: fix profiler call
2014-12-02 14:39:25 -06:00
Stevoisiak
4e87cb578e
Change DSP settings to Audio settings
2014-12-02 13:50:00 -05:00
Fiora
863fb91cad
JIT: fix profiler call
...
Sometimes this seems to require a 64-bit offset, so use CallFunction instead
2014-12-02 10:17:58 -08:00
Lioncash
734aac54a8
Merge pull request #1631 from lioncash/id
...
DolphinWX: Specify wxID_ANY where -1 is used in controls
2014-12-02 12:01:29 -05:00
Augustin Cavalier
726b50e06e
Fix HiDPI loading logic.
2014-12-02 09:45:00 -05:00
Augustin Cavalier
a5cfe85c8d
Support HiDPI flags & rating images.
...
There aren't any yet, it's up to up to Stevoisiak and MaJoR to create
them :)
2014-12-02 09:44:56 -05:00
Augustin Cavalier
320c5f2545
Cast the result of GetSize() to "unsigned long long".
...
Squelches a warning on Mac OS X.
2014-12-02 09:44:52 -05:00
Augustin Cavalier
43473e09d1
Implement the "Rating" column.
...
Looks like I forgot to do this...
2014-12-02 09:44:47 -05:00
Augustin Cavalier
1d4b3a90eb
Micro-optimize RenderWidgetHasFocus().
2014-12-02 09:44:31 -05:00
JosJuice
bbd7370d82
DVDInterface: Tweak speeds
2014-12-02 12:27:03 +01:00
Lioncash
10bfbebc78
DolphinWX: Specify wxID_ANY where -1 is used in controls
2014-12-01 23:02:50 -05:00
Lioncash
54f1e3a3c1
Merge pull request #1630 from lioncash/unused
...
WII_IPC_HLE_Device_fs: Remove unused macro constant
2014-12-01 21:49:07 -05:00
Ryan Houdek
64124a0d21
Merge pull request #1628 from lioncash/tl
...
InputConfigDiag: Clean up dialog title translation handling
2014-12-01 20:40:49 -06:00
skidau
b34c80d138
Merge pull request #1626 from kamiyo/fix-wiimote-volume-divisor
...
Fix Wiimote speaker divisor for format 0x00
2014-12-02 12:51:15 +11:00
Lioncash
11e6d75ea6
WII_IPC_HLE_Device_fs: Remove unused macro constant
2014-12-01 19:33:53 -05:00
Lioncash
af5b1063bf
Merge pull request #1619 from FioraAeterna/removepxor
...
JIT: remove unnecessary pxor in paired stores
2014-12-01 15:50:31 -05:00
Lioncash
27540ba3fb
InputConfigDiag: Clean up dialog title translation handling
2014-12-01 15:47:38 -05:00
comex
05cb1ff136
Remove runtime OS X version check.
...
My recent update to that check broke compilation on 10.9:
https://code.google.com/p/dolphin-emu/issues/detail?id=7900
However, on further review, the check isn't actually necessary. If the
OS X version is older than LSMinimumSystemVersion in Info.plist, the
system will generally refuse to run the binary in the first place. You
can try to launch it via a terminal, but at that point it's the user's
problem if it crashes.
2014-12-01 14:21:24 -05:00
kamiyo
e8c393b00f
Fix wiimote speaker divisor.
...
Playing with the wiimote volume in the Wii menu in-game, I found that the range for m_reg_speaker.volume is 0 -127, not 0 - 64.
2014-12-01 13:06:53 -05:00
Rohit Nirmal
a53c5217bb
Common: Remove goto in MemArena.
2014-12-01 11:47:37 -06:00
Rohit Nirmal
e3abad234c
Common: Remove gotos in FileUtil, and replace FILE*s with IOFile/ifstreams.
2014-12-01 11:47:36 -06:00
Lioncash
21d039059e
ControllerConfigDiag: Fix Linux builds
2014-12-01 03:53:32 -05:00
Lioncash
5e2888bff6
DolphinWX: Add new icon for the controller menu.
2014-12-01 03:50:44 -05:00
Lioncash
896304fd07
ControllerConfigDiag: Disable controller type changes if netplay or a movie is active.
2014-12-01 03:36:09 -05:00
Lioncash
7b54d8ad10
ControllerConfigDiag: Remove now obsolete TODOs
2014-12-01 03:36:08 -05:00
Lioncash
cad8ae3be1
WiimoteConfigDiag: Rename to ControllerConfigDiag.
2014-12-01 03:36:07 -05:00
Lioncash
e801fcead9
WiimoteConfigDiag: Unify controller menu with the GameCube controllers.
2014-12-01 03:36:04 -05:00
Lioncash
00dcaba37d
WiimoteConfigDiag: Size the config buttons correctly
2014-12-01 03:36:02 -05:00
Lioncash
22c547f6fb
WiimoteConfigDiag: Remove trailing whitespace
2014-12-01 03:36:01 -05:00
Lioncash
1791897815
WiimoteConfigDiag: Fix assertion problems on non-OSX OSes.
2014-12-01 03:35:59 -05:00
Lioncash
94d033020e
WiimoteConfigDiag: Split UI sizer creation into their own functions.
2014-12-01 03:35:58 -05:00
Lioncash
d17a054e75
WiimoteConfigDiag: Move GameCube controller settings over
...
Beginning of unifying the controller settings. No functionality yet.
2014-12-01 03:35:57 -05:00
Lioncash
6df67bf38f
Merge pull request #1597 from unknownbrackets/gcz-tweaks
...
Tweaks to gcz compression / decompression
2014-12-01 03:18:24 -05:00
Lioncash
f9ba7a0fb2
Merge pull request #1625 from unknownbrackets/android-minor
...
Android: Ignore some generated files
2014-12-01 02:54:31 -05:00
Unknown W. Brackets
86ebe3916e
Android: Ignore some generated files.
...
/obj/ is used by ndk debugging (gdb) in some scenarios.
2014-11-30 22:52:22 -08:00
Ryan Houdek
4946c6876d
Merge pull request #1607 from Sonicadvance1/armv7-optimizations
...
A whole bunch of ARMv7 optimizations and minor fixes.
2014-11-30 15:48:27 -06:00
Ryan Houdek
414e36d8c9
Merge pull request #1258 from FioraAeterna/avoidfmulround
...
JIT: optimize single-precision ops based on knowledge of their inputs
2014-11-30 15:47:34 -06:00
Ryan Houdek
db9cd8e3d7
Merge pull request #1615 from Sonicadvance1/fix_cpu_helper
...
[Android] Removes CPU architecture number from CPU helper.
2014-11-30 15:43:47 -06:00
Ryan Houdek
d3c278cc33
Merge pull request #1610 from rohit-n/sign-compare
...
VideoCommon: Fix -Wsign-compare warnings.
2014-11-30 15:42:34 -06:00
Ryan Houdek
7c38d04a40
Merge pull request #1614 from Sonicadvance1/fix_aarch64_bswap
...
[AArch64] Workaround builtin byteswap bug.
2014-11-30 15:41:35 -06:00
Ryan Houdek
4a687f2641
Merge pull request #1616 from Sonicadvance1/asimd_is_neon
...
[Android] Fix NEON detection with AArch64
2014-11-30 15:41:28 -06:00
Fiora
644a661bf1
JIT: remove unnecessary pxor in paired stores
...
I don't think this is necessary anymore?
2014-11-30 08:11:45 -08:00
magumagu
a09283cf9f
ISOProperties: show all paritions on property page.
2014-11-30 16:38:15 +01:00
magumagu
4bb48d09dd
DiskIO: Clean up GetTMD() API.
2014-11-30 16:38:13 +01:00
magumagu
b1df4e5986
Make DVDLowOpenPartition actually change partitions.
2014-11-30 16:01:05 +01:00
Ryan Houdek
50582b1d74
[Android] Fix NEON detection with AArch64
...
On AArch64 asimd is the new name for NEON.
This fixes a message on application start in Android about the device not supporting NEON.
If it's AArch64 then it supports NEON!
2014-11-30 01:33:11 -06:00
Ryan Houdek
c27ee21dd9
[AArch64] Workaround builtin byteswap bug.
...
The builtin byteswap routines cause critical failure on AArch64 when built with the Android toolchain.
I didn't experience this issue when building for Linux using a local qemu chroot.
Seems to be only an issue with the Android toolchain when building AArch64.
Use our generic version instead.
2014-11-30 01:23:03 -06:00
Ryan Houdek
496f9d678a
[Android] Removes CPU architecture number from CPU helper.
...
This was '7' on all ARMv7 devices but was 'AArch64' on the Nexus 9.
Trying to cast to integer was causing a crash. We don't even use this so may as well as wipe it.
Also adds Nvidia to the CPU implementers list.
2014-11-30 01:17:05 -06:00
Ryan Houdek
b689954a71
Update the android cmake toolchain to latest.
...
To properly support 64bit architectures and clang we need the latest version.
2014-11-30 01:05:37 -06:00
Ryan Houdek
cd13d2d66f
[ARM32] Fix a couple bugs in the paired loadstore routines.
...
This code was obviously wrong, we were sign extending 8 bit unsigned values and loading from the wrong offset as well.
This fixes a bug in Muramasa where some colours were going insane.
2014-11-30 04:10:17 +00:00
Ryan Houdek
b848365f78
[ARM32] Minor optimization in paired loadstores.
...
When the offset can fit in the instruction encoding make sure to do so.
2014-11-30 04:10:16 +00:00
Ryan Houdek
52c6fb180b
[ARM32] Moves loadstore extend flag to backpatch code.
2014-11-30 04:10:16 +00:00
Ryan Houdek
32dc105aa3
[ARM32] Eat a register to store our memory base.
...
This saves at least two instructions per fastmem operation.
2014-11-30 04:10:16 +00:00
Ryan Houdek
e2f8286415
[ARM32] Adds unsigned compares.
...
Superscedes PR #1131 .
Optimizes cmpi a bit.
2014-11-30 04:10:16 +00:00
Ryan Houdek
581ab9edec
[ARM32] cntlzwx optimization if source is immediate
2014-11-30 04:10:16 +00:00
Ryan Houdek
9c82adb14f
[ARM32] negx optimization if source is immediate
2014-11-30 04:10:15 +00:00
Ryan Houdek
1dbb39f791
[ARM32] srawix optimization when source is an immediate.
2014-11-30 04:10:15 +00:00
Ryan Houdek
fca0fd9dd5
[ARM32] rlwimix and rlwnmx optimizations.
2014-11-30 04:10:15 +00:00
Rohit Nirmal
239eaf122a
VideoCommon: Fix -Wsign-compare warnings.
2014-11-29 17:40:14 -06:00
magumagu
c693cf46e9
JIT: remove unused flag.
2014-11-29 12:41:36 -08:00
Fiora
72c96c20d3
JIT: more optimizing of float ops based on known input characteristics
...
If the inputs are both float singles, and the top half is known to be identical
to the bottom half, we can use packed arithmetic instead of scalar to skip
the movddup.
This is slower on a few rather old CPUs, plus the Atom+Silvermont, so detect
Atom and disable it in that case.
Also avoid PPC_FP on stores if we know that the output came from a float op.
2014-11-29 11:33:11 -08:00
Fiora
4e0591cdf1
JIT: float instruction attribute fixes, fix binding mistakes
...
These instructions modify only the bottom halves of the output register,
so the output register needs to be treated as an input too.
2014-11-29 11:30:52 -08:00
Fiora
8d039a77af
JIT: minor cleanup, avoid MOVSD where MOVAPD will do
...
Avoids false dependencies.
2014-11-29 11:30:51 -08:00
Fiora
7df50b0710
JIT: skip weird fmul rounding if the input is known to be single precision
2014-11-29 11:30:51 -08:00
Yuriy O'Donnell
36b886cb80
D3D: Viewport min and max depth is now clamped to [0..1] range
2014-11-29 11:42:53 +01:00
Yuriy O'Donnell
a886d8a8ee
Renamed DEPTHPARAMS to PIXELCENTERCORRECTION
...
This shader constant was previously used for depth remapping in D3D and for pixel center correction. Now it only serves one purpose and the new name makes it clear.
2014-11-29 11:42:52 +01:00
Yuriy O'Donnell
1fe3d07cbd
D3D: Removed somewhat mysterious comment
...
It would be good to know which games exactly exhibited the issue.
2014-11-29 11:11:28 +01:00
Yuriy O'Donnell
cc2227fbc3
D3D: Replaced shader-based depth range remap with viewport
...
This fixes UI rendering in some games mentioned in https://code.google.com/p/dolphin-emu/issues/detail?id=7785
2014-11-29 11:11:28 +01:00
Ryan Houdek
38dfc970df
Fixes OpenGL ES rendering.
...
sampler2DArray doesn't have a default precision, so we need to set it ourselves.
2014-11-29 01:27:47 -06:00
Ryan Houdek
f588a82b9a
Merge pull request #1294 from FioraAeterna/noaccuratefcmp
...
JIT: remove "accurate fcmp" option
2014-11-28 22:48:11 -06:00
Ryan Houdek
1aed2542c7
Merge pull request #1602 from FioraAeterna/fixforce25bitimprecise
...
JIT: fix Force25BitPrecision with accurate single precision mode off
2014-11-28 22:42:44 -06:00
Ryan Houdek
e7daf6b3bc
Merge pull request #1606 from FioraAeterna/vertexloadercall
...
Vertex loader: use ABI_CallFunction
2014-11-28 22:40:06 -06:00
Ryan Houdek
5003618587
Merge pull request #1605 from FioraAeterna/fixcrormerge
...
JIT: fix fcmp+cror merging bug
2014-11-28 22:39:13 -06:00
Ryan Houdek
1a85df0459
Merge pull request #1603 from FioraAeterna/nofastinterrupts
...
JIT: remove "fast interrupts" option set and then used nowhere
2014-11-28 22:37:52 -06:00
Ryan Houdek
2d2baec65d
Merge pull request #1595 from degasus/master
...
OGL: require GL version >= 3.0
2014-11-28 22:37:35 -06:00
Fiora
7acd5eba17
Vertex loader: use ABI_CallFunction
...
Should result in faster/shorter code sequences on platforms where generated
code is close enough to the code segment (e.g. Windows).
2014-11-28 20:26:00 -08:00
Ryan Houdek
ec3d6da7b5
[ARM32] Remove conditional execution from store instructions.
2014-11-29 02:44:17 +00:00
Ryan Houdek
6c399ce9ae
[ARM32] Removes a block of conditional execution in the dispatcher.
2014-11-29 02:42:30 +00:00
Ryan Houdek
e358696d46
[ARM32] Removes conditional execution from ARMv7's Jit function.
2014-11-29 02:42:22 +00:00
Lioncash
c2e5715034
Merge pull request #1601 from RachelBryk/wiimote-hotkey2
...
Fix wiimote connect hotkeys.
2014-11-28 19:50:13 -05:00
Fiora
d42305aba0
JIT: fix fcmp+cror merging bug
...
Destination CR bit needs to be cleared if it's not one of the sources.
2014-11-28 16:11:04 -08:00
Jasper St. Pierre
854f6b8688
HW: Poll system input from system timers
...
Rather than playing terrible hacks to determine the start of input
frames, just update system input periodically. Specifically, every
60th of a second.
2014-11-28 10:56:11 -08:00
Jasper St. Pierre
f3b739341e
HW: Remove UpdateOutput
...
All of the rumble interfaces are now immediate mode.
2014-11-28 10:54:04 -08:00
Jasper St. Pierre
86e4da2c07
ForceFeedback: Apply immediately as well
2014-11-28 10:54:04 -08:00
Jasper St. Pierre
1958a10b6f
XInput: Apply immediately as well
2014-11-28 10:54:04 -08:00
Jasper St. Pierre
1b3d0173f5
SDL: Apply updates immediately rather than going through UpdateOutput
...
We're going to remove UpdateOutput as it's redundant, and horribly
complicates the code.
2014-11-28 10:54:03 -08:00
Jasper St. Pierre
1cee3b8cc6
WiimoteEmu: Hardcode acceleration calibration values
...
Now we don't have any runtime calibration at all.
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
5f6cfd67b7
Nunchuk: Hardcode Nunchuk accelerometre calibration values as well
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
211eafc130
Nunchuk: Hardcode Nunchuk stick calibration values
...
The game can never change these, so there's no reason to make it
dynamic. Just put the constants in the code.
While we're at it, take the time to clean up the code and also
and document several of the hacks we're doing inside to make the code
clearer to understand.
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
64014d1dcd
Nunchuk: Use the accel_cal struct directly in nu_cal
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
cd95002356
WiimoteHid: Remove unused structs
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
fca9b491cc
WiimoteEmu: Remove Spy method
...
This is the only use for a lot of unused methods and structs, and it's a
poorly written mess that doesn't even compile. Just remove it so we can
clean up the rest of a lot of code.
2014-11-28 10:51:30 -08:00
Jasper St. Pierre
e43ad58a3a
GCPad: Clean up Motor/Rumble interfaces
...
Remove the duplication here and just have one Rumble interface that
takes a single strength parameter.
2014-11-28 10:50:45 -08:00
Jasper St. Pierre
f2787f620e
ControllerInterface: Make UpdateInput / UpdateOutput return void
...
The return values here have never been checked, so it doesn't make sense
to return a value to begin with.
2014-11-28 10:50:45 -08:00
Jasper St. Pierre
61fcfc4bf2
ControllerInterface: Remove unused ClearInputState
2014-11-28 10:50:45 -08:00
Jasper St. Pierre
367a42dcfd
ControllerInterface: Implement dummy UpdateInput / UpdateOutputs
...
Make the implementation here a bit easier.
2014-11-28 10:50:45 -08:00
Jasper St. Pierre
0c056c6411
DInput: Remove the unsupported Lights output
...
The LEDs feature doesn't actually do anything: the SetState method is
entirely commented out.
2014-11-28 10:50:45 -08:00
Jasper St. Pierre
b5d4e8d37e
ControllerInterface: Remove unused "force" parameter
...
I'm not sure when this nonsense of forcing locking the mutex when it's
already taken should have ever taken effect, but let's be thankful it
isn't now. That was a badly worded sentence.
2014-11-28 10:50:45 -08:00
Jasper St. Pierre
6aa1a59ee8
SI: Clean up controller-like devices with subclassing
...
This takes the giant mess of controller-like devices (dance mat and
steering wheel) down to something more manageable, similar to how
the Donkey Konga bongo controller works.
Based-on-a-patch-by: comex <comexk@gmail.com>
2014-11-28 10:50:45 -08:00
Ryan Houdek
ce059769f6
Merge pull request #1439 from Armada651/ogl-stereo-3d
...
OGL: Stereoscopic 3D Support
2014-11-28 11:45:38 -06:00
Fiora
41f5ef3304
JIT: remove "fast interrupts" option set and then used nowhere
2014-11-28 06:42:40 -08:00
Fiora
3e893913dd
JIT: fix Force25BitPrecision with accurate single precision mode off
...
Doesn't affect anything now, but it's more correct (and should make setting
AccurateSinglePrecision to false work properly now).
2014-11-28 06:39:47 -08:00
Rachel Bryk
df9ace0985
Fix wiimote connect hotkeys.
2014-11-28 08:55:19 -05:00
Fiora
561e96b080
JIT: clear FIFO write addresses when block cache is cleared
...
Fixes a spurious FIFO write check which caused a flags locking assert in
Splinter Cell: Double Agent.
2014-11-27 17:15:01 -08:00
Unknown W. Brackets
815b7bec96
DiscIO: Change a memset() to zero initialization.
2014-11-27 11:12:17 -08:00
Unknown W. Brackets
f54bf81520
DiscIO: Avoid zeroing buffer when compressing gcz.
...
This saves 6% time.
2014-11-27 08:58:09 -08:00
Unknown W. Brackets
2635e7d9ea
DiscIO: Decompress to file using a larger buffer.
...
This improves performance by around 20% for me, and the memory use impact
is negligible considering Dolphin is otherwise unusable.
2014-11-27 08:34:44 -08:00
Unknown W. Brackets
f2f83a0c60
DolphinWX: Allow cancelling gcz compression.
2014-11-27 07:53:28 -08:00
Jules Blok
6d51455195
VideoConfig: Further optimize convergence and separation values and update their descriptions.
...
Previous convergence distance was much too large.
2014-11-27 16:19:26 +01:00
Jules Blok
b3c6602d06
OGL: Only show the options when stereoscopy was enabled in the INI file.
...
We'll enable the stereoscopy options globally when it is ready for release.
2014-11-27 16:17:37 +01:00
Augustin Cavalier
74291017e5
SystemInfo: various cleanup.
...
* Rename the copy slot to match naming convention elsewhere
* Remove the Mac 10.7/10.8 detection as we don't support it now
2014-11-26 15:40:38 -05:00
Augustin Cavalier
59c4ccfa75
GameGrid: enable uniform item sizes.
...
Looks much nicer this way.
2014-11-26 15:37:12 -05:00
degasus
c63a38088a
OGL: require GL version >= 3.0
...
This "fix" a crash because of glVertexAttribI only available on gl3+ contexts.
2014-11-26 21:33:47 +01:00
Augustin Cavalier
9180257c4a
"Gamelist view style" -> "List style"
...
* Cleaner & more concise.
* Also add some "Alt" shortcuts
2014-11-26 15:32:55 -05:00
Augustin Cavalier
ca8316ac54
Remove note about reusing the render widget.
...
This is actually not possible due to how Qt manages child widgets...
2014-11-26 15:30:35 -05:00
Rohit Nirmal
84b060d313
Fix building with PCH disabled.
2014-11-26 10:21:04 -06:00
Lioncash
25492f3d70
Merge pull request #1593 from lioncash/arm
...
Arm(64)Emitter: Make some variables static
2014-11-26 07:56:21 -05:00
Lioncash
e9b09a4c9f
Arm(64)Emitter: Make some variables static
2014-11-25 23:27:48 -05:00
skidau
b806680eac
Merge pull request #1522 from jcowgill/sfml-2.1
...
Update / Port to SFML 2.1
2014-11-26 12:33:03 +11:00
skidau
69bd1562e2
Merge pull request #1561 from comex/10.9
...
Update OS X Requirement to 10.9 + fixes
2014-11-26 12:31:28 +11:00
Fiora
3be31ca2c8
JIT: remove "accurate fcmp" option
...
This doesn't seem to be necessary anymore now that FPRF is implemented in the
JIT. Technically, this isn't the same as before, since the JIT doesn't
implement the fcmp exception semantics, but as far as testing has shown, this
doesn't seem necessary.
This should make games that use FPRF a few percent faster (e.g. F-Zero GX)
since fcmpx no longer has to be fallbacked.
2014-11-25 09:54:40 -08:00
Lioncash
4afb85ef33
Merge pull request #1584 from degasus/master
...
OGL: also show driver warnings on release builds
2014-11-25 12:41:47 -05:00
Lioncash
aa92797f93
Merge pull request #1582 from Stevoisiak/newImprovedFormatting
...
More formatting and consistency fixes
2014-11-25 12:41:32 -05:00
Lioncash
dcdd4e51f6
Merge pull request #1589 from lioncash/x11
...
VideoOGL: Move X11 wxWidgets utilities to DolphinWX
2014-11-25 12:41:00 -05:00
James Cowgill
a93f86330e
Port dolphin to SFML 2.1
2014-11-25 16:44:38 +00:00
Pringo
217ca9ba2b
http -> https for Wiki Seach
2014-11-24 22:06:41 -08:00
comex
b36b55cfcb
Upgrade AudioUnit API usage.
...
weird that such a simple change doesn't seem to have any obvious
documentation on Apple's website or elsewhere...
2014-11-25 00:42:21 -05:00
comex
759ea3bce7
Update Main.cpp version checks.
2014-11-25 00:27:13 -05:00
comex
e631f68c1b
Switch from deprecated Carbon idle tickling to Cocoa power assertions.
...
Also, this avoids keeping the system awake if a game is not being
played.
Frankly, I don't know what the point of precisely tracking these things
is, but that's how the API works. Feel free to add analogous
functionality on other platforms.
2014-11-25 00:27:13 -05:00
comex
aae234c5d7
Fix name conflict between SoundTouch BOOL and ObjC BOOL.
2014-11-25 00:27:13 -05:00
comex
245ff601b7
Merge pull request #1552 from waddlesplash/dolphin-qt
...
DolphinQt: GameList!
2014-11-25 00:24:32 -05:00
Lioncash
c0fd319295
VideoOGL: Move X11 wxWidgets utilities to DolphinWX
2014-11-24 21:15:52 -05:00
Gabriel Corona
5b9aeaa686
Use CLI argument for Linux perf JIT support
2014-11-24 23:30:29 +01:00
Gabriel Corona
9722ae2a5d
Move the JIT registration logic in its own file
...
Move the JITed function/basic-block registration logic out of the CPU
subsystem in order to add JIT registration to JITed DSP and
Video/VertexLoader code.
This necessary in order to add /tmp/perf-$pid.map support to other
JITed code as they need to write to the same file.
2014-11-24 23:18:18 +01:00
Gabriel Corona
cdce5ace25
Add Linux perf JIT support (/tmp/perf-$pid.map)
...
'perf' is the standard builtin tool for performance analysis on recent
Linux kernel. Its source code is shipped within the kernel repository.
'perf' has basic support for JIT. For each process, it can read a file
named /tmp/perf-$PID.map. This file contains mapping from address
range to function name in the format:
41187e2a 1a EmuCode_804a33fc
with the following entries:
1. beginning of the range (hexadecimal);
2. size of the range (hexadecimal);
3. name of the function.
We supply the PowerPC address of the basic block as function name.
Usage:
DOLPHIN_PERF_DIR=/tmp dolphin-emu &
perf record -F99 -p $(pgrep dolphin-emu) --call-graph dwarf
perf script | stackcollapse-perf.pl | grep EmuCode__ | flamegraph.pl > profile.svg
Issue: perf does not have support for region invalidation. It reads
the file in postprocessing. It probably does not work very well if a
JIT region is reused for another basic block: wrong results should be
expected in this case. Currently, nothing is done to prevent this.
2014-11-24 23:18:18 +01:00
Stevoisiak
6da394a4d0
More formatting and consistency fixes
2014-11-24 17:16:59 -05:00
Rohit Nirmal
4d931c16ad
Silence a few "zero as null pointer" warnings.
2014-11-24 12:36:46 -06:00
Jules Blok
145e0cc84c
OGL: Display the stereoscopy support warning before the stereo setting is reset.
...
Previously the message would never display, because stereoscopy would be turned off before the warning.
2014-11-24 15:11:00 +01:00
Jules Blok
a04edbcb9a
VideoConfig: Add separation and convergence modifiers to the game ini.
2014-11-24 15:10:52 +01:00
Jules Blok
f64aadd362
VideoConfig: Limit the StereoMonoEFBDepth option to the game ini and introduce a separate section for it.
2014-11-24 12:25:35 +01:00
Jules Blok
0f4d59f612
VideoConfig: Rename StereoFocalLength to StereoConvergence.
2014-11-24 11:58:38 +01:00
Jules Blok
9b2cd82da5
GeometryShaderGen: Set the properties of the VS_OUTPUT struct in the uid.
2014-11-23 14:30:12 +01:00
degasus
ed9f258b27
GeometryShader: Don't read from output variables
2014-11-23 14:30:12 +01:00
Jules Blok
106df04e8e
GeometryShaderGen: Declare the vertex array size.
2014-11-23 14:30:12 +01:00
Jules Blok
422125c1a9
GeometryShaderGen: Add comments.
2014-11-23 14:30:12 +01:00
Jules Blok
a565317a6a
VideoConfigDiag: Update convergence description.
...
The switch to the Nvidia formula reversed this setting.
2014-11-23 14:30:12 +01:00
Jules Blok
72c01e3083
VideoConfigDiag: Remove value labels.
2014-11-23 14:30:12 +01:00
Jules Blok
24e4de3643
VideoConfig: Move stereoscopy settings to the Enhancements section.
2014-11-23 14:30:12 +01:00
Jules Blok
6e62dd3415
Add stereoscopy hotkeys.
2014-11-23 14:30:12 +01:00
Jules Blok
21eabc1b9d
OGL: Add warning message when stereoscopic 3D is enabled but unsupported.
2014-11-23 14:27:40 +01:00
Jules Blok
0f63186371
TextureCache: Add "Mono EFB Depth Copy" stereoscopy option.
2014-11-23 14:27:40 +01:00
Jules Blok
9994ccb342
PostProcessing: Invalidate shader when anaglyph stereoscopy is toggled.
2014-11-23 14:27:40 +01:00
Jules Blok
f3ddf37d07
VideoCommon: Switch to Nvidia stereoscopy offset formula.
2014-11-23 14:27:40 +01:00
Jules Blok
8210b9c915
TextureCache: Ensure that all render target textures have as many layers as the frame buffer.
...
Also fixes a case where the D3D code path did not initialize num_layers leading to undefined behaviour.
2014-11-23 14:27:40 +01:00
Jules Blok
02ad1a36ea
VideoConfigDiag: Update descriptions.
...
Since we cannot accurately calculate the eye seperation or the focal length without headtracking these values are purely virtual.
2014-11-23 14:27:40 +01:00
Jules Blok
27f3f804a0
ShaderGen: Only pass VS_OUTPUT between shaders if stereo 3D is enabled.
...
GLSL130 doesn't support passing structs between shaders.
This is not a problem for stereo 3D which has a GLSL150 requirement.
2014-11-23 14:27:40 +01:00
Jules Blok
51a4d6a4be
GeometryShader: Adjust positions after projection.
...
By adjusting the positions in clip space we can avoid the re-projection.
2014-11-23 14:27:40 +01:00
Jules Blok
ee76c03160
TextureCache: Recompile EFB2Tex shaders when stereo 3D is toggled.
2014-11-23 14:27:40 +01:00
Jules Blok
4d075c2efb
ProgramShaderCache: Abort shader compilation if geometry shader failed to compile.
2014-11-23 14:27:40 +01:00
Jules Blok
6642af2404
OGL: Remove Virtual XFB SBS support.
2014-11-23 14:27:40 +01:00
Jules Blok
acc65ee608
GeometryShader: Replicate missing position manipulations from vertex shader.
2014-11-23 14:27:40 +01:00
Jules Blok
ab76cf8b5e
PostProcessing: Apply color correction to the anaglyph shader.
...
The eyes were accidentally swapped, the left filter only allows red to pass so the left eye texture should be used in the red channel.
2014-11-23 14:27:39 +01:00
Jules Blok
081212b765
TextureCache: Force mono copies of the depth buffer.
...
Fixes stereoscopic stencil shadows in some games.
2014-11-23 14:27:39 +01:00
Jules Blok
3baa01fc73
VideoConfig: Use a smaller focal length default.
2014-11-23 14:27:39 +01:00
Jules Blok
6b2261deca
VideoConfigDiag: Update descriptions of stereoscopy settings.
2014-11-23 14:27:39 +01:00
Jules Blok
2cb2290910
TextureCache: Fix invalid cast.
2014-11-23 14:27:39 +01:00
Jules Blok
c0a5ae1746
OGL: Also redefine glFramebufferTexture on OpenGL ES.
2014-11-23 14:27:39 +01:00
Jules Blok
aa57feb9a8
ProgramShaderCache: Don't call glAttachShader if no geometry shader was compiled.
2014-11-23 14:27:39 +01:00
Jules Blok
f74d1b16ed
OGL: Add Top-and-Bottom stereoscopy mode.
2014-11-23 14:27:39 +01:00
Jules Blok
1261bd02ca
VertexShaderManager: Add stereoscopy options to swap the left and right eye.
2014-11-23 14:27:39 +01:00
Jules Blok
c3ad6e7820
PostProcessing: Add support for anaglyph stereoscopy mode.
2014-11-23 14:27:39 +01:00
Jules Blok
6c8f3fa861
VideoConfig: Add StereoMode enumeration.
2014-11-23 14:27:39 +01:00
Jules Blok
0eb0c47eba
Render: Improve SBS presentation.
...
New calculation properly takes pillar boxing into account.
2014-11-23 14:27:39 +01:00
Jules Blok
d7804a4d3e
Cosmetics.
2014-11-23 14:27:39 +01:00
Jules Blok
9b22e15180
VideoConfigDiag: Add stereoscopy options group.
2014-11-23 14:27:38 +01:00
Jules Blok
4d9589b35f
Cosmetics.
2014-11-23 14:27:38 +01:00
Jules Blok
9b4185ffdf
ShaderGen: Make use of padding to store the stereo flag.
2014-11-23 14:27:38 +01:00
Jules Blok
35342664e3
OGL: Disable stereoscopy if the GPU does not support geometry shaders.
2014-11-23 14:27:38 +01:00
Jules Blok
f370cb386c
ProgramShaderCache: Always generate a geometry shader UID, even if stereoscopy is disabled.
2014-11-23 14:27:38 +01:00
Jules Blok
6cacfad010
GeometryShader: Transform the projection within the geometry shader.
...
Reduces the amount of data transferred through uniforms.
The shearing transformation is reduced to a single multiplication/addition for optimization.
2014-11-23 14:27:38 +01:00
Jules Blok
4fd943aedd
VideoConfig: Limit the Stereo 3D option to the OpenGL backend.
2014-11-23 14:27:38 +01:00
Jules Blok
284be96cd5
OGL: Recreate the framebuffers when the stereo setting changes.
2014-11-23 14:26:56 +01:00
Jules Blok
63b37e29d1
ShaderGen: Rename "eye" to "layer".
...
Keeping things generic.
2014-11-23 14:26:56 +01:00
Jules Blok
d583720a59
GeometryShaderGen: Support stereoscopy on GPUs without support for instancing.
2014-11-23 14:26:56 +01:00
Jules Blok
176191dc16
ShaderGenCommon: Move uniforms into a common static string.
2014-11-23 14:24:09 +01:00
Jules Blok
0a72cf94cb
TextureCache: Ignore the geometry shader if stereoscopy is disabled.
2014-11-23 14:24:09 +01:00
Jules Blok
fa32f751d3
ShaderGen: Handle ShaderCode objects directly.
...
ShaderGeneratorInterface does not have virtual function members, so we have to implement each type explicitly.
2014-11-23 14:24:09 +01:00
Jules Blok
b236c363de
ShaderGen: Add a stereoscopy flag in the UID data.
2014-11-23 14:23:42 +01:00
Jules Blok
4fe9ceeee2
TextureCache: Set proper vertex limit in geometry shader.
...
Without instancing 6 vertices are output instead of 3.
2014-11-23 14:23:42 +01:00
Jules Blok
5944d15021
TextureCache: Check the number of layers before reusing a texture.
2014-11-23 14:23:42 +01:00
Jules Blok
272ea90ca5
GeometryShaderGen: Allow stereoscopy to be disabled.
...
Will facilitate future use of this generator for other purposes.
2014-11-23 14:23:41 +01:00
Jules Blok
80616c6e9e
TextureCache: Implement layered framebuffer support.
...
Stereoscopic EFB2Tex is now supported.
2014-11-23 14:23:41 +01:00
Jules Blok
d9e280e338
PixelShaderGen: Sample the correct texture layer.
2014-11-23 14:23:41 +01:00
Jules Blok
f6ea293027
VertexShaderManager: Compute stereoscopy projection matrices.
2014-11-23 14:23:41 +01:00
Jules Blok
c64486075d
PostProcessing: Add layered stereoscopy support.
2014-11-23 14:23:41 +01:00
Jules Blok
81e9004679
VideoConfigDiag: Add Stereo 3D option.
2014-11-23 14:23:41 +01:00
Jules Blok
2d8ec62beb
Pass VS_OUTPUT structs between shaders.
2014-11-23 14:23:41 +01:00
Jules Blok
b005f61a2e
Add geometry shader generator for stereo 3D.
2014-11-23 14:22:55 +01:00
degasus
6670cacddc
use GL_TEXTURE_2D_ARRAY for most of our textures
2014-11-23 14:22:22 +01:00
Lioncash
60e9301f40
Merge pull request #1586 from lioncash/ar
...
DolphinWX: Fix button handling for AR codes and ISO patch removal.
2014-11-22 17:42:21 -05:00
Lioncash
f73b6abdf5
DolphinWX: Fix patch removal
2014-11-22 17:25:14 -05:00
Lioncash
be2331b6f1
DolphinWX: Fix button handling for AR codes
2014-11-22 16:44:31 -05:00
degasus
6f3e20ac42
OGL: disable bbox writes if not supported
2014-11-22 15:17:57 +01:00
degasus
36fe8ccf46
OGL: also show driver warnings on release builds
2014-11-22 15:07:52 +01:00
Ryan Houdek
2fdeefb65b
Adds support for OpenGL ES draw_elements_base_vertex.
...
This is the same extension that we all know and love but under a different name with some different requirements.
In regular OpenGL fashion, you can't just move a desktop OpenGL extension to OpenGL ES without ratifying a new extension, which is why this falls
under a EXT extension, which in turn causes it to have suffixes attached to their function names.
This is the first step in our way towards conquering all mobile GPUs that don't support desktop OpenGL, hopefully we also can add support for
buffer_storage to OpenGL ES as well so we can make full use of this extension.
2014-11-21 18:57:32 -06:00
Augustin Cavalier
1e17bbce0f
DolphinQt: GameList!
2014-11-21 18:36:49 -05:00
Ryan Houdek
e84999386b
Merge pull request #1579 from Sonicadvance1/armv7-fastmem-rewrite
...
Rewrites ARMv7 fastmem entirely.
2014-11-21 14:54:05 -06:00
Ryan Houdek
bfbbddd76f
Rewrites ARMv7 fastmem entirely.
...
This is a fairly lengthy change that can't be separated out to multiple commits well due to the nature of fastmem being a bit of an intertangled mess.
This makes my life easier for maintaining fastmem on ARMv7 because I now don't have to do any terrible instruction counting and NOP padding. Really
makes my brain stop hurting when working with it.
This enables fastmem for a whole bunch of new instructions, which basically means that all instructions now have fastmem working for them. This also
rewrites the floating point loadstores again because the last implementation was pretty crap when it comes to performance, even if they were the
cleanest implementation from my point of view.
This initially started with me rewriting the fastmem routines to work just like the previous/current implementation of floating loadstores. That was
when I noticed that the performance tanked and decided to rewrite all of it.
This also happens to implement gatherpipe optimizations alongside constant address optimization.
Overall this comment brings a fairly large speedboost when using fastmem.
2014-11-21 05:21:57 -06:00
Matthew Parlane
1f7dbbef07
Merge pull request #1567 from comex/remove-android-ndk-hack
...
Remove Android <ucontext.h> hack.
2014-11-21 19:56:28 +13:00
Matthew Parlane
4ef0ab2731
Merge pull request #1534 from FioraAeterna/fixd3dtex1x1
...
D3D: fix issues with multi-level 1x1 textures on D3D
2014-11-21 19:12:58 +13:00
Matthew Parlane
21e4e035cc
Merge pull request #1281 from Stevoisiak/RenameEuRGB60
...
Renamed EuRGB to PAL60
2014-11-21 19:09:42 +13:00
Lioncash
2ef4a939dc
Merge pull request #1529 from FioraAeterna/ssevertex
...
Vertex loader: more vector code
2014-11-20 22:33:29 -05:00
skidau
15e7a8c247
Merge pull request #1573 from kamiyo/fix-wiimote-speaker
...
Fix wiimotespeaker emulation affecting real wiimote
2014-11-21 13:13:21 +11:00
comex
aa452f4fe8
Merge pull request #1576 from comex/osx-qt-build-fixes
...
OS X Qt build fixes
2014-11-20 12:11:43 -05:00
Lioncash
6d0faced59
Merge pull request #1580 from lioncash/android
...
InputConfigFragment: Use a StringBuilder for string concatenation
2014-11-20 11:19:35 -05:00
Lioncash
d4a8e51e71
AboutFragmentItem: Remove incorrect javadoc tag
2014-11-20 09:23:27 -05:00
Lioncash
feb038bec3
InputConfigFragment: Use a StringBuilder for string concatenation
...
This is the recommended way to join strings, since it doesn't destroy and recreate the string repeatedly.
2014-11-20 09:18:30 -05:00
Fiora
3ddf82a318
Vertex Loader: SSE implementations of more position/texcoord/normal formats
...
~35-45% faster NFS:HP2, possibly other vertex-bound games.
2014-11-20 02:13:19 -08:00
skidau
2968cb138c
Fixed the fast disc speed option (immediately service the interrupt instead of going through the scheduler).
2014-11-20 18:23:05 +11:00
skidau
ba1a8d2ef3
Merge pull request #1517 from JosJuice/cav-disc-drive
...
DVDInterface: Timing accuracy improvements
2014-11-20 13:30:02 +11:00
comex
fb50cb6d99
Merge pull request #1550 from degasus/bbox
...
OGL: implement bounding box support with ssbo
2014-11-19 20:25:23 -05:00
comex
ba4a763410
Move library aggregation into common CMakeLists.txt; add missing libs to DolphinQt.
...
Fixes DolphinQt build (on OS X, anyway) when libav is enabled.
2014-11-19 20:09:12 -05:00
comex
dd2c8c49b3
Merge pull request #1515 from RachelBryk/gpudeterminism-isoprops
...
Add GPUDeterminismMode to isoproperties.
2014-11-19 20:03:52 -05:00
Lioncash
ccebac8bcc
Merge pull request #1456 from Stevoisiak/AddCountries
...
Additional Country Filters
2014-11-19 19:21:59 -05:00
comex
688b1e537e
rename CopyDataIntoBundle target name to avoid wx/qt conflict
2014-11-19 14:53:51 -05:00
Lioncash
19dabee326
Merge pull request #1568 from rohit-n/android-warnings
...
Android: Silence a few warnings.
2014-11-19 12:17:13 -05:00
Ryan Houdek
a3f9f21e08
Merge pull request #1571 from degasus/master
...
OGL: fix buffer destruction
2014-11-19 02:13:36 -06:00
kamiyo
e76e3b7390
Added condition so that function to mix wiimote-speaker data into the master mixer is called only if wiimote is emulated.
2014-11-19 01:28:11 -05:00
skidau
f5aed3d6c6
Merge pull request #1548 from skidau/region-australia
...
Added Australia to the list of valid PAL regions
2014-11-19 16:59:08 +11:00
skidau
ca3e5ce5e1
Added an exception check when the game is close to overflowing. Fixes the fifo overflow that occurs in Battalion Wars 2.
...
Changed the CPEnd loop check to an exact match.
2014-11-19 12:48:09 +11:00
skidau
3d448e49c6
Update CPStatus before processing the FIFO events and force an exception check on interrupts.
...
Added more information into the FIFO unknown opcode error message.
2014-11-19 12:48:08 +11:00
skidau
b2c02e216c
Separated out the CPU and GPU thread path to avoid clobbering.
...
Removed the Eternal Darkness check as it is no longer required.
Fixes issue 7835.
2014-11-19 12:48:08 +11:00
skidau
32f2cd8c7f
Merge pull request #1566 from Sonicadvance1/fix_gl21
...
Fixes GLExtensions for GL 2.1 or GLES 2 devices.
2014-11-19 12:47:23 +11:00
Steven Vascellaro
695bbac36a
Removed SDK flag
...
SDK is not an official Nintendo country code, and is not actually used
by any official software.
2014-11-18 19:44:17 -05:00
Stevoisiak
f1a26ff654
Various country flag improvements
...
* Added country flags for games from Netherlands and Spain
* Added separate category for Region Free games (Uses European flag as placeholder)
* Added missing country filter options in "show regions" menu
* Rearranged country filters for readability
* Incremented CACHE_REVISION
Also fixed various country filters not showing up as options in the "Show regions" menu.
2014-11-18 19:44:16 -05:00
degasus
ff942d44b5
OGL: fix buffer destruction
...
This buffer will be unbound in the StreamBuffer class itself, so no need to unbind them before.
2014-11-18 23:13:06 +01:00
Stevoisiak
e7a82c4ded
Renamed EuRGB60 to PAL60
2014-11-18 16:51:21 -05:00
Lioncash
f7d1943615
Merge pull request #1570 from lioncash/scale
...
WxUtils: Get rid of GetCurrentBitmapLogicalScale
2014-11-17 20:55:14 -05:00
skidau
2affe25191
Merge pull request #1559 from Sonicadvance1/armv7-minor-optimizations
...
ARMv7 block profiling + minor optimization
2014-11-18 12:51:03 +11:00
Lioncash
3c23a9afc9
WxUtils: Get rid of GetCurrentBitmapLogicalScale
...
wx now provides the means to query this.
2014-11-17 20:16:33 -05:00
degasus
c211450b99
OGL: implement bounding box support with ssbo
...
This implemention tries to be as accurate as the old SW implemention, but it will remove the dependcy of our vertexloader on videosw.
2014-11-17 21:20:32 +01:00
Dolphin Bot
dced84d440
Merge pull request #1564 from RachelBryk/freelook
...
Make freelook hotkeys configurable.
2014-11-17 20:44:48 +01:00
Rohit Nirmal
8ec791c4f3
Android: Silence a few warnings.
2014-11-17 19:21:38 +00:00
Lioncash
b1c06fdd19
Merge pull request #1563 from lioncash/ui
...
Android: Use a PagerTabStrip instead of the ActionBar.
2014-11-17 13:57:00 -05:00
Lioncash
f78600ec9e
Merge pull request #1562 from lioncash/host
...
Host: Kill off GetRenderWindowSize
2014-11-17 13:51:40 -05:00
Lioncash
b94dbca160
Host: Kill off GetRenderWindowSize
2014-11-17 13:44:49 -05:00
comex
c5a25d56e0
Remove Android <ucontext.h> hack.
...
There was a longstanding hack that defined ucontext_t manually to work
around the lack of this header on the Android NDK. However, it looks
like newer NDK versions now have it like good little POSIX boys, and my
recent header reshuffle broke the build on those versions, presumably
because the real and fake definitions of ucontext_t end up included in
the same file where they weren't under the old organization.
Rather than try to revert the conflict, this commit just removes the
hack. The buildbot's NDK will need to be upgraded.
2014-11-17 13:29:04 -05:00
Ryan Houdek
3bfa15d2e1
Fixes GLExtensions for GL 2.1 or GLES 2 devices.
...
This wasn't too much of a concern since we normally don't care about this feature set, but it is nice when testing on new devices and they don't
support the higher feature sets but want to run under software renderer.
The Mesa softpipe and PowerVR 5xx drivers don't support higher GL versions, but they shouldn't exit out just because they couldn't get a GL3 function
pointer that isn't even going to be used at that point.
2014-11-16 22:59:29 -06:00
Lioncash
5fce33f918
Merge pull request #1565 from Sonicadvance1/armv7-fix-fastmem
...
Fixes ARMv7 FP loadstores using fastmem when not enabled.
2014-11-16 22:22:22 -05:00
Ryan Houdek
f9208dcc13
Fixes ARMv7 FP loadstores using fastmem when not enabled.
2014-11-16 21:12:11 -06:00
Rachel Bryk
ea11c446c2
Make freelook hotkeys configurable.
2014-11-16 22:00:56 -05:00
Lioncash
5396a48d70
Android: Use a PagerTabStrip instead of the ActionBar.
...
The ActionBar method of doing the tabular layout is deprecated on Android 5.0.
This method alleviates those deprecations while providing the same functionality.
2014-11-16 21:18:08 -05:00
skidau
5143adac0e
Merge pull request #1306 from i418c/freelook_fixes
...
Freelook fixes
2014-11-17 13:03:23 +11:00
JosJuice
091db36162
DVDInterface: Add a delay for commands other than regular reads
...
Behavior inspired by WII_IPC_HLE_Device_DI.
2014-11-16 21:29:40 +01:00
JosJuice
c6e695b245
DVDInterface: CAV disc drive
...
Changes the read speed of GC discs from 3 MiB/s to 2-3.3 MiB/s,
depending on the location of the data. I also attempted to change the
speeds for Wii discs, but it has very little effect right now because
Wii games use IPC_HLE instead of DVDInterface. It does affect Wii
homebrew that reads Wii discs, though.
2014-11-16 20:57:26 +01:00
comex
aa2fc1f66b
Merge pull request #1449 from comex/memtools-merge
...
Reorganize faulting stuff. Differentiate between arch- and OS-specific defines.
2014-11-16 13:46:33 -05:00
i418c
92d4e38267
Changed the hotkeys to 1 and 2. Message in GUI changed to reflect this.
2014-11-16 10:39:54 -08:00
Ryan Houdek
30e1749d00
Implements block time profiling on ARMv7.
...
This was interesting implementing.
Our generic QueryPerformanceCounter function on ARMv7 was so slow that profiling a block was impossible.
I waited about five minutes and I couldn't even get a single frame to output.
This instead uses ARMv7's PMU to get cycle counts, which are a relatively minor performance drop in my testing.
One disadvantage of this method is that the kernel can lock us out of using these co-processor registers, but it seems to work on my Jetson board.
Another disadvantage is that we aren't having block times in "real" time but cycles instead, not too big of a deal.
This also removes instruction run counts from profiling because that's just annoying and we don't expose an interface for even getting those results
from our UI.
2014-11-16 09:29:27 +00:00
Ryan Houdek
b24197f913
Adds MCR/MRC to the ARMv7 emitter.
2014-11-16 09:29:27 +00:00
Ryan Houdek
6683b194ff
ARMv7 register cache optimizations.
...
Enable support for not loading a destination register on FPR cache.
Dump registers if they won't be used later in the block. Stolen from Fiora.
2014-11-16 09:29:22 +00:00
Lioncash
c0291d5b88
Merge pull request #1558 from comex/command-thread-mismatch
...
Fix wxCommandEvent/wxThreadEvent subclass mismatch
2014-11-16 00:03:35 -05:00
comex
37b14bdec9
Fix wxCommandEvent/wxThreadEvent subclass mismatch
...
Regression by 3fed975bac
caused netplay to
crash on OS X. While I'm at it, fix the long-standing "unsafe i guess"
AddPendingEvent, since we depend on wx 3 now...
2014-11-15 23:52:19 -05:00
comex
4e484faf4c
Merge pull request #1557 from lioncash/join
...
Core: Join some variable declarations and assignments
2014-11-15 20:53:45 -05:00
Lioncash
5d2ca2dfcc
Merge pull request #1554 from lioncash/unique
...
ISOFile: Get rid of a delete call
2014-11-15 20:27:59 -05:00
Lioncash
3eab75bc9c
Core: Join some variable declarations and assignments
2014-11-15 20:21:35 -05:00
Lioncash
43b8749c60
Merge pull request #1555 from lioncash/ref
...
WatchView: Pass string by reference in SetWatchName
2014-11-15 18:02:10 -05:00
Ryan Houdek
4ce1b33e55
Merge pull request #1551 from Sonicadvance1/armv7-float-fastmem
...
Reimplements fastmem for ARMv7 floating point loadstores.
2014-11-15 15:32:17 -06:00
Ryan Houdek
181f16c5f0
Reimplements fastmem for ARMv7 floating point loadstores.
...
This implements a new system for fastmem backpatching on ARMv7 that is less of a mindfsck to deal with.
This also implements stfs under the default loadstore path as well, not sure why it was by itself in the first place.
I'll be moving the rest of the loadstore methods over to this new way in a few days.
2014-11-15 21:17:50 +00:00
Lioncash
04ee0245e2
WatchView: Pass string by reference in SetWatchName
2014-11-15 14:06:12 -05:00
Lioncash
798a96bd2a
ISOFile: Get rid of a delete call
2014-11-15 13:25:21 -05:00
comex
8dbef4e987
Merge pull request #1553 from degasus/master
...
OpcodeDecoder: Skip recursiv display lists
2014-11-15 11:05:41 -05:00
degasus
90613a1bda
OpcodeDecoder: Skip recursiv display lists
2014-11-15 16:24:06 +01:00
skidau
cf8035e240
Merge pull request #1521 from RachelBryk/double
...
Fix some double->float conversions.
2014-11-15 23:31:47 +11:00
Lioncash
7d8248e24f
Android: Remove unused imports in GameListItem
2014-11-15 01:45:13 -05:00
Lioncash
cc62cb8818
Android: Support RTL language translations
...
If someone wants to do a translation for an Arabic language, Hebrew, etc, it will now display correctly.
2014-11-15 01:45:12 -05:00
Lioncash
4d6bc39e2f
AndroidManifest: Increment the minimum and target SDK values
2014-11-15 01:45:02 -05:00
Lioncash
5b1f734695
Android: Prevent instantiation of utility classes
2014-11-15 01:40:30 -05:00
Lioncash
4fe8bb1ca7
Android: Compress an if statement in FolderBrowser
2014-11-15 01:40:29 -05:00
Rachel Bryk
fa18518cef
Fix reading wii revisions.
2014-11-15 00:39:54 -05:00
skidau
99141a2698
Added Australia to the list of valid PAL regions
2014-11-15 16:16:37 +11:00
Rachel Bryk
fa5e3ec292
Implement GetRevision() for wii disks.
2014-11-14 21:06:26 -05:00
comex
68c5758151
Merge pull request #1435 from comex/osx-build
...
OS X CMake improvements
2014-11-14 15:03:53 -05:00
comex
0cf8ab175b
Fix UCodes.cpp to use UTF-8 encoding.
2014-11-14 11:53:56 -05:00
comex
cb0af4057e
Link Foundation/CoreServices into unit tests so they build with DISABLE_WX.
2014-11-14 11:28:13 -05:00
Ryan Houdek
b0becf7af8
Enables the ARMv7 FPR cache.
...
The problem instructions with the FPR are disabled in the previous commit. This can now be reenabled for fairly large performance gains.
2014-11-14 15:14:10 +00:00
Ryan Houdek
69c3e6516c
Disables NEON optimized instructions.
...
These are causing issues in games. In particular you get pink on the screen in Animal Crossing.
Disable until fully investigated.
This also disables fastmem on floating point loadstore instructions which are horribly broken and won't actually backpatch when an invalid read/write
is encountered.
2014-11-14 15:13:13 +00:00
Lioncash
8f92059705
LogWindow: Fix the timer event bindings
2014-11-14 00:46:42 -05:00
Lioncash
e789920340
Merge pull request #1539 from Stevoisiak/newImprovedFormatting
...
Various formatting and consistency fixes
2014-11-13 23:05:46 -05:00
Stevoisiak
b25e1a2eb4
Various formatting and consistency fixes
2014-11-13 22:42:18 -05:00
Lioncash
3b2d605fb5
Merge pull request #1538 from Stevoisiak/netplayCleanup
...
Removed "Dual Core [OFF]" from netplay warnings
2014-11-13 21:53:30 -05:00
Stevoisiak
6bb9a909a2
Removed "Dual Core [OFF]" from netplay warnings
...
Requested by JMC47
2014-11-13 21:15:07 -05:00
skidau
1e5a232464
Merge pull request #1537 from lioncash/wx
...
MemoryView: Fix a dealloc of a stack reference
2014-11-14 13:00:21 +11:00
skidau
8af52f6c72
Merge pull request #1532 from RachelBryk/dot
...
Fix the red dot not showing up in input config when pointing right.
2014-11-14 12:59:28 +11:00
Lioncash
ffc00b42e9
MemoryView: Fix a dealloc of a stack reference
...
stack allocation only works with the root menu. Any other children must be
heap allocated.
These however, will be freed by wxWidgets.
2014-11-13 20:10:40 -05:00
Lioncash
5fb94230cd
Merge pull request #1531 from lioncash/notebook
...
FrameAui: Allow notebook tabs to be rearranged in the parent notebook.
2014-11-13 01:37:22 -05:00
Fiora
733795891c
D3D: fix issues with multi-level 1x1 textures on D3D
...
Fixes NBA 2K11, maybe other things.
2014-11-12 21:43:48 -08:00
skidau
4ca39d173b
Merge pull request #1530 from lioncash/ui-leaks
...
DolphinWX: Eliminate some memory leaks
2014-11-13 13:39:44 +11:00
skidau
b1f8974db8
Merge pull request #1527 from FioraAeterna/mftbfix
...
JIT: revert accuracy improvement to mftb
2014-11-13 12:11:13 +11:00
Lioncash
5a89ba20d7
Merge pull request #1528 from lioncash/netplay
...
Small Netplay dialog cleanups.
2014-11-11 21:19:24 -05:00
Lioncash
cae3f0bde0
FrameAui: Allow notebook tabs to be rearranged in the parent notebook.
2014-11-11 21:07:39 -05:00
Rachel Bryk
463c4faf1c
Add GPUDeterminismMode to isoproperties.
2014-11-11 20:19:19 -05:00
skidau
1095d3fc33
Merge pull request #1523 from FioraAeterna/fifo64
...
JIT: add 64-bit write support to FIFO functions and fix immediates
2014-11-12 12:12:16 +11:00
skidau
0cb9dcb5fc
Merge pull request #1520 from JosJuice/dvdinterface-init
...
DVDInterface: Initialize variables
2014-11-12 12:11:03 +11:00
Rachel Bryk
e9cb629723
Fix some double->float conversions.
2014-11-11 14:14:22 -05:00
Rachel Bryk
a371635990
Fix the red dot not showing up in input config when pointing right.
2014-11-11 13:42:42 -05:00
Lioncash
892bbdade6
DolphinWX: Eliminate some memory leaks
...
Since the menus aren't actually assigned a parent, they would not be freed by wx. Plus, these should have initially been constructed on the stack in the first place.
Technically any time someone right-clicked the game list they would be leaking memory.
2014-11-11 09:50:16 -05:00
Lioncash
ec82f02580
NetPlayDiag: Get rid of unnecessary text limit check
...
The text control is limited to 2000 characters on creation.
2014-11-11 00:12:23 -05:00
Lioncash
3fed975bac
NetPlayDiag: Get rid of event table
2014-11-10 23:38:20 -05:00
Fiora
4b105ed0e4
JIT: revert accuracy improvement to mftb
...
Fixes a few games (e.g. Karaoke Revolution Party) for reasons explained in the
comments.
2014-11-10 20:31:07 -08:00
Lioncash
5891266e67
NetPlayDiag: Make the window title translateable
2014-11-10 23:26:56 -05:00
skidau
71d8165a86
Merge pull request #1518 from lioncash/evt
...
DolphinWX: Kill off trivial event tables
2014-11-11 11:55:49 +11:00
Matthew Parlane
b1d8ca4730
Install nogui executable to bindir
2014-11-10 07:53:11 +00:00
Fiora
6603f98d04
JIT: add 64-bit write support to FIFO functions
...
Also fix 64-bit values passed to CallAC and otherwise correct immediate
handling in FIFO writes.
Fixes 007 Nightfire.
2014-11-09 21:24:30 -08:00
Yuriy O'Donnell
dc08de028c
Moved projection epsilon to a more reasonable place
2014-11-09 15:25:49 +01:00
JosJuice
519d851bf8
DVDInterface: Initialize variables
2014-11-09 11:54:04 +01:00
skidau
c34c231df1
Merge pull request #1508 from skidau/emu-wiimote-speaker-sample-rate-zero
...
Ignore the emulated wiimotes speaker data if the sample rate is set at 0hz
2014-11-09 17:58:34 +11:00
Lioncash
ac387031a4
DolphinWX: Kill off trivial event tables
...
Also fixes some of the wonky stuff in Main where we would fire an event to do post-init stuff which isn't necessary anymore.
2014-11-09 00:08:33 -05:00
Lioncash
210567a919
DolphinWX: Remove unnecessary forward declarations
2014-11-07 22:16:13 -05:00
Rachel Bryk
83a6d28603
Fix analog l/r with tas input.
2014-11-07 20:44:38 -05:00
skidau
a2fa679b2e
Merge pull request #1507 from lioncash/event
...
DolphinWX: Eliminate most usages of event tables in the debugger
2014-11-08 12:26:52 +11:00
skidau
0f615c754a
Packed the emu wiimote structs, removed swap16 and removed the speaker amp as the amp was distorting the audio.
2014-11-08 11:33:20 +11:00
Lioncash
f9fe2d6487
Movie: Get rid of unnecessary explicit memcpys
2014-11-06 22:17:44 -05:00
Lioncash
1a214f7deb
Merge pull request #1511 from lioncash/https
...
Main: Explicitly use the HTTPS site URL.
2014-11-06 22:15:04 -05:00
Jasper St. Pierre
44b879dac2
Destroy OpenMP
2014-11-06 18:38:24 -08:00
Lioncash
7a1dca993f
Main: Explicitly use the HTTPS site URL.
2014-11-06 21:37:55 -05:00
Lioncash
a1b44a9027
Merge pull request #1509 from lioncash/headers
...
Remove unnecessary cstdarg header includes
2014-11-06 20:58:13 -05:00
Lioncash
8959adefb2
Merge pull request #1506 from waddlesplash/dolphin-qt
...
Dolphin[Qt|WX]: Miscellaneous cleanup.
2014-11-06 20:55:44 -05:00
Lioncash
4c62bd2edb
Remove unnecessary cstdarg header includes
2014-11-06 20:50:11 -05:00
Lioncash
f6b4b4dbba
Merge pull request #1497 from lioncash/host
...
Host: Kill off Host_SysMessage
2014-11-06 20:41:53 -05:00
Lioncash
d79c794e8c
Merge pull request #1490 from rohit-n/initialize
...
Common: Fix -Wmaybe-uninitialized warning.
2014-11-06 20:37:32 -05:00
skidau
28228ee3ca
Merge pull request #1496 from lioncash/wxify
...
DolphinWX: wx-ify the unofficial version warning
2014-11-07 12:33:50 +11:00
skidau
c36e7b9c23
Merge pull request #1494 from lioncash/statics
...
PPCCache: Make PLRU lookup tables static
2014-11-07 12:33:19 +11:00
Lioncash
a5d304eb16
Merge pull request #1495 from lioncash/unused
...
Interpreter: Remove dead patches() function
2014-11-06 20:31:01 -05:00
comex
ba48541c47
Merge pull request #1504 from comex/gpu-determinism-uninit-fix
...
Fix uninitialized GPU determinism mode for NAND titles or whatever.
2014-11-06 19:49:31 -05:00
Augustin Cavalier
a96acea03c
Dolphin[Qt|WX]: Miscellaneous cleanup.
...
DolphinQt:
* Make the connect() calls explicit, not automatic
* Follow better naming convention for the QActions
* Remove the Open action from the toolbar.
Dolphin[Qt|WX]:
* Move the "Skip Bundle" option to the root CMakeLists so that both DolphinQt and DolphinWX can use it.
2014-11-06 15:47:27 -05:00
skidau
021cdac24c
Ignore the emulated wiimotes speaker data if the sample rate is set at 0hz.
...
Fixes issue 7806.
2014-11-06 22:51:59 +11:00
Lioncash
ee22d091a0
DolphinWX: Eliminate most usages of event tables in the debugger.
...
Moves things over to Bind.
2014-11-05 23:03:06 -05:00
skidau
d1950c1920
Merge pull request #1488 from Tilka/llvm_stdint_defines
...
Work around LLVM header peculiarity
2014-11-06 14:31:10 +11:00
Fiora
b8d88a41e0
JIT: remove accidentally left-in debug code
2014-11-05 17:44:13 -08:00
comex
9d23a366c8
Fix uninitialized GPU determinism mode for NAND titles or whatever.
...
m_strGPUDeterminismMode can be set by either the global or game
settings. Either way, it's then supposed to be parsed into an enum,
m_GPUDeterminismMode. However, the code to do this was placed right
after checking for game settings, which doesn't happen at all if there
isn't a valid title ID. Move it outside the if block.
2014-11-05 19:36:12 -05:00
Lioncash
606efbce10
PPCCache: Make PLRU lookup tables static
2014-11-05 19:35:30 -05:00
Lioncash
0e2f9114fc
TASInputDlg: Narrow a variable scope in UpdateFromText
2014-11-05 13:52:03 -05:00
Rohit Nirmal
1beb047959
PowerPC: Remove unused variable.
2014-11-05 11:47:44 -05:00
Lioncash
884ec2ed13
Host: Kill off Host_SysMessage
...
Equivalent facilities already exist.
2014-11-05 02:30:48 -05:00
skidau
baaccfd2f0
Take into account the want_determinism option and do not create a DSP thread if determinism is needed.
2014-11-05 17:42:42 +11:00
skidau
5c862adfa7
Disabled the DSP thread if netplay or a movie has been started
2014-11-05 17:42:42 +11:00
skidau
2140ac15e4
Removed the DSP LLE on separate thread option.
...
The DSP thread will be enabled if the game is an AX ucode game and if the host has more than two cores (not including hyperthreading).
2014-11-05 17:42:42 +11:00
Lioncash
611f349429
DolphinWX: wx-ify the unofficial version warning
2014-11-04 23:13:25 -05:00
Lioncash
a105a9a557
Interpreter: Remove dead patches() function
2014-11-04 20:44:57 -05:00
skidau
0515ab852e
Merge pull request #1230 from FioraAeterna/constaddr
...
JIT: improve handling of stores with a known address
2014-11-05 12:40:38 +11:00
skidau
a66b34cfc6
Merge pull request #1492 from FioraAeterna/fixregpreload
...
JIT: fix register preloading
2014-11-05 12:13:42 +11:00
Lioncash
50f442ac31
Merge pull request #1485 from Stevoisiak/capitalizeMenuOptions
...
Menu capitalization consistency
2014-11-04 09:19:15 -05:00
Fiora
b81686b582
JIT: fix register preloading
...
Partially broken by typoes in the bitset patch.
2014-11-04 04:50:05 -08:00
Fiora
f8880c0284
JIT: fix typo in optimization patch
...
Whoops... made us flush everything on every branch.
2014-11-04 02:04:30 -08:00
Rohit Nirmal
f361ef1eb3
Common: Fix -Wmaybe-uninitialized warning.
2014-11-03 21:38:42 -06:00
comex
9cba787871
Merge pull request #1408 from randomstuff/perf
...
Profiling: measure time on non-Windows/POSIX using clock_gettime
2014-11-03 22:36:32 -05:00
Lioncash
30f97723db
Core: Fix potentially uninitialized variable warnings
2014-11-03 22:21:10 -05:00
comex
42d41a456e
Merge pull request #1489 from FioraAeterna/revertopt
...
JIT: revert cmpXX optimization
2014-11-03 21:07:11 -05:00
Fiora
768273f59b
JIT: revert cmpXX optimization
...
It seems like this wasn't correct in 100% of cases.
2014-11-03 17:50:20 -08:00
skidau
027791685a
Merge pull request #1483 from comex/on-demand-exi-interrupts
...
Make EXI use CoreTiming events like everything else instead of having its own special check.
2014-11-04 12:31:12 +11:00
skidau
dc63f8f461
Merge pull request #1471 from RachelBryk/reset-record
...
Allow hard resets to be recorded in movies.
2014-11-04 12:30:48 +11:00
Tillmann Karras
c34d99e40e
Work around LLVM header peculiarity
...
Bug report: http://llvm.org/bugs/show_bug.cgi?id=21472
2014-11-04 02:29:33 +01:00
Fiora
ce71c3cd4e
JIT: fix valid_block marking
...
This caused invalidations that only affected the last portion of a JIT block
to fail, breaking Wii64's block linking. It might affect a bunch of other
games too; I haven't tested.
2014-11-03 16:23:44 -08:00
Ryan Houdek
8c981aad04
Merge pull request #1481 from FioraAeterna/fixclrcr
...
JIT: fix dumb mistake in crclr optimization patch
2014-11-03 14:43:38 -06:00
Jasper St. Pierre
e290a3d39c
MemArena: Fix the launching of non-Wii games
...
When we cleaned up the code to calculate the shm_position and total_mem
in one step, we sometimes skipped over certain views because they were
Wii-only. When looking at the total memory, we'd look at the last field,
whether or not it was skipped. Since Wii-only fields are the last view,
this meant that the shm_position was 0, since it was skipped, causing us
to map a 0-sized field. Fix this by explicitly returning the total size
from MemoryMap_InitializeViews.
Additionally, the shm_position was being calculated incorrectly because
it was adding up the shm_position *before* the mirror, rather than after
it. Fix this by adopting a scheme similar to what we had before.
2014-11-03 11:08:59 -08:00
Stevoisiak
1be1d60c09
Menu capitalization consistency
2014-11-03 14:03:39 -05:00
Fiora
fc63c7ecae
JIT: genericize immediate address handling, support in float stores too
2014-11-03 01:31:39 -08:00
comex
4cf8697957
Merge pull request #1480 from RachelBryk/warn
...
Fix some warnings.
2014-11-03 00:36:40 -05:00
Rachel Bryk
f9495a484c
Allow hard resets to be recorded in movies.
2014-11-03 00:30:29 -05:00
comex
9f683f353b
Make EXI use CoreTiming events like everything else instead of having its own slow special check.
...
Microphone is probably wrong/mistimed because it doesn't take into
account cycles late, but that's not a new issue here.
2014-11-03 00:28:46 -05:00