Commit Graph

2899 Commits

Author SHA1 Message Date
Alex Szpakowski 98f8fe02a1 Merge branch '12.0-development' into metal 2021-01-14 20:33:45 -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 1eca5d0b8f metal: don't try to autogenerate depth mips, that isn't supported 2020-12-22 23:21:17 -04:00
Alex Szpakowski 47ea32781a metal: handle triangle strip draws 2020-12-22 23:06:06 -04:00
Alex Szpakowski efd76e1eac metal: fix context creation 2020-12-22 22:43:10 -04:00
Alex Szpakowski 20a92a4106 Merge branch '12.0-development' into metal 2020-12-22 22:37:17 -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
Alex Szpakowski e32935e0f6 Backport Canvas memory stats fix from 12.0.
Fixes #1642
2020-11-11 15:11:00 -04:00
Alex Szpakowski 7a18190c5c Restructure SpriteBatch internal vertex data 2020-11-03 22:12:56 -04:00
Alex Szpakowski cbde2ce76c Merge pull request #1613 from thegrb93/box2d-update
Box2d update to 2.4.1
2020-11-02 21:27:57 -04:00
Alex Szpakowski 3d2614ff2e Fix compilation when SDL < 2.0.5 is used 2020-11-02 18:20:58 -04:00
Alex Szpakowski 5031cb5f56 Images don't hold on to RAM copies of their contents anymore 2020-11-02 18:17:07 -04:00
Alex Szpakowski 316fccfe1b love.window.setMode no longer destroys and recreates the window 2020-11-02 18:08:35 -04:00
Alex Szpakowski 905e5baf06 Replace highdpi window flag with t.highdpi in love.conf 2020-11-01 21:36:15 -04:00
Alex Szpakowski f0838a4eb7 Merge branch 'master' into 12.0-development 2020-10-26 20:43:52 -03:00
Alex Szpakowski 7e0c7e3a67 Fix the default mipmap filter for textures. 2020-10-26 18:25:40 -03:00
Alex Szpakowski 99875d83b3 Fix explicit texture MSAA of 1 or 0 not being treated the same as the default 2020-10-26 17:11:50 -03:00
Alex Szpakowski e10444c21f Move Texture:generateMipmaps error handling out of backend code 2020-10-25 23:13:50 -03:00
Alex Szpakowski 442f37e0a1 Fix a potential bug in captureScreenshot on some older systems 2020-10-25 23:00:12 -03:00
Alex Szpakowski 7934ce0a66 Handle backbuffer MSAA manually in love.graphics code
Previously love would use SDL APIs to make the system (WGL etc) handle it, which meant the OpenGL context had to be recreated whenever MSAA changed.
2020-10-25 22:24:07 -03:00