cf2cb655dc
Fix errors in metal backend due to filesystem changes
2022-06-27 10:08:05 -04:00
ca2c2c9d3d
Move all engine-specific models, materials etc. to a new base directory
...
This is a huge change, and basically breaks everything (as per usual!)
First of, this includes stuff like shaders so anything involving those
are broken and then fixed. A new BuildAssets cmake file is added to
aid in running AssetCompiler, and it seems to work fine on the engine
base assets.
The File API will eventually be revamped to handle this new way of
organizing the files and domains will eventually be gotten rid of all
together since I probably will replace it with game directory
priorities. As it stands right now, there isn't a way to easily
replace say - render_options.cfg with your own game-specific version.
Apple builds are probably broken by this commit (since I'm moving
around content and shader directories) to be fixed later.
2022-05-21 18:28:48 -04:00
37866a9470
Fix implicit render pass dependencies and some more validation warnings
2022-04-04 10:38:08 -04:00
b605685f7a
Fix renderdoc crash
2022-04-04 09:35:43 -04:00
b80aa8ccf2
Add min/mag filter to texture creation info
2022-04-04 08:34:26 -04:00
7cc9ea06a8
Fixup Metal GFX backend
2022-04-04 07:58:16 -04:00
80a74c15cd
Goodbye, WebGPU
...
The web backend however, is being kept - for the future in case WebGPU gets added back or WebGL support is added
2022-03-10 10:26:59 -05:00
239ecc8d56
Revert "Another big WebGPU compatibility patch"
...
This reverts commit 3229c4fa2c
.
2022-03-10 10:21:09 -05:00
dbc03078de
Revert "Start to separate combined image samplers"
...
This reverts commit a0d92be759
.
2022-03-10 10:21:03 -05:00
71d0eff8dc
Revert "Next big changes to make WebGPU work"
...
This reverts commit 0a95ee2fa8
.
2022-03-10 10:20:50 -05:00
0a95ee2fa8
Next big changes to make WebGPU work
...
Dynamic buffers are removed, since that's now the renderer's job. Texture usage and buffer usage has changed too.
2022-03-07 11:11:17 -05:00
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