Commit Graph

15423 Commits

Author SHA1 Message Date
Léo Lam 5d8d696185 Force disable WC24 standby mode
When standby mode is enabled, this causes games to ES_Launch the system
menu instead of directly asking IOS (the STM more precisely) to shut
down, which prevents graceful shutdown from working
(it'll appear to hang).

Dolphin never supported WC24 standby mode anyway, so this shouldn't
cause any issues. (This should be reverted if and when WC24 standby is
implemented…)
2016-10-01 13:06:04 +02:00
Léo Lam 9b72b5f144 Shut down Wii software gracefully
This adds support for triggering the power event (in the STM), so that
stopping emulation first triggers a shutdown event, which notably gives
emulated software time to save game data (issue 8979) and clean up
SYSCONF (to disconnect Wiimotes and update their state in the SYSCONF).

On the first press, the stop button/hotkey/whatever will trigger a STM
power event. On a second try, we will forcefully stop emulation, just
like how it was working before.
2016-10-01 13:06:04 +02:00
Léo Lam ae723f5251 IPC_HLE/stm: Implement STM_UnregisterStateEvent 2016-10-01 13:06:04 +02:00
Léo Lam fcd08be34a IPC_HLE/stm: const correctness for ResetButton 2016-10-01 13:06:04 +02:00
Léo Lam 5fb17a9014 IPC_HLE/stm: Clean up naming
Switches to the new naming conventions.
2016-10-01 13:06:04 +02:00
Léo Lam faf202f0f6 IPC_HLE/stm: Separate header and implementation
There was as far as I know no reason to put everything in the header.

Separating the declaration from the implementation reduces build
times in case the implementation is updated without changing
any declaration.
2016-10-01 13:06:04 +02:00
Lioncash 9395b8efa9 Vulkan: Amend header includes
Adds headers where necessary to eliminate indirect includes.
Also adds headers to ensure certain standard constructs always
resolve correctly
2016-09-30 23:26:03 -04:00
Stenzek a8194cff3c VideoNull: Set all fields in backend_info
A few of these were missing, which could cause the adapter list to remain
visible after switching to null, for example.
2016-10-01 02:40:03 +10:00
Stenzek 5f66cf5ed7 Vulkan: Only submit init/upload command buffer when it has commands
This way we're not submitting empty buffers when it's unnecessary.
2016-10-01 02:40:03 +10:00
Stenzek bac8c2d441 Vulkan: Work around indexed fragment output bug on AMD drivers 2016-10-01 02:40:02 +10:00
Stenzek f6cdc38c8b Vulkan: Use render-pass based clears where possible 2016-10-01 02:40:02 +10:00
Stenzek c290398320 Vulkan: Ensure fast path is used for non-RGBA formats when clearing 2016-10-01 02:40:02 +10:00
Stenzek f4944f006d Vulkan: Support frame dumping/screenshots 2016-10-01 02:40:02 +10:00
Stenzek 77a128ab87 Implement experimental Vulkan backend 2016-10-01 02:40:01 +10:00
Stenzek fdd954e7e7 Common: Add a Semaphore wrapper class 2016-10-01 01:09:12 +10:00
Stenzek 828aac7890 VideoBackends: Make TextureCache::CompileShaders return a bool 2016-10-01 01:09:12 +10:00
Stenzek 6a99cbd9fc VideoCommon: Call Renderer::SurfaceChanged on render parent resize
This is needed because for some reason the WSI for NV Vulkan drivers
doesn't return VK_ERROR_OUT_OF_DATE_KHR, so there is no other way to know
that a resize has occured apart from polling, which is a poor solution for
X11 (since it is blocking).
2016-10-01 01:09:12 +10:00
Stenzek 5346078791 VideoCommon: Add config fields for multithreading and validation layers 2016-10-01 01:09:12 +10:00
Stenzek 09638e714e VideoCommon: Extend DriverDetails to support both OpenGL and Vulkan 2016-10-01 01:09:12 +10:00
Stenzek a71381e80a VideoCommon: Add APIType entry for Vulkan 2016-10-01 01:09:11 +10:00
Stenzek 75e4e42e56 ShaderGen: Work around issue with glslang and dynamic vector subscripts
Seems that vec[eye] will select vec.x no matter what the value of eye is.
2016-10-01 01:09:11 +10:00
Stenzek 7f3a876aae ShaderGen: posmtx should be a 4-component unsigned byte
This is a global change across backends, so should be tested for
regressions.
2016-10-01 01:09:11 +10:00
Stenzek d9c034e8cc ShaderGen: Specify attribute/output locations/bindings explicitly
This also shifts the SSBO index from index 3 to index 0.
2016-10-01 01:09:11 +10:00
Stenzek 9f541e490d OGL: Handle case where both constant alpha and logic op is enabled 2016-09-30 23:18:14 +10:00
Lioncash 91bbe56f59 SystemRegisters: Get rid of pointer casting 2016-09-30 08:28:07 -04:00
Markus Wick 025dce86d5 Merge pull request #4261 from lioncash/gamelist
GameListCtrl: Use unique_ptr for underlying GameListItems
2016-09-30 13:23:43 +02:00
Lioncash d8e4d5f035 GameListCtrl: eliminate redundant elses
These aren't necessary considering the above condition returns
2016-09-30 07:13:14 -04:00
Lioncash 6e0e4646bd GameListCtrl: use unique_ptr for underlying game list items 2016-09-30 07:13:09 -04:00
Lioncash 6b58ebfadc MMU: Remove useless casts 2016-09-30 06:48:13 -04:00
Markus Wick c33710a320 Merge pull request #4262 from lioncash/mmu
MMU: Get rid of type punning in FP read/write functions
2016-09-30 10:11:06 +02:00
Lioncash e8b5e38d98 MMU: Get rid of type punning in FP read/write functions
The previous code is actually considered undefined behavior.
2016-09-30 03:50:08 -04:00
Anthony ad1d45d4e2 Merge pull request #4218 from aldelaro5/debugger-stepping-fixes
Fix a bunch of debugger stepping issues.
2016-09-29 22:41:27 -05:00
Lioncash e1705ba6c5 PPCAnalyst: Get rid of two casts
HostRead_Instruction does the same thing behind the scenes without casts.
2016-09-29 18:17:56 -04:00
aldelaro5 cd0116ccde Fix a bunch of debugger stepping issues.
Single step: Fix an oddity when a breakpoint is hit at the beginning of a block, then after, a single step is performed and finally, hitting play, the breakpoint will be skipped even in the case when it would be hit again.  This was done by using the interpreter version of single step.  Also, remove some redundant update request.

Step over: fix some GUI lags.

Step out: Add consideration for conditional branching by checking the condition as the interpreter does.  Now, every bclr instructions except those that changes the LR (because it would not be the end of the function) will cause the end of the step out and not just blr instructions.  Also now stops if a bp is detected and finally, remove redundant GUI updates calls.

This also removes a superfluous draw call on the GUI as the codeView was refreshing twice per event to do so.
2016-09-29 17:32:52 -04:00
Lioncash ba628b3cab PPCAnalyst: Compress loop into std::any_of 2016-09-28 17:12:21 -04:00
EmptyChaos f9a88adddc PowerPC: Fix Dynamic BAT savestates 2016-09-28 14:26:26 +10:00
Scott Mansell ed95115c17 Merge pull request #4220 from aldelaro5/memcheck-interface-improvements
Redo the MemCheck add dialog
2016-09-28 13:46:25 +13:00
Markus Wick 3696c2b022 Merge pull request #4210 from degasus/arm
JitArm64: Small cleanup + speedups.
2016-09-27 18:45:14 +02:00
JosJuice d44b2de01d DVDInterface: Try to enforce disc inside status on savestate load 2016-09-27 16:51:14 +02:00
JosJuice 75dd4d0aee DVDInterface: Make changing discs savestate-safe 2016-09-27 16:51:14 +02:00
Markus Wick cb759528e0 Merge pull request #3893 from hthh/perf-query-bug
Improve PerfQuery accuracy
2016-09-27 13:07:35 +02:00
Markus Wick 3de4dc2186 Merge pull request #4247 from lioncash/wad
WiiWad: Minor changes
2016-09-27 12:37:02 +02:00
Markus Wick f701724ee7 Merge pull request #4251 from lioncash/define
PPCAnalyst: Convert #define into a constant
2016-09-27 12:19:18 +02:00
Markus Wick 9525a9e048 Merge pull request #3490 from degasus/singlecore
Fifo: Use SyncGPU timings for single core.
2016-09-27 10:33:47 +02:00
Markus Wick 8afba30603 Merge pull request #3822 from degasus/warning
VertexLoaderJit: Fix out-of-bounds access for zfreeze.
2016-09-27 10:31:48 +02:00
aldelaro5 5e8fc4ebd9 Add consideration for the break flag of memChecks
It was never used, even when the code tried to make sure it was initialised and passed correctly.  This is a supplementary fix for the memCheck dialog as this option will now work correctly.
2016-09-27 01:22:23 -04:00
aldelaro5 efb7b1ceca Redo the MemCheck add dialog
The old one wasn't very optimal because not only the user would likely want to enter an address instead of a range, but it also made entering just one address confusing (you had to have the same value on both start and end).  Also, you should only chose one option between read, write or both, there is no point to not have any.

This is why I made more clear how to add an address and it is the default option using radio buttons and I also made the action flags and the flags to be radio buttons.
2016-09-27 01:22:23 -04:00
Lioncash 082275d785 PPCAnalyst: Convert #define into a constant 2016-09-26 20:04:17 -04:00
Lioncash a947391556 PPCAnalyst: Make local constants constexpr 2016-09-26 19:51:48 -04:00
degasus 732e0ff03a VertexLoaderArm64: Mark register allocation as static const. 2016-09-26 22:19:07 +02:00