Archived
1
Fork 0
Commit graph

119 commits

Author SHA1 Message Date
982ef5090c Fixup MoltenVK support
This makes MoltenVK work on iOS again if you
have #1539 applied :-)
2022-03-06 17:22:15 -05:00
33680efe7b Appease MSVC 2022-03-04 19:17:07 -05:00
8361590294 Don't call new every frame on Vulkan 2022-02-21 17:05:30 -05:00
5d7e98c4be Enumerate devices on DX12 2022-02-21 16:32:05 -05:00
6be0616d1e Use DX12 by default on Windows 2022-02-21 15:53:42 -05:00
83acffbf5c Fill out DX12 backend 2022-02-21 15:40:27 -05:00
ca57de8f99 Support GFX dummy a little better
There's now more checks to prevent crashing when the
mapped buffer is actually null, like when running with the dummy
backend.
2022-02-21 12:09:14 -05:00
477ea95905 Fix metal not getting drawable correctly 2022-02-21 12:07:16 -05:00
9b507aa79a Fix up macOS build 2022-02-21 11:47:23 -05:00
a3704eb7a9 Improve surface and gfx context creation
This is laying some groundwork for a much better way
of determining the best GFX api to use at runtime, and
making it easier to support more GFX backends in the future.
2022-02-21 11:03:34 -05:00
757f61f433 Fixup GFX dummy header (again, again) 2022-02-21 00:28:39 -05:00
ea3049cb8a Remove default arguments in GFX api 2022-02-21 00:16:02 -05:00
82ea9d17a2 Fixup Dummy GFX files, again 2022-02-21 00:12:29 -05:00
a1b80f643f Outputted SPIR-V files are now appended with .spv 2022-02-20 22:51:39 -05:00
bd485c2eb8 Fix attribute and input bindings for WebGPU, and ask for WGSL shaders 2022-02-20 22:28:07 -05:00
bff540956b Add initial WebGPU GFX functions
This doesn't work yet of course :-)
2022-02-20 20:05:05 -05:00
e73c610fc6 Revert accidental gfx dummy rename 2022-02-18 17:19:45 -05:00
e0eace9f74 Initialize WebGPU properly 2022-02-18 17:19:37 -05:00
57c2bbc83a Fill out basic WebGPU header/source gfx files 2022-02-18 16:57:00 -05:00
8237eeb05b Fix Metal backend (finally) 2022-02-18 14:36:38 -05:00
b7b8c8336b Make GFXDummy compile successfully again 2022-02-18 09:08:48 -05:00
f4090d2b24 Fix a bunch of Metal backend errors 2022-02-15 12:33:01 -05:00
c5713938ca Initialize all metal objects properly 2022-02-15 11:32:33 -05:00
6935f85351 Start work on converting GFXMetal to metal-cpp 2022-02-15 11:25:13 -05:00
30fa329550 Add protections for debug marker functions 2022-02-15 09:26:19 -05:00
2ce04b686d Merge remote-tracking branch 'origin/master'
# Conflicts:
#	engine/gfx/CMakeLists.txt
2022-02-15 09:25:08 -05:00
c9cac0f226 Re-add metal backend
This also adds dummy placeholders for DX12 and WebGPU ;-)
2022-02-15 09:13:47 -05:00
8b9e8c29ef Use VK_EXT_metal_surface on iOS 2022-02-12 20:52:10 -05:00
2b5fd7201f Bring iOS CMake back up to snuff 2022-02-12 19:58:51 -05:00
c6ab95f87c Restore mip map functionality in Vulkan 2022-02-08 09:09:37 -05:00
03c0f3100a Print the name of the chosen Vulkan GPU 2022-02-08 08:28:19 -05:00
2f30a9e18e Support base instance parameter on Vulkan's DrawInstanced command 2022-02-07 18:17:58 -05:00
ad29cf3174 Add shader constant support for Vulkan 2022-02-07 15:15:09 -05:00
redstrate
072298f4f1 Remove some extra debug messages 2021-10-14 08:58:53 -04:00
redstrate
e79a98c7d2 Some minor code refactoring 2021-10-14 08:51:58 -04:00
redstrate
3f2be1e26a Fix viewports not rendering when index == nullptr 2021-10-13 10:38:10 -04:00
redstrate
9c83375ed0 Enable VK_KHR_portability_subset 2021-10-13 07:39:16 -04:00
redstrate
ff53532b55 Bump to Vulkan 1.2 2021-10-13 07:35:33 -04:00
redstrate
238650aa8d Enable 1.1 shader draw parameters feature 2021-10-13 07:33:30 -04:00
redstrate
a78a18a99a Set scissor for imgui commands 2021-10-13 07:25:18 -04:00
redstrate
68916bdee2 Increase number of Vulkan sets 2021-10-12 10:26:53 -04:00
redstrate
c6bc56d033 Change window handles into opaque pointers 2021-10-12 10:22:16 -04:00
redstrate
529bc27702 Replace old logging and format system with fmt 2021-09-13 23:41:54 -04:00
redstrate
b61eb98648 Fixes some clang-tidy warnings, remove fpermissive 2021-09-13 22:53:42 -04:00
redstrate
f6df3d23b3 Fix Vulkan queue creation on macOS 2021-09-13 13:47:42 -04:00
redstrate
4680579899 Remove macOS Cocoa and Metal backends 2021-09-13 13:47:29 -04:00
redstrate
71fe041691 Fix linux build issue 2021-07-18 18:29:30 -04:00
redstrate
5490b20769 Use VK_WHOLE_SIZE when mapping memory 2021-06-01 12:11:08 -04:00
redstrate
e8bf0a8371 Create presentation command buffers for each surface instead of sharing globally
* Fixes multi-window vulkan validation errors because surfaces would just keep overwriting each other's command buffers.
2021-06-01 12:05:48 -04:00
redstrate
2db8873f92 Fix imgui validation errors on Vulkan
* Eventually, get_buffer_contents() will be removed
2021-06-01 12:02:38 -04:00