--- a/guestrendering/vghwserialiser/inc/eglrfc.h Wed Sep 29 09:49:13 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-
-#ifndef EGLREMOTEFUNCTIONCALL_H_
-#define EGLREMOTEFUNCTIONCALL_H_
-
-#include "remotefunctioncall.h"
-
-#ifdef __SYMBIAN32__
- #include <e32const.h>
- #include <e32def.h>
- #include <EGL/egl.h>
-#else
- #include "EGL/egl.h"
- #include "EGL/eglext.h"
-#endif
-
-
-enum TSelectionCriteria
- {
- EExact,
- EAtLeast,
- EMask,
- ESpecial //This essentially means, don't compare
- };
-
-//For adding a sync value to the egl calls
-const TInt KSyncReadSurface = 2;
-const TInt KSyncDrawSurface = 4;
-
-//This is the maximum number of configs that can be processed
-//when the client asks for sg-compatible or sg-incompatible configs
-const TInt KConfigsMaxCnt = 200;
-
-enum TMetaGetConfigsMode
- {
- EMetaGetConfigsAll, //get all the configs available
- EMetaGetConfigsSg, //get configs supporting sg images
- EMetaGetConfigsNonSg, //get configs not supporting sg images
- };
-
-NONSHARABLE_CLASS(EglRFC): public RemoteFunctionCall
- {
-public:
- // EGL operation code
- enum TOperationCode
- {
- // EGL 1.4
- EeglGetError, // 0
- EeglGetDisplay,
- EeglInitialize,
- EeglTerminate,
- EeglQueryString, // not used
- EeglGetConfigs,
- EeglChooseConfig,
- EeglGetConfigAttrib,
- EeglCreateWindowSurface,
- EeglCreatePbufferSurface,
- EeglCreatePixmapSurface, // 10
- EeglDestroySurface,
- EeglQuerySurface,
- EeglBindAPI,
- EeglQueryAPI,
- EeglWaitClient,
- EeglReleaseThread,
- EeglCreatePbufferFromClientBuffer,
- EeglSurfaceAttrib,
- EeglBindTexImage,
- EeglReleaseTexImage, // 20
- EeglSwapInterval,
- EeglCreateContext,
- EeglDestroyContext,
- EeglMakeCurrent,
- EeglGetCurrentContext,
- EeglGetCurrentSurface,
- EeglGetCurrentDisplay,
- EeglQueryContext,
- EeglWaitGL,
- EeglWaitNative, // 30
- EeglSwapBuffers,
- EeglCopyBuffers,
- EeglSimulatorSetSurfaceParams,
- EeglSimulatorCopyImageData,
- EeglPixmapSurfaceSizeChanged,
- EeglMakeCurrentSg, //sgImage support
- EeglCreatePixmapSurfaceSg,
- EeglMetaGetConfigs,
- EeglMetaSgGetHandles
- };
-
- //Parameter data type
- enum TParamType
- {
- EEGLBoolean,
- EEGLint,
- EEGLenum,
- EEGLDisplay,
- EEGLConfig,
- EEGLSurface,
- EEGLContext,
- EEGLClientBuffer,
- EEGLImageKHR,
- EEGLNativeDisplayType,
- EEGLNativeWindowType,
- EEGLNativePixmapType,
- EEGLVoid,
- ETUint64
- };
-
- EglRFC( RemoteFunctionCallData& aData );
-
- inline void AppendTUint64( const TUint64& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLBoolean( const EGLBoolean& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLint( const EGLint& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLenum( const EGLenum& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLDisplay( const EGLDisplay& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLConfig( const EGLConfig& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLSurface( const EGLSurface& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLContext( const EGLContext& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLClientBuffer( const EGLClientBuffer& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLImageKHR( const EGLImageKHR& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLNativeDisplayType( const NativeDisplayType& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLNativeWindowType( const NativeWindowType& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLNativePixmapType( const NativePixmapType& aParam, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
-#ifdef __SYMBIAN32__
- inline void AppendEGLSize( const TSize& aSize, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
-#endif
-
- //Gets a simple parameter value from parameter array
- inline void GetTUint64( TUint64& aParam, TInt aIndex );
- inline void GetEGLBoolean( EGLBoolean& aParam, TInt aIndex );
- inline void GetEGLint( EGLint& aParam, TInt aIndex );
- inline void GetEGLenum( EGLenum& aParam, TInt aIndex );
- inline void GetEGLDisplay( EGLDisplay& aParam, TInt aIndex );
- inline void GetEGLConfig( EGLConfig& aParam, TInt aIndex );
- inline void GetEGLSurface( EGLSurface& aParam, TInt aIndex );
- inline void GetEGLContext( EGLContext& aParam, TInt aIndex );
- inline void GetEGLClientBuffer( EGLClientBuffer& aParam, TInt aIndex );
- inline void GetEGLImageKHR( EGLImageKHR& aParam, TInt aIndex );
- inline void GetEGLNativeDisplayType( NativeDisplayType& aParam, TInt aIndex );
- inline void GetEGLNativeWindowType( NativeWindowType& aParam, TInt aIndex );
- inline void GetEGLNativePixmapType( NativePixmapType& aParam, TInt aIndex );
-
- //Gets a pointer to an array parameter from parameter array
- inline void GetEGLintVectorData( EGLint* &aData, TInt& aSize, TInt aIndex );
- inline void GetEGLConfigVectorData( EGLConfig* &aData, TInt& aSize, TInt aIndex );
- inline void GetVectorData( void* &aData, TInt& aSize, TInt aIndex );
-
- //Sets a pointer to the data of an array parameter
- inline void SetEGLintVectorData( const EGLint* aData, TInt aLength, TInt aIndex );
- inline void SetEGLConfigVectorData( const EGLConfig* aData, TInt aLength, TInt aIndex );
- inline void SetVectorData( const void* aData, TInt aLength, TInt aIndex );
-
- //Appends an array parameter to the parameter array
- // Does not serialize any data
- inline void AppendEGLintVector( const EGLint* aData, TInt aLength, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendEGLConfigVector( const EGLConfig* aData, TInt aLength, RemoteFunctionCallData::TParamDirection aDir = RemoteFunctionCallData::EIn );
- inline void AppendVector( const void* aData, TInt aLength, RemoteFunctionCallData::TParamDirection iDir = RemoteFunctionCallData::EIn );
-
- //Size of type aType
- virtual TInt GetTypeSize( TInt32 aParamType ) const;
-
- //Alignemnt of type aType
- virtual TInt GetTypeAlignment( TInt32 aParamType ) const;
-
- //Alignemnt of type aType
- virtual TUint32 GetAPIUid() const;
-
- static EGLint MetaGetConfigAttribute( int aIndex );
- static EGLint MetaGetConfigAttributeSelCriteria( int aIndex );
- static TInt MetaGetConfigAttributeCnt();
- };
-
-#include "eglrfc.inl"
-
-#endif