Commit Graph

4247 Commits

Author SHA1 Message Date
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
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
Alex Szpakowski 87592513a2 metal: fix automatic depth/stencil with setCanvas. 2022-01-22 20:57:06 -04:00
Alex Szpakowski 8c496d60e5 metal: add a couple comments clarifying depth format fallbacks. 2022-01-22 14:51:37 -04:00
Alex Szpakowski 1cf0073cf4 metal: use a fallback for fonts when luminance-alpha isn't supported. 2022-01-22 14:41:42 -04:00
Alex Szpakowski 62de8f62c7 metal: hook up emulated 'fan' mesh draw mode. 2022-01-22 12:59:09 -04:00
Alex Szpakowski 3ecae61189 metal: improve texture initialization. 2022-01-16 14:18:34 -04:00
Alex Szpakowski 44d87ff7ce metal: fix textures not being tagged with compute-write flags. 2022-01-16 13:47:18 -04:00
Alex Szpakowski 4e1c4a6afe metal: some fixes for MSAA 2022-01-16 13:44:29 -04:00
Alex Szpakowski d96e1636b1 Improve setCanvas validation of volume texture layer + mipmap values. 2022-01-16 13:00:12 -04:00
Alex Szpakowski f78db47d0e opengl: allow glTexStorage on Android devices. 2022-01-16 12:00:16 -04:00
Alex Szpakowski a7c4e56a41 Merge branch 'main' into 12.0-development 2022-01-16 11:58:07 -04:00
Alex Szpakowski 65667c0f18 Fix sRGB texture internal formats in OpenGL ES 3. 2022-01-16 10:30:56 -04:00
Alex Szpakowski 4ca3535cd2 Metal: fix clamp-to-one texture wrap mode detection. 2022-01-15 23:31:07 -04:00
Alex Szpakowski de35999de3 Prevent meshes with the 'fan' draw mode from using an index buffer. 2022-01-15 21:23:15 -04:00
Alex Szpakowski 61feb197e2 Remove obsolete .hgignore and .hgtags files. 2022-01-15 18:57:26 -04:00
Alex Szpakowski 4f214ea540 Merge pull request #1761 from slime73/metal
Add a Metal backend to love.graphics.
2022-01-14 20:36:54 -04:00
Alex Szpakowski 5c3f391136 update metal backend for projection changes. 2022-01-12 18:31:32 -04:00
Alex Szpakowski f93d167a47 Merge branch '12.0-development' into metal 2022-01-12 18:23:23 -04:00
Alex Szpakowski f7f5290693 love.graphics.newMesh: DrawMode arg no longer defaults to 'fan'. 2022-01-09 14:37:33 -04:00
Alex Szpakowski ff83ee6a9c Add basic ortho and perspective projection APIs to love.graphics.
- Added love.graphics.setOrthoProjection.
- Added love.graphics.setPerspectiveProjection.
- Added love.graphics.resetProjection.

Note that the projection is reset whenever the canvas changes.
2022-01-08 22:56:21 -04:00
Alex Szpakowski cdafe5a931 opengl: explicitly don't support BGRA pixel formats.
They're only used internally, by the metal backend.
2022-01-06 17:53:32 -04:00
Alex Szpakowski 425537ad5e Metal view creation failure shows a relevant error message. 2022-01-06 17:37:56 -04:00
Alex Szpakowski a76606e76e metal: fix some define checks. 2022-01-06 17:34:20 -04:00
Alex Szpakowski c373fb2e82 Fix compilation on macOS/iOS 2022-01-05 21:28:47 -04:00
Alex Szpakowski 55a13f995a Add SPIRV-Cross info to license.txt 2022-01-05 21:20:04 -04:00
Alex Szpakowski cf57c3eedf update copyright year for metal files 2022-01-05 21:13:53 -04:00