Mesa (main): microsoft/clc: Add a test for arg metadata

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Nov 15 16:18:25 UTC 2021


Module: Mesa
Branch: main
Commit: f0e5bc228cc8528de46dd7fa14c22fddf0578c11
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0e5bc228cc8528de46dd7fa14c22fddf0578c11

Author: Jesse Natalie <jenatali at microsoft.com>
Date:   Thu Nov 11 07:55:51 2021 -0800

microsoft/clc: Add a test for arg metadata

Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13759>

---

 src/microsoft/clc/clc_compiler_test.cpp | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/src/microsoft/clc/clc_compiler_test.cpp b/src/microsoft/clc/clc_compiler_test.cpp
index f5155c96c49..8454541f81b 100644
--- a/src/microsoft/clc/clc_compiler_test.cpp
+++ b/src/microsoft/clc/clc_compiler_test.cpp
@@ -2311,3 +2311,30 @@ TEST_F(ComputeTest, spec_constant)
    for (int i = 0; i < inout.size(); ++i)
       EXPECT_EQ(inout[i], expected[i]);
 }
+
+TEST_F(ComputeTest, arg_metadata)
+{
+   const char *kernel_source = R"(
+   __kernel void main_test(
+      __global int *undec_ptr,
+      __global volatile int *vol_ptr,
+      __global const int *const_ptr,
+      __global int *restrict restr_ptr,
+      __global const int *restrict const_restr_ptr,
+      __constant int *const_ptr2)
+   {
+   })";
+   Shader shader = compile({ kernel_source });
+   EXPECT_EQ(shader.metadata->kernels[0].args[0].address_qualifier, CLC_KERNEL_ARG_ADDRESS_GLOBAL);
+   EXPECT_EQ(shader.metadata->kernels[0].args[0].type_qualifier, 0);
+   EXPECT_EQ(shader.metadata->kernels[0].args[1].address_qualifier, CLC_KERNEL_ARG_ADDRESS_GLOBAL);
+   EXPECT_EQ(shader.metadata->kernels[0].args[1].type_qualifier, CLC_KERNEL_ARG_TYPE_VOLATILE);
+   EXPECT_EQ(shader.metadata->kernels[0].args[2].address_qualifier, CLC_KERNEL_ARG_ADDRESS_GLOBAL);
+   EXPECT_EQ(shader.metadata->kernels[0].args[2].type_qualifier, CLC_KERNEL_ARG_TYPE_CONST);
+   EXPECT_EQ(shader.metadata->kernels[0].args[3].address_qualifier, CLC_KERNEL_ARG_ADDRESS_GLOBAL);
+   EXPECT_EQ(shader.metadata->kernels[0].args[3].type_qualifier, CLC_KERNEL_ARG_TYPE_RESTRICT);
+   EXPECT_EQ(shader.metadata->kernels[0].args[4].address_qualifier, CLC_KERNEL_ARG_ADDRESS_GLOBAL);
+   EXPECT_EQ(shader.metadata->kernels[0].args[4].type_qualifier, CLC_KERNEL_ARG_TYPE_RESTRICT | CLC_KERNEL_ARG_TYPE_CONST);
+   EXPECT_EQ(shader.metadata->kernels[0].args[5].address_qualifier, CLC_KERNEL_ARG_ADDRESS_CONSTANT);
+   EXPECT_EQ(shader.metadata->kernels[0].args[5].type_qualifier, CLC_KERNEL_ARG_TYPE_CONST);
+}



More information about the mesa-commit mailing list