Commit Graph

26839 Commits

Author SHA1 Message Date
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
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
Anthony
619449a11e
Merge pull request #6417 from leoetlino/casper
GameINI: Add a game patch to work around dcache issue (RX4E4Z)
2018-03-02 10:23:04 -08:00
Léo Lam
289ed21140 GameINI: Add a game patch to work around dcache issue (RX4E4Z)
Work around a dcache issue by preventing the game from doing
something pointless.

The game's DVD read function writes 0x87654321 to the entire read
buffer and 0x12345678 to the last 4 bytes. It then calls DVDReadAsync()
and without waiting for the read to complete at all, it checks if the
last 4 bytes are still 0x12345678. If they are, then the game fails.

The check always passes on console because DVDReadAsync() calls
issueCommand(), which calls DCInvalidateRange(read_buffer) (dcbi).

Dolphin cannot emulate this without an extremely significant
performance hit.
2018-03-02 12:07:17 +01: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
Anthony
ed03304ce7
Merge pull request #6414 from stenzek/vulkan-post
Vulkan: Fix broken post-processing
2018-02-28 23:17:19 -08:00
Stenzek
b4b0f3d942 Vulkan: Fix broken post-processing 2018-03-01 16:55:55 +10:00
Léo Lam
95f13979e5
Merge pull request #6413 from spycrab/qt_gid
Qt: Make game revision vars u16
2018-02-28 22:57:46 +01: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
JosJuice
82b87b0d4c
Merge pull request #6412 from leoetlino/oops
IOS: Fix invalid FD being returned after an open
2018-02-28 16:04:14 +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
Mat M
f2891418da
Merge pull request #6410 from leoetlino/timing-groundwork
IOS: Change devices to always return IPCCommandResult
2018-02-27 23:26:11 -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
JosJuice
83ac16060e
Merge pull request #6408 from leoetlino/master
IOS: Fix regression affecting BC launch
2018-02-27 18:24:01 +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
JosJuice
5cdf496a94
Merge pull request #6375 from Ebola16/master
Fix CMakeSettings buildRoot
2018-02-27 16:13:49 +01:00
JosJuice
cc7d7c9a49
Merge pull request #6407 from leoetlino/master
Fix render surface when using Render to Main and debugger (regression fix)
2018-02-27 16:13:29 +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
Stenzek
25a516bae3
Merge pull request #6403 from degasus/master
OGL: Use glBufferData on Mali.
2018-02-27 17:54:41 +10:00
JosJuice
a1e31d6003
Merge pull request #6405 from spycrab/fix_customtex_cache
IsSettingSavable: Make GFX_CACHE_HIRES_TEXTURES savable
2018-02-26 20:34:05 +01:00
spycrab
a3fd99032c IsSettingSavable: Make GFX_CACHE_HIRES_TEXTURES savable 2018-02-26 19:04:06 +01:00
hubslave
4ae48e10e5
Include <endian.h> for byte swap macros on OpenBSD
There is code below that assumes the presence of those macros (by #undef'ing them), but none of the included headers provided them.

This fixes a build failure on OpenBSD where the undef'd macros _do_ get picked up later on in a compilation unit (through which include, I don't know), and thus shadow the Common::swap* functions.
2018-02-26 00:07:05 +02:00
Markus Wick
227db66e4f OGL: Use glBufferData on Mali.
tl;dr: This PR speedups dolphin on mobiles with the Mali GPU and ES 3.2
drivers by a factor of 10 by using the method with the biggest overhead.
Please keep care not to buy this shit!

The ARM driver team seems to care very well about their customers. But
bad luck, users and open source developers are *not* their customers. So
even device-independent feature requests are just ignored for *years*:

https://community.arm.com/graphics/f/discussions/4645/gl_ext_buffer_storage-support

The bad point, they neither implement any of the other common ways to
stream dynamic content in unextented GL:
- They just ignore the GL_MAP_UNSYNCHRONIZED_BIT flag
- They don't support on-device buffer updates and just stall with
glBufferSubData

It seems like no benchmark is using any dynamic content - and like no
customer cares about anything but benchmarks, or users...

We have a flag to disable the glBufferSubData way, this PR adds the flag
to also disable the unsychronized mapping way. The second one is
available since their ES 3.2 update, but slow as hell.

So how to continue? The last remaining technical way to stream dynamic
content at all is to alloc a new buffer per draw call with glBufferData.
This is very gross, but still a factor 10 speedup compared to stalling
the GPU. Small tests shows that you can expect another 3-5 times speedup
with EXT_buffer_data, so Mali would be on pair with Adreno here. So if
you have bought such a device unfortunately, please try to make noise on
your vendor forums/support and ask for this extension. If you are going
to buy a new mobile, I'd recormend to avoid *any* mobile with a Mali GPU
in it.
2018-02-25 17:12:36 +01:00
Markus Wick
b289be43eb
Merge pull request #6398 from stenzek/bad-files
OGL: Only create bad shader files in Dump when compile failed
2018-02-25 16:15:33 +01:00
Stenzek
e4d3b5f626 OGL: Only create bad shader files in Dump when compile failed
Warnings are still logged.
2018-02-25 18:03:58 +10:00
Anthony
a3674e3f73
Merge pull request #6396 from spycrab/qt_osx_theme
CMake/OSX: Fix missing QMacStylePlugin
2018-02-24 15:44:43 -08:00
Anthony
941ddfb830
Merge pull request #6397 from spycrab/qt_osx_icon
Qt/OSX: Fix icon
2018-02-24 12:20:31 -08:00
spycrab
7f3c1a2de4 Qt/OSX: Fix icon 2018-02-24 21:12:22 +01:00
spycrab
5ddbb3459b CMake/OSX: Fix missing QMacStylePlugin 2018-02-24 18:48:29 +01:00
Markus Wick
15b23270b2
Merge pull request #6391 from gwicks/android-reloverlay
Android: Make on-screen joysticks center on the initial touch input.
2018-02-24 18:33:26 +01:00
Anthony
e7ed4857b1
Merge pull request #6380 from Linktothepast/gameinis
Gameini updates.
2018-02-23 19:44:44 -08:00
Anthony
b66f96c617
Merge pull request #6042 from stenzek/videocommon-pipelines
VideoCommon pipelines ("Abstract Pipeline")
2018-02-23 09:18:19 -08:00
Stenzek
a62343bd4f
Merge pull request #6394 from stenzek/macos-resize
OGL: Call GLInterface->Update() on window resize
2018-02-24 01:19:33 +10:00
Stenzek
2ba8f67feb OGL: Call GLInterface->Update() on window resize
macOS in particular requires the context be updated manually when the window
is resized.
2018-02-23 22:27:10 +10:00
JosJuice
c08f6f0c53
Merge pull request #6393 from leoetlino/warning-fixes
Qt: Warning fixes
2018-02-22 18:13:09 +01:00