1
0
Fork 0
Commit Graph

2056 Commits

Author SHA1 Message Date
Thaddeus Crews 3997e77393
Merge pull request #111054 from Kaleb-Reid/fix-render-list
Sort render list correctly in RD renderers
2025-09-30 11:19:18 -05: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
clayjohn aa8bc0b56d Prompt editor restart when reflection probe size is updated
Also formally deprecate the RS function for updating an individual probes size. The functionality was removed in 4.0, but the function itself was mistakenly left exposed.
2025-09-29 18:35:34 -07:00
Kaleb Reid 5021b3e6e5 Sort render list correctly in RD renderers 2025-09-29 17:22:26 -07:00
clayjohn 14b60f2264 Optimize vertex shader using mat3x4 to reduce bandwidth, load/store operations and ALUs 2025-09-26 23:20:08 -07: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 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
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
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 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
Lukas Tenbrink abe3b481ae Make conversions from `LocalVector` to `Vector` explicit. 2025-09-16 21:41:28 +02: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 204e310914
Tweak draw command label names for consistency
- Use Title Case for all labels, and add hyphens where relevant.
- Mention Roughness in SSR Filter's label name, as it's only enabled
  when the SSR roughness quality is not set to Disabled.
2025-09-14 01:23:47 +02: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
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
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 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 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
Florent Guiocheau 199161f023 Fix spotlight's shadow with volumetric fog 2025-08-13 09:28:06 +02:00
devloglogan fb829bdd08 Fix mobile renderer motion vectors regression 2025-08-12 16:45:31 -05:00
Thaddeus Crews ca452113d4
Merge pull request #109437 from bruvzg/msdf_no_t
Use MSDF instead of MTSDF for font rendering.
2025-08-11 09:55:28 -05:00
Pāvels Nadtočajevs 86e61a311f
Use MSDF instead of MTSDF for font rendering.
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2025-08-09 10:41:16 +03:00
Stuart Carnie c8b5982d0f Metal: Ensure correct output texture format selection 2025-08-08 12:50:16 +10:00
Dario 517b42e7dd Add ubershader support to material and SDF variants in Forward+. 2025-08-07 14:40:14 -03:00
Thaddeus Crews 5787f6fb6a
Merge pull request #108044 from apples/107935-stencil-fixes
Fix opaque stencil rendering
2025-07-31 10:39:08 -05:00
Riley Willows fbe2710843
Add and enable default textures for other samplers 2025-07-31 00:08:43 +01:00
Dario b962b38e74 Check for Vulkan Memory Model support and make it a variant. 2025-07-25 09:24:58 -03:00
Thaddeus Crews 967e2d499a
Merge pull request #108761 from allenwp/108757-fix-mobile-hdr2d-debanding
Fix debanding for Mobile rendering method with HDR 2D.
2025-07-24 20:49:43 -05:00
Allen Pestaluky a033656eda Fix debanding for Mobile rendering method with HDR 2D. 2025-07-24 16:11:49 -04:00
Pāvels Nadtočajevs 9c325d0f91
Remove selective shader baking. 2025-07-23 23:02:43 +03:00
Juan Manuel Costello 5dc25db6da Fix lightmap dynamic objects with physical lights 2025-07-17 20:58:03 -03:00
clayjohn a8efa55bed Add depth resolve to the mobile renderer 2025-07-16 20:37:39 -07:00
clayjohn 17b9469bac Never overwrite motion vectors in the transparent pass 2025-07-16 04:58:39 -07:00
Thaddeus Crews eb0caa6029
Merge pull request #108510 from bruvzg/bake_no_atomic
[macOS] Selectively bake "no image atomics" shader variants.
2025-07-14 10:30:36 -05:00
Thaddeus Crews 6bc7fcb7af
Merge pull request #108567 from beicause/multimesh-null-checks
Add some multimesh null checks to avoid crash
2025-07-14 10:30:35 -05:00
Thaddeus Crews 35a2d7843e
Merge pull request #104302 from brennennen/reflection_probe_count_error_check
Add error check for reflection probe invalid atlas index.
2025-07-14 10:30:31 -05:00
Thaddeus Crews 2be2cbb720
Merge pull request #107782 from allenwp/vulkan-nonlinear-color-correction-dithering
Always perform color correction and debanding on nonlinear sRGB values.
2025-07-14 10:30:28 -05:00
LuoZhihao 5352638f95 Add some multimesh null checks to avoid crash 2025-07-13 10:09:36 +08:00
Pāvels Nadtočajevs 87e91f7c7a
[macOS] Selectively bake "no image atomics" shader variants. 2025-07-12 21:05:48 +03:00
brennen 2583aa4a68 Add error check for reflection probe invalid atlas index. 2025-07-10 19:03:21 -05:00
Pāvels Nadtočajevs a8873727ac
[macOS] Selectively bake specific shader variants for MoltenVK. 2025-07-09 20:09:56 +03:00
Thaddeus Crews bfb379b766
Merge pull request #108378 from Mingxi-Z/fix/clearcoat-nan-issue
Fix division by zero in clearcoat specular BRDF
2025-07-09 11:33:21 -05:00
Allen Pestaluky a1591512f8 Always perform color correction and debanding on nonlinear sRGB values.
Fixes #107730

Co-authored-by: LuoZhihao <luo_zhihao@outlook.com>
2025-07-08 13:44:53 -04:00
retrotails a5e681df77 Fix crash when creating voxel GI data 2025-07-07 23:26:56 -04:00
Mingxi Zhang 2096e4c007 Fix division by zero in clearcoat
Prevents the clearcoat model from generating NaN values at grazing angles
2025-07-08 01:58:37 +00:00
Stuart Carnie 5230f6c60c Apple: Use image atomic operations on supported Apple hardware
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-07-05 05:59:00 +10:00
Apples 62a5cd90a7 Fix opaque stencil rendering 2025-07-02 21:49:19 -05:00
Thaddeus Crews e750950dc6
Merge pull request #107568 from Rudolph-B/Issue-92708
Fix floating point precision errors when setting particle trail length
2025-07-01 17:57:58 -05:00
BlueCube3310 16b9ee6f50 Image: Implement 16-bit unorm and uint formats 2025-06-28 00:30:52 +02:00
Dario 4921a3e711 Fix VVL errors by changing frag_color to FP32 and dFdx/y. 2025-06-26 13:42:17 -03:00
Thaddeus Crews 05640191e7
Merge pull request #107928 from Kaleb-Reid/scatter-no-LIGHTX
Always send lights to sky shader if using sun scatter
2025-06-24 18:34:31 -05:00
Thaddeus Crews 01410f19f8
Merge pull request #107876 from clayjohn/vs-data-issues
Fix a few improper memory accesses in the clustered forward vertex shader
2025-06-24 18:34:25 -05:00
Kaleb Reid e659daf6e0 Always send lights to sky shader if using sun scatter 2025-06-24 14:24:49 -07:00
celyk 7f9b8dae4f Use double emulation on modelview 2025-06-24 15:37:18 +10:00
LuoZhihao ea75954575 Vulkan Mobile: Fix writing vertex color in spatial shader 2025-06-23 21:30:48 +08:00
clayjohn b4adaa291a Fix a few improper memory accesses in the clustered forward vertex shader
draw_call.instance_index should not be used directly since it doesn't take into account auto-batching

scene_data_block.data should not be used directly in the vertex shader since it can change between frames and impact motion vector generation

IN_SHADOW_PASS can only be accessed inside functions, so it needs to be a global and not a constant
2025-06-22 23:41:03 -07:00
Mingxi Zhang de2aa1bc4d Fix: Ensure sky orientation is set when reflection uses sky 2025-06-22 23:50:39 +08:00
Lukas Tenbrink 28fd557c58 Add missing `vpv.push_back(pv);` in `render_target_get_sdf_texture`. 2025-06-20 14:46:03 +02:00
Thaddeus Crews c9511255de
Merge pull request #107684 from dsnopek/revert-shadow-normal-bias-relative
Revert "Use lower shadow normal bias for distant directional shadow splits"
2025-06-19 09:53:54 -05:00
David Snopek 4cc1d0ba67 Revert "Use lower shadow normal bias for distant directional shadow splits"
This reverts commit dfc05caf06.
2025-06-18 18:14:22 -05:00
Thaddeus Crews 8f6597ad41
Merge pull request #107625 from beicause/forward-plus-fix-light-shader-builtins
Forward+: Fix builtins in light shader
2025-06-18 18:14:05 -05:00
Lukas Tenbrink 2b36c79f7b Use `Span<uint8_t>` in `RenderingDevice` allocation APIs to avoid intermediary arrays on calls. 2025-06-18 12:31:48 +02:00
LuoZhihao 8a2fd98004 Forward+: Fix builtins in light shader 2025-06-17 20:14:53 +08:00
Rudolph Bester 3c5d4a2410 Fix floating point precision errors when setting particle trail length 2025-06-15 20:38:50 +02:00
devloglogan 36128bfc29 Check render target validity before getting motion vector texture in mobile renderer 2025-06-13 18:52:02 -05:00
Rémi Verschelde 3b2b0157ff
Merge pull request #107475 from beicause/fix-global-shader-texture-uniform
Fix global shader texture uniform
2025-06-13 15:54:09 +02:00
LuoZhihao 7419e4429d Fix global shader texture uniform 2025-06-13 13:24:38 +08:00
Rémi Verschelde 9eda3c682d
Merge pull request #107404 from beicause/mobile-spatial-light-shader-builtins
Vulkan Mobile: Fix reading builtins in `light()` of spatial shader
2025-06-12 22:48:58 +02:00
Rémi Verschelde da05a6b775
Merge pull request #106907 from SpockBauru/fix-mobile-lightmap-instances
Vulkan Mobile: Fix lightmap instances count
2025-06-12 11:56:32 +02:00
Rémi Verschelde 0497ae9947
Merge pull request #80710 from apples/7174-apples-stencil
Add stencil support to spatial materials
2025-06-12 01:15:35 +02:00
Dario 8804c88443 Change all interpolators to FP32 in mobile renderer. 2025-06-11 15:36:22 -03:00
Apples d674c9e289 Add stencil support for spatial materials 2025-06-11 09:59:10 -05:00
LuoZhihao 2a1d2afaca Vulkan Mobile: Fix reading builtins in `light()` of spatial shader 2025-06-11 21:32:59 +08:00
Rémi Verschelde a1ef1130ad
Merge pull request #107364 from DarioSamo/adreno-fix-interpolators
Upgrade normal interpolators to FP32 to fix Adreno.
2025-06-10 17:56:29 +02:00
Dario e53b67df03 Upgrade normal interpolators to FP32 to fix Adreno. 2025-06-10 12:26:58 -03:00
David Snopek 951ca21f02 Vulkan Mobile: Fix crash from shader compilation with `USE_RADIANCE_CUBEMAP_ARRAY` 2025-06-10 09:19:32 -05:00
Rémi Verschelde 40b251ba8e
Merge pull request #103899 from Ivorforce/idiomatic-template-vargs
Use idiomatic templating vargs in a few places to reduce code.
2025-06-10 12:29:40 +02:00
Thaddeus Crews fc523ec5f6
Merge pull request #107230 from dsnopek/rd-depth-image-swizzle
RendererRD: Fix swizzle on depth formats
2025-06-09 17:08:49 -05:00
Thaddeus Crews 7584546399
Merge pull request #101941 from dsnopek/opengl-global-uniform-sampler2darray
Fix wrong default texture for global uniforms of type `sampler2DArray`
2025-06-09 17:08:47 -05:00
SpockBauru fe1d499aa4 Mobile: Fix lightmap instances count 2025-06-09 17:58:17 -03:00