Commit Graph

5255 Commits

Author SHA1 Message Date
Sasha Szpakowski 421cfd1a5e update SPIRV-Cross 2024-01-07 21:17:43 -04:00
Sasha Szpakowski a99d5afc57 update glslang 2024-01-07 21:14:01 -04:00
Sasha Szpakowski 501c41e10f Fix compiler warning 2024-01-06 15:44:39 -04:00
Sasha Szpakowski fffb835358 tests: fix love.graphics.setDepthMode test 2024-01-06 15:36:50 -04:00
Sasha Szpakowski 131b6c51e0 graphics: fix recursion when creating a default texture. 2024-01-06 15:22:02 -04:00
Sasha Szpakowski aaab9791d5 Improve backbuffer depth buffer.
- Setting the depth buffer for the backbuffer is now done as a boolean instead of a bit depth integer, in love.conf or love.window.setMode.
- Error if depth writes are enabled when the active canvas setup or backbuffer does not have a depth buffer (now it matches stencil behaviour).
- Don't allocate a backbuffer depth-stencil buffer if they're not requested. Metal also determines the format for that buffer based on which combination of depth and stencil is requested. OpenGL still has to allocate the depth-stencil buffer for the backbuffer all the time, because changing it requires the context to be recreated.
2024-01-06 15:21:06 -04:00
Bart van Strien e08502fafa Update build dependencies 2024-01-06 13:04:19 +01:00
Bart van Strien aa14bacdc9 Remove autotools build system 2024-01-06 13:04:19 +01:00
Bart van Strien ac9ee9d3c7 Update debian package files for cmake variables
And automatically get the timestamp for the changelog too.
That does require an update to cmake 3.7, but as far as I can tell we never use a cmake version older than 3.16 (ubuntu 20.04).
2024-01-06 13:04:19 +01:00
Sasha Szpakowski 621a7547d2 metal: tweak initial internal uniform buffer size 2024-01-05 20:37:49 -04:00
Sasha Szpakowski 04462ece30 graphics: clean up some stencil code 2024-01-04 21:35:52 -04:00
Sasha Szpakowski 404b2f2c4e address VS compiler suggestion about constexpr 2024-01-04 21:35:18 -04:00
Sasha Szpakowski 9b5851e039 Move current love.graphics.setStencilMode functionality to setStencilState.
Add new higher level love.graphics.setStencilMode function.
- Add love.graphics.setStencilMode(mode [, value = 1])
- Add love.graphics.setStencilMode().
- Add mode, value = love.graphics.getStencilMode().

The possible modes are "off" (same as no parameters), "draw", and "test".
The "draw" mode disables color writes and sets the stencil state to ("replace", "always") using the given value.
The "test" mode enables color writes and sets the stencil state to ("keep", "equal") using the given value to compare to.
2024-01-04 16:23:49 -04:00
Sasha Szpakowski 77c5ea1d6b graphics: move buffer:clear error checking to high level code 2024-01-02 11:13:31 -04:00
Sasha Szpakowski af840bb2cf metal: texel buffers align their size according to device requirements 2024-01-01 16:12:24 -04:00
Sasha Szpakowski 0523aa6f8f metal: check for depth compare mode support before setting it on a texture. 2024-01-01 15:41:31 -04:00
Sasha Szpakowski 9b537ede2b Fix out of bounds memory access in Buffer:setArrayData with matrices.
Issue #1986
2023-12-31 16:32:12 -04:00
Sasha Szpakowski d7e0856dc6 tests: add basic graphics Buffer tests.
issue #1986
2023-12-31 16:06:45 -04:00
Bart van Strien d7f29c8860 Use correct library name on linux
Not libliblove.so, but liblove-12.0.so, like with autotools.
Note that no liblove.so symlink is created.
2023-12-31 13:57:51 +01:00
Bart van Strien 5c0e4d0b62 Add linux install commands to cmake 2023-12-31 13:28:09 +01:00
Bart van Strien 84982ff4ef Generate love.desktop using CMake too
Since I cannot easily change the variable used there, update the autotools codepath to insert the CMake variable.
2023-12-31 12:56:38 +01:00
Bart van Strien 0302e0f2ac Generate debian package files with cmake
Used for the ppa builds, so it's nice if they still work.
2023-12-31 12:48:40 +01:00
Bart van Strien 83f1a926bf Make OS-check for install/cpack cmake targets more explicit
Previously there was an early return, trying to match the same thing.
Making this explicit allows me to more easily add a linux version.
2023-12-31 12:36:25 +01:00
Bart van Strien e4e16e8a88 Remove unused OSX support in autotools
Probably best illustrated by the fact it's still called OSX, rather than
macOS.
2023-12-31 12:29:18 +01:00
Bart van Strien ae0f2916ed Remove dead code in configure.ac: old stb_image define 2023-12-31 12:23:29 +01:00
Sasha Szpakowski dbcdbc47d5 Add debugname field to shader options table. 2023-12-29 16:51:24 +01:00
Sasha Szpakowski 8872497561 graphics: handle default textures in high level code.
Previously each backend had to set up default textures with its own code, which needs some care for it to be robust.
2023-12-27 21:28:02 +01:00
Sasha Szpakowski e42019c59e Add buffer stats to love.graphics.getStats.
- Add 'buffers' field, to count the total number of graphics buffer objects.
- Add 'buffermemory' field, to estimate the total number of bytes of graphics memory used by all buffers.
2023-12-25 23:25:46 +01:00
Sasha Szpakowski 9c6417776f metal: remove unneeded TODO 2023-12-25 23:24:07 +01:00
Sasha Szpakowski 4631bc56fb Merge branch 'main' into 12.0-development 2023-12-25 15:39:45 +01:00
Sasha Szpakowski 8423b82dba Merge pull request #1999 from Raltyro/patch-1
Fix deprecated love.graphics.stencil function resetting stencilMode
2023-12-24 15:19:23 +01:00
Ralty 1f8e3551aa Update wrap_Graphics.lua 2023-12-24 17:28:27 +07:00
Ralty b7362200c8 Fix deprecated love.graphics.stencil resetting stencilMode 2023-12-24 17:26:58 +07:00
Sasha Szpakowski cb4cb80595 tests: fix love.math.randomNormal test consistency
also test exact values to make sure the tests cover algorithm changes
2023-12-23 23:07:31 +01:00
Sasha Szpakowski eb552dfcb6 Fix compile warning 2023-12-23 16:54:00 +01:00
Sasha Szpakowski 0be5a214dd tests: remove invalid parameter in readbackTexture calls. 2023-12-14 18:39:22 -04:00
Sasha Szpakowski cb24af7cc2 tests: add texture debug name check 2023-12-13 21:47:42 -04:00
Sasha Szpakowski b7e576efa8 tests: add some tolerance to video rewind test
It happens while the video is still playing, so the tell() query after the rewind isn't guaranteed to be 0.
2023-12-13 21:05:12 -04:00
Sasha Szpakowski 12b24c3cc7 CI: don't create compat (aka bunch-of-vc-redist-dll) windows builds. 2023-12-13 20:42:42 -04:00
Sasha Szpakowski 059cab0364 metal: implement buffer/texture debug names. 2023-12-13 20:27:58 -04:00
Sasha Szpakowski 7b899fbc17 opengl: add version checks when setting debug names. 2023-12-13 20:27:31 -04:00
Sasha Szpakowski 9b79d3a91b Merge pull request #1994 from nikeinikei/12.0-development
Implement #1992
2023-12-13 19:54:00 -04:00
niki c8da517759 don't use optional for debugName 2023-12-14 00:42:19 +01:00
niki 364b5c3b7b adjust code styling 2023-12-14 00:16:38 +01:00
niki 7a25dfa7fc add texture:getDebugName and buffer:getDebugName 2023-12-14 00:09:08 +01:00
niki 834398335d fix buffer debugname is optional 2023-12-13 16:03:22 +01:00
niki a5d7ba1589 implement #1992
add debugname to settings table for texture and buffer,
which can be used for debugging in e.g. RenderDoc.
2023-12-13 14:28:34 +01:00
Sasha Szpakowski a6ae0ae10d tests: more tolerance for sleep overshooting its time
CI machines can take a while doing some other thing during a sleep.
2023-12-12 20:16:51 -04:00
Sasha Szpakowski e6af895b01 tests: video play/pause time test waits for less time 2023-12-12 19:55:38 -04:00
Sasha Szpakowski 6715bae0c3 tests: add waitSeconds method 2023-12-12 19:53:56 -04:00