Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/cycles/device/hip/device_impl.cpp')
-rw-r--r--intern/cycles/device/hip/device_impl.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/intern/cycles/device/hip/device_impl.cpp b/intern/cycles/device/hip/device_impl.cpp
index a71fc4b888b..db93ecd8474 100644
--- a/intern/cycles/device/hip/device_impl.cpp
+++ b/intern/cycles/device/hip/device_impl.cpp
@@ -146,12 +146,18 @@ HIPDevice::~HIPDevice()
bool HIPDevice::support_device(const uint /*kernel_features*/)
{
- int major, minor;
- hipDeviceGetAttribute(&major, hipDeviceAttributeComputeCapabilityMajor, hipDevId);
- hipDeviceGetAttribute(&minor, hipDeviceAttributeComputeCapabilityMinor, hipDevId);
+ if (hipSupportsDevice(hipDevId)) {
+ return true;
+ }
+ else {
+ /* We only support Navi and above. */
+ hipDeviceProp_t props;
+ hipGetDeviceProperties(&props, hipDevId);
- // TODO : (Arya) What versions do we plan to support?
- return true;
+ set_error(string_printf("HIP backend requires AMD RDNA2 graphics card or up, but found %s.",
+ props.name));
+ return false;
+ }
}
bool HIPDevice::check_peer_access(Device *peer_device)
@@ -391,8 +397,9 @@ bool HIPDevice::load_kernels(const uint kernel_features)
return false;
/* check if GPU is supported */
- if (!support_device(kernel_features))
+ if (!support_device(kernel_features)) {
return false;
+ }
/* get kernel */
const char *kernel_name = "kernel";