Commit graph

1381 commits

Author SHA1 Message Date
Wunkolo
9e2781e874 Refactor render-texture cache
Implement `displayTransfer` in parity with the OpenGL renderer. Allow
arguments to `get{Color,Depth}RenderTexture`.
2023-08-20 23:01:43 -07:00
Wunkolo
97b6b7f122 Add Vulkan Host-Shader compilation
Compiles Vulkan Host shaders into spirv binary files and embeds them
into the application's virtual file-system.
2023-08-20 23:01:43 -07:00
Wunkolo
f62f1bf9b2 Fix ambiguous extension name conversion 2023-08-20 23:01:43 -07:00
Wunkolo
cb64c52d2f Use inline rotl/ror
Fixes apple-clang builds, which do not implement a lot of the `bit`
header.
2023-08-20 23:01:43 -07:00
Wunkolo
c778c34433 Separate present/graphics workloads
Separate the "Display" texture from the cache of framebuffer textures,
move present/graphics into separate command buffers.
2023-08-20 23:01:43 -07:00
Wunkolo
50029e1333 Avoid usage of D24-S8 format
This support is not supported on `radv`. Vulkan mandates D16 only and a
combination of Depth and Depth-Stencil types only.
2023-08-20 23:01:43 -07:00
Wunkolo
27268f86d3 Fix instance-extension iteration
Add the extensions when they are available rather than statically
including them.
2023-08-20 23:01:43 -07:00
Wunkolo
6dcd09af3e Implement basic color/depth render-texture cache 2023-08-20 23:01:43 -07:00
Wunkolo
a36ee0025f Disable present queue when present unavailable. 2023-08-20 23:01:43 -07:00
Wunkolo
bf3917f074 Add subpass dependencies, optional depth attachment 2023-08-20 23:01:43 -07:00
Wunkolo
37902cd9d6 Implement a renderpass cache.
Technically we can generate every possible render-pass up-front based on
the possible combinations of ColorFmt and DepthFmt, but we should only
allocate what the game asks for. Save that pattern for pipelines.
2023-08-20 23:01:43 -07:00
Wunkolo
bf8bb5d459 Add vk_pica translation unit
Intended for conversions and utils between PICA definitions and Vulkan.
2023-08-20 23:01:43 -07:00
Wunkolo
d19b8cf364 Separate frame-work from presentation 2023-08-20 23:01:43 -07:00
Wunkolo
4976671ef0 Rename vulkan_api.hpp to vk_api.hpp
Consistant with other vulkan header patterns.
This header in particular is to configure our Vulkan API usage.
2023-08-20 23:01:43 -07:00
Wunkolo
ac1f7bc521 Remove dependency on C++20 ranges
AppleClang does not support this unfortunately
2023-08-20 23:01:43 -07:00
Wunkolo
e87db99a97 Remove ownership of SDL's vulkan-surface
This surface is managed by SDL itself, so there is no need to keep it in
a Unique handle for us to delete.  Fixes the bug where vulkan crashes
during shutdown.
2023-08-20 23:01:43 -07:00
Wunkolo
e3699fe8f8 Allocate and present separate top/bottom screen framebuffer images
Instead of operating directly on the swapchain images, we have our own
top/bottom framebuffer images that will be rendered to independent of
having an available swapchain. The images are blitted into the swapchain
images, allowing for resizing too!
2023-08-20 23:01:43 -07:00
Wunkolo
d0832ca558 Fix support for headless vulkan context 2023-08-20 23:01:43 -07:00
Wunkolo
17101e9bb9 Fix graphics queue assignment
Copy-paste error
2023-08-20 23:01:43 -07:00
wheremyfoodat
d26789571c
Merge pull request #225 from wheremyfoodat/tsc
[Touchscreen] Properly handle "dragging" stylus across screen
2023-08-21 00:02:25 +03:00
wheremyfoodat
706503974c [Touchscreen] Properly handle "dragging" stylus across screen 2023-08-20 23:42:55 +03:00
wheremyfoodat
9e0f590b79 Trying to switch to MacOS 10.15 2023-08-20 22:46:44 +03:00
wheremyfoodat
b26a801042 More complete PList 2023-08-20 22:41:24 +03:00
wheremyfoodat
d70a1ca7a8
Merge pull request #223 from wheremyfoodat/wheremyfoodat-patch-3
Add resource limit for threads to getResourceLimitLimitValues
2023-08-20 18:44:38 +03:00
wheremyfoodat
8796440ae9
Add resource limit for threads to getResourceLimitLimitValues 2023-08-20 18:27:23 +03:00
wheremyfoodat
bc47fe8f83
Merge pull request #222 from wheremyfoodat/wheremyfoodat-patch-4
Make SendSyncRequest warn instead of panic on invalid handles
2023-08-20 18:04:47 +03:00
wheremyfoodat
cce796ec0c
Make SendSyncRequest warn instead of panic on invalid handles
Some games like Arc Baseball use invalid handles...
2023-08-20 18:03:42 +03:00
wheremyfoodat
41ef4ad540 [HTTP] Stub some certificate stuff 2023-08-20 17:50:53 +03:00
wheremyfoodat
82ded962d0 Add PTM::GetBatteryChargeState 2023-08-20 17:06:32 +03:00
wheremyfoodat
5106f251cf [SDMC] Handle ASCII paths for CreateDirectory 2023-08-20 16:53:06 +03:00
wheremyfoodat
c15ef14375 Merge branch 'sd-card' of https://github.com/wheremyfoodat/Panda3DS into sd-card 2023-08-20 15:55:36 +03:00
wheremyfoodat
8e00da1d0b Merge branch 'master' into sd-card 2023-08-20 15:55:20 +03:00
wheremyfoodat
76313fac88 Merge branch 'master' into sd-card 2023-08-20 15:41:34 +03:00
wheremyfoodat
2669f80db7
Merge pull request #221 from wheremyfoodat/boss-getErrorCode
Add BOSS::GetErrorCode
2023-08-20 15:39:45 +03:00
wheremyfoodat
197bc93eec Add BOSS:GetErrorCode 2023-08-20 15:07:19 +03:00
wheremyfoodat
eaccc627b9 Merge branch 'master' into sd-card 2023-08-20 14:42:01 +03:00
wheremyfoodat
73b9a909cd
Merge pull request #219 from wheremyfoodat/services
Implement HID::GetSoundVolume
2023-08-20 14:39:07 +03:00
wheremyfoodat
8aa35d2099 Implement HID::GetSoundVolume 2023-08-20 14:18:30 +03:00
wheremyfoodat
9ee7543f9a Moar SDMC 2023-08-20 13:55:38 +03:00
wheremyfoodat
0ef46cf8b0 SDMC archive always has read perms 2023-08-20 13:31:02 +03:00
wheremyfoodat
7ada8da8a8 Start adding SD card support 2023-08-20 13:22:48 +03:00
wheremyfoodat
d4f074b231
Merge pull request #217 from wheremyfoodat/services
Add the GetThreadIdealProcessor SVC and fix UB
2023-08-20 03:58:07 +03:00
wheremyfoodat
3292b051be [SDMH] Fix function not returning a value 2023-08-20 03:45:24 +03:00
wheremyfoodat
434827e11e Add svcGetThreadIdealProcessor 2023-08-20 03:43:26 +03:00
wheremyfoodat
37667708e7
Merge pull request #216 from wheremyfoodat/services
Stub DLC::GetPatchTitleInfo to fail
2023-08-20 03:28:23 +03:00
wheremyfoodat
415a5bb8de Add AM::RegisterDisconnectEvent 2023-08-20 03:27:10 +03:00
wheremyfoodat
977cb0403c Stub DLC::GetPatchTitleInfo to fail 2023-08-20 03:08:34 +03:00
wheremyfoodat
bb64bbab40
Merge pull request #215 from wheremyfoodat/services
Stub update RomFS
2023-08-20 02:58:17 +03:00
wheremyfoodat
e5f96b7298 Stub update RomFS 2023-08-20 02:38:25 +03:00
wheremyfoodat
497ff5b96b
Merge pull request #214 from wheremyfoodat/wheremyfoodat-patch-3
Add missing log
2023-08-20 02:21:22 +03:00