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
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
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
bba1717130
metal: fix love.graphics.captureScreenshot
2022-09-02 10:53:52 -03:00
nikeinikei
502c1e83ab
vulkan: more reserved usage flags of texture
2022-09-01 16:10:10 +02:00
nikeinikei
adc02a4939
vulkan: optionally use VK_KHR_PUSH_DESCRIPTOR
2022-09-01 15:01:40 +02:00
niki
7185d7356f
vulkan: fix enabling extensions
2022-08-31 19:50:03 +02:00
niki
b28d2df6f8
vulkan: fix crash
2022-08-31 02:35:56 +02:00
niki
a0ee9f7b9b
vulkan: implement compute shaders
...
A lot of stuff probably isn't implemented yet, however the
following code already works:
```lua
local shader = love.graphics.newComputeShader [[
layout (local_size_x = 1, local_size_y = 1) in;
layout(r32f) uniform highp image2D out_tex;
uniform float time;
void computemain() {
imageStore(out_tex, ivec2(love_GlobalThreadID.xy), vec4(time, 1.0, 1.0, 1.0));
}
]]
local tex = love.graphics.newTexture(64, 64, {computewrite = true,format = "r32f"})
function love.draw()
shader:send("out_tex", tex)
shader:send("time", love.timer.getTime() % 1)
love.graphics.dispatchThreadgroups(shader, 64, 64, 1)
love.graphics.print("compute shader test")
love.graphics.draw(tex, 25, 25)
end
```
2022-08-31 02:07:46 +02:00
niki
e409770be1
vulkan: fix some validation warnings
2022-08-30 20:28:18 +02:00
niki
ec5a3a50f9
vulkan: implement graphics readback
2022-08-30 17:11:59 +02:00
niki
a69d4a38dd
vulkan: optionally use extended dynamic state
...
This should cut down on the number of pipeline permutations
needed when this extension is available.
2022-08-30 03:20:33 +02:00