From 31f9c57bc50ae053cfaf039a1dfdb128e2494458 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 20 Oct 2015 13:18:59 +0300 Subject: Fix issues with COIN builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Fix miscellaneous compile errors -Move manual tests to manual folder and enable export of autotests -Added widgets requirement -Fixed autotests -Fixed renderer and controller synchronization in QML case -Treat fallback Mesa as ES2 similar to setting AA_UseSoftwareOpenGL Change-Id: If6619733725d079e339bef16262e5ea1450ab20f Reviewed-by: Tomi Korpipää --- .../OpenNI/Include/XnGeneralBuffer.h | 119 +++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h (limited to 'tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h') diff --git a/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h new file mode 100644 index 00000000..4c6b3c77 --- /dev/null +++ b/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/XnGeneralBuffer.h @@ -0,0 +1,119 @@ +/**************************************************************************** +* * +* OpenNI 1.x Alpha * +* Copyright (C) 2011 PrimeSense Ltd. * +* * +* This file is part of OpenNI. * +* * +* OpenNI is free software: you can redistribute it and/or modify * +* it under the terms of the GNU Lesser General Public License as published * +* by the Free Software Foundation, either version 3 of the License, or * +* (at your option) any later version. * +* * +* OpenNI is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU Lesser General Public License for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with OpenNI. If not, see . * +* * +****************************************************************************/ +#ifndef __XN_GENERAL_BUFFER_H__ +#define __XN_GENERAL_BUFFER_H__ + +//--------------------------------------------------------------------------- +// Includes +//--------------------------------------------------------------------------- +#include "XnPlatform.h" +#include "XnOS.h" +#include "XnStatusCodes.h" + +//--------------------------------------------------------------------------- +// Types +//--------------------------------------------------------------------------- + +/* Describes a general buffer. */ +typedef struct XnGeneralBuffer +{ + /* A pointer to the actual data. */ + void* pData; + /* The size of the data in bytes. */ + XnUInt32 nDataSize; +} XnGeneralBuffer; + +//--------------------------------------------------------------------------- +// Exported Functions +//--------------------------------------------------------------------------- + +/** +* Packs a pointer and a size into an XnGeneralBuffer struct. +*/ +inline XnGeneralBuffer XnGeneralBufferPack(void* pData, XnUInt32 nDataSize) +{ + XnGeneralBuffer result; + result.pData = pData; + result.nDataSize = nDataSize; + return result; +} + +/** +* Copies one general buffer into another. +*/ +inline XnStatus XnGeneralBufferCopy(XnGeneralBuffer* pDest, const XnGeneralBuffer* pSrc) +{ + XN_VALIDATE_INPUT_PTR(pDest); + XN_VALIDATE_INPUT_PTR(pSrc); + + if (pSrc->nDataSize > pDest->nDataSize) + return XN_STATUS_OUTPUT_BUFFER_OVERFLOW; + + xnOSMemCopy(pDest->pData, pSrc->pData, pSrc->nDataSize); + pDest->nDataSize = pSrc->nDataSize; + return XN_STATUS_OK; +} + +inline XnStatus XnGeneralBufferAlloc(XnGeneralBuffer* pDest, XnUInt32 nSize) +{ + XN_VALIDATE_INPUT_PTR(pDest); + + void* pData; + pData = xnOSMalloc(nSize); + XN_VALIDATE_ALLOC_PTR(pData); + + pDest->pData = pData; + pDest->nDataSize = nSize; + return XN_STATUS_OK; +} + +inline XnStatus XnGeneralBufferRealloc(XnGeneralBuffer* pDest, XnUInt32 nSize) +{ + XN_VALIDATE_INPUT_PTR(pDest); + + void* pData; + pData = xnOSRealloc(pDest, nSize); + XN_VALIDATE_ALLOC_PTR(pData); + + pDest->pData = pData; + pDest->nDataSize = nSize; + return XN_STATUS_OK; +} + +inline void XnGeneralBufferFree(XnGeneralBuffer* pDest) +{ + XN_FREE_AND_NULL(pDest->pData); + pDest->nDataSize = 0; +} + +//--------------------------------------------------------------------------- +// Helper Macros +//--------------------------------------------------------------------------- +#define XN_PACK_GENERAL_BUFFER(x) XnGeneralBufferPack(&x, sizeof(x)) + +#define XN_VALIDATE_GENERAL_BUFFER_TYPE(gb, t) \ + if ((gb).nDataSize != sizeof(t)) \ + { \ + return XN_STATUS_INVALID_BUFFER_SIZE; \ + } + +#endif //__XN_GENERAL_BUFFER_H__ \ No newline at end of file -- cgit v1.2.3