Windows / AMD RX 7600: "Ray traced" projector shadows greyed out #155

Closed
opened 2026-09-29 02:52:45 +00:00 by sky_line · 2 comments
Owner

A user on Windows 11 with an AMD Radeon RX 7600 (RDNA3, which has hardware RT) reports that Ray traced is greyed out in the Projector Shadows dropdown.

How the option is gated

  • llfloaterpreferencesgraphicsadvanced.cpp:393 enables the "Ray traced" entry only when LLVulkanContext::rayTracingEnabled() is true.
  • That is decided at device creation (vk_device.cpp ~623-750). It needs all of these:
    1. RenderVKRayTracing is not 0 (default 1).
    2. The device lists VK_KHR_acceleration_structure, VK_KHR_ray_query and VK_KHR_deferred_host_operations.
    3. The device reports the features accelerationStructure, rayQuery and bufferDeviceAddress.
    4. All seven acceleration-structure entry points load. If they don't, we print RT: acceleration-structure entry points missing to stderr only, so it never reaches Slipstream.log on Windows.
  • The Info log line RT: requested=… supported=… enabled=… (llvulkancontext.cpp:145) says which stage failed.

Likely causes to check

  • Wrong GPU picked. Ryzen 7000/9000 CPUs have an integrated Radeon GPU that exposes no RT. If our physical-device selection chooses the iGPU (or enumeration order differs on Windows), RT reports unsupported. The log's Vulkan device name will show this.
  • Driver. An old Adrenalin driver, or Windows Update's stock driver, may not expose VK_KHR_ray_query. Ask for the driver version.
  • Shadows combo. The whole dropdown is disabled unless Shadows is set to "Sun/Moon + Projectors" (RenderShadowDetail >= 2). Confirm it's only the RT entry that's grey.
  • RenderVKRayTracing set to 0 in their settings.

To do

  • Get Slipstream.log from the user: the RT: requested= supported= enabled= line, the chosen Vulkan device name and the driver version.
  • Route the "entry points missing" message (and each failed RT check) through LL_WARNS so it shows up in the log.
  • Log each RT check (extensions, features) individually, so a report says exactly which one failed.
  • Make sure device selection prefers the discrete GPU over the iGPU.
  • Optional: a tooltip on the greyed entry saying why ("GPU/driver does not support ray queries" vs "disabled by RenderVKRayTracing").
A user on **Windows 11** with an **AMD Radeon RX 7600** (RDNA3, which has hardware RT) reports that **Ray traced** is greyed out in the Projector Shadows dropdown. ## How the option is gated - `llfloaterpreferencesgraphicsadvanced.cpp:393` enables the "Ray traced" entry only when `LLVulkanContext::rayTracingEnabled()` is true. - That is decided at device creation (`vk_device.cpp` ~623-750). It needs all of these: 1. `RenderVKRayTracing` is not 0 (default 1). 2. The device lists `VK_KHR_acceleration_structure`, `VK_KHR_ray_query` **and** `VK_KHR_deferred_host_operations`. 3. The device reports the features `accelerationStructure`, `rayQuery` and `bufferDeviceAddress`. 4. All seven acceleration-structure entry points load. If they don't, we print `RT: acceleration-structure entry points missing` to **stderr only**, so it never reaches Slipstream.log on Windows. - The Info log line `RT: requested=… supported=… enabled=…` (`llvulkancontext.cpp:145`) says which stage failed. ## Likely causes to check - **Wrong GPU picked.** Ryzen 7000/9000 CPUs have an integrated Radeon GPU that exposes no RT. If our physical-device selection chooses the iGPU (or enumeration order differs on Windows), RT reports unsupported. The log's Vulkan device name will show this. - **Driver.** An old Adrenalin driver, or Windows Update's stock driver, may not expose `VK_KHR_ray_query`. Ask for the driver version. - **Shadows combo.** The whole dropdown is disabled unless Shadows is set to "Sun/Moon + Projectors" (`RenderShadowDetail` >= 2). Confirm it's only the RT entry that's grey. - `RenderVKRayTracing` set to 0 in their settings. ## To do - [ ] Get Slipstream.log from the user: the `RT: requested= supported= enabled=` line, the chosen Vulkan device name and the driver version. - [ ] Route the "entry points missing" message (and each failed RT check) through `LL_WARNS` so it shows up in the log. - [ ] Log each RT check (extensions, features) individually, so a report says exactly which one failed. - [ ] Make sure device selection prefers the discrete GPU over the iGPU. - [ ] Optional: a tooltip on the greyed entry saying why ("GPU/driver does not support ray queries" vs "disabled by RenderVKRayTracing").
Author
Owner

The reporter sent the Info section of their About window:

Graphics Card Vendor: ATI
Graphics Card: AMD Radeon RX 7600
Windows Graphics Driver Version: 32.0.31041.1004
OpenGL Version: Vulkan 1.4.349

("OpenGL Version" is just a mislabel; it's the Vulkan API version, and it's being fixed separately.)

What this tells us:

  • The discrete GPU is the one in use. The Vulkan device name is the RX 7600, so the iGPU theory is ruled out.
  • The driver is recent. It reports Vulkan 1.4, and a driver that new exposes VK_KHR_ray_query / VK_KHR_acceleration_structure on RDNA3, so an old driver is unlikely.

That leaves these, in order:

  1. The whole Projector Shadows dropdown is disabled because Shadows isn't "Sun/Moon + Projectors". Ask whether the other entries are selectable.
  2. RenderVKRayTracing = 0 in their settings.
  3. One of the device checks fails on AMD Windows: VK_KHR_deferred_host_operations not listed, a feature bit (accelerationStructure / rayQuery / bufferDeviceAddress) not reported, or an entry point that doesn't load (that failure goes to stderr only).

Next: get the RT: requested= supported= enabled= line from their Slipstream.log. That line separates cause 2 (requested=0) from cause 3 (supported=0, or supported=1 with enabled=0). Logging each individual check would pin down which one fails on this driver.

The reporter sent the Info section of their About window: ``` Graphics Card Vendor: ATI Graphics Card: AMD Radeon RX 7600 Windows Graphics Driver Version: 32.0.31041.1004 OpenGL Version: Vulkan 1.4.349 ``` ("OpenGL Version" is just a mislabel; it's the Vulkan API version, and it's being fixed separately.) What this tells us: - **The discrete GPU is the one in use.** The Vulkan device name is the RX 7600, so the iGPU theory is ruled out. - **The driver is recent.** It reports Vulkan 1.4, and a driver that new exposes `VK_KHR_ray_query` / `VK_KHR_acceleration_structure` on RDNA3, so an old driver is unlikely. That leaves these, in order: 1. The whole Projector Shadows dropdown is disabled because Shadows isn't "Sun/Moon + Projectors". Ask whether the other entries are selectable. 2. `RenderVKRayTracing` = 0 in their settings. 3. One of the device checks fails on AMD Windows: `VK_KHR_deferred_host_operations` not listed, a feature bit (`accelerationStructure` / `rayQuery` / `bufferDeviceAddress`) not reported, or an entry point that doesn't load (that failure goes to stderr only). Next: get the `RT: requested= supported= enabled=` line from their Slipstream.log. That line separates cause 2 (requested=0) from cause 3 (supported=0, or supported=1 with enabled=0). Logging each individual check would pin down which one fails on this driver.
Author
Owner

Root cause found: a UI refresh bug. The RX 7600 / driver were fine.

The reporter's About window showed ray tracing enabled, but "Ray traced" stayed greyed out until they raised the overall graphics quality slider to High.

Why that happened:

  • The Projector Shadows dropdown is only enabled when Shadows = "Sun/Moon + Projectors" (RenderShadowDetail >= 2).
  • That check runs in LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState(), but the Shadows combo has no commit hook.
  • So at a lower preset (Shadows below 2), setting Shadows to "Sun/Moon + Projectors" by hand left Projector Shadows greyed.
  • Only a full floater refresh re-enabled it, which is what moving the quality slider triggers.

The quality slider never hid the setting; it just happened to cause the refresh.

Fix: the floater now listens to the RenderShadowDetail setting and re-runs the enable check on any change (the Shadows combo, Quick Prefs, presets, debug settings).

The diagnostics added earlier for this ticket stay: the "Ray Tracing:" line in About, and the reason in the tooltip when ray tracing really is unavailable.

**Root cause found: a UI refresh bug. The RX 7600 / driver were fine.** The reporter's About window showed ray tracing enabled, but "Ray traced" stayed greyed out until they raised the overall graphics quality slider to High. Why that happened: - The Projector Shadows dropdown is only enabled when Shadows = "Sun/Moon + Projectors" (`RenderShadowDetail >= 2`). - That check runs in `LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState()`, but the Shadows combo has **no commit hook**. - So at a lower preset (Shadows below 2), setting Shadows to "Sun/Moon + Projectors" by hand left Projector Shadows greyed. - Only a full floater refresh re-enabled it, which is what moving the quality slider triggers. The quality slider never hid the setting; it just happened to cause the refresh. Fix: the floater now listens to the `RenderShadowDetail` setting and re-runs the enable check on any change (the Shadows combo, Quick Prefs, presets, debug settings). The diagnostics added earlier for this ticket stay: the "Ray Tracing:" line in About, and the reason in the tooltip when ray tracing really is unavailable.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#155
No description provided.