[arrayfire] 158/248: Add s16 and u16 types to image (graphics)

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Tue Nov 17 15:54:21 UTC 2015


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch dfsg-clean
in repository arrayfire.

commit 86457a9a6b1a8e92e449834abdd7ece1511636ba
Author: Shehzan Mohammed <shehzan at arrayfire.com>
Date:   Thu Oct 29 21:51:11 2015 -0400

    Add s16 and u16 types to image (graphics)
---
 src/api/c/graphics_common.cpp |  4 ++++
 src/api/c/image.cpp           | 15 ++++++++-------
 src/backend/cuda/image.cu     |  2 ++
 src/backend/opencl/image.cpp  |  2 ++
 4 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/src/api/c/graphics_common.cpp b/src/api/c/graphics_common.cpp
index df0ecf9..fe68acb 100644
--- a/src/api/c/graphics_common.cpp
+++ b/src/api/c/graphics_common.cpp
@@ -27,6 +27,8 @@ INSTANTIATE_GET_FG_TYPE(int  , fg::s32);
 INSTANTIATE_GET_FG_TYPE(unsigned, fg::u32);
 INSTANTIATE_GET_FG_TYPE(char, fg::s8);
 INSTANTIATE_GET_FG_TYPE(unsigned char, fg::u8);
+INSTANTIATE_GET_FG_TYPE(ushort, fg::u16);
+INSTANTIATE_GET_FG_TYPE(short, fg::s16);
 
 GLenum glErrorSkip(const char *msg, const char* file, int line)
 {
@@ -78,6 +80,8 @@ size_t getTypeSize(GLenum type)
         case GL_FLOAT:          return sizeof(float);
         case GL_INT:            return sizeof(int  );
         case GL_UNSIGNED_INT:   return sizeof(unsigned);
+        case GL_SHORT:          return sizeof(short);
+        case GL_UNSIGNED_SHORT: return sizeof(ushort);
         case GL_BYTE:           return sizeof(char );
         case GL_UNSIGNED_BYTE:  return sizeof(unsigned char);
         default: return sizeof(float);
diff --git a/src/api/c/image.cpp b/src/api/c/image.cpp
index 73dbbbc..ee2520c 100644
--- a/src/api/c/image.cpp
+++ b/src/api/c/image.cpp
@@ -40,8 +40,7 @@ Array<T> normalizePerType(const Array<T>& in)
 {
     Array<float> inFloat = cast<float, T>(in);
 
-    Array<float> cnst = createValueArray<float>(in.dims(),
-                             std::numeric_limits<T>::max()/(255.0f+1.0e-6f));
+    Array<float> cnst = createValueArray<float>(in.dims(), 1.0 - 1.0e-6f);
 
     Array<float> scaled = arithOp<float, af_mul_t>(inFloat, cnst, in.dims());
 
@@ -97,11 +96,13 @@ af_err af_draw_image(const af_window wind, const af_array in, const af_cell* con
         fg::Image* image = NULL;
 
         switch(type) {
-            case f32: image = convert_and_copy_image<float>(in); break;
-            case b8 : image = convert_and_copy_image<char >(in); break;
-            case s32: image = convert_and_copy_image<int  >(in); break;
-            case u32: image = convert_and_copy_image<uint >(in); break;
-            case u8 : image = convert_and_copy_image<uchar>(in); break;
+            case f32: image = convert_and_copy_image<float >(in); break;
+            case b8 : image = convert_and_copy_image<char  >(in); break;
+            case s32: image = convert_and_copy_image<int   >(in); break;
+            case u32: image = convert_and_copy_image<uint  >(in); break;
+            case s16: image = convert_and_copy_image<short >(in); break;
+            case u16: image = convert_and_copy_image<ushort>(in); break;
+            case u8 : image = convert_and_copy_image<uchar >(in); break;
             default:  TYPE_ERROR(1, type);
         }
 
diff --git a/src/backend/cuda/image.cu b/src/backend/cuda/image.cu
index 7370fb2..a99c792 100644
--- a/src/backend/cuda/image.cu
+++ b/src/backend/cuda/image.cu
@@ -53,6 +53,8 @@ INSTANTIATE(int)
 INSTANTIATE(uint)
 INSTANTIATE(uchar)
 INSTANTIATE(char)
+INSTANTIATE(ushort)
+INSTANTIATE(short)
 
 }
 
diff --git a/src/backend/opencl/image.cpp b/src/backend/opencl/image.cpp
index 1ee886b..1c7229b 100644
--- a/src/backend/opencl/image.cpp
+++ b/src/backend/opencl/image.cpp
@@ -69,6 +69,8 @@ INSTANTIATE(int)
 INSTANTIATE(uint)
 INSTANTIATE(uchar)
 INSTANTIATE(char)
+INSTANTIATE(ushort)
+INSTANTIATE(short)
 
 }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/arrayfire.git



More information about the debian-science-commits mailing list