Henrik Rydgård
65275c29b7
Share UpdateSamplingParams between D3D11 and Vulkan. Support lod bias in Vulkan.
2017-11-15 14:21:17 +01:00
Henrik Rydgård
b958432783
Properly zero samplercache keys before filling them out.
2017-11-15 14:21:17 +01:00
Henrik Rydgård
f564c59248
Mipmaps: Disable LOD bias in slope mode as that's not how it works.
...
Works around #9772
2017-11-15 14:21:17 +01:00
Henrik Rydgård
10792cc8e7
Windows/Vulkan: implement screenshots. Something is iffy with the red/blue swap though...
2017-11-15 13:18:29 +01:00
Henrik Rydgård
656ec18ded
Vulkan: Dual Src blending strikes again! Disable it on nVidia X1 (Shield TV) due to driver bugs, sigh.
...
Should help #10136
2017-11-15 10:24:11 +01:00
Henrik Rydgård
5582b8fe22
Just more accurate feature flags for Vulkan.
2017-11-15 09:08:30 +01:00
Henrik Rydgård
ce1bc7fc3f
Fixes problem switching between non-through triangles and rects. Helps a small part of #6554
2017-11-14 09:27:03 +01:00
Henrik Rydgård
d4df0181db
More duplicate code removal
2017-11-14 09:20:36 +01:00
Henrik Rydgård
a0f1276a5c
Vulkan: Use optimal alignment for texture uploads. May help stutter in #10105 ?
2017-11-13 17:18:12 +01:00
Henrik Rydgård
35437e6b62
Kill off more unused duplicate code
2017-11-13 16:50:45 +01:00
Henrik Rydgård
2261029536
Delete unused duplicate functions
2017-11-13 15:57:59 +01:00
Henrik Rydgård
4788221251
Vulkan shader view (debug): Add a simple textural representation (incomplete) of pipelines
2017-11-13 15:27:06 +01:00
Henrik Rydgård
5c7f7c1df6
Vulkan: Make sure to clear the pipeline key to avoid padding bytes causing us to allocate duplicate pipelines.
...
Also pack the struct better.
2017-11-13 15:20:11 +01:00
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
Henrik Rydgård
04e313ecba
Unify Execute_Bezier and Execute_Spline
2017-11-13 10:45:27 +01:00
Henrik Rydgård
14e9c9da80
Minor cleanup, fix a comment.
2017-11-13 10:35:31 +01:00
Henrik Rydgård
6e20721587
Vulkan: Minor validation error fix
2017-11-13 10:22:30 +01:00
Henrik Rydgård
a1b3a4384c
Merge pull request #10108 from unknownbrackets/vulkan-scaling
...
Remove texture checks for simple alpha
2017-11-13 09:50:16 +01:00
Henrik Rydgård
68c7b7dfec
Fix driver version display on Vulkan. Enable dualsrc blend on newer AMD drivers. Fixes #10109
2017-11-13 09:44:35 +01: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
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
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
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
Unknown W. Brackets
7041341d1a
SaveState: Avoid clearing shaders in all backends.
2017-11-11 08:17:04 -08: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
9519b89056
Experimenally disable dual source blending on AMD too for Vulkan, see #10065
2017-11-10 18:28:38 +01:00
Henrik Rydgård
3e7d913967
Buildfix 32-bit
2017-11-10 16:11:23 +01:00
Henrik Rydgård
378e01625c
Fix a few more device-loss bugs.
2017-11-10 15:10:36 +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
Henrik Rydgård
8b42d83123
Vulkan: Remove duplicate depalShaderCache, fix a number of instances where we didn't use the deleter properly.
...
Plus more logging, of course.
2017-11-09 17:25:37 +01:00
Henrik Rydgård
6eb58b1252
Keep the draw context up to date in a bunch of places. More logging.
2017-11-09 16:28:22 +01:00
Henrik Rydgård
ec504756e0
Vulkan: Improve init/shutdown logging on Android. Fix a bug where we'd not run InitDeviceObjects on GPU_Vulkan sometimes.
2017-11-09 16:02:05 +01:00
Henrik Rydgård
25f32b1d78
Vulkan: Disable dual source blending on Intel GPUs, fixes #10074 .
2017-11-09 13:16:06 +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
70c70b1e76
Vulkan: Some error handling improvement. Might get us a clue for #10065
2017-11-07 00:08:39 +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
fc32a7b24e
Vulkan: Show textures in GE debugger.
2017-11-06 00:29:01 -08:00
Henrik Rydgård
8c69be9bfa
Get rid of GPUCommon's "Internal" functions.
2017-11-05 23:21:52 +01:00