1
0
Fork 0
Commit Graph

4311 Commits

Author SHA1 Message Date
Thaddeus Crews 15a5a2f309
Merge pull request #103766 from BlueCube3310/basisu-hdr-astc
BasisUniversal: Ensure ASTC's HDR variant is supported when transcoding
2025-03-12 10:31:49 -05:00
Thaddeus Crews c19244c7ed
Merge pull request #103878 from mooflu/blur_91717
Fix gles3 gaussian_blur mipmap setup.
2025-03-11 19:54:45 -05:00
Thaddeus Crews d8b48b022a
Merge pull request #101932 from BlueCube3310/web-astc
WebGL: Support native ASTC compression when available
2025-03-11 16:53:49 -05:00
Frank Becker e9bbe6fc78 Fix gles3 gaussian_blur mipmap setup.
Extend max level to include i for writing and so fb is complete and avoid resulting errors like:
"Framebuffer is incomplete: Attachment level is not in the [base level, max level] range".
2025-03-11 14:47:04 -07:00
Thaddeus Crews e9e4760335
Merge pull request #83538 from bruvzg/size_and_at
[FileAccess] Implement `get_size` and `get_access_time` methods.
2025-03-11 14:00:58 -05:00
Thaddeus Crews a77a28c029
Merge pull request #101971 from clayjohn/sky-light-size-fix
Pass angular diameter into light size constants for sky shaders.
2025-03-11 09:35:09 -05:00
Thaddeus Crews 56a710999e
Merge pull request #103404 from devloglogan/suppress-opengl-debug-marker
Suppress OpenGL debug marker printing
2025-03-11 09:34:55 -05:00
Thaddeus Crews 8d1c1c5867
Merge pull request #92476 from AThousandShips/string_remove_char
Add `String::remove_char(s)` methods for performance and convenience
2025-03-10 10:01:04 -05:00
Thaddeus Crews a5acf1dc81
Merge pull request #101174 from Repiteo/style/objc-import-syntax
Style: Standardize Obj-C `#import` syntax
2025-03-10 10:01:02 -05:00
A Thousand Ships 331a43a9d8
Add `String::remove_char(s)` methods for performance and convenience 2025-03-10 13:19:28 +01:00
bruvzg 85d3be8070
[FileAccess] Implement `get_size` and `get_access_time` methods. 2025-03-09 16:07:00 +02:00
A Thousand Ships 466590d0ec
Use `get_slicec` instead of `get_slice` for single character splitters 2025-03-08 20:36:37 +01:00
Thaddeus Crews 713a1ba554
Style: Standardize Obj-C `#import` syntax 2025-03-08 09:28:34 -06:00
Thaddeus Crews 324512e11c
Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 -06:00
Thaddeus Crews 3c43508ed7
Merge pull request #102427 from AThousandShips/fix_substr
Clean up some uses of `String::substr`
2025-03-07 15:12:33 -06:00
Thaddeus Crews c937b6d180
Merge pull request #102419 from Ivorforce/std-size
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 -06:00
Thaddeus Crews 6ab1472fc7
Merge pull request #103730 from darksylinc/matias-vma-regression
Fix incorrect parameters passed to VMA
2025-03-07 12:06:27 -06:00
BlueCube3310 fba6e6f932 WebGL: Support native ASTC compression when available 2025-03-07 15:41:59 +01:00
BlueCube3310 4d46ef8e8e BasisUniversal: Ensure ASTC's HDR variant is supported when transcoding 2025-03-07 15:26:03 +01:00
A Thousand Ships 5113022dfe
Clean up some uses of `String::substr`
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
Matias N. Goldberg c543c5615c Fix incorrect parameters passed to VMA
If the allocation is small enough that it enters the

if (p_size <= SMALL_ALLOCATION_MAX_SIZE) {} block, Godot would call
vmaFindMemoryTypeIndexForBufferInfo with the wrong parameters.

This can cause vmaFindMemoryTypeIndexForBufferInfo to potentially
misbehave on some cards or drivers.

Fixes regression introduced in #102830
Might potentially reopen #101850 (I doubt it, but it's possible)

Must be backported to 4.4
2025-03-06 19:56:52 -03:00
Thaddeus Crews ec5e096388
Merge pull request #103645 from stuartcarnie/fix_101696_pt_2
Metal: Use `p_set_index` when binding uniforms, to use correct data
2025-03-06 16:36:12 -06:00
Thaddeus Crews 178566a439
Merge pull request #103661 from Grublady/nin_abxy
Swap Nintendo face buttons on macOS
2025-03-06 16:36:09 -06:00
Thaddeus Crews 4bafafaeb3
Merge pull request #102777 from darksylinc/matias-astc-hdr
Add ASTC HDR format variants
2025-03-06 16:36:06 -06:00
Grublady cdcee78fcb Swap Nintendo face buttons on macOS 2025-03-05 18:50:52 -05:00
Stuart Carnie a4fb68f43e Metal: Use `p_set_index` when binding uniforms, to use correct data 2025-03-06 06:29:49 +11:00
Thaddeus Crews 59d75a704e
Merge pull request #103613 from stuartcarnie/fix_101696
Metal: Use uniform set index passed by `RenderingDevice`
2025-03-05 12:08:11 -06:00
Thaddeus Crews 7dc6b38699
Merge pull request #103622 from bruvzg/lock_file_time
[Windows] Fix `get_modified_time` on locked files.
2025-03-05 12:08:07 -06:00
Thaddeus Crews aef8ed2901
Merge pull request #87388 from clayjohn/Vulkan-limit-add
Implement `LIMIT_MAX_COMPUTE_SHARED_MEMORY_SIZE` to `limit_get` in the Vulkan backend
2025-03-05 12:08:00 -06:00
Thaddeus Crews 729c4e9e88
Merge pull request #102905 from kleonc/render_info_fix_primitive_count_per_triangle_strip
Fix render info primitive count per `TRIANGLE_STRIP`
2025-03-05 12:07:47 -06:00
Pāvels Nadtočajevs 6597fa24a9 [Windows] Fix `get_modified_time` on locked files. 2025-03-05 11:40:37 +02:00
Pāvels Nadtočajevs 76e2e9f81f [Metal] Add missing stage info to shader description. 2025-03-05 09:06:06 +02:00
Stuart Carnie 2b8cb36434 Metal: Use uniform set index passed by `RenderingDevice`
This does not resolve the errors noted in #101696, as the project is
incorrectly binding incompatible uniform set descriptors, as set 0
and set 1 have a single `readonly` image and set 2 has a single
`writeonly` texture. The `RenderingDevice` is reporting the errors with
Metal, as it uses a different `_reflect_spirv`, which correctly
determines the read / write attribute. A separate PR will be required
to fix the shared `_reflect_spirv`

Helps #101696
2025-03-05 17:52:52 +11:00
clayjohn 338c12fc9a Implement LIMIT_MAX_COMPUTE_SHARED_MEMORY_SIZE to limit_get in all Rendering backends.
Also add a more helpful warning that is only displayed in dev builds to
match the D3D12 backend
2025-03-03 21:43:12 -08:00
Rémi Verschelde 59beee5860
Merge pull request #102908 from kleonc/primitive_quad_second_triangle_lighting_fix
Fix 2D quad primitive missing lighting data in GLES3 renderer
2025-03-04 01:00:30 +01:00
devloglogan 99260f3a68 Suppress OpenGL debug marker print 2025-02-28 10:08:24 -06:00
Evan Todd 87efa4d210 Fix particle jitter when scene tree is paused. 2025-02-27 08:40:40 -08:00
Stuart Carnie 5312811c4d Metal: Fix SPIR-V → MSL compilation on iOS targets 2025-02-27 10:22:39 +11:00
Stuart Carnie 818afcb327 Metal: Compile `MTLLibrary` on demand when pipeline is created
This changes the default shader loading strategy, implemented in the
Metal driver, to compile the `MTLLibrary` on demand when the pipeline
is created, which reduces cold startup time on IPHONE target OSs.

Normally, the `MTLLibrary` is compiled from Metal source asynchronously
when Godot calls
`RenderingDeviceDriverMetal::shader_create_from_bytecode`; however, this
changes this behaviour on mobile platforms to do it on demand when the
pipeline is created, as noted in #96052, Godot will ask to create
many more shaders from bytecode than are initially required. Mobile
OSs like iOS are limited to compiling to shader libraries concurrently,
which results in a significant bottleneck.

This is not the default for macOS, as it can concurrently compile many
shaders at once, resulting in faster startup times for the Godot editor.
2025-02-25 05:32:38 +11:00
Alex ee0cebeaad Fix `modified_time` on Android 2025-02-20 17:13:41 +01:00
Rémi Verschelde cd72d26518
Merge pull request #102830 from clayjohn/vma-memory-fix
Restore using VMA to create buffers and images
2025-02-17 09:47:47 +01:00
kleonc b3769129cb Fix 2D quad primitive missing lighting data in GLES3 renderer 2025-02-16 01:51:24 +01:00
kleonc b691a997a3 Fix render info primitive count per TRIANGLE_STRIP 2025-02-15 23:50:07 +01:00
Thaddeus Crews b607110ad2
Merge pull request #102792 from clayjohn/varying-crash
Validate varying count when compiling shaders
2025-02-14 08:25:39 -06:00
clayjohn d93ac5ee0c Restore using VMA to create buffers and images when we don't need to extra gpu memory tracking.
VMA handles memory allocation on certain devices better than our custom VK code, so we might as well use it

Co-authored-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
2025-02-13 17:40:42 -08:00
clayjohn 35100396e4 Validate varying count when compiling shaders
This avoids crashing on devices when a number of varyings greater than the device limit is used.

For now this accurately prints an error when compiling the shader, but the error text only pops up in the editor if the number of user varyings is above the limit.
2025-02-13 15:07:15 -08:00
Matias N. Goldberg fcd785ace2 Add ASTC HDR format variants 2025-02-13 11:45:42 -03:00
bruvzg f0ac8294cb [Windows] Add missing opened file check. 2025-02-13 11:18:46 +02:00
Pāvels Nadtočajevs d5865cb962 [Unix] Fix deleting symlinks. 2025-02-07 18:57:22 +02:00
Lukas Tenbrink e34f1f504c Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase. 2025-02-07 14:57:48 +01:00