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
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
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
eb552dfcb6
Fix compile warning
2023-12-23 16:54:00 +01: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
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
8951635abc
Merge branch 'main' into 12.0-development
2023-12-02 13:40:49 -04:00
Sasha Szpakowski
696007ee39
Don't unconditionally run love.jitsetup when love is used as a library
2023-11-27 23:14:36 -04:00
Miku AuahDark
6a298a74c2
jitsetup: Also disable JIT on ARM32 platform.
2023-11-27 12:47:23 +08:00
Miku AuahDark
f4f3105ccd
Call love.jitsetup during thread initialization too.
2023-11-27 12:13:56 +08:00
Miku AuahDark
da3fdba7f4
Android: Remove calls to luaJIT_setmode.
...
Turning off JIT is now done in jitsetup.lua.
2023-11-27 11:35:37 +08:00
Sasha Szpakowski
d21c9cb6de
macOS/arm64: turn off JIT compilation by default.
2023-11-26 17:11:34 -04:00
Sasha Szpakowski
910533edda
Initial code for sending flat-array matrices to storage buffers (untested).
2023-11-24 14:12:47 -04:00
Sasha Szpakowski
69dbb15027
Fix return value of Shape:testPoint.
2023-11-22 19:43:09 -04:00
Sasha Szpakowski
20ffe94349
vulkan: fix a consistency issue with texture samplers
2023-11-15 23:15:27 -04:00
Sasha Szpakowski
17362b6844
Restore no-parameter variant of love.graphics.setColorMask.
2023-10-30 18:55:26 -03:00
Sasha Szpakowski
6aaf0b22bf
Address some compiler warnings
2023-10-21 13:55:43 -03:00
Sasha Szpakowski
5a0a6a1a27
All constructors for making a TrueType font take an optional settings table.
...
This supersedes the existing optional hinting and dpi scale parameters. The table's fields are:
{
hinting = "normal",
dpiscale = 1, -- nil will default to the current window DPI scale.
}
2023-10-20 20:19:30 -03:00
Sasha Szpakowski
8c13943f64
ImageData can track whether they're meant to be loaded into a Texture with a non-sRGB format when gamma correct rendering is enabled.
...
Fixes #1556 .
* Add ImageData/CompressedImageData:setLinear and ImageData/CompressedImageData:isLinear.
The flag is used as a hint when loading a texture from the data to determine if the format should not be treated as sRGB-encoded. The 'linear' flag in newImage overrides this.
* love.graphics.readbackTexture automatically sets the linear flag on ImageData it returns when the texture's format is linear.
This allows an ImageData generated via readback to be fed back into a new Texture and the format will match the original Canvas.
* Also clean up some image decoding code.
2023-10-14 20:48:21 -03:00
Sasha Szpakowski
2aad15c865
Fix DistanceJoint type information
2023-10-14 16:42:31 -03:00
Sasha Szpakowski
bd55100d56
metal: fix compile error
2023-10-14 15:02:28 -03:00
Sasha Szpakowski
343d192f10
Compressed texture formats have explicit sRGB variants
2023-10-14 15:01:01 -03:00
Sasha Szpakowski
9eec1754e7
opengl: fix clearing the depth buffer.
2023-10-14 10:30:51 -03:00
Sasha Szpakowski
983ea6c0e6
Remove explicit support for systems that don't support rgba8 canvases.
...
This is just a very small number of really old OpenGL ES 2 drivers.
2023-10-13 21:53:45 -03:00
Sasha Szpakowski
3865868358
Fix creating a linear rgba8 canvas when gamma correct rendering is on.
...
Fixes #1973
2023-10-13 21:41:32 -03:00
Sasha Szpakowski
37b9d7db11
Merge branch 'main' into 12.0-development
2023-10-11 22:05:55 -03:00
Sasha Szpakowski
ba693500c4
Fix love.font.newBMFontRasterizer when it's given a single file param.
2023-10-11 22:05:33 -03:00
Sasha Szpakowski
86eb6df05c
vulkan: don't hold onto ImageData references after loading an image.
...
Reduces CPU memory usage.
2023-10-09 20:22:04 -03:00
Sasha Szpakowski
90cd0be392
Merge pull request #1980 from nikeinikei/12.0-development
...
vk: correctly identify boolean uniforms
2023-10-09 16:17:16 -03:00
niki
88f6bb880e
remove debug code
2023-10-09 20:16:01 +02:00
Sasha Szpakowski
5dc7b7d05b
remove some redundant OpenGL API calls when clearing Canvases
2023-10-09 15:13:47 -03:00
Sasha Szpakowski
8958d155ab
opengl: Fix blue component of love.graphics.setColorMask
2023-10-09 15:13:03 -03:00
niki
2749209fc7
vulkan: fix crash when using wrong uniform name
2023-10-09 20:12:13 +02:00
niki
88272c6855
vulkan: correctly identify boolean uniforms
2023-10-09 20:07:32 +02:00
Sasha Szpakowski
4787d50078
opengl: fix color mask
2023-10-09 14:10:24 -03:00
Sasha Szpakowski
06569b4fed
Merge pull request #1979 from nikeinikei/12.0-development
...
vk: fix crash caused by love.window.close()
2023-10-09 13:37:30 -03:00
Sasha Szpakowski
cf26e39d1b
vulkan: potential fix for compressed textures with mipmaps
2023-10-09 13:13:37 -03:00