|
5 | 5 |
|
6 | 6 | #include <uur/fixtures.h>
|
7 | 7 |
|
8 |
| -using urSamplerGetInfoTestWithParam = |
9 |
| - uur::urSamplerTestWithParam<ur_sampler_info_t>; |
10 |
| -UUR_TEST_SUITE_P(urSamplerGetInfoTestWithParam, |
11 |
| - ::testing::Values(UR_SAMPLER_INFO_REFERENCE_COUNT, |
12 |
| - UR_SAMPLER_INFO_CONTEXT, |
13 |
| - UR_SAMPLER_INFO_NORMALIZED_COORDS, |
14 |
| - UR_SAMPLER_INFO_ADDRESSING_MODE, |
15 |
| - UR_SAMPLER_INFO_FILTER_MODE), |
16 |
| - uur::deviceTestWithParamPrinter<ur_sampler_info_t>); |
17 |
| - |
18 |
| -TEST_P(urSamplerGetInfoTestWithParam, Success) { |
| 8 | +using urSamplerGetInfoTest = uur::urSamplerTest; |
| 9 | +UUR_INSTANTIATE_DEVICE_TEST_SUITE_P(urSamplerGetInfoTest); |
| 10 | + |
| 11 | +TEST_P(urSamplerGetInfoTest, SuccessReferenceCount) { |
19 | 12 | size_t size = 0;
|
20 |
| - ur_sampler_info_t info = getParam(); |
21 |
| - ASSERT_SUCCESS_OR_OPTIONAL_QUERY( |
22 |
| - urSamplerGetInfo(sampler, info, 0, nullptr, &size), info); |
23 |
| - ASSERT_NE(size, 0); |
24 |
| - std::vector<uint8_t> infoData(size); |
| 13 | + auto infoType = UR_SAMPLER_INFO_REFERENCE_COUNT; |
| 14 | + ASSERT_SUCCESS(urSamplerGetInfo(sampler, infoType, 0, nullptr, &size)); |
| 15 | + ASSERT_EQ(sizeof(uint32_t), size); |
| 16 | + |
| 17 | + uint32_t returned_reference_count = 0; |
| 18 | + ASSERT_SUCCESS(urSamplerGetInfo(sampler, infoType, size, |
| 19 | + &returned_reference_count, nullptr)); |
| 20 | + |
| 21 | + ASSERT_GT(returned_reference_count, 0U); |
| 22 | +} |
| 23 | + |
| 24 | +TEST_P(urSamplerGetInfoTest, SuccessContext) { |
| 25 | + size_t size = 0; |
| 26 | + auto infoType = UR_SAMPLER_INFO_CONTEXT; |
| 27 | + ASSERT_SUCCESS(urSamplerGetInfo(sampler, infoType, 0, nullptr, &size)); |
| 28 | + ASSERT_EQ(sizeof(ur_context_handle_t), size); |
| 29 | + |
| 30 | + ur_context_handle_t returned_context = nullptr; |
25 | 31 | ASSERT_SUCCESS(
|
26 |
| - urSamplerGetInfo(sampler, info, size, infoData.data(), nullptr)); |
27 |
| - |
28 |
| - switch (info) { |
29 |
| - case UR_SAMPLER_INFO_REFERENCE_COUNT: { |
30 |
| - auto *value = reinterpret_cast<uint32_t *>(infoData.data()); |
31 |
| - ASSERT_TRUE(*value > 0); |
32 |
| - break; |
33 |
| - } |
34 |
| - case UR_SAMPLER_INFO_CONTEXT: { |
35 |
| - auto *value = reinterpret_cast<ur_context_handle_t *>(infoData.data()); |
36 |
| - ASSERT_EQ(*value, this->context); |
37 |
| - break; |
38 |
| - } |
39 |
| - case UR_SAMPLER_INFO_NORMALIZED_COORDS: { |
40 |
| - auto *value = reinterpret_cast<ur_bool_t *>(infoData.data()); |
41 |
| - ASSERT_EQ(*value, sampler_desc.normalizedCoords); |
42 |
| - break; |
43 |
| - } |
44 |
| - case UR_SAMPLER_INFO_ADDRESSING_MODE: { |
45 |
| - auto *value = |
46 |
| - reinterpret_cast<ur_sampler_addressing_mode_t *>(infoData.data()); |
47 |
| - ASSERT_EQ(*value, sampler_desc.addressingMode); |
48 |
| - break; |
49 |
| - } |
50 |
| - case UR_SAMPLER_INFO_FILTER_MODE: { |
51 |
| - auto *value = |
52 |
| - reinterpret_cast<ur_sampler_filter_mode_t *>(infoData.data()); |
53 |
| - ASSERT_EQ(*value, sampler_desc.filterMode); |
54 |
| - } |
55 |
| - default: |
56 |
| - break; |
57 |
| - } |
| 32 | + urSamplerGetInfo(sampler, infoType, size, &returned_context, nullptr)); |
| 33 | + |
| 34 | + ASSERT_EQ(returned_context, context); |
58 | 35 | }
|
59 | 36 |
|
60 |
| -using urSamplerGetInfoTest = uur::urSamplerTest; |
61 |
| -UUR_INSTANTIATE_DEVICE_TEST_SUITE_P(urSamplerGetInfoTest); |
| 37 | +TEST_P(urSamplerGetInfoTest, SuccessNormalizedCoords) { |
| 38 | + size_t size = 0; |
| 39 | + auto infoType = UR_SAMPLER_INFO_NORMALIZED_COORDS; |
| 40 | + ASSERT_SUCCESS(urSamplerGetInfo(sampler, infoType, 0, nullptr, &size)); |
| 41 | + ASSERT_EQ(sizeof(ur_bool_t), size); |
| 42 | +} |
| 43 | + |
| 44 | +TEST_P(urSamplerGetInfoTest, SuccessAddressingMode) { |
| 45 | + size_t size = 0; |
| 46 | + auto infoType = UR_SAMPLER_INFO_ADDRESSING_MODE; |
| 47 | + ASSERT_SUCCESS(urSamplerGetInfo(sampler, infoType, 0, nullptr, &size)); |
| 48 | + ASSERT_EQ(sizeof(ur_sampler_addressing_mode_t), size); |
| 49 | + |
| 50 | + ur_sampler_addressing_mode_t returned_mode = |
| 51 | + UR_SAMPLER_ADDRESSING_MODE_FORCE_UINT32; |
| 52 | + ASSERT_SUCCESS( |
| 53 | + urSamplerGetInfo(sampler, infoType, size, &returned_mode, nullptr)); |
| 54 | + |
| 55 | + ASSERT_GE(returned_mode, UR_SAMPLER_ADDRESSING_MODE_NONE); |
| 56 | + ASSERT_LT(returned_mode, UR_SAMPLER_ADDRESSING_MODE_FORCE_UINT32); |
| 57 | +} |
| 58 | + |
| 59 | +TEST_P(urSamplerGetInfoTest, SuccessFilterMode) { |
| 60 | + size_t size = 0; |
| 61 | + auto infoType = UR_SAMPLER_INFO_FILTER_MODE; |
| 62 | + ASSERT_SUCCESS(urSamplerGetInfo(sampler, infoType, 0, nullptr, &size)); |
| 63 | + ASSERT_EQ(sizeof(ur_sampler_filter_mode_t), size); |
| 64 | + |
| 65 | + ur_sampler_filter_mode_t returned_mode = |
| 66 | + UR_SAMPLER_FILTER_MODE_FORCE_UINT32; |
| 67 | + ASSERT_SUCCESS( |
| 68 | + urSamplerGetInfo(sampler, infoType, size, &returned_mode, nullptr)); |
| 69 | + |
| 70 | + ASSERT_GE(returned_mode, UR_SAMPLER_FILTER_MODE_NEAREST); |
| 71 | + ASSERT_LT(returned_mode, UR_SAMPLER_FILTER_MODE_FORCE_UINT32); |
| 72 | +} |
62 | 73 |
|
63 | 74 | TEST_P(urSamplerGetInfoTest, InvalidNullHandleSampler) {
|
64 | 75 | uint32_t refcount = 0;
|
@@ -88,14 +99,14 @@ TEST_P(urSamplerGetInfoTest, InvalidNullPointerPropValue) {
|
88 | 99 | }
|
89 | 100 |
|
90 | 101 | TEST_P(urSamplerGetInfoTest, InvalidSizePropSizeZero) {
|
91 |
| - ur_sampler_addressing_mode_t mode; |
| 102 | + ur_sampler_addressing_mode_t mode = UR_SAMPLER_ADDRESSING_MODE_NONE; |
92 | 103 | ASSERT_EQ_RESULT(urSamplerGetInfo(sampler, UR_SAMPLER_INFO_ADDRESSING_MODE,
|
93 | 104 | 0, &mode, nullptr),
|
94 | 105 | UR_RESULT_ERROR_INVALID_SIZE);
|
95 | 106 | }
|
96 | 107 |
|
97 | 108 | TEST_P(urSamplerGetInfoTest, InvalidSizePropSizeSmall) {
|
98 |
| - ur_sampler_addressing_mode_t mode; |
| 109 | + ur_sampler_addressing_mode_t mode = UR_SAMPLER_ADDRESSING_MODE_NONE; |
99 | 110 | ASSERT_EQ_RESULT(urSamplerGetInfo(sampler, UR_SAMPLER_INFO_ADDRESSING_MODE,
|
100 | 111 | sizeof(mode) - 1, &mode, nullptr),
|
101 | 112 | UR_RESULT_ERROR_INVALID_SIZE);
|
|
0 commit comments