niki
14b8abeef5
vulkan: implement setColor
2022-07-11 17:17:32 +02:00
niki
9d04ec0030
vulkan: fix all memory leaks
...
Now now errors regarding resource management appear in the debug output / validation layers.
2022-07-11 13:58:35 +02:00
niki
c5327bfc4f
vulkan: fix some more memory leaks
2022-07-11 01:47:34 +02:00
niki
0759e8d513
vulkan: fix some memory leaks
2022-07-11 01:13:50 +02:00
niki
7fe2a2d821
vulkan: fix vertex format
2022-07-10 22:52:03 +02:00
niki
ef08282f0d
vulkan: implement getRendererInfo
2022-07-10 19:13:10 +02:00
niki
565455c3ea
proper selection of vulkan renderer
2022-07-10 03:46:12 +02:00
niki
b1fb5b551e
working text rendering
2022-07-10 02:25:28 +02:00
niki
73348e5012
enable alpha blending
2022-07-01 13:43:51 +02:00
niki
2a65ea5fb1
cleanup some debug code
2022-06-30 20:16:40 +02:00
niki
0cea07806f
use different uniform buffers for each draw call
2022-06-30 18:42:49 +02:00
niki
7f894e5bf7
some work on drawQuads (not fully working yet)
2022-06-25 23:02:13 +02:00
niki
efdc2b8ee2
fix crash on exit
2022-06-16 02:25:55 +02:00
niki
b5ba2b65b5
stop hardcoding vulkan vertex layouts
2022-06-16 01:16:23 +02:00
niki
2bf7c35220
use constant color for VertexColor
2022-06-14 23:30:51 +02:00
niki
1111aa3f42
(almost) integrate default löve shaders for vulkan
2022-06-14 18:18:23 +02:00
niki
c996860602
Use löve's uniform data object for vulkan shader
2022-06-13 16:50:12 +02:00
niki
12b9978173
Merge remote-tracking branch 'origin/12.0-development' into vulkan
2022-06-12 02:06:44 +02:00
niki
3a4058d750
allow drawing more than one texture
2022-06-12 02:00:30 +02:00
Alex Szpakowski
17b359f939
Windows: add support for high-dpi when capable SDL versions are used.
...
Issue #1421
2022-06-11 19:49:26 -03:00
niki
acf0474cc8
Implement drawing very basic textures
...
With this commit you can draw very simple textures.
The following code will showcase it:
```lua
function love.run()
local data = love.image.newImageData(40, 40)
for i = 0,39 do
for j=0,39 do
if i <= 20 then
if j <= 20 then
data:setPixel(i, j, 1, 0, 0, 1)
else
data:setPixel(i, j, 0, 1, 0, 1)
end
else
if j <= 20 then
data:setPixel(i, j, 0, 0, 1, 1)
else
data:setPixel(i, j, 1, 1, 1, 1)
end
end
end
end
local texture
texture = love.graphics.newTexture(data)
return function()
love.event.pump()
for name, a,b,c,d,e,f in love.event.poll() do
if name == "quit" then
if not love.quit or not love.quit() then
return a or 0
end
end
love.handlers[name](a,b,c,d,e,f)
end
love.graphics.origin()
love.graphics.clear()
love.graphics.draw(texture, 50, 500)
love.graphics.present()
end
end
```
2022-06-11 20:33:44 +02:00
niki
6c19e8c10a
merge newest 12.0 commits
2022-06-11 01:34:17 +02:00
niki
4c415479c0
Merge remote-tracking branch 'origin/12.0-development' into vulkan
2022-06-11 01:22:29 +02:00
niki
b9496f6d43
use glslang to compile vulkan ShaderStage
...
Before this commit a system call to glslc was made to compile the shaders dynamically during runtime.
That was obviously a very hacky way, so now the proper way was implemented.
2022-06-11 00:59:14 +02:00
Alex Szpakowski
07f087c139
Fix newFileData and newThread outputting deprecation warnings.
...
Fixes #1811 .
2022-06-09 19:57:31 -03:00
Alex Szpakowski
3a5c3df02f
Add sync and async texture and buffer readback APIs.
...
- Add imagedata = love.graphics.readbackTexture(texture, [slice, mipmap, x, y, w, h, [dest, destx, desty]]).
- Add readback = love.graphics.readbackTextureAsync(texture, [slice, mipmap, x, y, w, h, [dest, destx, desty]]).
- Add bytedata = love.graphics.readbackBuffer(buffer, [offset, size, [dest, destoffset]]).
- Add readback = ove.graphics.readbackBufferAsync(buffer, [offset, size, [dest, destoffset]]).
- Deprecate Texture:newImageData.
The async variants return a new GraphicsReadback object. It has the following methods:
- isComplete()
- hasError()
- wait()
- getBufferData()
- getImageData()
- update() (called automatically every frame by love, not normally needed).
Support notes:
- readbackBuffer and readbackBufferAsync require buffer copying support.
- readbackTexture with a render target (canvas) is always supported. readbackTexture with a non-render-target requires copy-texture-to-buffer support.
- readbackTextureAsync with a render target requires copy-render-target-to-buffer support. readbackTextureAsync with a non-render-target requires copy-texture-to-buffer support.
2022-05-30 21:53:55 -03:00
Alex Szpakowski
fb450b1df4
Add internal code for temporary buffers.
2022-05-30 21:46:55 -03:00
Alex Szpakowski
a533982cb4
Replace internal 'staging' buffer data type with new 'readback' type.
2022-05-30 21:43:25 -03:00
Miku AuahDark
7b66e50cfc
Add support for love.filedropped in Android.
...
To send file to the filedropped callback, share the files to the game.
Note that for non-fused binary, if there's no game running, LOVE treat it as
*.love game to run.
2022-05-29 01:49:29 +08:00
Miku AuahDark
2879074177
Silence compiler warnings in isModifierActive.
2022-05-28 19:19:50 +08:00
Miku AuahDark
9e1e35ff39
Fixed love.audio.newSource(SoundData) variant.
2022-05-28 19:17:50 +08:00
Miku AuahDark
2822f17a39
Minor improvements and fixes to Android-specific code.
2022-05-28 13:47:53 +08:00
Miku AuahDark
aaeb318aa6
Android: Implement special path URI for passing file descriptors.
...
This is to workaround the limitation of content:// URI severely limited.
2022-05-22 22:40:09 +08:00
Miku AuahDark
2016972607
Android: Reorder fused file preference.
2022-05-22 20:20:39 +08:00
Alex Szpakowski
502adfcb15
Merge pull request #1805 from MikuAuahDark/setadev
...
Support for Audio Device Selection and Disconnection Callback
2022-05-10 18:22:49 -03:00
niki
d0aaddfef6
cleanup redundant initialization code
2022-05-08 22:51:11 +02:00
niki
c16c07780f
use default texture when rendering primitives
2022-05-08 22:44:32 +02:00
Miku AuahDark
e79c272140
Update dr_flac to 0.12.38
...
Fix buzzing audio in some cases when decoding FLAC in Ogg container.
2022-05-07 12:18:24 +08:00
Miku AuahDark
7af537a417
Rename *OutputDevice(s) to *PlaybackDevice(s)
2022-05-07 11:04:28 +08:00
Miku AuahDark
b2a6abdc0a
Pass all stopped sources on love.audiodisconnected callback.
...
The behavior of sources re-played during these times is inconsistent.
Streaming sources will desync while static sources stop completely.
2022-05-07 10:50:10 +08:00
niki
75a6bc9b5d
Merge remote-tracking branch 'origin/12.0-development' into vulkan
2022-05-06 16:46:55 +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
1b816e93ae
usa vma as single header lib not through cmake
2022-05-04 15:42:36 +02:00
niki
e6f8b465bc
use vma for streambuffer implementation
2022-05-04 15:41:50 +02:00
niki
74c0c192f7
add VMA as library
2022-05-03 21:09:16 +02:00
niki
77f1af598d
add skeleton for vulkan texture impl
2022-05-03 18:11:31 +02:00
niki
394956e320
ignore minsize in StreamBuffer::map
2022-05-03 17:51:54 +02:00
niki
9299219977
perform prepareDraw only once per frame
2022-05-03 17:51:35 +02:00
niki
0953f3540e
remove temporary files after compilation
2022-05-03 17:51:18 +02:00