diff options
author | Michael Bien <[email protected]> | 2010-02-26 03:22:49 +0100 |
---|---|---|
committer | Michael Bien <[email protected]> | 2010-02-26 03:22:49 +0100 |
commit | 4d348191412077970954f3bc6e672a34f4a7980b (patch) | |
tree | 8a0e43cb5e5252fc79963865523d684e2513486d /src/com/mbien/opencl/CLBuildConfiguration.java | |
parent | 0857dbb04fe9259f1076e9559b822c5032c23461 (diff) |
implemented Serialization for CLProgramBuilder.
CLProgram.getBinaries() is now ordered.
updated junit to 4.8.1.
javadoc fixes.
Diffstat (limited to 'src/com/mbien/opencl/CLBuildConfiguration.java')
-rw-r--r-- | src/com/mbien/opencl/CLBuildConfiguration.java | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/src/com/mbien/opencl/CLBuildConfiguration.java b/src/com/mbien/opencl/CLBuildConfiguration.java index 7b6ee1e2..86b5cfa2 100644 --- a/src/com/mbien/opencl/CLBuildConfiguration.java +++ b/src/com/mbien/opencl/CLBuildConfiguration.java @@ -1,20 +1,28 @@ package com.mbien.opencl; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; import java.util.Map; /** * Configuration representing everything needed to build an OpenCL program. * @author Michael Bien */ -public interface CLBuildConfiguration { +public interface CLBuildConfiguration extends Cloneable { /** * Builds or rebuilds the program. - * @param program The program which should be build. + * @param program The program which should be build. */ public CLProgram build(CLProgram program); /** + * Sets the program which should be build. + */ + public CLProgramConfiguration setProgram(CLProgram program); + + /** * Adds the device as build target. */ public CLBuildConfiguration forDevice(CLDevice device); @@ -31,38 +39,47 @@ public interface CLBuildConfiguration { /** * Adds the definition to the build configuration. - * @see public CLProgram#define(java.lang.String) + * @see CLProgram#define(java.lang.String) */ public CLBuildConfiguration withDefine(String name); /** * Adds the definition to the build configuration. - * @see public CLProgram#define(java.lang.String, java.lang.String) + * @see CLProgram#define(java.lang.String, java.lang.String) */ public CLBuildConfiguration withDefine(String name, Object value); /** * Adds the definitions to the build configuration. - * @see public CLProgram#define(java.lang.String) + * @see CLProgram#define(java.lang.String) */ public CLBuildConfiguration withDefines(String... names); /** * Adds the definitions to the build configuration. - * @see public CLProgram#define(java.lang.String, java.lang.String) + * @see CLProgram#define(java.lang.String, java.lang.String) */ public CLBuildConfiguration withDefines(Map<String, String> defines); /** * Adds the compiler option to the build configuration. - * @see CompilerOptions + * @see CLProgram.CompilerOptions */ public CLBuildConfiguration withOption(String option); /** * Adds the compiler options to the build configuration. - * @see CompilerOptions + * @see CLProgram.CompilerOptions */ public CLBuildConfiguration withOptions(String... options); + /** + * Clones this configuration. + */ + public CLBuildConfiguration clone(); + + public void save(ObjectOutputStream oos) throws IOException; + + public CLBuildConfiguration load(ObjectInputStream ois) throws IOException, ClassNotFoundException; + } |