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
redstrate
5fb213db7e
Remove descriptor set cache mesage on Vulkan
2021-05-09 19:49:10 -04:00
redstrate
bae6d05184
Move console and log namespaces to prism
2021-04-20 11:23:53 -04:00
redstrate
e01a31eb13
Use new SDL backend on Windows, fix numerous SDL problems as well
2021-04-20 00:23:14 -04:00
redstrate
744123763f
Begin work on converting to the new class naming scheme and the new prism namespace
2021-04-19 12:06:44 -04:00
redstrate
0861278ae5
Fix running out of descriptor sets very early when resizing editor viewports
2021-04-18 21:40:09 -04:00
redstrate
9d3eb24d23
Add missing platform methods on Windows backend
2021-04-18 19:54:06 -04:00
redstrate
f0a1dc2f20
Add experimental SDL backend for Linux
2021-03-01 14:40:02 -05:00