aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/Gustav-Simonsson/go-opencl/cl/image.go
diff options
context:
space:
mode:
Diffstat (limited to 'Godeps/_workspace/src/github.com/Gustav-Simonsson/go-opencl/cl/image.go')
-rw-r--r--Godeps/_workspace/src/github.com/Gustav-Simonsson/go-opencl/cl/image.go83
1 files changed, 0 insertions, 83 deletions
diff --git a/Godeps/_workspace/src/github.com/Gustav-Simonsson/go-opencl/cl/image.go b/Godeps/_workspace/src/github.com/Gustav-Simonsson/go-opencl/cl/image.go
deleted file mode 100644
index d6a996377..000000000
--- a/Godeps/_workspace/src/github.com/Gustav-Simonsson/go-opencl/cl/image.go
+++ /dev/null
@@ -1,83 +0,0 @@
-// +build cl12
-
-package cl
-
-// #ifdef __APPLE__
-// #include "OpenCL/opencl.h"
-// #else
-// #include "cl.h"
-// #endif
-import "C"
-import (
- "image"
- "unsafe"
-)
-
-func (ctx *Context) CreateImage(flags MemFlag, imageFormat ImageFormat, imageDesc ImageDescription, data []byte) (*MemObject, error) {
- format := imageFormat.toCl()
- desc := imageDesc.toCl()
- var dataPtr unsafe.Pointer
- if data != nil {
- dataPtr = unsafe.Pointer(&data[0])
- }
- var err C.cl_int
- clBuffer := C.clCreateImage(ctx.clContext, C.cl_mem_flags(flags), &format, &desc, dataPtr, &err)
- if err != C.CL_SUCCESS {
- return nil, toError(err)
- }
- if clBuffer == nil {
- return nil, ErrUnknown
- }
- return newMemObject(clBuffer, len(data)), nil
-}
-
-func (ctx *Context) CreateImageSimple(flags MemFlag, width, height int, channelOrder ChannelOrder, channelDataType ChannelDataType, data []byte) (*MemObject, error) {
- format := ImageFormat{channelOrder, channelDataType}
- desc := ImageDescription{
- Type: MemObjectTypeImage2D,
- Width: width,
- Height: height,
- }
- return ctx.CreateImage(flags, format, desc, data)
-}
-
-func (ctx *Context) CreateImageFromImage(flags MemFlag, img image.Image) (*MemObject, error) {
- switch m := img.(type) {
- case *image.Gray:
- format := ImageFormat{ChannelOrderIntensity, ChannelDataTypeUNormInt8}
- desc := ImageDescription{
- Type: MemObjectTypeImage2D,
- Width: m.Bounds().Dx(),
- Height: m.Bounds().Dy(),
- RowPitch: m.Stride,
- }
- return ctx.CreateImage(flags, format, desc, m.Pix)
- case *image.RGBA:
- format := ImageFormat{ChannelOrderRGBA, ChannelDataTypeUNormInt8}
- desc := ImageDescription{
- Type: MemObjectTypeImage2D,
- Width: m.Bounds().Dx(),
- Height: m.Bounds().Dy(),
- RowPitch: m.Stride,
- }
- return ctx.CreateImage(flags, format, desc, m.Pix)
- }
-
- b := img.Bounds()
- w := b.Dx()
- h := b.Dy()
- data := make([]byte, w*h*4)
- dataOffset := 0
- for y := 0; y < h; y++ {
- for x := 0; x < w; x++ {
- c := img.At(x+b.Min.X, y+b.Min.Y)
- r, g, b, a := c.RGBA()
- data[dataOffset] = uint8(r >> 8)
- data[dataOffset+1] = uint8(g >> 8)
- data[dataOffset+2] = uint8(b >> 8)
- data[dataOffset+3] = uint8(a >> 8)
- dataOffset += 4
- }
- }
- return ctx.CreateImageSimple(flags, w, h, ChannelOrderRGBA, ChannelDataTypeUNormInt8, data)
-}