summaryrefslogtreecommitdiff
path: root/src/ipa/raspberrypi/raspberrypi.cpp
diff options
context:
space:
mode:
authorAndrey Konovalov <andrey.konovalov@linaro.org>2021-06-22 16:46:50 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-06-30 04:08:10 +0300
commite4be72d0ca1099173869e4aa1b9604773dcae7b8 (patch)
tree09df1bdc2f6365ab01e640b8d9e2466f4fb381e9 /src/ipa/raspberrypi/raspberrypi.cpp
parentbabb5a4c8b6838d4b310070e7c38cdfc9610c81e (diff)
qcam: viewfinder_gl: Set the vertex shader file name in selectFormat()
In preparation to extend the supported formats, make it possible to use different vertex fragment files depending on the format. Make "identity.vert" the default choice. Signed-off-by: Andrey Konovalov <andrey.konovalov@linaro.org> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/ipa/raspberrypi/raspberrypi.cpp')
0 files changed, 0 insertions, 0 deletions
="hl opt">; using namespace libcamera; class TestObject : public Object { public: TestObject(unsigned int *count) : deleteCount_(count) { } ~TestObject() { /* Count the deletions from the correct thread. */ if (thread() == Thread::current()) (*deleteCount_)++; } unsigned int *deleteCount_; }; class DeleterThread : public Thread { public: DeleterThread(Object *obj) : object_(obj) { } protected: void run() { object_->deleteLater(); } private: Object *object_; }; class ObjectDeleteTest : public Test { protected: int run() { /* * Test that deferred deletion is executed from the object's * thread, not the caller's thread. */ unsigned int count = 0; TestObject *obj = new TestObject(&count); DeleterThread delThread(obj); delThread.start(); delThread.wait(); Thread::current()->dispatchMessages(Message::Type::DeferredDelete); if (count != 1) { cout << "Failed to dispatch DeferredDelete (" << count << ")" << endl; return TestFail; } /* * Test that multiple calls to deleteLater() delete the object * once only. */ count = 0; obj = new TestObject(&count); obj->deleteLater(); obj->deleteLater(); Thread::current()->dispatchMessages(Message::Type::DeferredDelete); if (count != 1) { cout << "Multiple deleteLater() failed (" << count << ")" << endl; return TestFail; } /* * Test that deleteLater() works properly when called just * before the object's thread exits. */ Thread boundThread; boundThread.start(); count = 0; obj = new TestObject(&count); obj->moveToThread(&boundThread); obj->deleteLater(); boundThread.exit(); boundThread.wait(); if (count != 1) { cout << "Object deletion right before thread exit failed (" << count << ")" << endl; return TestFail; } return TestPass; } }; TEST_REGISTER(ObjectDeleteTest)