Commit Graph

5380 Commits

Author SHA1 Message Date
Sasha Szpakowski 89f43ff48d tests: compare screenshot test output to a reference image, on desktops. 2024-03-16 23:11:14 -03:00
Sasha Szpakowski a3c84ba409 Merge pull request #2040 from MikuAuahDark/love-sensor-test
Add More Tests For love.sensor.
2024-03-16 12:41:04 -03:00
Miku AuahDark 6f86c195bc Test: Remove leftover love.sensor.getData calls when testing love.sensor.getName. 2024-03-16 20:47:17 +08:00
Miku AuahDark 50295fdb8a Test: Add tests for love.sensors. 2024-03-16 15:11:21 +08:00
Sasha Szpakowski f3887361e5 Merge pull request #2037 from nikeinikei/main
vk: unify local uniform buffer
2024-03-13 18:33:56 -03:00
niki 07c5c44ea3 vulkan: simplify code with alignUp 2024-03-13 22:16:33 +01:00
Sasha Szpakowski 19d714d1cc CI: enable graphics debug output (when supported) when running tests 2024-03-12 18:33:05 -03:00
Sasha Szpakowski f8859358c3 allow graphics debug output when OpenGL ES 3.2 is used. 2024-03-12 18:28:26 -03:00
Sasha Szpakowski 930053d81d opengl: ignore debug notifications when debug output is enabled. 2024-03-12 18:27:49 -03:00
Sasha Szpakowski 63aba28d18 metal: fix shader compilation when using void effect() with MRTs. 2024-03-11 19:14:25 -03:00
niki 295fb214d5 vulkan: remove unused constant and use correct sizes for mapping
the local uniform stream buffer
2024-03-11 13:47:43 +01:00
Sasha Szpakowski c91101d2e4 Fix texel buffer detection in shaders. 2024-03-10 21:24:10 -03:00
Sasha Szpakowski ff903ffef3 CI: fix path for test output 2024-03-10 16:44:56 -03:00
Sasha Szpakowski a07503c3f5 rename test parameters to be simpler.
--runAllTests is now --all
--runSpecificMethod is now --method
--runSpecificModules is now --modules
2024-03-10 15:41:31 -03:00
Sasha Szpakowski ec9fb6eb28 Improve Windows vulkan draw performance by reducing the size of a struct. 2024-03-10 14:33:29 -03:00
Sasha Szpakowski b12ecf49d8 Fix compile errors 2024-03-10 13:51:33 -03:00
Sasha Szpakowski 9e00ce0973 metal: fix uniform data corruption
The wrong buffer binding offset was being used in 2/3rds of frames.
2024-03-10 13:38:28 -03:00
Sasha Szpakowski 75fd2fa06e metal: add debug labels for internal buffers. 2024-03-10 13:08:04 -03:00
niki 54f27a8277 vulkan: unify local uniform buffer 2024-03-10 14:41:37 +01:00
Bart van Strien 89cffddb15 Build each module as its own static library
Which means everything still mostly behaves the same, except we now have
cmake targets which we can manipulate, rather than a bunch of global
variables.

For ease of use I've matched the existing variables, so love.event is
split into love_event_root and love_event_sdl, and there is a separate
(pseudo) target love_event which combines them both.

I have also simplified the windows-specific additions to liblove.
Instead of altering the variables, they now just add to the liblove
target.

Unfortunately, it does mean we lose the global include directory list,
so we need to add dependencies on a per-module basis. The upside is that
this more accurately models the dependencies. If you remove a module,
its dependencies should now automatically go unused.
2024-03-10 14:41:28 +01:00
Bart van Strien 032e30b8ef Use custom targets for dependencies
Not the most beautiful system, but provides us with a simple way to
unify megasource and non-megasource builds.

Also replaces LOVE_LUA_LIBRARY, since we now have a target to name.
2024-03-10 14:41:28 +01:00
Bart van Strien e21fd60677 Fix and simplify love_disable_warnings
It just re-implemented target_compile_options.

While I was editing it anyway, call it closer to the target definition,
so it's easier to find.
And as it turns out, after diffing, love_disable_warnings only disabled
warnings on the first target anyway, so I guess this fixes a "bug".
2024-03-10 14:41:28 +01:00
Bart van Strien 7e0cdfc5ed Simplify definition of 3rd-party libraries
They (mostly) called add_library anyway, the extra indirection of all
those variables had no real value.

For header-only libraries I've left the definitions in there, in
comments. That may not do anything, but the previous definition of
unused variables had no effect either.
2024-03-10 14:41:28 +01:00
Bart van Strien daff7ef11f Adjust OpenAL include paths to proper include paths
We add the subdirectory AL to the include paths, so our includes should be relative to that. Presumably it would previously work with the wrong paths because some other library would be there.
2024-03-10 14:41:28 +01:00
Bart van Strien 12f57109e1 Build separate love target on android too
Instead of smushing love.cpp into liblove and having an extra "codepath" for that, just build the love target as a shared library.
2024-03-10 14:41:28 +01:00
Bart van Strien fa5566e7d4 Use fixed cmake target names and set OUTPUT_NAME instead
That means we can still change the target name, while having consistent names throughout the file.
And while I'm at it, deal with the version number in the library name for linux in the same code path.
Also upgrade the variables to cache variables, so you can easily change the names. This was previously impossible because they were target names.
2024-03-10 14:41:28 +01:00
Bart van Strien 5ebb6f1c70 Determine version string earlier
So I can use it in the upcoming commits.
2024-03-10 14:41:28 +01:00
Bart van Strien cd5fc414a1 Update minimum cmake version
Not necessarily needed yet, but given our target platforms, this seems
like a sane minimum version. Also means we don't need the separate
policy settings, since the new minimum version already enables the new
behaviour.
2024-03-10 14:41:28 +01:00
Bart van Strien 718475aef6 Fix indentation in CMakeLists
Was mostly using tabs, so replace the few lines that used spaces.
2024-03-10 14:41:28 +01:00
Sasha Szpakowski b6c47cd3ec vulkan: fix typo preventing storage textures in shaders from working. 2024-03-09 16:09:26 -04:00
Sasha Szpakowski b08f35d341 vulkan: only set cubemap compatibility for array textures with >= 6 layers. 2024-03-09 16:01:26 -04:00
Sasha Szpakowski 892411a737 don't error during newShader if a buffer is unused. 2024-03-09 13:22:39 -04:00
Sasha Szpakowski 10565e9967 vulkan: improve draw performance via Shader::cmdPushDescriptorSets. 2024-03-09 13:22:15 -04:00
Sasha Szpakowski be377601f7 vulkan: shader binding mapper works with arrays of resources 2024-03-09 13:07:23 -04:00
Sasha Szpakowski 51d5773b93 vulkan: optimize vertex buffer binding code 2024-03-09 00:15:13 -04:00
Sasha Szpakowski 52f33041a5 Fix Shader:send with storage buffers. 2024-03-08 17:52:48 -04:00
Sasha Szpakowski 5f3b9574b8 Merge pull request #2034 from nikeinikei/main
Fix #2032
2024-03-08 10:50:37 -04:00
niki ca0264e906 vulkan: fix #2032
when using the low level vertexmain and pixelmain entry points
it can happen that there are no local uniforms used.
2024-03-08 13:42:05 +01:00
Sasha Szpakowski 8dae72b88e vulkan: fix shader:send(texture|buffer) not calling love.graphics.flushBatch. 2024-03-07 23:04:22 -04:00
Sasha Szpakowski c35b9cba4a vulkan: fix a potential error during draws. 2024-03-07 22:31:05 -04:00
Sasha Szpakowski 321143755f metal: clean up some shader resource binding code 2024-03-07 21:53:40 -04:00
Sasha Szpakowski ad42570cef Fix compile errors on Linux/Android 2024-03-07 21:37:21 -04:00
Sasha Szpakowski 2079f657e7 graphics: most uniform reflection is handled at a higher level instead of backend code.
Fixes boolean uniforms when Metal is used.
2024-03-07 21:24:11 -04:00
Sasha Szpakowski 99af5765fc tests: don't skip love.graphics.isActive test on vulkan 2024-03-07 21:00:45 -04:00
Sasha Szpakowski 3509e651fd Fix Texture:getWidth for texture views. 2024-03-06 14:23:18 -04:00
Sasha Szpakowski 3f25183d03 Merge pull request #2030 from ellraiser/main
small test update
2024-03-06 08:11:15 -04:00
ell c4fd14c4fd handle missing expected img for compareImg() 2024-03-06 09:41:57 +00:00
ellraiser ea215ad31c Merge branch 'love2d:main' into main 2024-03-06 09:19:02 +00:00
ell 81599fed93 small update
- removed assertPixels()
- added exportImg() to help graphics test writing (sets the "expected" image for the test)
- added "deflate" variants to love.data.compress()
2024-03-06 09:18:44 +00:00
Sasha Szpakowski 32e777c156 vulkan: fix a crash. 2024-03-05 23:03:55 -04:00