public static extern IntPtr clCreateImage2D(
     IntPtr context,
     MemoryFlags allocationAndUsage,
     ref CLImageFormat imageFormat,
     int imageWidth,
     int imageHeight,
     int imageRowPitch,
     IntPtr hostPtr,
     out int errorCodeReturn);
Exemple #2
0
        public CLImage CreateImage3D(MemFlags flags, CLImageFormat imageFormat, IntPtr imageWidth, IntPtr imageHeight, IntPtr imageDepth, IntPtr imageRowPitch, IntPtr imageSlicePitch, IntPtr pHost)
        {
            CLImage   mem;
            IntPtr    memID;
            ErrorCode result;

            memID = (IntPtr)OpenCL.CreateImage3D(ContextID, (ulong)flags, imageFormat, imageWidth, imageHeight, imageDepth, imageRowPitch, imageSlicePitch, pHost.ToPointer(), out result);
            if (result != ErrorCode.SUCCESS)
            {
                throw new OpenCLException("CreateImage3D failed with error code " + result, result);
            }
            mem = new CLImage(this, memID);
            OpenCLObjectList[memID] = new WeakReference(mem);
            return(mem);
        }
Exemple #3
0
        /// <summary>
        /// Query which ImageFormats are supported by this context
        /// </summary>
        /// <param name="flags"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public CLImageFormat[] GetSupportedImageFormats(MemFlags flags, MemObjectType type)
        {
            uint numImageFormats;

            CLImageFormat[] imageFormats;
            ErrorCode       result;

            result = OpenCL.GetSupportedImageFormats(ContextID, (ulong)flags, (uint)type, (uint)0, null, out numImageFormats);
            if (result != ErrorCode.SUCCESS)
            {
                throw new OpenCLException("GetSupportedImageFormats failed with error code " + result, result);
            }

            imageFormats = new CLImageFormat[numImageFormats];

            result = OpenCL.GetSupportedImageFormats(ContextID, (ulong)flags, (uint)type, numImageFormats, imageFormats, out numImageFormats);
            if (result != ErrorCode.SUCCESS)
            {
                throw new OpenCLException("GetSupportedImageFormats failed with error code " + result, result);
            }

            return(imageFormats);
        }
Exemple #4
0
 public CLImage CreateImage3D(MemFlags flags, CLImageFormat imageFormat, int imageWidth, int imageHeight, int imageDepth, int imageRowPitch, int imageSlicePitch, IntPtr pHost)
 {
     return(CreateImage3D(flags, imageFormat, (IntPtr)imageWidth, (IntPtr)imageHeight, (IntPtr)imageDepth, (IntPtr)imageRowPitch, (IntPtr)imageSlicePitch, pHost));
 }
Exemple #5
0
 public CLImage CreateImage2D(MemFlags flags, CLImageFormat imageFormat, long imageWidth, long imageHeight, long imageRowPitch, IntPtr pHost)
 {
     return(CreateImage2D(flags, imageFormat, (IntPtr)imageWidth, (IntPtr)imageHeight, (IntPtr)imageRowPitch, pHost));
 }
Exemple #6
0
 public CLImage CreateImage2D(MemFlags flags, CLImageFormat imageFormat, long imageWidth, long imageHeight)
 {
     return(CreateImage2D(flags, imageFormat, (IntPtr)imageWidth, (IntPtr)imageHeight, IntPtr.Zero, IntPtr.Zero));
 }