Alex Szpakowski
2868ede191
metal: restrict to macOS 10.15+ and iOS 13+.
2021-12-24 19:22:10 -04:00
Alex Szpakowski
620dc42292
metal: fix quad drawing on older iOS devices
2021-12-24 19:13:48 -04:00
Alex Szpakowski
a431e70179
metal: add internal compute encoder APIs
2021-12-24 18:56:21 -04:00
Alex Szpakowski
bcd64fe537
metal: implement mesh cull modes
2021-12-24 18:46:06 -04:00
Alex Szpakowski
dab174b120
metal: fix a couple compiler warnings
2021-12-24 18:04:11 -04:00
Alex Szpakowski
7eb8366b2d
metal: integer texture format support.
2021-12-24 17:50:17 -04:00
Alex Szpakowski
304b569a39
metal: tag texture formats with compute write support
2021-12-24 17:45:05 -04:00
Alex Szpakowski
7a910484c3
Fix compilation
2021-12-24 16:45:23 -04:00
Alex Szpakowski
75b2ddc3c9
Fix love.graphics.clear's alpha component.
2021-12-24 16:14:06 -04:00
Alex Szpakowski
3d8117ccbb
Merge branch '12.0-development' into metal
2021-12-24 15:35:18 -04:00
Alex Szpakowski
e63025b74f
Merge branch '12.0-development' into metal
2021-12-24 15:34:05 -04:00
Alex Szpakowski
c8038f22df
Merge branch 'main' into 12.0-development
2021-12-24 11:35:35 -04:00
Miku AuahDark
fb815edc28
Change luaL_loadbuffer chunkname with prefixes.
2021-12-12 09:23:00 +08:00
Alex Szpakowski
d0e22fb56e
Merge pull request #1739 from s-walrus/fix/font-getwrap-final-newline
...
Fix #1707 : Font:getWrap() removing final newline charancter
2021-11-20 16:43:56 -04:00
Alex Szpakowski
bd741a8c78
Fix incorrect particle offsets when Quads are used without setOffset.
...
Fixes #1741 .
2021-11-19 21:44:04 -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
Semyon Yentsov
a57d207a57
Fix bug #1707
2021-11-01 01:37:18 +03:00
Alex Szpakowski
8a48f1b733
Merge branch 'main' into 12.0-development
2021-10-19 21:50:19 -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
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
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