Commit Graph

5380 Commits

Author SHA1 Message Date
Sasha Szpakowski 6ac3c5f990 vulkan: fix one validation error when sending a depth-stencil texture to a shader. 2024-03-31 16:48:12 -03:00
Sasha Szpakowski f32b6bde57 vulkan: fix validation error when clearing mid-pass. 2024-03-31 13:28:46 -03:00
Sasha Szpakowski a0ca3c148e vulkan: improve handling of vertex attribute bindings. 2024-03-31 12:55:40 -03:00
Sasha Szpakowski c37257c173 tests: apply the same anisotropy fix to Image tests 2024-03-31 10:11:17 -03:00
Sasha Szpakowski 72f7a36588 tests: canvas:setFilter test doesn't fail if the system doesn't support anisotropic filtering. 2024-03-31 10:09:59 -03:00
Sasha Szpakowski c6131ff838 Merge pull request #2045 from learn-more/lua_in_vs
Add lua files to CMakeLists.txt
2024-03-30 15:05:51 -03:00
Mark Jansen 93c77a7798 Add lua files to CMakeLists.txt
This makes them show up in Visual Studio.
2024-03-30 18:03:22 +01:00
Sasha Szpakowski c764626a6a vulkan: fix shader:send with fields in an array-of-structs. 2024-03-30 12:20:52 -03:00
Sasha Szpakowski b5b6d07108 metal: fix shader:send with fields in an array-of-structs. 2024-03-30 12:03:20 -03:00
Sasha Szpakowski 4948e52013 iOS: update minimum runtime OS from 12.0 to 13.0. 2024-03-30 11:38:51 -03:00
Sasha Szpakowski fd1901b3ad Update glslang with array-of-samplers fix. 2024-03-30 11:31:33 -03:00
Sasha Szpakowski 8aac67f597 macOS: update minimum runtime OS from 10.13 to 10.15.
std::filesystem isn't supported below 10.15, and libraries like glslang and OpenAL-Soft are starting to use those APIs.
2024-03-30 11:30:15 -03:00
Sasha Szpakowski f5cfaaf30d Merge pull request #2036 from bartbes/modernize-cmake
Modernize cmake builds
2024-03-30 10:02:05 -03:00
Bart van Strien 60156347a2 Downgrade minimum cmake version to 3.16
Which matches SDL3 and ubuntu 20.04.
I checked the release notes, there were no relevant changed in 3.17 and 3.18.
2024-03-30 13:46:00 +01:00
Sasha Szpakowski 81c26e4429 Merge pull request #2046 from bartbes/lua54_to_be_closed_support
Add support for lua 5.4 to-be-closed variables
2024-03-30 09:40:39 -03:00
Bart van Strien 4b6756049b Add support for lua 5.4 to-be-closed variables
Automatically call object:release() when an object is used as a to-be-closed variable.

Since both release and __gc already handle multiple calls, this just works.
Theoretically extra actions could be added to some objects, like File calling File:close(), but it already does that in its destructor, so that should be unnecessary.
2024-03-30 13:16:21 +01:00
Sasha Szpakowski 4387935f16 Allow drawing a Mesh that has no VertexPosition attribute, if it has custom attributes. 2024-03-29 21:01:04 -03:00
Sasha Szpakowski 302da1b3af vulkan: potentially fix validation errors when creating a cubemap canvas. 2024-03-28 19:06:42 -03:00
Sasha Szpakowski b33afc4371 vulkan: love.graphics.clear fixes.
- Fix love.graphics.clear(color) when multiple canvases are active.
- Fix love.graphics.clear when an integer-format canvas is active.
2024-03-28 19:00:29 -03:00
Sasha Szpakowski d82922f774 vulkan: let the system handle device rotation for us.
We'd need to inject a whole bunch of code into user shaders (for example to rotate derivates) if we wanted to reliably handle it ourselves, which isn't viable.
2024-03-27 20:00:05 -03:00
Sasha Szpakowski 6dc2fdba35 SDL3: use synchronous window operations (for now). 2024-03-25 23:14:58 -03:00
Sasha Szpakowski 42e653b6a6 Fix cmake build... 2024-03-25 21:07:05 -03:00
Sasha Szpakowski 5ded7ed4d3 Add new (temporary) JoystickSDL3 file to build projects. 2024-03-25 21:01:05 -03:00
Sasha Szpakowski 8d360113f8 update code for some recent SDL3 renames 2024-03-25 20:55:28 -03:00
Sasha Szpakowski 2bdadf51d4 Merge branch 'main' into SDL3 2024-03-24 18:53:08 -03:00
Sasha Szpakowski 21b71d02b5 Add love.graphics.setCustomProjection.
The active projection matrix is reset when changing canvases, and when the window is resized if no canvas is active at the time.
2024-03-24 10:46:29 -03:00
Sasha Szpakowski 7bfbd647ba Make shader clip space consistent across APIs and projection matrices.
- All shaders are expected to output clip space values that are effectively y-up, with [-1, 1] z, in NDC.
- The transform to a backend's expected clip space values from the above range now happens after user vertex shader code is run, instead of inside a projection matrix.
- Projection matrices no longer need to be flipped when rendering to a canvas versus the main screen.

This means custom projection matrices might need to be altered to account for the more consistent range.
2024-03-23 22:00:02 -03:00
Sasha Szpakowski 698d305212 Remove love.graphics.setOrthoProjection and setPerspectiveProjection 2024-03-23 17:58:34 -03:00
Sasha Szpakowski 565eab4ae1 samplers use mediump instead of lowp by default in GLSL ES. 2024-03-23 09:50:48 -03:00
Sasha Szpakowski 112270ba19 tests: fix pixel coordinate test using too low precision in opengl es 2024-03-23 00:19:47 -03:00
Sasha Szpakowski 1e657ea0bf metal: fix love_ScreenSize shader variable when rendering to a non-default mipmap level of a Canvas. 2024-03-22 23:15:09 -03:00
Sasha Szpakowski 9aaeabd6a5 vulkan: fix love_ScreenSize shader variable when a canvas is active. 2024-03-22 23:08:34 -03:00
Sasha Szpakowski 339c1acde8 Merge pull request #2043 from ellraiser/main
testsuite updates
2024-03-22 22:02:35 -03:00
Sasha Szpakowski f1d350703a tests: another attempt at fixing the shader pixel coordinate test 2024-03-22 19:55:17 -03:00
ell 7f6ac772ef update test styling 2024-03-22 15:16:54 +00:00
ell 24d84418c7 testsuite updates
- added some additional checks to check for lua version/jit enabled for use with other repos (namely love potion)
- updated HTML report CSS to group each image compare and fix pixel rendering
- fixed not showing image checks for the 4th compareImg or more in a given test method
- fixed pixel tolerance usage crashing when looking at images on the boundary
- fixed compare img not checking the first 2 rows of pixels on the x + y
-graphic tests that fail will now show a third "difference" image to help identify what isn't matching up
2024-03-22 12:17:15 +00:00
Sasha Szpakowski 6bd08f1d93 attempt to fix graphics tests on CI 2024-03-21 22:46:42 -03:00
Sasha Szpakowski 36aa55fb84 tests: add graphics tests for y direction in canvases 2024-03-21 22:10:24 -03:00
Sasha Szpakowski 17cb64c45f vulkan: fix validation errors in love.graphics.getTextureFormats. 2024-03-21 21:43:45 -03:00
Sasha Szpakowski bbaa55f8b8 vulkan: fix validation errors in layout transitions for depth-only and stencil-only images. 2024-03-21 21:32:03 -03:00
Sasha Szpakowski 6002a03761 tests: add a test to make sure the front face is correct 2024-03-21 18:12:44 -03:00
Miku AuahDark 681d694f9d Allow LuaJIT to be used on Windows ARM64. 2024-03-21 11:24:51 +08:00
Sasha Szpakowski 95796caa06 improve performance of love.graphics.draw's Lua binding code. 2024-03-20 18:36:59 -03:00
Sasha Szpakowski c55563f8b3 Merge pull request #2041 from ellraiser/main
test suite updates
2024-03-20 12:43:50 -03:00
ell 71f379e268 update isOS method 2024-03-20 09:49:18 +00:00
ell 7f4adc0ffe small update
changed tests so that all assert failures are logged rather than just the first assert that failed, added isOS() to the test method class to be used in tests directly, updated test readme on a couple bits and added newTexture basic check
2024-03-19 18:05:06 +00:00
Miku AuahDark 9eacd483c6 Android: Fixed assets/game.love fusing not being recognized.
Fixes love2d/love-android#267.
2024-03-19 22:24:45 +08:00
Sasha Szpakowski 4d1865fe1a opengl: attempt to fix the Android workaround for r8 pixel format support. 2024-03-17 13:54:40 -03:00
Sasha Szpakowski 60911c5181 vulkan: remove some newly dead code 2024-03-17 00:01:10 -03:00
Sasha Szpakowski 48aefd91fa vulkan: captureScreenshot improvements.
- Don't create several persistent screen-sized images and buffers for screenshots, only create one temporary buffer during a frame that requests a screenshot.
- Attempt to handle more out-of-memory situations.
- Make sure the final screenshot is opaque.
- Swap R and B channels in the screenshot ImageData when the backbuffer is BGRA.
2024-03-16 23:51:40 -03:00