diff -r 39e5f73667ba -r c2ef9095503a hostsupport/hostegl/src/linux/EGLOs.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hostsupport/hostegl/src/linux/EGLOs.cpp Wed Oct 06 17:59:01 2010 +0100 @@ -0,0 +1,207 @@ +/* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and /or associated documentation files + * (the "Materials "), to deal in the Materials without restriction, + * including without limitation the rights to use, copy, modify, merge, + * publish, distribute, sublicense, and/or sell copies of the Materials, + * and to permit persons to whom the Materials are furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Materials. + * + * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR + * THE USE OR OTHER DEALINGS IN THE MATERIALS. + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#include "EGLOs.h" +#include "EGLState.h" +#include "EGLProcess.h" +#include "EGLThread.h" +#include "EGLWindowSurface.h" +#include "EGLDisplay.h" + +#include + +void CEGLOs::InitializeLock( EGLI_LOCK *lock ) + { + // \todo + EGLI_ASSERT( false ); + } + +void CEGLOs::GetLock( EGLI_LOCK *lock ) + { + // \todo + EGLI_ASSERT( false ); + } + +void CEGLOs::ReleaseLock(EGLI_LOCK *lock ) + { + // \todo + EGLI_ASSERT( false ); + } + +void CEGLOs::DestroyLock( EGLI_LOCK *lock ) + { + // \todo + EGLI_ASSERT( false ); + } + +void CEGLOs::ConfigToNativePixelFormat( const CEGLConfig& config, EGLINativePixelFormatType* nativeFormat ) + { + // \todo + EGLI_ASSERT( false ); + } + +/*static*/ EGLINativeContextType CEGLOs::CreateNativeContext( const CEGLConfig& config, EGLINativeDisplayType display, EGLINativeContextType shareContext ) + { + // \todo + EGLI_ASSERT( false ); + return NULL; + } + +EGLINativeContextType CEGLOs::CurrentNativeContext() + { + // \todo + EGLI_ASSERT( false ); + return NULL; + } + +EGLINativeDisplayType CEGLOs::CurrentNativeSurface() + { + // \todo + EGLI_ASSERT( false ); + return NULL; + } + +bool CEGLOs::MakeNativeContextCurrent( struct EGLINativeGLFunctions* func, EGLINativeDisplayType draw, EGLINativeDisplayType read, EGLINativeContextType context ) + { + // \todo + EGLI_ASSERT( false ); + return false; + } + +bool CEGLOs::DestroyNativeContext( EGLINativeContextType context ) + { + // \todo + EGLI_ASSERT( false ); + return false; + } + +bool CEGLOs::InitializeNativeGLFunctions( struct EGLINativeGLFunctions* func, EGLINativeDisplayType display, EGLINativeContextType context ) + { + // \todo + EGLI_ASSERT( false ); + return false; + } + +struct EGLINativePbufferContainer* CEGLOs::CreateNativePbuffer( EGLINativeDisplayType display, + const CEGLConfig& config, EGLint width, EGLint height, EGLBoolean largestPbuffer, + EGLint textureFormat, EGLint textureTarget ) + { + // \todo + EGLI_ASSERT( false ); + return NULL; + } + +bool CEGLOs::DestroyNativePbuffer( struct EGLINativePbufferContainer* container ) + { + // \todo + EGLI_ASSERT( false ); + return false; + } + +EGLINativeWindowType CEGLOs::CreateNativeWindow( int width, int height ) + { + // \todo + EGLI_ASSERT( false ); + return NULL; + } + +bool CEGLOs::IsValidNativeWindow( EGLINativeWindowType wnd ) + { + // \todo + EGLI_ASSERT( false ); + return false; + } + +bool CEGLOs::GetNativeWindowSize( EGLINativeWindowType wnd, int& width, int& height ) + { + // \todo + EGLI_ASSERT( false ); + return false; + } + +EGLIOsWindowContext* CEGLOs::CreateOSWindowContext( EGLINativeWindowType wnd, const CEGLConfig& config ) + { + // \todo + EGLI_ASSERT( false ); + return NULL; + } + +void CEGLOs::DestroyOSWindowContext( EGLIOsWindowContext* context ) + { + // \todo + EGLI_ASSERT( false ); + } + +void CEGLOs::BlitToOSWindow( EGLenum api, CEGLDisplay* display, EGLIOsWindowContext* context, void* buf, int w, int h, int stride ) + { + // \todo + EGLI_ASSERT( false ); + } + +void* CEGLOs::LoadHostGL() + { + EGLI_ASSERT(0); + return NULL; + } + +void* CEGLOs::GetGLProcAddress(EGLILibraryHandle& libraryHandle, const char* proc) + { + EGLI_ASSERT(0); + return NULL; + } + +bool CEGLOs::FreeClientLibrary(EGLILibraryHandle& libraryHandle) + { + //assert(libraryHandle); + return (dlclose(libraryHandle) == 0); + } + +IEGLtoVGInterface* CEGLOs::LoadVGInterface( void*& libraryHandle ) + { + fpGetVGInterface proc; + void* libHandle = dlopen("libopenvg_sf.so", RTLD_NOW); + + if (libHandle == NULL) + return NULL; + + libraryHandle = libHandle; + proc = (fpGetVGInterface)dlsym(libHandle, "getVGInterface"); + + if (!proc) + return NULL; + + return proc(); + } + +IEGLtoGLES2Interface* CEGLOs::LoadGLES2Interface( void*& libraryHandle ) + { + EGLI_ASSERT( false ); + return NULL; + }