Rémi Verschelde
afc7398c2b
Merge pull request #104616 from ibrahn/init-cmd-q-pending-and-gles3-skymatdata
...
Fix uninitialized member vars in CommandQueueMT and RasterizerSceneGLES3
2025-03-28 17:30:37 +01:00
bruvzg
48bfe13e4f
Add methods to decode/encode multibyte encodings.
2025-03-28 17:32:34 +02:00
Malcolm Anderson
722b412b73
Fix Apple's incorrect mapping of Joy-Con (L) and Joy-Con (R) face buttons
...
Thanks, Tim Apple
2025-03-28 07:28:42 -07:00
Rémi Verschelde
5b3c732608
Merge pull request #104619 from Meorge/single-joy-con
...
Support more controllers on macOS 11+
2025-03-28 14:33:22 +01:00
Rémi Verschelde
e81eb3f1e9
Merge pull request #102354 from YYF233333/style_iterator
...
Use iterator pattern instead of manually traverse `List::Element *`
2025-03-28 14:31:40 +01:00
Rémi Verschelde
408d07109b
Merge pull request #99551 from DarioSamo/fragment-density-map
...
Implement Fragment density map support.
2025-03-28 14:31:19 +01:00
Yyf2333
22b5ec17fb
Using iterator pattern instead of List::Element *.
...
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2025-03-28 13:29:15 +08:00
Lukas Tenbrink
ffa6ef220b
Use `append_` instead of `parse_` for `String` methods.
2025-03-27 17:51:02 +01:00
Malcolm Anderson
6f3c007e3d
Support more controllers on macOS 11+
...
Fix platform availability
Make inputs accumulate, matching the `extendedGamepad` implementation
2025-03-26 21:41:51 -07:00
Ibrahn Sahir
c9352f06f7
Fix uninitialised member vars in CommandQueueMT and RasterizerSceneGLES3
2025-03-25 17:19:16 +00:00
Pāvels Nadtočajevs
d5cea9bb2e
Implement `DirAccess.is_equivalent` method.
2025-03-25 17:52:15 +02:00
Dario
76d709be74
Implement support for fragment density maps.
...
Co-Authored-By: Bastiaan Olij <mux213@gmail.com>
2025-03-24 11:50:04 -05:00
Thaddeus Crews
f09ee0171a
Style: Begin integrating simple `.clangd` fixes
2025-03-22 13:24:35 -05:00
kobewi
10f6c01b9c
Remove ABS in favor of Math::abs
2025-03-19 13:52:40 +01:00
Rémi Verschelde
3d9b05ad4a
Merge pull request #104341 from stuartcarnie/103602/metal_fix_cubemaps
...
Renderer: Fix Metal handling of cube textures; assert equal dimensions
2025-03-19 12:27:41 +01:00
Rémi Verschelde
2fa721b1bc
Merge pull request #104127 from Ivorforce/360-noclip
...
Remove `String` clipping constructors.
2025-03-19 12:27:10 +01:00
Stuart Carnie
e2066298d9
Renderer: Fix Metal handling of cube textures; assert equal dimensions
2025-03-19 11:52:59 +11:00
Pāvels Nadtočajevs
a797c7b8e2
[macOS/iOS] Ensure only one axis change event is produced during single `process_joypads()` call.
2025-03-18 14:58:14 +02:00
Lukas Tenbrink
a23f630781
Remove `String` clipping constructors.
...
Callers should instead call constructors with explicit encoding names, with known length `Span`.
2025-03-15 12:34:44 +01:00
Thaddeus Crews
c1b7865ae9
Merge pull request #103557 from aaronfranke/godot-version-defines
...
Rename version defines to `GODOT_VERSION_*` to match GDExtension godot-cpp
2025-03-13 08:57:42 -05:00
Thaddeus Crews
e2c6d860d8
Merge pull request #102302 from stuartcarnie/render_opt
...
Rendering compositor identifies `is_opengl` API; minor optimisation
2025-03-13 08:57:28 -05:00
Stuart Carnie
5e1fe8040a
rendering: compositor has `is_opengl` API; minor optimisations
2025-03-13 15:41:44 +11:00
Stuart Carnie
2123368dca
Metal: Use reference, so we're not copying every frame
2025-03-13 07:15:59 +11:00
Aaron Franke
97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp
2025-03-12 11:11:38 -07:00
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
BlueCube3310
8714b36171
Fix rendering material when UV2 is compressed
2025-02-06 20:24:46 +01:00
Rémi Verschelde
50b847992d
Merge pull request #101602 from stuartcarnie/metal_gpu_address
...
Metal: Enable GPU buffer address support
2025-02-05 11:33:50 +01:00
Thaddeus Crews
ea2770eb4f
Merge pull request #101947 from Rudolph-B/Issue-101750
...
Add Heightfield mask to GPUParticlesCollisionHeightField3D
2025-02-04 09:04:11 -06:00
Rudolph Bester
b162c59097
Fix GPUParticlesCollisionHeightField3D adding collisions excluded by its layer_mask
...
Co-authored-by: Yahia Zakaria <yahiazakaria13@gmail.com>
2025-02-04 08:02:44 +02:00
Pāvels Nadtočajevs
e6e108d091
Implement `get_length()` for pipes.
2025-02-03 16:50:00 +02:00
bruvzg
baa33d49b1
[Windows] Fix build with MinGW 8.0.0-1.
2025-01-31 20:39:31 +02:00
Chaosus
570e59df3d
Fix shader uniforms has null as default value
2025-01-31 07:35:51 +03:00
Thaddeus Crews
3ba6ac0f66
Merge pull request #102143 from MathdudeMan/shader-error
...
Fix: Mass property particle shader bug
2025-01-29 17:45:13 -06:00
Stuart Carnie
0a9cd5ede9
2D: Fix clip children and rendering artefacts
...
Fixes both GLES3 and RendererRD implementations
Closes #102147
2025-01-30 07:19:47 +11:00
MathdudeMan
964cd6525e
Fix: Mass property particle shader error
2025-01-28 21:00:26 -05:00
Thaddeus Crews
808c25f453
Merge pull request #102089 from adamscott/fix-curve-texture-web
...
Add check for float texture linear filtering support
2025-01-28 09:03:39 -06:00
Adam Scott
60913170c6
Add check for float texture linear filtering support
...
Co-authored-by: Clay John <claynjohn@gmail.com>
2025-01-27 22:12:08 -05:00
Thaddeus Crews
82199a83ce
Merge pull request #101998 from stuartcarnie/2d_buffer_overwrite
...
2D: Fix rendering artifacts when using `BackBufferCopy`.
2025-01-27 09:46:22 -06:00
Julian Todd
b5622e9f78
Initialize pa_buffer_attr.maxlength to -1
2025-01-27 07:57:57 +00:00
Stuart Carnie
2510fefebd
2D: Fix rendering artefacts when using `BackBufferCopy`.
...
Fixes both GLES3 and RendererRD implementations
2025-01-25 10:22:07 +11:00
Thaddeus Crews
802cb0fed8
Merge pull request #101909 from BlueCube3310/compat-rgtc-arr
...
WebGL2: Fix 2D array textures with RGTC compression not rendering
2025-01-24 09:05:36 -06:00
Matias N. Goldberg
c30eff5986
Fix performance regression introduced in #90993
...
PR #90993 needed to get rid of VMA_MEMORY_USAGE_AUTO_PREFER_HOST because
we no longer used vmaCreateBuffer so we could specify the allocation
callbacks.
This however resulted in the wrong memory pool being chosen, causing
signficant performance slowdown.
Indicate additional preferred flags to help VMA select the proper pool.
Fixes #101905
2025-01-24 00:08:29 -03:00
clayjohn
74989c639e
Pass angular diameter into light size constants for sky shaders.
...
This flew under the radar for so long since tan is nearly linear at small values
2025-01-23 17:32:44 -08:00
BlueCube3310
2221f6ed13
WebGL2: Fix 2D array textures with RGTC compression not rendering
2025-01-22 20:41:20 +01:00
Thaddeus Crews
604e3ab91f
Merge pull request #101730 from clayjohn/GLES3-emission-half
...
Bake UV2 emission using half float in the compatibility backend
2025-01-20 10:05:39 -06:00
Thaddeus Crews
0d4696b472
Merge pull request #101515 from allenwp/agx-negative-optimizations
...
Optimize AgX tonemapper's handling of negative values
2025-01-20 10:05:38 -06:00
Thaddeus Crews
dcf4996276
Merge pull request #101159 from brandon515/compatibility_particle_shader_fix
...
Fix inverted `GPUParticlesCollisionHeightField3D` in compatibility renderer.
2025-01-20 10:05:24 -06:00
Brandon Haley
990612040a
Implemented fix from #91219 in compatibility renderer by reversing the z
...
axis in the particle shader.
2025-01-18 13:32:10 -05:00
clayjohn
441fc1cba3
Baked UV2 emission using half float in the compatibility backend
...
The Lightmapper expects a half float image anyway, so this is both more efficient and correct
2025-01-17 16:46:31 -08:00
clayjohn
b8252196df
Avoid leaking ninepatch state to other draw commands in GLES backend
2025-01-17 10:13:04 -08:00
Stuart Carnie
01b4fd3522
Metal: enable GPU buffer address support
2025-01-16 06:10:50 +11:00
Matias N. Goldberg
7b2f1e1d09
Fix union order to simplify empty initializers
...
This is a followup to PR #101344 (commit
0e06eb80bc ).
Some of them were not an issue because Godot was initializing all
members, but they were "fixed" just in case since it could become a
problem in the future.
Valgrind was specifically complaining about HashMapData &
GlobalPipelineData.
2025-01-14 19:05:01 -03:00
Rémi Verschelde
9d2798d4aa
Merge pull request #100116 from allenwp/prevent-wasapi-error-spam
...
Prevent WASAPI error spam when device cannot be initialized.
2025-01-14 18:29:25 +01:00
Rémi Verschelde
85b066aa78
Merge pull request #99455 from Bonkahe/IndirectMultimeshImplementation
...
Add indirect draw functionality to `MultiMesh`
2025-01-14 15:05:42 +01:00
thimenesup
3d92f406b2
Implement Buffer Device Address for Rendering Device Vulkan and DirectX12
2025-01-13 22:43:29 -08:00
Rémi Verschelde
643a6f15f3
Merge pull request #101510 from scgm0/OpenGL3-renderer-supports-transparent-boot-splash
...
OpenGL3 renderer supports transparent boot splash
2025-01-14 00:22:21 +01:00
Allen Pestaluky
c5cf73a2e7
Optimize AgX tonemapper's handling of negative values
...
This change improves performance of the AgX tonemapper by allowing two matrix multiplications to be combined into one. This comes at the cost of loss of color information that could be correctly interpreted as positive RGB values in the Rec. 2020 color space. Additionally, an insignificant amount of error is intentionally introduced to the input color value to prevent the need for a second max function call before log2. The final negative color clipping has been removed to allow the tonemapper to return negative RGB values, similar to other tonemappers in Godot.
2025-01-13 17:35:35 -05:00
scgm0
b331ffa7e9
OpenGL3 renderer supports transparent boot splash
2025-01-14 05:58:59 +08:00
David House
e6daec9cf8
Added indirect drawing functionality to MultiMesh
...
Update doc/classes/RenderingServer.xml
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2025-01-13 14:51:51 -06:00
Rémi Verschelde
5877f94b65
Merge pull request #101431 from YYF233333/remote_tree_fix
...
Use `GetFileAttributesW` for checking file existence on Windows
2025-01-13 20:22:19 +01:00
Rémi Verschelde
1d3acbdd49
Merge pull request #100851 from stuartcarnie/metal_fixups
...
Metal: Fix occasional use-after-free in Metal driver
2025-01-13 20:21:52 +01:00
Rémi Verschelde
133db1fd60
Merge pull request #92089 from QbieShay/qbe/particle_seek
...
Implement particle seek request and seed options.
2025-01-13 20:21:28 +01:00
Rémi Verschelde
89f233aca3
Merge pull request #101217 from BlueCube3310/gl-uncomp-formats
...
Compatibility: Improve gl texture format detection
2025-01-12 18:07:12 +01:00
Rémi Verschelde
62a5ea69ad
Merge pull request #101406 from allenwp/fix-agx-contrast-curve
...
Fix AgX sigmoid contrast curve approximation
2025-01-11 22:30:09 +01:00
Rémi Verschelde
d83598e9b9
Merge pull request #100778 from BlueCube3310/compat-get-texture-silence
...
Compatibility: Avoid converting to compressed formats when retrieving image data
2025-01-11 22:29:44 +01:00
Stuart Carnie
9fc39ae321
Metal: Use retained references; shared pixel format code
...
Most important is a fix for an occasional crash due to a use-after-free
bug.
A number of API availability declarations were updated to include tvOS.
The code is now simplified and generic for all platforms, which makes
way for future tvOS support.
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-01-12 07:11:22 +11:00
QbieShay
e9eb0b6082
Implemented tools around particles seed randomization.
...
The purpose of this code is to expose the necessary
functions for users and engine devs to develop tooling
for properly timing and seeking inside particles.
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-11 16:31:24 +01:00
Yufeng Ying
1732888777
Don't open file in file_exists for Windows.
2025-01-11 21:23:24 +08:00
Allen Pestaluky
77ddaaaa91
Fix AgX sigmoid contrast curve approximation
...
This changes the polynomial function so that a lower input always results in a lower output and vice-versa. Additionally, the new function returns a value that is much closer to 1.0 when given an input of 1.0.
2025-01-10 18:17:38 -05:00
Rémi Verschelde
e4a12a0299
Merge pull request #101365 from Calinou/agx-compatibility-use-rd-approach
...
Fix AgX tonemapping using old approach in Compatibility rendering method
2025-01-10 23:06:19 +01:00
Rémi Verschelde
139619ca0c
Merge pull request #101355 from akien-mga/style-clang-format-InsertBraces
...
Style: Enable clang-format's `InsertBraces` config
2025-01-10 23:06:15 +01:00
Rémi Verschelde
3014eec40d
Merge pull request #99407 from devloglogan/rec-resolution
...
Allow using custom `Rect2i` for rendering with OpenXR
2025-01-10 23:05:46 +01:00
Hugo Locurcio
5ebafc350f
Fix AgX tonemapping using old approach in Compatibility rendering method
...
Its implementation now matches the one used in RenderingDevice-based
rendering methods.
2025-01-09 20:58:23 +01:00
Rémi Verschelde
03c83cea1e
Style: Enable clang-format's `InsertBraces` config
...
This was part of our style guide since we started using clang-format
but the feature was only added in clang-format 15, and we hadn't
noticed it yet.
2025-01-09 16:46:51 +01:00
devloglogan
e7f6b7ea0b
Allow using custom Rect2i for rendering with OpenXR
2025-01-09 09:46:15 -06:00
Rémi Verschelde
f68d55bcda
libpng: Update to 1.6.45
2025-01-09 15:00:02 +01:00
Rémi Verschelde
3ac4da1620
Merge pull request #101233 from Ivorforce/utf8-multicall
...
Optimize calls of `utf8` in a few spots to avoid calling it more than once.
2025-01-09 13:50:55 +01:00
Rémi Verschelde
21721ae344
Merge pull request #87260 from Calinou/tonemap-add-agx
...
Add AgX tonemapper option to Environment
2025-01-08 18:20:03 +01:00
Hugo Locurcio
084e84be78
Add AgX tonemapper option to Environment
...
Technical implementation notes:
- Moved linearization step to before the outset matrix is applied and
changed polynomial contrast curve approximation.
- This does *not* implement Blender's chroma rotation to address hue shift.
This hue rotation was found to have a significant performance impact.
- Improved performance by combining the AgX outset matrix with the Rec 2020 matrix.
Co-authored-by: Allen Pestaluky <allenpestaluky@gmail.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2025-01-08 17:01:16 +01:00
Rémi Verschelde
76c8e76560
Merge pull request #101284 from akx/tyops
...
A handful of typo fixes
2025-01-08 15:53:33 +01:00
Stuart Carnie
cd17cb0110
[macos, ios]: Refactor joypad support into shared code, numerous bugfixes
2025-01-08 07:00:23 -07:00
Aarni Koskela
f134769506
Fix various typos
...
* Add TODO notes for typos that should be fixed for 5.0
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +02:00
Lukas Tenbrink
0fddf6a824
Optimize calls of `utf8` in a few spots to avoid calling it more than once.
2025-01-07 17:24:21 +01:00
BlueCube3310
6a2cc39926
Compatibility: Improve gl texture format detection
2025-01-07 12:20:04 +01:00
Rémi Verschelde
399f585042
Merge pull request #99603 from stuartcarnie/metal_fx_upscaling
...
Metal: Add MetalFX upscaling support
2025-01-06 22:47:08 +01:00
Stuart Carnie
11dc4f2e5e
Metal: Add MetalFX upscaling support
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-01-06 06:03:18 -07:00
Ricardo Subtil
b77aa473a1
Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization
2025-01-03 10:50:15 +00:00
Rémi Verschelde
89b18de032
Merge pull request #100221 from adamscott/fix-diraccess-sync
...
[Web] Fix `DirAccess::unlink()` not updating the IDBFS
2025-01-03 02:01:16 +01:00
Rémi Verschelde
21e6671740
Merge pull request #100937 from Repiteo/style/clang-format-sync
...
Style: Enforce `AllowShortFunctionsOnASingleLine`
2025-01-03 00:49:44 +01:00
Rémi Verschelde
3936d117e4
Merge pull request #100388 from Namey5/gles3-canvas-clear-fix
...
Fix canvas background mode not clearing correctly in Compatibility renderer
2025-01-03 00:48:38 +01:00
Rémi Verschelde
72839d0085
Merge pull request #99996 from akien-mga/libpng-1.6.44
...
libpng: Update to upstream 1.6.44
2025-01-03 00:48:13 +01:00
Thaddeus Crews
e06d83860d
Style: Enforce `AllowShortFunctionsOnASingleLine`
2025-01-02 10:09:41 -06:00
Thaddeus Crews
13992bbf7b
Merge pull request #100766 from stuartcarnie/metal_crash
...
Metal: Fix crash when uniform set is empty for slot binding mode
2024-12-30 08:58:51 -06:00
Thaddeus Crews
0efced3ea5
Merge pull request #100822 from BlueCube3310/gles-hdr-astc
...
Compatibility: Fix ASTC HDR extension detection
2024-12-30 08:58:48 -06:00
Thaddeus Crews
58b48a934e
Merge pull request #100859 from StaydMcMuffin/scene-shaders-user-normal-fix
...
Fix User-supplied Normals Being Ignored
2024-12-30 08:58:47 -06:00
Stayd
40f17127ef
Fix User-supplied Normals Being Ignored
...
Moves the initialization of the geo_normal value
to after the user shader code, so that the normal
supplied by the user is actually used instead of
the interpolated vertex normal.
2024-12-27 13:01:20 -07:00
BlueCube3310
88baa2f82d
Compatibility: Fix ASTC HDR extension detection
2024-12-26 11:44:05 +01:00
Stuart Carnie
b643599749
Metal: Fix crash when uniform set is empty for slot binding mode
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-12-24 07:53:21 -07:00
BlueCube3310
636a132e45
Compatibility: Avoid converting to compressed formats when retrieving image data
2024-12-23 23:16:46 +01:00
Thaddeus Crews
3c304ab7cc
Merge pull request #96076 from AThousandShips/improve_null_check_core_drivers
...
[Core,Drivers] Improve use of `Ref.is_null/valid`
2024-12-23 11:14:58 -06:00
Yufeng Ying
33817b186f
Remove unused header in drivers and modules.
...
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2024-12-24 00:40:47 +08:00
Rémi Verschelde
f7d6924afb
Merge pull request #100677 from clayjohn/light2d-cull
...
Properly transform light rect and occluder rect to perform Light2D culling in canvas space
2024-12-22 00:10:12 +01:00
clayjohn
30801af298
Properly transform light rect and occluder rect to perform light2d culling in canvas space
2024-12-20 16:58:02 -07:00
Rémi Verschelde
87855e04ad
Merge pull request #100643 from ze2j/follow_up_of_array_mesh_surface_remove
...
Follow-up of `ArrayMesh::surface_remove` addition
2024-12-20 23:57:20 +01:00
Yufeng Ying
e88e30c273
Remove unused headers in servers.
...
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-12-20 18:51:01 +08:00
ze2j
97b093617d
Follow-up of ArrayMesh::surface_remove addition
2024-12-20 10:53:43 +01:00
Thaddeus Crews
effea567a5
Merge pull request #99820 from stuartcarnie/issue_99682
...
Metal: Add support for 2017 era iOS devices
2024-12-19 20:00:13 -06:00
Thaddeus Crews
1536e0e236
Merge pull request #100441 from StaydMcMuffin/scene-shaders-tbn-fixes
...
Scene Shaders - TBN Vector Fixes
2024-12-19 19:59:58 -06:00
Thaddeus Crews
416a86f47c
Merge pull request #100434 from Ivorforce/string-copy-from-rename
...
Rename `String::copy_from` functions to their respective encodings (`parse_latin1`, `parse_wstring`, `parse_utf32`).
2024-12-19 19:59:57 -06:00
Thaddeus Crews
b715fabd70
Merge pull request #76371 from ze2j/array_mesh_surface_remove
...
Add `ArrayMesh::surface_remove`
2024-12-19 19:59:56 -06:00
Thaddeus Crews
2fcd8223e8
Merge pull request #99538 from Geometror/lightmap-gi-transparent-surface
...
Add transparency support for LightmapGI
2024-12-19 19:59:52 -06:00
Thaddeus Crews
9300c2bdc9
Merge pull request #100400 from CrabNickolson/windows-thread-names
...
Add support for thread naming on windows platform
2024-12-19 19:59:41 -06:00
Thaddeus Crews
d3e5b62ea2
Merge pull request #99230 from paddy-exe/instance_uniforms_compatability_renderer
...
Implement 2D instance uniforms
2024-12-19 19:59:37 -06:00
Alex Threlfo
830f25010f
fix: canvas background mode not clearing correctly when using gles3 glow effect
2024-12-20 12:41:08 +11:00
Hendrik Brucker
a3525bc015
Add transparency support for LightmapGI
...
Co-authored-by: Guerro323 <kaltobattle@gmail.com>
2024-12-18 19:36:16 +01:00
Stuart Carnie
952cd796ff
Metal: Support Apple4 GPUs (2017 era iOS devices)
...
Closes #99682
2024-12-18 09:14:38 -07:00
kobewi
ceefc0d38a
Implement 2D instance shader parameters
...
Co-authored-by: kobewi <kobewi4e@gmail.com>
Co-authored-by: yesfish <huwpascoe@users.noreply.github.com>
Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
2024-12-17 23:59:16 +01:00
Rémi Verschelde
190ae9f9dc
Merge pull request #100302 from clayjohn/light2d-optimize
...
Optimize PointLight2D shadow rendering by reducing draw calls and RD state changes
2024-12-17 22:59:54 +01:00
Rémi Verschelde
7a70efc2a8
Merge pull request #100151 from alessand10/fix-dx12-command-buffer-leak
...
Fix a command buffer leak that occurs in D3D12
2024-12-17 22:59:50 +01:00
Rémi Verschelde
f08fe52d9a
Merge pull request #99963 from Faless/web/no_ip
...
[Web] Implement dummy IP and NetSocket
2024-12-17 22:59:42 +01:00
alessand10
9ea97c017b
Fix a command buffer leak that occurs in dx12
2024-12-17 14:55:39 -05:00
clayjohn
7c61252dd7
Optimize PointLight2D shadow rendering by reducing draw calls and RD state changes.
...
This dramatically reduces the CPU time spent on rendering shadows for PointLight2Ds
2024-12-17 07:41:09 -08:00
Rémi Verschelde
d60c0e21a6
Merge pull request #88313 from wagnerfs/run-time-anisotropic-filtering
...
Allow changing the anisotropic filter level at run-time per Viewport
2024-12-17 16:18:38 +01:00
Stayd
ed0e3d7da8
Scene Shaders - TBN Fixes
...
Fixes two errors related to the normal, tangent,
and bitangent vectors, namely normals not always
being inverted on backfaces, and normalization
being reversed from what MikkTSpace expects.
2024-12-16 22:36:23 -07:00
Andrew_Shobbrook
e42def12d0
Implement per-light Specular property in DirectionalLight3D
2024-12-16 19:18:18 +01:00
Lukas Tenbrink
df3e9291c6
Rename `String::copy_from` functions to their respective encodings (`parse_latin1`, `parse_wstring`, `parse_utf32`).
2024-12-15 21:46:50 +01:00
Rémi Verschelde
ffe53cba3c
Merge pull request #100374 from hpvb/fix-rendering-ubsan
...
Fix ubsan reported errors in rendering
2024-12-14 18:25:46 +01:00
Rémi Verschelde
736dcf72cc
Merge pull request #100125 from alessand10/uniform-variable-fix
...
Move uniform variables up in the `gles3/scene.glsl` template so that they are available within the `#GLOBALS` scope
2024-12-14 18:25:38 +01:00
Ramón Grill
d848835f8c
Add support for thread naming on windows platform
2024-12-14 14:42:39 +01:00
Thaddeus Crews
9ecdeb3723
Merge pull request #98747 from tetrapod00/standardize-renderer-strings
...
Standardize terms for renderers in error strings
2024-12-13 16:19:37 -06:00
Thaddeus Crews
f2c8f17906
Merge pull request #100325 from hpvb/fix-rendering-alignment
...
Fix several ubsan reported misaligned accesses
2024-12-13 16:19:20 -06:00
HP van Braam
062d74bb9c
Fix ubsan reported errors in rendering
...
This allows the TPS demo to run without an ubsan reports from any of the
rendering code.
2024-12-13 21:27:37 +01:00
HP van Braam
e674379764
Fix several ubsan reported misaligned accesses
...
These misaligned accesses are shown in all of our CI hooks. It turned
out to not be difficult to fix.
It is likely that this will improve performance for aarch64.
2024-12-13 15:32:35 +01:00
clayjohn
356fa37f89
Small fixups for the new reflection probe blending
2024-12-12 17:29:21 -08:00
Thaddeus Crews
bfc66f0608
Merge pull request #100282 from devloglogan/motion-vectors-openxr
...
Add renderer motion vectors API for use with OpenXR
2024-12-12 16:13:36 -06:00
Thaddeus Crews
7c015a768f
Merge pull request #99958 from lander-vr/reflection-probe-blend-property
...
Add Blend Distance property to ReflectionProbe
2024-12-12 16:13:32 -06:00
Thaddeus Crews
b7501d219c
Merge pull request #100322 from darksylinc/matias-tf-comment-fix
...
Fix grammar / spelling in comments
2024-12-12 16:13:25 -06:00
Matias N. Goldberg
a1b44ec7a7
Fix grammar / spelling in comments
...
Minor fixes for changes introduced in #99257 that could not be fixed in
time as the PR needed to be expedited.
2024-12-12 12:47:08 -03:00
Rémi Verschelde
562dd1ad85
Merge pull request #100305 from clayjohn/directional-light-2d-mask
...
Remove positional light mask from directional lights in Canvas Item shaders.
2024-12-12 14:10:24 +01:00
Rémi Verschelde
0e5c337453
Merge pull request #85653 from BlueCube3310/lightmap-gi-shadowmask
...
Implement LightmapGI shadowmasks
2024-12-12 14:09:30 +01:00
BlueCube3310
189c8eb671
Implement shadowmasks for LightmapGI
...
Co-authored-by: dearthdev <nathandearthdev@gmail.com>
2024-12-12 11:00:28 +01:00
clayjohn
f8827271d7
Remove positional light mask from directional lights in Canvas Item shaders.
2024-12-12 00:20:07 -08:00
Thaddeus Crews
ef3086bcdb
Merge pull request #94947 from ChrisBase/issue_94946
...
Change some image error messages to output the file path
2024-12-11 17:35:58 -06:00
devloglogan
3deb5884d7
Renderer agnostic motion vector rendering/OpenXR changes
2024-12-10 15:59:17 -06:00
Thaddeus Crews
f962fdce0e
Merge pull request #100185 from Repiteo/scons/fix-thirdparty-warnings
...
SCons: Fix MSVC bypassing disabled warnings
2024-12-10 14:16:02 -06:00
Thaddeus Crews
66dea152b5
Merge pull request #99257 from darksylinc/matias-TheForge-pr04-excluded-ubo+render_opt
...
Improvements from TheForge
2024-12-10 14:15:55 -06:00
Thaddeus Crews
a167afd70a
Merge pull request #96771 from clayjohn/RD-static-lighting
...
Avoid calculating dynamic lights when lights are already baked using the static bake mode in the Forward+ renderer
2024-12-10 14:15:41 -06:00
Allen Pestaluky
db63d3e3a0
Prevent WASAPI error spam when device cannot be initialized.
...
Fixes #99968 and prevents the error spam referenced in comments of #18732 .
Also fixes a number of memory leaks that occur when an audio device is reinitialized or fails to reinitialize and gates reinitialization attempts to around 1 per second instead of ~1000 attempts per second.
Co-authored-by: Kusok <118438257+kus04e4ek@users.noreply.github.com>
2024-12-10 13:32:33 -05:00
Adam Scott
a6c5373a09
[Web] Fix `DirAccess::unlink()` not updating the IDBFS
2024-12-09 17:48:08 -05:00
Thaddeus Crews
a3656083ca
Merge pull request #100065 from clayjohn/mesh-aabb-clear
...
Clear AABB when Mesh is cleared
2024-12-09 14:33:32 -06:00
Thaddeus Crews
070aeb5688
SCons: Fix MSVC bypassing disabled warnings
2024-12-09 11:49:42 -06:00