Commit Graph

3821 Commits

Author SHA1 Message Date
niki eaa043c3ff vulkan: report approximate used texture memory 2022-09-20 12:36:56 +02:00
niki f8af91ece5 vulkan: provide vulkan headers ourselves 2022-09-20 01:59:51 +02:00
slime73 8695e6160c Merge pull request #1789 from nikeinikei/vulkan
Vulkan Graphics Backend
2022-09-19 16:44:06 -03:00
niki 58c801be58 vulkan: fix incorrect samplers 2022-09-19 19:51:48 +02:00
niki fe8cbfecbf vulkan: remove shader version code 2022-09-19 15:43:25 +02:00
niki 50cc954d6a vulkan: determine correct supported api version 2022-09-19 15:38:33 +02:00
niki ba759f5bc0 vulkan: use SamplerState::toKey for caching 2022-09-19 14:23:46 +02:00
niki 4b13e5b99d vulkan: fix linux build attempt 4 2022-09-18 22:04:20 +02:00
niki 87c9b74c8e vulkan: fix linux build attempt 5 2022-09-18 22:00:28 +02:00
niki 67d607fff6 vulkan: fix linux build attempt 3 2022-09-18 21:23:15 +02:00
niki faf36e5a92 vulkan: fix linux build (attempt 2) 2022-09-18 21:03:18 +02:00
niki 6de16f18e9 vulkan: fix linux build 2022-09-18 20:50:06 +02:00
niki 850749fac0 linux build: use c++14 2022-09-18 20:39:55 +02:00
niki 40ff636d6c vulkan: fix c++11 compatibility 2022-09-18 16:50:12 +02:00
niki 9fde550ab5 prioritize opengl over vulkan 2022-09-18 16:11:08 +02:00
niki 9af9bb5bd5 vulkan: keep track of window stencil buffer 2022-09-18 14:16:42 +02:00
niki 6e944f9db8 vulkan: fix memory leak in Shader 2022-09-18 05:55:37 +02:00
niki 9a91cfd593 vulkan: use staging buffer for Buffer operations 2022-09-18 04:31:24 +02:00
niki bf6915ae73 vulkan: garbage collect unused objects 2022-09-18 02:57:29 +02:00
niki cf099946a1 vulkan: fix depth stencil textures 2022-09-18 00:18:32 +02:00
niki e128f3453e vulkan: implement compressed textures 2022-09-17 20:32:34 +02:00
niki aec9e201f5 vulkan: implement volume textures 2022-09-16 13:49:31 +02:00
Klonan ae8b5551de FIx polyline adding NaN normals, which breaks the line rendering 2022-09-16 11:02:31 +02:00
niki 3a74fecb22 vulkan: outsource used libraries 2022-09-16 02:25:36 +02:00
niki ccf8cb45c9 vulkan: implement storage and texel buffers 2022-09-16 00:30:26 +02:00
niki f4c38eb00a Revert "vulkan: use push constants for builtin uniforms"
This reverts commit 47e3fc85d2.
2022-09-15 15:55:47 +02:00
niki 47e3fc85d2 vulkan: use push constants for builtin uniforms
when available
2022-09-15 15:17:06 +02:00
niki d1da47dbf0 vulkan: implement screenshots 2022-09-14 17:31:53 +02:00
niki 4e59b563a4 vulkan: implement texture msaa 2022-09-14 14:15:57 +02:00
niki 726cd147c8 vulkan: render targets with mip and slice 2022-09-14 13:48:13 +02:00
niki 7866dde319 vulkan: use sdl to dynamically load vulkan 2022-09-14 13:31:09 +02:00
niki 82f079eebd vulkan: fix linux build 2022-09-13 17:39:12 +02:00
niki 46598480c4 vulkan: try fix github actions linux build 2022-09-13 14:34:11 +02:00
niki 6a2d1a9edd vulkan: use dynamic loading
If Vulkan ist not available on a system the program will still run,
and it will fallback to opengl.
2022-09-13 14:11:24 +02:00
niki fb44ddb546 vulkan: document change in changes.txt 2022-09-13 13:09:57 +02:00
niki faeca1c4bc vulkan: fix wrong image layout validation warnings 2022-09-12 13:46:03 +02:00
niki 6d9f855bf4 Merge remote-tracking branch 'origin/12.0-development' into vulkan 2022-09-11 17:49:43 +02:00
niki 76199688f6 vulkan: implement discard 2022-09-11 17:09:38 +02:00
niki fd951909c0 vulkan: add more optional extensions
VK_KHR_dedicated_allocation, VK_KHR_buffer_device_address,
and VK_EXT_memory_budget can get used by VMA.
VK_KHR_spirv_1_4 can get used by the Shader.

VK_KHR_spirv_1_4 depends on VK_KHR_shader_float_controls.
VK_KHR_dedicated_allocation depends on VK_KHR_get_memory_requirements2
2022-09-11 15:03:40 +02:00
niki ef80e11b4d vulkan: add support for uniform texture arrays 2022-09-11 13:02:38 +02:00
niki 294761713f vulkan: fix bug: incorrect uniform values 2022-09-11 04:20:45 +02:00
slime 9c46b75138 ImageData:encode now supports saving exr image files.
Also add support for loading uint exr image files, and fix a memory leak in the exr loading code.

Resolves #1813.
2022-09-10 23:17:42 -03:00
niki 1658c89f3d vulkan: add support for custom depth/stencil tex 2022-09-11 01:57:23 +02:00
niki 816e3f01a2 vulkan: correctly order gpu commands 2022-09-10 19:21:31 +02:00
niki a93d153792 vulkan: adjust code styling 2022-09-10 17:40:46 +02:00
niki 57207606c0 vulkan: implement Shader::getVertexAttributeIndex 2022-09-10 15:27:45 +02:00
niki 2010675bff vulkan: fix typo 2022-09-09 23:42:28 +02:00
niki 8807c3dd37 vulkan: fix case where msaa = 1 2022-09-09 23:14:44 +02:00
niki 9025631231 vulkan: modify descriptor set allocation
Setting the size of each descriptor pool to one
was a hack introduced to make the code work on android.
Changing the code to now allocate all descriptor sets at once
should fix the previous crash.
Not tested yet.
2022-09-09 12:02:30 +02:00
slime 9be43d671c https: windows: fix truncated body data returned from GET methods 2022-09-04 23:38:39 -03:00