From 9d1e4bc477da0b19607b337a82d4a3ccace89c74 Mon Sep 17 00:00:00 2001 From: Daniel Koch Date: Fri, 18 Nov 2022 19:19:51 -0500 Subject: [PATCH] Make application_parameters tests fail without vendor-specific info VK-GL-CTS issue: 4018 The "invalid_param_value" and "valid" test variants need vendor-specific values to be added to the test case. Previously this reported "unsupported" if the necessary values aren't added. It was believe this could be easily missed by vendors, so changing this to an error as agreed. Note that with this change, if an implementation supportsi VK_EXT_application_parameters and does nothing else - there will be 4 failures. Component: VulkanSC Affects: dEQP-VKSC.sc.application_parameters.* Change-Id: I76a1901cc15e0966ffdd00a817aebbeb72f7d019 --- .../vulkan/sc/vktApplicationParametersTests.cpp | 81 +++++++++++++--------- 1 file changed, 47 insertions(+), 34 deletions(-) diff --git a/external/vulkancts/modules/vulkan/sc/vktApplicationParametersTests.cpp b/external/vulkancts/modules/vulkan/sc/vktApplicationParametersTests.cpp index 2a2d70a..00df519 100755 --- a/external/vulkancts/modules/vulkan/sc/vktApplicationParametersTests.cpp +++ b/external/vulkancts/modules/vulkan/sc/vktApplicationParametersTests.cpp @@ -125,45 +125,58 @@ std::vector getTestDataList(Context& context, TestParams testParams) readIDsFromDevice(context, vendorId, deviceId); +//#define VENDOR_PARAMS_ADDED 1 +#if defined(VENDOR_PARAMS_ADDED) + uint32_t validVendorID = vendorId; + uint32_t validDeviceID = deviceId; + uint32_t validInstanceParamKey = 0; // TODO: provide valid instance parameter key + uint64_t invalidInstanceParamValue = 0; // TODO: provide invalid parameter value for + uint64_t validInstanceParamValue = 0; // TODO: provide valid parameter value for + uint32_t validDeviceParamKey = 0; // TODO: provide valid device parameter key + uint64_t invalidDeviceParamValue = 0; // TODO: provide invalid parameter value for + uint64_t validDeviceParamValue = 0; // TODO: provide valid parameter value for +#endif + const std::vector vendorTestDataList = { // The invalid param value and valid tests need to use vendor-specific application // parameter keys and values. In order to have full test coverage, vendors should // provide their own test data for the invalid param value and valid tests here. - // For example: // - // { - // { INSTANCE, INVALID_PARAM_VALUE }, - // validVendorID, - // validDeviceID, - // validParamKey, - // invalidParamValue, - // VK_ERROR_INITIALIZATION_FAILED - // }, - // { - // { INSTANCE, VALID }, - // validVendorID, - // validDeviceID, - // validParamKey, - // validParamValue, - // VK_SUCCESS - // }, - // { - // { DEVICE, INVALID_PARAM_VALUE }, - // validVendorID, - // validDeviceID, - // validParamKey, - // invalidParamValue, - // VK_ERROR_INITIALIZATION_FAILED - // }, - // { - // { DEVICE, VALID }, - // validVendorID, - // validDeviceID, - // validParamKey, - // validParamValue, - // VK_SUCCESS - // } +#if defined(VENDOR_PARAMS_ADDED) + { + { INSTANCE, INVALID_PARAM_VALUE }, + validVendorID, + validDeviceID, + validInstanceParamKey, + invalidInstanceParamValue, + VK_ERROR_INITIALIZATION_FAILED + }, + { + { INSTANCE, VALID }, + validVendorID, + validDeviceID, + validInstanceParamKey, + validInstanceParamValue, + VK_SUCCESS + }, + { + { DEVICE, INVALID_PARAM_VALUE }, + validVendorID, + validDeviceID, + validDeviceParamKey, + invalidDeviceParamValue, + VK_ERROR_INITIALIZATION_FAILED + }, + { + { DEVICE, VALID }, + validVendorID, + validDeviceID, + validDeviceParamKey, + validDeviceParamValue, + VK_SUCCESS + } +#endif // defined(VENDOR_PARAMS_ADDED) }; if (testParams.testType != INVALID_PARAM_VALUE && testParams.testType != VALID) @@ -193,7 +206,7 @@ void checkSupport (Context& context, TestParams testParams) const std::vector testDataList = getTestDataList(context, testParams); if (testDataList.empty()) - TCU_THROW(NotSupportedError, "No test data available"); + TCU_THROW(TestError, "No test data available - please update vendorTestDataList"); } tcu::TestStatus createDeviceTest (Context& context, TestParams testParams) -- 2.7.4