Archived
1
Fork 0
Commit graph

126 commits

Author SHA1 Message Date
3229c4fa2c Another big WebGPU compatibility patch
All specialization constants are removed (they cause trouble in
WebGPU, since they don't support array sizing, and it was a pain
in Metal anyway) - they are now macro defined. WebGPU now runs, although
push constant emulation is not implemented yet.
2022-03-07 00:33:44 -05:00
a52cd3d71c Fix WebGPU compile error due to last commit 2022-03-06 22:51:56 -05:00
a0d92be759 Start to separate combined image samplers
This is to be in line with requirements from HLSL/DX12 and WebGPU,
both of which do not support this. It's probably better to get
started removing our usage of them now :-)
2022-03-06 22:45:08 -05:00
e1767e9363 Add more WebGPU draw commands 2022-03-06 21:40:58 -05:00
088fe9875c Fill alpha on default clear color 2022-03-06 21:40:00 -05:00
3e08319684 Add support for more GFX texture usages to WebGPU 2022-03-06 19:38:17 -05:00
0d0a37e315 Use unsigned integers in more places 2022-03-06 19:16:54 -05:00
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