Henrik Rydgård
3e749a94ce
Vulkan: Fix bug where we ended up creating duplicate pipelines even if vertices decoded to the same format, if they were created from different formats.
...
This can cut down the number of pipelines to a third or less in some
games. However, benefit is likely smaller since Vulkan drivers will
deduplicate shaders inside each vkPipelineCache object.
Helps #10106 while not actually implementing any of the suggestions inside.
2017-11-13 11:22:33 +01:00
Unknown W. Brackets
65e71f57c7
TexCache: Add NEON alpha checks for Vulkan.
2017-11-12 16:45:05 -08:00
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
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
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
da09e10aa3
Make the interface to hw tess slightly more flexible.
2017-11-12 11:04:13 +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
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
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
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
d618b3673b
Count readbacks in a frame and show in GPU debug stats.
2017-11-08 11:57:53 +01:00
Henrik Rydgård
4f4eb6f024
Vulkan: The validation layers don't like zero-size blits.
2017-11-06 23:49:27 +01:00
Henrik Rydgård
ea2fc55217
Merge pull request #10056 from hrydgard/remove-multithreading-2
...
Remove the old style multithreading
2017-11-06 20:37:06 +01:00
Unknown W. Brackets
1f33907f20
TexCache: Warning fix.
2017-11-05 17:59:34 -08:00
Henrik Rydgård
9e35144b96
Remove/deprecate GPU tick sync
2017-11-05 23:21:53 +01:00
Henrik Rydgård
79208f105c
Merge pull request #10055 from unknownbrackets/vulkan-minor
...
Vulkan: Correct logicop dirtying
2017-11-05 22:41:11 +01:00
Unknown W. Brackets
7ae451db1f
TexCache: Detect textures in FBO gutters.
...
If it's not even within the framebuffer's bufferWidth, we can just go to
the RAM as normal and skip the FBO.
Fixes #10045 .
2017-11-05 13:03:09 -08:00
Unknown W. Brackets
78b5565035
GPU: Properly Release() FBOs.
...
In case we end up wanting to use those reference counts, let's use the
right API.
2017-11-05 12:45:02 -08:00
Henrik Rydgård
2f305f9841
Merge pull request #10049 from unknownbrackets/vulkan-minor
...
Vulkan threading tweaks and minor
2017-11-05 19:39:43 +01:00
Unknown W. Brackets
efbba31608
GPU: Restore initial readback on output.
...
Needed when the last rendered FB needs to be downloaded.
2017-11-05 08:44:13 -08:00
Unknown W. Brackets
2ad9eb047e
Vulkan: Refcount framebuffer deletes.
...
Fixes crash in GoW when using a thread.
2017-11-05 08:44:12 -08:00
Henrik Rydgård
fc60a2692c
Buildfix again. Should fix #10046 this time.
2017-11-05 13:44:23 +01:00
Henrik Rydgård
5d0bd85a70
Unify a little bit of depal code.
2017-11-05 10:40:21 +01:00
Henrik Rydgård
eb300d715c
Add <cmath> include. Will hopefully help #10046
2017-11-05 10:14:45 +01:00
Henrik Rydgård
b991dd5bd3
Should be bufferWidth here, not width. Thanks unknown.
...
Get rid of Source.cpp, oops.
2017-11-05 10:14:33 +01:00
Henrik Rydgård
9e65ae1cef
Fix issue in framebuffer size calculation when viewport is bogus in through mode. Fixes #10043 .
2017-11-04 11:43:19 +01:00
Henrik Rydgård
b9443e54e3
Vulkan: Minor fixes.
2017-11-03 00:03:35 +01:00
Henrik Rydgård
8d0209c7e4
Stop leaking framebuffers on shutdown. Fix other shutdown issues.
2017-11-01 21:43:08 +01:00
Henrik Rydgård
b9d990ab02
Merge pull request #10042 from hrydgard/vulkan-stencil
...
Vulkan: Implement stencil upload (for Star Ocean).
2017-11-01 16:16:45 +01:00
Henrik Rydgård
5018e400f2
Remove some code duplication
2017-11-01 14:51:15 +01:00
Henrik Rydgård
41089ca284
Small fix for a bad block transfer in Soul Calibur
2017-11-01 14:43:00 +01:00
Henrik Rydgård
3f503ca297
Implement the rest of Vulkan framebuffer depal. Not yet working though.
2017-10-31 12:34:59 +01:00
Henrik Rydgård
65e23bb9f3
Some reorganization. Start implementing framebuffer depal for Vulkan.
2017-10-31 12:34:31 +01:00
Henrik Rydgård
6253280fba
Delete superfluous bind of temporary render target on creation.
2017-10-31 12:34:31 +01:00
Henrik Rydgård
12f8580984
Assorted fixes
2017-10-26 10:57:00 +02:00
Henrik Rydgård
85cb604a24
Fix (some) crashes on blits. Validation issues remain.
2017-10-26 10:57:00 +02:00
Henrik Rydgård
02f76ae4a8
Rendering basics now works.
2017-10-26 10:56:59 +02:00
Henrik Rydgård
27db1d558c
Comment and typo fixes.
2017-10-22 10:13:25 +02:00
Henrik Rydgård
b886efe8f5
Another minor cleanup (DescribeCodePtr)
2017-10-20 11:06:12 +02:00
Henrik Rydgård
d53c88456a
Unify GetFramebufferList() (trivial)
2017-10-18 12:49:15 +02:00
Henrik Rydgård
898716cc26
Unify DownloadFramebufferForClut
2017-10-18 12:34:01 +02:00
Henrik Rydgård
981c49615c
Unify FlushBeforeCopy. Remove old dummy methods from Vulkan framebuffer manager.
2017-10-18 12:26:02 +02:00
Henrik Rydgård
0d85f86e2d
Add some safety checks. Fix some inadvertent Y-flips (bit hacky).
2017-10-18 11:40:07 +02:00
Henrik Rydgård
4e3a9bc3e3
Unify some more framebuffer functions. Leave the GL stuff alone for now due to async.
2017-10-18 11:20:58 +02:00
Henrik Rydgård
f2ea0ce472
Unify (well, almost) GetOutputFramebuffer (D3D11/GL)
2017-10-18 10:54:26 +02:00
Henrik Rydgård
214270d192
Unify GetDepthBuffer/GetStencilBuffer in GL/D3D11
2017-10-18 10:54:26 +02:00
Henrik Rydgård
9b1ee6fce6
Unify GetFramebuffer in GLES and D3D11.
...
D3D9 is left behind for now, and Vulkan still needs implementation - got a branch with initial work towards that.
2017-10-11 13:39:34 +02:00
LunaMoo
5b75d2af20
Add uniform to make post process aware of videos.
...
And an example effect ~ subtle AA in-game/heavy smoothing for videos.
2017-09-13 08:13:51 +02:00
Unknown W. Brackets
55ef501739
GPU: Dirty viewport on RT width/height change.
...
Fixes #9959 .
2017-09-09 20:46:03 -07:00