Commit Graph

65 Commits

Author SHA1 Message Date
Alexandre Janniaux
f146661a76 VulkanRenderer: implement metal view
The metal view backing the MoltenVK compatibility wrapper is written in
Obj-C.

It would have been possible to use the Objective-C runtime in C++ but
the code is less performant (the symbol binding is done at first use
instead of the beginning of the program) and actually harder to get
right.

Note that MoltenVK is not linked to the loader, so the libMoltenVK.dylib
object must be available for loading.
2022-05-04 22:12:01 +02:00
SirLynix
e7274b24e9 Core/Color: Switch formal from RGBA8 to RGBA32F 2022-04-23 16:08:15 +02:00
SirLynix
66ff6cfa81 Minor fixes 2022-04-04 08:17:03 +02:00
Jérôme Leclercq
a541d44d03 MoltenVK fix 2022-03-20 15:30:19 +01:00
Jérôme Leclercq
d86f61cd82 VulkanRenderer: Fix VK_EXT_debug_utils with MoltenVK 2022-03-20 14:54:38 +01:00
SirLynix
89c7bbf197 Update copyright date 2022-01-01 15:30:09 +01:00
Jérôme Leclercq
17df8fafa4 Renderer/CommandBuffer: Add support for texture blit/copy 2021-12-03 22:15:34 +01:00
Jérôme Leclercq
32c204e95f Minor fixes 2021-10-29 13:29:49 +02:00
Jérôme Leclercq
a02b1952c0 Apply header order fix 2021-10-28 09:53:56 +02:00
Jérôme Leclercq
93ec196dc4 Apply header guard check 2021-10-26 15:52:46 +02:00
Jérôme Leclercq
ed7ab31933 Apply copyright fix to all files 2021-10-26 14:31:35 +02:00
Jérôme Leclercq
68708c54f7 Minor stuff 2021-10-04 09:24:42 +02:00
Jérôme Leclercq
db85372778 Renderer/Texture: Add Copy method (wip) 2021-09-13 23:34:51 +02:00
Jérôme Leclercq
879b2f7aa6 Renderer/Texture: Implement Update of a region + inherit AbstractImage 2021-09-07 18:42:53 +02:00
Jérôme Leclercq
b6c3988bbe Renderer: Implement firstIndex on DrawIndexed command for OpenGL 2021-09-05 15:46:00 +02:00
Jérôme Leclercq
f22b501e25 Add initial support for shader binding sets (WIP) 2021-06-16 16:50:00 +02:00
Jérôme Leclercq
6161bbec76 Renderer: Handle more depthstencil formats (as Depth24Stencil8 may not be supported everywhere) 2021-06-02 20:16:43 +02:00
Jérôme Leclercq
465837ff12 Renderer: Add support for cubemaps 2021-06-01 12:30:37 +02:00
Jérôme Leclercq
49a2cda0a1 VulkanRenderer: Fix descriptor pool release 2021-05-19 20:32:02 +02:00
Jérôme Leclercq
aeac3282e4 Renderer: Add RenderDevice::GetDeviceInfo() 2021-05-14 01:55:16 +02:00
Jérôme Leclercq
55c2dd8485 Add FrameGraph (WIP) 2021-05-02 13:58:35 +02:00
Jérôme Leclercq
65337c6a38 Fix a lot of warnings and some errors 2020-09-26 11:44:09 +02:00
Jérôme Leclercq
2b6a463a45 Remove Nz::String and Nz::StringStream 2020-09-25 19:31:01 +02:00
Jérôme Leclercq
385927b05a Fix minor stuff 2020-09-04 16:14:11 +02:00
Jérôme Leclercq
53e5aa924f VulkanRenderer/Swapchain: Rename Buffer to Image 2020-09-04 15:58:07 +02:00
Jérôme Leclercq
69dda85e45 Vulkan: Refactor function list headers 2020-09-04 15:21:46 +02:00
Jérôme Leclercq
5f9025c23c Fix VulkanRenderer compilation under Linux ( 🖕 X.h) 2020-09-04 15:13:18 +02:00
Jérôme Leclercq
7ea0b223ec Linux fixes 2020-09-01 19:18:27 +02:00
Jérôme Leclercq
056b78c2f7 Fix 32bits compilation 2020-08-27 20:09:51 +02:00
Jérôme Leclercq
cbdac32f5f VulkanRenderer: Handle window resize 2020-08-27 16:16:33 +02:00
Lynix
cbd81e3abf Vulkan: Fix DeviceObject not destroying previous object 2020-04-26 16:26:24 +02:00
Lynix
e905c3a004 Move Vulkan debug callback to module 2020-04-13 15:12:58 +02:00
Lynix
7447875753 Vulkan/Surface: Remove MIR support 2020-04-13 15:12:19 +02:00
Lynix
d9a08640d6 Vulkan: Add renderpass and framebuffers 2020-04-10 17:36:05 +02:00
Lynix
87f1209327 Vulkan: Refactor command buffer and introduce command pool 2020-04-07 21:10:16 +02:00
Lynix
f443bec6bc Add command buffers (WIP) 2020-04-02 21:07:01 +02:00
Lynix
cf396b0792 Add support for VK_EXT_debug_utils 2020-03-26 23:34:58 +01:00
Lynix
15b95ca4a1 Minor and forgotten stuff 2020-03-26 21:20:00 +01:00
Lynix
b73d3e8f04 Add and make use of Vulkan Memory Allocator 2020-03-26 21:15:49 +01:00
Lynix
509c392e05 Implement UploadPool to efficiently update UBOs 2020-03-26 21:13:06 +01:00
Lynix
e53e15d1aa Split CommandBuffer into Auto and normal variants 2020-03-26 21:09:58 +01:00
Lynix
d892e8eaff Add support for Vulkan 1.1 & 1.2 2020-03-26 20:42:57 +01:00
Lynix
42d58bd77c Vulkan: Add physical device extension listing 2020-03-18 13:58:30 +01:00
Lynix
07fa581525 Cleanup device creation/selection 2020-03-18 13:48:53 +01:00
Lynix
4ede9f1cfe Add texture in demo 2020-03-18 13:48:05 +01:00
Lynix
9cc206b33e Minor C++ fixes 2020-03-17 17:13:27 +01:00
Lynix
6fd1f70a6d QueueHandle: Fix submit overloads 2020-03-15 13:26:20 +01:00
Lynix
7cce08ecfd VulkanRenderer/QueueHandle: Add overloads able to take multiple wait/signal semaphores 2020-03-14 17:35:03 +01:00
Lynix
74adef0aec OCD fix 2020-03-14 17:34:21 +01:00
Lynix
cee47f366f Rename Vk::Queue to Vk::QueueHandle 2020-03-14 17:33:50 +01:00