Commit Graph

19969 Commits

Author SHA1 Message Date
Stenzek 9fa24700b6 VideoConfig: Collapse ubershader configuration fields to a single value 2018-03-10 15:56:45 +10:00
Stenzek 590307b94c ShaderCache: Use memcmp for comparing pipeline UIDs
As these are stored in a map, operator< will become a hot function when
doing lookups, which happen every frame. std::tie generated a rather
large function here with quite a few branches.
2018-03-10 15:56:42 +10:00
Stenzek 41296db083 Renderer: Remove now-redundant Set{Rasterization,Depth,Blending}State 2018-03-10 15:56:40 +10:00
Stenzek fc1fe0672b OGL: Add some basic state tracking
We would want to improve the granularity here in the future, but for
now, this should avoid any performance loss from switching to the
VideoCommon shader cache.
2018-03-10 15:56:37 +10:00
Stenzek f9c829c7f7 OGL: Re-implement async shader compiling 2018-03-10 15:56:34 +10:00
Stenzek dec0c3bce8 Move shader caches to VideoCommon 2018-03-10 15:56:30 +10:00
Stenzek 24df896eb8 VKShader: Fix incorrect loading of binary shaders 2018-03-10 15:56:27 +10:00
Stenzek 1ddc4c5568 D3D: Make NativeVertexFormat thread safe 2018-03-10 15:56:24 +10:00
Stenzek 40845e6b8f D3D: Make StateCache thread safe 2018-03-10 15:56:21 +10:00
Stenzek bfb4709c80 AbstractPipeline: Allow setting pipeline to null 2018-03-10 15:56:18 +10:00
Stenzek 5e5dfe686a VKPipeline: Fix render pass and add pipeline layout fields 2018-03-10 15:56:13 +10:00
Stenzek a61fcb0088 OGL: Fix abstract pipelines on drivers without binding layout support 2018-03-10 15:56:06 +10:00
Stenzek 00204dc988 OGL: Make ProgramShaderCache thread safe 2018-03-10 15:55:56 +10:00
Léo Lam 63838c013b
Merge pull request #6281 from JosJuice/unify-gamelist-code
Unify ISOFile (wx) with GameFile (Qt) and put it in UICommon
2018-03-09 20:39:02 +01:00
Léo Lam ef975b8c56
Merge pull request #6377 from sepalani/memcheck
DolphinWX: Propagate IDM_UPDATE_BREAKPOINTS to CodeWindow
2018-03-09 20:35:54 +01:00
JosJuice 0e2690f40b FileMonitor: Store last file offset instead of path
This saves us from having to call GetPath when the same file is being
read over and over. (GetPath is more expensive than GetOffset due to
it iterating through parts of the file system and creating strings.)
2018-03-09 15:18:32 +01:00
JosJuice 1f1dae367d Unify ISOFile (wx) with GameFile (Qt) and put it in UICommon
The original reason I wanted to do this was so that we can replace
the Android-specific code with this in the future, but of course,
just deduplicating between DolphinWX and DolphinQt2 is nice too.

Fixes:

- DolphinQt2 showing the wrong size for split WBFS disc images.

- DolphinQt2 being case sensitive when checking if a file is a DOL/ELF.

- DolphinQt2 not detecting when a Wii banner has become available
after the game list cache was created.

Removes:

- DolphinWX's ability to load PNGs as custom banners. But it was
already rather broken (see https://bugs.dolphin-emu.org/issues/10365
and https://bugs.dolphin-emu.org/issues/10366). The reason I removed
this was because PNG decoding relied on wx code and we don't have any
good non-wx/Qt code for loading PNG files right now (let's not use
SOIL), but we should be able to use libpng directly to implement PNG
loading in the future.

- DolphinQt2's ability to ignore a cached game if the last modified
time differs. We currently don't have a non-wx/Qt way to get the time.
2018-03-09 13:08:38 +01:00
JosJuice 0d3a7d5e38 Fix launching DolphinQt2 from Visual Studio 2018-03-08 22:33:11 +01:00
Léo Lam 3cc64cc146
Merge pull request #6418 from spycrab/qt_gameconfig
Qt/PropertiesDialog: Add "Game Config" tab
2018-03-08 20:33:12 +01:00
Léo Lam ed2d749fb9
Merge pull request #6424 from delroth/traversal-watchdog
Add systemd watchdog support to the traversal server
2018-03-08 17:29:45 +01:00
Léo Lam 1eae5fe790
Merge pull request #6422 from sepalani/nullptr-blank
HLE: Improve format string detection heuristic
2018-03-08 17:26:09 +01:00
Pierre Bourdon 9e0739f5e5 traversal: add systemd watchdog support 2018-03-08 06:10:17 +00:00
spycrab 394388af4e Qt/PropertiesDialog: Add "Game Config" tab 2018-03-07 20:59:41 +01:00
Anthony 1a1133bf8e
Merge pull request #6423 from leoetlino/tid
UI: Show title ID in info panel
2018-03-07 10:47:43 -08:00
Léo Lam 3af09da0f3 UI: Show title ID in info panel
Add a way to easily get the title ID of a game. For Wii titles, it's
sometimes more useful to know than the game ID.
2018-03-07 17:40:22 +01:00
Stenzek 24a46dc6af
Merge pull request #6315 from stenzek/abstract-framebuffers
Abstract Framebuffers
2018-03-08 00:52:49 +10:00
Léo Lam aee977e32a
Merge pull request #6420 from JosJuice/qt-translateability
Tweak Qt strings to be more translation friendly
2018-03-07 13:40:14 +01:00
Léo Lam 6ca1c46117
Merge pull request #6415 from spycrab/qt_resize
Qt/GameList: Make a few columns resizable
2018-03-07 13:36:26 +01:00
Sepalani 4f1c0ca3e9 HLE: Improve format string detection heuristic 2018-03-06 21:21:56 +04:00
JosJuice 83373e2e87 Qt2 TAS input: Generate key strings automatically
This saves us from having to hardcode strings, and it also gives
us strings in whatever format is appropriate on the current OS
(for instance, IIRC Windows uses Alt+F where other OSes use Alt-F).
2018-03-06 17:38:57 +01:00
JosJuice 45040f00c6 Tweak Qt strings to be more translation friendly 2018-03-04 19:13:13 +01:00
Léo Lam a436c6182b
Merge pull request #6388 from leoetlino/merge
Consolidate ec_wii functions into IOSC
2018-03-02 23:14:37 +01:00
Léo Lam 96e4e01564
Merge pull request #6416 from Ebola16/Warning
Remove DSPLLE ReadAnnotatedAssembly error log entry
2018-03-02 23:10:43 +01:00
Anthony 78b00d8d32
Merge pull request #6382 from spycrab/qt_patches
Qt/PropertiesDialog: Implement "Patches" tab
2018-03-02 10:34:00 -08:00
Stenzek 4c24a69710 VideoCommon: Add support for Abstract Framebuffers 2018-03-02 20:20:48 +10:00
Ryan Meredith c94cd4a275 Remove DSPLLE ReadAnnotatedAssembly error log entry 2018-03-02 02:25:25 -05:00
spycrab dee4440c9d Qt/GameList: Make a few columns resizable 2018-03-02 00:51:21 +01:00
Stenzek 2a6d9e4713 AbstractTexture: Add support for depth textures/formats 2018-03-01 17:31:24 +10:00
Stenzek 6374a4c4a8 AbstractTexture: Support multisampled abstract texture 2018-03-01 17:31:24 +10:00
Stenzek 4316f5f56b AbstractTexture: Add property/attribute accessor helpers 2018-03-01 17:31:24 +10:00
Stenzek e125eaa237 VideoCommon: Drop references to AbstractRawTexture 2018-03-01 17:31:24 +10:00
Stenzek 887e3830ba VideoBackends: Restore the framebuffer as part of the API state
It's not often we switch out to draw to the EFB anyway.
2018-03-01 17:31:24 +10:00
Stenzek b4b0f3d942 Vulkan: Fix broken post-processing 2018-03-01 16:55:55 +10:00
spycrab ecaa68ade9 Qt: Make game revision vars u16 2018-02-28 22:35:10 +01:00
spycrab 4b54f6b1c7 Qt/PropertiesDialog: Implement "Patches" tab 2018-02-28 21:16:57 +01:00
Léo Lam 4e014f996b IOS: Fix invalid FD being returned after an open
Fixes a regression introduced by 80b1bf13c2.

The return value for open replies should be overwritten with the new
file descriptor.
2018-02-28 15:56:03 +01:00
Mat M bf825e6354
Merge pull request #6404 from hubslave/patch-1
Include <endian.h> for byte swap macros on OpenBSD
2018-02-27 23:28:22 -05:00
Léo Lam 80b1bf13c2 IOS: Change devices to always return IPCCommandResult
This commit changes devices to always return IPCCommandResult rather
than just a return code for Open() and Close() in order to be able
to better emulate reply timing.

In hindsight, I should have considered we would want to emulate
timing when I cleaned up the device interface, but alas.
This rectifies that mistake.
2018-02-27 21:12:07 +01:00
Léo Lam 9282be1058 IOS: Fix regression affecting BC launch
8e06257f19 caused Dolphin not to consider BC as emulated anymore.
2018-02-27 18:16:05 +01:00
Léo Lam 1de17d20e1 Fix render surface when using Render to Main and debugger
This fixes a regression introduced by de632fc9c.
2018-02-27 13:18:43 +01:00