Permalink
Browse files

Make Kernels immutable objects.

  • Loading branch information...
1 parent 86e4089 commit 995faa9d9162ac2fcfe2a9bbea5b79f39517e2e4 rjw57 committed Jun 20, 2008
@@ -168,7 +168,6 @@ class Kernel : public ReferenceCounted
///@{
/// Protected constructors/destructors. Use the various Kernel
/// factory functions instead.
- Kernel();
Kernel(const char* source);
///@}
@@ -184,10 +183,6 @@ class Kernel : public ReferenceCounted
// ====================================================================
// MUTATING METHODS
- /// Set the kernel's function expressed in the FIRTREE
- /// kernel language. The source should be copied by this method.
- virtual void SetSource(const char* source) = 0;
-
/// Return a const reference to a map containing the parameter
/// name/value pairs.
virtual const std::map<std::string, Parameter*>& GetParameters() = 0;
View
@@ -72,13 +72,8 @@ Parameter* NumericParameter::Create()
}
//=============================================================================
-Kernel::Kernel()
- : ReferenceCounted()
-{
-}
-
-//=============================================================================
Kernel::Kernel(const char* source)
+ : ReferenceCounted()
{
}
@@ -180,7 +180,6 @@ class KernelSamplerParameter : public Firtree::GLSL::SamplerParameter
class Kernel : public Firtree::Kernel
{
protected:
- Kernel();
Kernel(const char* source);
virtual ~Kernel();
@@ -68,14 +68,9 @@ static void _KernelEnsureAPI()
}
//=============================================================================
-Kernel::Kernel()
- : Firtree::Kernel()
- , m_IsCompiled(false)
-{
-}
-
-//=============================================================================
Kernel::Kernel(const char* source)
+ : Firtree::Kernel(source)
+ , m_IsCompiled(false)
{
this->SetSource(source);
}
@@ -87,9 +82,6 @@ Kernel::~Kernel()
}
//=============================================================================
-Firtree::Kernel* Kernel::Create() { return new Kernel(); }
-
-//=============================================================================
Firtree::Kernel* Kernel::Create(const char* source) { return new Kernel(source); }
//=============================================================================
@@ -0,0 +1,16 @@
+kernel vec4 loopTestKernel()
+{
+ vec4 a = vec4(0,0,0,0);
+
+ for(int i=0; i<5; i++)
+ {
+ for(int j=0; j<4; j++)
+ {
+ a.x += float(i);
+ }
+ }
+
+ return a;
+}
+
+// vim:sw=4:ts=4:cindent:filetype=c:et

0 comments on commit 995faa9

Please sign in to comment.