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
Henrik Rydgård
2b1e87792f
Vulkan: During texture upload, batch the buffer->image copies to do all the mips at once.
2023-03-14 10:11:19 +01:00
Henrik Rydgård
f936a6e9ce
Structs and enums and build files
2023-03-11 11:19:33 +01:00
Henrik Rydgård
970f7993df
Android: Make font rendering work even absent support for R4G4B4A4 textures.
...
This shouldn't normally happen as conforming drivers are required to
support that texture format, but the software driver that we
accidentally choose on Poco C40 (see issue #16391 ) doesn't.
That we choose that driver will be fixed separately. This fix on its own
at least lets the user comfortably navigate to settings and switch to
OpenGL.
2023-02-28 00:01:29 +01:00
Henrik Rydgård
49e5460c9c
Remove count parameter from SetViewports. No use foreseen.
2023-02-25 07:12:53 +01:00
Henrik Rydgård
937975000b
Add a ReadbackMode parameter to more functions in the FramebufferManager
2023-02-05 13:57:45 +01:00
Henrik Rydgård
4427cb4fc3
Add parameter to thin3d::CopyFramebufferToMemory to specify blocking mode. Not yet implemented.
2023-02-04 23:40:36 +01:00
Henrik Rydgård
1f3969aff3
Merge pull request #16873 from hrydgard/dedicated-thread
...
Add facility to run tasks on dedicated threads using the ThreadManager interface
2023-01-31 11:50:59 +01:00
Henrik Rydgård
6b0903f566
Add facility to run tasks on dedicated threads using the ThreadManager interface.
...
Useful for things that should be run ASAP even if the threadpool is full,
at a small extra cost. (Not recommended for very small tasks).
Considering using this to resolve the deadlocks in #16802 .
2023-01-31 11:07:40 +01:00
Henrik Rydgård
d43452f0ce
Fix to shutdown sequence
2023-01-30 11:49:31 +01:00
Henrik Rydgård
784e8ab782
Fix a race condition during Vulkan shader cache load.
...
Could lead to unnecessary pipelines being created.
2023-01-13 10:35:04 +01:00
Henrik Rydgård
1cfc7b11b8
Only force indexed draws on PowerVR / Vulkan.
2023-01-11 22:59:30 +01:00
Henrik Rydgård
cf52324e9e
Vulkan: Fix pipeline cache clearing.
...
Extracted from #16759 and bugfixed. Fixes a leak of Vulkan pipelines.
I guess another way would be to queue the variants for destruction at
the same time as we queue the callback, but I like this better.
2023-01-09 09:49:55 +01:00
Henrik Rydgård
d83f84fdfd
DrawContext destructor: Need to call DestroyPresets earlier.
2022-12-29 17:32:49 +01:00
Unknown W. Brackets
4f216c941e
Vulkan: Fix reverse dependency on config.
2022-12-27 15:32:35 -08:00
Unknown W. Brackets
348b6f12f3
Vulkan: Remove some unused values.
2022-12-26 10:14:15 -08:00
Henrik Rydgård
26884150d7
Remove the 0th descriptor set, move everything else back to 0
2022-12-16 13:05:40 +01:00