1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00
Commit Graph

3165 Commits

Author SHA1 Message Date
Stuart Carnie
65e8b0951b Renderer: Move reflect_spirv to RenderingShaderContainer
This change introduces a new protected type, `ReflectedShaderStage` to
`RenderingShaderContainer` that derived types use to access SPIR-V and
the reflected module, `SpvReflectShaderModule` allowing implementations
to use the reflection information to compile their platform-specific
module.

* Fixes memory leak in `reflect_spirv` that would not deallocate the
  `SpvReflectShaderModule` if an error occurred.
* Removes unnecessary allocation when creating `SpvReflectShaderModule`
  by passing `NO_COPY` flag to `spvReflectCreateShaderModule2`
  constructor function.
* Replaces `VectorView` with `Span` for consistency
* Fixes unnecessary allocations in D3D12 shader container in
  `_convert_spirv_to_nir` and `_convert_spirv_to_dxil` which implicitly
  converted the old `VectorView` to a `Vector`
2025-09-30 06:40:14 +10:00
Edward Moulsdale
e366471fdc Add GDSOFTCLASS to deeper inheritors of Object 2025-09-24 19:15:56 +01:00
Thaddeus Crews
daa1fc97dd Merge pull request #107547 from beicause/shader-compiler-print-content-verbose
ShaderCompiler: Optimize compilation error printing
2025-09-24 09:59:14 -05:00
Thaddeus Crews
7b8073d122 Merge pull request #107763 from Ivorforce/missing-vpv
Add missing `vpv.push_back(pv);` in `render_target_get_sdf_texture`.
2025-09-24 09:59:11 -05:00
Thaddeus Crews
c62356fcaa Merge pull request #85080 from Cykyrios/draw-ellipse
Add methods to draw ellipses
2025-09-23 12:08:51 -05:00
Thaddeus Crews
75f0f3dc55 Merge pull request #110550 from WesleyClements/master
Fix `TileMapLayer` tiles displaying incorrectly with y_sort based on visibility layer
2025-09-23 12:08:50 -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
cede7c8aa7 Merge pull request #109401 from DarioSamo/ubershader-for-sdf-and-material
Add ubershader support to material and SDF variants in Forward+.
2025-09-22 21:01:00 -05:00
Wesley Clements
89503e387a fixed tile map tiles displaying incorrectly based on visibility layer 2025-09-21 19:03:21 -04:00
Edward Moulsdale
12e97610a8 Add GDSOFTCLASS to six inheritors of Object 2025-09-21 16:22:29 +01:00
Cykyrios
9f7c3d00dd Add methods to draw ellipses 2025-09-19 10:45:16 +02:00
Thaddeus Crews
f8dedf68e2 Merge pull request #105254 from Ivorforce/no-get-internal-ptr
Delete `VariantGetInternalPtr` and `VariantImplicitConvert`, replace with `VariantInternalAccessor`
2025-09-18 21:02:28 -05:00
Thaddeus Crews
62273fa10b Merge pull request #110627 from clayjohn/RD-intel-mac-sky-check
Move check for sky cubemap array back into the SkyRD initializer
2025-09-18 21:02:24 -05:00
Lukas Tenbrink
f81287d765 Introduce VariantImplicitConvert<> template for types that can be implicitly converted to and from Variant.
De-duplicate a lot of `VariantGetInternalPtr`, `VariantInternalAccessor`, `VariantInitializer` and `VariantDefaultInitializer`.
2025-09-19 00:20:07 +02:00
clayjohn
fc951855ed Move check for sky cubemap array back into the SkyRD initializer so it is set before being used.
Previously it was moved out of this function becuase we relied on RenderingServer::get_video_adapter_name which wasn't available yet.

However, that was unnecessary since it is just a wrapper around RenderingDevice::get_device_name() which is available.
2025-09-17 11:41:56 -07:00
Thaddeus Crews
aa294bb3c8 Merge pull request #110360 from zorbathut/pr/memorybarrierrename
Rename RDD::MemoryBarrier to avoid conflicts with the Windows headers.
2025-09-17 11:34:15 -05:00
Thaddeus Crews
8c7c96e2c4 Merge pull request #108636 from clayjohn/MSAA-depth-mobile
Add depth resolve to the mobile renderer
2025-09-17 11:34:13 -05:00
Thaddeus Crews
e721af5775 Merge pull request #110330 from DarioSamo/reflection-probe-size-leak
Fix reflection probes not recreating downsampled textures when mode changes.
2025-09-17 11:34:12 -05:00
Thaddeus Crews
e504943212 Merge pull request #110184 from Namey5/vertex-lighting-issue
Fix rounding error in clustered vertex light culling
2025-09-17 11:34:11 -05:00
Thaddeus Crews
6efa557e9b Merge pull request #109567 from Flarkk/fix_spotlight_fog
Fix spotlight's shadow peter-panning with volumetric fog
2025-09-16 11:44:55 -05: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
Thaddeus Crews
27a3f0eb8d Merge pull request #108206 from Calinou/transparent-viewport-no-ssr-sss-dof
Disable unsupported SSR, SSS, DoF on transparent viewports
2025-09-16 11:44:48 -05:00
Hugo Locurcio
1c62ba40b7 Disable unsupported SSR, SSS, DoF on transparent viewports
For technical reasons, transparent viewports cannot support
screen-space reflections, subsurface scattering and depth of field.
Previously, enabling any of these would turn transparent viewports
invisible.
2025-09-11 14:59:07 +02:00
Ben Rog-Wilhelm
e5ab5acd95 Rename RDD::MemoryBarrier to avoid conflicts with the Windows headers. 2025-09-10 05:19:36 -05:00
clayjohn
0576b12699 Increase precision of SpotLight attenuation calculation to avoid driver bug on Intel devices 2025-09-09 13:18:55 -07:00
Dario
7b923609c2 Fix reflection probes not recreating downsampled textures when mode changes. 2025-09-08 15:54:37 -03:00
Luo Zhihao
5f737952fd ShaderCompiler: Optimize compilation error printing 2025-09-04 16:51:17 +08:00
Dario
8c4180adf4 Add GENERAL resource usage to the render graph. Fixes texture initialization in D3D12. 2025-09-02 15:18:47 -03:00
Clay John
0f0bb7d225 Merge pull request #110025 from DarioSamo/fix-shader-debug-info-take-two
Fix --generate-spirv-debug-info regression (alternate take)
2025-09-01 19:37:27 -07:00
Alex Threlfo
60a7bed19c Fix rounding error in clustered vertex light culling 2025-09-02 11:33:38 +10:00
Thaddeus Crews
b919b19f48 Merge pull request #110174 from clayjohn/RD-shader-cache
Avoid attempting to load from shader cache when both the user-dir and res-dir are invalid
2025-09-01 19:09:55 -05:00
clayjohn
d90332aa0f Avoid attempting to load from shader cache when both the user-dir and res-dir are invalid 2025-09-01 12:25:23 -07:00
Pāvels Nadtočajevs
f766e401db [MSDF] Fix outline bleed out at small sizes. 2025-08-31 23:35:33 +03:00
Dario
e137c882c0 Disable smolv and change the shader hash when SPIR-V debug info is enabled. 2025-08-28 14:17:58 -03:00
Thaddeus Crews
b86d05e7f8 Merge pull request #109993 from bruvzg/upscale_gl_check
Check renderer type when setting 3D upscaling mode.
2025-08-27 13:39:41 -05:00
Pāvels Nadtočajevs
adce527880 Check renderer type when setting 3D upscaling mode. 2025-08-27 07:48:55 +03:00
Thaddeus Crews
aa0c7bb840 Merge pull request #109970 from allenwp/add-debanding-smaa-before-spatial-upscaler
Add debanding to SMAA and apply debanding before spatial upscalers.
2025-08-26 19:01:11 -05:00
Thaddeus Crews
27b0135264 Merge pull request #109995 from clayjohn/texture-error
Handle the case where VRS is a two byte per pixel format when creating default VRS texture
2025-08-26 19:01:10 -05:00
clayjohn
b0d7a241b2 Handle the case where VRS is a two byte per pixel format when creating default VRS texture 2025-08-26 12:22:23 -07:00
clayjohn
4b84207d2f Use vertex shader workaround for Mali GXX GPUs for glow shader
We applied this same workaround to the tonemap shader and DoF, but didn't apply it to glow since the bug didn't manifest on our test devices.
2025-08-26 11:31:22 -07:00
Allen Pestaluky
5a3e69d16e Add debanding to SMAA and apply debanding before spatial upscalers. 2025-08-25 16:55:36 -04:00
Thaddeus Crews
1d386b5f7d Merge pull request #109882 from precup/shader-cache-return
Treat missing variants as normal cache misses during shader cache lookup
2025-08-24 11:04:32 -05:00
Stuart Carnie
90c9134875 Metal: Read gl_ViewIndex for multi-view subpasses
This is necessary to ensure the SpvCapabilityMultiView is included in
the SPIR-V, informing downstream transpilers, like Metal, that it should
enable multi-view capabilities in the generated Metal shader source.
2025-08-23 09:12:17 +10:00
Mike Precup
277693ba81 Treat missing variants as normal cache misses during shader cache lookup 2025-08-22 11:48:43 -07:00
Thaddeus Crews
c7a07610e9 Merge pull request #109591 from mihe/no-async-physics-while-processing
Pause physics command queue during physics processing
2025-08-21 18:39:36 -05:00
Thaddeus Crews
4f393e0c3c Merge pull request #109644 from RandomShaper/fix_dupe_tex2darr
Fix material removal clearing all instances of shared texture arrays
2025-08-20 12:07:14 -05:00
Pāvels Nadtočajevs
6a3941b5d9 Fix MSDF outline size clamping. 2025-08-19 08:28:33 +03:00
Pedro J. Estébanez
919006eb35 Fix material removal clearing all instances of shared texture arrays 2025-08-18 12:21:15 +02:00
Thaddeus Crews
6f298b6642 Merge pull request #109548 from bruvzg/shader_x
Improve shader overloaded function error reporting.
2025-08-14 09:28:01 -05:00
Mikael Hermansson
70979ae8bd Pause physics command queue during physics processing 2025-08-14 15:54:59 +02:00