public CLArgumentInfo SetArgumentDirect <T>(int index, CLArgument <T> arg) where T : struct { MethodInfo.Arguments[index].CopyBack = arg.CopyBack; MethodInfo.Arguments[index].ComputeMemory = arg.GenerateComputeMemory(context); MethodInfo.Arguments[index].ComputeValue = arg.ComputeValue; return(MethodInfo.Arguments[index]); }
public static CLArgument <T> CreateValue(T Value) { CLArgument <T> arg = new CLArgument <T> { ComputeValue = Value }; return(arg); }
public static CLArgument <T> CreateArray(T[] Data) { CLArgument <T> arg = new CLArgument <T> { Data = Data, Flags = MemoryFlags.ReadWrite | MemoryFlags.UseHostPointer }; return(arg); }
public static CLArgument <T> CreateReturn(T[] Data) { CLArgument <T> arg = new CLArgument <T> { Data = Data, CopyBack = true, Flags = MemoryFlags.WriteOnly | MemoryFlags.AllocateHostPointer }; return(arg); }