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