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