Commit Graph

4777 Commits

Author SHA1 Message Date
Alex Szpakowski bc1c38d361 improve logic for detecting when Texture:generateMipmaps is supported 2022-02-19 16:34:52 -04:00
Alex Szpakowski 6e35ffe2d8 metal: fix window pixel size when resizing 2022-02-19 14:17:37 -04:00
Alex Szpakowski 171533dbf8 Another shader fix for metal+iOS 2022-02-15 21:16:55 -04:00
Alex Szpakowski caf89998cc iOS: fix shader compilation with metal 2022-02-15 21:12:13 -04:00
Alex Szpakowski 0d74419259 cmake: add warning about use on macOS 2022-02-13 16:11:58 -04:00
Alex Szpakowski be73434bec Merge pull request #1772 from eliteraspberries/cmake-macos
CMake: Allow LuaJIT on macOS.

Note that love doesn't officially support using cmake on Apple platforms.
2022-02-13 16:06:22 -04:00
Alex Szpakowski c28731ea80 opengl: fix love's internal quad index buffer failing to populate 2022-02-12 09:37:30 -04:00
Mansour Moufid b822b9cbe7 Prepend LOVE_INCLUDE_DIRS rather than append. 2022-02-06 17:06:37 -05:00
niki 197dfb9738 start implementing vulkan Shader type 2022-02-06 22:56:24 +01: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
Miku AuahDark 839425f661 Merge branch 'mi-12.x' into 12.0-development 2022-02-06 22:16:38 +08:00
Alex Szpakowski d4c1025070 Merge branch 'main' into 12.0-development 2022-02-05 21:40:24 -04:00
niki 4692a0490c basic functionality for indexed draw in vulkan 2022-02-06 02:11:20 +01:00
niki c398fdecb6 Merge branch 'vulkan' of https://github.com/nikeinikei/love into vulkan 2022-02-05 20:45:24 +01:00
niki 7d680838b6 restructure to not hardcore draw vk commands 2022-02-05 20:44:36 +01:00
niki 00a5d5b0a0 restructure to not hardcore draw vk commands 2022-02-05 20:43:41 +01:00
Miku AuahDark f6c65422f5 Don't use lua.hpp in lua-https 2022-02-05 10:58:26 +08:00
Alex Szpakowski 7216a022f9 metal: remove unused internal code 2022-02-04 22:09:50 -04:00
niki f39d01e940 Merge branch 'vulkan' of https://github.com/nikeinikei/love into vulkan 2022-02-05 01:53:05 +01:00
Alex Szpakowski 456c16b9c4 macOS: Fix love.framework's runpath search path
Fixes loading love.framework from a standalone Lua executable, and potentially fixes some code signing issues (#1737)
2022-02-04 20:27:13 -04:00
niki 8694655edd use shaderc instead of glslang to compile shader 2022-02-04 23:48:36 +01:00
niki 7b8fcfb919 fix vulkan::StreamBuffer::unmap 2022-02-04 23:48:36 +01:00
niki 4e583c8cf8 make vulkan::ShaderStage non abstract 2022-02-04 23:48:36 +01:00
niki 1267f2a7bb make vulkan::Shder non abstract 2022-02-04 23:48:36 +01: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 b80ef89e8d handle resizing correctly 2022-02-04 23:48:32 +01:00
niki 65074dae15 hello world triangle 2022-02-04 23:45:58 +01:00
niki cc56c79606 use shaderc instead of glslang to compile shader 2022-02-04 20:07:27 +01:00
niki 867766dafe fix vulkan::StreamBuffer::unmap 2022-02-04 20:03:41 +01:00
niki 9b176cbcde make vulkan::ShaderStage non abstract 2022-02-04 20:03:23 +01:00
niki 829b33a77e make vulkan::Shder non abstract 2022-02-04 20:01:59 +01:00
Alex Szpakowski 5549279eb1 Use metal by default on supported systems.
There are still issues to fix with the Metal backend, but it's more easily testable now at least.
2022-01-31 21:27:59 -04:00
Alex Szpakowski 6e49b1f901 metal: fix texture sampler changes not affecting draws using shaders. 2022-01-31 21:25:49 -04:00
Alex Szpakowski 81791a3217 Merge pull request #1768 from slime73/https
Add HTTPS Lua module.
2022-01-30 16:47:36 -04:00
Alex Szpakowski 8029c25898 Virtual destructor for HTTPSClient. 2022-01-30 16:21:25 -04:00
Alex Szpakowski 48a6fb4374 https: add missing config.h 2022-01-30 16:07:43 -04:00
Alex Szpakowski c748f45ed4 Fix gitignore ignoring any file prefixed with 'config'. 2022-01-30 16:07:25 -04: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 f4a85f42df metal: Apple Silicon macs also support rgba4 / rgb5a1 / rgb565. 2022-01-24 21:19:40 -04:00
Alex Szpakowski b3d37e5fc2 metal: Apple Silicon macs support PVRTC/ETC/ASTC textures. 2022-01-24 21:09:33 -04:00
Alex Szpakowski e4020e439a metal: lowdpi on macOS uses nearest instead of linear upscaling.
Matches the behaviour of the OpenGL backend on macOS.
2022-01-23 12:55:06 -04:00
Alex Szpakowski 4de258b5fb Update changelog 2022-01-23 12:42:13 -04:00
Alex Szpakowski a5351e5046 metal: improve detection of rgba32f format filter and MSAA support. 2022-01-23 11:28:09 -04:00
Alex Szpakowski 6dbb7fa5de Add love.graphics.setStencilMode. Remove old stencil API.
- Add setStencilMode(drawaction, comparemode, value = 0, readmask = 0xFF, writemask = 0xFF).
- Add getStencilMode.
- Remove love.graphics.stencil.
- Remove love.graphics.set/getStencilTest.

Note that the new setStencilMode API does not clear the stencil buffer, and does not turn off color writes (it can still be done manually), unlike love.graphics.stencil.

Fixes #1161.
Fixes #1251.
2022-01-22 23:36:07 -04:00
Alex Szpakowski 173fe3dab5 Add a love.graphics.setColorMask variant which accepts a single bool.
Remove the variant which accepted no args - it would be too confusing because setColorMask(false) does the opposite of what setColorMask(nil) used to do.
2022-01-22 23:27:53 -04:00
Alex Szpakowski c26f6ed94f metal: improve performance of auto depth/stencil in setCanvas. 2022-01-22 23:12:42 -04:00
Alex Szpakowski 4c3c875aa9 metal: clean up some code around render pipeline states. 2022-01-22 21:29:57 -04:00