Anthony
35c43e74d0
Merge pull request #6371 from rukai/dolphinQtHotkeyFixes
...
Qt: Various fixes to hotkeys
2018-02-12 09:28:58 -08:00
Anthony
5b744146f3
Merge pull request #6336 from spycrab/qt_additional_wiimote_settings
...
Qt: Implement Wiimote pane
2018-02-12 09:28:15 -08:00
Léo Lam
8e06257f19
Merge pull request #6374 from sepalani/ios-reload
...
ES: Make it fail on unsupported installed IOSes
2018-02-12 10:02:43 +01:00
Sepalani
a663fcb977
IOS: Adjust reply timing to be closer to real hardware
2018-02-11 18:42:19 +01:00
Sepalani
2ce7fff819
ES: Make it fail on unsupported installed IOSes
2018-02-11 18:42:02 +01:00
Stenzek
93fb0e1e1c
TextureCache: Add an option to disable EFB copies to VRAM
...
The option is named DisableCopyToVRAM under the Hacks section in
GFX.ini. It is intentionally not exposed to the GUI, as users should not
need to use it under normal circumstances. The main use is debugging
issues in the EFB-to-RAM shaders.
2018-02-11 15:48:46 +10:00
Stenzek
84b990faa0
VideoConfig: Remove bForceCopyToRam field
...
It's the inverse of supports-copy-to-vram.
2018-02-11 15:29:37 +10:00
Rukai
4b5373b25b
Remove hardcoded esc hotkey, make pause/stop hotkey actually toggle rather than just pausing, fix frame advance hotkey
2018-02-10 23:30:59 +11:00
spycrab
7c99f10152
Qt/Graphics: Add ubershader options
2018-02-10 13:11:18 +01:00
spycrab
c07443a628
Qt/GCMemcardManager: Misc. improvements
2018-02-09 21:54:07 +01:00
spycrab
220e4bcd99
Qt/MappingButton: light up when mapped key is pressed
2018-02-09 12:30:02 +01:00
Stenzek
6490c2b86b
OGL: Use explicit flush instead of GL_SYNC_FLUSH_COMMANDS_BIT
2018-02-09 01:25:14 +10:00
Stenzek
4b96db8fc9
OGL: Don't leave staging texture buffer bound after mapping
...
This could cause glReadPixels() calls which assume no buffer is bound
(e.g. CPU EFB access) to fail. The problem was limited to devices which
don't support persistent mapping, as the map path is not otherwise.
2018-02-09 01:15:27 +10:00
Anthony
c30ac55cf4
Merge pull request #6354 from leoetlino/hle
...
HLE: Minor cleanup
2018-02-07 23:36:31 -08:00
Anthony
096131c908
Merge pull request #6334 from stenzek/startup
...
Video Backend Initialization/Core Boot Improvements
2018-02-07 23:35:54 -08:00
Anthony
4636230f5a
Merge pull request #6333 from stenzek/vulkan-transition
...
Vulkan: Fix invalid stage mask in layout transitions
2018-02-07 23:32:05 -08:00
Anthony
8adce86daa
Merge pull request #6355 from myfreeweb/clang6-warning
...
Add -Wno-register to calm down clang 6.0.0 (C++17 mode)
2018-02-07 22:25:57 -08:00
spycrab
87d7c994e7
Qt/Settings: Implement ControllerStateNeeded
2018-02-07 18:49:23 +01:00
Christian Murphy
5b01c5e119
Qt: Implement Wiimote speaker volume slider and Wiimote motor toggle, rebased all changes... included fixed based on feedback by ligfx
2018-02-07 18:46:13 +01:00
spycrab
2f7b68ade5
Qt/BreakpointWidget: Fix MBP delete
2018-02-06 11:06:14 +01:00
Greg V
9b201815f2
Ignore -Wregister to calm down recent clang and GCC (C++17 mode)
...
The 'register' keyword is used by a header included from Xlib (X11/XKBlib.h).
2018-02-05 14:43:07 +03:00
Léo Lam
920dd0edd0
Merge pull request #6358 from myfreeweb/dont-link-usbhid
...
Do not link to libusbhid on FreeBSD/NetBSD
2018-02-05 11:59:35 +01:00
Anthony
2442a34c3d
Merge pull request #6357 from leoetlino/evdev
...
evdev: Minor fixes
2018-02-04 16:29:25 -08:00
Léo Lam
6a93223283
evdev: Always unref received udev devices
...
Whenever udev_monitor_receive_device() returns a non-null pointer,
the device must be unref'd after use with udev_device_unref().
We previously missed some unref calls for non-evdev devices.
2018-02-05 01:01:05 +01:00
Léo Lam
0822bb347d
evdev: Don't leak eventfd on shutdown
2018-02-04 22:48:38 +01:00
Greg V
be716a680f
Do not link to libusbhid on FreeBSD/NetBSD
...
Both libusbhid (system library) and libhidapi (3rd party library)
provide a function called hid_init. Dolphin was being linked to both.
The WiimoteScannerHidapi constructor was calling hid_init without
arguments. libusbhid's hid_init expects one argument (a file path).
It was being called as if it was defined without arguments, which
resulted in a garbage path being passed in, and because of that,
the Qt GUI was failing to launch with the following error:
'dolphin-emu-qt2: @ : No such file or directory'
2018-02-05 00:46:59 +03:00
Léo Lam
9a3705f82d
evdev: Fix select() call
...
It's not guaranteed that the eventfd is smaller than the monitor fd,
because fds are not always monotonically allocated. To select()
correctly in all cases, use the max between the monitor fd and eventfd.
2018-02-04 22:45:28 +01:00
spycrab
f253c1ea32
Qt/MappingButton: Save settings when a mapping is changed
2018-02-04 22:03:38 +01:00
Léo Lam
3deb8ce074
HLE: Use enum classes for HookType and HookFlag
2018-02-04 14:50:55 +01:00
Léo Lam
a184ab93b6
HLE: Remove an unused function
...
There is nothing using PanicAlert in either official titles or libogc.
2018-02-04 14:41:55 +01:00
Léo Lam
44391ad2fe
Merge pull request #6353 from spycrab/qt_fix_invdev
...
Qt/MappingWindow: Fix invalid device being selected by default
2018-02-04 12:54:14 +01:00
spycrab
489f478751
Qt/MappingWindow: Fix invalid device being selected by default
2018-02-03 20:21:44 +01:00
Anthony
32d206362f
Merge pull request #6351 from spycrab/qt_fix_switch
...
Qt: Work around broken drivers that don't allow backend switching
2018-02-03 09:18:16 -08:00
spycrab
7c5e464584
Qt: Work around broken drivers that don't allow backend switching
2018-02-03 14:19:12 +01:00
Léo Lam
2ab29e8284
Merge pull request #6311 from cbdevnet/master
...
Have dolphin-emu-nogui conform to the _NET_WM_PID protocol
2018-02-03 10:42:49 +01:00
cbdev
6182ab6a6a
dolphin-emu-nogui: Conform to the _NET_WM_PID protocol
2018-02-03 03:43:42 +01:00
Stenzek
cf5bf3899f
Merge pull request #6345 from spycrab/qt_fix_fsw
...
Qt/FileystemWidget: Fix crash when right-clicking GC disc
2018-02-03 00:56:55 +10:00
Stenzek
e20eac72f4
Merge pull request #6347 from spycrab/qt_update_defiso
...
Qt/Settings: Update default gamelist path textbox when changed
2018-02-03 00:55:45 +10:00
Stenzek
3e494baff2
Merge pull request #6346 from spycrab/qt_dbg_checkbox
...
Qt/NewBreakpointDialog: Fix radio button weirdness
2018-02-03 00:50:30 +10:00
Stenzek
75583ab098
Merge pull request #6350 from spycrab/qt_gc_selbug
...
Qt/GameCubePane: Fix file selection
2018-02-03 00:48:08 +10:00
spycrab
3f4a3b2456
Qt/GameCubePane: Fix file selection
2018-02-02 12:32:55 +01:00
Stenzek
260d5b7aa7
BPMemory: Handle fog configuration where both A and C are infinity/NaN
...
The console appears to behave against standard IEEE754 specification
here, in particular around how NaNs are handled. NaNs appear to have no
effect on the result, and are treated the same as positive or negative
infinity, based on the sign bit.
However, when the result would be NaN (inf - inf, or (-inf) - (-inf)),
this results in a completely fogged color, or unfogged color
respectively. We handle this by returning a constant zero for the A
varaible, and positive or negative infinity for C depending on the sign
bits of the A and C registers. This ensures that no NaN value is passed
to the GPU in the first place, and that the result of the fog
calculation cannot be NaN.
2018-02-01 17:40:39 +10:00
Anthony
1264daae9b
Merge pull request #6327 from spycrab/qt_memcard_manager
...
Qt: Implement GameCube memcard manager
2018-01-31 13:22:40 -08:00
spycrab
28ad12bf30
Qt/Settings: Update default gamelist path textbox when changed
2018-01-31 19:58:02 +01:00
spycrab
8f43f379a0
Qt/NewBreakpointDialog: Fix radio button weirdness
2018-01-31 19:28:44 +01:00
spycrab
8a612bf285
Qt/FileystemWidget: Fix crash when right-clicking GC disc
2018-01-31 13:51:46 +01:00
Stenzek
987bec2fd5
Merge pull request #6342 from spycrab/qt_rw_flicker
...
Qt/RenderWidget: Avoid flickering
2018-01-31 12:43:19 +10:00
Léo Lam
d04b179111
Merge pull request #6344 from spycrab/qt_gc_mcselector
...
Qt/GameCubePane: Fix memory card selector
2018-01-30 17:49:13 +01:00
spycrab
50eb8a5c81
Qt/AdvancedPane: Add ability to change clock speed while the game is running
2018-01-30 12:08:44 +01:00
spycrab
350c1f999c
Qt/GameCubePane: Fix memory card selector
2018-01-30 10:23:57 +01:00
spycrab
e5994706eb
Qt/RenderWidget: Avoid flickering
2018-01-30 10:05:50 +01:00
Léo Lam
3bceb3c52a
Merge pull request #6328 from spycrab/qt_fix_gc_amnesia
...
Qt/GameCubePane: Various fixes
2018-01-29 21:58:59 +01:00
Stenzek
fe5150cc31
Merge pull request #6303 from TraceBullet/auto-adjust-window-size
...
Fix Auto-Adjust Window Size option making the window too large
2018-01-29 17:28:44 +10:00
spycrab
21db1e9504
Qt: Implement GameCube memory manager
2018-01-29 01:01:25 +01:00
spycrab
d0b64745d8
Qt/RegisterColumn: Fix value columns not being editable
2018-01-28 17:10:33 +01:00
spycrab
28e0388658
Qt/GameCubePane: Fix EXIDevices resetting to Nothing
2018-01-27 15:09:14 +01:00
Stenzek
15efd42eba
Jit64: Don't flush PC in exception block
...
These blocks can only be executed as a result of a DSI exception from a
loadstore, where we now flush the PC register prior to the loadstore.
2018-01-27 22:32:57 +10:00
Stenzek
8933fe599c
Jit64: Update PC before slowmem reads as well as writes
2018-01-27 22:29:39 +10:00
Stenzek
7f3c31d78d
Jit64: Set correct PC when emitting slowmem trampoline
2018-01-27 18:19:42 +10:00
Stenzek
505d30be3d
DolphinWX: Move fullscreen switch to after startup is complete
...
This means that any error messages won't be hidden by the fullscreen
window.
2018-01-27 14:17:14 +10:00
Stenzek
c790077c13
VideoBackend: Remove PeekMessages method
...
The video thread and backend no longer create any windows, therefore
there will never be any messages dispatched to their thread.
2018-01-27 13:53:55 +10:00
Stenzek
d96e8c9d76
VideoBackends: Combine Initialize/Prepare and Cleanup/Shutdown methods
...
Also allows the work previously done in Prepare to return a failure
status.
2018-01-27 13:53:55 +10:00
Stenzek
04027a7da7
Core: Improve ordering of boot
...
- Smplification of graphics backend startup/shutdown.
- Don't send complete message until CPU is ready to execute.
- Remove redundant stop message.
- Remove OSD message with backend name.
2018-01-27 13:53:55 +10:00
Stenzek
f9053527a9
Core: Don't spawn an extra thread in single-core mode
...
We don't need a message pump thread for the video backend, as the window
is created on the UI thread, not the "idle" emu thread.
2018-01-27 13:53:55 +10:00
Stenzek
c81ac1a81d
Merge pull request #6332 from stenzek/frame-dump-crash
...
Renderer: Fix crash on shutdown when frame dumping or taking screenshots
2018-01-27 12:27:46 +10:00
TraceBullet
ab6f932347
Fix Auto-Adjust Window Size option making the window too large
2018-01-26 10:47:19 -05:00
Léo Lam
0eaf3deb1e
Merge pull request #6322 from spycrab/qt_gecko_input
...
Qt/GeckoCodeWidget: Add option to add/remove gecko codes from UI
2018-01-26 13:33:15 +01:00
Léo Lam
28176d0117
Merge pull request #6309 from sepalani/rsbk-sym-map
...
PPCSymbolDB: two columns symbol map support added
2018-01-26 13:12:46 +01:00
Léo Lam
2ad344b725
Merge pull request #6323 from spycrab/qt_connect_wiimote
...
Qt: Implement "Connect Wii Remotes" menu
2018-01-26 13:10:22 +01:00
Stenzek
81ae88d2d5
AbstractTexture: Fix crash in Vulkan backend when freeing texture
2018-01-26 19:12:11 +10:00
Stenzek
fd39103c73
Vulkan: Fix invalid stage mask in layout transitions
2018-01-26 12:33:24 +10:00
Stenzek
47f453d7aa
Vulkan: Fix waiting on non-existant fence when reading back
2018-01-26 12:33:24 +10:00
Stenzek
3f197480ef
Renderer: Fix crash on shutdown when frame dumping or taking screenshots
2018-01-26 12:12:00 +10:00
spycrab
ee90893bfe
Qt/GeckoCodeWidget: Option to add/remove gecko codes from UI
2018-01-24 21:09:59 +01:00
JosJuice
c5ac325fb8
Add missing &s to Qt AR strings
...
Without this, the strings differ from DolphinWX
and thus have to be re-translated by the translators.
2018-01-24 20:38:41 +01:00
spycrab
aae5c950f0
Qt: Implement "Connect Wii Remotes" menu
2018-01-24 19:47:47 +01:00
spycrab
d9d75c27f0
Qt/ARCodeWidget: Use CheatCodeEditor
2018-01-24 13:42:00 +01:00
spycrab
a0f787aa1b
Qt: Turn ARCodeEditor into general purpose CheatCodeEditor
2018-01-24 13:35:13 +01:00
Sepalani
df9611255a
PPCSymbolDB: two columns symbol map support added
2018-01-24 12:43:23 +01:00
Markus Wick
c66156148d
Merge pull request #6317 from stenzek/renderer-bind
...
AbstractTexture: Move Bind() method to Renderer
2018-01-24 12:19:53 +01:00
Léo Lam
432ebe793e
Merge pull request #6318 from JosJuice/qt-debugger-strings
...
Tweak Qt debugger strings to be more translation friendly
2018-01-24 10:39:11 +01:00
Léo Lam
a972892821
Merge pull request #6320 from sepalani/dwc_printf
...
HLE: DWC_Printf debug added
2018-01-24 10:29:02 +01:00
Anthony
2c1cb609cc
Merge pull request #6287 from spycrab/qt_gamecube
...
Qt/Settings: Implement "GameCube pane"
2018-01-23 12:25:05 -08:00
Anthony
440101a6bb
Merge pull request #6279 from spycrab/qt_arcodes
...
Qt: Implement "AR Codes"
2018-01-23 12:23:54 -08:00
Sepalani
6ffb5dbaaa
HLE: DWC_Printf debug added
2018-01-23 19:02:32 +01:00
Stenzek
38e0b6e2ab
AbstractTexture: Move Bind() method to Renderer
...
This makes state tracking simpler, and enables easier porting to command
lists later on.
2018-01-22 13:22:09 +10:00
JosJuice
04b9310bb6
Tweak Qt debugger strings to be more translation friendly
2018-01-21 16:33:46 +01:00
Markus Wick
fca56d532a
Merge pull request #4453 from degasus/custom_texture
...
CustomTexture: Drop old texture format.
2018-01-21 11:22:49 +01:00
spycrab
42c562afbc
Qt: Fix render window resize bug
2018-01-20 21:05:04 +01:00
degasus
a5a0599145
CustomTexture: Drop old texture format.
2018-01-20 17:08:47 +01:00
degasus
0b466249e0
CustomTextures: Drop format convertion.
2018-01-20 16:39:04 +01:00
JosJuice
2441fd28d5
AVIDump: Remove incorrect usage of s_ prefix
2018-01-17 22:19:14 +01:00
Markus Wick
e02025b45e
Merge pull request #6307 from rukai/fix-frame-dump-path
...
Handle framedump path not existing
2018-01-17 22:02:51 +01:00
Lucas Kent
6c7e6016fb
Handle framedump path not existing
2018-01-18 07:53:30 +11:00
Markus Wick
cb7eede193
VideoCommon: Apply custom texture scale for arbitrary mipmaps.
...
We want to get the same mipmap level. And if the IR and the custom
texture upscaling fits, we don't need to modify the LOD bias.
2018-01-17 09:02:36 +01:00
Markus Wick
2a43f41ace
Merge pull request #6297 from JosJuice/custom-texture-arb-filename
...
Treat custom textures with "_arb" suffix as having arbitrary mipmaps
2018-01-15 09:58:30 +01:00
spycrab
fffa883cae
Qt/Settings: Implement "GameCube pane"
2018-01-14 12:24:05 +01:00
Léo Lam
27b6a2e634
Merge pull request #6292 from gyroninja/master
...
Fixed SIGSEGV in PPCDebugInterface When Reading Too Early in The Boot Process
2018-01-13 14:34:38 +01:00
Léo Lam
973bd154b9
Merge pull request #6304 from container1234/qt-debugger
...
Qt/Debugger: Minor fixes
2018-01-13 11:53:20 +01:00
container1234
025d9383ac
Use double instead of float for FPRs
2018-01-13 19:33:11 +09:00
container1234
b6138b9408
Fix 64bit registers that are not displayed correctly
2018-01-13 16:21:32 +09:00
gyroninja
9628e22916
Changed PPCDebugInterace to check memory only after the emulator has finished starting
2018-01-12 15:18:29 -08:00
Léo Lam
955214c6b6
Merge pull request #6299 from Ebola16/master
...
ISOProperties: Rename "Edit Config" and "Show Defaults"
2018-01-12 21:34:16 +01:00
Markus Wick
56d74d65d0
Merge pull request #6298 from 34will/feature/Android_Single_Char_Fix
...
[Android] Fix for single char name for Wii and WAD Games
2018-01-12 09:41:52 +01:00
Stenzek
ce0c699b66
Merge pull request #6246 from stenzek/vulkan-readback-fixes
...
Vulkan: Fix MSAA regression from 5.0-5968
2018-01-12 11:46:55 +10:00
34will
86a787bdf9
Modified StringUtil to change UTF16ToUTF8 to use a wstring_convert and codecvt_utf8<wchar_t> to convert a UTF16 wstring to a UTF8 string.
2018-01-11 21:49:25 +00:00
Markus Wick
b93ae14272
Merge pull request #6300 from JonnyH/WIP/glsl-es-implicit-int-float-conversions-in-gpu-texture-decode
...
GLSL-ES doesn't allow implicit int/uint conversions
2018-01-11 22:22:05 +01:00
34will
a949e98d9b
Modified UTF16BEUTF8 to just convert the UTF-16 C-string into a std::u16string, and pass it into CodeToUTF8 with the 'from' parameter being "UTF-16BE", rather than manually performing the big endian to little endian encoding.
2018-01-11 19:51:19 +00:00
Jonathan Hamilton
46254a2cf2
Some more implicit uint/float conversions in the texture decode shaders
2018-01-11 11:15:40 -08:00
Jonathan Hamilton
f23dd992dd
GLSL-ES doesn't allow implicit int/uint conversions
2018-01-11 10:54:55 -08:00
Ryan Meredith
1fabc93756
ISOProperties: Rename Edit Config and Show Defaults
2018-01-11 08:31:01 -05:00
Stenzek
4997fbce44
Vulkan: Fix possible mismatch between EFB framebuffer and render pass
...
This could happen when changing MSAA settings or internal resolution at
runtime.
2018-01-11 16:02:31 +10:00
Stenzek
0525726338
Vulkan: Move pipeline barrier outside render pass for EFB peeks
2018-01-11 15:36:01 +10:00
Stenzek
48a8063cd5
Vulkan: Fix FramebufferManagerBase::m_EFBLayers being set out-of-range
2018-01-11 15:30:27 +10:00
Stenzek
173a33886c
Vulkan: Move render pass management to ObjectCache
2018-01-11 15:21:34 +10:00
Stenzek
0e50b2c9f2
Vulkan: Add missing layout transition when resolving MSAA depth buffers
2018-01-11 15:21:33 +10:00
34will
ba111959fa
Modified StringUtil to use a u16string instead of a wstring in the non-win32 UTF16BEToUTR8 method.
2018-01-11 02:45:27 +00:00
JosJuice
226b65bd38
Clean up variable naming in HiresTextures::Update
2018-01-10 17:53:51 +01:00
JosJuice
c25fffc9a0
Treat custom textures with "_arb" suffix as having arbitrary mipmaps
...
This is adapted from Bighead's code that was posted at
https://forums.dolphin-emu.org/Thread-dolphin-custom-texture-mipmaps?pid=460867#pid460867
In master, custom textures are never treated as having arbitrary mipmaps,
so we need either a change like this or a change that makes us apply the
arbitrary mipmap heuristic even when a custom texture is used.
2018-01-10 17:51:45 +01:00
Anthony
57640a4c83
Merge pull request #6293 from container1234/dolphinqt-debugger
...
Qt/Debugger: Add TB, XER and GQRs to Registers Window
2018-01-09 21:25:17 -05:00
container1234
5cff714b77
Qt/Debugger: Add TB, XER and GQRs to Registers Window
2018-01-09 18:09:01 +09:00
Markus Wick
22f469697b
Merge pull request #6290 from JosJuice/invalid-aspect-ratio
...
Treat invalid aspect ratio setting values as Auto
2018-01-08 13:46:30 +01:00
JosJuice
1557e6ab05
Specify underlying types for enums that get casted from integers
...
Otherwise we might get UB if the value we cast is larger than the
max value of the underlying type that the compiled picked for the enum.
I haven't done any extensive check through Dolphin to find cases
of this, I'm just fixing the cases I already know of.
2018-01-08 12:14:18 +01:00
JosJuice
a2404c42a1
Treat invalid aspect ratio setting values as Auto
2018-01-06 12:53:53 +01:00
Markus Wick
56d153f548
VideoCommon: Apply the yscale as upscaling of the XFB.
2018-01-06 10:36:33 +01:00
Markus Wick
dc08b73db1
Merge pull request #6141 from JonnyH/WIP/shader-framebuffer-fetch2
...
Implement dual-source blending in shader
2018-01-05 23:42:43 +01:00
Markus Wick
1cf1e7cde0
Merge pull request #6286 from JosJuice/game-list-cache-vector
...
DolphinWX: Speed up in-memory operations on game list cache
2018-01-05 23:37:41 +01:00
JosJuice
6ad04fc589
Merge pull request #6288 from JosJuice/boot-savestate-thread
...
Don't involve host thread when booting from savestate
2018-01-05 21:45:28 +01:00
JosJuice
af51063a9a
DolphinWX: Rewrite the logic for adding/removing games from cache
...
Thanks to degasus for coming up with most of this faster design.
2018-01-05 19:52:14 +01:00
Jonathan Hamilton
c709f3c2d1
Standardise some enums from ALL_CAPS to CamelCase
2018-01-05 10:03:58 -08:00
Jonathan Hamilton
ceb1f8c8cb
Enable shader_framebuffer_fetch blend path on ubershaders
...
Tested on a linux Intel Skylake integrated graphics with
blend_func_extended force-disabled, as it's the only platform I have
that doesn't crash with ubershaders and supports fb_fetch
2018-01-05 09:56:46 -08:00
Jonathan Hamilton
8d68adcaf3
Workaround qualcomm driver bug
...
It seems it doesn't like modifying inout variables in place - so instead
use a temporary for ocol0/ocol1 and only write them once at the end of
the shader
2018-01-05 09:56:46 -08:00
Jonathan Hamilton
29a9ed043b
Implement dual-source blending in shader
...
For some GLES drivers that don't support dual-source blending, but do
support GL_EXT_shader_framebuffer_fetch, this might be useful.
2018-01-05 09:56:46 -08:00
Markus Wick
11976526d1
Merge pull request #6283 from JosJuice/qt-vs-launch
...
Fix launching DolphinQt2 from Visual Studio
2018-01-05 15:34:33 +01:00
Markus Wick
ff8893b1a9
Merge pull request #6277 from vladfi1/surfaceless_egl
...
Surfaceless egl rendering.
2018-01-05 15:20:35 +01:00
JosJuice
c492a5a86a
Don't involve host thread when booting from savestate
...
Suggested by https://github.com/dolphin-emu/dolphin/pull/6271#discussion_r159868704
2018-01-05 14:14:12 +01:00
Markus Wick
e705d43312
Merge pull request #6270 from mahdihijazi/suppport_restore_state
...
[Android] Support restore emulator state
2018-01-05 13:45:36 +01:00
spycrab
2167a45c24
Qt/Mapping: Implement Microphone widget
2018-01-04 18:42:42 +00:00
JosJuice
04cefc6ed3
DolphinWX: Use vector instead of list for game list cache
...
The advantage of std::list is that elements can be removed from the
middle efficiently, but we don't actually need that, because the
ordering of the elements doesn't matter for us. We can just replace the
element we want to remove with the last element and then call pop_back.
Replacing list with vector should speed up looping through the elements.
2018-01-04 17:14:35 +01:00
JosJuice
e44b64b82c
DolphinQt2: Don't use a mutex in GameFileCache
...
GameTracker's usage of GameFileCache is thread-safe even without
using a mutex. All of its access to GameFileCache happens on the
thread m_load_thread, except for the call to GameFileCache::Load,
which finishes before m_load_thread starts executing.
2018-01-04 16:33:15 +01:00
JosJuice
9988652d86
Fix launching DolphinQt2 from Visual Studio
...
Starting with 5.0-5504, trying to launch DolphinQt2 from Visual Studio
shows the error message "The operation could not be completed. Undefined
error" instead of launching the exe file. (The exe gets created
correctly, it just doesn't get launched. It's possible to work around
the problem by launching the exe manually outside of Visual Studio, but
then you won't have an attached debugger automatically.) This commit
fixes that by removing headers from DolphinQt2.vcxproj's ClInclude list
that already are in the QtMoc list. (The problem was originally about
LogWidget.h and LogConfigWidget.h, but 5.0-5600 made the problem be
about CheatWarningWidget.h and GeckoCodeWidget.h instead.)
2018-01-04 13:03:47 +01:00
Léo Lam
637fbec35d
Merge pull request #6274 from myfreeweb/freebsd-libusb-no-detach
...
passthrough: do not detach kernel driver on FreeBSD
2018-01-04 10:39:58 +01:00
Vlad Firoiu
330881ae80
Allow users to specify the encoder used for framedumping.
2018-01-03 13:23:10 +01:00
Léo Lam
1f89d91deb
Merge pull request #6280 from spycrab/qt_screensaver
...
Qt: Toggle Screensaver
2018-01-03 13:13:18 +01:00
spycrab
adada16603
Qt: Toggle Screensaver
2018-01-03 12:38:34 +01:00
spycrab
0dd52ca7ab
UICommon: Move screensaver code to UICommon
2018-01-03 12:38:33 +01:00
Markus Wick
075a226961
Merge pull request #4437 from sepalani/d3d11_fix_debug_build
...
MAX_XFB_HEIGHT: PAL value off by two fixed
2018-01-03 08:53:26 +01:00
Pierre Bourdon
fd13851df2
Merge pull request #6076 from spycrab/qt_debugger
...
Qt: Implement Debugger (part 1 of ∞)
2018-01-03 03:44:27 +01:00
Markus Wick
cb168b1843
Merge pull request #6134 from ligfx/soundstreamlifecycle
...
SoundStream: change Start/Stop lifecycle to Init/SetRunning/destruct
2018-01-02 09:58:36 +01:00
spycrab
afa69a5876
Qt: Implement "AR Codes"
2018-01-01 21:44:49 +00:00
spycrab
4f4021686e
Qt/KDE: Fix icon
2018-01-01 12:31:53 +00:00
Sepalani
44935c23e0
MAX_XFB_HEIGHT: PAL value off by two fixed
2017-12-30 20:22:10 +01:00
Vlad Firoiu
45ac9b678d
Require WINDOW_BIT if we have a window handle.
2017-12-29 23:20:16 -05:00
Vlad Firoiu
eb59267196
Surfaceless egl rendering.
2017-12-29 19:35:43 -05:00
JosJuice
82a6701f79
Optionally delete savestate that gets loaded at boot
2017-12-28 23:15:48 +01:00
spycrab
b63ec57c1e
Qt: Connect debugging widgets
2017-12-28 19:08:38 +01:00
spycrab
8795b342d1
Qt/Debugger: Implement "Breakpoints" window
2017-12-28 19:08:38 +01:00
spycrab
08716be43b
Qt/Debugger: Implement "Watch" window
2017-12-28 19:07:56 +01:00
spycrab
ec37ce093f
Qt/Debugger: Implement "Registers" window
2017-12-28 19:07:18 +01:00
spycrab
2a19ccf806
Qt/InterfaceSettings: Add "Show Debugging UI" option
2017-12-28 18:59:42 +01:00
spycrab
ff283ff912
Qt/Settings: Add debug mode flag
2017-12-28 18:59:42 +01:00
JosJuice
1df69c5750
Merge pull request #6051 from JosJuice/android-sys
...
Android: Extract Sys to a different folder than the User folder
2017-12-27 17:34:24 +01:00
JosJuice
9dd88d76dd
Redesign the ability to load state at boot
...
BootParameters can now contain the path of a savestate to load at boot.
Movie has been made to use this instead of poking at Core.cpp's state.
2017-12-26 20:39:03 +01:00
Greg V
5c1c67d4d8
passthrough: do not detach kernel driver on FreeBSD
...
libusb_detach_kernel_driver() always fails as a regular non-root user:
https://lists.freebsd.org/pipermail/freebsd-usb/2016-March/014161.html
2017-12-26 21:50:50 +03:00
JosJuice
b3b7aef09a
Android: Extract Sys to a different folder than the User folder
2017-12-26 09:53:32 +01:00
JosJuice
ac18cffcab
DolphinQt2: Don't crash when trying to play without a game selected
2017-12-25 18:41:53 +01:00
JosJuice
d1c1793a34
Don't expose SYSDATA_DIR in a header
2017-12-24 17:13:04 +01:00
Leo Lam
b187d4cd08
Merge pull request #6269 from JosJuice/ini-section-mapping
...
GameConfigLoader: Map whole sections, not just individual keys
2017-12-24 15:26:47 +01:00
JosJuice
f41273fe79
GameConfigLoader: Map whole sections, not just individual keys
...
There are two reasons for this change:
1. It removes many repetitive lines of code.
2. I think it's a good idea to enable the use of old-style section
names even for settings that previously haven't been settable in game
INIs. Mixing the two styles in INIs (using the new style only for new
settings) is not ideal, and people on the forums don't even seem to
know that the new style exists (nobody knew a way to set ubershader
settings per game, for instance). Encouraging everyone to start using
only the new style might work long-term, but it would take take time
and effort to make everyone get used to it. Considering that this commit
*reduces* the amount of code by adding the ability to use old-style
names for more settings, I'd say that adding this ability is worth it.
2017-12-23 18:59:27 +01:00
JosJuice
5296ee6d3d
Reduce the indentation level of MapINIToRealLocation
2017-12-23 18:25:49 +01:00
iwubcode
50d96a4411
BPStructs: Use static cast for XFB/EFB copies
2017-12-21 21:19:26 -06:00
iwubcode
e1332b1d7e
Texture Cache Base: Move PAL vertical scaling to be baked into the texture size. This saves on a number of multiplications and fixes an issue where we were multiplying the y-scaling factor by the srcRectangle's height + 1 which was causing a crash in some GC titles
2017-12-21 21:19:26 -06:00
Ryan Meredith
1f226ec14f
Update Readme.md and various fixes
2017-12-20 10:54:51 +01:00
JosJuice
a3355a3e4a
Only use the "Scaled EFB Copy" setting for EFB, not XFB
...
The hybrid XFB PR made it apply to both EFB copies and XFB copies.
2017-12-19 12:59:36 +01:00
Markus Wick
5006ac5c51
Merge pull request #6262 from linkmauve/no-shadow
...
Rename constructor parameters to avoid shadowing members
2017-12-19 12:23:32 +01:00
Emmanuel Gil Peyrot
f5dc8e7737
Rename constructor parameters to avoid shadowing members
2017-12-19 12:05:06 +01:00
Emmanuel Gil Peyrot
d9c2de90c0
Reimplement EFB copy for intensity formats
...
This is the direct continuation of #5887 , and removes the last usage of
the colmat matrix in EFB copy conversion shaders.
2017-12-19 12:04:56 +01:00
Markus Wick
0bf24f549a
Merge pull request #6190 from JosJuice/is-trivially-copyable-vs
...
Remove IsTriviallyCopyable hack for VS
2017-12-19 11:15:58 +01:00
Markus Wick
ed13a8d7a7
Merge pull request #6255 from JosJuice/strerrorr-detect
...
Handle both the XSI and GNU versions of strerror_r
2017-12-19 09:47:51 +01:00
Markus Wick
5afd07c033
Merge pull request #6254 from iwubcode/frame_counter_and_advance_fix
...
Video Common: frame logic fix
2017-12-19 09:44:49 +01:00
JosJuice
bd5da5cfd6
Handle both the XSI and GNU versions of strerror_r
...
Trying to force the XSI version by undefining _GNU_SOURCE can lead
to compilation errors on some systems because of headers expecting
that _GNU_SOURCE is defined.
This commit uses define checks to detect which version we have.
I tried making an overloaded function (int and const char*) instead,
but that led to a warning about one of the variants being unused.
2017-12-18 22:09:02 +01:00
JosJuice
4973ae9952
Rename GFX_HACK_COPY_EFB_ENABLED to GFX_HACK_COPY_EFB_SCALED
...
Not sure why it was named like this... It doesn't affect whether
the copy happens or not, only what resolution it uses.
2017-12-18 21:55:02 +01:00
Leo Lam
4733bbd8f3
Merge pull request #6166 from ligfx/invokedeviceschangedcallbacks
...
ControllerInterface: cleanup callbacks API and logic
2017-12-15 21:05:17 +01:00
Leo Lam
a4592bc3c5
Merge pull request #6210 from ligfx/qtmappingwindowdontstoredevq
...
MappingWindow: don't store devq separately from controller default device
2017-12-15 20:50:06 +01:00
Leo Lam
7e7f1fe713
Merge pull request #6226 from aldelaro5/add-xer-debugger
...
debugger: Add the XER to the register view
2017-12-15 20:49:24 +01:00
Leo Lam
fa0cf5c038
Merge pull request #6247 from leoetlino/homebrew
...
Boot: Minor fixes for Wii homebrew
2017-12-15 20:47:02 +01:00
bobjrsenior
7589ade972
DolphinWX: Add TB and GQR to Register Window
...
The Time Base Register was added under the BAT registers. TBL and TBU
were ORed together to get one 64-bit value to display. It is labeled TB
The Graphics Quantisation Registers were added under the Segment
Registers. They are Labeled GQR0-GQR7.
All new registers are read only.
2017-12-15 20:38:46 +01:00
iwubcode
2f7eacd08c
Video Common: move frame advance and counter logic to only happen when we actually render a frame.
2017-12-15 12:46:18 -06:00
Jonathan Hamilton
a38103afbf
Fix GLES GPU texture conversion shader
...
GLES doesn't support C-style array initialisers, so stuff like:
Type var[2] = {
VALUE_A,
VALUE_B
};
isn't supported in GLES (it was added in
GL_ARB_shading_language_420pack).
The texture conversion shader used this, so would fail to compile on
GLES.
2017-12-12 22:01:10 +00:00
Markus Wick
a70c03a1c0
Merge pull request #6249 from stenzek/texture-dump
...
Texture dumping regression fixes
2017-12-11 08:44:09 +01:00
Jonathan Hamilton
e401004766
Fix an invalid (uint < int) comparison in GLES with ubershaders
2017-12-10 10:52:32 -08:00
Stenzek
2579f8eaa5
TextureCache: Don't dump custom textures
...
They don't have a basename, therefore were being saved to empty files, and potentially can be compressed.
2017-12-10 15:31:46 +10:00
Stenzek
5f5aca7870
OGL: Fix incorrect usage of glGetTextureSubImage
...
Was causing issues with texture dumping on newer drivers.
2017-12-10 15:31:14 +10:00
Markus Wick
eb1ae38304
Merge pull request #6027 from JonnyH/WIP/chained-signal-handler-android-debuggerd
...
Call the previously-set sigaction in fastmem handler if it's not our fault
2017-12-10 00:18:13 +01:00
Jonathan Hamilton
8ae76a6680
Fix arm64 MOVI2R for addresses between 2gb and 4gb offset from PC
...
The PC offset ADRP() path takes a s32 value, but the input offset was
being tested as abs(ptr) < 0xFFFFFFFF. This caused values between
0x80000000 and 0xFFFFFFFF to incorrectly use this path, despite the
offsets not being representable in an s32.
This caused a crash in the VertexLoader on android 8.1 immediate in wind
waker (and possibly all other apps on android 8.1) as the jit and data
sections happened to be loaded 4gb apart in virtual memory, causing some
pointers to hit this
2017-12-09 13:21:58 -08:00
Léo Lam
3dd777be70
Boot: Add default exception handlers
...
Some homebrew expect exception handlers to be present -- which is
almost always the case on console, since most of the time homebrew are
launched from either a libogc or SDK title) -- and break if they are
not. To fix this, we just need to include default, dummy handlers.
2017-12-09 17:24:04 +01:00
Léo Lam
520039ab28
Boot: Use values from libogc for booting Wii homebrew
...
Set HID0, HID4, GPR1 to values that are used by libogc for
initialisation. This makes boots more similar to a launch
from the HBC or another loader, since normally the registers
have already been initialised by the loader.
This fixes a crash in homebrew that assume GPR1 points to a correct
location and attempt to use it before initialising registers.
2017-12-09 17:24:03 +01:00
Léo Lam
ecd7191b5a
Boot: Fix BAT setup in Wii mode
...
HID4.SBE must be set before calling PowerPC::Update{D,I}BAT, otherwise
extended BATs will not be enabled.
2017-12-09 17:24:03 +01:00
Leo Lam
1a9d6b99e9
Merge pull request #6237 from lioncash/gekko-disasm
...
GekkoDisassembler: Correct disassembly of fabs, fnabs, and fneg
2017-12-08 22:50:40 +01:00
Lioncash
e88c457276
DolphinWX: Resolve missing declaration warnings
...
Without the include, the prototypes of the functions can't be found
2017-12-07 18:58:20 -05:00
Anthony
3b887388cd
Merge pull request #6234 from amolloy/high_sierra
...
Fix Wiimote support on macOS 10.13 High Sierra
2017-12-07 12:04:37 -08:00
Pierre Bourdon
8a830074b6
Merge pull request #6220 from leoetlino/utf8
...
WX: Fix argument parsing
2017-12-07 15:16:39 +01:00
Leo Lam
ecf30cfc74
Merge pull request #6240 from JosJuice/stream-path-encoding
...
Don't use wrong encoding for paths when opening streams on Windows
2017-12-07 10:04:55 +01:00
degasus
02dd062518
VideoCommon: Drop now unused efb2tex matrix generation.
2017-12-06 09:30:03 +01:00
JosJuice
9d8a82e1d9
Don't use wrong encoding for paths when opening streams on Windows
2017-12-05 21:23:35 +01:00
Stenzek
d0601c0a83
TextureConversionShader: Use round() instead of roundEven() in HLSL
...
HLSL does not define roundEven(), only round(). This means that the
output may differ slightly for OpenGL vs Direct3D. However, it ensures
consistency across OpenGL drivers, as round() in GLSL can go either way.
2017-12-06 03:33:50 +10:00
Stenzek
e0ffce2785
D3D: Use VideoCommon EFB-to-texture shaders
2017-12-06 03:33:50 +10:00
Stenzek
beb35320f6
TextureConverterShaderGen: Make generated shaders HLSL-compatible
2017-12-06 03:33:50 +10:00
Leo Lam
08da19fc87
Merge pull request #6217 from ligfx/qtfifofix
...
FIFOPlayerWindow: don't reset frame/object limit every frame
2017-12-04 12:05:33 +01:00
Lioncash
ed2be3b8e3
DolphinWX/Main: Fix shader compilation dialog translations
...
Fixes issue 10685
2017-12-04 04:33:49 -05:00
Markus Wick
30b5cbcb02
Merge pull request #6235 from lioncash/reorder
...
WiiSaveBanner: Resolve a -Wreorder warning
2017-12-04 08:52:42 +01:00
Lioncash
de82330a74
GekkoDisassembler: Correct disassembly of fabs, fnabs, and fneg
...
These three instructions use the B field (bits 16-20 of the opcode)
to determine what the operand register is. However, the code was
using the path that uses the C field (bits 21-25).
This amends the code to use the B field (and also fixes the 64-bit PPC
opcodes, because why not?).
Fixes issue 10683.
2017-12-04 00:02:35 -05:00
Lioncash
050440fd5b
OGL/TextureConverter: Remove unnecessary using declaration
2017-12-03 18:51:22 -05:00
Lioncash
93e85f9a7c
OGL/TextureConverter: Resolve -Wmissing-variable-declaration warnings
2017-12-03 18:51:17 -05:00
Lioncash
666af4605e
WiiSaveBanner: Resolve a -Wreorder warning
2017-12-03 18:34:49 -05:00
Andrew Molloy
f5839f854a
Fix whitespace in and around WiimoteScannerDarwin::~WiimoteScannerDarwin() (linter).
2017-12-03 12:31:18 -05:00
Andrew Molloy
8354e89cf1
Break out of the loop waiting for the SearchBT to be done in WiimoteScannerDarwin::FindWiimotes() when the object is destroyed. Allows the application to quit correctly when Continuous Scanning is enabled on macOS.
2017-12-03 11:41:06 -05:00
Andrew Molloy
d306397bbc
-[deviceInquiryComplete:error:aborted:] comes in on the main thread in macOS 10.13, so instead of using CFRunLoopRun()/CFRunLoopStop(), just let the run loop do one pass. This is already in a loop waiting for done to be false. This also means -[deviceInquiryComplete:error:aborted:] should no longer call CFRunLoopStop(). Fixes connecting to Wiimotes in macOS 10.13+, should continue to work as before in 10.12 and below.
2017-12-03 10:32:07 -05:00
Markus Wick
8bcc392d5d
Merge pull request #5887 from linkmauve/alpha-fix
...
Simplify EFB copy shaders
2017-12-03 11:21:08 +01:00
JosJuice
f68956a614
Merge pull request #6232 from lioncash/d3d-vert-mgr
...
D3D/VertexManager: Add missing includes
2017-12-03 09:24:23 +01:00
Lioncash
6ca85dbf0a
VKTexture: Add missing override specifier to the other ScaleRectangeFromTexture() prototype
2017-12-02 20:20:13 -05:00
Lioncash
c7bc16811c
VKTexture: Remove unimplemented ScaleRectangleFromTexture() prototype
2017-12-02 20:15:32 -05:00
Lioncash
b0fadbb5de
D3D/VertexManager: Add missing includes
...
Gets rid of reliance on indirect includes
2017-12-02 20:09:33 -05:00
Léo Lam
d95177526f
VideoBackends: Fix -Wswitch warnings
2017-12-02 21:52:07 +01:00
Léo Lam
67ba326ff6
VideoCommon: Fix -Wformat warnings
2017-12-02 21:48:01 +01:00
Emmanuel Gil Peyrot
85bb1d7bb0
VideoCommon: Reimplement texture format conversion
...
This fixes the rendering of the scan visor in Metroid Prime 2: Echoes,
as seen in https://fifoci.dolphin-emu.org/dff/mp2-scanner/
The alpha channel was off-by-one on Ivy Bridge due to the rounding
after multiplication with colmat. This commit removes this matrix
altogether in most cases, making them simple GLSL swizzles.
2017-12-02 19:29:01 +01:00
Anthony
d71f4168e9
Merge pull request #6229 from JosJuice/clarify-keys-dump
...
Clarify the "Select the OTP/SEEPROM dump" message
2017-12-02 09:49:22 -08:00
JosJuice
c4db59e7b6
Clarify the "Select the OTP/SEEPROM dump" message
...
Most users don't know what OTP/SEEPROM means.
2017-12-02 18:23:38 +01:00
JosJuice
05879875f6
Make USB keyboard input respect the background input setting
2017-12-02 18:12:04 +01:00
Markus Wick
76fbdbb06e
Merge pull request #5903 from linkmauve/fix-mp2e
...
Round values in swizzlers
2017-12-02 17:38:21 +01:00
degasus
e2a9ee384f
VideoCommon: Rename TextureConversionShader namespace.
2017-12-02 15:17:39 +01:00
degasus
e8febd0cef
VideoCommon: Create a namespace for TextureConversionShaderGen.
2017-12-02 15:17:39 +01:00
Markus Wick
491c10ec96
VideoBackends: Use VideoCommon shader generators for efb2tex copies.
...
This will generate one shader per copy format. For now, it is the same
shader with the colmat hard coded. So it should already improve the GPU
performance a bit, but a rewrite of the shader generator is suggested.
Half of the patch is done by linkmauve1:
VideoCommon: Reorganise the shader writes.
2017-12-02 15:17:39 +01:00
aldelaro5
b7fdf374e6
debugger: Add the XER to the register view
2017-12-01 05:31:41 -05:00
Lioncash
1e7096dd27
D3DBase: Mark file-scope variables as internally linked where applicable
2017-11-30 23:46:46 -05:00
Stenzek
cd68b3606c
Merge pull request #6193 from stenzek/readbacks
...
Abstract Staging Textures - VideoCommon interface for texture readbacks/uploads
2017-12-01 14:24:06 +10:00
Anthony
7c96e51bc8
Merge pull request #6187 from raelgc/1-exit-on-esc
...
Add an exit key to `dolphin-emu-nogui`
2017-11-27 13:30:33 -08:00
Léo Lam
291c99217e
Qt: Fix NAND import menu item parent
2017-11-26 18:33:07 +01:00
Léo Lam
6e796a74fb
Qt: Add support for --exec
2017-11-26 18:32:28 +01:00
Léo Lam
05c8d229af
Config: Handle unknown system strings better
...
Currently, a simple typo in the system name will trigger an assert
message that complains about a "programming error". This is not
user friendly and misleading.
So this changes GetSystemFromName to return an std::optional, which
allows for callers to check whether the system exists and handle
failures better.
2017-11-26 18:24:01 +01:00
Léo Lam
653977cec7
UICommon: Fix unsafe usage of optparse::Values::all
...
The const-qualified all() member method triggers undefined behaviour
if the option passed to it is not set.
2017-11-26 18:18:49 +01:00
Léo Lam
60afb1d1b4
WX: Fix argument parsing
...
Manually convert each argument to a UTF-8 std::string, because the
implicit conversion for wxCmdLineArgsArray to char** calls ToAscii
(which is obviously undesired).
Fixes https://bugs.dolphin-emu.org/issues/10274
2017-11-26 18:18:48 +01:00
Markus Wick
96e094e127
Merge pull request #6216 from stenzek/headless-frame-dumping
...
OGL: Fix headless frame dumping
2017-11-26 11:36:10 +01:00
Jules Blok
7dd207931d
UberShaderPixel: Fix the interpolation qualifier for interface blocks.
...
Fixes MSAA on MacOS with ubershaders enabled.
2017-11-25 21:51:14 +01:00
Michael M
fc2a0a1988
FIFOPlayerWindow: don't reset frame/object limit every frame
2017-11-24 14:11:59 -08:00
Stenzek
cf1f975148
Vulkan: Fix headless framedumping without USE_X11 set
2017-11-23 17:00:32 +10:00
Stenzek
32125cf181
OGL: Fix headless frame dumping
...
Also skips swapping the window system buffers in headless mode, as there
may not be a surface which can be swapped in the first place. Instead,
we call glFlush() at the end of a frame in this case.
2017-11-23 16:53:55 +10:00
Stenzek
ab44536a3c
OGL: Update the window size after swapping buffers, not before
...
Prevents us from rendering beyond the viewport bounds.
2017-11-23 16:09:59 +10:00
Stenzek
7f217a8bb2
Vulkan: Drop StagingTexture2D class as it is now duplicated functionality
2017-11-22 18:49:33 +10:00
Stenzek
db1d9de933
AbstractTexture: Drop slow map readback path
2017-11-22 18:49:33 +10:00
Stenzek
193763ca3a
TextureCacheBase: Don't crop last row/column of XFB copies
...
Unsure why this was happening in the first place.
2017-11-22 18:49:33 +10:00
Stenzek
6577365851
VideoCommon: Re-implement asynchronous frame dumping
...
This was lost as a result of hybrid XFB, now it is back, and ~10%
faster in very brief testing.
2017-11-22 18:49:33 +10:00
Stenzek
752dd4761d
D3D: Use new readback methods for EFB2RAM
2017-11-22 18:47:04 +10:00
Stenzek
9da9f26b90
OGL: Use new readback methods for EFB2RAM
2017-11-22 18:47:04 +10:00
Stenzek
59517318d6
Vulkan: Use new readback methods for texture encoding
2017-11-22 18:47:04 +10:00
Stenzek
c2cc128f1b
AbstractTexture: Implement Save using new common methods
2017-11-22 18:47:04 +10:00
Stenzek
56afebeb44
AbstractTexture: Seperate CopyRectangleFromTexture to two methods
...
ScaleRectangleFromTexture, which does a draw, and
CopyRectangleFromTexture, which where possible, does a bit-for-bit copy.
2017-11-22 18:47:04 +10:00
Stenzek
f43d85921d
VideoBackends: Add AbstractStagingTexture class
...
Can be used for asynchronous readback or upload of textures.
2017-11-22 18:47:04 +10:00
Stenzek
a584ccc7d8
AbstractTexture: Support BGRA8 formats
...
Used for some driver's swap chains, and EFB to RAM.
2017-11-22 18:47:04 +10:00
Stenzek
49a9c33bd7
VideoCommon: Move abstract texture creation function to Renderer
2017-11-22 18:47:04 +10:00
Stenzek
5860c97144
D3D: Move device release from Renderer destructor to shutdown
...
Necessary if we wish to have GPU objects in our base class, as otherwise
the device will be released before the objects.
2017-11-22 18:47:04 +10:00
Stenzek
c5a89b6483
D3D: Remove BeginFrame/EndFrame
...
These functions did not do anything anyway. There is also no need to
present the backbuffer when shutting down.
2017-11-22 18:47:04 +10:00
Stenzek
d9400f708a
D3D: Move remaining static variables from Render.cpp to Renderer class
2017-11-22 18:47:04 +10:00
Stenzek
798ec96e14
D3D: Make state cache part of Renderer and not static
2017-11-22 18:17:07 +10:00
Leo Lam
73a67aa413
Merge pull request #6204 from stenzek/downscaled-screenshots
...
Frame Dumping: Fix window-size framedumping
2017-11-22 07:53:23 +01:00
Stenzek
efb9759862
LightingShaderGen: Always calculate lighting for both color channels
...
Cel-damage uses the color from the lighting stage of the vertex pipeline
as texture coordinates, but sets numColorChans to zero.
We now calculate the colors in all cases, but override the color before
writing it from the vertex shader if numColorChans is set to a lower value.
2017-11-22 01:52:18 +10:00
Stenzek
470e8d63b6
VideoConfig: Rename "Full Resolution Frame Dumps" to "Internal"
...
What is the "full" resolution, anyway?
2017-11-21 17:20:55 +10:00
Stenzek
8985cb2f0b
Renderer: Re-implement window size frame dumping
...
This was broken by hybrid XFB, and all frame dumping/screenshots occured
at the full internal resolution.
2017-11-21 17:19:43 +10:00
Stenzek
39559f6358
VideoConfig: Remove bSupportsInternalResolutionFrameDumps
...
Field is unused as of Hybrid XFB.
2017-11-21 17:19:43 +10:00
Stenzek
18c1bf19ca
VideoCommon: Use constant for number of color channels in XFMemory
2017-11-20 23:18:44 +10:00
Michael M
ebc547030d
BootManager: RestoreSYSCONF without resetting all other config
...
This was causing an issue where DolphinQt couldn't save graphics options
(DolphinWX doesn't hit this code path), because this function was being
called before the in-memory config was flushed to disk.
With this PR, the in-memory config isn't reset, and only SYSCONF-related
variables may get changed.
2017-11-19 17:17:59 -08:00
Michael M
5dc3ecdb72
Qt: show "Immediately present XFB" option
2017-11-19 15:37:24 -08:00
spycrab
474b1c2d5c
Qt: Implement FIFO Player
2017-11-19 22:06:32 +01:00
spycrab
aa8bf71333
FifoRecorder: Implement IsRecordingDone()
2017-11-19 21:49:29 +01:00
spycrab
aac1b386b9
FifoPlayer: Implement IsPlaying()
2017-11-19 21:49:29 +01:00
Michael M
6b7d5bb80c
DeviceQualifier: small cleanup
2017-11-19 12:46:39 -08:00
Michael M
ac855e2c93
MappingWindow: don't store devq separately from controller default device
2017-11-19 12:46:39 -08:00
Michael M
9551fe1c73
MappingWindow: m_controller is never nullptr
...
Since GCPadWiiUConfigDialog was made its own class, m_controller will
never be nullptr.
2017-11-19 12:46:38 -08:00
JosJuice
b3b58b586c
Merge pull request #5943 from leoetlino/features
...
IOS: Check for available features when adding devices
2017-11-19 21:43:54 +01:00
Michael M
a988a8a458
AudioCommon: make SetSoundStreamRunning idempotent
2017-11-19 12:09:54 -08:00
Michael M
0baddbf9a8
SoundStream: change Start/Stop to Init/SetRunning/destruct
2017-11-19 12:09:54 -08:00
Michael M
ad4a89d64b
CubebStream: implement SetRunning
2017-11-19 12:09:54 -08:00
JosJuice
d0b9923b0a
Move XFB settings in DTM header back to where they were
...
7f0834c9
moved the locations of the Real XFB (now XFB to RAM) and
Disabled XFB (now Immediate Mode) settings. There are programs
other than Dolphin that parse DTM headers, so this is not good.
Note that Immediate XFB actually is the inversion of Disabled XFB.
I hope that's not too much of a problem...
2017-11-19 19:03:03 +01:00
Lioncash
d6f10fdc15
D3DUtil: Remove unused defines
2017-11-19 12:14:18 -05:00
Lioncash
01a92af014
D3DUtil: Make file-scope variables internally linked where applicable
...
All file scope variables are able to be made internally linked.
CD3DFont is essentially used as an extension to the utility interface, so
this is able to be made internal as well, removing a global from
external view.
2017-11-19 12:12:39 -05:00
spycrab
9388852e05
Qt: Fix blackscreen
2017-11-19 17:49:51 +01:00
Michael Maltese
c62d83a34b
GCPadEmu: only connected if default device connected
...
This lets Dolphin know if a configured GameCube Controller should actually
be treated as connected or not.
Talked to @JMC47 a bit about this last night. My use-case is that all of
my controllers are the same hardware (Xbox One controllers) so share the
same configuration (modulo device number). Treating them all as always
connected isn't a problem for most games, but in some (Smash Bros.) it
forces me to go find a keyboard/mouse and unconfigure any controllers
that I don't actually have connected. Hotplugging devices (works on macOS,
at least) + this patch remove my need to ever touch the Controller Config
dialog while in a game.
This patch makes the following changes:
- A new `BooleanSetting` in `GCPadEmu` called "Always Connected", which
defaults to false.
- `ControllerEmu` tracks whether the default device is connected on every
call to `UpdateReferences()`.
- `GCPadEmu.GetStatus()` now sets err bit to `PAD_ERR_NO_CONTROLLER` if
the default device isn't connected.
- `SIDevice_GCController` handles `PAD_ERR_NO_CONTROLLER` by imitating the
behaviour of `SIDevice_Null` (as far as I can tell, this is the only use
of the error bit from `GCPadStatus`).
I wanted to add an OSD message akin to the ones when Wiimotes get
connected/disconnected, but I haven't yet found where to put the logic.
2017-11-19 16:07:00 +01:00
Michael Maltese
379e28b58c
Add GCPadStatus.isConnected boolean
2017-11-19 16:01:08 +01:00
Michael Maltese
bb1c794657
Remove unused GCPadStatus.err
2017-11-19 16:01:07 +01:00
Leo Lam
80bcc0d58d
Merge pull request #6186 from lioncash/enum-class
...
VideoConfig: Make AspectMode and StereoMode enum classes
2017-11-19 15:08:16 +01:00
Leo Lam
a75546747e
Merge pull request #6164 from leoetlino/usb-hid
...
IOS/USB: Implement HIDv5
2017-11-19 14:13:57 +01:00
JosJuice
b8c83dd5f3
Merge pull request #5973 from ligfx/renamefifoqueue
...
Rename Common::FifoQueue to Common::SPSCQueue
2017-11-19 13:51:22 +01:00
Markus Wick
9178a6e636
Merge pull request #6197 from degasus/GP
...
Jit: Optimize gather pipe usage.
2017-11-19 11:52:20 +01:00
Markus Wick
40ed0e4251
Merge pull request #6198 from lioncash/cmake
...
D3D: Remove non-existent files from CMakeLists.txt
2017-11-19 10:41:32 +01:00
JosJuice
2ead31c769
Merge pull request #6203 from lioncash/missing-braces-warn
...
VideoCommon: Resolve -Wmissing-brace warnings
2017-11-19 08:45:13 +01:00
JosJuice
2385a03c2b
Merge pull request #6201 from lioncash/headers
...
VideoBackends: Remove header inclusions made unnecessary with Hybrid XFB
2017-11-19 08:44:48 +01:00
JosJuice
4c23516b16
Merge pull request #6202 from lioncash/reorder-warn
...
AbstractTexture: Remove a redundant constructor initializer list entry
2017-11-19 08:44:29 +01:00
Lioncash
518f6a3624
VideoCommon: Resolve -Wmissing-brace warnings
...
Resolves around 5 -Wmissing-brace warnings on macOS.
2017-11-19 01:49:39 -05:00
Lioncash
2bd88bdb9f
AbstractTexture: Remove a redundant constructor initializer list entry
...
This is already initialized in the class definition. This would
previously cause a -Wreorder warning on macOS, as m_config is
defined after m_currently_mapped.
2017-11-19 01:25:55 -05:00
Lioncash
16a0a58b91
VolumeGC: Correct printf specifier in LoadBannerFile()
...
Gets rid of a warning when compiling on macOS.
2017-11-19 00:54:47 -05:00
Lioncash
364eaadfe5
VideoBackends: Remove header inclusions made unnecessary with Hybrid XFB
...
Just some inclusions that weren't removed in the initial Hybrid XFB PR.
2017-11-19 00:53:10 -05:00
Lioncash
05d0d184d7
DolphinQt2: Fix incorrect description string for the immediate XFB option
2017-11-19 00:40:46 -05:00
Lioncash
2ef8ded8ce
D3D: Remove non-existent files from CMakeLists.txt
...
Just a leftover that was missed in the Hybrid XFB PR.
2017-11-19 00:29:23 -05:00
Lioncash
5337e58284
VideoConfig: Make StereoMode an enum class
...
Makes for more strongly-typed identifiers (and doesn't pollute
surrounding namespaces)
2017-11-18 23:19:53 -05:00
Lioncash
10697bcbe3
VideoConfig: Make AspectMode an enum class
...
Makes for more strongly-typed identifiers (and doesn't pollute
surrounding namespaces)
2017-11-18 23:17:56 -05:00
Pierre Bourdon
609a17a0cd
Merge pull request #5498 from iwubcode/hybrid_xfb
...
Hybrid xfb
2017-11-19 04:58:59 +01:00
degasus
6ea3f538b4
JitArm64: Inline GP check in Cleanup.
...
We're calling this function up to 2M times per second. Let's inline the pre-check.
2017-11-18 17:43:38 +01:00
degasus
6c9bb67ca0
JitArm64: Optimize gather pipe writes.
2017-11-18 17:43:38 +01:00
degasus
6ad63c1b35
Jit64: Inline GP fast check in Cleanup.
2017-11-18 17:43:38 +01:00
degasus
36ad887a19
Jit64: Inline GP writes.
...
As we're down to 4 instructions now, it is always worth to inline those writes.
2017-11-18 14:45:09 +01:00
degasus
4feddd7748
PowerPC: Include the gather pipe pointer in the ppc state.
2017-11-18 14:14:45 +01:00
iwubcode
dd54617a08
TextureCacheBase: Set uninitialized XFB memory to fuchsia color
2017-11-17 22:11:34 -06:00
iwubcode
8d1cbeb25e
Hybrid XFB: Fix lint errors
2017-11-17 22:11:34 -06:00
iwubcode
61541ab243
Enhance xfb dumping to distinguish between the xfbs created from memory and the xfbs created from overlapping copies
2017-11-17 22:11:34 -06:00
iwubcode
8678e8ddd3
Texture Cache Base: Optimization to allow stitched or memory xfb textures to be looked up from cache directly if they were defined previously and their hash hasn't changed
2017-11-17 22:11:33 -06:00
iwubcode
bf7db3f888
Software Backend: Remove reinterpret_cast which violates the strict aliasing rule
2017-11-17 22:11:33 -06:00
iwubcode
332af8aa49
TextureCacheBase: Fix issue in Rogue Squadron 2 where overlapping textures caused a hash change which would cause us to do a lookup from memory that gave us an incorrect result in XFB2Ram
2017-11-17 22:11:33 -06:00
iwubcode
ada37ec642
TextureCacheBase: Remove vertical scaling from EFB path and have copy checks only check EFBs
2017-11-17 22:11:33 -06:00
iwubcode
1a1c3560ce
Software Backend: Rename 'copy_region' to 'CopyRegion'
2017-11-17 22:11:33 -06:00
iwubcode
0f7f4ccaf9
Software Backend: allow screenshots/video to be taken with valid data
2017-11-17 22:11:33 -06:00
iwubcode
7248dd47d5
Hybrid XFB: Fix lint errors
2017-11-17 22:11:32 -06:00
iwubcode
2c87a53f11
TextureCacheBase: make sure stitching rectangle bounds don't exceed the
...
texture size they are meant to represent
2017-11-17 22:11:32 -06:00
iwubcode
74610646ce
TextureCacheBase: Add XFB specific functions
2017-11-17 22:11:32 -06:00
iwubcode
4964fc87ae
Video Backends: Remove the right of the xfb region for games where the
...
VI stride does not match the VI width
2017-11-17 22:11:32 -06:00
iwubcode
a129a53e56
Video Common: Improve texture dumping to work with fifoci and
...
fifo_comparer
2017-11-17 22:11:32 -06:00
iwubcode
53684701fa
HybridXFB: Fix lint errors
2017-11-17 22:11:31 -06:00
iwubcode
65418a76f5
Video Common: Use correct aspect ratio when saving screenshots / video
2017-11-17 22:11:31 -06:00
iwubcode
1090549552
Software Backend: Force EFB/XFB to copy to ram
2017-11-17 22:11:31 -06:00
iwubcode
6e686f6ea1
Software Backend: Fix xfb output and add vertical scaling support
2017-11-17 22:11:31 -06:00
iwubcode
e6d85b0915
Video Common: Avoid 'presenting' duplicate frames by detecting when swap
...
hasn't changed since the last frame
2017-11-17 22:11:31 -06:00
iwubcode
2295d60fdc
VideoCommon: Output gamma now comes from the xfb copy
2017-11-17 22:11:30 -06:00
iwubcode
7f0834c919
Add 'immediate xfb' which reduces xfb latency at the cost of graphical errors
2017-11-17 22:11:30 -06:00
iwubcode
a71bc9ebbf
Move XFB UI option to be under XFB group
2017-11-17 22:11:30 -06:00
iwubcode
e33ab4117d
Video Common: Make auto IR work with HybridXFB
2017-11-17 22:11:30 -06:00
iwubcode
76b775d5be
Video Common: Add XFB decoding via the GPU
2017-11-17 22:11:30 -06:00
iwubcode
4d13f69dc1
Remove TODOs
2017-11-17 22:11:29 -06:00
iwubcode
33bc286baa
Remove old XFB logic
2017-11-17 22:11:29 -06:00
iwubcode
081b92b8a7
Video Common: Only update FPS when frame is renderered which yields more
...
accurate results
2017-11-17 22:11:29 -06:00
iwubcode
b285188de1
Video Backends: Implement vertical scaling for xfb copies. This fixes the
...
display of PAL games that run in 50hz mode.
2017-11-17 22:11:29 -06:00
iwubcode
5a372020ea
FifoPlayer: Generate fake VideoInterface updates
2017-11-17 22:11:29 -06:00
iwubcode
2cd9565b18
Add an additional flag fo 'XFB Copy'
2017-11-17 22:11:29 -06:00
iwubcode
65cd085f9b
Add new GUI option to skip XFBToRam and remove old XFB options
2017-11-17 22:11:28 -06:00
iwubcode
198d3b69b4
Add ability to dump xfb copies to texture for debugging purposes
2017-11-17 22:11:28 -06:00
iwubcode
a9f0d1783b
Support frame and video dumping from VideoCommon
2017-11-17 22:11:23 -06:00
iwubcode
79387dddb2
Add support for hybrid XFB
2017-11-17 19:47:56 -06:00
Anthony
aa4088a494
[UI] Remove fullscreen resolution UI.
2017-11-17 13:05:50 -08:00
MerryMage
37419b9a57
Config/Layer: Allow all keys of a section to be iterated over
2017-11-15 18:04:40 +00:00
MerryMage
4c24629b95
Config: Flatten structures
...
Originally, Layer contained a std::map of Sections, which containted a std::map
containing the (key, value) pairs. Here we flattern this structure so that only
one std::map is required, reducing the number of indirections required and
vastly simplifying the code.
2017-11-15 18:04:40 +00:00
MerryMage
f3b52c07d7
CommandLineParser: Use ConfigLocation
2017-11-15 18:04:40 +00:00
MerryMage
e331a76176
ConfigInfo: Switch to doing case-insensitive comparison
2017-11-15 18:04:40 +00:00
MerryMage
ec7b84c5f2
Config: Extract ConfigInfo into own header
2017-11-15 18:04:40 +00:00
MerryMage
c8f970e2b0
Config: Remove recursive layer
2017-11-15 18:04:40 +00:00
Pierre Bourdon
169028e8f5
IOS: Warn on blocking IPC handlers.
...
This should help us identify them and figure out which ones need to be
fixed.
2017-11-15 15:34:10 +01:00
Tom Boshoven
1fc7cf3cb4
Off-by-one in SDHC detection
...
Also update name and description of SDHC constant.
2017-11-14 18:46:41 +01:00
JosJuice
72b7b96571
Remove IsTriviallyCopyable hack for VS
2017-11-13 19:51:16 +01:00
JosJuice
8ad5ea2ede
Call Do for every member of SCPFifoStruct individually
...
We need this because VS currently doesn't consider
std::is_trivially_copyable<typename
std::remove_volatile<SCPFifoStruct>::type>::value
to be true and because no compiler should consider it
to be true if we replace the volatiles with atomics.
2017-11-13 19:51:16 +01:00
JosJuice
983b986303
Don't delete BitField copy assignment operator on VS
2017-11-13 19:51:11 +01:00
Lioncash
2a782b8f16
D3D/main: Remove unused variable in InitBackendInfo()
2017-11-12 13:24:02 -05:00
Lioncash
3dbd6a53cc
D3DUtil: Remove unused file-scope variables
...
These used to be used when the drawShadedTexSubQuad() function existed,
but since it's been removed they now have no use.
2017-11-11 18:56:44 -05:00
JosJuice
2c10ba9be1
Simplify StringUtil::UTF16ToUTF8
2017-11-11 20:30:06 +01:00
JosJuice
65c1df094f
Remove unneeded check in StringUtil::UTF16ToUTF8
...
No code is relying on this unexplained null byte check, since
the only code that calls UTF16ToUTF8 on non-Windows systems
is UTF16BEToUTF8, which explicitly strips null bytes.
2017-11-11 20:30:06 +01:00
Leo Lam
1e24a5f309
Merge pull request #6167 from ligfx/encapsulatedefaultdevice
...
EmulatedController: encapsulate default device behind getters/setters
2017-11-11 17:11:56 +01:00
Rael Gugelmin Cunha
3b2b2de159
Exit on Esc, pause on F10
2017-11-11 12:51:54 -02:00
Leo Lam
338bffd1e7
Merge pull request #6168 from ligfx/movegccwiiu
...
Qt: make GCPadWiiU a standalone dialog
2017-11-11 12:14:55 +01:00
Leo Lam
41c2618b10
Merge pull request #6175 from ligfx/qtinputupdateclear
...
Qt Mapping*: make logic around setting/loading settings more consistent
2017-11-11 12:11:26 +01:00
Scott Pleb
0bede93daa
evdev: Correctly calculate axis range for min values greater than 0.
...
Axis range was previously calculated as max + abs(min), which relies on the assumption that
min will not exceed 0. For (min, max) values like (0, 255) or (-128, 127), which I assume to
be the most common cases, the range is correctly calculated as 255. However, given (20,
235), the range is erroneously calculated as 255, leading to axis values being normalized
incorrectly.
SDL already handles this case correctly. After changing the range calculation to max - min,
the axis values received from the evdev backend are practically identical to the values
received from the SDL backend.
2017-11-11 02:07:04 -05:00
Lioncash
8e654528fc
VideoConfig: Add const specifier to IsVSync() member function
...
This member function doesn't alter VideoConfig's state.
2017-11-10 22:23:15 -05:00
Michael M
8e6677be90
ControllerInterface: don't call InvokeDevicesChangedCallbacks more than once when refreshing
2017-11-10 13:37:42 -08:00
Michael M
fd7cbd633e
ControllerInterface: add mutex around callbacks vector
2017-11-10 13:37:42 -08:00
Michael M
1ed7532af8
ControllerInterface: HotplugCallbacks -> DevicesChangedCallbacks
2017-11-10 13:37:42 -08:00
Michael M
7355b5f70d
ControllerInterface: invoke callbacks in AddDevice/RemoveDevice
...
Some backends already cause this to happen, so make it consistent across
systems.
2017-11-10 13:37:41 -08:00
Anthony
4dc425b9c9
Merge pull request #6158 from Tomcc/master
...
Improved arbitrary mipmap detection (Mario Sunshine water fix)
2017-11-09 18:06:58 -08:00
JosJuice
b28e5fa347
Avoid forbidden characters when extracting disc partitions
...
We shouldn't try to create folder names that contain characters
such as : or / since they are forbidden or have special meanings.
(No officially released disc uses such characters, though.)
2017-11-08 12:04:59 +01:00
Markus Wick
7e7b5af4c7
Merge pull request #6173 from JosJuice/dtk-savestate
...
Fix DTK audio not working after loading a savestate
2017-11-08 12:03:05 +01:00
LAGonauta
9e63c65c36
Also hide latency control on Qt GUI
2017-11-07 14:59:23 -02:00
LAGonauta
e7f0279ffc
The latency setting now appears only if there is at least one backend
...
that supports it.
2017-11-07 14:56:43 -02:00
Greg Wicks
c2dcb97d06
Android: Fix NDK r16b2 build
2017-11-07 11:02:27 -05:00
Anthony
835eff15a1
Merge pull request #6162 from JosJuice/nand-check-save-game-name
...
When NAND is damaged, show title names from save files
2017-11-06 23:11:34 -08:00
Anthony
d378811271
Merge pull request #6165 from JosJuice/auto-ir-handling
...
Fix incorrect handling of auto IR
2017-11-06 23:10:53 -08:00
Anthony
66ad40074d
Merge pull request #6172 from JosJuice/remove-force-ntsc-j
...
Remove "Force Console as NTSC-J"
2017-11-06 23:01:27 -08:00
Anthony
98ffaf9661
Merge pull request #6151 from MayImilae/adjust-cpu-override-text
...
Adjust CPU Override Text
2017-11-06 22:55:36 -08:00
MaJoR
4112936bae
Adjust CPU Override Text
...
There has been a lot of confusion about what the CPU clock override
section does among users, and looking at it… I’m not surprised! It
doesn’t directly state which CPU clock rate is being overridden!
This small change adjusts the language to clarify that the emulated CPU
is being adjusted.
2017-11-06 22:39:12 -08:00
Tommaso Checchi
aa23684d66
Improved detection: it doesn't desaturate the input anymore (woops) also it makes its own whole chain! This way it "notices" much better gradual divergences. Fixes Mario Sunshine, moss on the window in Zelda TP
2017-11-06 21:49:48 -08:00
JosJuice
b00ef39c1c
Fix DTK audio not working after loading a savestate
...
The main problem was that the volume of the mixer wasn't savestated.
The volume is typically 0 at the beginning of a game, so loading a
savestate at the beginning of a game would lead to silent DTK audio.
I also added savestating to StreamADPCM.cpp.
2017-11-06 09:15:14 +01:00
JosJuice
88d851ca45
Remove "Force Console as NTSC-J"
...
Nowadays that Dolphin detects regions of discs properly and doesn't
force programs with unknown regions (such as homebrew) into running
under a certain region, the "Force Console as NTSC-J" option is
practically useless for making anything run correctly. Enabling it
is however an easy way to totally break many non-Japanese games.
2017-11-06 08:23:30 +01:00
JosJuice
5e70af1ce5
Merge pull request #6109 from t27duck/missing_wiiware_makers_2
...
Update maker information to match the wiki
2017-11-06 08:05:19 +01:00
Michael M
14f22ad829
Qt Mapping*: make logic around setting/loading settings more consistent
...
Changes:
- signal for widget value changed: sets controller setting, saves
settings
- Update(): only updates widget from existing controller setting
- Clear(): sets controller setting, saves settings, and calls Update()
2017-11-05 11:32:23 -08:00
Michael M
cb47857e8a
Rename GCPadWiiU -> GCPadWiiUConfigDialog
...
This name better reflects its new standalone functionality.
2017-11-05 08:04:16 -08:00
Michael M
a8b5eab4c4
Qt GCPadWiiU: standalone dialog, not subclass of MappingWidget
...
It uses none of the functionality of MappingWidget or the parent MappingWindow, and complicates the definition of the MappingWidget interface.
2017-11-05 08:04:16 -08:00
Michael M
27e1577da9
Qt MappingWindow: move controller type into constructor
2017-11-05 08:04:16 -08:00
Pierre Bourdon
bb38b39952
Merge pull request #6170 from JosJuice/qt-language-encoding
...
DolphinQt2: Fix broken language encodings on Windows
2017-11-05 16:51:01 +01:00
degasus
3a36c964f5
WiimoteEmu: Don't set pack pragma for STL objects.
2017-11-05 13:13:25 +01:00
JosJuice
c39778395c
DolphinQt2: Fix broken language encodings on Windows
2017-11-05 11:07:41 +01:00
degasus
47f7e5b454
WiiUtils: Be more explicit about packing.
2017-11-05 10:52:37 +01:00
Michael M
1b1dd1d749
EmulatedController: encapsulate default device behind getters/setters
2017-11-04 17:08:55 -07:00
Pierre Bourdon
bb0794715c
Merge pull request #6111 from stenzek/enable-vk-nv-glsl
...
Vulkan: Use VK_NV_glsl extension where available, and skip glslang
2017-11-04 17:14:28 +01:00
JosJuice
1dc2a85ccc
Avoid UB when reading Wii volume names
2017-11-03 23:17:40 +01:00
JosJuice
6902bbb696
When NAND is damaged, show title names from save files
...
The earlier code always tried to use TitleDatabase for getting
title names, but that didn't work for disc-based games, because
there was no way to get the maker ID.
2017-11-03 23:17:36 +01:00
JosJuice
5a6d90900e
Add WiiSaveBanner class
...
This class is similar to the BannerLoaderWii class that was
removed in ee694e32
.
2017-11-03 23:00:43 +01:00
Léo Lam
18a947a1bc
USB: Work around a gcc bug that affects lambdas
...
https://stackoverflow.com/questions/32097759
2017-11-03 19:01:49 +01:00
Léo Lam
5d82635449
USB_HIDv5: Implement CancelEndpoint
2017-11-03 19:01:48 +01:00
Léo Lam
22310dfc3e
USBv5: Read transfer parameters from the correct vector
...
This is why static analysis is essential.
2017-11-03 19:01:48 +01:00
Léo Lam
ac3b866083
USB_HIDv5: Submit interrupt transfers to the correct endpoint
...
Unlike VEN, the endpoint is determined by the value at 8-12.
If it's non-zero, HID submits the request to the interrupt OUT
endpoint. Otherwise, the request is submitted to the IN endpoint.
This commit changes HIDv5 to keep track of endpoints (like IOS does)
and use them when submitting interrupt transfers.
2017-11-03 19:01:48 +01:00
Léo Lam
ff52333b14
USB: Implement HIDv5
...
This implements /dev/usb/hid v5, found in IOS57, IOS58 and IOS59.
This is an initial implementation that ignores some differences
with VEN because I lack understanding of what IOS is actually doing
sometimes. These are documented on the WiiBrew article:
https://wiibrew.org/wiki//dev/usb/hid_(v5)
One major difference that this implementation handles is about IDs.
It turns out Nintendo has decided to include the interface number in
the top byte of HIDv5 device IDs, unlike VEN -- even though everything
else about ioctl 1 is otherwise the same!
2017-11-03 19:01:48 +01:00
Léo Lam
180ad8076c
USB: Move common USBv5 IOS code to prepare for HIDv5
...
USBv5 IOS resource managers share most of their code. Some ioctls
are even completely the same! So let's separate the common code
from the VEN specific stuff to make HIDv5 easier to implement.
2017-11-03 19:01:48 +01:00
Léo Lam
6bb03d900c
USB: Separate the descriptor copy logic
...
The descriptor copy code is not actually the same in HIDv4 and VEN,
so it did not make a lot of sense to put it in USB/Common.cpp.
Separate and move it to HIDv4 and VEN.
This cleanup is important because there are even more differences
between HIDv4 and HIDv5.
2017-11-03 19:01:48 +01:00
Léo Lam
c6038155cc
USB_VEN: Move internal constant to .cpp
2017-11-03 19:01:47 +01:00
Léo Lam
ef8b3cb960
USB_VEN: Construct device IDs properly
...
Fix the device ID struct to reflect the actual structure used by IOS.
It turns out that offset 2 is the internal device index. The reason
that field seemed to be "0x1e - interface_number" is that IOS only
keeps track of 32 devices and always looks for free entries from
the end of the internal array. With each USB interface being exposed
as a separate USBv5 device, "0x1e - interface_number" was mostly
correct... but wrong!
We also made the assumption that the interface number can be
identified from just a USBV5 device ID, which is definitely not true.
VEN (and HID) keep track of the interface number in the internal struct
instead of "reconstructing" it from the device ID (which is normally
not possible if we were generating IDs correctly)
This commit fixes all of these inaccuracies.
2017-11-03 19:01:47 +01:00
JosJuice
a310cbec8e
Fix incorrect handling of auto IR
...
Some lines of code in Dolphin just plainly grabbed the value of
g_ActiveConfig.iEFBScale, which resulted in Auto being treated as
0x rather than the actual automatically selected scale.
2017-11-03 16:04:46 +01:00
Leo Lam
53f0974372
Merge pull request #6159 from JosJuice/consistent-gui-strings
...
Make GUI strings more consistent
2017-11-03 14:18:54 +01:00
Leo Lam
9e4590b2b2
Merge pull request #6160 from JosJuice/gecko-na
...
Don't show "N/A" as description when there is no Gecko code
2017-11-03 14:16:59 +01:00
Leo Lam
a58df9fe3d
Merge pull request #6163 from JosJuice/simple-ini-ir
...
Revert "Convert to/from old EFB scale numbering"
2017-11-03 13:46:40 +01:00
JosJuice
2d3dd5ede7
Revert "Convert to/from old EFB scale numbering"
...
This reverts commit 1fc910b3ea
,
replacing the old INI setting EFBScale with a new INI setting
called InternalResolution, which has a simpler mapping:
| EFBScale | InternalResolution
----------------- | -------------------- | --------------------
Auto (fractional) | 0 |
Auto (integral) | 1 | 0
1x | 2 | 1
1.5x | 3 |
2x | 4 | 2
2.5x | 5 |
3x | 6 | 3
4x | 7 | 4
5x | 8 | 5
6x | 9 | 6
All the fractional IRs were removed in f090a943
.
2017-11-02 21:39:05 +01:00
Léo Lam
f2eee368e0
WiiUtils: Ignore missing contents for DLC titles
...
It is not possible to tell whether DLC contents are supposed to be
present on the NAND or not, because they're treated as "optional".
So this commit changes the NAND check to not consider missing
contents for DLC titles as an issue.
2017-11-02 17:59:53 +01:00
Léo Lam
71d4c47eb5
UI: Tweak the NAND check popup message
...
Inform the user that re-launching titles can also fix the issues.
2017-11-02 16:02:55 +01:00
JosJuice
7253c4bb52
Don't show "N/A" as description when there is no Gecko code
...
"N/A" can be awkward to handle in translations.
I don't think there's much point in showing "N/A" rather than
leaving the description box blank, so let's just leave it blank.
2017-11-02 14:37:45 +01:00
JosJuice
d454e041b0
Make GUI strings more consistent
...
Most of the changes I've made here were because of small
differences between DolphinWX and DolphinQt2.
2017-11-02 14:32:16 +01:00
Léo Lam
1cd4be1d0f
WiiUtils: Unify the check and repair functions
...
Makes it clearer what actions will be taken for every issue
that is found.
2017-11-02 11:34:13 +01:00
Leo Lam
e29cd19f73
Merge pull request #6118 from Tomcc/master
...
Resolution independent mipmaps (high IR Super Mario Galaxy Fix)
2017-10-31 21:37:20 +01:00
iwubcode
b201777b83
D3D Backend: Change encoding parameter types from DWORD to our platform agnostic types
2017-10-30 10:27:02 -05:00
Leo Lam
91dac03c45
Merge pull request #6148 from leoetlino/null-bug
...
NANDImporter: Construct strings correctly
2017-10-29 10:30:03 +01:00
Leo Lam
d6ac8ce928
Merge pull request #6147 from sepalani/send-log
...
Socket: Move IOCTLV_SO_SEND(TO) to INFO_LOG
2017-10-29 10:29:25 +01:00
Léo Lam
7aa083388b
NANDImporter: Construct strings correctly
...
Use std::string(cstring, strnlen(cstring, max_length)) instead of
trying to remove extra null characters manually, which is a bit
ugly and error prone.
And indeed, the original code contained a bug which would cause
extra NULLs to not be removed at all if the string did not
end with a NULL -- causing issues down the road when constructing
paths for sub-entries.
2017-10-28 22:40:05 +02:00
Léo Lam
96d7c39891
NANDImporter: Add support for dumps that don't include keys
...
This adds support for NAND images that only include the NAND
(i.e. without the OTP/SEEPROM dump appended at the end of the file).
2017-10-28 21:27:18 +02:00
Sepalani
d49e4044c6
Socket: Move IOCTLV_SO_SEND(TO) to INFO_LOG
2017-10-28 20:13:42 +02:00
Tommaso Checchi
5fb6ceac45
Fixed fog, lava, water in Mario Galaxy (and possibly other games) in higher IRs by detecting & fixing the mipmaps that aren't just used for downscaling, but are handmade to create a gradient.
2017-10-27 00:45:20 -07:00
Markus Wick
802fda26ab
Merge pull request #6093 from endrift/fix-efb-overflow
...
VideoCommon: Fix overflow trying to access outside of EFB bounds
2017-10-26 21:01:27 +02:00
Markus Wick
3f6017343b
Merge pull request #6114 from leoetlino/fix
...
MemArena: Use names that are based on the PID
2017-10-26 20:56:22 +02:00
Leo Lam
c4914fbb8b
Merge pull request #6094 from leoetlino/drop-wad-hack
...
Drop the direct WAD launch hack
2017-10-26 17:15:02 +02:00
Leo Lam
5393575c55
Merge pull request #6130 from ligfx/emptynullsoundstream
...
NullSoundStream: don't call Mixer->Mix
2017-10-24 11:44:22 +02:00
Léo Lam
4cc1bd972a
CommonTitles: Add a named constant for IOS TIDs
2017-10-24 11:41:55 +02:00
Léo Lam
dedb61e5bf
Boot: Install WADs temporarily
...
Because the Wii NAND size is finite, mark titles that were installed
only for booting as temporary, and remove them whenever we need to
install another title (to make room). This is exactly what the
System Menu does for temporary SD card title data.
2017-10-24 11:41:55 +02:00
Léo Lam
4b4a9a6486
UI: Implement a command line option to boot NAND title
2017-10-24 11:41:55 +02:00
Léo Lam
8e0869aff6
DiscIO: Remove comments that state obvious facts
2017-10-24 11:41:54 +02:00
Léo Lam
346ca009f9
Remove NANDContentManager
2017-10-24 11:41:54 +02:00
Léo Lam
c03aa78c8f
[Cleanup] WX: Remove usage of NANDContentManager
...
Also clean up the way the system menu label is updated. We don't want
to access the NAND while emulation is running, and especially not
that many times per second on an unpredictable timing.
2017-10-24 11:41:54 +02:00
Léo Lam
ff6b3eb9ac
[Cleanup] IOS: Clean up the way ARM binaries are loaded
...
This commit removes the last usage of NANDContentManager in IOS code.
Another cleanup change is that loading ARM (IOS) binaries is now done
by the kernel in the BootIOS syscall, instead of being handled as a
special case in the MIOS code. This is more similar to how console
works and lets us easily extend the same logic to other IOS binaries
in the future, if we decide to actually load them.
2017-10-24 11:41:54 +02:00
Léo Lam
63a52fa707
[Cleanup] IOS/ES: Remove usages of NANDContentManager
2017-10-24 11:41:54 +02:00
Léo Lam
a7e21bca13
IOS/ES: Add a helper function to get a content path
2017-10-24 11:41:54 +02:00
Léo Lam
44fc6d878a
IOS/ES: Fix a missing check in ReadCertStore
...
Without this, some operations can fail when trying to read an existing
cert store, as it may not exist when signature checks are disabled.
2017-10-24 11:41:54 +02:00
Léo Lam
689ed2a0ce
[Cleanup] Move FindSignedTicket to IOS/ES
...
For consistency and because NANDContentManager is going to be removed.
2017-10-24 11:41:54 +02:00
Léo Lam
0476c0e60e
[Cleanup] Remove static state in ES
2017-10-24 11:41:54 +02:00
Léo Lam
9000a042e4
Drop the direct WAD launch hack
...
This removes the hack that enables directly booting from WADs
without installing them first for the following reasons:
1. It makes the NAND content handling much more complicated than what
it should be and makes future changes like permissions or booting
NAND titles without a WAD more annoying to implement.
Because of this hack, we needed an extra level of abstraction
(NANDContent*) which has to read tons of things from the NAND, even
most of the time it's useless. This in turn forces us to have
caching, which is known to break titles and requires manual cache
invalidations. Annoying and error prone.
2. It prevents the WAD boot code from being easily accurate. With this
change, we can simply reuse the existing launch code, and ask IOS
to launch the title from the NAND.
3. The hack did not work that well since it did not cover a lot of ES
commands. And it works even less since the ES accuracy fixes.
This results in Dolphin returning inconsistent results: a
lot of the ES "DI" commands will just fail because the active title
is not installed on the NAND. uid.sys is not changed, etc.
And I'm not even talking about FS stuff -- where this would still
totally fail, unless we add even more unnecessary hacks.
This is not just theoretical -- the system menu and the Wii Shop are
known to behave strangely because the hack damages the NAND
structure, and we've already had several users report issues.
This commit makes it so WADs are always installed prior to launching.
A future commit will remove any code that was there only for the hack.
2017-10-24 11:41:54 +02:00
Léo Lam
60ba382799
Boot: Add support for booting NAND titles with just the ID
2017-10-24 11:41:54 +02:00
Léo Lam
62be010ac6
WiiUtils: Improve the error message on import failure
...
Now shows the import return code and also skips showing the message
altogether if the user cancelled the import for an unsigned WAD.
2017-10-24 11:41:54 +02:00
Léo Lam
dd5c468c63
WiiUtils: Allow reusing existing IOS/WAD instance
2017-10-24 11:41:54 +02:00
Léo Lam
6a03a24822
WiiUtils: Warn before overwriting during WAD import
2017-10-24 11:41:54 +02:00
Léo Lam
0bdeb63894
WiiUtils: Skip WAD import if it's already installed
...
The check is fairly quick, and this allows saving a lot of time and
resources for larger WADs.
2017-10-24 11:41:54 +02:00
Anthony
5fdb19f3db
Merge pull request #6108 from JosJuice/tgc-negative-file-area-shift
...
Fix TGC support for Zelda OoT Master Quest
2017-10-23 18:57:54 -07:00
JMC47
a8bf9c5cbe
Fix GameCube Sample Rate
...
The GameCube's sample rate is slightly different due to a hardware bug.
The exact numbers are (54000000 / 1124) for GameCube and (54000000 / 1125)
on Wii. I also modified 32KHz mode. This fixes audio desyncs in several
GameCube games and severe issues in Sonic Mega Collection.
2017-10-23 13:16:40 -04:00
Tony Drake
b66a72eb8f
Update maker information to match the wiki
...
This updates the maker data to (mostly) mirror that of the Wiki:
https://wiki.dolphin-emu.org/index.php?title=GameIDs
Only maker ids from that page are now included in Dolphin. This
means no homebrew/unofficial makers.
Also, separate multiple maker names with a slash
2017-10-22 11:39:16 -04:00
Leo Lam
6e9e681438
Merge pull request #6124 from stenzek/vulkan-shutdown-vxfb
...
Vulkan: Fix crash on shutdown with Virtual XFB enabled
2017-10-22 16:42:24 +02:00
Leo Lam
b002d9d94f
Merge pull request #6132 from ligfx/updatecubeb
...
Externals: update cubeb to kinetiknz/cubeb@c2bd582
2017-10-22 15:39:39 +02:00
Leo Lam
a596424dc2
Merge pull request #6133 from ligfx/soundstreamsetrunning
...
AudioCommon: rename ClearAudioBuffer(mute) to SetSoundStreamRunning(running)
2017-10-22 15:38:34 +02:00
Michael M
82129d30c9
TextureCache: don't create texture decoding resources if not enabled
2017-10-21 23:06:44 -07:00
Michael M
b031d3316c
SoundStream: rename Clear(mute) to SetRunning(running)
2017-10-21 16:28:04 -07:00
Michael M
d6985fc3e8
AudioCommon: rename ClearAudioBuffer(mute) to SetSoundStreamRunning(running)
2017-10-21 16:28:04 -07:00
Michael M
7bcdd1a46a
SoundStream: remove unused m_muted and IsMuted
2017-10-21 16:28:04 -07:00
Michael M
aa40c4a7ce
Externals: update cubeb to kinetiknz/cubeb@c2bd582
...
A bunch of changes, looks mainly like bug fixes and code cleanup.
Notable changes:
- `cubeb_get_min_latency`'s signature was changed to take params via
pointer, requiring Dolphin code to be tweaked in two places.
- A fix for kinetiknz/cubeb#320 , as reported by @shuffle2
- Fixed build on FreeBSD (kinetiknz/cubeb#344 ), as contributed by @endrift
2017-10-21 14:28:39 -07:00
Michael M
6abd1c8c99
NullSoundStream: don't call Mixer->Mix
2017-10-21 13:32:33 -07:00
Stenzek
271f1af8c9
Vulkan: Fix crash on shutdown with Virtual XFB enabled
2017-10-18 22:11:59 +10:00
Léo Lam
28d648b802
MemArena: Use names that are based on the PID
...
Fixes a regression which broke running several Dolphin instances at the
same time on Windows. Thanks to exjam for spotting the issue
pretty much immediately. Sorry about that!
Also changes the file names to be more consistent on all platforms.
2017-10-11 17:40:05 +02:00
Dane Z. Bush
4dfe6c0875
MemArena: Name shared memory handle
...
Assign a name to the CreateFileMapping handle on Win32 so third party
applications can read from Dolphin's memory and integrate with the
current emulation.
Built and tested, multiple sessions are still possible without
collisions.
2017-10-11 16:35:32 +02:00
Stenzek
06bbf111d9
Vulkan: Improve readability of device/instance extension checks
2017-10-11 23:18:01 +10:00
Stenzek
79188d4f55
Vulkan: Use VK_NV_glsl extension where available, and skip glslang
2017-10-11 23:15:41 +10:00
Stenzek
90ca2e8042
Merge pull request #6066 from stenzek/vulkan-resize
...
Vulkan: Fixes for window resizing
2017-10-11 23:02:48 +10:00
Leo Lam
d26eda3023
Merge pull request #6096 from leoetlino/wii-fsck
...
Add a way to check the NAND for issues and fix them
2017-10-11 13:01:39 +02:00
Leo Lam
ceed4d6f93
Merge pull request #6101 from sepalani/symbol-map-data
...
PPCSymbolDB: Handle data symbols in SymbolMap properly
2017-10-11 13:00:40 +02:00
Leo Lam
bc6846ce3b
Merge pull request #5922 from sepalani/mem-base
...
MemoryWindow: base address search added
2017-10-11 12:17:57 +02:00
Leo Lam
1fb9e793ac
Merge pull request #6104 from CyberShadow/pull-20171006-091319
...
CheatSearchTab: Add UI for manually adding an address
2017-10-11 11:51:49 +02:00
Vladimir Panteleev
3c51560857
CheatSearchTab: Add UI for manually adding an address
...
Sometimes an address is already known, e.g. from existing cheat
codes, and only inspecting the variable's value is desired.
2017-10-11 11:41:26 +02:00
Ethan Lee
322c395f33
Qt: Check showFileNameColumn, sort Hidden/ResizeMode calls by enum value
2017-10-11 11:40:07 +02:00
Leo Lam
53ccd41049
Merge pull request #6099 from leoetlino/activate
...
Qt: Don't crash when pressing the Return key
2017-10-11 11:32:09 +02:00
Leo Lam
8163fa1acc
Merge pull request #6100 from leoetlino/vulkan-shutdown
...
Vulkan: Fix crash when Core initialisation fails
2017-10-11 11:31:16 +02:00
Leo Lam
1c14881cc1
Merge pull request #6105 from CyberShadow/pull-20171006-123219
...
ActionReplay: Fix implementation of memory-copy zero codes
2017-10-11 11:28:27 +02:00
Leo Lam
0eafb2f2a2
Merge pull request #6110 from lioncash/texture-config-hash
...
TextureConfig: Specialize std::hash for TextureConfig
2017-10-11 11:07:09 +02:00
Stenzek
edb5f855c2
VideoConfig: Prevent race condition on g_Config when refreshing
...
There was a race condition between the video thread and the host thread,
if corrections need to be made by VerifyValidity(). Briefly, the config
will contain invalid values. Instead, pause emulation first, which will
flush the video thread, update the config and correct it, then resume
emulation, after which the video thread will detect the config has
changed and act accordingly.
2017-10-10 23:56:33 +10:00
Stenzek
4301b8538d
Vulkan: Only use oldSwapchain in response to VK_ERROR_OUT_OF_DATE_KHR
...
Seems to be required on the latest NV driver, otherwise the presented
images are never shown.
2017-10-10 23:21:40 +10:00
Stenzek
cdf34a79f7
Vulkan: Set a flag to resize the swap chain when presenting fails
...
Drivers can return VK_ERROR_OUT_OF_DATE_KHR from vkQueuePresentKHR, and
we should resize the image in this case, as well as when getting it back
from vkAcquireNextImageKHR.
2017-10-10 23:21:40 +10:00
Stenzek
80593f502e
Vulkan: Fix bug where command buffer wouldn't be started after resize
2017-10-10 23:21:40 +10:00
Lioncash
c8af9e5f7b
TextureConfig: Specialize std::hash for TextureConfig
...
This allows the hashing for TextureConfig instances to automatically be resolved instead of needing to directly specify it all the time.
2017-10-08 23:55:14 -04:00
Léo Lam
02e17594b0
WiiUtils: Attempt to fix the NAND more aggressively
...
Change the repair logic to fix issues more aggressively by deleting bad
titles. This is necessary because of a bug in Dolphin's WAD boot code.
The UI code was updated to inform the user about titles that will be
deleted if they continue a repair, before deleting anything.
2017-10-08 18:57:58 +02:00
Léo Lam
e1c0b8d011
TitleDatabase: Add GetTitleName for title IDs
2017-10-08 18:31:43 +02:00
Léo Lam
239167245d
Add a way to check the NAND for issues and fix them
...
Old versions of Dolphin are so broken regarding NAND handling that
we need this to repair common issues and avoid issues with titles
like the System Menu or the Wii Shop.
This isn't an exhaustive check, but this will catch most issues
and offer to fix them automatically (if possible).
2017-10-08 18:31:42 +02:00
Léo Lam
2974c56e50
ESFormats: Make Content easier to compare
2017-10-08 18:31:42 +02:00
FoxP
999c23b182
Add some missing WiiWare makers
...
Some of my WiiWare games does not have a maker :
- Blue's Journey : EAFPJ8
- Magician Lord : EACPJ8
- The King of Fighters '94 : EAGPJ8
- The Last Ninja : C9XPGX
- World Games : C9ZPGX
2017-10-08 13:04:23 +02:00
JosJuice
e743ac80d2
TGCBlob: Fix brace style
2017-10-08 12:38:12 +02:00
Léo Lam
8f56219ea8
Vulkan: Fix crash when Core initialisation fails
...
The Vulkan backend was not shutting down the AsyncShaderCompiler and
some other instances, causing asserts to hit, followed by a hard crash.
2017-10-08 12:34:06 +02:00
JosJuice
0023d5b5cb
TGCBlob: Make m_file_area_shift signed
...
Part two of fixing TGC files where file_area_virtual_offset is
smaller than file_area_real_offset, such as Zelda OoT Master Quest.
2017-10-08 12:30:53 +02:00
JosJuice
18c7608516
TGCBlob: Use file_area_real_offset as split point
...
Part one of fixing TGC files where file_area_virtual_offset is
smaller than file_area_real_offset, such as Zelda OoT Master Quest.
2017-10-08 12:16:10 +02:00
JosJuice
ec7ed7b47a
TGCBlob: Improve variable names
2017-10-08 12:08:13 +02:00
Léo Lam
468bf75a43
Qt: Don't crash when pressing the Return key
2017-10-07 14:53:30 +02:00
Vladimir Panteleev
187a599b36
ActionReplay: Fix logging in Subtype_AddCode
...
The addition was being repeated (for logging) after it was committed
to memory, thus causing bogus values to appear in the log.
2017-10-06 13:17:15 +00:00
Vladimir Panteleev
e691ec126f
ActionReplay: Fix implementation of memory-copy zero codes
...
This fixes the implementation of the non-standard size-3 zero codes to
conform to kenobi's specification.
2017-10-06 12:47:10 +00:00
Leo Lam
5f0de43828
Merge pull request #6098 from aleios/master
...
WX: Reshow cursor after game termination (issue 10503)
2017-10-05 21:11:20 +02:00
Sepalani
f65dcdcdca
DebugInterface: Rename InsertBLR to Patch
2017-10-05 20:22:16 +02:00
Sepalani
0a301c0eec
PPCSymbolDB: Save data symbols properly
...
Data symbols were previously saved as function symbols.
2017-10-05 19:55:34 +02:00
Sepalani
aed0ac0543
PPCSymbolDB: Load more SymbolMap symbols
...
Allows to load data symbols from symbol map files.
Symbols from all sections are loaded.
The data/function symbol type is set accordingly.
2017-10-05 19:55:33 +02:00
aleios
6d04d4b9a2
Fix mouse cursor invisble in WX after game termination
2017-10-05 18:46:37 +02:00
Leo Lam
1e6b670795
Merge pull request #6092 from t27duck/missing_wiiware_makers
...
Add some missing WiiWare makers
2017-10-04 13:11:18 +02:00
Tony Drake
4035d0781c
Update the cache revisions for WX and QT
2017-10-03 17:35:14 -04:00
Leo Lam
d790660b59
Merge pull request #6088 from leoetlino/personalised-import
...
IOS: Assume ticket is unpersonalised for WAD imports
2017-10-03 19:59:52 +02:00
JosJuice
e50fe00e93
Disable "Eject Disc" when emulation is not running
2017-10-03 17:20:36 +02:00
Vicki Pfau
e0a326a493
VideoCommon: Fix overflow trying to access outside of EFB bounds
2017-10-01 12:09:16 -07:00
Tony Drake
b73a4ff5d6
Add some missing WiiWare makers
...
I noticed the Strong Bad games, FAST - Racing League, and Tetris Party
were lacking info in the game lists' maker column.
This adds the information based on the games' MakerID.
2017-10-01 14:53:01 -04:00
JosJuice
db77549502
Show event name when scheduling from wrong thread
2017-09-30 16:14:59 +02:00
Mush Man
0e7e7f6fc6
Change Wii Save Import alerts
...
Bracketed plurals in dialogue boxes and removed a prompt by moving a
backup message to another warning.
2017-09-29 20:13:14 +10:00
PEmu1
93e1235a54
More Capitalization Changes
2017-09-27 21:37:44 +02:00
Michael M
806a8a7f32
MappingWindow: store profile filename in QComboBox userdata
2017-09-27 21:04:34 +02:00
Leo Lam
743568f9d4
Merge pull request #5984 from spycrab/qt_gecko
...
Qt/GameList: Implement "Gecko codes" Tab
2017-09-27 20:50:28 +02:00
Leo Lam
1501ff7f8e
Merge pull request #5714 from ligfx/qtadvancedconfig
...
Qt: Advanced config pane
2017-09-27 20:24:48 +02:00
Léo Lam
c0c1cb3010
IOS: Assume ticket is unpersonalised for WAD imports
...
The newer title dumpers don't clobber tickets anymore (that's good!),
which means personalised tickets still have the console specific data
used to decrypt the title key in them. Dolphin should ignore that data
when importing WADs, because the title key has already been decrypted,
and we must not try to decrypt it *again*.
2017-09-27 10:48:52 +02:00
Léo Lam
5c2e03380f
Qt: Always show the stop button in the toolbar
...
Reverts a previous Qt change that was likely not intended to match WX.
2017-09-26 17:44:18 +02:00
Léo Lam
8dcd5cdd1d
Qt: Reduce spacing between toolbar actions
2017-09-26 17:43:51 +02:00
Léo Lam
b05207325d
Qt: Fix render to main
...
The render widget was not hidden at the right moment.
2017-09-26 17:43:50 +02:00
Léo Lam
f28839acf9
Qt: Make toolbar buttons wider
...
Makes the toolbar look more comfortable instead of all squished
together, and more similar to our current look.
Instead of setting a hardcoded minimal size for buttons, MakeActions()
now uses the maximum size hint width.
2017-09-26 17:43:50 +02:00
Léo Lam
587b275c8e
Qt: Increase the height of game list items
...
This makes the images in the game list look less weird (since they are
not squashed together anymore). The list also looks more like WX now.
2017-09-26 17:43:50 +02:00
Léo Lam
6cfd7baac9
Qt/Config: Fix inconsistent spacing between options
2017-09-26 17:43:50 +02:00
Léo Lam
ca3be07e59
Qt/GameList: Fix broken File Name column
2017-09-26 17:43:50 +02:00
Léo Lam
6db55fc2d0
Qt/About: Fix text size to better match WX
2017-09-26 17:43:49 +02:00
Léo Lam
a158b87f9b
Qt/About: Fix the HTML
...
* remove useless units after 'zero' values
* reduce the size of 'Dolphin' to be more reasonable and look better
* avoid hardcoding the normal and small font sizes
2017-09-26 17:43:49 +02:00
Léo Lam
8f2558dc89
Qt: Simplify AboutDialog creation
...
Just create the AboutDialog on the stack -- the actual object lives on
the heap anyway, since Qt uses the pimpl idiom. Removes the need for
an explicit new and a special delete on close attribute.
2017-09-26 17:43:49 +02:00
Léo Lam
730b7fc833
Qt: Remove __DATE__ to make builds reproducible
...
See also PR #3259 .
Also makes the copyright text identical to DolphinWX.
2017-09-26 17:43:49 +02:00
Michael M
9245210c49
Qt: bold graphics settings on ConfigChanged, not EmulationStateChanged
...
EmulationStateChanged is functionally correct right now, but
ConfigChanged expresses more semantically why the config setting gets
re-read and the widgets updated.
2017-09-25 21:48:13 +02:00
Michael M
a334ec3daa
Qt: add ConfigChanged signal to Settings
2017-09-25 21:46:23 +02:00
Léo Lam
6484776920
DSP: Fix a missing mask for the predscale register
2017-09-24 20:48:29 +02:00
Léo Lam
de6e807364
DSP: Handle two accelerator loop edge cases properly
...
There are two special cases that the DSP accelerator handles in a
special way: when the end address is of the form xxxxxxx0 or
xxxxxxx1.
For these two cases, the normal overflow handling doesn't apply.
Instead, the overflow check is different, the ACCOV exception never
fires at all, the predscale register is not updated, reads are not
suspended, and if the end address is 16-byte aligned, the DSP loops
back to start_address + 1 instead of the regular start_address.
2017-09-24 20:48:29 +02:00
Léo Lam
bd03f2e46e
DSP: Fix ACCOV not suspending accelerator reads
...
When an ACCOV is triggered, the accelerator stops reading back anything
and updating the current address until the YN2 register is set.
This is kept track of internally by the DSP; this state is not exposed
via any register.
However, we need to emulate this behaviour correctly because some
ucodes rely on it (notably AX GC); failure to emulate it will result
in reading past the end and start address for non-looped voices.
2017-09-24 20:48:29 +02:00
Léo Lam
8310a672b0
DSP: Fix the predscale update logic
...
When the current address is xxxxxxxf, after doing the standard ADPCM
decoding and incrementing the current address as usual to get the
next address, the DSP will update the predscale register by reading
2 bytes from memory, and add two to get the next address.
This means xxxxxx10 cannot be a current address, as the DSP goes
from 0f to 12 directly.
A more serious issue with the old code is that if the start address
is 16-byte aligned, some samples will always be skipped, even when
that should not be the case.
An easy way to test whether this behaviour is correct is to check
the current address register and the predscale after each read.
Old code:
...
ACCA=00000002, predscale=<value>
ACCA=00000003, predscale=<value>
...
ACCA=0000000f, predscale=<value>
ACCA=00000010, predscale=<another value>
ACCA=00000013, predscale=<another value>
ACCA=00000014, predscale=<another value>
...
New code (and console):
...
ACCA=00000002, predscale=<value>
ACCA=00000003, predscale=<value>
...
ACCA=0000000f, predscale=<value>
ACCA=00000012, predscale=<another value>
ACCA=00000013, predscale=<another value>
...
2017-09-24 20:48:29 +02:00
Léo Lam
003dba5275
DSP: Convert accelerator to a C++ class
...
Slightly cleaner, allows DSP accelerator behaviour to be
added to both HLE and LLE pretty easily, and makes the accelerator
easier to unit test.
I chose to include all accelerator state as private members, and
to expose state that is accessible via registers with getters/setters.
It's more verbose, yes, but it makes it very clear what is part of
the accelerator state and what isn't (e.g. coefs).
This works quite well for registers, since the accelerator can do
whatever it wants internally. For example, the start/end/current
addresses are masked -- having a getter/setter makes it easier to
enforce the mask.
2017-09-24 20:48:28 +02:00
Léo Lam
017bfcda2b
DSP: Fix gdsp_ifx_write to take a u16 value
...
And change the JIT to clear the upper 16 bits when calling the write
function to work around bugs in some compilers like clang.
2017-09-24 20:48:28 +02:00
Leo Lam
969a72faed
Merge pull request #6079 from spycrab/qt_fix_log
...
Qt: Fix log / log config window not being marked as hidden when closing
2017-09-21 17:29:24 +02:00
Anthony
56d0cb8d61
Cleanup var naming in ISOProperties
2017-09-20 16:46:46 -07:00
Anthony
47a2a16b77
[Qt] Fix bolding of GraphicsChoice.cpp
2017-09-20 09:13:23 -07:00
spycrab
0b43e1bcf4
Qt: Fix log / log config window not being marked as hidden when closing
2017-09-20 15:12:26 +02:00
spycrab
6c7e392f0c
Qt/GraphicsSettings: Fix overriden settings not being bolded
2017-09-20 15:12:05 +02:00
Markus Wick
d1abd71ccb
Merge pull request #6070 from lioncash/ogl-tcache
...
OGL/TextureCache: Move file statics to the TextureCache class
2017-09-20 10:19:39 +02:00
Leo Lam
c9f790dca4
Merge pull request #6072 from JosJuice/eject-disc
...
Add an option to eject the disc
2017-09-18 12:47:47 +02:00
Pierre Bourdon
43f067c6e1
StringUtil: support TryParse(u16*)
2017-09-18 05:04:11 +02:00
Pierre Bourdon
3f481a70be
Fix sample wrapping with new DSP ADPCM decoding
...
Fixes possible regression from #6069 .
2017-09-18 02:54:58 +02:00
Pierre Bourdon
755253948b
Merge pull request #6069 from leoetlino/common-accelerator
...
DSP: Deduplicate the accelerator code
2017-09-17 23:20:37 +02:00
JosJuice
e4faabb763
Add an option to eject the disc
2017-09-17 11:44:48 +02:00
JosJuice
3c770693a2
DVDInterface: Remove a (mostly) outdated comment
2017-09-17 11:44:32 +02:00
JosJuice
b6bc3bc7c9
Remove DVDInterface::ChangeDiscAsHost
...
There isn't much point in keeping this utility function around
now that RunAsCPUThread provides a simple way of running things
on the CPU thread.
2017-09-17 11:44:27 +02:00
Lioncash
6c326e7215
InputConfigDiag: Fix building DolphinWX on the latest MSVC
...
const char[1] and wxString() can both be converted to multiple common
types, so this results in an ambiguous conditional expression
compilation error (C2445)
2017-09-17 02:38:12 -04:00
Lioncash
dbd9aeb210
OGL/TextureCache: use std::array for the palette shader array
2017-09-17 02:34:02 -04:00
Lioncash
6d9ed9dc32
OGL/TextureCache: Move file statics to the TextureCache class
...
These rely on instance state, or are used within instance-based class
member functions, so they should belong to the instance itself instead
of being file statics.
2017-09-17 02:33:56 -04:00
Léo Lam
7022a18e9a
IOS/SSL: Show built-in cert error once per session
...
See: https://bugs.dolphin-emu.org/issues/10546
2017-09-16 20:43:49 +02:00
Léo Lam
38a7196ec6
DSP: Deduplicate the accelerator code
...
The logic is entirely the same; only the inputs and outputs are
different, so deduplicating makes sense.
This will make fixing accelerator issues easier.
2017-09-16 16:47:43 +02:00
Leo Lam
764e058865
Merge pull request #6063 from ligfx/queuemethodonobject
...
Qt QueueOnObject/RunOnObject: accept pointers to member functions
2017-09-16 16:46:44 +02:00
Leo Lam
68baf7d8fc
Merge pull request #6062 from ligfx/fixqtcorestate
...
Settings: register the Core::State type with Qt
2017-09-15 22:38:42 +02:00
Leo Lam
93574bf016
Merge pull request #6064 from JosJuice/filesystemwidget-nullptr
...
DolphinQt2: Check for file systems being nullptr
2017-09-15 20:58:52 +02:00
Léo Lam
6f1b156020
VolumeGC: Add a default constructor for ConvertedGCBanner
...
Without this, it fails to build with the following error in g++ 7.2.0:
> constructor required before non-static data member has been parsed
2017-09-15 20:47:49 +02:00
spycrab
f90e81b9db
Qt/Properties: Implement "Gecko codes" tab
2017-09-15 19:45:46 +02:00
JosJuice
a0cddc579f
DolphinQt2: Check for file systems being nullptr
...
nullptr gets returned for file systems that are deemed invalid.
2017-09-15 19:44:23 +02:00
Michael M
7f812a7a03
RunOnObject: accept pointers to member functions
2017-09-15 10:36:33 -07:00
Michael M
1e27e87d93
QueueOnObject: accept pointers to member functions
2017-09-15 10:36:32 -07:00
Michael M
6191f04524
Settings: register the Core::State type with Qt
2017-09-15 10:35:38 -07:00
Michael M
4ea8166b93
Qt: Advanced config pane
2017-09-15 10:35:01 -07:00
Leo Lam
7cb8d6612c
Merge pull request #5870 from JosJuice/lazy-filesystem
...
DiscIO: Use Common::Lazy more
2017-09-15 19:30:05 +02:00
JosJuice
f294599e73
DiscIO: Use Common::Lazy for loading GC banners
2017-09-15 19:21:50 +02:00
Arthur Carlsson
79a646a67d
Prevent multiple HID elements of same usage type on OSX
...
On OSX, iterate the HID device's elements and only store the last of
each type to accommodate for flaky hardware
2017-09-15 19:19:46 +02:00
Leo Lam
2b4bf8662a
Merge pull request #5577 from ligfx/separateexpressionparsingandbinding
...
ControlReference/ExpressionParser: separate parsing from binding
2017-09-15 19:11:57 +02:00
spycrab
5aecd61ede
Qt/Settings: Implement cheat settings
2017-09-15 19:01:23 +02:00
spycrab
8687f6aae7
Qt: Implement CheatWarningWidget
2017-09-15 19:01:23 +02:00
spycrab
8580e159fe
Qt/SettingsWindow: Add SelectGeneralPane method
2017-09-15 19:01:22 +02:00
JosJuice
ca36c977d9
DiscIO: Remove m_partition and m_volume from FileSystem
...
The last commit made m_partition unnecessary, and m_volume
has been unnecessary ever since the PR that added DiscExtractor.
2017-09-15 18:57:05 +02:00
JosJuice
38304da947
DiscIO: Use Common::Lazy for loading filesystems
...
This simplifies FileMonitor a lot and also lets us
clean up FilesystemPanel.
2017-09-15 18:57:05 +02:00
Leo Lam
0d07821935
Merge pull request #6024 from ligfx/coreonstatechangedcallback
...
Qt: use Settings::EmulationStateChanged
2017-09-15 18:45:17 +02:00
Leo Lam
30dd544931
Merge pull request #5990 from spycrab/qt_logger_cleanup
...
Qt: Make Log and Log Configuration widget separate from dock
2017-09-15 18:30:45 +02:00
Michael M
738acb6c07
FifoRecorder: move function definitions out of header
2017-09-14 17:28:39 -07:00
Michael M
a47ce0d625
FifoRecorder: remove use of volatile
2017-09-14 17:28:39 -07:00
Michael M
60cba5722c
Qt: use translations
2017-09-14 17:15:21 -07:00
Michael M
bdcd6df459
InterfaceConfigPane: remove unneeded comment
...
It notes that using "no" for Norwegian is not allowed by wxWidgets, but
"nb" is the correct code for Norwegian Bokmål anyways.
2017-09-14 17:15:21 -07:00
Michael M
b22ed9683d
InterfacePane: add all interface languages
2017-09-14 17:15:21 -07:00
Michael M
294b1895ef
ExpressionParser: std::move() tokens vector to parser
2017-09-14 12:53:36 -07:00
Michael M
31f1c06226
ControlReference: don't reparse expression when references are updated
2017-09-14 12:53:35 -07:00
Michael M
c332580b83
ControlReference/ExpressionParser: separate parsing from binding
2017-09-14 12:53:35 -07:00
Michael M
ba87a50338
ExpressionParser: add FallbackExpression node type
2017-09-14 12:53:35 -07:00
Michael M
7e74961eb1
ExpressionParser: expose ExpressionNode directly
2017-09-14 12:53:35 -07:00
Michael M
85301e2bae
ParseStatus: replace NoDevice with EmptyExpression
2017-09-14 12:53:35 -07:00
Michael M
754efd75c5
ExpressionParser: remove DummyExpression
2017-09-14 12:53:35 -07:00
Michael M
f1ff1e3d08
ExpressionParser: clean up ControlExpression
2017-09-14 12:53:35 -07:00
Michael M
3df945f8d0
ExpressionParser: replace bare pointers with unique_ptrs
2017-09-14 12:53:35 -07:00
Michael M
c33e391d26
InputConfigDiag: don't use entire ExpressionParse namespace
2017-09-14 12:53:35 -07:00
Michael M
bbb7c17235
ExpressionParser: use internal ParseResult struct instead of out-params
2017-09-14 12:53:35 -07:00
Michael M
d2821e14fa
ParseExpression: return a std::pair
2017-09-14 12:53:34 -07:00
spycrab
48d57f223d
Qt: Make Log and Log Configuration widget separate
2017-09-14 20:56:48 +02:00
Michael M
3e1072b24d
Qt: use Settings::EmulationStateChanged
2017-09-13 17:30:18 -07:00
Michael M
8e805dcbf4
Core: SetOnStoppedCallback -> SetOnStateChangedCallback
2017-09-13 17:30:18 -07:00
Michael M
22a9a08b24
Add Core::State::Starting
2017-09-13 17:30:18 -07:00
Michael M
d217e797f2
move Movie::DoFrameStep to Core::DoFrameStep
2017-09-13 17:30:18 -07:00
Leo Lam
5a89d13655
Merge pull request #6059 from spycrab/qt_columns
...
Qt: Bring column selection up to par with Wx
2017-09-13 22:13:27 +02:00
spycrab
e7318fda34
Qt: Bring column selection up to par with Wx
2017-09-13 22:05:45 +02:00
Lioncash
343bde2712
Software/TextureSampler: const correctness
2017-09-11 20:13:47 -04:00
gamemasterplc
4908d79a71
Remove Function Address Symbol Mask
...
The upper 4 bits were masked out of function addresses prior when generating symbols.
2017-09-11 15:39:22 -05:00
Markus Wick
b0f93f2acc
Merge pull request #6053 from spycrab/qt_action
...
Qt/FilesystemWidget: Use AddAction helper
2017-09-11 15:18:09 +02:00
spycrab
2a7ad0b721
Qt/FilesystemWidget: Use AddAction helper
2017-09-11 14:25:30 +02:00
Stenzek
24ddea04ce
VideoBackends: Move SamplerState to common
2017-09-11 20:01:54 +10:00
Stenzek
340aabbb06
VideoCommon: Add helpers for generating common render states
2017-09-11 20:01:52 +10:00
Stenzek
b7a099814a
Vulkan: Clear contents of EFB convert framebuffer at create time
...
Fixes a validation layer warning when converting pixel formats.
2017-09-11 20:01:50 +10:00
Stenzek
e584090822
Vulkan: Fix interface mismatch in RGB->YUYV shader
2017-09-11 20:01:48 +10:00
Stenzek
836b9b9acb
Renderer: Move cull mode to a rasterization state object
...
Also moves logic for primitive handling to VideoCommon.
2017-09-11 20:01:45 +10:00
Stenzek
2869c570f1
Renderer: Move depth state to VideoCommon and seperate from bpmem
2017-09-11 19:40:26 +10:00
Stenzek
4d36f0cc87
Bitfield: Cast value to storage type in assignment operator
...
This allows us to use enum classes in bitfields.
2017-09-11 19:40:25 +10:00
Ryan Meredith
f8b89b7b1a
Update -d argument help message
2017-09-10 12:28:53 +02:00
Léo Lam
cc40931d64
PPCSymbolDB: Optimise symbol lookups
2017-09-10 11:42:12 +02:00
Léo Lam
8cd8e9d905
JIT: Don't always look up symbols for blocks
...
With tons of symbols, this results in noticeable stuttering, so
skip lookups if the perf dir option isn't set anyway.
2017-09-10 11:42:12 +02:00
Markus Wick
432117047b
Merge pull request #6045 from lioncash/sw-vertloader
...
SWVertexLoader: Minor cleanup
2017-09-10 11:23:25 +02:00
Markus Wick
88624f638f
Merge pull request #6041 from stenzek/streambuffer-fence
...
StreamBuffer: Don't wait on fences twice when reserve > commit
2017-09-10 11:20:01 +02:00
Mat M
a9b339fb65
Merge pull request #6048 from spycrab/qt_fix_tools
...
Qt: Fix "Load Wii System Menu" being in the wrong place
2017-09-10 02:18:13 -04:00
Stenzek
7141e6d57e
Merge pull request #6032 from stenzek/postprocess-save
...
VideoConfigDiag: Fix bug where postprocessing shader wasn't saved to INI
2017-09-10 16:05:03 +10:00
spycrab
c3a08f8653
Qt: Fix "Load Wii System Menu" being in the wrong place
2017-09-10 06:43:29 +02:00
Lioncash
696e1b40b5
Common: Move version strings to their own header
...
Ideally Common.h wouldn't be a header in the Common library, and instead be renamed to something else, like PlatformCompatibility.h or something, but even then, there's still some things in the header that don't really fall under that label
This moves the version strings out to their own version header that doesn't dump a bunch of other unrelated things into scope, like what Common.h was doing.
This also places them into the Common namespace, as opposed to letting them sit in the global namespace.
2017-09-09 19:28:10 -04:00
Lioncash
46579fe41c
SWVertexLoader: Make SWVertexLoader a final class
...
It doesn't make sense to allow extending this class based off the way
the VertexLoader API is set up.
2017-09-09 15:33:30 -04:00
Lioncash
dd8b41326c
SWVertexLoader: Make SetFormat() and ResetBuffer() private
...
SetFormat() is only ever used internally. ResetBuffer() is only
used to implement the VertexManagerBase class interface, so
there's no need to make it protected.
2017-09-09 15:33:30 -04:00
Lioncash
29a362be43
SWVertexLoader: Remove GetIndexBuffer()
...
It's only ever used in one place internally and is arguably unnecessary.
2017-09-09 15:33:22 -04:00
Lioncash
4d2a4924cb
SWVertexLoader: Normalize class variable names
...
Follows our coding style.
2017-09-09 15:32:41 -04:00
Jonathan Hamilton
d2d355bb50
Buildfix for X11 where HAVE_XRANDR is disabled
...
The "X.h" header *just* contains protocol constants, not functions or
typedefs - so stuff like "Display" and "Window" are not defined unless
you include "Xlib.h".
"Xrandr.h" happens to include "Xlib.h" itself, so enabling xrandr
effectively worked around this issue.
2017-09-09 11:49:20 -07:00
Stenzek
9e1c09e347
StreamBuffer: Don't wait on fences twice when reserve > commit
...
If we allocate a large amount of memory (A), commit a smaller amount,
then allocate memory smaller than allocation A, we will have already
waited for these fences in A, but not used the space. In this case,
don't set m_free_iterator to a position before that which we know is
safe to use, which would result in waiting on the same fence(s) next
time.
2017-09-09 13:26:30 +10:00
Stenzek
b969040534
Merge pull request #5923 from degasus/profiler
...
JitCommon: Update the block profiler
2017-09-08 18:20:35 +10:00
Markus Wick
62a331deed
Merge pull request #6035 from leoetlino/warning-fixes
...
Core: Fix warnings
2017-09-08 09:17:31 +02:00
spycrab
16e99985f9
Qt/GameList: Use AddAction for "Change Disc"
2017-09-07 20:42:11 +02:00
Léo Lam
a8849f87f1
Core: Fix warnings
...
Fixes two -Wmissing-declarations warnings
2017-09-07 20:35:17 +02:00
spycrab
0b2b72b366
Qt: Fix Wii Disc options being disabled while core is running
2017-09-07 19:46:06 +02:00
Leo Lam
14bd0fbf4b
Merge pull request #6029 from spycrab/qt_change_disc
...
Qt/GameList: Add "Change Disc" option
2017-09-07 19:24:25 +02:00
Leo Lam
c472462498
Merge pull request #6021 from spycrab/qt_build_by_default
...
CMake: Build DolphinQt2 by default
2017-09-07 19:23:07 +02:00
Leo Lam
0de3593b45
Merge pull request #6008 from spycrab/qt_older
...
Qt: Support versions < 5.6
2017-09-07 19:22:40 +02:00
Leo Lam
7971a4d66c
Merge pull request #5981 from spycrab/qt_filesystem
...
Qt/GameList: Implement "Filesystem" tab
2017-09-07 19:19:48 +02:00
Stenzek
0de31d87bd
VideoConfigDiag: Fix bug where postprocessing shader wasn't saved to INI
2017-09-08 01:19:26 +10:00
Stenzek
134daf3b00
Vulkan: Extend the NVIDIA MSAA bug to render-pass based clears
...
Calling vkCmdClearAttachments with a partial rect, or specifying a
render area in a render pass with the load op set to clear can cause the
GPU to lock up, or raise a bounds violation. This only occurs on MSAA
framebuffers, and it seems when there are multiple clears in a single
command buffer. Worked around by back to the slow path (drawing quads)
when MSAA is enabled.
2017-09-07 17:05:43 +10:00
Stenzek
b573319f8f
D3D: Fix shader compile error with logicop and alpha test enabled
2017-09-07 11:48:01 +10:00
Stenzek
c15ea2f1ed
D3D: Fix crash if shaders fail to compile
2017-09-07 11:45:43 +10:00
spycrab
8f8e96f59f
Qt/GameList: Add "Change Disc" option
2017-09-07 01:25:22 +02:00
Jules Blok
c97a799c5f
Merge pull request #6016 from Armada651/allow-tearing
...
D3DBase: Support the "allow tearing" DXGI flags.
2017-09-06 13:22:23 +02:00
Jules Blok
e103a58d87
Merge pull request #6012 from stenzek/drop-nv-glsl
...
Vulkan: Drop VK_NV_glsl extension support
2017-09-06 13:19:47 +02:00
Stenzek
1073053df9
Merge pull request #6026 from stenzek/d3d-ubershader-logicop
...
ShaderGen: Output uint when logic op is enabled for D3D ubershaders
2017-09-06 18:33:47 +10:00
Stenzek
2e20cd0ffd
Merge pull request #6025 from spxtr/present_queue
...
Vulkan: Use a separate queue for presenting.
2017-09-06 18:32:43 +10:00
iwubcode
1ccfccdcf0
D3D: Properly handle dual source blending
2017-09-05 23:51:31 -05:00
Jonathan Hamilton
7925de66b2
RFC: Call the previously-set sigaction in fastmem handler if it's not our address
...
This "fixes" the android crash handler, so it now correctly shows a
backtrace and other debug info on crash instead of scary kernel messages
on arm64
2017-09-05 17:37:24 -07:00
JosJuice
b96e4a2bce
Merge pull request #5927 from spycrab/qt_gamelist_cache
...
Qt: Implement gamelist caching
2017-09-05 21:16:22 +02:00
spxtr
a5be5a3a76
Vulkan: Use a separate queue for presenting.
...
Before this change, we simply fail if the device does not expose one
queue family that supports both graphics and present. Currently this is
fine, since devices tend to lay out their queues in this way. NV, for
instance, tends to have one queue family for all graphics operations and
one more for transfer only. However, it's not a hard requirement, and it
is cheap to use a separate queue, so we might as well.
2017-09-05 12:00:09 -07:00
Stenzek
84f8ebd95f
VideoBackends: Clear uid bits that are unused for the current backend
...
Currently, this is only the logic op bit, but this will be extended to
the framebuffer fetch/blend modes. In the future, when/if we move to
VideoCommon pipelines, this state will be part of the pipeline UID
anyway, and we can mask it out in the backend by using a two-level map,
so the shaders/programs are shared.
2017-09-05 23:49:42 +10:00
Stenzek
6d32cce2f5
ShaderGen: Output uint when logic op is enabled for D3D ubershaders
2017-09-05 23:49:42 +10:00
Jules Blok
347fd065df
D3DBase: Support the "allow tearing" DXGI flags.
...
This makes sure our framerate is unlocked when we disable V-Sync.
2017-09-04 23:12:52 +02:00
spycrab
28799bbe79
CMake: Build DolphinQt2 by default
2017-09-04 22:28:48 +02:00
spycrab
a361a1deed
Qt/SettingsWindow: Fix window not being detected as a dialog by some window managers
2017-09-04 19:50:24 +02:00
spycrab
4fdd4e2718
Qt: Support versions < 5.6
2017-09-04 10:40:47 +02:00
spycrab
f00456e6bf
Qt/ControllersWindow: Use std::map instead of std::unordered_map
2017-09-04 08:58:52 +02:00
Anthony
ee6930a231
Merge pull request #6013 from stenzek/d3d-logic-op
...
D3D: Implement logic op support
2017-09-03 19:26:50 -07:00
Anthony
26e777d80b
Merge pull request #5337 from stenzek/d3d-common-blending-state
...
D3D: Use blending state from VideoCommon
2017-09-03 19:25:46 -07:00
Stenzek
90051536bf
D3D: Support logic op through integer render target view
...
This brings D3D to parity with OpenGL and Vulkan.
2017-09-04 10:07:36 +10:00
Léo Lam
3475ba8918
DSP: Fix missing masking for accelerator registers
...
Based on hardware tests, masking occurs for the accelerator registers.
This fixes Red Steel and Far Cry Vengeance, which rely on this behavior
when reading back the current playback position from the DSP.
2017-09-04 00:26:13 +02:00
Markus Wick
9e0df284aa
Merge pull request #6018 from lioncash/const
...
Software/Tev: const correctness
2017-09-03 21:43:10 +02:00
Pierre Bourdon
5b6764a4fe
Merge pull request #6015 from JosJuice/dvd-0-length
...
Fix handling of DVD commands that read 0 bytes
2017-09-03 21:04:25 +02:00
Markus Wick
745cde81e5
Merge pull request #6017 from lioncash/d3d-texture
...
D3DTexture: Remove unused class member
2017-09-03 21:03:36 +02:00
Lioncash
baee3a9c74
Software/Tev: const correctness
2017-09-03 14:15:21 -04:00
Mat M
edf4bfaf5f
Merge pull request #5989 from lioncash/constantmgr
...
ConstantManager: Use std::array where applicable
2017-09-03 13:18:10 -04:00
Lioncash
36e299ca80
D3DTexture: Remove unused bindflags D3DTexture2D member variable
2017-09-03 13:12:26 -04:00
Lioncash
52099d1b0a
D3DTexture: in-class initialize class members where applicable
2017-09-03 13:08:06 -04:00
JosJuice
3528c93edf
DVDThread: Don't show an error message for all 0-length reads
2017-09-03 15:09:14 +02:00
JosJuice
0341a6052b
DVDInterface: Reply to 0-length commands
...
This regression from the chunking PR was making a few games hang.
2017-09-03 15:09:14 +02:00
Jules Blok
8906b26ea5
D3DBase: Use the correct version of CreateDXGIFactory.
2017-09-03 14:33:06 +02:00
Stenzek
99d61906cc
Merge pull request #5948 from Armada651/d3d-explicit-stereo
...
D3DBase: Only use a stereo swapchain if quad-buffering is enabled.
2017-09-03 21:07:24 +10:00
Jules Blok
75574ec6cc
Merge pull request #5946 from stenzek/ubershader-stereo-texture-samples
...
UberShaderPixel: Fix sampling of EFB copies in stereo modes
2017-09-03 12:26:52 +02:00
Stenzek
c9d649d27c
D3D: Use Direct3D 11.1 where supported
2017-09-03 16:33:47 +10:00
Stenzek
0622979d3b
ShaderGen: Support writing integer colors when logic op is enabled
...
This is required for D3D to support logic op.
2017-09-03 16:33:25 +10:00
Stenzek
254160691a
Revert "Vulkan: Use VK_NV_glsl extension where available, and skip glslang"
...
This reverts commit d23fd17e1a
.
Dynamic sampler indexing is broken in VK_NV_glsl as of 385.41. The
performance gap doesn't seem to be as wide with the updated driver, so
to save maintaining two code paths, it's easier to just drop the
extension support completely.
2017-09-03 15:31:19 +10:00
Stenzek
3dd675e613
Renderer: Change SetBlendState to accept a BlendingState
...
This decouples the state generation (from the emulated GPU) from the
management of internal backend state.
2017-09-03 14:14:54 +10:00
Stenzek
22b8cbae35
RenderBase: Drop SetColorMask and SetLogicOpMode
...
These are now incorporated into the blend state for all backends.
2017-09-03 14:14:54 +10:00
Stenzek
5c9bc8b79c
D3D11: Use blending state from VideoCommon
2017-09-03 14:14:54 +10:00
Stenzek
c90b0bf532
D3D11: Create debug device when validation layer is enabled in options
2017-09-03 14:14:19 +10:00
Stenzek
ce59121748
Merge pull request #6004 from lioncash/d3d
...
D3D: Eliminate redundant ID3D11DeviceChild* casts
2017-09-03 14:13:17 +10:00
Stenzek
005d0b39f7
Merge pull request #6009 from lioncash/async
...
AsyncShaderCompiler: Make WorkItem-derived class constructors explicit
2017-09-03 14:11:41 +10:00
Stenzek
7a4348b641
Merge pull request #5649 from JonnyH/WIP/disable-vk-clear-renderpass
...
Add DriverDetails::BUG to Disable "LoadOp" clear renderpass in vulkan
2017-09-03 13:49:51 +10:00
Pierre Bourdon
ed07bd4270
Merge pull request #6005 from spycrab/qt_warning_disable
...
Qt/DevelopmentWarning: Add "Don't show me this warning again" option
2017-09-03 03:50:29 +02:00
spycrab
0d3c4a3883
Qt/DevelopmentWarning: Add "Don't show me this warning again" option
2017-09-03 03:46:23 +02:00
Pierre Bourdon
425a8cb378
Merge pull request #5718 from mimimi085181/partial-updates-update
...
Update to partial texture updates
2017-09-03 03:16:55 +02:00
Pierre Bourdon
ab27f0f78c
Merge pull request #6010 from lioncash/vertex
...
OGL/VertexManager: Make vertex and index buffer handles private
2017-09-03 03:13:40 +02:00
spycrab
1b593fd56b
Qt: Implement TAS/Movie shortcuts
2017-09-03 02:58:38 +02:00
spycrab
0e7ed3514f
Qt: Implement "Movie" menu
2017-09-03 02:57:44 +02:00
Lioncash
2237a6a04c
OGL/VertexManager: Make vertex and index buffer handles private
...
These are only ever read, but not written to outside of the VertexManager class.
2017-09-02 20:51:54 -04:00
spycrab
4163ee42bc
Qt/GameList: Implement SelectionChanged()
2017-09-03 01:49:04 +02:00
Pierre Bourdon
3ae82ea669
Merge pull request #6007 from spycrab/qt_win_icon
...
Qt/MSVC: Add icon
2017-09-03 01:36:11 +02:00
spycrab
018c2cfd65
Qt/MSVC: Add icon
2017-09-02 23:51:59 +02:00
Lioncash
2d45204f12
VideoBackends: Add the explicit keyword to WorkItem-derived class constructors
...
Prevents implicit conversions
2017-09-02 17:35:20 -04:00
Lioncash
5059332d95
OGL/ProgramShaderCache: Remove unnecessary virtual keyword
...
This is superfluous, considering the override keyword is present.
2017-09-02 17:27:19 -04:00
Mat M
657195fad5
Merge pull request #6006 from JonnyH/WIP/parse-imgtec-gl_version-string
...
Parse IMGTEC's GL_VERSION string format
2017-09-02 17:10:59 -04:00
Markus Wick
30e01834e2
Merge pull request #6002 from lioncash/include
...
CommandProcessor: Remove unnecessary include
2017-09-02 23:05:58 +02:00
Jonathan Hamilton
658a4a6e29
Mark an ImgTec driver bug as fixed in 1.8@4693462
...
Now we correctly parse ImgTec's GL_VERSION string we can actually use
the BugInfo's version stuff correctly here
2017-09-02 14:05:16 -07:00
Jonathan Hamilton
662abcb2fe
Parse IMGTEC's GL_VERSION string format
...
ImgTec's driver uses a major.minor@changeID versioning system
This is packed into a double so "1.9@4850625" becomes "109.4850625"
The next release brnach is expected to be 1.10, hence the need for 2
digits for the branch minor.
The changeID should be unique for each build, but is shared over all
branches, so only makes sense to compare withing a branch.
It's likely branch 'major' versions will be used for major hardware
revisions, and the drivers for both maintained in parallel. Thus it
may not make sense to compare versions between different major
verisons - if/when this happens we can hook up a DriverDetails::Family
as needed.
2017-09-02 14:05:16 -07:00
Lioncash
64de8a9d0b
D3D: Eliminate redundant ID3D11DeviceChild* casts
2017-09-02 14:45:14 -04:00
Lioncash
6f97e3faa6
AsyncShaderCompiler: use std::make_unique in CreateWorkItem()
...
Same behavior, simpler code.
2017-09-02 14:08:00 -04:00
Lioncash
62615c601e
AsyncShaderCompiler: Forward arguments to the specified type's constructor in CreateWorkItem()
...
As this just hands off the arguments to another type's constructor,
perfect forwarding should be used here to preserve any potential move semantics.
2017-09-02 14:06:48 -04:00
Lioncash
f6e3a39c0e
CommandProcessor: Remove unnecessary include
...
Gets rid of some indirect inclusion.
2017-09-02 13:34:21 -04:00
degasus
992893ba41
Jit64: Use ImmPtr.
2017-09-02 14:33:07 +02:00
degasus
da79ddbde7
JitArm64: Rewrite Exit functions.
...
The gpr must not be touched in the Exit functions as they are maybe conditional.
So just allocate everything here manually.
2017-09-02 13:45:24 +02:00
degasus
304e601ad3
JitArm64: Reimplement aarch64 cycle counters.
...
CNTVCT_EL0 is force-enabled on all linux plattforms.
Windows is untested, but as this is the best way to get *any* low
overhead performance counters, they likely use it as well.
2017-09-02 13:24:37 +02:00
degasus
9080192a65
Jit64: Move profiler to the end of th block.
...
Within Cleanup(), it is called at *every* end of the block. This generates bigger code,
but it is the only way to handle blocks with multiple exit nodes.
2017-09-02 13:05:58 +02:00
degasus
958b75b707
JitCommon: Restructure the profiler calls.
2017-09-02 13:05:58 +02:00
degasus
95ce860265
DolphinWX: Enable branch following in the JIT debug interface.
2017-09-02 13:05:58 +02:00
degasus
8ab34b1a3e
Jit64: Inline the profiler calls.
2017-09-02 13:05:58 +02:00
spycrab
fcdd247f93
Qt: Fix building on <= 5.7.x
2017-09-02 03:20:20 +02:00
Leo Lam
8e9857d3cd
Merge pull request #5954 from khg8m3r/OSXKeyboard
...
Clean up OSX input selection
2017-09-01 21:31:17 +02:00
spycrab
1173c2f790
Qt: Implement "Extract Certificates from NAND"
2017-08-29 08:31:50 +02:00
spycrab
561d31f887
Qt: Implement "Import BootMii NAND Backup"
2017-08-29 08:31:45 +02:00
Jonathan Hamilton
62e8d25cd1
Add Bug to Disable "LoadOp" clear renderpass in vulkan
...
This optimisation doesn't work on PowerVR's Vulkan implementation. We
(incorrectly) disallow Framebuffer objects to be used with a different
load or store op than that which they were created with, despite the
spec allowing such.
This fixes the windwaker intro "smearing"
2017-08-28 18:01:35 -07:00
Jonathan Hamilton
11057649ee
Add VideoLogic (ImgTec) PCI ID
2017-08-28 18:01:16 -07:00
spycrab
a2b7632850
Qt: Implement "Load GameCube Main Menu"
2017-08-29 02:57:46 +02:00
spycrab
0dfde1d34e
Qt: Implement "Export All Wii Saves"
2017-08-28 23:00:14 +02:00
spycrab
9469fc3d6f
Qt: Implement "Import Wii Save"
2017-08-28 23:00:14 +02:00
Leo Lam
378416f986
Merge pull request #5972 from leoetlino/close
...
WiimoteReal: Fix device handles not being closed
2017-08-28 21:01:12 +02:00
Lioncash
9c1f9c1c00
ConstantManager: Use std::array where applicable
...
Modernizes the arrays and makes future simplifications possible (e.g. usages within the software renderer).
It also makes cases where we use array->pointer decay explicit.
2017-08-27 15:41:36 -04:00
spycrab
95a53a435c
Qt/GraphicsWidget: Fix bad layout column
2017-08-27 10:04:06 +02:00
Stenzek
21b3cd4759
OGL: Fix EFB pokes using incorrect color/depth
2017-08-27 11:55:24 +10:00
spycrab
8b346b7058
Qt/GameList: Implement "Filesystem" tab
2017-08-26 14:56:33 +02:00
spycrab
56aad4a958
Qt/PropertiesDialog: Make title more like Wx
2017-08-26 14:44:38 +02:00
spycrab
2630fa0ce9
Qt: Only show "Filesystem" Tab when game is disc based
2017-08-25 20:35:41 +02:00
JosJuice
87d982982d
Fix regression in File::CopyDir
...
This apparently fixes https://bugs.dolphin-emu.org/issues/10499 somehow.
The first changed line of this commit is just for performance - the
second changed line is where the difference in behavior is.
2017-08-25 19:14:14 +02:00
Léo Lam
31b04149b3
DiscIO: Fix TMD extraction
...
The offset that we read from the header is relative to the partition.
2017-08-25 17:31:50 +02:00
Chris Burgener
cc03e49024
Remove FFMPEG check for Renderer::IsFrameDumping()
2017-08-24 11:15:50 -04:00
spycrab
b9c5a2af05
Qt: Implement gamelist caching
2017-08-24 07:17:31 +02:00
Nick
ef95bf26cb
Implement GamePAd and MultiAxisController detection
2017-08-24 00:31:59 -04:00
Michael M
b58f8d19ab
Rename Common::FifoQueue to Common::SPSCQueue
...
Since all queues are FIFO data structures, the name wasn't informative
as to why you'd use it over a normal queue. I originally thought it had
something to do with the hardware graphics FIFO.
This renames it using the common acronym SPSC, which stands for
single-producer single-consumer, and is most commonly used to talk about
lock-free data structures, both of which this is.
2017-08-23 17:00:52 -07:00
Jonathan Hamilton
5b41c5ae0d
Fix vulkan crash on drivers without atomic load/store support
...
This would not allocate a SSBO buffer, but still try to update the
descriptor said with a NULL buffer. Which naturally crashed.
2017-08-23 14:49:22 -07:00
Léo Lam
52f26d462e
WiimoteReal: Fix device handles not being closed
...
fail.
I have no idea how this didn't cause issues for more people.
2017-08-23 23:05:29 +02:00
JosJuice
fb2016838e
Merge pull request #5864 from JosJuice/directoryblob-disccontentcontainer
...
DirectoryBlob: Improve ReadInternal
2017-08-23 18:48:24 +02:00
Anthony
935c1da357
Merge pull request #5951 from ligfx/gametrackerworkqueuethread
...
GameTracker: use new Common::WorkQueueThread instead of signals/slots
2017-08-23 08:02:36 -07:00
Léo Lam
e4ea4da782
IOS: Check for available features when adding devices
...
Prevents resource managers that shouldn't be visible from being exposed
to titles.
This adds a new function to get features for an IOS version, and also
moves the version checks from the modules themselves to VersionInfo.
This hopefully documents some of the differences between IOS better
and should be slightly cleaner than having random version checks.
2017-08-23 15:18:12 +02:00
Léo Lam
24e7b465be
IOS: Rename MemoryValues to VersionInfo
2017-08-23 14:44:51 +02:00
Pierre Bourdon
187e65f495
Merge pull request #5941 from delroth/wfs
...
WFS updates
2017-08-23 11:14:01 +02:00
Nick
3abde44641
formatting cleanup
2017-08-23 00:19:34 -04:00
Lioncash
bc57ab3923
Clipper: Copy both color sequences in CopyVertex as opposed to one
...
This is likely an oversight.
2017-08-22 22:45:28 -04:00
Lioncash
ffaa9a3bea
SW NativeVertexFormat: Utilize std::array where applicable
...
Gets rid of some hardcoded looping bounds, and also simplifies code in
some places, sometimes allowing for removal of a loop altogether.
2017-08-22 22:39:28 -04:00
Léo Lam
ef888ef168
WFS: Fix logging types.
2017-08-22 23:41:38 +02:00
Léo Lam
344228ec10
WFSI: Implement noop ioctl 0x8f.
2017-08-22 23:41:38 +02:00
Léo Lam
70cb0cb126
WFSI: Implement GET_VERSION.
...
This ioctl writes a constant value to the output buffer.
2017-08-22 23:41:38 +02:00
Léo Lam
8a5d24ab4b
WFSI: Implement IOCTL_WFSI_IMPORT_TITLE_CANCEL.
...
It gets called for cleaning up whenever something goes wrong, and
also when cancelling an update.
2017-08-22 23:41:38 +02:00
Léo Lam
5cc18bf116
WFSI: Add missing functionality to ImportTitleInit.
2017-08-22 23:41:38 +02:00
Léo Lam
f0aeeeaef6
WFSI: Implement internal Cancel{Title,Patch}Import.
2017-08-22 23:41:38 +02:00
Léo Lam
c1817b2c6d
WFSI: Rename 2 ioctls to better reflect their purposes.
...
* IOCTL_WFSI_PREPARE_DEVICE -> IOCTL_WFSI_IMPORT_TITLE_INIT
(equivalent of ES_ImportTitleInit, also the official name)
* IOCTL_WFSI_IMPORT_TITLE -> IOCTL_WFSI_IMPORT_TITLE_CANCEL
(equivalent of ES_ImportTitleCancel)
2017-08-22 23:41:38 +02:00
Léo Lam
7423563386
WFSI: Fix the TMD size check.
2017-08-22 23:41:37 +02:00
Pierre Bourdon
a641609857
WFSI: Implement patch install finalization.
2017-08-22 23:41:37 +02:00
Pierre Bourdon
76bbfbb511
WFSI: Adapt FINALIZE_TITLE_INSTALL for patch support.
2017-08-22 23:14:00 +02:00
Pierre Bourdon
db24c94c6e
WFSI: More work to support patching: split off current_tid/gid and import_tid/gid
2017-08-22 23:14:00 +02:00
Pierre Bourdon
aa445806a5
WFSI: Rename a few ioctl handlers.
2017-08-22 23:14:00 +02:00
Pierre Bourdon
5ed3a3f12d
WFSI: Get the patch info from PREPARE_DEVICE.
2017-08-22 23:14:00 +02:00
Léo Lam
e004709b69
WFSI: Implement CHECK_HAS_SPACE.
2017-08-22 23:13:59 +02:00
Léo Lam
15f25783a8
WFS: Implement RENAME.
2017-08-22 23:13:58 +02:00
Pierre Bourdon
2a8d9a53b7
WFS: Share error codes with WFSI.
2017-08-22 23:13:14 +02:00