Archived
1
Fork 0
Commit graph

139 commits

Author SHA1 Message Date
b00a39c474 Okay, reformat the rest of the engine code! 2022-08-15 11:07:28 -04:00
e68d6bceeb Fix a ton of issues in the Metal backend
* Remaining push constant issues should be phased out, more changes to
come regarding declaring shader resources to make it less error-prone,.
* Sampler creation is restored for create_texture, for now.
* EndRenderPass command type is now supported, to partially reset render
state when needed.
2022-06-27 14:10:31 -04:00
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