Commit graph

1432 commits

Author SHA1 Message Date
Wunkolo
cb8c53e0b8 Map RGB8 to RGBA8
RGB8 is not supported by drivers like RADV. Instead, we map it to RGBA8.
RGBA8 is mandated to be supported by the vulkan spec.
2023-08-20 23:01:43 -07:00
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