434 Commits

Author SHA1 Message Date
Henrik Rydgård 080f34acfe Need a barrier on Mali. Strange that validation didn't warn... 2019-09-29 10:54:55 -07:00
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