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
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
niki
d123021e26
vulkan: fix canvas rendering (on android)
...
Before this patch, sometimes rendering a texture
on an android device would result in random things
appearing in the canvas, apart from the stuff
that has been drawn properly.
With these changes this does not seem to appear anymore.
2022-08-29 17:43:54 +02:00
niki
4047cc9d3a
Merge remote-tracking branch 'origin/12.0-development' into vulkan
2022-08-28 03:43:08 +02:00
niki
c5a2e47714
vulkan: implement multi canvas rendering
2022-08-28 03:35:06 +02:00
slime73
f1e09ab2e6
Merge pull request #1835 from Klonan/world-get-fixtures-in-area
...
Added World:getFixturesInArea()
2022-08-27 19:21:37 -03:00
niki
748f2676d5
vulkan: fix mip maps
2022-08-27 22:20:33 +02:00
niki
18221beb25
vulkan: fix canvas rendering on android
2022-08-27 20:58:17 +02:00
Klonan
7595bc7edb
whitespace micro
2022-08-27 17:37:30 +02:00
niki
7a67983b3d
vulkan: fix some crashes relating to memory mngmt
2022-08-27 17:37:02 +02:00
Klonan
4e81a31cd1
Code style (tabs)
2022-08-27 17:35:41 +02:00
Klonan
03939299db
Added World:getFixturesInArea()
2022-08-27 17:16:51 +02:00
slime
bded15ff2a
Decoders failing to allocate their buffer will cause a Lua error instead of crashing.
2022-08-25 19:44:10 -03:00
slime
db1bf4707c
Workaround for built-in shaders on some ES2 devices which don't support highp in pixel shaders.
2022-08-25 19:25:01 -03:00
slime
96820749ad
Potential optimization for built-in uniform access in shader code.
...
Assigning to and accessing extra shader variables can increase VGPR / wave-variant register usage in shaders, which is often a limiting factor for performance in non-trivial shaders. Accessing the uniforms directly should bypass that.
2022-08-25 18:17:31 -03:00
niki
77f75648e8
vulkan: default renderpass and framebuffers
...
Since these objects basically get used every frame
we shouldn't store them in a hashmap with potentially
worse performance.
Instead storing them in member variables should be better.
2022-08-25 18:15:18 +02:00
niki
a577be8a6d
vulkan: fix a few bugs in Shader
2022-08-23 01:38:47 +02:00
niki
a08395e12d
vulkan: implement msaa
2022-08-22 23:09:21 +02:00
niki
62148790a8
vulkan: fix scissor on android
2022-08-22 17:40:27 +02:00
niki
7cc6ed40be
vulkan: implement depth and stencil
2022-08-21 17:42:39 +02:00
nikeinikei
dfa9b7da34
vulkan: fix build on machines without vulkan 1.3
2022-08-21 02:08:01 +02:00
nikeinikei
deb2ea9435
Update config.h
2022-08-20 22:04:23 +02:00
niki
665614b9b9
vulkan: fix crash when recreating swapchain
2022-08-20 21:33:09 +02:00
niki
5f2fdc0dd0
vulkan: android: fix display orientation
2022-08-20 21:03:49 +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
slime73
48b791eb3e
Merge pull request #1831 from Er2ch/sdl-2.24.0
...
SDL 2.24.0 support
2022-08-20 13:55:48 -03:00
Er2
53b20b1341
some fixes
...
Fixed duration and love naming conventions.
2022-08-20 19:05:56 +03:00
niki
3e762c9772
vulkan: remove dynamic rendering (part 2)
2022-08-20 16:38:13 +02:00
niki
4660466887
vulkan: don't use dynamic rendering
2022-08-20 15:49:09 +02:00
Er2
7c9d6d5694
add Lua string for new controllers
2022-08-20 10:51:39 +03:00
Er2
0b4b1db9fe
SDL 2.24.0 support
2022-08-20 10:44:34 +03:00
niki
51e3cf2a9c
vulkan: enable linux
...
Some basic testing reveals that it works
just like the windows build.
2022-08-19 23:41:04 +02:00
niki
7be9bb3ecc
vulkan: implement vsync setting
2022-08-19 21:40:21 +02:00
niki
be8778b4eb
vulkan: remove dep on VK_KHR_push_descriptor
...
It's not sure if this extension is supported everywhere
This commit uses normal descriptor pools, sets and writes,
which are all availabel in base vulkan.
2022-08-19 16:44:59 +02:00
niki
f4ece69307
Merge remote-tracking branch 'origin/12.0-development' into vulkan
2022-08-15 03:43:35 +02:00
niki
b2771dd111
vulkan: fix cube textures
2022-08-15 00:06:50 +02:00
niki
bc0b5f81f5
vulkan: uniforms in custom shaders
...
things like `uniform float time;` or `uniform sampler2D tex` now work
2022-08-14 22:15:24 +02:00
niki
84df8fee03
vulkan: fix video rendering
...
When rewriting the shader part rendering videos was broken.
This commit fixes that again.
2022-08-14 20:45:57 +02:00
niki
f9ad1842b5
vulkan: first iteration for generic uniforms
...
Until now we only considered the builtin uniform variables.
This commit attempts to make the code in the vulkan Shader
implementation more general, as to allow for custom uniforms.
This is not possible yet, but should be easier to implement now.
2022-08-14 04:56:20 +02:00
niki
390ae40e83
vulkan: cut down on number of cmd buffers
...
Until now we've used a command buffer for every swap chain image,
however it makes more sense to just have a command buffer for every
frame in flight, since we won't be ever recording more than that.
This makes it more in line with the data transfer command buffers,
which are also just created per frame in flight.
This should make more sense.
2022-08-11 16:11:06 +02:00
slime
1afe5a56da
Merge branch 'main' into 12.0-development
2022-08-09 20:42:34 -03:00
slime
8495cefd3b
opengl: fix creating compressed array textures with > 1 layer.
...
Fixes #1817 .
2022-08-09 20:37:48 -03:00