Henrik Rydgård
cbb4236cd8
Vulkan: Attempt to fix some more shutdown race conditions, simplify.
2024-01-17 14:49:49 +01:00
Henrik Rydgård
6de05f13f1
More barrier batching
2023-12-30 10:41:59 +01:00
Henrik Rydgård
bbcaeb9d13
Merge pull request #18557 from GermanAizek/reserve-add
...
Using reserve in different places PPSSPP
2023-12-15 12:28:21 +01:00
Herman Semenov
b8748ae9e5
[Common/File/GPU/Render/Input] Using reserve if possible
2023-12-15 14:00:51 +03:00
Henrik Rydgård
43a2af46ee
Fix error handling on texture creation failure
2023-12-15 10:47:20 +01:00
Henrik Rydgård
ed4941f416
Remove Vulkan (and Windows.h) include from DevScreens.cpp
2023-12-14 19:01:18 +01:00
Henrik Rydgård
4c3f82da55
Remove ManagedTexture from HttpImageView
2023-12-12 22:44:03 +01:00
Henrik Rydgård
1f2dbfaf25
Vulkan: Allow MSAA on modern-ish mobile devices, but add a little warning sign.
...
MSAA on tiler GPUs, the way we use it (we are not able to eliminate
load/store operations yet) can consume huge amounts of bandwidth, so let's be a
little bit careful.
2023-12-03 20:59:15 +01:00
Henrik Rydgård
d891aaf9cd
Remove code that pretended that we supported multiple vertex streams
...
Don't really see that we'll have much use for this feature, so simplify
it away. Only single vertex stream data is now supported by the thin3d
API.
2023-11-13 01:15:28 +01:00
Henrik Rydgård
183d49329a
Allow writing directly into the packed descriptor buffer, saving a memcpy.
2023-10-11 11:02:17 +02:00
Henrik Rydgård
f0ee3b8daa
Fill in descriptors on the render thread in the PPSSPP UI.
2023-10-10 09:00:29 +02:00
Henrik Rydgård
316bc03ac9
Move the destroy function for VKRPipelineLayout to VulkanRenderManager
2023-10-09 11:54:13 +02:00
Henrik Rydgård
28ed12aa93
Simplify descriptor pool creation
2023-10-08 12:39:19 +02:00
Henrik Rydgård
88a50575c7
Wrap pipeline layout creation, use in thin3d
...
Two more types
2023-10-08 12:39:18 +02:00
Henrik Rydgård
dbe395dd00
Add a wrapper around VKRPipelineLayout / descsetlayout
2023-10-08 12:39:18 +02:00
Henrik Rydgård
34fbbf2c2a
Split out the descriptorset pool from VulkanMemory.cpp/h
2023-10-08 11:45:00 +02:00
Henrik Rydgård
964f606a9c
Fix some issues around geometry shaders - like, loading them from shader cache while disabled
2023-09-24 01:29:38 +02:00
Henrik Rydgård
3c810521e2
TextureBatch tiny optimization: Use vector.reserve
2023-09-18 14:49:13 +02:00
Henrik Rydgård
13cfd9c3d6
Add Mesa as a known GPU driver "vendor".
2023-08-17 22:06:03 +02:00
Henrik Rydgård
572595cc7b
Refactor: Lift the frame time history data up one level into thin3d
2023-08-16 11:45:26 +02:00
Henrik Rydgård
ff6e118fff
Get rid of a lot of ifdefs around presentation mode. Instead, set things dynamically.
2023-08-14 11:02:29 +02:00
Henrik Rydgård
bec9c5611e
Rename PresentationMode to PresentMode
2023-08-14 11:02:29 +02:00
Henrik Rydgård
dc4de340b3
Some debug overlays don't make sense when not in-game, disable them. Minor feedback fixes.
2023-08-13 21:54:24 +02:00
Henrik Rydgård
ed9b033f7d
D3D9/11: Move away from using context->SwapBuffers(), instead move present to draw_->Present().
2023-08-11 01:57:02 +02:00
Henrik Rydgård
0deefb82a9
thin3d: Merge BeginFrame and SetDebugFlags (set them every frame anyway)
2023-08-10 17:15:54 +02:00
Henrik Rydgård
1b6d4df3a4
Move the EndFrame/Present split one level out, to NativeApp.cpp
2023-08-10 09:59:29 +02:00
Henrik Rydgård
e06e919624
VulkanRenderManager: Split finish and present (so we can inject a wait in between if desired).
2023-08-10 09:50:01 +02:00
Henrik Rydgård
63cfe28f61
Implement color emoji support on Android
2023-08-06 15:14:29 +02:00
Henrik Rydgård
39d25ce91f
D3D11: Allow setting the max frame latency
2023-08-04 11:53:51 +02:00
Henrik Rydgård
8e1dc35dd1
Vulkan: Show instance extensions, both enabled and available, in sysinfo
2023-08-03 18:56:47 +02:00
Henrik Rydgård
be63ce3a4a
Minor refactor allowing getting the GPU profile string outside games
2023-08-03 16:31:20 +02:00
Henrik Rydgård
9b038d6574
Vulkan: Show enabled extensions separately in sysinfo
2023-08-03 11:11:35 +02:00
Henrik Rydgård
cda59e8510
Vulkan: Keep track of some timestamps in a frame
2023-08-02 16:25:17 +02:00
Henrik Rydgård
b118e25b6a
Vulkan: Make multithreaded rendering an option.
...
Multi-threaded rendering is good for smoothing out performance spikes
and increasing performance on low-power devices. However, the way we use
it it doesn't benefit latency (input lag) at all, rather the opposite.
So make it an option.
2023-07-23 22:06:01 +02:00
Henrik Rydgård
1c83c4a1fe
Vulkan: Enable the present-id/present-wait/display-timing extensions
...
Doesn't actually use any of them yet, just making sure enabling them
doesn't cause any weird issues. They will be used for the future display
timing rewrite.
2023-07-14 10:43:47 +02:00
Henrik Rydgård
6d8069dfd1
Vulkan: Remove the remains of the input attachment experiment
...
Haven't been using these for a while.
I've come to the conclusion here that I think it's better to try to
deal with the issues using safe workarounds like copies, instead of
relying on features with somewhat iffy driver support that are not
universal across APIs anyway.
2023-06-13 20:46:27 +02:00
Henrik Rydgård
49ecc01556
Fix image leak bug when pausing and we're just displaying a framebuffer in memory
2023-05-30 18:29:50 +02:00
Henrik Rydgård
364c205d95
Quick, suboptimal barrier fix for the new UpdateImageLevels functionality
2023-05-30 18:29:49 +02:00
Henrik Rydgård
7c4b9bac90
Cache textures created by MakePixelsTexture and reuse where appropriate.
2023-05-30 14:07:44 +02:00
Henrik Rydgård
0b1abf1de9
Add untested UpdateTextureLevels functionality to three of the four backends
2023-05-30 13:28:04 +02:00
Henrik Rydgård
f54f905be5
Vulkan: Remove support for other index types than 16-bit.
...
We don't have any use for them anyway.
2023-05-30 10:15:34 +02:00
Henrik Rydgård
f1f0bfae2d
Driveby simplification, reduce logspam
2023-05-23 17:09:40 +02:00
Henrik Rydgård
0d0b0fc60b
Turn some reported crashes into asserts, to try to confirm what's going on
2023-05-05 23:26:21 +02:00
Henrik Rydgård
2cca0b265e
Vulkan: Turn off the ubershader on T880, T860 and T830 on old driver versions.
2023-05-03 11:53:32 +02:00
Henrik Rydgård
d4249c1d73
OpenGL: Add an assert to catch a class of crash bugs early. Also assorted paranoia.
2023-05-01 11:56:26 +02:00
Henrik Rydgård
42ce619705
Vulkan fastforward: Check the current presentation mode instead of the Vsync setting.
...
After 1.15, I'm gonna clean up the presentation mode/vsync management
across the code base. This works around #17308 for now.
2023-04-26 12:02:42 +02:00
Henrik Rydgård
c81ec8c74d
List Vulkan present modes in system info, show the current one
2023-04-20 00:21:06 +02:00
Henrik Rydgård
f3bdf324f9
Garbage collect old buffers in push pool.
2023-03-15 01:25:03 +01:00
Henrik Rydgård
9fcd6d6612
Use thin3d's push pool in the draw engine too.
2023-03-15 01:25:03 +01:00
Henrik Rydgård
23fe57e774
Use VulkanPushPool for thin3d
2023-03-15 01:25:03 +01:00