Rémi Verschelde
671864fb05
Decouple TextureStorage from RenderingServer
...
By moving RS::TextureDetect(Roughness)Callback and RS::TextureInfo
to RenderingServerTypes.
2026-02-25 20:17:28 +01:00
Rémi Verschelde
f5a290ac46
Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
...
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.
With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.
On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
Rémi Verschelde
cd650f2336
GLES3: Move some static utils to new RasterizerUtilGLES3
...
This helps remove dependencies on RasterizerGLES3 in many files, which is
useful as RasterizerGLES3 basically includes everything, so it brings a lot
of transient includes.
2026-02-20 11:29:39 +01:00
Rémi Verschelde
715748bab4
GLES3: Tidy up includes for consistency
2026-02-20 11:20:44 +01:00
Lukas Tenbrink
0ea5ece984
Move binary math functions to Math namespace in math_funcs_binary header.
2026-02-17 12:24:35 +01:00
Thaddeus Crews
fbbb8a921b
Merge pull request #115309 from Ivorforce/localvector-explicit-copy
...
Change copy constructor of `LocalVector` from implicit to explicit
2026-01-30 09:32:07 -06:00
Colin O'Rourke
63f6e3691c
DrawableTextures
...
Implementing DrawableTextures based on: https://github.com/godotengine/godot-proposals/issues/7379
2026-01-29 01:16:06 -08:00
Lukas Tenbrink
63272b23ef
Make LocalVector copy constructor explicit.
2026-01-23 20:52:03 +01:00
David Snopek
ca0eb5da24
OpenXR: Fix resizing viewports used by OpenXRCompositionLayer
2025-10-30 17:40:52 -05:00
Kaleb Reid
e1f19d14dd
Always use RenderSceneBuffers to manage backbuffer in Compatibility 3D
2025-10-04 01:06:09 -07:00
Thaddeus Crews
d9ba9ba3da
Merge pull request #97151 from devloglogan/motion-vectors
...
Implement motion vectors in compatibility renderer
2025-10-03 12:01:10 -05:00
BlueCube3310
d07a72e067
Compatibility: Explicitly use BC1's RGB variant
2025-09-30 20:17:22 +02:00
Thaddeus Crews
21fd4faf1b
Merge pull request #107469 from Ivorforce/vector-localvector-explicit-span-conversions
...
Remove implicit conversions between `LocalVector` and `Vector`
2025-09-30 11:19:17 -05:00
devloglogan
8fef9a689e
Implement motion vectors in compatibility renderer
2025-09-30 09:42:17 -05:00
Thaddeus Crews
cd3a6c88fd
Merge pull request #106200 from BlueCube3310/image-16-u16
...
Image: Implement 16-bit unorm and uint formats
2025-09-23 12:08:46 -05:00
Thaddeus Crews
747722d639
Merge pull request #109299 from BlueCube3310/compat-cube-fix
...
Compatibility: Fix cubemap faces order when setting texture data
2025-09-19 09:17:07 -05:00
Lukas Tenbrink
abe3b481ae
Make conversions from LocalVector to Vector explicit.
2025-09-16 21:41:28 +02:00
Thaddeus Crews
853884ba05
Merge pull request #109143 from sievaxx/more_sampler_default_texs
...
Add and enable default textures for other samplers
2025-09-16 11:44:51 -05:00
Bastiaan Olij
a38256c19e
OpenXR: Fix ViewportTextures not displaying correct texture (Compatibility)
2025-08-27 13:02:39 +10:00
BlueCube3310
356b1ab2a6
Compatibility: Fix cubemap faces order when setting texture data
2025-08-04 13:27:28 +02:00
Riley Willows
fbe2710843
Add and enable default textures for other samplers
2025-07-31 00:08:43 +01:00
David Snopek
ae61044c85
Don't use GL_DEPTH_STENCIL_ATTACHMENT on depth buffer from WebXR
2025-07-24 14:11:36 -05:00
BlueCube3310
16b9ee6f50
Image: Implement 16-bit unorm and uint formats
2025-06-28 00:30:52 +02:00
Apples
d674c9e289
Add stencil support for spatial materials
2025-06-11 09:59:10 -05:00
Ryan
4497e2a0d3
Add Meshes to the Video RAM Profiler
...
Apply suggestions from code review
Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro >
2025-04-23 18:26:56 -04:00
Yyf2333
1a70a06a43
Change RID_Owner::get_owned_list.
2025-04-21 01:04:27 +08:00
BlueCube3310
a861394e13
Renderer: Warn when images need to be converted due to their formats being unsupported by hardware
2025-04-06 19:27:02 +02: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
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
BlueCube3310
2221f6ed13
WebGL2: Fix 2D array textures with RGTC compression not rendering
2025-01-22 20:41:20 +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
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
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
devloglogan
e7f6b7ea0b
Allow using custom Rect2i for rendering with OpenXR
2025-01-09 09:46:15 -06:00
BlueCube3310
6a2cc39926
Compatibility: Improve gl texture format detection
2025-01-07 12:20:04 +01: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
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
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
devloglogan
3deb5884d7
Renderer agnostic motion vector rendering/OpenXR changes
2024-12-10 15:59:17 -06:00
Chris
fb75078308
Changed some image error messages to print the file path
2024-11-15 20:42:03 +01:00
tetrapod00
899f5151c3
Standardize terms for renderers in error strings
...
Use "Forward+", "Mobile", "Compatibility", and "renderer" or "rendering method".
2024-11-10 13:30:44 -08:00
A Thousand Ships
ec650a2f09
[Core,Drivers] Improve use of Ref.is_null/valid
...
Use `is_null` over `!is_valid` and vice versa.
2024-11-01 16:50:11 +01:00
Adam Scott
0d350e7108
Set clang-format RemoveSemicolon rule to true
...
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Hugo Locurcio
35a20fa96a
Use a shared copy of placeholder textures, tweak placeholder appearance
...
This reduces memory usage a bit in case multiple placeholders were
requested, e.g. when using multiple NoiseTextures with no noise property
defined.
The placeholder texture's appearance was also changed from a plain magenta
color to a checkerboard alternating between magenta and black pixels.
This makes it easier to spot when the placeholder texture ends up
being used in a complex scene (usually by accident).
The texture's dimensions remain identical to keep the physical size
identical in 2D.
2024-10-18 14:51:51 +02:00
Dario
e2c6daf7ef
Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
...
- Implements asynchronous transfer queues from PR #87590 .
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
2024-10-02 15:11:58 -03:00
David Snopek
1a6f8512bc
Add external texture support (GLES3)
...
Co-authored-by: Fredia Huya-Kouadio <fhuyakou@gmail.com >
Co-authored-by: Mauricio Narvaez <nvz@meta.com >
2024-09-20 10:48:32 -05:00
David Snopek
7d56b09f23
Expose a function to create textures from a native handle in the compatibility renderer
2024-09-19 09:05:32 -05:00
BlueCube3310
0182294b37
Compatibility: Fix alignment of compressed textures when retrieving
2024-09-11 18:15:26 +02:00
BlueCube3310
e74bc3079a
Fix incorrect parameters for layered textures in Video RAM texture memory profiler
2024-09-01 11:49:30 +02:00