Henrik Rydgård
26884150d7
Remove the 0th descriptor set, move everything else back to 0
2022-12-16 13:05:40 +01:00
Unknown W. Brackets
e50eae1bfb
GPU: Cleanup some bounds checks, assignments.
2022-12-03 07:17:12 -08:00
Henrik Rydgård
8e0b82f92e
Address feedback
2022-10-28 17:42:21 +02:00
Henrik Rydgård
96a5c52037
Vulkan: Reserve descriptor set 0 for frame-global data, move everything else to set 1
2022-10-28 09:39:56 +02:00
Henrik Rydgård
31fd928a5c
Name more image views. Very useful with a little patch to the Vulkan debug layers.
2022-10-27 11:05:59 +02:00
Henrik Rydgård
14b5a1a7cd
Fix pipeline lifetime issue, misc.
2022-09-08 00:38:32 +02:00
Henrik Rydgård
b5597d1013
Remove Vulkan2D
2022-08-06 18:27:03 +02:00
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ård
eeec18c018
Make the barrier a bit more focused. Up some limits.
2019-09-29 10:55:49 -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
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