Commit graph

625 commits

Author SHA1 Message Date
Henrik Rydgård
0cbb7ab027 Change the PushBuffer API a bit to not take explicit memory types. 2021-11-22 18:54:09 +01:00
Henrik Rydgård
c2f594cc73 Remove the VulkanDeviceAllocator 2021-11-22 18:54:09 +01:00
Henrik Rydgård
1b1e585a35 More integration, use VMA in VulkanTexture 2021-11-22 18:54:09 +01:00
Henrik Rydgård
8f9ce03a8d Start integrating VMA 2021-11-22 18:54:08 +01:00
Henrik Rydgård
81fba1f4a4 Minor refactor 2021-11-21 22:08:53 +01:00
Henrik Rydgård
29f54befbd Comment improvement, restore accidental deletion 2021-11-21 21:34:05 +01:00
Henrik Rydgård
dda425b068 Vulkan: Add a single background thread for pipeline creation
Add proper waits for compile-done

Don't rely on non-standard struct initialization of classes

Attempt to drain the pipeline compile queue before destroying the PipelineManager.

Vulkan: Bump the cache version for testing
2021-11-21 18:36:00 +01:00
Henrik Rydgård
62f4875e24 VulkanRenderManager: Add deferred pipeline creation (to get it off the CPU thread) 2021-11-21 18:36:00 +01:00
Unknown W. Brackets
60bd25582c Vulkan: Remove wide line handling.
No longer used, since we convert lines to triangles now.
2021-10-31 14:47:21 -07:00
Unknown W. Brackets
1d76e55f84 Vulkan: Disable large points feature.
No longer used.
2021-10-31 13:07:03 -07:00
Henrik Rydgård
593241b50f
Merge pull request #14996 from hrydgard/vulkan-best-practices
Vulkan "best practices" fixes
2021-10-19 17:57:39 +02:00
Unknown W. Brackets
7b00c4a572 GPU: Move Z/W equal hack to bugs from supports.
It's really a bug (might even ideally cap the version?), and we already
have other bugs handled the same way.
2021-10-12 20:34:44 -07:00
Unknown W. Brackets
5e6f54033e GPU: Split clip and cull caps.
GL_ARB_cull_distance is needed, sometimes available on older GL.
2021-10-12 20:34:43 -07:00
Unknown W. Brackets
046a5c548b GLES: Check clip/cull distance support.
Pretty limited on GLES3+.  Also D3D11.
Seems like doing it on D3D9 might be a bit tricky.
2021-10-12 20:34:42 -07:00
Unknown W. Brackets
273b9a3dc1 Vulkan: Add negative Z clipping. 2021-10-12 20:34:42 -07:00
Henrik Rydgård
e6857388c7 Add input device debug info to touchscreen test screen
(yeah maybe there's a better place but it's fine).

Also make a slight tweak to the detection order which I don't think
matters much.
2021-10-10 11:50:20 +02:00
Henrik Rydgård
d7ac6aa63d Fix an assortment of minor VK barrier bugs in mostly texture upload 2021-10-08 21:58:03 +02:00
Henrik Rydgård
90335bd520 Mip generation: Transition the correct mipmap after blit. 2021-10-08 21:53:55 +02:00
Henrik Rydgård
b426d12a17 More best-practices adjustments 2021-10-08 21:32:40 +02:00
Henrik Rydgård
d7774bf1ae Ran the "Vulkan best practices" layer, fixed some stuff. 2021-10-08 21:20:40 +02:00
Henrik Rydgård
f9f9ab5ec6
Merge pull request #14978 from unknownbrackets/draw-vulkan
Vulkan: Handle desc set allocation failure better
2021-10-07 08:48:59 +02:00
Unknown W. Brackets
e389dfc711 Vulkan: Handle desc set allocation failure better. 2021-10-06 23:20:13 -07:00
Henrik Rydgård
59ac4d3e27 Vulkan: Rework mipmap generation and its image barrier/layout handling.
Fixes bugs on mobile with texture scaling + auto max quality texturing
(since that generates mipmaps with blits from an image which was just generated from
compute, making proper barriers very critical).
2021-10-05 22:50:49 +02:00
Henrik Rydgård
46ada8649c VK mip gen: Could end up with a zero dimension in the lowest mipmap, prevent that.
Should help #14814
2021-09-11 13:13:40 +02:00
Unknown W. Brackets
d264cbef32 Vulkan: MSVC 2017 buildfix.
Fixes the buildbot.
2021-09-10 23:35:31 -07:00
Henrik Rydgård
5876388c65 Vulkan scissor fix (validation errors). 2021-09-10 01:15:29 +02:00
Bram Verweij
f1f5fbd3bb Remove unintended whitespace changes 2021-08-21 12:44:25 +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
43ae32e5b8
Merge pull request #14713 from amverweij/vulkan-display-khr
First pass on using Display KHR, needs proper init flags
2021-08-11 01:34:38 +02:00
Unknown W. Brackets
4cb6976029 GPU: Use an empty vertex buf for reinterpret.
See #14552.
2021-08-07 22:22:36 -07:00
Henrik Rydgård
3595e092c9 Turn off all 16-bit formats if B5G6R5 format is not available.
Works around #14602 for now.
2021-07-10 23:33:46 +02:00
Unknown W. Brackets
44d2d8a2a3 Draw: Assert sampler bindings are in valid ranges. 2021-06-12 10:10:42 -07:00
Henrik Rydgård
f4a6d291e1 Common: Capitalize setCurrentThreadName(). 2021-04-30 23:02:36 -07:00
Unknown W. Brackets
5119d79082 Build: Remove IOS define. 2021-03-02 21:04:03 -08:00
Unknown W. Brackets
13ec384dbe Build: Explicitly include ppsspp_config.h.
This adds it to all files that use it.  Not all our builds include the
file.
2021-03-02 21:04:03 -08:00
Unknown W. Brackets
e7a3faaa8c Windows: Stop ignoring all deprecated warnings. 2021-02-18 08:56:36 -08:00
Unknown W. Brackets
fe9870bf37 Draw: Auto ref/release bound textures/samplers. 2021-02-16 21:48:43 -08:00
Unknown W. Brackets
e85a8b0f5b Global: Cleanup class init order warnings. 2021-02-15 11:59:45 -08:00
Unknown W. Brackets
f32f89dd90 Global: Remove some unused variables. 2021-02-15 11:59:45 -08:00
Henrik Rydgård
9b13220f49
Merge pull request #13864 from unknownbrackets/vulkan-amd
Vulkan: Remove #10097 hack for newer AMD drivers
2021-02-15 16:31:49 +01:00
Henrik Rydgård
c8dfa091fa Add some checks trying to prevent creation of 0 sized textures.
Saw a crash log with a driver crash in CreateTexture...
2021-02-13 11:33:15 +01:00
Henrik Rydgård
c48bdf7efc Vulkan: Fix image layout issues after compute shader uploads.
We're already in GENERAL so probably not worth to transfer to DST just
to do even more transfers due to the silliness of GenerateMip.

I'm planning to rework the whole texture upload thing to be far more
optimal with some kind of TextureUploadManager

Fixes #13987
2021-01-30 23:09:42 +01:00
Henrik Rydgård
c251d69eab Minimize the Adreno shader compiler bug repro test 2021-01-30 10:21:14 +01:00
Unknown W. Brackets
6ca9acf94b Vulkan: Delete only created swapchain images.
We do other null checks here, same reason.  Create may have failed.
2021-01-16 20:55:34 -08:00
Henrik Rydgård
1acbfb1a52 Never pass a null into QueueDeleteImageView (got a report of that).
Went through them all to see where this could happen, can't find any
other path than this, though it's strange.
2021-01-03 21:46:12 +01:00
Unknown W. Brackets
ca0763c7f1 Vulkan: Remove #10097 hack for newer AMD drivers.
Fixes #10643.  Assumes affected drivers only supported 1.0 due to year 1.1
supporting drivers started coming out.
2021-01-03 09:24:14 -08:00
Conrad Kreyling
e3540ccd17 First pass on using Display KHR, needs proper init flags 2020-12-16 13:15:39 -05:00
Henrik Rydgård
1c925e705f
Merge pull request #13760 from hrydgard/fix-dirt-graphics
Fix car lighting issues in DiRT 2.
2020-12-13 09:19:34 +01:00
Henrik Rydgård
6a5522b185 thin3d: Add a way to query the current render target for debugging. 2020-12-13 00:20:13 +01:00