Commit Graph

2930 Commits

Author SHA1 Message Date
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
Alex Szpakowski 633d2fa5c8 Merge branch 'master' into 12.0-development 2021-01-06 21:49:34 -04:00
Alex Szpakowski 32a7d41df8 Merge branch '12.0-development' into filesystem 2021-01-01 19:42:20 -04:00
Alex Szpakowski cf67e97290 Fix another windows compile error 2021-01-01 16:41:39 -04:00
Alex Szpakowski 6e6292ccb2 Fix a potential compile error on Windows 2021-01-01 16:32:34 -04:00
Alex Szpakowski f151190548 filesystem restructure work.
Add mount/unmountCommonPath, mount/unmountFullPath, getFullCommonPath.

Reimplement identity and save directory code in terms of new commonpath code.

Add internal createRealDirectory function (not exposed, currently).
2021-01-01 16:29:40 -04:00
Miku AuahDark 61580c7a0d Update src/modules/filesystem/DroppedFile.cpp
as suggested

Co-authored-by: Qais Patankar <qaisjp@gmail.com>
2021-01-01 20:48:15 +08:00
Miku AuahDark 781acf5c4d Support for >2GB DroppedFile in desktops. 2020-12-31 16:48:42 +08:00
Alex Szpakowski f61a650a87 Add 'readonly' field to love.filesystem.getInfo's returned table 2020-12-31 00:06:41 -04:00
Miku AuahDark 7524677d4c Don't use feof to check for end-of-file in DroppedFile.
Fixes #1551

Apparently `feof` is only set when `fread(..., size, count, ...) < size * count` happends,
however we actually have code that automatically adjust amount of bytes to read
(and at "eof" it really happends to be 0) so fread is never able to set the EOF flag.
2020-12-31 10:32:05 +08:00
Alex Szpakowski 0ec7ea73de Improve error message slightly 2020-12-30 11:46:00 -04:00
Qais Patankar 562cc6b1cb Fix #1614: add Body:getLocalPoints 2020-12-30 04:27:48 +00:00
Alex Szpakowski 2fb88cb4a5 Remove some obsolete code 2020-12-27 19:52:27 -04:00
Alex Szpakowski 2a5a90ccef Add 'vertexmain' and 'pixelmain' shader entry points.
These are low level 'raw' entry points which don't declare any inputs or outputs themselves. They require GLSL 3 to use.
2020-12-27 19:17:47 -04:00
Alex Szpakowski 801bc4b5d4 Merge branch '12.0-development' into filesystem 2020-12-27 14:22:38 -04:00
Alex Szpakowski 65bfeedd4e Merge branch 'master' into 12.0-development 2020-12-26 22:48:08 -04:00
Alex Szpakowski 95ab4054ff Fix a freeze on Intel drivers when using mipmapped Canvases
Fixes #1585

Also disallow generateMipmaps on depth/stencil canvases because it's not really supported.
2020-12-26 16:37:37 -04:00
Alex Szpakowski 4f730e930b Potential workaround for driver bug related to canvas mipmaps 2020-12-25 16:13:29 -04:00
Miku AuahDark 9c4db00e94 Android: Fix changing orientation with t.window.fullscreen = true
Fixes love2d/love-android#196
2020-12-25 21:45:32 +08:00
Alex Szpakowski fe23c16198 Disable gamma correction on Windows + Intel HD 2/3000 / Intel HD Graphics
It's completely broken there. Closes #1592
2020-12-24 20:31:33 -04:00
Alex Szpakowski 9e460ba53e Fix explicit window position not being restored in some cases when exiting fullscreen
Fixes #1426
2020-12-24 12:29:00 -04:00
Alex Szpakowski 48a13d443b Fix validating glsl1 shaders using array textures on GLES3 2020-12-23 20:42:12 -04:00
Alex Szpakowski d357ceb191 Merge pull request #1648 from xordspar0/tegra-3-bug
Work around Ouya driver bug related to texture array support
2020-12-23 20:13:41 -04:00
Alex Szpakowski f3afdee70a Keep math.mod and string.gfind when LuaJIT 2.1 is used
Code written assuming LuaJIT 2.0 is being used might rely on them, even though they're deprecated (and removed in LuaJIT 2.1).
2020-12-23 12:58:26 -04:00
Alex Szpakowski b7400892a4 Merge branch 'master' into 12.0-development 2020-12-22 19:35:06 -04:00
Alex Szpakowski 1f9d98263d Refactor Buffer internals.
Allows buffers created with love.graphics.newBuffer to only allocate VRAM data. Previously they had a copy of their contents in RAM.
Also makes it easier to implement Buffers in other graphics APIs and to implement more types of Buffers in the future.
2020-12-22 19:23:02 -04:00
Alex Szpakowski a1861a8ff4 Don't allow calling Texture:generateMipmaps on depth/stencil textures 2020-12-21 13:36:29 -04:00
Alex Szpakowski 73c79d1b73 Merge pull request #1646 from cigumo/ios-audio-interruption-handling
adds iOS audio interruption handling and recovery
2020-12-18 22:53:02 -04:00
Miku AuahDark 81272ba5b5 Only use pinned memory on AMD GPUs.
As per in Discord, for some reason Intel driver in Linux(?) expose
pinned memory extension and causes driver crash in one test case.
2020-12-15 10:25:38 +08:00
Jordan Christiansen 0fd53e2e3d Disable GL_EXT_texture_array on OpenGL ES 2.0
The Nvidia Tegra 3 driver for Android (used by Ouya) erroneously claims
to support the desktop-oriented GL_EXT_texture_array extension. On
desktop GPUs using (non ES) OpenGL, the glTexImage3D and similar
functions are always present, and the GL_EXT_texture_array extension
simply adds support for texture arrays to those functions. On OpenGL ES
2.0, those functions do not exist, and GL_OES_texture_3D is required to
define them.

Calling glTexImage3D on the Tegra 3 causes a segfault. This change works
around the issue by manually setting GLAD_EXT_texture_array to 0 on
OpenGL ES 2.0 systems, which causes LÖVE to avoid codepaths that assume
that the 3D texture functions are available. It doesn't make sense for
any OpenGL ES 2.0 GPU to claim support for GL_EXT_texture_array.

Fixes #1647
2020-12-09 19:54:36 -06:00
cigumo 74edaf8fba adds iOS audio interruption handling and recovery 2020-12-08 23:13:52 -03:00
Alex Szpakowski fc2cf602f6 Fix RopeJoints not working. 2020-11-12 23:46:49 -04:00