Commit Graph

21930 Commits

Author SHA1 Message Date
Leo Lam 4dcc931d97 Merge pull request #5855 from leoetlino/config-reload
Config: Reload game INI on title change
2017-08-01 13:40:05 +08:00
Stenzek fe65b26d53 Merge pull request #5834 from stenzek/bc7
Support loading BC7 (BPTC) textures from DDS files
2017-08-01 12:39:19 +10:00
Stenzek b93d118cef Merge pull request #5857 from stenzek/drop-force-ubershader-settings
VideoConfig: Drop force vertex/pixel ubershader settings
2017-08-01 12:01:33 +10:00
Stenzek 63305e9173 HiresTextures: Support loading BC7 (BPTC) from DDS files 2017-08-01 11:59:38 +10:00
Stenzek d18988f41e GLExtensions: Add GL_ARB_texture_compression_bptc 2017-08-01 11:58:57 +10:00
spycrab 84b44fa467 Qt: Implement logging widget (+ configuration) 2017-08-01 01:36:08 +02:00
spycrab 962d684ca2 Qt: Implement logging settings and signals 2017-08-01 01:36:08 +02:00
spycrab 5b733b8710 Qt: Add log menubar options 2017-08-01 01:36:08 +02:00
Léo Lam 4129aa2438 Config: Reload game INI on title change
Enables any code that uses OnionConfig to use the correct config for
the current title, not just the first title that was booted.
2017-07-31 22:44:32 +08:00
Leo Lam 131c97e87c Merge pull request #5853 from leoetlino/onionconfig-fix
Config: Fix the loader Load() being called twice
2017-07-31 22:43:32 +08:00
Stenzek 134b0ca940 Android: Fix ubershader hybrid setting 2017-08-01 00:38:26 +10:00
Léo Lam f5fd183571 Config: Fix the loader Load() being called twice
The Config::AddLoadLayer functions call Load on the layer
explicitly, but Load is already called in the constructor,
so they'd cause the loader's Load function to be called twice,
which is potentially expensive considering we have to read an INI
from the host filesystem.

This commit removes the Config::AddLoadLayer functions because
they don't appear to be necessary.
2017-07-31 22:32:05 +08:00
Stenzek d62dcd397d VideoConfig: Drop force vertex/pixel ubershader settings
This was mainly included for debugging, but could end up being confusing
for users, as well as polluting the GL program cache with a mix of uber
and specialized shaders if the option was changed.
2017-07-31 23:21:38 +10:00
Léo Lam 603762ec4d Config: Fix returned game INI filenames for title IDs
Using the first letter or the 3 letters of the ID only makes sense
if the ID is an actual game ID (which has 6 characters).
2017-07-31 17:00:44 +08:00
Leo Lam ed331918f0 Merge pull request #5851 from leoetlino/sysconf-fix
SysConf: Fix writing a new SYSCONF
2017-07-31 16:45:06 +08:00
Leo Lam 279c80b414 Merge pull request #5852 from leoetlino/wiimotes
Core: Reset s_wants_determinism on shutdown
2017-07-31 16:44:05 +08:00
Leo Lam c11172497f Merge pull request #5840 from leoetlino/wx-focus-fix
WX: Fix 'renderer has focus' returning false after start
2017-07-31 16:43:53 +08:00
Leo Lam ca49de80c5 Merge pull request #5826 from JonnyH/WIP/add-option-to-prefer-GLES-when-using-EGL
Add "PreferGLES" option to EGL GLInterface
2017-07-31 16:43:38 +08:00
Léo Lam 311cfe9223 Core: Reset s_wants_determinism on shutdown
Without doing this, Core::WantsDeterminism() will keep returning true
and some GUI options may be disabled for no reason.
2017-07-31 15:38:39 +08:00
Léo Lam b5e7c417ff SysConf: Fix writing a new SYSCONF
On Windows, File::GetTempFilenameForAtomicWrite returns a path
somewhere in C:\Users\XXX\AppData\Local\Temp\{UUID here}\
in which all writes just fail.

Just use the SYSCONF path + ".tmp" for the temporary file name.
2017-07-31 15:18:43 +08:00
Lioncash f6c21e002b General: Remove unnecessary semicolons 2017-07-30 16:39:53 -04:00
Lioncash b3c1bff34b SysConf: Add explicit to single-argument constructor
Prevents implicit construction from FromWhichRoot values.
2017-07-30 15:35:16 -04:00
Léo Lam 072991fa31 Force ticket to have a correct key index for importing
This commit changes the import code to ensure the common key index
in the ticket is correct, as it's checked by IOS.
2017-07-31 00:50:19 +08:00
Léo Lam a1f75f3370 Analytics: Report a few more video settings
* per-pixel lighting
* usershader mode
* fast depth
* vertex rounding
2017-07-30 21:50:33 +08:00
Léo Lam f0aa454662 WX: Fix 'renderer has focus' returning false after start
The main window was already active, so the activate event was never
emitted, and m_renderer_has_focus was never changed.
2017-07-30 17:48:54 +08:00
Stenzek b154edb4fb VideoCommon: Move WM_USER_CREATE message to after backend initialization
Fixes the mouse cursor being left visible after ubershader
precompilation when the hide option is checked.
2017-07-30 17:43:59 +10:00
Stenzek d54ca2a16a PixelShaderGen: Don't include host early z support in UID
Disable it at shader generation time instead. This way the UIDs are
sharable.
2017-07-30 17:43:59 +10:00
Stenzek e968c191ff Ubershaders: Support per-pixel lighting 2017-07-30 17:43:59 +10:00
Stenzek c8f31656cb VideoBackends: Support a different number of threads for precompiling
At runtime, we only really want a single shader compiler thread.
However, for initial boots, we can use a higher number to speed things
up.
2017-07-30 17:43:59 +10:00
Stenzek e17efb1d8d ShaderGen: Use consistent variable names for texture coordinates 2017-07-30 17:43:59 +10:00
Stenzek 25338c53e0 NativeVertexFormat: Drop unused virtual method SetupVertexPointers 2017-07-30 17:43:59 +10:00
Stenzek 33f6668544 Vulkan: Multithreaded creation of UID pipeline caches
Should give a decent speedup to boot time.
2017-07-30 17:43:59 +10:00
Stenzek 81b4ed2a81 Vulkan: Uber shader support 2017-07-30 17:43:59 +10:00
Stenzek 4bf5625895 D3D: Uber shader support 2017-07-30 17:43:59 +10:00
Stenzek cd502990fa OGL: Uber shader support 2017-07-30 17:43:59 +10:00
Stenzek 901bf9c257 VideoConfig: Add config options for ubershaders 2017-07-30 17:43:59 +10:00
Stenzek 745d541527 ShaderGen: Implement vertex ubershaders 2017-07-30 17:43:59 +10:00
Stenzek 7d78cf0f6f ShaderGen: Implement pixel ubershaders 2017-07-30 17:43:59 +10:00
Stenzek 07591e7d5c PixelShaderGen: Move header generation to seperate function 2017-07-30 17:43:59 +10:00
Stenzek c783cd2aaf GeometryShaderGen: Add UID enumeration functions 2017-07-30 17:43:59 +10:00
Stenzek 38c48ff72e VertexLoaderManager: Add methods to generate "uber" vertex formats
These vertex formats enable all attributes. Inactive attributes are set
to offset=0, and the smallest type possible. This "optimization" stops
the NV compiler from generating variants of vertex shaders.
2017-07-30 17:43:59 +10:00
Stenzek f48ef65bec XFMemory: Convert several registers to bitfields 2017-07-30 17:43:59 +10:00
Scott Mansell 479abde9f4 BPMemory: Convert a number of unions to BitFields 2017-07-30 17:43:59 +10:00
Stenzek 0a9574eaa1 VideoCommon: Add AsyncShaderCompiler class implementation 2017-07-30 17:43:59 +10:00
Anthony 5bad2ee4a4 Merge pull request #5832 from stenzek/ubershader-prereq
Ubershader prerequisites
2017-07-30 00:42:36 -07:00
Stenzek 357c55442f Vulkan: Clear decoding texture before usage
Fixes a validation layer warning.
2017-07-30 12:38:50 +10:00
Stenzek 447aeb8f77 EGLInterface: Create shared context with same attributes as main context 2017-07-30 12:38:50 +10:00
Stenzek aff44684a4 Vulkan: Move shader/pipeline-related methods to ShaderCache 2017-07-30 12:38:49 +10:00
Stenzek d23fd17e1a Vulkan: Use VK_NV_glsl extension where available, and skip glslang
Seems to produce faster ubershaders, at least.
2017-07-30 12:38:49 +10:00
Stenzek 416afa065c BitField: Add StartBit() and NumBits() accessors 2017-07-30 12:38:49 +10:00
Stenzek 3e508fc0a2 GLInterface: Support shared contexts on AGL 2017-07-30 12:38:49 +10:00
Ryan Houdek 01ae02482c GLInterface: Support shared contexts in GLX 2017-07-30 12:38:49 +10:00
Stenzek 621287e7eb VideoCommon: Improve precision of FPS counter 2017-07-30 12:38:48 +10:00
Stenzek 1fccbd5be3 DolphinWX: Add a progress dialog host command
Allows feedback from backends to be communicated to the user when
long-running operation are performed (e.g. shader compilation).
2017-07-30 12:38:48 +10:00
Léo Lam 5a90a26080 IOS: Fix the error code for ES_DEVICE_ID_MISMATCH 2017-07-30 00:24:47 +08:00
ligfx 2f932273bb LogManager: remove stand-alone semicolon
My bad!
2017-07-27 21:15:05 -07:00
Anthony 97ea97564f Merge pull request #5833 from leoetlino/unused
Qt/Config: Remove unused members
2017-07-27 12:00:33 -07:00
Anthony 6fe33f844f Merge pull request #5770 from ligfx/lognewconfig
LogManager: use layered config
2017-07-27 11:58:57 -07:00
Léo Lam 27924a1e2e Qt/Config: Remove unused members 2017-07-27 17:26:28 +08:00
Leo Lam 7a51b0bcec Merge pull request #5807 from leoetlino/connect-wiimote
Move the Wiimote connect code out of Host
2017-07-27 15:02:28 +08:00
Leo Lam 5c29ea54c5 Merge pull request #5817 from JosJuice/qt-strings-match-wx
Make DolphinQt2 strings more like DolphinWX strings
2017-07-27 15:01:56 +08:00
Leo Lam b140a6eb04 Merge pull request #5830 from lioncash/prototypes
DolphinQt2: Remove unimplemented prototypes
2017-07-27 15:01:29 +08:00
Leo Lam bf7c0c8024 Merge pull request #5831 from lioncash/include
DolphinQt2: Add missing include guards
2017-07-27 15:00:52 +08:00
Stenzek a11bde7d16 Merge pull request #5679 from stenzek/no-host-state-in-uids
ShaderGen: Decouple host state from shader UIDs
2017-07-27 13:30:38 +10:00
Jonathan Hamilton 0fbd0cab6a Add "PreferGLES" option to EGL GLInterface
This makes the EGL interface select OpenGL|ES contexts over "desktop"
OpenGL ones.

Possibly not useful for anyone outside my own debugging, but you never
know
2017-07-26 19:26:36 -07:00
Lioncash fb42c3eddc DolphinQt2: Add missing include guards 2017-07-26 16:31:58 -04:00
Lioncash 80b938b403 DolphinQt2: Remove unimplemented prototypes
Also removes an unnecessary includes in related files
2017-07-26 16:26:55 -04:00
JosJuice de6bd80f9c DolphinQt2: Add i18n comments for Table/List
To avoid confusion with the verb "list" and the kind of table
that's a type of furniture.
2017-07-26 08:04:10 +02:00
JosJuice b32fe5e41d DolphinQt2: Remove the %1 from "%1 Banner Details"
It's not particularily useful to list the platform here,
and these kinds of messages that use words as parameters
are more likely to be mistranslated than the average string.
2017-07-26 08:04:10 +02:00
JosJuice 960525859b Make DolphinWX strings more like DolphinQt2 strings
Same as the previous commit, except I'm copying strings
in the other direction because the DolphinWX variants
of these strings could use some improvement.
2017-07-26 08:04:10 +02:00
JosJuice ce11b34e74 Make DolphinQt2 strings more like DolphinWX strings
Without this, we would be pushing a lot of extra strings onto
translators now that 55fb6ef is merged.
2017-07-26 08:04:10 +02:00
JosJuice fb80c5398a DolphinWX: Use title case for hotkey group names 2017-07-26 08:00:17 +02:00
JosJuice d7d88aeb7d DolphinWX: Mark AF choices as translatable
For consistency with DolphinQt2.
2017-07-26 08:00:17 +02:00
JosJuice 8deba867e8 DolphinQt2: Remove ellipses from settings menu options
The action that these menu options perform is to open a
settings window, and that action is completed instantly,
so we shouldn't have ellipses.
2017-07-26 08:00:17 +02:00
Leo Lam 10db1bcbca Merge pull request #5828 from ligfx/qtqueueonobject
Qt: add QueueOnObject
2017-07-26 12:56:08 +08:00
Leo Lam be8324380d Merge pull request #5786 from grimpunch/qt_viewoptions
Qt: Implement Show Platforms / Show Regions
2017-07-26 12:02:14 +08:00
Michael M 2c03cfacc2 Qt WiiUpdate: use QueueOnObject instead of Core::QueueHostJob 2017-07-25 17:44:07 -07:00
Michael M 734c9e1459 QtUtils: add QueueOnObject 2017-07-25 17:44:07 -07:00
JosJuice 8292d378ea Merge pull request #5824 from lioncash/include-guard
ListProxyModel: Add missing include guard
2017-07-25 08:23:49 +02:00
Mat M 63f1f122fa Merge pull request #5729 from ligfx/qtremoveoldsyntax
DolphinQt2: update old SLOT/SIGNAL syntax
2017-07-24 18:48:20 -05:00
Lioncash 7373474888 ListProxyModel: Add missing include guard 2017-07-24 19:46:25 -04:00
Christian Murphy df35a26628 Qt: Implement Show Platforms / Show Regions
Porting the View config logic from WX to Qt.
Adds to the View Menu
2017-07-24 14:36:09 +01:00
Leo Lam c27dd9dc20 Merge pull request #5785 from leoetlino/sysconf-fix
SysConf: Minor fixes
2017-07-24 14:03:33 +08:00
Leo Lam a23a38da23 Merge pull request #5821 from JosJuice/qt-builtin-database-placement
DolphinQt2: Change the placement of "Use Built-In Database of Game Names"
2017-07-24 11:06:20 +08:00
Michael Maltese aafb61c187 DolphinQt2: Remove 'slots:' syntax from headers
With Qt5's new connection syntax, method pointers and functors are
connected directly. There's no need to declare slots.
2017-07-23 15:07:49 -07:00
Michael Maltese f0fd38698e DolphinQt2: use new connection syntax instead of old syntax 2017-07-23 15:07:49 -07:00
Michael Maltese a365686956 GameList: fix Decompress slot typo
There is no such `DecompressISO` slot.
2017-07-23 15:07:49 -07:00
Leo Lam 7c70e77c74 Merge pull request #5818 from JosJuice/qt-localization-fixes
DolphinQt2: Fix localization issues
2017-07-23 22:04:17 +08:00
Leo Lam 96a8fb720d Merge pull request #5819 from JosJuice/qt-analytics-message
DolphinQt2: Reword the analytics message
2017-07-23 22:02:02 +08:00
JosJuice bb3bbb2887 DolphinQt2: Fix saving "Use Built-In Database of Game Names"
This one is my fault too
2017-07-23 15:29:43 +02:00
JosJuice 22fbd65d47 DolphinQt2: Change the placement of "Use Built-In Database of Game Names"
When I added this setting, I didn't notice that the interface
pane in DolphinQt2 was split into two different sections.
2017-07-23 15:28:34 +02:00
JosJuice 34cacd4944 DolphinQt2: Reword the analytics message
"this" made sense when "Do you authorize..." was on the bottom,
but it doesn't make sense when it's at the top.

Also removing unnecessary newlines.
2017-07-23 15:18:12 +02:00
JosJuice 20172196f5 DolphinQt2: Let game properties show names for WADs 2017-07-23 15:11:18 +02:00
JosJuice 5938c58f99 DolphinQt2: Fix localization issues 2017-07-23 10:50:20 +02:00
Léo Lam 02f32a9b26 Handle BT.DINF properly
The section is 0x461 bytes long, not 0x460. The config data is also now
initialised to zero to avoid garbage being written to the SYSCONF.

Because our handling has been wrong forever, we discard older BT.DINF
section backups as using them would result in the section being the
wrong size / incomplete again.
2017-07-23 15:58:04 +08:00
Léo Lam c759739ee9 SysConf: Handle array entries properly
It turns out that the last byte of array entries isn't unused (as we
thought); instead, it looks like it's actually part of the main data,
and the length stored next to the name is in fact the length minus one.

Getting it wrong and always storing a null byte in there won't affect
most entries (since the last byte is zeroed most of the time), except:

- IPL.NIK: the length is stored in the last byte, and it must be kept.
- BT.DINF: u8 unknown[0x45] should be another Bluetooth device entry.
- Possibly other unknown affected entries.
2017-07-23 15:57:29 +08:00
Léo Lam 1c33dfc787 Wiimote: Remove useless disconnections
ChangeWiimoteSource does not need to disconnect a Wiimote if it isn't
connected.
2017-07-23 15:52:15 +08:00
Léo Lam ee868e2362 Move the Wiimote connect code out of Host
I don't know who thought it would be a good idea to put the Wiimote
connect code as part of the Host interface, and have that called
from both the UI code and the core. And then hack around it by having
"force connect" events whenever Host_ConnectWiimote is called
from the core...
2017-07-23 15:47:32 +08:00
Léo Lam 9357fa3514 Qt/AboutDialog: Fix the copyright string 2017-07-23 14:58:01 +08:00
Leo Lam 673210afea Merge pull request #5814 from ligfx/macremovecfbundlelocalizations
Remove CFBundleLocalizations from Info.plist
2017-07-23 14:48:38 +08:00