summaryrefslogtreecommitdiff
path: root/generic
diff options
context:
space:
mode:
Diffstat (limited to 'generic')
-rw-r--r--generic/include/clc/clc.h3
-rw-r--r--generic/include/clc/image/image2d.h3
-rw-r--r--generic/lib/SOURCES2
-rw-r--r--generic/lib/image/image2d.cl10
-rw-r--r--generic/lib/image/image2d.ll42
5 files changed, 6 insertions, 54 deletions
diff --git a/generic/include/clc/clc.h b/generic/include/clc/clc.h
index 9a2f443..126cc7c 100644
--- a/generic/include/clc/clc.h
+++ b/generic/include/clc/clc.h
@@ -92,4 +92,7 @@
#include <clc/synchronization/cl_mem_fence_flags.h>
#include <clc/synchronization/barrier.h>
+/* 6.11.13 Image Read and Write Functions */
+
+#include <clc/image/image2d.h>
#pragma OPENCL EXTENSION all : disable
diff --git a/generic/include/clc/image/image2d.h b/generic/include/clc/image/image2d.h
index 1c6a6ce..b7c5cb4 100644
--- a/generic/include/clc/image/image2d.h
+++ b/generic/include/clc/image/image2d.h
@@ -1 +1,4 @@
+_CLC_OVERLOAD _CLC_DEF float4 read_imagef (image2d_t, sampler_t, int2);
_CLC_OVERLOAD _CLC_DEF float4 read_imagef (image2d_t, sampler_t, float2);
+
+_CLC_OVERLOAD _CLC_DEF void write_imagef (image2d_t, int2, float4);
diff --git a/generic/lib/SOURCES b/generic/lib/SOURCES
index eeedecd..9ac08bd 100644
--- a/generic/lib/SOURCES
+++ b/generic/lib/SOURCES
@@ -32,5 +32,3 @@ shared/vstore.cl
shared/vstore_impl.ll
workitem/get_global_id.cl
workitem/get_global_size.cl
-image/image2d.cl
-image/image2d.ll
diff --git a/generic/lib/image/image2d.cl b/generic/lib/image/image2d.cl
deleted file mode 100644
index 24315a5..0000000
--- a/generic/lib/image/image2d.cl
+++ /dev/null
@@ -1,10 +0,0 @@
-#define cl_clang_storage_class_specifiers
-#include <clc/clc.h>
-#include <clc/image/image2d.h>
-
-_CLC_DECL inline float4 __read_imagef(image2d_t, sampler_t, float2);
-
-_CLC_OVERLOAD _CLC_DEF inline float4 read_imagef (image2d_t image, sampler_t sampler, float2 coord) {
- return __read_imagef(image, sampler, coord);
-}
-
diff --git a/generic/lib/image/image2d.ll b/generic/lib/image/image2d.ll
deleted file mode 100644
index c65937a..0000000
--- a/generic/lib/image/image2d.ll
+++ /dev/null
@@ -1,42 +0,0 @@
-%opencl.image2d_t = type opaque
-
-; declare <4 x float> @llvm.AMDGPU.tex(<4 x float>, i32, i32, i32) readnone
-declare <4 x float> @llvm.AMDGPU.tex(<4 x float>, i32, i32, i32) readnone
-
-declare <4 x float> @llvm.AMDGPU.dummytex(<4 x float>, %opencl.image2d_t*, i32, i32) readnone
-
-; NOTE: image=resoureID, sampler=sampler_id must be immeds, so they are patched by separate llvm pass
-
-; define <4 x float> @__read_imagef_norm(i32 %image, i32 %sampler, <4 x float> %coord) nounwind readnone alwaysinline {
-; %call = call <4 x float> @llvm.AMDGPU.tex (<4 x float> %coord, i32 0, i32 0, i32 1)
-; ret <4 x float> %call
-; }
-
-; define <4 x float> @__read_imagef_unorm(i32 %image, i32 %sampler, <4 x float> %coord) nounwind readnone alwaysinline {
-; %call = call <4 x float> @llvm.AMDGPU.tex (<4 x float> %coord, i32 0, i32 0, i32 0)
-; ret <4 x float> %call
-; }
-
-define <4 x float> @__read_imagef(%opencl.image2d_t* nocapture %image, i32 %sampler, <2 x float> %coord) alwaysinline {
-entry:
- %0 = extractelement <2 x float> %coord, i32 0
- %vecinit = insertelement <4 x float> undef, float %0, i32 0
- %1 = extractelement <2 x float> %coord, i32 1
- %vecinit1 = insertelement <4 x float> %vecinit, float %1, i32 1
- %vecinit2 = insertelement <4 x float> %vecinit1, float 0.000000e+00, i32 2
- %vecinit3 = insertelement <4 x float> %vecinit2, float 0.000000e+00, i32 3
- %tobool = icmp eq i32 %sampler, 0
- br i1 %tobool, label %if.else, label %if.then
-
-if.then: ; preds = %entry
- %call.i = call <4 x float> @llvm.AMDGPU.dummytex(<4 x float> %vecinit3, %opencl.image2d_t* %image, i32 %sampler, i32 1)
- br label %return
-
-if.else: ; preds = %entry
- %call.i1 = call <4 x float> @llvm.AMDGPU.dummytex(<4 x float> %vecinit3, %opencl.image2d_t* %image, i32 %sampler, i32 0)
- br label %return
-
-return: ; preds = %if.else, %if.then
- %retval.0 = phi <4 x float> [ %call.i, %if.then ], [ %call.i1, %if.else ]
- ret <4 x float> %retval.0
-}