Commit graph

3744 commits

Author SHA1 Message Date
Tillmann Karras
05fa667d03 VideoCommon: add EFB peek/poke stats 2019-03-04 02:49:59 +00:00
Tillmann Karras
24ba3bf2f2 TextureConversionShader: fix XFB decoding shader 2019-03-01 21:54:33 +00:00
Tilka
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
Stenzek
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
Stenzek
db6763019d TextureCache: Fix GPU decoding of XFB copies not falling back to CPU 2019-02-28 20:19:37 +10:00
Stenzek
7f0111b022 TextureCache: Fix EFB2RAM copies at >1xIR sampling out-of-range 2019-02-28 20:11:46 +10:00
Tilka
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
JosJuice
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
Stenzek
f039149198 Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10:00
Stenzek
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
Stenzek
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
Stenzek
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
Tilka
8d59d1bb11
Merge pull request #7798 from ShFil119/impr/empty
Use empty instead of size
2019-02-13 01:59:43 +00:00
Filip Gawin
49fe9f5db1 Use empty instead of size 2019-02-13 00:03:49 +01:00
Anthony
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
Tilka
8aaebfa2b3
Merge pull request #7716 from stenzek/stereo
Stereoscopy regression fixes
2019-02-03 19:57:01 +00:00
Jordan Woyak
69b617ce76 WiimoteEmu: Remove redundant Matrix library and use the one in Common. 2019-02-03 12:02:02 -06:00
Jordan Woyak
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
Stenzek
b01df8670f Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabled 2019-01-27 12:31:12 +10:00
zackhow
8a1eb34c38 Android: Default backendMultithreading to false on android 2019-01-25 19:22:07 -05:00
Stenzek
78588ce79d ShaderCache: Use imgui for shader compilation dialog 2019-01-25 11:15:57 +10:00
Stenzek
e4b205c769 Decouple XFB scanout from presentation 2019-01-25 11:15:57 +10:00
Stenzek
f1e7fb505b Renderer: Scale all imgui fonts by the backbuffer scale 2019-01-25 11:15:57 +10:00
Stenzek
c9c0b85056 VideoBackends: Store a backbuffer 'scale'
This is a scaling factor, used for hi-dpi configurations.
2019-01-25 11:15:57 +10:00
Stenzek
36ce47635b RenderWidget: Hook up to ImGui 2019-01-25 11:15:57 +10:00
Stenzek
63dd91628d Remove old RasterFont classes 2019-01-25 11:15:57 +10:00
Stenzek
600d1fc0bc Renderer: Use imgui for drawing debug text and OSD 2019-01-25 11:15:57 +10:00
Stenzek
d1868d9475 RenderBase: Implement imgui rendering 2019-01-25 11:10:49 +10:00
Stenzek
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
Stenzek
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
Stenzek
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
Stenzek
1070192165 TextureCache: Fix a possible crash when partial updating palette textures 2019-01-19 23:38:02 +10:00
Stenzek
84bcbef944 TextureCache: Don't partial copy to non-existant texture layers 2019-01-19 23:38:00 +10:00
Stenzek
ade255a5ff TextureCache: Fix broken XFB stitching with stereoscopy is enabled 2019-01-19 23:23:21 +10:00
Connor McLaughlin
5962316068
Merge pull request #7643 from weihuoya/texture-overlap
Texture: fx overlap src position
2019-01-16 08:49:36 +10:00
Connor McLaughlin
0da5929226
Merge pull request #7626 from weihuoya/vulkan-oom
Always clean cache on render swap
2019-01-08 21:57:25 +10:00
weihuoya
66a7db3850 Always flush on swap 2019-01-08 18:28:59 +08:00
JosJuice
a8e5f2b922
Merge pull request #7230 from ligfx/remove_clamp_draw_size
RenderBase: don't clamp draw size to window
2019-01-03 18:26:41 +01:00
weihuoya
184b2edc30 fx texture overlap 2018-12-25 21:24:25 +08:00
Stenzek
7afd5cc2fb Use main buffers for utility draws 2018-12-04 17:37:25 +10:00
Stenzek
2644e920cc Renderer: Add backbuffer format to base class 2018-12-04 17:36:08 +10:00
Stenzek
1adcd47dcb Renderer: Add a base Initialize() method to match Shutdown() 2018-12-04 17:36:08 +10:00
Stenzek
38479dd783 RenderBase: Force a pipeline flush when drawing the XFB to the host
Since we use the common pipelines here and draw vertices if a batch is
currently being built by the vertex loader, we end up trampling over its
pointer, as we share the buffer with the loader, and it has not been
unmapped yet. Force a pipeline flush to avoid this.
2018-12-04 17:36:08 +10:00
Connor McLaughlin
6388992f62
Merge pull request #7039 from stenzek/moltenvk
Vulkan: macOS support via MoltenVK
2018-11-30 21:55:30 +10:00
Stenzek
502c4c0e87 TextureCache: Recompute overlapping XFB copy hashes after copying to RAM 2018-11-13 12:48:27 +10:00
Pierre Bourdon
541c5ee996
Merge pull request #7550 from JosJuice/widescreen-hack-suggested-ratio
Fix the widescreen hack for Wii games with 4:3 forced in game INI
2018-11-09 04:28:31 +01:00
Stenzek
78056686fd TextureCache: Fix leaking TCacheEntry instances 2018-11-08 11:52:17 +10:00
JosJuice
a42432cae4 RenderBase: Set m_aspect_wide on start
It doesn't feel great to let the value from a previous emulation session
linger around considering that the GC aspect ratio heuristic can use
the previous value of m_aspect_wide when calculating m_aspect_wide.
2018-11-07 19:01:45 +01:00
JosJuice
b93b7ec419 Fix the widescreen hack for Wii games with 4:3 forced in game INI 2018-11-07 19:00:24 +01:00
Stenzek
0c0d66809d PixelShaderGen: Split bbox into seperate variables
The Metal shader compiler fails to compile the atomic instructions
when operating on individual components of a vector. Spltting it
into four variables shouldn't make any difference for other
platforms, as they are accessed independently.
2018-11-07 05:41:09 -08:00