From 4421713cd483623f857aa9cbe8e2c1eff18a98c3 Mon Sep 17 00:00:00 2001 From: Ben Ashbaugh Date: Wed, 9 Sep 2020 10:13:43 -0700 Subject: [PATCH] add checks for atomic feature consistency (#946) --- test_conformance/api/test_api_consistency.cpp | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/test_conformance/api/test_api_consistency.cpp b/test_conformance/api/test_api_consistency.cpp index 99d17e05..820f0032 100644 --- a/test_conformance/api/test_api_consistency.cpp +++ b/test_conformance/api/test_api_consistency.cpp @@ -160,15 +160,33 @@ static int check_atomic_capabilities(cl_device_atomic_capabilities atomicCaps, if ((atomicCaps & CL_DEVICE_ATOMIC_SCOPE_ALL_DEVICES) != 0 && (atomicCaps & CL_DEVICE_ATOMIC_SCOPE_DEVICE) == 0) { - log_info("Check: ATOMIC_SCOPE_ALL_DEVICES is supported, but " - "ATOMIC_SCOPE_DEVICE is not?\n"); + log_error("Support for CL_DEVICE_ATOMIC_SCOPE_ALL_DEVICES requires " + "support for CL_DEVICE_ATOMIC_SCOPE_DEVICE!\n"); + return TEST_FAIL; } if ((atomicCaps & CL_DEVICE_ATOMIC_SCOPE_DEVICE) != 0 && (atomicCaps & CL_DEVICE_ATOMIC_SCOPE_WORK_GROUP) == 0) { - log_info("Check: ATOMIC_SCOPE_DEVICE is supported, but " - "ATOMIC_SCOPE_WORK_GROUP is not?\n"); + log_error("Support for CL_DEVICE_ATOMIC_SCOPE_DEVICE requires " + "support for CL_DEVICE_ATOMIC_SCOPE_WORK_GROUP!\n"); + return TEST_FAIL; + } + + if ((atomicCaps & CL_DEVICE_ATOMIC_ORDER_SEQ_CST) != 0 + && (atomicCaps & CL_DEVICE_ATOMIC_ORDER_ACQ_REL) == 0) + { + log_error("Support for CL_DEVICE_ATOMIC_ORDER_SEQ_CST requires " + "support for CL_DEVICE_ATOMIC_ORDER_ACQ_REL!\n"); + return TEST_FAIL; + } + + if ((atomicCaps & CL_DEVICE_ATOMIC_ORDER_ACQ_REL) != 0 + && (atomicCaps & CL_DEVICE_ATOMIC_ORDER_RELAXED) == 0) + { + log_error("Support for CL_DEVICE_ATOMIC_ORDER_ACQ_REL requires " + "support for CL_DEVICE_ATOMIC_ORDER_RELAXED!\n"); + return TEST_FAIL; } return TEST_PASS;