Commit Graph

3162 Commits

Author SHA1 Message Date
Alex Szpakowski 888051d01e Potential very hacky workaround for arm64 JIT allocation issues.
Try to reserve blocks of executable memory before external library code claims the address space. LuaJIT on arm64 currently has a very limited range of memory it can use for JIT code.
2021-11-12 21:58:49 -04:00
Alex Szpakowski a3ff9999d1 Disallow mat3 formats in shader storage buffers.
GLSL's std430 layout rules make it really unintuitive for users to deal with.
2021-11-06 18:30:08 -03:00
Alex Szpakowski 5c98cbdabd Fix Shader:send with storage buffers when the shader uses more than 1. 2021-11-06 17:03:54 -03:00
Alex Szpakowski fb77e64f61 Allow plain arrays of a base type as shader buffer block declarations. 2021-11-06 16:42:41 -03:00
Alex Szpakowski 68977ec311 Fix alignment of storage buffers with vec3 or mat3 components. 2021-11-06 11:17:23 -03:00
Alex Szpakowski 041aa2fc23 Revert Shader:send to cause a Lua error instead of returning false,
if the given variable doesn't exist or is optimized out in the shader.
2021-11-06 10:43:43 -03:00
Alex Szpakowski b916c0ad92 Fix error message when sending buffers to unused variables 2021-11-06 10:41:30 -03:00
Miku AuahDark 1bb22d2e90 Set game source path when using virtual archive in Android.
This will also prevent double `love.filesystem.setSource()` call
in that case.
2021-11-05 15:22:03 +08:00
Miku AuahDark b79b99bbaa Use specialized logic when loading C modules in Android. 2021-11-02 17:54:13 +08:00
Semyon Yentsov a57d207a57 Fix bug #1707 2021-11-01 01:37:18 +03:00
Alex Szpakowski e258601bb5 Fix the save dir not being created if appdata/LOVE/ doesn't exist. 2021-10-21 13:46:42 -03:00
Alex Szpakowski 8a48f1b733 Merge branch 'main' into 12.0-development 2021-10-19 21:50:19 -03:00
Alex Szpakowski e27a71f798 Move boot.lua to src/modules/love/ with raw string literal format.
Split it up into 3 files to keep under VS2013's raw string literal character limit.
Now boot.lua doesn't need a regeneration step when it's modified.
2021-10-19 21:22:26 -03:00
Alex Szpakowski 4574805486 Make rounded rectangles more robust.
- rx and ry parameters are set to 0 if they're negative.
- automatic points calculation doesn't cause an unnecessarily large amount of points when rx or ry are greater than half the rectangle's size.
2021-10-10 22:08:56 -03:00
Alex Szpakowski ad2de2702a Fix a missing #include causing a potential compile error 2021-10-02 15:32:07 -03:00
Alex Szpakowski 4a579bf2a7 Merge pull request #1730 from zombrodo/fix/1721-printf-wrap
Fix #1721: floor result of scaling kerning based on dpi
2021-09-24 23:01:51 -03:00
Miku AuahDark 75a3e5db01 Fix VS2013 compilation of a066e18. 2021-09-25 08:17:41 +08:00
Miku AuahDark de368ade4a Break OggDemuxer::readPage loop on EOF. 2021-09-21 22:52:50 +08:00
Miku AuahDark ae300d9b11 Revert "Enable JIT in Android"
This reverts commit b092347823.
2021-09-16 22:26:54 +08:00
Miku AuahDark a066e18aa6 Register custom Lua PANIC handler that shows message box.
Some users complained that LOVE simply closes when it reaches
certain memory limit. Note that this is not a foolproof solution.
See the comments.

The real fix for this is to switch LuaJIT to GC64 mode on x64.
2021-09-15 23:22:32 +08:00
Alex Szpakowski 7851124260 metal: work on storage buffers 2021-09-05 13:18:10 -03:00
Alex Szpakowski f4a694c266 Merge branch 'master' into 12.0-development 2021-09-05 13:03:46 -03:00
Alex Szpakowski 16ebaea390 Fix DXT1 textures which use 1 bit alpha-cutout.
Note that premultiplied alpha blending must be used with DXT1 alpha cutout textures if linear filtering is used, otherwise transparent black pixels will be blended with opaque non-black pixels resulting in dark fringes.
2021-09-05 12:55:32 -03:00
Jack Robinson bfca659e37 Fix #1721: floor result of scaling kerning based on dpi 2021-08-31 21:22:06 +12:00
Alex Szpakowski 7038c66ab2 Hook up missing reflection data for writable textures in compute 2021-08-23 16:53:55 -03:00
Miku AuahDark 216d5ca4b2 Fix love.displayrotated passes boolean instead of string
Fixes #1722
2021-08-21 14:31:44 +08:00
Alex Szpakowski 63e3bd1823 use 'thread' and 'threadgroup' terminology in compute shader code.
Also fix compute shaders including some rendering-specific code.
2021-08-14 20:42:46 -03:00
Alex Szpakowski 601d4e120d don't need memory barriers for readonly storage textures. 2021-08-13 18:13:45 -03:00
Alex Szpakowski a551fcd492 Initial support for writing to textures in compute shaders. 2021-08-13 14:43:03 -03:00
Alex Szpakowski cffd485976 Allow rendering to integer textures. 2021-08-12 17:43:33 -03:00
Alex Szpakowski 48b3a4e860 Initial support for integer format textures.
They can't be rendered to and ImageData can't use the formats, for now.
2021-08-12 16:38:54 -03:00
Alex Szpakowski 4caeb27047 Slightly less heavy-handed compute memory barrier implementation.
Also validate whether there are any unbound writable resources when dispatching compute shader work.
2021-08-11 18:41:38 -03:00
Alex Szpakowski 1cf8f1192c vertex format table in newMesh uses the same fields as newBuffer.
Deprecate (but don't remove) the old {name, type, elementcount} vertex format style. The new style is {name=attributename, format=dataformat}.
2021-08-02 16:11:58 -03:00
Alex Szpakowski 92d0d1d60f love.graphics.validateShader no longer errors if the system doesn't support the shader 2021-07-18 14:09:28 -03:00
Alex Szpakowski 00494ec3b5 Error if image load/store is used since it's not supported yet. 2021-07-18 13:38:10 -03:00
Alex Szpakowski b644d00bf7 Add a more specific error message when compute shaders aren't supported
It already correctly errored, but the message was generic enough (GLSL 4 support) that it might be confusing.
2021-07-18 13:18:43 -03:00
Alex Szpakowski 80f051b97d Merge pull request #1715 from bjornbytes/compute-shaders
Compute Shaders
2021-07-18 13:09:48 -03:00
bjorn dc5f68e709 World's worst sync; 2021-07-17 20:02:04 -07:00
bjorn 9ae529b325 Flush batched draws before dispatching compute; 2021-07-17 19:58:14 -07:00
bjorn 13a10ac482 love.graphics.newComputeShader; 2021-07-17 19:58:11 -07:00
bjorn b28e61d00d Shader:getLocalThreadgroupSize; 2021-07-17 19:54:54 -07:00
bjorn 25fbf1d8ce love.graphics.dispatchThreadgroups; 2021-07-17 19:49:53 -07:00
bjorn 085ba2cb6e Add compute ShaderStage; 2021-07-17 19:46:05 -07:00
bjorn a1c79c45d8 Shader:hasStage; 2021-07-17 19:38:46 -07:00
bjorn f6559ce49e Add threadgroups{x,y,z} SystemLimits; 2021-07-17 19:38:45 -07:00
Alex Szpakowski d6dfa7412c Merge pull request #1713 from bjornbytes/fix-default-shader-storage-buffer
Fix default shader storage buffer initialization;
2021-07-01 21:52:41 -03:00
bjorn bbb4cd66be Fix default shader storage buffer initialization; 2021-07-01 17:22:03 -07:00
Alex Szpakowski 5ef1709c02 Expose love.markDeprecated.
Arguments are (level, name, apitype, deprecationtype [, replacementname]). Call it inside a function.
2021-06-06 18:16:56 -03:00
Alex Szpakowski 433190d1df Merge branch 'master' into 12.0-development 2021-06-06 11:43:54 -03:00
Alex Szpakowski d419795a28 Expand stb_image thread-local workaround to apply to iOS devices 2021-05-30 21:12:45 -03:00