diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2012-06-13 16:34:56 +0400 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2012-06-13 16:34:56 +0400 |
commit | be1b5f82cee09041fdee355697841ee92b31ef70 (patch) | |
tree | 7032f52aaffb862c228d92a476dc9a0e00261ef1 /source/blender/compositor/operations/COM_GlareBaseOperation.h | |
parent | 4ba456d1754c29b488b8304c8546af45078e8536 (diff) |
* optimized threading
* break out with glare node
* Added OpenCL kernels compatible with AMD still need some testing.
Diffstat (limited to 'source/blender/compositor/operations/COM_GlareBaseOperation.h')
-rw-r--r-- | source/blender/compositor/operations/COM_GlareBaseOperation.h | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/source/blender/compositor/operations/COM_GlareBaseOperation.h b/source/blender/compositor/operations/COM_GlareBaseOperation.h index 2fa8afc9c4c..d79f449f426 100644 --- a/source/blender/compositor/operations/COM_GlareBaseOperation.h +++ b/source/blender/compositor/operations/COM_GlareBaseOperation.h @@ -22,7 +22,8 @@ #ifndef _COM_GlareBaseOperation_h #define _COM_GlareBaseOperation_h -#include "COM_NodeOperation.h" + +#include "COM_SingleThreadedNodeOperation.h" #include "DNA_node_types.h" @@ -55,7 +56,7 @@ typedef float fRGB[4]; } (void)0 -class GlareBaseOperation : public NodeOperation { +class GlareBaseOperation : public SingleThreadedNodeOperation { private: /** * @brief Cached reference to the inputProgram @@ -66,16 +67,7 @@ private: * @brief settings of the glare node. */ NodeGlare * settings; - - float *cachedInstance; - public: - - /** - * the inner loop of this program - */ - void executePixel(float *color, int x, int y, MemoryBuffer *inputBuffers[], void *data); - /** * Initialize the execution */ @@ -86,15 +78,15 @@ public: */ void deinitExecution(); - void *initializeTileData(rcti *rect, MemoryBuffer **memoryBuffers); - void setGlareSettings(NodeGlare * settings) {this->settings = settings;} bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output); + protected: GlareBaseOperation(); virtual void generateGlare(float *data, MemoryBuffer *inputTile, NodeGlare *settings) = 0; + MemoryBuffer *createMemoryBuffer(rcti *rect, MemoryBuffer **memoryBuffers); }; #endif |