Commit Graph

3905 Commits

Author SHA1 Message Date
Sasha Szpakowski 337d8fa048 remove source code support for SDL2 2024-10-18 20:22:26 -03:00
Sasha Szpakowski caca6196fc make sure non-app common paths are canonicalized. 2024-10-17 20:56:48 -03:00
Sasha Szpakowski 31ce65b9d2 Fix love.resize when SDL3 is used
Also fixes #2100.
2024-10-14 22:34:24 -03:00
Sasha Szpakowski b69a22dca3 sync window state in love.window.minimize 2024-10-14 17:37:56 -03:00
Miku AuahDark 72d865eedc Android: Fix error when trying to open .love file through "Load .love File". 2024-10-13 13:54:37 +08:00
Miku AuahDark 86bb7ba0ae Android: Initial SDL3 support. 2024-10-12 19:44:54 +08:00
Sasha Szpakowski 5383390937 vulkan: fix initialization when SDL3 is used 2024-10-11 18:59:32 -03:00
Sasha Szpakowski 8227b7bcba iOS: fix compile errors when SDL3 is used 2024-10-08 17:05:39 -03:00
Sasha Szpakowski 28393cdfd5 Fix compilation on Windows when SDL3 is used 2024-10-06 20:27:59 -03:00
Sasha Szpakowski e986160431 Use SDL3-compatible SDL includes when SDL3 headers are available 2024-10-06 20:27:28 -03:00
Sasha Szpakowski 20b527f2ab Fix compile errors when SDL2 is used 2024-10-06 17:08:35 -03:00
Sasha Szpakowski dda7603d0d update SDL3 codepaths to work with 3.1. 2024-10-06 16:53:09 -03:00
Sasha Szpakowski e1494d4ad2 revert to previous names for a couple graphics enums 2024-10-03 12:42:11 -03:00
Sasha Szpakowski eeec2429e2 vulkan: use subpass dependencies for layout transitions when switching canvases. 2024-09-30 23:04:58 -03:00
Sasha Szpakowski 3a6833ffb5 fix compile error 2024-09-30 20:15:11 -03:00
Sasha Szpakowski 1ee89154c0 vulkan: memory barrier after compute dispatches. 2024-09-30 19:58:45 -03:00
Sasha Szpakowski 64e4eaec74 vulkan: memory barriers for buffer copy/write operations. 2024-09-30 14:43:27 -03:00
Sasha Szpakowski 6d40eab097 vulkan: slightly improve memory placement for fullscreen canvases. 2024-09-29 17:00:10 -03:00
Sasha Szpakowski 8e6efac595 vulkan: fix a crash when the window has no depth or stencil. 2024-09-28 18:30:26 -03:00
Sasha Szpakowski a16db4fb72 metal: fix a crash when the window has no depth or stencil. 2024-09-28 18:23:09 -03:00
Sasha Szpakowski ef252b7d0f vulkan: possible fix for validation error when sampling an int texture 2024-09-27 19:57:44 -03:00
Sasha Szpakowski d185eb8218 vulkan: fix validation errors when generating mipmaps for a compute-writable texture. 2024-09-27 19:50:11 -03:00
Sasha Szpakowski 876625d7e3 move common shader:send texture/buffer code to platform-agnostic layer.
Fixes issues in the Metal backend when a shader using a readonly buffer is created.
2024-09-19 22:41:31 -03:00
Sasha Szpakowski 0a552ef352 mesh and spritebatch attributes reuse buffer bindings when possible. 2024-09-11 18:46:21 -03:00
Sasha Szpakowski 2c288715d4 metal: fix vertex attribute locations not being set correctly. 2024-09-08 15:08:10 -03:00
Sasha Szpakowski 247effb43b Fix vertex input check looking at builtin vertex inputs. 2024-09-07 19:22:34 -03:00
Sasha Szpakowski 50ff1e4d2b use location numbers for vertex input attributes, instead of name-based binding.
- add 'location' named field to buffer and mesh vertex format tables, replaces 'name' field.
- location numbers are expected to match 'layout (location = #)' qualifiers in vertex inputs in shader code.
- deprecate vertex inputs in shader code that don't have layout location qualifiers.
- love's default vertex attributes use location 0 for position, 1 for texcoord, and 2 for color.
- add new variants of Mesh:attachAttribute, setAttributeEnabled, and isAttributeEnabled which take location numbers instead of names.

Improves draw performance in vulkan and metal backends.
2024-09-07 18:06:03 -03:00
Sasha Szpakowski c7b4ebbc55 newShader validates overlapping vertex input locations. 2024-09-07 17:36:34 -03:00
Sasha Szpakowski cbadb06182 lower max vertex attributes from 32 to 30, some platforms don't support that many 2024-09-07 17:35:56 -03:00
Sasha Szpakowski 6c67835b6a vulkan: fix typo in error message 2024-09-07 17:35:15 -03:00
Sasha Szpakowski 26a7389a4d add internal function to pack blend state into 32 bits. 2024-09-07 17:34:10 -03:00
Sasha Szpakowski d1e58ab38b Texture:replacePixels supports CompressedImageData. 2024-08-28 21:14:15 -03:00
Sasha Szpakowski 2d606b1f0c Small performance optimization for mesh drawing. 2024-08-23 21:32:03 -03:00
Sasha Szpakowski 746aefef15 Fix readbackTexture when using a preexisting sRGB ImageData. 2024-08-21 17:19:19 -03:00
Sasha Szpakowski ccdd7897f2 fix love.window.setMode failing to set an exclusive fullscreen mode. 2024-08-18 13:08:27 -03:00
Sasha Szpakowski 654585ccc2 vulkan: don't try to enable blending with integer canvases. 2024-08-14 21:00:24 -03:00
Sasha Szpakowski 9d5828a62f metal: don't try to enable blending with integer canvases. 2024-08-14 19:15:23 -03:00
Sasha Szpakowski 8e2fc44a65 vulkan: fix texture<->buffer copying when there's an offset into the texture 2024-08-13 18:02:30 -03:00
Sasha Szpakowski ff2f57bdd4 fix msaa in love.window.getMode not updating after setMode. 2024-08-10 21:05:49 -03:00
Sasha Szpakowski 36fa78f392 workaround for nvidia shader compiler bug on very old windows drivers. 2024-08-10 11:12:27 -03:00
Sasha Szpakowski 1b8a5013a3 drawing a points mesh with the default shader doesn't cause an error. 2024-08-08 21:15:58 -03:00
Sasha Szpakowski 0ca8cb4b41 vulkan: fix negative scissors not being clamped. 2024-08-05 10:21:10 -03:00
Sasha Szpakowski ee91a87873 vulkan: fix descriptor pool sizes with arrays of samplers. 2024-08-04 15:07:23 -03:00
Sasha Szpakowski 15dfc8db0b Canonicalize getFullCommonPath paths.
Fixes getRealDirectory test.
2024-08-03 19:53:46 -03:00
Sasha Szpakowski e94b8c3d04 love.filesystem canonicalizes internal full paths where possible.
resolves #1693.
resolves #1100.
2024-08-03 19:33:55 -03:00
Sasha Szpakowski 29ae5e6273 Fix channel order when encoding EXR files.
Fixes #2070.
2024-08-03 18:04:27 -03:00
Sasha Szpakowski 31f27693bc shaders: enable validation for pixel shader inputs that are missing from the vertex shader. 2024-07-31 19:42:43 -03:00
Engineer Smith f8d86a78fc Made newDataView size optional 2024-07-29 20:28:14 +01:00
Sasha Szpakowski 9b362dbef9 vulkan: narrow layout transitions to used mips/layers in a couple situations. 2024-07-21 17:12:38 -03:00
Sasha Szpakowski 304bf8bb83 metal: fix texture memory tracking 2024-07-16 17:44:58 -03:00