niki
ecc272e0ca
vulkan: flush allocations if needed
...
There is no guarantee that the created buffer is actually host coherent.
If it is not we have to manually flush it.
2022-10-06 02:12:36 +02:00
niki
a95ff597d5
vulkan: remove unnecessary code
...
Since we supply the vulkan headers ourselves
we can be sure that all the definitions used are there.
2022-10-06 01:18:27 +02:00
slime
752a386640
vulkan: stencils use the same reversed compare mode convention as other backends
2022-09-26 21:20:09 -03:00
slime
e3ba7a0bff
vulkan: fix missing stencil compare mask dynamic state setup
2022-09-26 21:18:51 -03:00
slime
b9da6d6ddc
vulkan: always use optimal image tiling.
...
Linear is useful for intermediate texture copy steps between the CPU and GPU, but we use buffers instead of textures for that.
2022-09-25 22:05:18 -03:00
slime
1eb4f1f172
vulkan: flush batched draws before clear(). minor code cleanup.
2022-09-25 17:41:47 -03:00
slime
1ada8c9a0b
vulkan: update engine name
2022-09-25 17:41:08 -03:00
slime
95bfd948ca
vulkan: move StreamBuffer frame management to StreamBuffer implementation
...
Fixes crashes with lots of auto-batched draws in a frame.
2022-09-25 17:40:53 -03:00
slime
108758c3d3
vulkan: fix stencil buffer having undefined contents
...
note: there are still other issues with draws using stencils.
2022-09-22 23:01:31 -03:00
slime
510b73c2b6
vulkan supports min/max blend ops
2022-09-20 22:13:32 -03:00
slime
3c3ba7d658
vulkan: initial support for clampzero and clampone wrap modes.
2022-09-20 22:10:11 -03:00
slime
26ec23f4ba
vulkan: convert clear colors from sRGB to linear when gamma-correct rendering is on
2022-09-20 19:13:12 -03:00
slime
45c3638209
vulkan: use sRGB backbuffer format when gamma-correct rendering is on
2022-09-20 19:12:40 -03:00
slime
2b074fe90e
vulkan: improve sRGB support for textures
2022-09-20 19:04:56 -03:00
niki
b0fb00c54f
vulkan: fix crashes
...
in isPixelFormatSupported and setStencilMode
2022-09-20 14:49:56 +02:00
niki
f8af91ece5
vulkan: provide vulkan headers ourselves
2022-09-20 01:59:51 +02:00
niki
58c801be58
vulkan: fix incorrect samplers
2022-09-19 19:51:48 +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
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
9af9bb5bd5
vulkan: keep track of window stencil buffer
2022-09-18 14:16:42 +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
niki
3a74fecb22
vulkan: outsource used libraries
2022-09-16 02:25:36 +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
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
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
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