Commit graph

69 commits

Author SHA1 Message Date
Connor McLaughlin 5f6490f68b GPU/Vulkan: Fix downloads messing up later commands 2022-10-05 18:29:43 +10:00
Connor McLaughlin a9038133c8 HostDisplay: Common texture base class for all APIs 2022-10-04 00:00:56 +10:00
Connor McLaughlin 6af5a2486c VulkanHostDisplay: Use coherent memory type for downloads on Adreno
Otherwise it spends a ton of CPU time invalidating the buffer.
2022-10-03 13:13:37 +10:00
Connor McLaughlin 6bafcea94f HostDisplay: Remove DestroyRenderDevice() 2022-09-26 22:15:51 +10:00
Connor McLaughlin 8d32547ec9 Vulkan/Texture: Allow uploading non-zero layers/levels 2022-09-26 22:15:50 +10:00
Connor McLaughlin 9d27f7095f Vulkan: Use Vulkan Memory Allocator 2022-09-26 22:15:50 +10:00
Connor McLaughlin a062cc4706 VulkanHostDisplay: Fix uploading of strided textures 2022-09-18 12:10:36 +10:00
Connor McLaughlin 0b3461338c HostDisplay: Use streaming for sw renderer display 2022-09-13 17:50:42 +10:00
Connor McLaughlin bec0d6e7df HostDisplay: Add GPU usage statistics 2022-09-03 14:17:51 +10:00
Connor McLaughlin 1aa7facda8 Frontends: Pick best render API based on renderer
Stops unnecessary display recreation in big picture UI.
2022-08-26 23:30:45 +10:00
Connor McLaughlin c7e8233b7b System: Move present skip check to core 2022-08-19 00:07:14 +10:00
Connor McLaughlin 8af4f4f01a Common: ScopeGuard -> ScopedGuard 2022-07-26 18:37:16 +10:00
Connor McLaughlin b42b5501f6 UI: Massive revamp, new features and improvements 2022-07-22 21:19:54 +10:00
Connor McLaughlin 0c0bd4c995 dep: Update imgui to v1.88 2022-07-21 17:29:58 +10:00
Connor McLaughlin 8bea6e1530 GPU/Vulkan: Fix warnings introduced by #2438 2021-08-07 12:01:02 +10:00
Wunkolo 98089180c0 GPU/Vulkan: Add debug utility functions
Adds a way to set the name of vulkan
objects, and automatically determining their `VkObjectType` enum value
at compile-time. As well as a utility-object for creating debug-scopes
for `VkQueue` and `VkCommandBuffer` objects. `DebugScope` objects will
automatically emit `Begin` and `End` commands within the ctor and dtor
and allow for C++ scopes to name and color sections of a vulkan command.
These DebugScopes are also able to be nested within each other and will
automatically pick a color depending on the current recursive depth.

These functions are all null-stubbed in non-debug compilations.
2021-08-01 10:56:56 -07:00
Connor McLaughlin 607cb8dbb7 VulkanHostDisplay: Don't crash when headless 2021-07-23 18:33:52 +10:00
Connor McLaughlin 20afc1c4a1 Android: Handle some possible surface loss cases 2021-06-07 18:40:32 +10:00
Connor McLaughlin 2fe1f3c2f7 VulkanHostDisplay: Wait for GPU idle on surface change 2021-05-20 12:19:28 +10:00
Connor McLaughlin fd462ab778 VulkanHostDisplay: Fix crash in RenderScreenshot() when display disabled 2021-05-20 12:19:27 +10:00
Connor McLaughlin 00ffffe8c0 VulkanHostDisplay: Handle surface changes if this happens 2021-05-20 12:19:27 +10:00
Connor McLaughlin 67adc986ab VulkanHostDisplay: Fix incorrect screenshot size rendering when specified 2021-04-28 02:51:44 +10:00
Connor McLaughlin 19ca102b40 VulkanHostDisplay: Handle surface loss gracefully
Also skips a full swap chain recreate on resize.
2021-04-08 03:07:10 +10:00
Connor McLaughlin 924756860e HostDisplay: Support refresh rate queries on all platforms except Mac 2021-04-03 02:53:28 +10:00
Connor McLaughlin 2aea58d056 HostDisplay: Add method to render screenshots at window size 2021-03-06 02:21:27 +10:00
Connor McLaughlin 65daf1d6a0 Vulkan: Support fullscreen resolution enumeration 2021-02-16 02:58:25 +10:00
Connor McLaughlin 5a66639d78 HostDisplay: Add virtual method for getting resolutions 2021-02-14 18:36:21 +10:00
Connor McLaughlin 8f9bbb0bba Vulkan: Support VK_KHR_display 2021-02-04 19:25:21 +10:00
Connor McLaughlin 7a48bcc585 FrontendCommon: Remove WITH_IMGUI #ifdefs
We never compile FrontendCommon without imgui anyway.
2021-01-31 17:10:27 +10:00
Connor McLaughlin e697d9aa33 HostDisplay: Move imgui context creation to base class 2021-01-31 17:10:27 +10:00
Connor McLaughlin 24dd49e05d GPU: Fix runahead with MSAA enabled in D3D11/Vulkan 2021-01-26 03:22:23 +10:00
Connor McLaughlin 6c6fdeb15e HostDisplay: Make textures have levels/layers/samples attributes 2021-01-24 20:41:40 +10:00
Connor McLaughlin 4a60cc4c1e VulkanHostDisplay: Ensure previous frame is presented before acquiring image 2021-01-24 17:37:09 +10:00
Connor McLaughlin fd166a4485 ShaderCache: Add a data version field
We can increment this to prevent people's shader caches from growing too
large with shader changes.
2021-01-11 15:24:38 +10:00
Connor McLaughlin 419726f4cc Remove libretro core - core will now be maintained by libretro
libretro have agreed to take over maintenance of the core.

Please see their fork at https://github.com/libretro/duckstation if you
wish to continue to use it.
2021-01-08 01:37:59 +10:00
Connor McLaughlin f369e3c476 HostDisplay: Fix vram pixels bleeding into edges of display with linear filtering 2021-01-04 03:11:14 +10:00
Albert Liu 1c1ca45e4e VulkanHostDisplay: Fix post shader uniform buffer 2020-12-29 01:33:41 -08:00
Connor McLaughlin dc46d52029 FrontendCommon: Remove unnecessary #ifndef LIBRETRO macros
These were only needed because of ancient compilers on the libretro
buildbot, it still compiles fine with these fields on the latest
compilers.
2020-12-27 00:54:53 +10:00
Connor McLaughlin 702ed21207 HostDisplay: Add threaded presentation for Vulkan renderer
Can add a significant speedup for fast forward. Automatically disabled
when vsync is enabled.
2020-12-27 00:54:53 +10:00
Connor McLaughlin ca84925ff8 HostDisplay: Support screenshotting 16-bit display formats 2020-12-22 03:24:51 +10:00
Connor McLaughlin 497759b4d6 VulkanHostDisplay: Support 16-bit scanout 2020-11-21 21:12:38 +10:00
Connor McLaughlin d3d881aa6b GPU/Software: Reduce number of copies by one, enable 16-bit scanout 2020-11-21 18:39:04 +10:00
Connor McLaughlin 2c8a4ff154 HostDisplay: Add an option to decouple display fps from emulator fps
Makes Android so much faster...
2020-11-03 16:17:45 +10:00
Connor McLaughlin d102b2facd Qt: Fix selecting fullscreen mode breaking other backend borderless 2020-11-03 16:17:45 +10:00
Connor McLaughlin 414bc30f24 HostDisplay: Implement exclusive fullscreen for D3D11 renderer 2020-11-02 00:56:05 +10:00
Connor McLaughlin 7ce55ca800 Android: Fix race/crash when switching away/back to the emulation activity 2020-10-27 11:58:46 +10:00
Connor McLaughlin d39c9f5d1c Clean up some compiler warnings 2020-10-11 12:21:08 +10:00
Connor McLaughlin 2c971ce0c7 VulkanHostDisplay: Fix errors for shaders with many options 2020-09-30 22:52:55 +10:00
Connor McLaughlin 8342fec2c8 VulkanHostDisplay: Execute command buffer before reloading post shaders 2020-09-27 01:34:29 +10:00
Connor McLaughlin 3bd9f85af8 PostProcessingShaderGen: Use ints instead of bools for options 2020-09-16 11:52:23 +10:00