diff -r cdf2f6e5c390 -r bf7481649c98 egl/egltest/endpointtestsuite/automated/tinc/egltest_endpointtearing.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/egl/egltest/endpointtestsuite/automated/tinc/egltest_endpointtearing.h Fri Jun 11 14:58:47 2010 +0300 @@ -0,0 +1,80 @@ +/* +* Copyright (c) 2009 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: +* +*/ + + +/** + @file + @test + @internalComponent - Internal Symbian test code +*/ + + +#ifndef __EGLTEST_ENDPOINTTEARING_H__ +#define __EGLTEST_ENDPOINTTEARING_H__ + + +#include "localtestbase.h" +#include "remotetestbase.h" + + +_LIT(KEGL_EndpointTearing, "EGL_EndpointTearing"); +NONSHARABLE_CLASS(CEglTest_LocalTestStep_EndpointTearing) : public CLocalTestStepBase + { +public: + CEglTest_LocalTestStep_EndpointTearing(); + ~CEglTest_LocalTestStep_EndpointTearing(); + void DoPreambleL(); + void DoPostambleL(); + TVerdict doTestStepL(); + +private: + void StartDrawThreadL(); + void StopDrawThread(); + static TInt DrawThreadEntryPoint(TAny* aSelf); + void EnterDrawLoopL(); + +private: + RThread iDrawThread; + TSurfaceId iSurfaceId; + volatile TBool iStopDrawing; + RFastLock iStartDraw; + RFastLock iFirstDrawDone; + }; + + +NONSHARABLE_CLASS(CEglTest_RemoteTestStep_EndpointTearing) : public CRemoteTestStepBase + { +public: + CEglTest_RemoteTestStep_EndpointTearing(); + ~CEglTest_RemoteTestStep_EndpointTearing(); + + virtual TRemoteTestVerdict DoRunRemoteTestCaseL(TInt aTestCase, const TRemoteTestParams& aParams); + virtual TRemoteTestVerdict DoStartRemoteTestStepL(const TRemoteTestParams& aMessageIn); + virtual TRemoteTestVerdict DoEndRemoteTestStepL(const TRemoteTestParams& aMessageIn); + +private: + TRemoteTestVerdict TearingTestCaseL(const TRemoteTestParams& aParams); + TRemoteTestVerdict AcquireAndCheckImageL(); + TRemoteTestVerdict CheckImageL(EGLImageKHR aEglImage); + +private: + EGLDisplay iDisplay; + EGLEndpointNOK iEndpoint; + }; + + +#endif