Commit graph

1096 commits

Author SHA1 Message Date
wheremyfoodat
fbc10bf3da Fix typo 2023-07-29 15:10:06 +03:00
wheremyfoodat
2eb84e053b [Kernel] Undo enormous, embarassing mistake no one must know about 2023-07-29 15:03:46 +03:00
offtkp
2de35bd39d Add RomFS directory traversal stuff 2023-07-29 04:02:13 +03:00
offtkp
f3ce29bf2d Add IVFC parser 2023-07-29 02:08:14 +03:00
wheremyfoodat
9d01ec360f Merge branch 'master' into panda-kith 2023-07-28 23:16:25 +03:00
wheremyfoodat
0f0a06330c [FS] Better file flushing
Fixes a small memory leak and some filesystem bugs
2023-07-28 22:42:30 +03:00
wheremyfoodat
e082625002 Properly handle current thread in rescheduling 2023-07-28 20:05:26 +03:00
wheremyfoodat
8dd5b990be Thread bonk part 1: Better rescheduling maybe 2023-07-28 19:49:11 +03:00
wheremyfoodat
c7cad054e2 Update renderer_gl.cpp 2023-07-28 03:12:28 +03:00
wheremyfoodat
73321856c8 Mooore 2023-07-28 03:03:10 +03:00
wheremyfoodat
adb78bf838 [GL] More state stuff 2023-07-28 01:35:49 +03:00
wheremyfoodat
64fa970468 [GL] Actually implement logic ops 2023-07-27 21:57:50 +03:00
wheremyfoodat
1ea0b39a3b [GL] Fix glClear call 2023-07-27 21:47:39 +03:00
wheremyfoodat
60655febba [GL] Disable scissor in clearBuffer 2023-07-27 19:39:49 +03:00
wheremyfoodat
79a341a297 [GL] Fix depth mask getting corrupted, remove dead code 2023-07-27 18:17:14 +03:00
wheremyfoodat
1d3b078dfb Convert warn to log 2023-07-27 18:01:18 +03:00
wheremyfoodat
71898895af Merge remote-tracking branch 'upstream/master' into stencil-logicop-clear 2023-07-27 17:54:57 +03:00
wheremyfoodat
b4cc743608 [GL] Add stencil enable to state tracker 2023-07-27 15:34:21 +03:00
offtkp
dfde03a344 Remove unused parameter in MyEnvironment 2023-07-27 15:03:50 +03:00
wheremyfoodat
03733569e0 Merge remote-tracking branch 'upstream/master' into stencil-logicop-clear 2023-07-27 14:23:00 +03:00
wheremyfoodat
804e43f8c9 Fix ExeFS offset derp 2023-07-27 12:25:01 +03:00
GPUCode
c6c71bb9b2 renderer_gl: Implement semi proper clears 2023-07-26 22:34:39 +03:00
GPUCode
50bcf3b617 renderer_gl: Respect depth-stencil write flag 2023-07-26 22:13:41 +03:00
GPUCode
6f7874227c renderer_gl: Implement logic op 2023-07-26 22:08:20 +03:00
wheremyfoodat
95a8917589 renderer_gl: Implement stencil testing 2023-07-26 22:05:30 +03:00
wheremyfoodat
eef87da979 Better cheat interface 2023-07-26 03:27:30 +03:00
wheremyfoodat
6c983b16d3 [AC] Stub GetLastErrorCode 2023-07-24 23:57:17 +03:00
wheremyfoodat
5b90cb7a03 [MIC] Stub SetIIRFilter (Fixes Hatsune Miku) 2023-07-24 23:56:53 +03:00
wheremyfoodat
c87501f86f
Merge pull request from Wunkolo/vulkan-init
Initialize Vulkan Context
2023-07-24 21:05:26 +03:00
wheremyfoodat
71bcfbab69 [Vulkan] Respect GPU_DEBUG_INFO 2023-07-24 19:23:47 +03:00
Wunkolo
e2e49b7291 Add in-place swapchain recreation
Lots of todos, this should probably just be its own self-contained
object to allow the emulator to render "headlessly" regardless of a
swapchain existing or not.
2023-07-23 21:44:39 -07:00
wheremyfoodat
4a24a331da
Merge pull request from wheremyfoodat/ir
Merging despite it still being partially broken because I don't want this to be isolated in a random branch
2023-07-24 01:11:46 +03:00
Wunkolo
c49fd71722 Use numeric_limits rather than ~0ULL 2023-07-22 19:44:09 -07:00
Wunkolo
af4163de19 Implement simple swapchain image clearing
Creates a swapchain, and per-swapchain image data for safe parallelism and synchronization.
2023-07-22 19:41:41 -07:00
Wunkolo
90a4c9cf8d Initialize command buffer allocationFix SDL_Vulkan_GetDrawableSize call 2023-07-22 17:13:13 -07:00
Wunkolo
fa804ae4c7 Implement swapchain draw loop
Verified on Windows and MacOS(M2)
2023-07-22 16:44:54 -07:00
Wunkolo
26c97eb716 Implement initial swapchain creation 2023-07-22 15:24:41 -07:00
Wunkolo
197e2a4bbd Allocate present/graphics/compute/transfer queue families 2023-07-22 14:23:37 -07:00
Wunkolo
da6f880128 Disable timeline semaphore features
This is an optional feature that can be supported conditionally later
2023-07-22 13:34:10 -07:00
Wunkolo
8ace959d72 Fix RendererSW initGraphicsContext prototype 2023-07-22 13:20:57 -07:00
Wunkolo
165134ca40 Consider surface-support in device partitions
Use a stable_partitioning of the list of devices the driver gave us with
the addition of checking of the physical device supports the
display-surface that SDL gave us as well.
2023-07-22 13:16:23 -07:00
Wunkolo
0ada1f4e38 Include additional vulkan-extensions that SDL requests
Required for proper surface creation. This gets the surface-creation
call to pass now.
2023-07-22 13:16:23 -07:00
Wunkolo
c7a93c4f52 Warn on failed surface creation for vulkan
Vulkan can technically work just fine without presenting to the user, so
consider these failed window procedures as "warnings" during iteration.
2023-07-22 13:16:23 -07:00
Wunkolo
444d50eaf5 Fix instance extensions on MacOS
These preprocessors were combining into a singular string rather than
the name of two individual extensions. Whoops.
2023-07-22 13:16:23 -07:00
Wunkolo
d9afb12daf Fix MacOS build 2023-07-22 13:16:23 -07:00
Wunkolo
b048d4dd6e Add SDL_Window to initGraphicsContext prototype
This value is needed for vulkan to properly allocate a surface, and would benefit OpenGL to move more of its initialization code into here rather than in `emulator.cpp`.
2023-07-22 13:16:23 -07:00
Wunkolo
870b6a21bf Add initial vulkan instance creation
Headlessly creates a new vulkan instance, with conditional MacOS
support, and enables the `VK_EXT_debug_utils` instance-extension with a
debug-messenger to hook onto validation layer messages.
2023-07-22 13:16:23 -07:00
Wunkolo
d2241a25bc Stub Vulkan backend support
A lot of the architecture of the emulator here does not allow for vulkan
to initialize easily since it involves a bit of data to be exchanged
between SDL and Vulkan. This commit just adds the foundational linkage
and library code for vulkan support.
2023-07-22 13:16:23 -07:00
wheremyfoodat
ae4a4dfc29 Hook up sw rendering backend 2023-07-22 20:47:19 +03:00
wheremyfoodat
f328200c65 Add empty sw renderer class 2023-07-22 20:24:49 +03:00