summaryrefslogtreecommitdiffstats
path: root/libclc/generic
diff options
context:
space:
mode:
Diffstat (limited to 'libclc/generic')
-rw-r--r--libclc/generic/include/clc/clc.h4
-rw-r--r--libclc/generic/include/clc/image/image.h16
-rw-r--r--libclc/generic/lib/SOURCES1
-rw-r--r--libclc/generic/lib/image/get_image_dim.cl9
4 files changed, 30 insertions, 0 deletions
diff --git a/libclc/generic/include/clc/clc.h b/libclc/generic/include/clc/clc.h
index cab751d9b2f..4199842bc65 100644
--- a/libclc/generic/include/clc/clc.h
+++ b/libclc/generic/include/clc/clc.h
@@ -210,6 +210,10 @@
#include <clc/cl_khr_local_int32_extended_atomics/atom_or.h>
#include <clc/cl_khr_local_int32_extended_atomics/atom_xor.h>
+/* 6.11.13 Image Read and Write Functions */
+
+#include <clc/image/image.h>
+
/* libclc internal defintions */
#ifdef __CLC_INTERNAL
#include <math/clc_nextafter.h>
diff --git a/libclc/generic/include/clc/image/image.h b/libclc/generic/include/clc/image/image.h
new file mode 100644
index 00000000000..9c975635008
--- /dev/null
+++ b/libclc/generic/include/clc/image/image.h
@@ -0,0 +1,16 @@
+_CLC_OVERLOAD _CLC_DECL int get_image_width (image2d_t image);
+_CLC_OVERLOAD _CLC_DECL int get_image_width (image3d_t image);
+
+_CLC_OVERLOAD _CLC_DECL int get_image_height (image2d_t image);
+_CLC_OVERLOAD _CLC_DECL int get_image_height (image3d_t image);
+
+_CLC_OVERLOAD _CLC_DECL int get_image_depth (image3d_t image);
+
+_CLC_OVERLOAD _CLC_DECL int get_image_channel_data_type (image2d_t image);
+_CLC_OVERLOAD _CLC_DECL int get_image_channel_data_type (image3d_t image);
+
+_CLC_OVERLOAD _CLC_DECL int get_image_channel_order (image2d_t image);
+_CLC_OVERLOAD _CLC_DECL int get_image_channel_order (image3d_t image);
+
+_CLC_OVERLOAD _CLC_DECL int2 get_image_dim (image2d_t image);
+_CLC_OVERLOAD _CLC_DECL int4 get_image_dim (image3d_t image);
diff --git a/libclc/generic/lib/SOURCES b/libclc/generic/lib/SOURCES
index a5ee9f81af8..453570c278c 100644
--- a/libclc/generic/lib/SOURCES
+++ b/libclc/generic/lib/SOURCES
@@ -133,3 +133,4 @@ shared/vload.cl
shared/vstore.cl
workitem/get_global_id.cl
workitem/get_global_size.cl
+image/get_image_dim.cl
diff --git a/libclc/generic/lib/image/get_image_dim.cl b/libclc/generic/lib/image/get_image_dim.cl
new file mode 100644
index 00000000000..26dbd006bb2
--- /dev/null
+++ b/libclc/generic/lib/image/get_image_dim.cl
@@ -0,0 +1,9 @@
+#include <clc/clc.h>
+
+_CLC_OVERLOAD _CLC_DEF int2 get_image_dim (image2d_t image) {
+ return (int2)(get_image_width(image), get_image_height(image));
+}
+_CLC_OVERLOAD _CLC_DEF int4 get_image_dim (image3d_t image) {
+ return (int4)(get_image_width(image), get_image_height(image),
+ get_image_depth(image), 0);
+}
OpenPOWER on IntegriCloud