5003 Commits

Author SHA1 Message Date
Thaddeus Crews
f94bbfc07c Merge pull request #118353 from Chaosus/shader_subgroups
Allow to define more than one subgroup level in shader material
2026-04-14 07:11:08 -05:00
Thaddeus Crews
473b449df7 Merge pull request #118405 from Fahien/fahien/random-raytracing-fixes
Random raytracing fixes
2026-04-14 07:11:07 -05:00
Thaddeus Crews
7ce1853014 Merge pull request #108219 from CookieBadger/area-light-integration
Add Rectangular Area Light Source
2026-04-14 07:10:56 -05:00
Antonio Caggiano
24f9ac81ba raytracing: Fix shader binding table record alignment
Raytracing shader binding table records are addressed through Vulkan
alignment rules that distinguish between the raw shader group handle size,
the per-record handle alignment, and the base alignment required for SBT
region addresses.

The previous layout treated the shader group handle size as the record
stride everywhere. This worked only on devices where the handle size
already satisfied all relevant alignment requirements. It broke down once
multiple ray generation shaders were placed in the same SBT: selecting a
non-zero raygen index advanced the raygen region address by the raw handle
size, which could produce an address that was not aligned to the required
shader group base alignment.

Separate the SBT layout into the appropriate strides:

- ray generation records use a base-aligned stride, since selecting a
  raygen shader changes the SBT region start address for the dispatch.
- miss and hit records use the handle-aligned shader group stride, since
  their regions start at a base-aligned address and individual records are
  selected through the region stride.

This keeps the CPU-side SBT population and the dispatch-time SBT regions
using the same layout, so shader group handles are written to the same
aligned slots that Vulkan later addresses.
2026-04-13 23:24:17 +02:00
Thaddeus Crews
cee489f46e Merge pull request #118242 from BlueCube3310/draw-tex-set-type
Properly set `drawable_type` property in RenderingServer's `DrawableTexture`
2026-04-13 15:52:15 -05:00
Thaddeus Crews
4a54b89461 Merge pull request #118533 from clayjohn/gles3-z-clip
Restore z-clip functionality in the Compatibility renderer
2026-04-13 15:52:12 -05:00
clayjohn
bdc76e0f59 Restore z-clip functionality in the Compatibility renderer 2026-04-13 12:02:44 -07:00
TsFreddie
6c1306773c remove ERR_PRINT usage in forks 2026-04-12 18:13:32 +08:00
Thaddeus Crews
4a9684b0ff Merge pull request #117537 from allenwp/remove-10-bit-vulkan-swapchain-formats
Remove unnecessary Vulkan swap chain formats.
2026-04-10 10:32:31 -05:00
Skyth
83d2b84a51 Refactor raytracing pipelines. 2026-04-10 14:21:02 +03:00
Chaosus
5c667de60c Allow to define more than one subgroup level in shader material 2026-04-09 19:15:19 +03:00
Thaddeus Crews
755fa449c4 Merge pull request #118318 from clayjohn/compatibility-sky-shader-error
Fix compile errors in sky shader in the compatibility renderer
2026-04-08 17:00:44 -05:00
Thaddeus Crews
967b56efec Merge pull request #118317 from clayjohn/sky-shader-fallback
Ensure that sky shader automatic mode consistently uses the fallback
2026-04-08 17:00:43 -05:00
clayjohn
63c49cc668 Ensure that sky shader automatic mode consistently uses the fallback
This is necessary so that the proper backing textures can be allocated for the sky shader
2026-04-08 10:49:18 -07:00
clayjohn
7282051271 Fix compile errors when using HALF_RES_COLOR, QUARTER_RES_COLOR, or TIME in a sky shader in the compatibility renderer 2026-04-08 10:34:58 -07:00
Thaddeus Crews
b6f86739b6 Merge pull request #109911 from TCROC/fix-particles-moving-timescale-0
Fix particles moving when timescale is 0
2026-04-08 09:25:25 -05:00
Pāvels Nadtočajevs
eeafab862d Increase max RID count for some owners, decrease RID usage by RichTextLabel. 2026-04-07 17:07:23 +03:00
Thaddeus Crews
223c9417bd Merge pull request #115632 from akien-mga/gles3-split-platform-egl
GLES3: Split EGL includes in `platform_egl.h`
2026-04-07 06:44:49 -05:00
Thaddeus Crews
df7e539878 Merge pull request #118165 from shiena/feature/update-apple-camera
Fix camera docs and port missing features to camera_apple
2026-04-07 06:44:48 -05:00
Thaddeus Crews
cd32d9949f Merge pull request #118083 from allenwp/hdr-macos-vulkan
Add HDR output support to Vulkan on macOS.
2026-04-07 06:44:43 -05:00
Rémi Verschelde
7567211e8b GLES3: Split EGL includes in platform_egl.h
EGL brings in platform-specific headers such as the dreaded `windows.h`,
and `platform_gl.h` is used throughout `drivers/gles3` for basic OpenGL
types such as `GLuint`. We don't want `windows.h` pollution there.

Note for Android: EGL seems used explicitly only via `rasterizer_gles3.cpp`
to enable GL debug printing, and some custom stuff in `config.cpp`.
2026-04-07 12:07:22 +02:00
Thaddeus Crews
fdc9f35119 Merge pull request #117148 from blueskythlikesclouds/rt-api-adjustments
Raytracing API adjustments.
2026-04-06 13:02:27 -05:00
Thaddeus Crews
03723198e0 Merge pull request #118163 from AltayEvrenOzsan/fix/texture-blit-math-constants
Added math constants to texture-blit
2026-04-06 13:02:22 -05:00
Thaddeus Crews
201a68f700 Merge pull request #117771 from Calinou/lightmapgi-fix-compatibility-probe-update-speed
Fix LightmapGI probe update speed setting not applying in Compatibility
2026-04-06 13:02:10 -05:00
Allen Pestaluky
0810756a9f Add HDR output support to Vulkan on macOS.
Co-authored-by: Josh Jones <kilauea.jones@gmail.com>
Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
2026-04-06 11:11:18 -04:00
BlueCube3310
7ba643bdcf Properly set drawable_type property in RenderingServer's DrawableTexture 2026-04-06 13:11:49 +02:00
Altay Evren Özsan
d18e225ba5 Added math constants to texture-blit
Fixes #118144

Fixed an issue where texture-blit shader was failing to compile when using some math constants because the code was incorrectly passing name strings into the shader
2026-04-05 22:45:50 +03:00
CookieBadger
7b7bd1dcea Add AreaLight3D 2026-04-04 01:37:10 +02:00
Thaddeus Crews
e37b5c4035 Merge pull request #118076 from allenwp/output-max-linear-value-events
[Apple, Wayland] HDR Output: Emit window events when HDR state changes
2026-04-03 11:52:22 -05:00
KOGA Mitsuhiro
0284ce33b5 Improve camera_apple robustness and lifecycle handling
- App pause/resume: Stop camera capture on background transition and
  restore on foreground, preventing resource leaks
- Row stride: Handle pixel buffer row stride != width to prevent
  data corruption on devices with padded buffers
- Device lock: Track lock state and properly unlock on deactivation
- Input/output validation: Check canAddInput/canAddOutput before
  adding to capture session, with proper cleanup on failure
2026-04-04 01:43:25 +09:00
Skyth
e16a299a86 Raytracing API adjustments. 2026-04-03 18:06:34 +03:00
Thaddeus Crews
7351e6909b Merge pull request #116962 from blueskythlikesclouds/blas-create-api-change
Refactor `blas_create` to accept multiple geometries.
2026-04-02 12:33:23 -05:00
Thaddeus Crews
872cfabf3d Merge pull request #79731 from Calinou/viewport-add-nearest-3d-scaling
Add a nearest-neighbor scaling option to Viewport's Scaling 3D Mode property
2026-04-02 12:33:13 -05:00
Allen Pestaluky
f9145cbc72 Add HDR events for Wayland and Apple display servers
Co-authored-by: ArchercatNEO <tururu.pompella@gmail.com>
2026-04-02 12:50:38 -04:00
Thaddeus Crews
137fa73ed4 Merge pull request #118054 from demolke/label
Retrieve drive information only when needed
2026-04-01 18:10:32 -05:00
Thaddeus Crews
eda3dc13b9 Merge pull request #109142 from QbieShay/qbe/particle-process-windown
Extra particle tools for seeking
2026-04-01 18:10:08 -05:00
demolke
e79ab92ed1 Retrieve drive information only when needed
Also fix the call to GetVolumeInformationW which requires trailing slash

https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getvolumeinformationw
2026-04-01 01:12:29 +02:00
Thaddeus Crews
cec809c09e Merge pull request #115437 from bruvzg/macos_sigh
Define `sighandler_t` only if `_GNU_SOURCE` is not defined.
2026-03-30 13:35:43 -05:00
Thaddeus Crews
213e805487 Merge pull request #116198 from bruvzg/win_names
[Windows] Disallow file/folder names ending with period and space.
2026-03-30 13:35:37 -05:00
Thaddeus Crews
656a268688 Merge pull request #117010 from bruvzg/voll_name_win
[Windows] Show drive names in file dialog.
2026-03-30 13:35:34 -05:00
Rémi Verschelde
2af785641a Merge pull request #117819 from bruvzg/metal_264
Fix Metal driver build with Xcode 26.4.
2026-03-28 11:15:45 +01:00
StarryWorm
4ae336740d Add missing resource_*.h includes
Add missing `resource_importer.h` includes
Add missing `resource_loader.h` includes
Add missing `resource_saver.h` includes
2026-03-27 07:03:39 -04:00
Qbieshay
158d8784c3 Add parameter to request_process_time to have particle process without
emission.

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2026-03-27 11:57:08 +01:00
Rémi Verschelde
89379c4fcf Merge pull request #117740 from Josvanegmond/patch-1
[Accessibility] Fix `update_set_name` setting a space character as the node label when name and `name_extra_info` is empty
2026-03-26 16:01:34 +01:00
Rémi Verschelde
e030230a99 Merge pull request #117445 from bruvzg/angle_no_dyn
[macOS/Windows] Remove dynamically linked ANGLE support, add flag to enable/disable ANGLE.
2026-03-26 16:01:25 +01:00
Rémi Verschelde
231b5dc0d4 Merge pull request #117142 from blueskythlikesclouds/compatibility-canvas-background-exposure-fix
Fix exposure not working with canvas background on Compatibility.
2026-03-26 16:01:20 +01:00
Rémi Verschelde
e3d3689a0c iOS: Fix missing thread_safe.h include after refactors 2026-03-25 12:05:58 +01:00
Pāvels Nadtočajevs
c9c58020d8 Fix Metal driver build with Xcode 26.4. 2026-03-25 12:56:24 +02:00
Hugo Locurcio
5df0c8b271 Add a nearest-neighbor scaling option to Viewport's Scaling 3D Mode property
This is useful for 3D games with a pixel art appearance, or when
using a resolution scale of `0.5` to improve performance without
compromising crispness too much when not using FSR 1.0.

The property hints now allow decreasing the scale further to accomodate
for pixel art use cases, as well as increased precision in the value
(useful for a scale of `0.3333`).

Co-authored-by: Daniel Savage <dansvg@gmail.com>
Co-authored-by: Kaleb Reid <78945904+Kaleb-Reid@users.noreply.github.com>
2026-03-25 00:05:54 +01:00
Jos van Egmond
3ade83cd1b Fix (accessibility): strip spaces and only set label if full name is not empty.
When no name and extra info is set, it would still add a space. is_empty() would never be true. The space character would be set as label and screen readers are prompted to read it with various output. Fixed by stripping spaces.
2026-03-24 00:43:34 +01:00