23017 Commits

Author SHA1 Message Date
Unknown W. Brackets
f087b87b0c TexCache: Simplify CheckAlpha funcs and SIMD.
Only check for full alpha now, which is simpler.
2017-11-12 16:41:19 -08:00
Unknown W. Brackets
e3b3828b15 TexCache: Check alpha before scaling.
This will be faster when scaling.  We no longer need to wait, since we
only care about full alpha now.
2017-11-12 16:19:28 -08:00
Unknown W. Brackets
9fbcc01afa TexCache: Remove simple 0/1 alpha check.
No practical optimizations have come of this, so it's a waste of time.
Slows down Vulkan too.
2017-11-12 16:17:46 -08:00
Unknown W. Brackets
fb65c7b87b Vulkan: Avoid checking texture alpha after scale.
Since we're decoding to mapped memory, we don't want to read from it if
possible, especially not a large amount of data like an upscaled texture.
2017-11-12 15:53:59 -08:00
Henrik Rydgård
3dd08b84fe Fix bug where readback buffers would be created too small sometimes. Should help #10098 2017-11-12 21:14:53 +01:00
Unknown W. Brackets
d4c345c870 Vulkan: Tweak stencil value from clears.
Both changes fix graphical artifacts in Final Fantasy 4.
2017-11-12 10:51:32 -08:00
Henrik Rydgård
232e30f4db Vulkan: When deriving stencilref from color, don't forget to update the value.
Plus minor cleanups.
2017-11-12 19:33:21 +01:00
Unknown W. Brackets
ac78b908d3 UI: Typo fix. 2017-11-12 09:34:22 -08:00
Henrik Rydgård
190f363be1
Merge pull request #10096 from hrydgard/vulkan-postproc
Vulkan: Implement post-processing.
2017-11-12 17:17:27 +01:00
Henrik Rydgård
b8dc4d1fb8 Buildfixes for Android 2017-11-12 16:55:36 +01:00
Henrik Rydgård
93e148fed6 Vulkan: Implement post-processing. The Vulkan backend is now "feature-complete", and GL is now legacy :P
Bit hacky but works.
2017-11-12 16:12:26 +01:00
Henrik Rydgård
406ef92a74
Merge pull request #10094 from hrydgard/hwtess-perf
Vulkan: Speed up and simplify hardware tesselation by using shader storage buffers
2017-11-12 14:30:28 +01:00
Henrik Rydgård
4346a54eb7 Vulkan: Speed up and simplify hardware tesselation by using storage buffers. 2017-11-12 13:55:42 +01:00
Henrik Rydgård
c05fe8382a hwtess: Shrink Vulkan UV textures 2017-11-12 11:04:17 +01:00
Henrik Rydgård
da09e10aa3 Make the interface to hw tess slightly more flexible. 2017-11-12 11:04:13 +01:00
Henrik Rydgård
ebac0143e0 Vulkan: Use a device allocator for tesselation data textures. Add comment about better solutions. 2017-11-12 10:28:55 +01:00
Henrik Rydgård
525cb40f84 Vulkan: Support wide lines if available on the GPU. 2017-11-12 10:17:49 +01:00
Henrik Rydgård
afa5b23abb Vulkan readback: Resize the readback buffer dynamically as necessary. 2017-11-12 09:54:30 +01:00
Henrik Rydgård
98191f0f29
Merge pull request #10093 from unknownbrackets/softgpu
Speed up software clears, softgpu crash fix
2017-11-12 08:11:53 +01:00
Unknown W. Brackets
ed34cf06b8 SoftGPU: Add a clear mode fast path.
This skips a lot of extra work for clears, which are pretty common.
2017-11-11 21:04:32 -08:00
Unknown W. Brackets
2b194d30bf Debugger: Prevent clear while stepping.
So it's easier to see what's going on.
2017-11-11 18:31:13 -08:00
Unknown W. Brackets
176283c3f1 SoftGPU: Thread by width for wide polygons.
This improves performance a little in some areas.
2017-11-11 18:16:55 -08:00
Unknown W. Brackets
ffbdb15975 SoftGPU: Fix crash when stride is 0.
This happens in Star Ocean 1.
2017-11-11 17:45:47 -08:00
Henrik Rydgård
4f001901e2
Merge pull request #10092 from hrydgard/vulkan-hwtess-fixes
Vulkan hardware tesselation fixes
2017-11-11 21:53:13 +01:00
Henrik Rydgård
8d7bcd9d61 Vulkan hw tess: Assorted minor fixes. Works on Mali now. 2017-11-11 21:51:05 +01:00
Henrik Rydgård
9cd4db5f18 Vulkan hw tess: Use pushbuffers instead of temp images to upload data. 2017-11-11 20:39:19 +01:00
Henrik Rydgård
5d6a830288 Vulkan hw tess: Don't reuse the same dynamic texture for multiple draws, not safe. 2017-11-11 20:39:19 +01:00
Henrik Rydgård
9f77d48719
Merge pull request #10091 from hrydgard/vulkan-remove-refcounts
Vulkan: Remove refcounts on VKRFramebuffer.
2017-11-11 20:38:56 +01:00
Henrik Rydgård
edfea7aed3 Remove unused pointer. 2017-11-11 20:22:45 +01:00
Henrik Rydgård
e18a023ce8 Vulkan: Noticed a framebuffer refcount leak, and changed my mind regarding those :) Let's do it this way instead. 2017-11-11 19:41:43 +01:00
Henrik Rydgård
bd8067a631 Reduce a ERROR_LOG_REPORT to a warning (vfpu branches in delay slots) 2017-11-11 19:39:44 +01:00
Henrik Rydgård
83e1cfb283
Merge pull request #10088 from unknownbrackets/d3d11-savestate
Avoid clearing shaders on load state
2017-11-11 18:19:29 +01:00
Unknown W. Brackets
7041341d1a SaveState: Avoid clearing shaders in all backends. 2017-11-11 08:17:04 -08:00
Unknown W. Brackets
9cf17d9288 D3D11: Clear input layouts on shader clear.
When we do clear shaders, make sure to also clear input layouts so we
don't have corrupt keys.
2017-11-11 08:11:10 -08:00
Unknown W. Brackets
f93ef92960 D3D11: Avoid clearing shaders on load state.
They don't need to be cleared (unlike FBOs), and clearing them requires
clearing even more things.  Fixes #9637.
2017-11-11 08:09:56 -08:00
Unknown W. Brackets
039c69f031 SaveState: Fix use-after-resize iterator.
Only on older save states.
2017-11-11 08:08:59 -08:00
Henrik Rydgård
74a8aa5a91
Merge pull request #10086 from hrydgard/vulkan-accurate-depth
Vulkan: Enable the "accurate depth" codepath, using the same formula as D3D9.
2017-11-11 12:16:10 +01:00
Henrik Rydgård
47c06b9633 Vulkan: Enable the "accurate depth" codepath, using the same formula as D3D9.
As a side effect, this should fix #10082 since backwards depth is no
longer used.
2017-11-11 11:36:26 +01:00
Henrik Rydgård
e6681a443d Android: Cleaner way to avoid double-resizing the backbuffer. 2017-11-11 11:18:38 +01:00
Henrik Rydgård
08041d8775 Fix blackscreen when resolution is set to auto. Fixes #10081 2017-11-10 22:33:00 +01:00
Henrik Rydgård
9519b89056 Experimenally disable dual source blending on AMD too for Vulkan, see #10065 2017-11-10 18:28:38 +01:00
Henrik Rydgård
05930ea32e MotoGP: Compat hack to disable framebuffer readbacks.
This is the only known game to copy its framebufer to RAM before display on every frame and we already have a
hack so we can display the high resolution framebuffer, but we still did the readback for no good reason.

This eliminates the readback.
2017-11-10 16:32:56 +01:00
Henrik Rydgård
f014735ebf
Merge pull request #10079 from hrydgard/vulkan-android-fixes
Vulkan lost-device fixes
2017-11-10 16:11:58 +01:00
Henrik Rydgård
3e7d913967 Buildfix 32-bit 2017-11-10 16:11:23 +01:00
Henrik Rydgård
17d624d311 Ditch a silly vertex count limit that only makes sense for GLES, so move it there. 2017-11-10 15:59:36 +01:00
Henrik Rydgård
c32f505b58 Fix race condition. 2017-11-10 15:45:14 +01:00
Henrik Rydgård
378e01625c Fix a few more device-loss bugs. 2017-11-10 15:10:36 +01:00
Henrik Rydgård
1c76d28843 Avoid double-initializing the Vulkan backbuffer on startup. 2017-11-10 13:13:56 +01:00
Henrik Rydgård
ee768ca949 Logging improvements, avoid resetting the Android text drawer unnecessarily 2017-11-10 13:02:24 +01:00
Henrik Rydgård
3cc5d8f40a More minor vulkan fixes and cleanups. Don't actually call "Resized" if the size stays the same. 2017-11-10 12:41:06 +01:00