Edit

kc3-lang/angle/src/tests/deqp_support/tcuANGLEPlatform.h

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2020-06-03 17:08:43
    Hash : 0df92012
    Message : Rename Platform.h to PlatformMethods.h. "platform.h" is too common a name and causes headers to be included incorrectly. Disambiguate the header using a more specific name. Solves a problem that came up with the GLES 1 tests and the standalone test harness. Bug: angleproject:3162 Change-Id: I88229a2c9407e0db57f5beee44daa11a4075f700 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2229065 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

  • src/tests/deqp_support/tcuANGLEPlatform.h
  • /*-------------------------------------------------------------------------
     * drawElements Quality Program Tester Core
     * ----------------------------------------
     *
     * Copyright 2014 The Android Open Source Project
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     *
     */
    
    #ifndef TCU_ANGLE_WIN32_PLATFORM_H_
    #define TCU_ANGLE_WIN32_PLATFORM_H_
    
    #include "gluPlatform.hpp"
    #include "tcuDefs.hpp"
    #include "tcuPlatform.hpp"
    
    #ifndef _EGLUPLATFORM_HPP
    #    include "egluPlatform.hpp"
    #endif
    
    #include "platform/PlatformMethods.h"
    #include "tcuANGLENativeDisplayFactory.h"
    
    namespace tcu
    {
    
    class ANGLEPlatform : public tcu::Platform, private glu::Platform, private eglu::Platform
    {
      public:
        ANGLEPlatform(angle::LogErrorFunc logErrorFunc);
        ~ANGLEPlatform();
    
        bool processEvents() override;
    
        const glu::Platform &getGLPlatform() const override
        {
            return static_cast<const glu::Platform &>(*this);
        }
        const eglu::Platform &getEGLPlatform() const override
        {
            return static_cast<const eglu::Platform &>(*this);
        }
    
      private:
        // Note: -1 represents EGL_DONT_CARE, but we don't have the EGL headers here.
        std::vector<eglw::EGLAttrib> initAttribs(eglw::EGLAttrib type,
                                                 eglw::EGLAttrib deviceType   = -1,
                                                 eglw::EGLAttrib majorVersion = -1,
                                                 eglw::EGLAttrib minorVersion = -1);
    
        EventState mEvents;
        angle::PlatformMethods mPlatformMethods;
    };
    
    }  // namespace tcu
    
    #endif  // TCU_ANGLE_WIN32_PLATFORM_H_