Commit Graph

184 Commits

Author SHA1 Message Date
niki b5ba2b65b5 stop hardcoding vulkan vertex layouts 2022-06-16 01:16:23 +02:00
niki 4c415479c0 Merge remote-tracking branch 'origin/12.0-development' into vulkan 2022-06-11 01:22:29 +02:00
Alex Szpakowski 4a1d01c68c Fix cmake builds 2022-05-30 22:14:02 -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
niki 75a6bc9b5d Merge remote-tracking branch 'origin/12.0-development' into vulkan 2022-05-06 16:46:55 +02:00
niki 1b816e93ae usa vma as single header lib not through cmake 2022-05-04 15:42:36 +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
Alex Szpakowski 1e85893abb Add new DataStream subclass of Stream, internal-only for now. 2022-04-21 19:52:46 -03:00
Alex Szpakowski bb9c342972 Remove unused GME sound decoder backend. 2022-04-18 20:41:55 -03:00
Alex Szpakowski 0b6722ea0e Merge branch 'main' into 12.0-development 2022-04-15 23:47:28 -03:00
Miku AuahDark 6031a6c636 Fix Android compile error. 2022-03-05 21:46:33 +08:00
Alex Szpakowski 0d74419259 cmake: add warning about use on macOS 2022-02-13 16:11:58 -04:00
Mansour Moufid b822b9cbe7 Prepend LOVE_INCLUDE_DIRS rather than append. 2022-02-06 17:06:37 -05:00
Mansour Moufid 440bbeb9b3 Link to system frameworks. 2022-02-06 16:38:47 -05:00
Mansour Moufid a6b6103b87 Enable LuaJIT on macOS. 2022-02-06 16:38:21 -05:00
niki 4d7fe75001 add vulkan streambuffer implementation 2022-02-04 23:48:36 +01:00
niki d09f834bf3 first draft of vulkan buffer implementation 2022-02-04 23:48:36 +01:00
niki 65074dae15 hello world triangle 2022-02-04 23:45:58 +01:00
Alex Szpakowski 596f927e0c Fix https cmake code 2022-01-30 14:06:55 -04:00
Alex Szpakowski d7522c88af Add HTTPS Lua module.
It can be loaded via https = require("https").
Basic API is responsecode, body = https.request(url).
Slightly more advanced API is responsecode, body, headers = https.request(url, {method="post" or "get", data=str, headers={}}).
2022-01-30 13:21:33 -04:00
Alex Szpakowski d51e012812 Merge branch '12.0-development' into metal 2022-01-05 21:12:22 -04:00
Alex Szpakowski 7f3538d2ba Merge branch 'main' into 12.0-development 2022-01-05 21:10:27 -04:00
Alex Szpakowski 8e7fd10b6f Update copyright year for 2022 2021-12-31 18:33:40 -04:00
Alex Szpakowski be6736cba5 Update glslang 2021-12-26 13:13:27 -04:00
Alex Szpakowski 21f5ba86d3 Merge branch 'master' into 12.0-development 2021-04-07 20:33:44 -03:00
Alex Szpakowski f89aabb0bb Update copyright year for 2021 2021-04-04 16:14:45 -03:00
Miku AuahDark 994cec9ee8 Add Android-specific conditionals. 2021-02-12 19:48:41 +08:00
Alex Szpakowski 85ca9f51d3 Merge pull request #1645 from MikuAuahDark/windows-arm-rework
LÖVE on Windows 10 ARM patches (step 2)
2020-12-22 20:04:16 -04:00
Alex Szpakowski 1f9d98263d Refactor Buffer internals.
Allows buffers created with love.graphics.newBuffer to only allocate VRAM data. Previously they had a copy of their contents in RAM.
Also makes it easier to implement Buffers in other graphics APIs and to implement more types of Buffers in the future.
2020-12-22 19:23:02 -04:00
Miku AuahDark 67ea81f739 Don't look for (and link with) OpenGL for Megasource build 2020-12-03 14:29:03 +08:00
Alex Szpakowski fc2cf602f6 Fix RopeJoints not working. 2020-11-12 23:46:49 -04:00
Alex Szpakowski cbde2ce76c Merge pull request #1613 from thegrb93/box2d-update
Box2d update to 2.4.1
2020-11-02 21:27:57 -04:00
Alex Szpakowski d083c87d74 Update glslang 2020-10-12 17:29:08 -03:00
Alex Szpakowski 8c86515d04 Revert "Windows: reduce stuttering in windowed mode via DwmFlush"
This reverts commit 5dd4a463be.
2020-10-01 22:09:47 -03:00
Alex Szpakowski 5dd4a463be Windows: reduce stuttering in windowed mode via DwmFlush
Resolves issue #1628
2020-09-29 20:22:41 -03:00
Garrett Brown 350054e190 Rename Box2D folder to box2d 2020-08-16 19:28:20 -04:00
Garrett Brown 74c6021e8d Starting box2d update 2020-08-16 10:40:04 -04:00
Alex Szpakowski b1c028a4d3 Merge branch '12.0' into GraphicsBuffer 2020-02-17 16:31:02 -04:00
Alex Szpakowski b8f20ed8db Merge pull request #5 from MikuAuahDark/replace-mpg123
Replace Mpg123 with dr_mp3
2020-02-16 18:34:07 -04:00
Miku AuahDark 52a707d96c Remove mpg123 reference from build system.
TODO: macOS/iOS xcodeproj
2020-02-16 15:25:31 +08:00
Alex Szpakowski 12c90b3dca Merge Image and Canvas GL backend classes into new common Texture class. 2020-02-07 20:29:21 -04:00
Alex Szpakowski 258129738f Remove graphics::Canvas and graphics::Image 2020-02-04 22:06:55 -04:00
Alex Szpakowski c3b77e0a92 Remove wrap_Canvas and wrap_Image files 2020-02-04 20:09:46 -04:00
Alex Szpakowski 7a997fb21f Merge branch '12.0' into GraphicsBuffer 2020-02-01 17:34:32 -04:00
Alex Szpakowski 7684920f19 Merge branch 'master' into 12.0 2020-01-30 20:03:24 -04:00
Alex Szpakowski 816f132c9d Expose GraphicsBuffer type to Lua.
It currently doesn't have any methods or any way to access it, yet.
2020-01-18 17:37:03 -04:00
Antonin Décimo 66e3f29a68 Change file permissions from 755 to 644 2020-01-15 14:59:00 +01:00
Alex Szpakowski f8baa6e6dd Update glslang. Add files for its GLSL source code to SPIRV module.
--HG--
branch : minor
2020-01-09 21:06:10 -04:00
Alex Szpakowski 5f9b5a21d0 Merge default into minor
--HG--
branch : minor
2020-01-03 22:45:36 -04:00