Commit Graph

5044 Commits

Author SHA1 Message Date
Thaddeus Crews ea1fb9095e Merge pull request #118541 from stuartcarnie/metal_shader_baking_fixes
Metal: Reduce warnings and prevent incompatible library code when baking shaders
2026-05-11 17:11:36 -05:00
Thaddeus Crews d51d1ec682 Merge pull request #119289 from Calinou/gpu-index-compatibility-warn-unsupported
Warn about `--gpu-index` CLI argument being unsupported in Compatibility
2026-05-07 11:13:31 -05:00
Thaddeus Crews fddd45ea1c Merge pull request #119091 from ArchercatNEO/context-driver-surface-supports-hdr
HDR: Implement checking if surface supports HDR output.
2026-05-06 14:56:27 -05:00
ArchercatNEO 3f29efc8a2 HDR: Implement surface supports HDR output.
Previously the Wayland display server would attempt to enable
HDR output and try to detect if it failed afterwards which had some issues.
Now we can query the rendering driver for support and avoid ever enabling
HDR output when this would fail.
2026-05-06 19:51:54 +01:00
Hugo Locurcio a96279db3e Warn about --gpu-index CLI argument being unsupported in Compatibility
- Print a warning when `--gpu-index` is out of range in RenderingDevice-based
  renderers, since it falls back to automatic GPU selection.

The GPU selection logic is only available in RenderingDevice-based renderers.
2026-05-06 19:23:14 +02:00
Thaddeus Crews 314bbd21a9 Merge pull request #119237 from Calinou/vulkan-improve-errors
Improve Vulkan error messages to be more user-friendly
2026-05-06 10:53:37 -05:00
Thaddeus Crews efd7478385 Merge pull request #119259 from blueskythlikesclouds/shader-baker-crash-fix
Fix crash when baking shaders for D3D12 from Vulkan.
2026-05-06 10:53:33 -05:00
Hugo Locurcio f2fc4473f0 Improve Vulkan error messages to be more user-friendly
- Mention that error codes are VkResult error codes
  (as opposed to Godot error codes).
- Mention passed values in more cases to help troubleshooting.
- Mention common causes of "Vulkan device lost" in crash message.
- Use consistent style across all errors.
2026-05-05 23:47:26 +02:00
Skyth ff64ee4f60 Fix crash when baking shaders for D3D12 from Vulkan. 2026-05-05 20:45:06 +03:00
Thaddeus Crews 9d2246cb11 Merge pull request #119212 from blueskythlikesclouds/d3d12-fix-msaa-subpass-resolve
Fix subpass MSAA resolves with multiple layers not working on D3D12.
2026-05-05 10:30:02 -05:00
Skyth 5aecc0da58 Fix subpass MSAA resolves with multiple layers not working on D3D12. 2026-05-04 15:29:59 +03:00
Wilson E. Alvarez e86de1802b Free LTC RIDs 2026-05-02 21:39:36 -04:00
Thaddeus Crews f059d64e3d Merge pull request #118968 from CookieBadger/area-light-lut-textures
Fix GPU validation errors due to area light LUT format
2026-04-30 10:58:09 -05:00
David Snopek 49b2043deb Fix a couple more ubo:X numbers for XR in Compatibility renderer 2026-04-28 13:21:41 -05:00
David Snopek fd1898bf5d Fix ubo:X numbers for multiview UBOs in Compatibility renderer 2026-04-27 17:56:37 -05:00
CookieBadger 7c532acc09 change LTC lookup table texture format to RGBAF and set p_8bit_dst to true in gaussian_blur 2026-04-27 21:35:46 +02:00
Thaddeus Crews 7a8adcf4d8 Merge pull request #117913 from allenwp/hdr-output-allow-request
Fix behavior of `window_is_hdr_output_supported` for Wayland and adjust warnings.
2026-04-24 15:43:32 -05:00
Thaddeus Crews 04e3d906f9 Merge pull request #114957 from LucaTuerk/fix_compat_backbuffer_allocation
Remove Compatibility RenderTarget backbuffer size limit
2026-04-23 08:34:56 -05:00
Thaddeus Crews d57f844e79 Merge pull request #118863 from LiveTrower/fix-clearcoat-area-light
Fix clearcoat intensity for area lights
2026-04-23 08:34:54 -05:00
LiveTrower 5dac818f77 Fix clearcoat intensity for area lights 2026-04-22 13:07:53 -06:00
Thaddeus Crews c3f8f7f040 Merge pull request #118850 from blueskythlikesclouds/d3d12-vertex-buffer-view-oob-write
Fix OOB writes in D3D12 when setting vertex arrays.
2026-04-22 12:54:44 -05:00
Thaddeus Crews 45aea977dd Merge pull request #118812 from blueskythlikesclouds/d3d12-nir-compute-runtime-data
Add support for `gl_NumWorkGroups` in D3D12.
2026-04-22 09:58:31 -05:00
Skyth 74e0993abf Fix OOB writes in D3D12 when setting vertex arrays. 2026-04-22 16:23:51 +03:00
Thaddeus Crews 5884e31ab7 Merge pull request #118152 from aaronfranke/init-ra-ls-rac
Initialize ReflectionAtlas in `LightStorage::reflection_atlas_create`
2026-04-21 16:46:11 -05:00
Thaddeus Crews 06fc4f8165 Merge pull request #113413 from Kaleb-Reid/fix-aa-bilinear-scaling
Fix screen-space AA when scaling using bilinear filtering
2026-04-21 08:48:00 -05:00
Skyth f13267b44b Add support for gl_NumWorkGroups in D3D12. 2026-04-21 15:31:50 +03:00
Allen Pestaluky 4309120a4a Fix DisplayServerWayland::window_is_hdr_output_supported to check rendering device for HDR output support and adjust warnings/errors. 2026-04-20 11:11:01 -04:00
Thaddeus Crews 5cb4bee8ff Merge pull request #118770 from NoctemCat/web_single_thread_add_missing_includes
[Web] Add missing includes for single threaded build
2026-04-20 09:15:27 -05:00
NoctemCat 55df36126f Add missing includes for web single thread 2026-04-20 19:00:14 +09:00
KOGA Mitsuhiro 462d6334bf Fix GLES3 scene shader int literal type errors for WebGL 2026-04-18 05:26:08 +09:00
Thaddeus Crews 2dd28a53b0 Merge pull request #116227 from Fahien/fahien-fix-as-barriers
Fix acceleration structure barriers in Vulkan pipelines
2026-04-16 21:46:56 -05:00
Kaleb Reid 08cb31b4d1 Fix screen-space AA when upscaling using bilinear filtering 2026-04-15 15:33:26 -07:00
CookieBadger eb6e4eb234 fix AreaLight3D compatibility vertex shading compilation error 2026-04-15 20:20:33 +02:00
Antonio Caggiano d8c3bc0e65 Fix acceleration structure barriers
Extract pipeline stage flags patching to a separate helper function and
remove all VK_PIPELINE_STAGE_*_SHADER_BIT flags.
2026-04-15 13:53:36 +02:00
Rémi Verschelde 9fc8f0e0cf Merge pull request #118510 from bruvzg/mac_vm_metal
[macOS] Fix Metal crash in VM.
2026-04-15 12:41:07 +02:00
Rémi Verschelde cc212fb90a Merge pull request #117788 from kleonc/canvas_item_shader_generate_sdf_on_using_normal
Generate SDF texture on `texture_sdf_normal` usage
2026-04-15 12:40:50 +02:00
Stuart Carnie 82f2fa1180 Metal: Reduce warnings and prevent incompatible library code when baking
- Remove compiler warnings whilst baking Metal source to binary
  libraries, so true errors are easier to spot. Speeds up compilation,
  with reduced STDOUT.
- Prevent invalid Metal libraries when baking to older target OSs,
  which earlier MSL language support. In these cases, SPIRV-Cross
  generates emulated atomic code via buffers (rather than images), that
  isn't supported by Godot's Metal driver. These shaders are marked with
  a new INVALID flag that triggers a recompilation on the device, by
  signaling that the cache is invalid.
2026-04-15 18:47:15 +10:00
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
Pāvels Nadtočajevs ef7d5650fd [macOS] Fix Metal crash in VM. 2026-04-13 11:14:10 +03: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