godot: Vulkan: SSR still broken


Note: This issue has been confirmed several times already. No need to confirm it further.


Godot version

v4.0.dev.custom_build [5c3055e0f]

System information

Win 10 / 1080 Ti (466.47)

Issue description

SSR still broken, even after #50144 was merged. Clearing shader cache also didn’t fixed it.

https://user-images.githubusercontent.com/2698825/124380982-c44eca80-dcc8-11eb-9413-5803774c5d21.mp4

Error:
ERROR: Attempted to use an unused shader variant (shader is null),
 at: (.\servers/rendering/renderer_rd/pipeline_cache_rd.h:72)
ERROR: This render pipeline requires (0) bytes of push constant data, supplied: (16)
 at: (drivers\vulkan\rendering_device_vulkan.cpp:6805)
ERROR: No render pipeline was set before attempting to draw.
 at: (drivers\vulkan\rendering_device_vulkan.cpp:6822)

Steps to reproduce

  1. Open the MRP
  2. Enable SS Reflections in WorldEnvironment

Minimal reproduction project

Test2.zip

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 5
  • Comments: 17 (9 by maintainers)

Most upvoted comments

well is there a way to fix it?

Not that I know of, although increasing the material roughness, decreasing SSR Max Steps or increasing SSR Fade Out will make it less noticeable. (You don’t want Max Steps to be too high for performance reasons anyway. Typically, it should be kept lower than 128.)

Increasing Depth Tolerance can also help fill the gaps, but it will result in less correct reflections when an object is floating in front of a reflective surface. From my testing on 3.x, values between 0.5 and 1.0 can work well.