Commit Graph

21330 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 361c7c9c09 VertexManagerBase: Make class constants constexpr 2016-10-01 03:37:17 -04:00
Lioncash e61eb34ae6 VertexManagerBase: Get rid of a u16 cast
Just using the direct value is more straightforward
2016-10-01 01:05:43 -04:00
Mat M 8017e11784 Merge pull request #4267 from lioncash/vulkan
Vulkan: Amend header includes
2016-09-30 23:33:03 -04: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
Mat M 46b9383280 Merge pull request #3935 from stenzek/vulkan-pr
Vulkan Backend
2016-09-30 19:15:50 -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 4a4f6cc135 Android: Add video backend choice to settings 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
Markus Wick f3cdc6433c Merge pull request #4153 from stenzek/logicop-dstalpha
OGL: Handle case where both constant alpha and logic op is enabled
2016-09-30 16:07:32 +02:00
Stenzek 9f541e490d OGL: Handle case where both constant alpha and logic op is enabled 2016-09-30 23:18:14 +10:00
Markus Wick 60138b0269 Merge pull request #4264 from lioncash/type
SystemRegisters: Get rid of pointer casting
2016-09-30 14:51:01 +02:00
Lioncash 91bbe56f59 SystemRegisters: Get rid of pointer casting 2016-09-30 08:28:07 -04:00
Dolphin Bot 394c50f8be Merge pull request #4236 from SeannyM/android-buttons
Android: Wiimote on-screen buttons + more
2016-09-30 14:17:19 +02: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
Markus Wick ebaaebf967 Merge pull request #4263 from lioncash/mmu
MMU: Remove useless casts
2016-09-30 12:55:58 +02: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
Lioncash 567d0204dd RegisterView: Get rid of explicit memsets in CRegTable's constructor
Also gets rid of an unnecessary fill.

This is done by just default initializing the arrays
2016-09-30 01:28:54 -04:00
Lioncash 212cf4c791 RegisterView: Convert #define into a static constant in CRegTable 2016-09-30 01:28:53 -04:00
Lioncash d080b0e8a5 RegisterView: Move CRegTable implementation details into the cpp file 2016-09-30 01:28:47 -04:00
Lioncash 3ef6b51848 RegisterView: Move FormatSpecifier enum into CRegTable
Considering there's a public method in the class using it, leaving the
definition in the cpp file can cause a linker error if any method outside
that cpp file calls it for one reason or another.
2016-09-30 00:16:16 -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
Sean Maas a317953ad4 Android: More accurate button scaling
Also scale based on button ID for consistency.
2016-09-29 21:46:46 -04:00
Sean Maas 313be655f4 Android: Option to toggle on/off individual buttons 2016-09-29 20:06:59 -04:00
Sean Maas 50b44fa337 Android: More on-screen buttons
GameCube now has a c-stick. For Wii games, there is now a Wiimote + Nunchuk setup.
2016-09-29 20:06:59 -04:00
Sean Maas bd99b318e5 Android: Add on-screen dpad support 2016-09-29 20:06:59 -04:00
Sean Maas c24a22e30f Android: Use button IDs to save screen layout
Using the drawable caused problems such as not being able to have multiple joysticks.
2016-09-29 20:06:59 -04:00