Commit Graph

4259 Commits

Author SHA1 Message Date
16294acd2a VideoBackends: Scale bounding box rectangle in the pixel shader 2019-03-25 18:47:58 +10:00
cff60f5ba0 FramebufferManager: Only clear tile array when valid
When looking into the Faron Woods fifolog, I noticed this code was quite
high in the profile (~10%). Clearing 4096 entries from the vector isn't
needed every draw, we only need to do this when the cache was actually
valid in the first place.

Should provide a slight general performance boost.
2019-03-24 15:03:04 +10:00
c89139d75d Merge pull request #7903 from spycrab/imgui_np_chat
Add imgui-based Netplay Chat
2019-03-23 21:11:33 +01:00
7cfb626a83 Add imgui-based Netplay Chat 2019-03-23 20:13:24 +01:00
8cfbbbe9dc VideoCommon/RenderBase: Disable backculling for ImGui 2019-03-21 13:16:21 +01:00
bf0b52efc6 TextureCacheBase: Fix infinite loop in DoPartialTextureUpdates 2019-03-20 20:05:51 +10:00
8aa0ea10d9 FramebufferManager: Don't discard in ReinterpretPixelData
This was causing the depth buffer to be discarded as well, which
has an effect on mobiles (doesn't get loaded into tile memory).

If we find this is hindering performance (remember, the EFB is
only a 640x528 texture), it may be worth changing the interface to
support discarding only the colour buffer.
2019-03-16 23:45:08 +10:00
c71216419b Merge pull request #7874 from vadosnaprimer/ffv1_fix
FFV1 fix
2019-03-15 23:17:02 +01:00
cce7ac43d4 FramebufferManager: Fix panic in VertexManager with large EFB depth poke batches 2019-03-12 18:26:07 +10:00
7fd940411b decrease gop size (keyint)
this makes seeking a lot smoother (especially at high resolutions), while only adding less than 1% of filesize with this codec.
2019-03-11 22:17:13 +03:00
005e60fa22 change pixel format from BGRA to BGR0
for this kind of footage carrying alpha information makes no sense, and it additionally complicates things by hugely damaging compatibility of the resulting video. after this change alone the video becomes compatible with VfW/WinAPI and tools that rely on it (avisynth, virtualdub).

fixes https://bugs.dolphin-emu.org/issues/11141 and https://bugs.dolphin-emu.org/issues/10193
2019-03-11 22:17:12 +03:00
a218a794cb FramebufferManager: Implement deferred EFB cache invalidation 2019-03-09 12:24:04 +10:00
6bc4bfd26a FramebufferManager: Implement EFB tile cache
The new tile cache is dynamic in size and can be turned on/off.
2019-03-09 12:23:33 +10:00
65216c9e87 VideoConfig: Add SupportsPartialDepthCopies to backend info
D3D11 doesn't support partial copies of depth buffers via
CopySubResource(), so we need to use a different path for the EFB cache.
2019-03-09 12:19:53 +10:00
9ca394bbea VideoCommon/RenderBase: Don't destroy pipelines that are in use 2019-03-07 01:59:46 +01:00
05fa667d03 VideoCommon: add EFB peek/poke stats 2019-03-04 02:49:59 +00:00
24ba3bf2f2 TextureConversionShader: fix XFB decoding shader 2019-03-01 21:54:33 +00:00
6be35422e9 Merge pull request #7832 from stenzek/xfb-decoding-regression
TextureCache: Fix GPU decoding of XFB copies
2019-02-28 11:03:25 +00:00
8192c0dd48 TextureConversionShader: Fix XFB decoding shader for D3D
D3D has no mix() equivalent with a bool parameter. Compilers should be
able to optimize the ternary into a select anyway.
2019-02-28 20:43:50 +10:00
db6763019d TextureCache: Fix GPU decoding of XFB copies not falling back to CPU 2019-02-28 20:19:37 +10:00
7f0111b022 TextureCache: Fix EFB2RAM copies at >1xIR sampling out-of-range 2019-02-28 20:11:46 +10:00
6ce7f44b8a Merge pull request #7753 from stenzek/videocommon-all-the-things
Move a significant amount of video backend logic to VideoCommon
2019-02-26 04:21:05 +00:00
ea7b96342b VideoConfig: Don't overwrite aspect_mode with suggested_aspect_mode
Unnecessary since b93b7ec. It was needed before that commit becase
RenderBase.cpp only was checking the value of aspect_mode, not
suggested_aspect_mode.
2019-02-23 16:00:18 +01:00
f039149198 Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10:00
933f3ba008 TextureCache: Don't copy out-of-range rectangles when stitching textures
This can cause driver crashes or GPU hangs if we do.
2019-02-17 16:35:43 +10:00
2165523fdc TextureConverterShader: Write EFB2Tex XFB copies with alpha value of 1
This way we don't end up with artifacts of the EFB's alpha values in
frame dumps. XFB copies loaded from RAM also set the alpha to 1, so this
will match.
2019-02-17 16:35:43 +10:00
50bdcb8d9c TextureCache: Bind textures/samplers after loading all textures
Since loading textures can result in rendering, e.g. partial copies, we
don't want to disturb partially-bound GX state.
2019-02-17 16:35:43 +10:00
8d59d1bb11 Merge pull request #7798 from ShFil119/impr/empty
Use empty instead of size
2019-02-13 01:59:43 +00:00
49fe9f5db1 Use empty instead of size 2019-02-13 00:03:49 +01:00
f65b3a998c Merge pull request #7739 from zackhow/multib
Android: Disable backend multithreading and add option to gfx menu
2019-02-03 12:44:00 -08:00
8aaebfa2b3 Merge pull request #7716 from stenzek/stereo
Stereoscopy regression fixes
2019-02-03 19:57:01 +00:00
69b617ce76 WiimoteEmu: Remove redundant Matrix library and use the one in Common. 2019-02-03 12:02:02 -06:00
b9a00a40a9 Common: Move Matrix classes out of MathUtil into their own files and make their interface more friendly. 2019-02-03 11:35:31 -06:00
b01df8670f Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabled 2019-01-27 12:31:12 +10:00
8a1eb34c38 Android: Default backendMultithreading to false on android 2019-01-25 19:22:07 -05:00
78588ce79d ShaderCache: Use imgui for shader compilation dialog 2019-01-25 11:15:57 +10:00
e4b205c769 Decouple XFB scanout from presentation 2019-01-25 11:15:57 +10:00
f1e7fb505b Renderer: Scale all imgui fonts by the backbuffer scale 2019-01-25 11:15:57 +10:00
c9c0b85056 VideoBackends: Store a backbuffer 'scale'
This is a scaling factor, used for hi-dpi configurations.
2019-01-25 11:15:57 +10:00
36ce47635b RenderWidget: Hook up to ImGui 2019-01-25 11:15:57 +10:00
63dd91628d Remove old RasterFont classes 2019-01-25 11:15:57 +10:00
600d1fc0bc Renderer: Use imgui for drawing debug text and OSD 2019-01-25 11:15:57 +10:00
d1868d9475 RenderBase: Implement imgui rendering 2019-01-25 11:10:49 +10:00
396b7c2978 OGL: Invalidate tracked state when calling ResetAPIState()
Due to the current design, any of the GL state can be mutated after
calling this function, so we can't assume that the tracked state will
match if we call SetPipeline() after ResetAPIState().
2019-01-25 11:10:49 +10:00
1d61041985 ShaderGen: Don't use interface blocks on Vulkan without GS
Doing so causes the Adreno driver to choke and spew errors about
too many output locations/components, when clearly we're under
the limit.
2019-01-24 17:02:17 +10:00
68cb24172b ShaderGen: Omit some unused varyings when possible
Removes the clipPos varying unless slow-depth is used, and the
clipDistance varyings if geometry shaders are not used.
2019-01-23 18:34:22 +10:00
1070192165 TextureCache: Fix a possible crash when partial updating palette textures 2019-01-19 23:38:02 +10:00
84bcbef944 TextureCache: Don't partial copy to non-existant texture layers 2019-01-19 23:38:00 +10:00
ade255a5ff TextureCache: Fix broken XFB stitching with stereoscopy is enabled 2019-01-19 23:23:21 +10:00
5962316068 Merge pull request #7643 from weihuoya/texture-overlap
Texture: fx overlap src position
2019-01-16 08:49:36 +10:00