[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60299] branches/soc-2013-vse/source/ blender/sequencer: Updating the engine itself.
Alexander Kuznetsov
kuzsasha at gmail.com
Sun Sep 22 07:17:13 CEST 2013
Revision: 60299
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60299
Author: alexk
Date: 2013-09-22 05:17:13 +0000 (Sun, 22 Sep 2013)
Log Message:
-----------
Updating the engine itself. This code manages the creation and execution of commands.
Hierarchy:
* Engine: Single tasks queue. Manages init, devices, etc.
* Player: Takes care of a single playback (might have multiple outputs)
** Output: images
*Devices: can be cpu or OpenCl. OpenCL can share OpenCL platform.
* Devices execute commands created by effects.
Not sequencer specific files don't have prefex sequencer_seq*
Modified Paths:
--------------
branches/soc-2013-vse/source/blender/sequencer/CMakeLists.txt
branches/soc-2013-vse/source/blender/sequencer/sequencer_SimpleRef.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_common.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_main.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_main.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqBucket.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqBucket.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCLPlatform.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCLPlatform.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCanvas.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCanvas.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqChannel.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDevice.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDevice.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDeviceCL.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDeviceCL.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDeviceCPU.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDeviceCPU.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqFrame.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqFrame.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqImageStackInfo.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqImageStackInfo.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqImageStorage.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqImageStorage.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqOutput.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqOutputImage.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqOutputImage.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqRenderNode.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqRenderNode.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqStorage.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqStorage.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqViewHandle.h
Added Paths:
-----------
branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_include.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_scond.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_scond.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCache.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqOutputImageTarget.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqOutputImageTarget.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_smutex.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_smutex.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_types.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_types.h
Removed Paths:
-------------
branches/soc-2013-vse/source/blender/sequencer/kernel/kernel_main.cl
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCommand.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCommand.h
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqEffect.cpp
branches/soc-2013-vse/source/blender/sequencer/sequencer_seqEffect.h
Modified: branches/soc-2013-vse/source/blender/sequencer/CMakeLists.txt
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/CMakeLists.txt 2013-09-22 03:56:30 UTC (rev 60298)
+++ branches/soc-2013-vse/source/blender/sequencer/CMakeLists.txt 2013-09-22 05:17:13 UTC (rev 60299)
@@ -22,7 +22,8 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- ./kernal
+ .
+ ./kernel
../../../intern/opencl
../../../intern/guardedalloc
../makesdna
@@ -30,6 +31,7 @@
../blenkernel
../cldm
../imbuf
+ ../editors/include
)
set(INC_SYS
@@ -38,47 +40,124 @@
set(SRC
sequencer_main.cpp
- sequencer_seqCommand.cpp
sequencer_seqDevice.cpp
sequencer_seqDeviceCL.cpp
+ sequencer_seqCLPlatform.cpp
sequencer_seqDeviceCPU.cpp
- sequencer_seqEffect.cpp
sequencer_seqBucket.cpp
sequencer_seqOutput.cpp
sequencer_seqOutputImage.cpp
+ sequencer_seqOutputImageTarget.cpp
sequencer_seqFrame.cpp
- sequencer_SimpleRef.cpp
sequencer_seqChannel.cpp
sequencer_seqRenderNode.cpp
+ sequencer_seqStorage.cpp
sequencer_seqImageStorage.cpp
sequencer_seqImageStackInfo.cpp
sequencer_seqEngine.cpp
sequencer_seqPlayer.cpp
sequencer_seqCLProgram.cpp
sequencer_seqCanvas.cpp
+ sequencer_seqViewHandle.cpp
+ sequencer_smutex.cpp
+ sequencer_scond.cpp
+ sequencer_SimpleRef.cpp
+ sequencer_MutexRef.cpp
+ sequencer_types.cpp
+ effects/sequencer_seqEffect.cpp
+ effects/seqEffectBlendAlphaOver.cpp
+ effects/seqEffectBlendAlphaUnder.cpp
+ effects/seqEffectBlendAdd.cpp
+ effects/seqEffectBlendSubtract.cpp
+ effects/seqEffectBlendMultiply.cpp
+ effects/seqEffectBlendCross.cpp
+ effects/seqEffectBrightness.cpp
+ effects/seqEffectColorBalance.cpp
+ effects/seqEffectTransform.cpp
+ effects/seqEffectHistogram.cpp
+ effects/seqEffectWaveform.cpp
+ effects/seqEffectVectorscope.cpp
+ commands/sequencer_seqCommand.cpp
+ commands/seqCommandColorBalance.cpp
+ commands/seqCommandBlendAlphaOver.cpp
+ commands/seqCommandBlendAlphaUnder.cpp
+ commands/seqCommandBlendAdd.cpp
+ commands/seqCommandBlendSubtract.cpp
+ commands/seqCommandBlendMultiply.cpp
+ commands/seqCommandBlendCross.cpp
+ commands/seqCommandBrightenss.cpp
+ commands/seqCommandGenerate.cpp
+ commands/seqCommandTransform.cpp
+ commands/seqCommandHistogram.cpp
+ commands/seqCommandWaveform.cpp
+ commands/seqCommandVectorscope.cpp
+ commands/seqRoutineConvert.cpp
+ commands/seqRoutineTransfer.cpp
+
+
+
sequencer_main.h
- sequencer_seqCommand.h
sequencer_seqDevice.h
sequencer_seqDeviceCL.h
+ sequencer_seqCLPlatform.h
sequencer_seqDeviceCPU.h
- sequencer_seqEffect.h
sequencer_seqBucket.h
sequencer_seqOutput.h
sequencer_seqOutputImage.h
+ sequencer_seqOutputImageTarget.h
sequencer_seqFrame.h
- sequencer_SimpleRef.h
sequencer_seqChannel.h
sequencer_seqRenderNode.h
+ sequencer_seqStorage.h
sequencer_seqImageStorage.h
sequencer_seqImageStackInfo.h
sequencer_seqEngine.h
sequencer_seqPlayer.h
sequencer_seqCLProgram.h
sequencer_seqCanvas.h
+ sequencer_seqViewHandle.h
+ sequencer_smutex.h
+ sequencer_scond.h
+ sequencer_SimpleRef.h
+ sequencer_MutexRef.h
+ sequencer_types.h
+
+ effects/sequencer_seqEffect.h
+ effects/seqEffectBlendAlphaOver.h
+ effects/seqEffectBlendAlphaUnder.h
+ effects/seqEffectBlendAdd.h
+ effects/seqEffectBlendSubtract.h
+ effects/seqEffectBlendMultiply.h
+ effects/seqEffectBlendCross.h
+ effects/seqEffectBrightness.h
+ effects/seqEffectColorBalance.h
+ effects/seqEffectTransform.h
+ effects/seqEffectHistogram.h
+ effects/seqEffectWaveform.h
+ effects/seqEffectVectorscope.h
+
+ commands/sequencer_seqCommand.h
+ commands/seqCommandColorBalance.h
+ commands/seqCommandBlendAlphaOver.h
+ commands/seqCommandBlendAlphaUnder.h
+ commands/seqCommandBlendAdd.h
+ commands/seqCommandBlendSubtract.h
+ commands/seqCommandBlendMultiply.h
+ commands/seqCommandBlendCross.h
+ commands/seqCommandBrightenss.h
+ commands/seqCommandGenerate.h
+ commands/seqCommandTransform.h
+ commands/seqCommandHistogram.h
+ commands/seqCommandWaveform.h
+ commands/seqCommandVectorscope.h
+ commands/seqRoutineConvert.h
+ commands/seqRoutineTransfer.h
+
sequencer_common.h
+ sequencer_include.h
)
@@ -88,9 +167,9 @@
endif()
-data_to_c_simple_dev(kernel/kernel_main.cl SRC)
+data_to_c_simple_dev(kernel/kernel_working.cl SRC)
data_to_c_simple_dev(kernel/include_type_float.cl SRC)
+data_to_c_simple_dev(kernel/common_stuctures.cl SRC)
-
blender_add_lib(bf_sequencer "${SRC}" "${INC}" "${INC_SYS}")
Deleted: branches/soc-2013-vse/source/blender/sequencer/kernel/kernel_main.cl
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/kernel/kernel_main.cl 2013-09-22 03:56:30 UTC (rev 60298)
+++ branches/soc-2013-vse/source/blender/sequencer/kernel/kernel_main.cl 2013-09-22 05:17:13 UTC (rev 60299)
@@ -1,64 +0,0 @@
-
-__kernel void square_dain(
- __global float* in,
- __global float* out,
- const unsigned int sizex,
- const unsigned int sizey)
-{
- int i = get_global_id(0);
- int j = get_global_id(1);
-
-
- if(i>=sizex || j>=sizey)return;
-
-
- int pos = j*sizex+i;
- float val = in[pos*4];
- out[pos*4]=val*val;
-
-
-};
-
-
-__kernel void testme_add(
- __global float* in,
- __global float* out,
- const float val,
- const unsigned int sizex,
- const unsigned int sizey)
-{
- int i = get_global_id(0);
- int j = get_global_id(1);
-
-
- if(i>=sizex || j>=sizey)return;
-
-
- int pos = j*sizex+i;
-;
- out[pos] = in[pos]+val;
-
-
-};
-
-
-__kernel void testme_multiply(
- __global float* in,
- __global float* out,
- const float val,
- const unsigned int sizex,
- const unsigned int sizey)
-{
- int i = get_global_id(0);
- int j = get_global_id(1);
-
-
- if(i>=sizex || j>=sizey)return;
-
-
- int pos = j*sizex+i;
-;
- out[pos] = in[pos]*val;
-
-
-};
\ No newline at end of file
Added: branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.cpp
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.cpp (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.cpp 2013-09-22 05:17:13 UTC (rev 60299)
@@ -0,0 +1 @@
+
Added: branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.h (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.h 2013-09-22 05:17:13 UTC (rev 60299)
@@ -0,0 +1,63 @@
+#ifndef __SEQUENCER_MUTEXREF_H__
+#define __SEQUENCER_MUTEXREF_H__
+
+#include "MEM_guardedalloc.h"
+#include "BLI_utildefines.h"
+#include "sequencer_smutex.h"
+
+
+
+class MutexRef
+{
+private:
+
+ int ref_count;
+ smutex *mutex;
+
+public:
+
+ MutexRef(smutex *sm)
+ {
+ this->mutex = sm;
+ ref_count = 0;
+ }
+
+ virtual ~MutexRef()
+ {
+ BLI_assert(!ref_count);
+ }
+
+ void Retain(void)
+ {
+ mutex->lock();
+ ref_count++;
+ mutex->unlock();
+ }
+
+ virtual void Release(void)
+ {
+ bool to_delete = false;
+
+
+ mutex->lock();
+ ref_count--;
+ if(ref_count == 0)
+ to_delete = true;
+ else if(ref_count < 0)
+ {
+ BLI_assert(0);
+ }
+ mutex->unlock();
+
+ if(to_delete)
+ delete this;
+
+
+
+ }
+
+
+
+};
+
+#endif /* __SEQUENCER_MUTEXREF_H__*/
Modified: branches/soc-2013-vse/source/blender/sequencer/sequencer_SimpleRef.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_SimpleRef.h 2013-09-22 03:56:30 UTC (rev 60298)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_SimpleRef.h 2013-09-22 05:17:13 UTC (rev 60299)
@@ -21,7 +21,7 @@
BLI_assert(!ref_count);
}
- virtual void Retain(void)
+ void Retain(void)
{
ref_count++;
}
Modified: branches/soc-2013-vse/source/blender/sequencer/sequencer_common.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_common.h 2013-09-22 03:56:30 UTC (rev 60298)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_common.h 2013-09-22 05:17:13 UTC (rev 60299)
@@ -14,7 +14,7 @@
#include "sequencer_seqRenderNode.h"
#include "sequencer_seqChannel.h"
-#include "sequencer_seqEffect.h"
+#include "effects/sequencer_seqEffect.h"
#endif /*__SEQUENCER_COMMON_H__*/
Added: branches/soc-2013-vse/source/blender/sequencer/sequencer_include.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_include.h (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_include.h 2013-09-22 05:17:13 UTC (rev 60299)
@@ -0,0 +1,15 @@
+#ifndef __SEQUENCER_INCLUDE_H__
+#define __SEQUENCER_INCLUDE_H__
+
+#include "MEM_guardedalloc.h"
+#include "sequencer_smutex.h"
+#include "sequencer_scond.h"
+#include "sequencer_MutexRef.h"
+
+class seqEngine;
+class seqBucket;
+class seqCommand;
+class seqCLPlatform;
+class seqFrame;
+
+#endif /* __SEQUENCER_INCLUDE_H__ */
Modified: branches/soc-2013-vse/source/blender/sequencer/sequencer_main.cpp
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_main.cpp 2013-09-22 03:56:30 UTC (rev 60298)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_main.cpp 2013-09-22 05:17:13 UTC (rev 60299)
@@ -2,1632 +2,123 @@
extern "C" {
#endif
-
-
-
#include "sequencer_main.h"
-#include <string.h>
-#include <math.h>
-#include <GL/glew.h>
#include "MEM_guardedalloc.h"
#include "CLDM_init.h"
-#include "IMB_imbuf.h"
-#include "IMB_imbuf_types.h"
-#include "IMB_colormanagement.h"
-
#include "DNA_sequence_types.h"
#ifdef __cplusplus
}
#endif
-
-
-//#include <list>
-#include <vector>
-
-
#include "sequencer_seqCanvas.h"
#include "sequencer_seqImageStorage.h"
#include "sequencer_seqPlayer.h"
#include "sequencer_seqEngine.h"
#include "sequencer_common.h"
-#include "sequencer_seqDevice.h"
+#include "BIF_gl.h"
-
-
-
-
-#define NUMOFELEM(a) (sizeof(a)/sizeof(*a))
-
-extern char datatoc_kernel_main_cl[];
-extern char datatoc_include_type_float_cl[];
-char *seq_vs_types[] = {datatoc_include_type_float_cl};
-
-char *seq_kernels_main[] = {"square_dain", "testme_add", "testme_multiply"};
-
-
-typedef struct seqCLPlatform
-{
-
- struct seqCLPlatform *next, *prev;
- cldm_platform * cldm_p;
-
- cl_context cl_this_context;
-
-
-
- seqCLProgram programs [NUMOFELEM(seq_vs_types)];
-
-
- int refcount;
-
-} seqCLPlatform;
-
-
typedef unsigned int uint;
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list