cd68b3606c
Merge pull request #6193 from stenzek/readbacks
...
Abstract Staging Textures - VideoCommon interface for texture readbacks/uploads
2017-12-01 14:24:06 +10:00
7c96e51bc8
Merge pull request #6187 from raelgc/1-exit-on-esc
...
Add an exit key to `dolphin-emu-nogui`
2017-11-27 13:30:33 -08:00
291c99217e
Qt: Fix NAND import menu item parent
2017-11-26 18:33:07 +01:00
6e796a74fb
Qt: Add support for --exec
2017-11-26 18:32:28 +01:00
05c8d229af
Config: Handle unknown system strings better
...
Currently, a simple typo in the system name will trigger an assert
message that complains about a "programming error". This is not
user friendly and misleading.
So this changes GetSystemFromName to return an std::optional, which
allows for callers to check whether the system exists and handle
failures better.
2017-11-26 18:24:01 +01:00
653977cec7
UICommon: Fix unsafe usage of optparse::Values::all
...
The const-qualified all() member method triggers undefined behaviour
if the option passed to it is not set.
2017-11-26 18:18:49 +01:00
60afb1d1b4
WX: Fix argument parsing
...
Manually convert each argument to a UTF-8 std::string, because the
implicit conversion for wxCmdLineArgsArray to char** calls ToAscii
(which is obviously undesired).
Fixes https://bugs.dolphin-emu.org/issues/10274
2017-11-26 18:18:48 +01:00
96e094e127
Merge pull request #6216 from stenzek/headless-frame-dumping
...
OGL: Fix headless frame dumping
2017-11-26 11:36:10 +01:00
7dd207931d
UberShaderPixel: Fix the interpolation qualifier for interface blocks.
...
Fixes MSAA on MacOS with ubershaders enabled.
2017-11-25 21:51:14 +01:00
fc2a0a1988
FIFOPlayerWindow: don't reset frame/object limit every frame
2017-11-24 14:11:59 -08:00
cf1f975148
Vulkan: Fix headless framedumping without USE_X11 set
2017-11-23 17:00:32 +10:00
32125cf181
OGL: Fix headless frame dumping
...
Also skips swapping the window system buffers in headless mode, as there
may not be a surface which can be swapped in the first place. Instead,
we call glFlush() at the end of a frame in this case.
2017-11-23 16:53:55 +10:00
ab44536a3c
OGL: Update the window size after swapping buffers, not before
...
Prevents us from rendering beyond the viewport bounds.
2017-11-23 16:09:59 +10:00
7f217a8bb2
Vulkan: Drop StagingTexture2D class as it is now duplicated functionality
2017-11-22 18:49:33 +10:00
db1d9de933
AbstractTexture: Drop slow map readback path
2017-11-22 18:49:33 +10:00
193763ca3a
TextureCacheBase: Don't crop last row/column of XFB copies
...
Unsure why this was happening in the first place.
2017-11-22 18:49:33 +10:00
6577365851
VideoCommon: Re-implement asynchronous frame dumping
...
This was lost as a result of hybrid XFB, now it is back, and ~10%
faster in very brief testing.
2017-11-22 18:49:33 +10:00
752dd4761d
D3D: Use new readback methods for EFB2RAM
2017-11-22 18:47:04 +10:00
9da9f26b90
OGL: Use new readback methods for EFB2RAM
2017-11-22 18:47:04 +10:00
59517318d6
Vulkan: Use new readback methods for texture encoding
2017-11-22 18:47:04 +10:00
c2cc128f1b
AbstractTexture: Implement Save using new common methods
2017-11-22 18:47:04 +10:00
56afebeb44
AbstractTexture: Seperate CopyRectangleFromTexture to two methods
...
ScaleRectangleFromTexture, which does a draw, and
CopyRectangleFromTexture, which where possible, does a bit-for-bit copy.
2017-11-22 18:47:04 +10:00
f43d85921d
VideoBackends: Add AbstractStagingTexture class
...
Can be used for asynchronous readback or upload of textures.
2017-11-22 18:47:04 +10:00
a584ccc7d8
AbstractTexture: Support BGRA8 formats
...
Used for some driver's swap chains, and EFB to RAM.
2017-11-22 18:47:04 +10:00
49a9c33bd7
VideoCommon: Move abstract texture creation function to Renderer
2017-11-22 18:47:04 +10:00
5860c97144
D3D: Move device release from Renderer destructor to shutdown
...
Necessary if we wish to have GPU objects in our base class, as otherwise
the device will be released before the objects.
2017-11-22 18:47:04 +10:00
c5a89b6483
D3D: Remove BeginFrame/EndFrame
...
These functions did not do anything anyway. There is also no need to
present the backbuffer when shutting down.
2017-11-22 18:47:04 +10:00
d9400f708a
D3D: Move remaining static variables from Render.cpp to Renderer class
2017-11-22 18:47:04 +10:00
798ec96e14
D3D: Make state cache part of Renderer and not static
2017-11-22 18:17:07 +10:00
73a67aa413
Merge pull request #6204 from stenzek/downscaled-screenshots
...
Frame Dumping: Fix window-size framedumping
2017-11-22 07:53:23 +01:00
efb9759862
LightingShaderGen: Always calculate lighting for both color channels
...
Cel-damage uses the color from the lighting stage of the vertex pipeline
as texture coordinates, but sets numColorChans to zero.
We now calculate the colors in all cases, but override the color before
writing it from the vertex shader if numColorChans is set to a lower value.
2017-11-22 01:52:18 +10:00
470e8d63b6
VideoConfig: Rename "Full Resolution Frame Dumps" to "Internal"
...
What is the "full" resolution, anyway?
2017-11-21 17:20:55 +10:00
8985cb2f0b
Renderer: Re-implement window size frame dumping
...
This was broken by hybrid XFB, and all frame dumping/screenshots occured
at the full internal resolution.
2017-11-21 17:19:43 +10:00
39559f6358
VideoConfig: Remove bSupportsInternalResolutionFrameDumps
...
Field is unused as of Hybrid XFB.
2017-11-21 17:19:43 +10:00
18c1bf19ca
VideoCommon: Use constant for number of color channels in XFMemory
2017-11-20 23:18:44 +10:00
ebc547030d
BootManager: RestoreSYSCONF without resetting all other config
...
This was causing an issue where DolphinQt couldn't save graphics options
(DolphinWX doesn't hit this code path), because this function was being
called before the in-memory config was flushed to disk.
With this PR, the in-memory config isn't reset, and only SYSCONF-related
variables may get changed.
2017-11-19 17:17:59 -08:00
5dc3ecdb72
Qt: show "Immediately present XFB" option
2017-11-19 15:37:24 -08:00
474b1c2d5c
Qt: Implement FIFO Player
2017-11-19 22:06:32 +01:00
aa8bf71333
FifoRecorder: Implement IsRecordingDone()
2017-11-19 21:49:29 +01:00
aac1b386b9
FifoPlayer: Implement IsPlaying()
2017-11-19 21:49:29 +01:00
6b7d5bb80c
DeviceQualifier: small cleanup
2017-11-19 12:46:39 -08:00
ac855e2c93
MappingWindow: don't store devq separately from controller default device
2017-11-19 12:46:39 -08:00
9551fe1c73
MappingWindow: m_controller is never nullptr
...
Since GCPadWiiUConfigDialog was made its own class, m_controller will
never be nullptr.
2017-11-19 12:46:38 -08:00
b3b58b586c
Merge pull request #5943 from leoetlino/features
...
IOS: Check for available features when adding devices
2017-11-19 21:43:54 +01:00
a988a8a458
AudioCommon: make SetSoundStreamRunning idempotent
2017-11-19 12:09:54 -08:00
0baddbf9a8
SoundStream: change Start/Stop to Init/SetRunning/destruct
2017-11-19 12:09:54 -08:00
ad4a89d64b
CubebStream: implement SetRunning
2017-11-19 12:09:54 -08:00
d0b9923b0a
Move XFB settings in DTM header back to where they were
...
7f0834c9
moved the locations of the Real XFB (now XFB to RAM) and
Disabled XFB (now Immediate Mode) settings. There are programs
other than Dolphin that parse DTM headers, so this is not good.
Note that Immediate XFB actually is the inversion of Disabled XFB.
I hope that's not too much of a problem...
2017-11-19 19:03:03 +01:00
d6f10fdc15
D3DUtil: Remove unused defines
2017-11-19 12:14:18 -05:00
01a92af014
D3DUtil: Make file-scope variables internally linked where applicable
...
All file scope variables are able to be made internally linked.
CD3DFont is essentially used as an extension to the utility interface, so
this is able to be made internal as well, removing a global from
external view.
2017-11-19 12:12:39 -05:00