niki
cf099946a1
vulkan: fix depth stencil textures
2022-09-18 00:18:32 +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
fb44ddb546
vulkan: document change in changes.txt
2022-09-13 13:09:57 +02:00
niki
a93d153792
vulkan: adjust code styling
2022-09-10 17:40:46 +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
c5a2e47714
vulkan: implement multi canvas rendering
2022-08-28 03:35:06 +02:00
niki
23666b1fde
vulkan: fix android build
...
It compiles now, but it's not working correctly yet
2022-08-20 19:38:59 +02:00
niki
fbb64a07af
vulkan: partially implement mipmaps
...
There is no real effect yet when rendering, however debugging the
application with renderdoc reveals that the mipmap generation is
already correct. There's probably something weird going on with the
sampling. I'll have to look into that next.
2022-08-09 00:57:07 +02:00
niki
dcea056fcb
vulkan: properly implement samplers
2022-08-01 18:51:09 +02:00
niki
224b9e84f0
vulkan: add support for 2d array textures
2022-08-01 15:53:31 +02:00
niki
8cf7a79657
vulkan: add missing layout transitions
2022-07-31 23:56:03 +02:00
niki
4686de8ebd
vulkan: implement copy Texture <-> buffer methods
2022-07-30 02:17:58 +02:00
niki
7bbc042fce
vulkan: remove redundant tabs
...
this makes reading the source files easier
and is more in line with the rest of the löve codebase
2022-07-30 01:16:56 +02:00
niki
524e011133
vulkan: make Texture::uploadByteData async
...
Before this commit we would greedily wait for the upload to be complete
before exiting the function. This is of course not correct, since
we might be changing data that is still being used in a render in
flight. Of course we also need to cleanup the resources asynchronously
after the frame has been rendered fully.
2022-07-29 22:35:35 +02:00
niki
6d7bd645fc
vulkan: use vkCmdClearColorImage to clear texture
...
using the vulkan functionality probably leads to less bugs.
Until now it was assumed that any image was in the rgba8 format,
which is of course not correct. Clearing a texture to white or black
should now work for any format.
2022-07-24 13:43:48 +02:00
niki
0ae81091d1
vulkan: use dynamic rendering
...
This vulkan 1.3 feature will make the code simpler when dealing
with off screen render targets (i.e. löve canvases)
2022-07-14 18:01:46 +02:00
niki
0759e8d513
vulkan: fix some memory leaks
2022-07-11 01:13:50 +02:00
niki
b1fb5b551e
working text rendering
2022-07-10 02:25:28 +02:00
niki
0cea07806f
use different uniform buffers for each draw call
2022-06-30 18:42:49 +02:00
niki
6c19e8c10a
merge newest 12.0 commits
2022-06-11 01:34:17 +02:00
niki
c16c07780f
use default texture when rendering primitives
2022-05-08 22:44:32 +02:00
niki
4e8304255d
first draft of vulkan texture impl
2022-05-06 16:06:09 +02:00
niki
8f55f093a4
partially implement initCapabilities for vulkan
2022-05-04 23:43:23 +02:00
niki
e6f8b465bc
use vma for streambuffer implementation
2022-05-04 15:41:50 +02:00
niki
77f1af598d
add skeleton for vulkan texture impl
2022-05-03 18:11:31 +02:00