summaryrefslogtreecommitdiff
path: root/utests/compiler_get_image_info.cpp
diff options
context:
space:
mode:
authorZhigang Gong <zhigang.gong@linux.intel.com>2013-05-20 16:41:28 +0800
committerZhigang Gong <zhigang.gong@linux.intel.com>2013-05-21 16:44:09 +0800
commit29a95a46f8e31d73b58be031aa6a7342eedfa887 (patch)
tree068644dd1ba314157d063893d4e1c840fa9dd73e /utests/compiler_get_image_info.cpp
parentaf5abf2fe6eb24e6f0ed31c62da68fd5de585e94 (diff)
downloadbeignet-29a95a46f8e31d73b58be031aa6a7342eedfa887.tar.gz
utests: extent get_image_size cases to other informations..
Extent it to test all the supported image informations. Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com> Tested-by: Simon Richter <Simon.Richter@hogyros.de>
Diffstat (limited to 'utests/compiler_get_image_info.cpp')
-rw-r--r--utests/compiler_get_image_info.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/utests/compiler_get_image_info.cpp b/utests/compiler_get_image_info.cpp
new file mode 100644
index 00000000..3b9d132e
--- /dev/null
+++ b/utests/compiler_get_image_info.cpp
@@ -0,0 +1,50 @@
+#include "utest_helper.hpp"
+
+static void compiler_get_image_info(void)
+{
+ const size_t w = 256;
+ const size_t h = 512;
+ const size_t depth = 3;
+ cl_image_format format;
+ cl_image_desc desc;
+
+ format.image_channel_order = CL_RGBA;
+ format.image_channel_data_type = CL_UNSIGNED_INT8;
+ desc.image_type = CL_MEM_OBJECT_IMAGE3D;
+ desc.image_width = w;
+ desc.image_height = h;
+ desc.image_depth = depth;
+ desc.image_row_pitch = 0;
+ desc.image_slice_pitch = 0;
+ desc.num_mip_levels = 0;
+ desc.num_samples = 0;
+ desc.buffer = NULL;
+
+ // Setup kernel and images
+ OCL_CREATE_KERNEL("test_get_image_info");
+
+ OCL_CREATE_IMAGE(buf[0], 0, &format, &desc, NULL);
+ OCL_CREATE_BUFFER(buf[1], 0, 32 * sizeof(int), NULL);
+ OCL_CREATE_BUFFER(buf[2], 0, 32 * sizeof(int), NULL);
+
+ // Run the kernel
+ OCL_SET_ARG(0, sizeof(cl_mem), &buf[0]);
+ OCL_SET_ARG(1, sizeof(cl_mem), &buf[1]);
+ OCL_SET_ARG(2, sizeof(cl_mem), &buf[2]);
+ globals[0] = 32;
+ locals[0] = 16;
+ OCL_NDRANGE(1);
+
+ // Check result
+ OCL_MAP_BUFFER(1);
+ OCL_MAP_BUFFER(2);
+ for (uint32_t i = 0; i < 32; i++)
+ {
+ OCL_ASSERT(((uint32_t*)buf_data[1])[i] == ((w << 20) | (h << 8) | depth));
+ OCL_ASSERT(((uint32_t*)buf_data[2])[i] == ((CL_UNSIGNED_INT8 << 16) | CL_RGBA));
+ }
+ OCL_UNMAP_BUFFER(1);
+ OCL_UNMAP_BUFFER(2);
+}
+
+MAKE_UTEST_FROM_FUNCTION(compiler_get_image_info);