Sasha Szpakowski
e47acd766d
Show a popup error if love.window loads but love.graphics does not.
...
Also include backend-specific errors in graphics initalization error messages.
Improves visibility of errors related to vulkan/metal/opengl initialization.
Related to #2335 .
2026-07-12 11:01:02 -03:00
Sasha Szpakowski
540e681454
vulkan: fix validation errors when VK_EXT_full_screen_exclusive is used
2026-07-05 11:11:19 -03:00
Sasha Szpakowski
4758d54af6
vulkan: handle swap chain surface loss errors.
2026-07-05 10:50:22 -03:00
Sasha Szpakowski
fc98c7d2e1
android: attempt to use vulkan by default when vulkan 1.1+ is supported.
2026-06-28 19:15:40 -03:00
Sasha Szpakowski
84fe074d06
vulkan+windows: tell the driver we don't want exclusive fullscreen, when in desktop-fullscreen mode.
2026-06-21 21:32:35 -03:00
Sasha Szpakowski
142ce87335
graphics: improve setScissor's handling of fractional DPI-scaled coordinates.
2026-06-21 14:58:22 -03:00
Sasha Szpakowski
2f8c88c218
vulkan: explicitly specify triple-buffering instead of minBuffers+1.
2026-06-14 21:28:35 -03:00
Sasha Szpakowski
8884fb3f10
graphics: clean up some shared backbuffer settings code.
2026-06-14 19:31:40 -03:00
Sasha Szpakowski
6b144d3494
vulkan: add more detail to some error messages
2026-06-14 16:48:34 -03:00
Sasha Szpakowski
999a23c65a
vulkan: attempt to work around swapchain bug in older Linux drivers when going fullscreen
...
fixes #2244
2026-04-16 20:53:54 -03:00
Sasha Szpakowski
4d25b8c97a
vulkan: fix initialization if love.graphics is loaded before love.window.
2026-03-31 20:21:14 -03:00
Sasha Szpakowski
9d3b1c7c73
Merge pull request #2297 from nikeinikei/validation_fix
...
fix validation warnings relating to swapchain
2026-03-28 16:11:57 -03:00
Sasha Szpakowski
ab8dfaa1da
vulkan: fix graphics state after a texture/buffer readback.
...
Fixes #2296 .
2026-03-23 18:39:50 -03:00
niki
1a1265d646
fix validation warnings relating to swapchain
...
for more information: https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html
2026-03-23 22:38:14 +01:00
John Doe
fc5eeb11a3
Fix copyright notice date
2026-01-21 18:49:11 +00:00
Sasha Szpakowski
e5055d3cc2
vulkan: fix graphics state if readbackBuffer is called while a canvas is active.
2025-08-01 21:25:38 -03:00
John Doe
6f08eb94c6
Update copyright notice with correct year
2025-07-12 23:19:22 +01:00
Sasha Szpakowski
ae2e68f414
vulkan: populate oldSwapchain field during swap chain creation. Also fix crash if window is already closed, when quitting.
...
Fixes #2174
2025-04-07 20:56:22 -03:00
Sasha Szpakowski
bda679d629
vulkan: fix extra redundant swapchain recreation happening on resize.
2025-02-02 17:05:48 -04:00
Sasha Szpakowski
0e5133e1f7
vulkan: prefer native drivers over vulkan-on-d3d12.
2025-02-02 11:13:09 -04:00
Sasha Szpakowski
cc88b94ac4
vulkan: pick the first device with the highest score when multiple have the same score.
2025-02-02 10:57:22 -04:00
Sasha Szpakowski
25a2753b72
vulkan: fix 1 frame delay of backbuffer resize
...
Fixes #2128 .
2025-02-01 17:08:33 -04:00
Sasha Szpakowski
92e79ab609
vulkan: reduce memory usage when many shaders are being used with many draw calls.
...
Descriptor pools are now shared among shaders that have the same descriptor counts, instead of being unique per shader.
2025-01-26 14:45:51 -04:00
Sasha Szpakowski
dd3ebae7a1
vulkan: don't try to enable anisotropic filtering if anisotropy is 1.
2025-01-25 12:50:57 -04:00
Sasha Szpakowski
324b0f831b
vulkan: improve error messages
2025-01-25 12:11:58 -04:00
Sasha Szpakowski
add3fe3418
vulkan: only debug print that initialization failed if graphics debug mode is enabled.
2025-01-11 14:55:46 -04:00
Sasha Szpakowski
652b012b02
vulkan: improve module initialization code to exit to other backends if there's a device but it's not suitable for love.
...
Disallow software rendering (CPU devices) with vulkan by default. The environment variable LOVE_GRAPHICS_VULKAN_ALLOW_SOFTWARE can be set to 1 to override that behaviour.
2025-01-11 14:55:23 -04:00
Sasha Szpakowski
f0a7a19ebc
vulkan: fix crash on quit if no window has been created.
2025-01-04 16:19:30 -04:00
Sasha Szpakowski
aa79ed1ad1
Fix typo
2024-12-20 23:45:31 -04:00
Sasha Szpakowski
b87aed937c
vulkan: clean up framebuffers when textures they reference are deleted
...
Fixes corruption/crashing in some situations if a new texture's image view has the same pointer as a previously deleted texture's image view.
2024-12-20 23:37:06 -04:00
Sasha Szpakowski
da365e2ab9
Add t.graphics.lowpower = true/false love.conf option (defaults to false).
...
Add love.graphics.isLowPowerPreferred.
It's currently hooked up in the vulkan backend.
#2127
2024-12-20 21:02:20 -04:00
Sasha Szpakowski
fe4fc84659
vulkan: implement MSAA textures.
2024-12-01 14:23:13 -04:00
Sasha Szpakowski
d73036f44d
vulkan: safer cleanup on shutdown
2024-10-20 14:35:23 -03:00
Sasha Szpakowski
337d8fa048
remove source code support for SDL2
2024-10-18 20:22:26 -03:00
Sasha Szpakowski
5383390937
vulkan: fix initialization when SDL3 is used
2024-10-11 18:59:32 -03:00
Sasha Szpakowski
28393cdfd5
Fix compilation on Windows when SDL3 is used
2024-10-06 20:27:59 -03:00
Sasha Szpakowski
e986160431
Use SDL3-compatible SDL includes when SDL3 headers are available
2024-10-06 20:27:28 -03:00
Sasha Szpakowski
eeec2429e2
vulkan: use subpass dependencies for layout transitions when switching canvases.
2024-09-30 23:04:58 -03:00
Sasha Szpakowski
3a6833ffb5
fix compile error
2024-09-30 20:15:11 -03:00
Sasha Szpakowski
1ee89154c0
vulkan: memory barrier after compute dispatches.
2024-09-30 19:58:45 -03:00
Sasha Szpakowski
8e6efac595
vulkan: fix a crash when the window has no depth or stencil.
2024-09-28 18:30:26 -03:00
Sasha Szpakowski
50ff1e4d2b
use location numbers for vertex input attributes, instead of name-based binding.
...
- add 'location' named field to buffer and mesh vertex format tables, replaces 'name' field.
- location numbers are expected to match 'layout (location = #)' qualifiers in vertex inputs in shader code.
- deprecate vertex inputs in shader code that don't have layout location qualifiers.
- love's default vertex attributes use location 0 for position, 1 for texcoord, and 2 for color.
- add new variants of Mesh:attachAttribute, setAttributeEnabled, and isAttributeEnabled which take location numbers instead of names.
Improves draw performance in vulkan and metal backends.
2024-09-07 18:06:03 -03:00
Sasha Szpakowski
654585ccc2
vulkan: don't try to enable blending with integer canvases.
2024-08-14 21:00:24 -03:00
Sasha Szpakowski
0ca8cb4b41
vulkan: fix negative scissors not being clamped.
2024-08-05 10:21:10 -03:00
Sasha Szpakowski
6acdd5f01f
vulkan: fix depth texture compare mode setting.
2024-07-11 21:29:58 -03:00
Sasha Szpakowski
9f18595559
vulkan: reduce memory use in some situations
2024-06-28 21:53:03 -03:00
Sasha Szpakowski
b16e1d6e27
vulkan: don't periodically clean up render pass objects.
...
It's not needed.
2024-06-24 18:41:52 -03:00
Sasha Szpakowski
35f20eb053
vulkan: move cached PSO ownership to shaders.
...
Fixes issues with state corruption when a shader is created with the same memory address as a recently deleted shader.
2024-06-24 18:31:34 -03:00
Sasha Szpakowski
10c435cfc9
vulkan: fix a crash in setCanvas.
2024-06-22 21:05:37 -03:00
Sasha Szpakowski
54a31ec615
Minimum required opengl version is now OpenGL 3.3 / OpenGL ES 3.0.
2024-06-19 18:08:09 -03:00