Fix #137420: RDNA1 renders the Principled BSDF incorrectly in some scenes

This commits fixes a issue where RDNA1 GPUs with the HIP backend in
Cycles would render some scenes incorrectly.

This is done by setting the optimization level for RDNA1 GPUs to `O1`
for RDNA1 GPUs when compiling HIP kernels on Windows.

Pull Request: https://projects.blender.org/blender/blender/pulls/137421
This commit is contained in:
Alaska
2025-04-14 12:59:12 +02:00
committed by Thomas Dinges
parent b54b679230
commit 40587d2781
+2 -1
View File
@@ -691,9 +691,10 @@ if(WITH_CYCLES_HIP_BINARIES AND WITH_CYCLES_DEVICE_HIP)
# or render improperly with specific combinations of device and/or compiler.
# - Vega (gfx90x) fails to render some scenes
# - Other GPUs (E.g. RDNA3) render volumes improperly with HIP 6.1.40252
# - RDNA1 (gfx101x) renders the Principled BSDF incorrectly in some scenes with HIP 6.3.42560
# A workaround is to set -O1 opt level during kernel compilation for these
# configurations.
if(WIN32 AND ((${arch} MATCHES "gfx90[a-z0-9]+") OR (${HIP_VERSION} STREQUAL "6.1.40252")))
if(WIN32 AND ((${arch} MATCHES "gfx90[a-z0-9]+") OR (${HIP_VERSION} STREQUAL "6.1.40252") OR ((${arch} MATCHES "gfx101[a-z0-9]") AND (${HIP_VERSION} STREQUAL "6.3.42560"))))
set(hip_opt_flags "-O1")
else()
set(hip_opt_flags)