forked from blender/blender
realize-depth #5
@ -7,6 +7,8 @@
|
||||
#include "COM_ConstantOperation.h"
|
||||
#include "COM_MultiThreadedOperation.h"
|
||||
|
||||
#include <mutex>
|
||||
|
||||
namespace blender::compositor {
|
||||
|
||||
class TranslateOperation : public MultiThreadedOperation {
|
||||
@ -21,6 +23,8 @@ class TranslateOperation : public MultiThreadedOperation {
|
||||
bool is_delta_set_;
|
||||
bool is_relative_;
|
||||
|
||||
std::mutex mutex_;
|
||||
|
||||
protected:
|
||||
MemoryBufferExtend x_extend_mode_;
|
||||
MemoryBufferExtend y_extend_mode_;
|
||||
@ -50,6 +54,11 @@ class TranslateOperation : public MultiThreadedOperation {
|
||||
inline void ensure_delta()
|
||||
{
|
||||
if (!is_delta_set_) {
|
||||
std::unique_lock lock(mutex_);
|
||||
if (is_delta_set_) {
|
||||
return;
|
||||
}
|
||||
|
||||
delta_x_ = get_input_operation(X_INPUT_INDEX)->get_constant_value_default(0.0f);
|
||||
delta_y_ = get_input_operation(Y_INPUT_INDEX)->get_constant_value_default(0.0f);
|
||||
if (get_is_relative()) {
|
||||
|
Loading…
Reference in New Issue
Block a user