Sasha Szpakowski
b48d81d976
rename love.graphics.setCustomProjection to setProjection.
2024-03-31 21:12:01 -03:00
Sasha Szpakowski
44a6a81641
vulkan: improve depth/stencil texture support.
2024-03-31 17:56:36 -03:00
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
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
fd1901b3ad
Update glslang with array-of-samplers fix.
2024-03-30 11:31:33 -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
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
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
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
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
95796caa06
improve performance of love.graphics.draw's Lua binding code.
2024-03-20 18:36:59 -03: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
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
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
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
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
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