com.jogamp.opencl.util
Interface CLProgramConfiguration

All Superinterfaces:
CLBuildConfiguration, Cloneable
All Known Implementing Classes:
CLProgramBuilder

public interface CLProgramConfiguration
extends CLBuildConfiguration

Configuration representing everything needed to build an OpenCL program (program included). CLProgramConfiguration is a helper for building programs with more complex configurations or building multiple programs with the similar configuration.

Author:
Michael Bien
See Also:
CLProgram.prepare(), CLProgramBuilder.createConfiguration(com.jogamp.opencl.CLProgram), CLProgramBuilder.loadConfiguration(java.io.ObjectInputStream, com.jogamp.opencl.CLContext)

Method Summary
 CLBuildConfiguration asBuildConfiguration()
          Returns a new instance of of this configuration without a CLProgram, program binaries or sources associated with it.
 CLProgram build()
          Builds or rebuilds a program.
 CLProgram build(CLBuildListener listener)
          Builds or rebuilds a program.
 CLProgramConfiguration clone()
          Clones this configuration.
 CLProgramConfiguration forDevice(CLDevice device)
          Adds the device as build target.
 CLProgramConfiguration forDevices(CLDevice... devices)
          Adds the devices as build target.
 CLProgram getProgram()
          Returns the program.
 CLProgramConfiguration reset()
          Resets this builder's configuration like options, devices and definitions.
 CLProgramConfiguration resetDefines()
          Resets this builder's macro definitions.
 CLProgramConfiguration resetDevices()
          Resets this builder's device list.
 CLProgramConfiguration resetOptions()
          Resets this builder's configuration options.
 CLProgramConfiguration withDefine(String name)
          Adds the definition to the build configuration.
 CLProgramConfiguration withDefine(String name, Object value)
          Adds the definition to the build configuration.
 CLProgramConfiguration withDefines(Map<String,? extends Object> defines)
          Adds the definitions to the build configuration.
 CLProgramConfiguration withDefines(String... names)
          Adds the definitions to the build configuration.
 CLProgramConfiguration withOption(String option)
          Adds the compiler option to the build configuration.
 CLProgramConfiguration withOptions(String... options)
          Adds the compiler options to the build configuration.
 
Methods inherited from interface com.jogamp.opencl.util.CLBuildConfiguration
build, build, save, setProgram
 

Method Detail

build

CLProgram build()
Builds or rebuilds a program.


build

CLProgram build(CLBuildListener listener)
Builds or rebuilds a program.

Parameters:
listener - The callback who will be notified when the program has built.

getProgram

CLProgram getProgram()
Returns the program.


asBuildConfiguration

CLBuildConfiguration asBuildConfiguration()
Returns a new instance of of this configuration without a CLProgram, program binaries or sources associated with it.


forDevice

CLProgramConfiguration forDevice(CLDevice device)
Description copied from interface: CLBuildConfiguration
Adds the device as build target.

Specified by:
forDevice in interface CLBuildConfiguration

forDevices

CLProgramConfiguration forDevices(CLDevice... devices)
Description copied from interface: CLBuildConfiguration
Adds the devices as build target.

Specified by:
forDevices in interface CLBuildConfiguration

withDefine

CLProgramConfiguration withDefine(String name)
Description copied from interface: CLBuildConfiguration
Adds the definition to the build configuration.

Specified by:
withDefine in interface CLBuildConfiguration
See Also:
CLProgram.define(java.lang.String)

withDefine

CLProgramConfiguration withDefine(String name,
                                  Object value)
Description copied from interface: CLBuildConfiguration
Adds the definition to the build configuration.

Specified by:
withDefine in interface CLBuildConfiguration
See Also:
CLProgram.define(java.lang.String, java.lang.Object)

withDefines

CLProgramConfiguration withDefines(String... names)
Description copied from interface: CLBuildConfiguration
Adds the definitions to the build configuration.

Specified by:
withDefines in interface CLBuildConfiguration
See Also:
CLProgram.define(java.lang.String)

withDefines

CLProgramConfiguration withDefines(Map<String,? extends Object> defines)
Description copied from interface: CLBuildConfiguration
Adds the definitions to the build configuration.

Specified by:
withDefines in interface CLBuildConfiguration
See Also:
CLProgram.define(java.lang.String, java.lang.Object)

withOption

CLProgramConfiguration withOption(String option)
Description copied from interface: CLBuildConfiguration
Adds the compiler option to the build configuration.

Specified by:
withOption in interface CLBuildConfiguration
See Also:
CLProgram.CompilerOptions

withOptions

CLProgramConfiguration withOptions(String... options)
Description copied from interface: CLBuildConfiguration
Adds the compiler options to the build configuration.

Specified by:
withOptions in interface CLBuildConfiguration
See Also:
CLProgram.CompilerOptions

reset

CLProgramConfiguration reset()
Description copied from interface: CLBuildConfiguration
Resets this builder's configuration like options, devices and definitions.

Specified by:
reset in interface CLBuildConfiguration

resetOptions

CLProgramConfiguration resetOptions()
Description copied from interface: CLBuildConfiguration
Resets this builder's configuration options.

Specified by:
resetOptions in interface CLBuildConfiguration

resetDefines

CLProgramConfiguration resetDefines()
Description copied from interface: CLBuildConfiguration
Resets this builder's macro definitions.

Specified by:
resetDefines in interface CLBuildConfiguration

resetDevices

CLProgramConfiguration resetDevices()
Description copied from interface: CLBuildConfiguration
Resets this builder's device list.

Specified by:
resetDevices in interface CLBuildConfiguration

clone

CLProgramConfiguration clone()
Description copied from interface: CLBuildConfiguration
Clones this configuration.

Specified by:
clone in interface CLBuildConfiguration