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
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