Commit Graph

28729 Commits

Author SHA1 Message Date
spycrab 47c5a2f7ed
Merge pull request #7200 from Techjar/qt-dialog-fixes-2-electric-boogaloo
Qt: Various dialog fixes
2018-07-03 12:32:31 +02:00
Techjar a6a188a66b Qt: Various dialog fixes 2018-07-03 04:28:07 -04:00
Markus Wick 4b1b713e61
Merge pull request #7191 from GerbilSoft/feature/ar-thin-archives
CMake: Use thin archives on Linux.
2018-07-03 10:22:02 +02:00
spycrab 806c1ee8f0
Merge pull request #7207 from spycrab/qt_lazy_hotkey
Qt/MainWindow: Lazily initialize hotkey mapping window
2018-07-03 08:42:33 +02:00
spycrab f8bb4355a5
Merge pull request #7199 from spycrab/qt_default_iso
Qt/PathPane: Update "Default ISO" when changed
2018-07-03 08:34:47 +02:00
spycrab 457d7cf58f Qt/MainWindow: Lazily initialize hotkey mapping window 2018-07-03 08:24:45 +02:00
Pierre Bourdon 4a68490abc
Merge pull request #7170 from JonnyH/WIP/arbitrary-mipmap-detection-integer
Do all arbitrary mipmap detection in integer space
2018-07-03 04:04:16 +02:00
Pierre Bourdon 472cd14d1d
Merge pull request #7206 from delroth/qt-boottime
dqt2: lazy-initialize GraphicsWindow
2018-07-03 04:03:31 +02:00
Pierre Bourdon da0de12cce dqt2: lazy-initialize GraphicsWindow
Initializing GraphicsWindow layout & children requires cooperation from
the graphics stack: on my system, for example, it causes a Vulkan
context to get created in order to get driver info. This is a slow
operation, and right now it is taking about 60-70% of the Dolphin
startup time on my system.

Move instead to a lazy-initialization model where the constructor
does nothing, instead offloading work to a separate Initialize() method
called before the window is shown.

I would expect this should be done for other larger parts of the UI,
especially the ones where creating widgets ends up triggering large IO
subsystems (I suspect controller configuration might be doing that).

(I'm not super happy with how this is implemented, but right now it's a
one-off, and it's a major complaint users have with the new UI. I
prioritized getting something working quickly...)
2018-07-03 03:48:32 +02:00
David Korth 0149d22385 Removed some more double-expansions of CMAKE_SYSTEM_NAME. 2018-07-02 13:01:16 -04:00
David Korth 72458c1cff CMake: Use thin archives on Linux.
Thin archives contain pathnames pointing to the object files instead of
full copies of the object files. This significantly reduces the disk
usage when building Dolphin.

Size of *.a files: (gcc-8.1.0, Linux amd64)
- Before: 83,876 KB
- After:   1,876 KB
- Diff:  -82,000 KB

The resulting binaries are the same as before.

A similar change was implemented in the Linux kernel v4.8:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a5967db9af51a84f5e181600954714a9e4c69f1f
2018-07-02 12:59:09 -04:00
Jonathan Hamilton b54803a074 Remove unused sRGB conversion functions
Now the arbitrary mipmap reference downsampling is just done in linear space,
these are no longer used.
2018-07-02 09:53:54 -07:00
Jonathan Hamilton 431b9e76be Set arbitrary mipmap detection threshold default to 14
Now the detection heuristic has changed, the old value is no longer
valid.

Some example thresholds for known mipmap effects that should trigger:

SMG's lava has a mimimum difference of ~17.8, SMG2's clouds have a
minimum difference of ~14.8, and Wind Waker's foam has a minimum
difference of ~15

Non-triggering examples were tested and all had a calculated difference
lower than 3.

So a value of 14 should lean towards false-negatives instead of
positives, but this is clearly incomplete testing and may require
further tweaks later.
2018-07-02 09:53:54 -07:00
Jonathan Hamilton ac05d1a593 Do all arbitrary mipmap detection in integer space
This no longer converts from sRGB to linear for the reference mip
downsample - even if the original mipmap creation tool used an sRGB
colorspace (which isn't really guaranteed, and may even change per
game), this is a "fast" heuristic that's only an estimate anyway.

The average diff is also now stored in a u64, avoiding floating point
calculations in the per-pixel hot loop.

This should speed up the detection significantly, hopefully fixing
jank when loading in new textures.
2018-07-02 09:52:15 -07:00
spycrab 4eeef6e5b3
Merge pull request #7201 from 8times9/multiselection_deletion_menu_name
Qt/GameList: Change multiselection deletion name for consistency
2018-07-02 17:55:20 +02:00
8times9 fb98dbc41c Qt/GameList: Change multiselection deletion name for consistency 2018-07-01 21:22:55 -05:00
spycrab 87c5d00e20
Merge pull request #7198 from spycrab/qt_hotkey_fixes
Qt/Hotkeys: Various fixes
2018-07-02 00:15:22 +02:00
spycrab 37e936fa9e Qt/PathPane: Update "Default ISO" when changed 2018-07-01 18:20:59 +02:00
spycrab b5141ca6ce Qt/Hotkeys: Show OSD message when selecting slots 2018-07-01 16:30:12 +02:00
spycrab 32382438be Qt/Hotkeys: Implement "Load from File" / "Save from File" hotkeys 2018-07-01 16:14:29 +02:00
Stenzek 9cfcbfacbe
Merge pull request #7177 from Techjar/mipmap-detection-gui
Expose arbitrary mipmap detection toggle in UI
2018-07-01 19:21:22 +10:00
Techjar fe347851f1 Force arbitrary mipmap detection for some games known to use it
This will avoid effects being unexpectedly broken in these games if the user disables the option globally. This list is by no means comprehensive, these are just the games I could confirm use custom mipmaps.
2018-07-01 04:42:47 -04:00
Techjar bc15eb2d57 Expose arbitrary mipmap detection toggle in UI 2018-07-01 04:42:47 -04:00
spycrab 8e1425b363
Merge pull request #7193 from spycrab/qt_mac_bgcolor
Qt/WrapInScrollArea: Ensure correct macOS background colors
2018-07-01 04:02:56 +02:00
spycrab f5730e1636
Merge pull request #7195 from Cuyler36/qt-codewindow-address-fix
Qt/CodeWidget: Fix Address Search Focus Lost
2018-07-01 01:57:57 +02:00
Cuyler36 c4db7475d5 Fix Address Search Box Focus Lost 2018-06-30 17:47:16 -04:00
spycrab a4ef6f40d0
Merge pull request #7194 from Techjar/qt-pp-state
Qt/EnhancementsWidget: Fix post-processing options not being disabled when they should
2018-06-30 21:52:37 +02:00
spycrab c1f404fa35
Merge pull request #7192 from MikeRavenelle/master
Removed iterative input from the option group. It already exists in t…
2018-06-30 21:52:03 +02:00
Mike Ravenelle 8218de0762 QT: Removed iterative input in options groups. 2018-06-30 14:38:42 -05:00
Techjar 68b8cd1e7c Qt/EnhancementsWidget: Fix post-processing options not being disabled when they should 2018-06-30 14:59:19 -04:00
spycrab e23a2e3063
Merge pull request #7189 from Techjar/qt-backend-translated
Qt: Fix inability to select translated video backend names
2018-06-30 20:32:12 +02:00
spycrab 4bf276e912 Qt/WrapInScrollArea: Ensure correct macOS background colors 2018-06-30 20:15:22 +02:00
spycrab a9841e4fc4
Merge pull request #7190 from Techjar/video-backend-translation
Mark all video backend names for translation
2018-06-30 15:48:32 +02:00
spycrab e3f293dafe
Merge pull request #7188 from Techjar/qt-dialog-titles
Qt: Add titles to various message boxes
2018-06-30 15:42:02 +02:00
Techjar b59387a65d Qt: Fix inability to select translated video backend names 2018-06-30 07:31:44 -04:00
Techjar dc2f22516c Mark all video backend names for translation 2018-06-30 06:30:19 -04:00
Techjar 7785255470 Qt: Add titles to various message boxes 2018-06-29 23:29:23 -04:00
spycrab e22c5333ab
Merge pull request #6819 from spycrab/delete_wx
Remove DolphinWX
2018-06-30 00:12:24 +02:00
spycrab 227290055d
Merge pull request #7184 from spycrab/qt_tas_round
Qt/TAS: Fix slightly off-center default values
2018-06-29 11:47:32 +02:00
spycrab 384cbf212e
Merge pull request #7179 from Techjar/qt-min-section-size
Qt/GameList: Explicitly set minimum section size
2018-06-29 11:42:25 +02:00
spycrab eac5d3d089 Qt/TAS: Fix slightly off-center default values 2018-06-29 11:39:36 +02:00
Techjar d94805bab3 Qt/GameList: Explicitly set minimum section size 2018-06-29 05:22:26 -04:00
spycrab bd28bf6b1e
Merge pull request #7164 from Techjar/gamelist-multiselect
Qt/GameList: Reimplement multiselection functionality from WX
2018-06-29 11:14:28 +02:00
spycrab a595ac6b27
Merge pull request #7169 from Techjar/qt-memcard-creation
Qt/GameCubePane: Fix inability to create new memory card file
2018-06-29 11:07:56 +02:00
spycrab 9b00045220
Merge pull request #7168 from Techjar/qt-image-columns
Qt/GameList: Adjust image column widths for equal padding
2018-06-29 11:05:39 +02:00
spycrab 2e6d2a0342
Merge pull request #7183 from spycrab/qt_gamelist_fixes
Qt/GameList: Fix some resizing bugs
2018-06-29 10:52:45 +02:00
JosJuice 1073aa4602
Merge pull request #7181 from Ebola16/R
Android: Properly set default Internal Resolution
2018-06-29 09:40:09 +02:00
spycrab a9f065a559 Qt/GameList: Fix some resizing bugs 2018-06-29 09:22:18 +02:00
Ryan Meredith cdbc61dd0e Android: Properly set default Internal Resolution 2018-06-28 22:14:53 -04:00
spycrab 3eef8145d2
Merge pull request #7172 from spycrab/qt_np_map
Qt/PadMappingDialog: Retain previous settings
2018-06-29 01:01:42 +02:00