Henrik Rydgård
e9b2af7fc7
In the computeUpload path, use a shader intrinsic to unpack the color.
2019-09-29 10:54:33 -07:00
Henrik Rydgård
a355f49c91
Also experiment with a "copy shader" that just does raw data manipulation into GPU local memory, then copies to image from there.
2019-09-29 10:39:12 -07:00
Henrik Rydgård
9ed66001c6
Use a plain compute shader for RGBA8888 texture uploads, as a proof of concept.
2019-09-29 10:27:50 -07:00
Henrik Rydgård
e6bec3e555
Vulkan: Add simple manager for compute shaders that upload data to images.
2019-09-29 10:24:48 -07:00
Henrik Rydgård
c1427f5981
VulkanImage: Fix issue where we'd try to free dedicated allocations from the allocator_ instead of Vulkan directly.
...
Snuck in some minor cleanups.
2019-02-24 22:23:26 +01:00
Henrik Rydgard
8e1a5ef3d6
Minor refactor of physical device property/feature detection, to allow for more extension use.
2019-02-05 18:07:17 +01:00
Henrik Rydgård
b037efdb55
If there are multiple Vulkan devices, show a setting to allow the user to choose.
2018-06-06 10:20:12 +02:00
Unknown W. Brackets
8d07e6d985
GPU: Prevent temp FBOs from overwriting each other.
...
Sometimes we'd use two temp FBOs in the same draw (e.g. shader blending +
depal.) This could cause the same temp FBO to get used for two purposes,
causing weird behavior.
2018-05-06 08:57:44 -07:00
Henrik Rydgård
77e574ccc6
Buildfix.
2018-05-04 22:57:13 +02:00
Henrik Rydgård
698bd75209
Fix regression caused by the new depal code for Vulkan. Fixes #10993
2018-05-04 22:24:11 +02:00
Unknown W. Brackets
3eb0450998
Depal: Reapply texture when bounds change.
...
Since we need each slice of the texture when we use bounds to reduce the
size. Fixes #10951 .
2018-04-22 10:43:46 -07:00
Henrik Rydgård
81276c8862
Fix various bugs.
2018-04-13 14:19:05 +02:00
Henrik Rydgård
29c41c6a35
Implement shader depal for Vulkan. See #10908 . Bilinear filter not yet implemented.
2018-04-13 14:19:01 +02:00
Henrik Rydgård
31ae11ecc8
Don't forget to dirty some state after depal. May help #10906 ?
2018-04-12 11:59:18 +02:00
Henrik Rydgård
e784d1a29c
Vulkan: Ease off on the allocator "slab pressure" if texture scaling is enabled.`
2018-04-07 10:40:49 +02:00
Unknown W. Brackets
d07a124a90
Vulkan: Increase base slab allocation size.
2018-04-06 21:43:18 -07:00
Unknown W. Brackets
5f27a2e60a
Vulkan: Track tags on emu textures.
2018-04-06 21:43:18 -07:00
Unknown W. Brackets
fd183715ec
Vulkan: Decimate when there are many slabs.
...
This helps avoid one little texture holding onto a whole slab.
Won't change behavior when they are full, since then the cacheSizeEstimate
should be fairly high.
2018-04-06 21:42:32 -07:00
Henrik Rydgård
86966684d4
Vulkan: Remove the wrapper struct around VulkanTexture
2018-04-05 23:23:14 +02:00
Henrik Rydgård
f967e206b8
Remove the last remains of the idea that textures can be efficiently updated instead of recreated. Accidentally fixes #10697 somehow.
...
Also this is good for terminology, no more confusion with the texture
replacement facility :)
2018-03-25 10:50:37 +02:00
aliaspider
198c946218
remove unnecessary NULL assignment.
2018-03-23 04:14:10 +01:00
aliaspider
fc9a5ff65c
prevent use-after-free.
2018-03-22 22:10:05 +01:00
Henrik Rydgård
22e28e218b
Merge pull request #10411 from hrydgard/gl-render-manager
...
GL render manager - new faster GL multithreading
2018-01-31 12:22:07 +01:00
Henrik Rydgård
c60c8ed68a
Debug visualization for the Vulkan memory allocator. Shows some interesting behaviour.
2018-01-29 19:38:10 +01:00
Unknown W. Brackets
db0989a9d0
Debugger: Fix texture preview in GLES.
...
Also, fix issues with the first view of a texture in Vulkan / D3D11.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
b5e5d72a0a
Complete the separation of depth and stencil renderpass flags
2017-12-30 22:52:22 +01:00
Unknown W. Brackets
d6da758ed3
GPU: Remove duplicate BACKEND constants.
2017-12-26 15:55:24 -08:00
Henrik Rydgård
dc6a4ea753
Fix annoying name clashes (Status is in X11 headers..)
2017-12-15 16:34:29 +01:00
Henrik Rydgård
2ebae034a4
Vulkan: Show samplers in "shader debug"
2017-12-07 09:28:18 +01:00
Henrik Rydgård
aa0cc6712f
Clip block transfer destinations. Should fix crash in #10011 . Stats: Invent some sort of usage metric for device memory allocators.
2017-12-03 15:00:25 +01:00
Henrik Rydgård
d0c248368d
Use a VulkanDeviceAllocator for thin3d textures. Many devices have a hard limit on the total number of allocs and it's unnecessary to have the UI put pressure on that.
2017-12-03 10:29:41 +01:00
Henrik Rydgård
97bdc72d90
Vulkan: Only call EndCreate on the texture if it actually exists.. Though not having one would be bad.
2017-12-03 10:21:51 +01:00
Henrik Rydgård
971995fa3d
Move aniso to the sampler cache key.
2017-11-15 19:07:41 +01:00
Henrik Rydgård
909fb6b3a4
Cleanups
2017-11-15 16:31:17 +01:00
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
a0f1276a5c
Vulkan: Use optimal alignment for texture uploads. May help stutter in #10105 ?
2017-11-13 17:18:12 +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
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
6eb58b1252
Keep the draw context up to date in a bunch of places. More logging.
2017-11-09 16:28:22 +01:00
Unknown W. Brackets
fc32a7b24e
Vulkan: Show textures in GE debugger.
2017-11-06 00:29:01 -08:00
Henrik Rydgård
2b7d1c1ded
Vulkan: Fix bug in depal causing Sonic Rivals to be grayscale.
2017-11-05 10:37:22 +01:00
Henrik Rydgård
066ad46915
Minor depal state dirtying fix
2017-11-05 10:20:18 +01:00
Henrik Rydgård
96cd368878
Make VulkanTexture "immutable".
2017-11-01 08:49:48 +01:00
Henrik Rydgård
6a8f72a327
Use the global curFrame counter. No need for a vector for pushing cmdbufs.
2017-11-01 08:47:50 +01:00
Henrik Rydgård
ed2731d197
Vulkan: Fix depal and shader blending.
2017-10-31 12:35:00 +01:00
Henrik Rydgård
07dfda0633
Vulkan depal code now passes validation, but produces black.
2017-10-31 12:35:00 +01:00