Commit Graph

2911 Commits

Author SHA1 Message Date
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
Alex Szpakowski 042b0ffe31 Fix previous workaround commit... 2021-05-30 16:06:11 -03:00
Alex Szpakowski f20c637dd6 iOS: Fix simulator build 2021-05-30 16:04:37 -03:00
Alex Szpakowski aa8ed7c8c5 Revert change that added codepoint variant of Font:getWidth.
It could break code that relied on Lua's implicit conversion from numbers to strings.
2021-05-30 15:46:21 -03:00
Alex Szpakowski 17c26dc902 Fix compile error on older C++ compilers 2021-04-20 19:18:59 -03:00
Alex Szpakowski 3d3c665f3c Fix Mesh:setVertexMap.
Fixes #1686
2021-04-20 19:09:20 -03:00
Alex Szpakowski e9c58c8192 Work around certain buggy Vivante GPU drivers on Android
love2d/love-android#204
2021-04-17 15:09:21 -03:00
Alex Szpakowski 977c690fa9 Fix physics meter value persisting after love.event.quit("restart").
Fixes #1685
2021-04-11 19:53:16 -03:00
Alex Szpakowski 14cda7818f Rename internal enum 2021-04-07 20:43:22 -03:00
Alex Szpakowski 9b4aea8f17 Missed some copyright date updates 2021-04-07 20:34:24 -03:00
Alex Szpakowski 21f5ba86d3 Merge branch 'master' into 12.0-development 2021-04-07 20:33:44 -03:00
Alex Szpakowski 7b6978f052 Add Font:getKerning.
Also add a variant of Font:getWidth which accepts a codepoint number.
Fixes #1403
2021-04-05 11:22:54 -03:00
Alex Szpakowski c59c85e04c Fix Text:getWidth when the Text only contains spaces
Fixes #1555
2021-04-05 10:32:01 -03:00
Alex Szpakowski f89aabb0bb Update copyright year for 2021 2021-04-04 16:14:45 -03:00
Alex Szpakowski 1e3e4faba7 Fix the wrong type of deletion used in some internal Mesh data 2021-04-04 16:02:59 -03:00
Alex Szpakowski c991f999eb Account for different DPI scales in font fallbacks.
Fixes #1675
2021-04-04 16:01:22 -03:00
Alex Szpakowski b1b70a83db Add Joystick:set/getPlayerIndex 2021-02-15 16:08:23 -04:00
Alex Szpakowski 5e411f607f Expose new gamepad buttons from SDL 2021-02-14 16:03:36 -04:00
Alex Szpakowski 04d59274ef Merge branch 'master' into 12.0-development 2021-02-14 14:45:21 -04:00
Alex Szpakowski 1e27b1d6ed Add Joystick:getGamepadType.
Return value is "unknown", "xbox360", "xboxone", "ps3", "ps4", "ps5", "switchpro", or "virtual".
2021-02-14 14:40:45 -04:00
Miku AuahDark 22455276f6 Implement experimental fusing method.
https://github.com/love2d/love-android/issues/201#issuecomment-772628115
2021-02-06 22:10:49 +08:00
Alex Szpakowski 694d448e83 Vertex shaders can write to gl_PointSize (fixes #1603).
If a shader uses gl_PointSize then it can only be used when drawing points. If a shader doesn't use gl_PointSize then it can't be used when drawing points.

Added 'ConstantPointSize' and 'CurrentDPIScale' built-in shader uniforms.

ConstantPointSize is in DPI-scaled points, whereas gl_PointSize is in pixels, so to get the correct default behaviour a shader needs to do gl_PointSize = ConstantPointSize * CurrentDPIScale
2021-01-23 13:47:12 -04:00
Alex Szpakowski deff795908 Rename some internal buffer enums to better match what they do 2021-01-17 20:59:16 -04:00
Alex Szpakowski 2e2ebe95cd Clean up some obsolete internal graphics code 2021-01-17 16:50:44 -04:00
Alex Szpakowski 4244e01a35 More texture format support cleanup 2021-01-17 14:48:35 -04:00
Alex Szpakowski ef5a0250e9 Fix compilation on windows 2021-01-17 14:13:16 -04:00
Alex Szpakowski e2838131f2 Add love.graphics.copyBuffer. 2021-01-17 14:02:00 -04:00
Alex Szpakowski e1f40b433d Clean up some graphics enum declaration code 2021-01-16 20:51:06 -04:00
Alex Szpakowski 52238bb7d9 Add optional source data start index arg to Buffer:setArrayData
The argument list is now Buffer:setArrayData(data or table, sourceindex=1, destindex=1, count=automatically computed)

#1598
2021-01-16 20:34:27 -04:00
Alex Szpakowski 5e77944dc0 refactor texture format support internals 2021-01-16 13:09:01 -04:00
Alex Szpakowski 50ff86bd92 Graphics Buffers can be used as Shader Storage Buffers. 2021-01-10 17:53:12 -04:00