Commit Graph

185 Commits

Author SHA1 Message Date
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 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