public static extern IntPtr clCreateImage2D( IntPtr context, MemoryFlags allocationAndUsage, ref CLImageFormat imageFormat, int imageWidth, int imageHeight, int imageRowPitch, IntPtr hostPtr, out int errorCodeReturn);
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); }
/// <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); }
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)); }
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)); }
public CLImage CreateImage2D(MemFlags flags, CLImageFormat imageFormat, long imageWidth, long imageHeight) { return(CreateImage2D(flags, imageFormat, (IntPtr)imageWidth, (IntPtr)imageHeight, IntPtr.Zero, IntPtr.Zero)); }