Commit Graph
46 Commits
Author SHA1 Message Date
Unknown W. Brackets 8d06431ea7 Vulkan: Use new desc sets in Draw and VulkanUtil.
It seems like a bug that destory device objects wasn't clearing descSets.
2021-12-09 19:03:17 -08:00
Unknown W. Brackets 75d2188a92 Vulkan: Avoid desc set error in tests.
This requires quite a few DrawActiveTextures, but some pspautotests were
triggering it.
2021-12-09 17:43:00 -08:00
Henrik Rydgård 281ddc2437 Speed up the 4xBRZ upscaler with 16x and the MMPX one with 4x by not doing redundant work 2021-11-07 15:47:05 +01:00
Henrik Rydgård e57770977b We don't use primitiveRestart for anything, let's not enable it. It has costs on some hardware. 2021-10-08 22:22:08 +02:00
Bram Verweij a31cbe42d2 Rename namespace to PPSSPP_VK, remove indentation 2021-08-21 12:39:15 +02:00
Bram Verweij cc00a4132d Prevent dlopen collisions between ppsspp_libretro.so and libvulkan.so 2021-08-20 11:22:57 +02:00
Henrik Rydgård deee9f9720 Unify the Vulkan format definitions / swizzles
To make the next attempt at #14602 easier.
2021-07-11 11:26:40 +02:00
Unknown W. Brackets f32f89dd90 Global: Remove some unused variables. 2021-02-15 11:59:45 -08:00
Henrik Rydgård b7d674411e Test parsing of generated OpenGL shaders too (by using glslang). 2020-10-31 18:32:43 +01:00
Henrik Rydgård 940611fe65 Remove the USE_GENERAL_LAYOUT_FOR* debug defines. 2020-10-11 11:06:54 +02:00
Henrik Rydgård 0e3a84b4a8 Move most GPU things to Common.
It works after the move, on Windows and Android at least.

Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård ed88761ecc Merge ext/native/stringutil.cpp/h into Common/StringUtils.cpp/h. 2020-09-29 15:51:51 +02:00
Henrik Rydgård 8192f5174c Quick fix for #13459 2020-09-21 10:31:14 +02:00
Henrik Rydgård 7f1e35e761 Add missing asserts after some VK resource creation functions 2020-09-16 01:03:56 +02:00
Henrik Rydgård 5d64fc5ff1 Switch to PPSSPP's assert functions (don't use the system's) 2020-08-16 10:01:10 +02:00
Henrik Rydgård 2eaa1db046 Vulkan: Track down another one of those minor resource leaks.
Also no need to zero, queue for delete does it already.
2020-03-09 00:48:00 +01:00
Henrik Rydgård c7b3a08cf3 Vulkan: Add checks so we don't try to write NULL objects to a descriptor set.
(Shouldn't happen, but bad rendering is better than a crash in descriptor writing)
2019-10-20 17:05:42 +02:00
Henrik RydgårdandUnknown W. Brackets eeec18c018 Make the barrier a bit more focused. Up some limits. 2019-09-29 10:55:49 -07:00
Henrik RydgårdandUnknown W. Brackets 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årdandUnknown W. Brackets 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årdandUnknown W. Brackets e6bec3e555 Vulkan: Add simple manager for compute shaders that upload data to images. 2019-09-29 10:24:48 -07:00
Unknown W. Brackets 59062ca7bc Vulkan: Clear caches when deleting shaders.
As noticed by iota97 in #12317, we're not clearing these.  If a pointer
gets reused by the Vulkan driver, we have to be careful not to reuse a
pipeline.
2019-09-14 11:23:12 -07:00
Henrik Rydgard e30daa8027 Remove unused API, assorted cleanup.
No longer enable the geometry shader feature, no plans to use it.
2019-02-05 21:31:43 +01:00
Henrik Rydgård 614cabb115 Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs.
The raw pipeline cache got pretty large. Instead, store IDs like GL.

There's still a disabled option to store the pipeline cache objects.
2018-03-16 21:03:03 +01:00
Henrik Rydgård 3cd92b4d90 Vulkan: Add a (disabled) facility to force image layouts to GENERAL, for debugging barrier issues 2018-03-15 16:23:23 +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 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 d670948ad2 Cleanups and fixes around Vulkan stencil upload. thx unknown 2017-11-05 10:14:44 +01:00
Henrik Rydgård ca7a2d06ca Vulkan: Implement stencil upload (for Star Ocean). 2017-11-01 14:18:39 +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 65e23bb9f3 Some reorganization. Start implementing framebuffer depal for Vulkan. 2017-10-31 12:34:31 +01:00
Henrik Rydgård c4f0afc8a2 Clean out some obsolete code 2017-10-26 10:57:00 +02:00
Henrik Rydgård 0a0494ef8e It builds! With some shortcuts, of course. 2017-10-26 10:56:59 +02:00
Henrik Rydgård 560eaa5390 Vulkan: Add code (disabled) to be able to run with more in-flight frames. Only improves performance marginally and needs more testing. 2017-08-17 17:57:37 +02:00
Henrik Rydgard 0c70735bc4 Buffered rendering is starting to work, though still kinda broken. 2017-05-30 09:36:17 +02:00
Henrik Rydgard ae569cd53a Fix some Vulkan brokenness (Vulkan2D beginframe/endframe weren't called) 2017-01-24 18:11:48 +01:00
Henrik Rydgard 0a3bb4a720 Vulkan: Increase size of per-frame descriptor pool, move uniform to right place 2017-01-24 18:11:48 +01:00
Unknown W. Brackets 8b5aba9d93 Vulkan: Fix vulkan2d deletion order. 2016-10-09 12:43:27 -07:00
Unknown W. Brackets 39d6ea2985 Vulkan: Auto-set queued deletes to null. 2016-10-09 12:16:42 -07:00
Unknown W. Brackets 11aaa7b372 Vulkan: Clear 2d objects on loss/restore. 2016-10-09 11:28:06 -07:00
Henrik Rydgard e1f660ebc1 Update vulkan structure init to the new style 2016-04-02 23:57:23 +02:00
Henrik Rydgard 718789b99d Some cleanup in framebuffer code. Don't set BlendColor dynstate unless we need it. 2016-03-31 09:23:17 +02:00
Henrik Rydgard 2b996db298 Crash and leak fixes 2016-03-31 00:49:10 +02:00
Henrik Rydgard 731af0d0b4 Add some infrastructure for 2D drawing, to be used by the Vulkan framebuffer manager 2016-03-31 00:49:10 +02:00
Henrik Rydgard a8c386b94c Make VulkanImage a little more flexible (make it possible to create depth images)
Just preparation.
2016-03-28 18:25:05 +02:00
Henrik Rydgard da50370328 Split out VulkanTexture from VulkanContext.cpp/h into VulkanImage.cpp/h 2016-03-20 19:31:02 +01:00