Archived
1
Fork 0
Commit graph

86 commits

Author SHA1 Message Date
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
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
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
982ef5090c Fixup MoltenVK support
This makes MoltenVK work on iOS again if you
have #1539 applied :-)
2022-03-06 17:22:15 -05:00
8361590294 Don't call new every frame on Vulkan 2022-02-21 17:05:30 -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
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
a1b80f643f Outputted SPIR-V files are now appended with .spv 2022-02-20 22:51:39 -05:00
30fa329550 Add protections for debug marker functions 2022-02-15 09:26:19 -05:00
8b9e8c29ef Use VK_EXT_metal_surface on iOS 2022-02-12 20:52:10 -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
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
redstrate
e63caf1a83 Fix some more image transition bugs related to vulkan dispatch 2021-06-01 11:49:27 -04:00
redstrate
f69d7c18fd Fix image layout transistions for mipmap gen 2021-06-01 11:10:58 -04:00
redstrate
e55a71402f Fix auto-exposure in Vulkan
* I forgot to bind the shader buffer again :-p (maybe we should change this functionality under Vulkan
to match Metal rules?)
2021-06-01 10:44:08 -04:00
redstrate
d999485325 Keep track of current texture layouts
* Fixes a few compute pipeline validation errors
2021-06-01 10:16:59 -04:00
redstrate
98ca5684b9 Change default min/mag filters on Vulkan to linear 2021-05-12 10:50:11 -04:00
redstrate
de928a44ce Implement GenerateMipmaps command in Vulkan 2021-05-12 10:29:29 -04:00
redstrate
4ebd53d89f Use debug utils version of debug markers 2021-05-12 10:10:42 -04:00
redstrate
e3c50ad204 Implement PushGroup and PopGroup command types in Vulkan 2021-05-12 10:06:29 -04:00
redstrate
01966c1d81 Rename File -> file and move under the prism namespace 2021-05-12 08:50:02 -04:00
redstrate
ee2771f45f Add compute pipeline support for Vulkan
* Image transition layouts are not handled correctly yet, so auto exposure does not work
* Image usage and guessed image layout is redone to remove some errors
2021-05-11 19:16:54 -04:00
redstrate
0d75b4f47e Properly report cubemap array support on Vulkan 2021-05-11 17:41:45 -04:00
redstrate
fcc3917155 Fix crash when trying to load scene editor on Vulkan 2021-05-11 17:05:43 -04:00
redstrate
5546c88cba IBL now works on Vulkan!
* Image transitions are handled more correctly, reducing errors
* Cubemaps are now transitioned properly when using the CopyTexture command
* Cubemap image views are created correctly
2021-05-11 15:57:14 -04:00
redstrate
39838aec0f Fix weird GCC log bug in vulkan backend 2021-05-09 20:32:04 -04:00