Edit

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

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2020-04-16 16:31:24
    Hash : 4e6f6545
    Message : GLX: Support X11 pixmaps Add support for creating EGL pixmaps from X11 pixmaps using GLX. Pixmaps are needed for various external APIs such as VAAPI. Add support for EGL_NOK_texture_from_pixmap to allow binding pixmaps to textures. BUG=angleproject:4560 Change-Id: I4a6d3ad7e87151ff5317bbdaaf093ac1b46daf5f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2153805 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

  • src/tests/deqp_support/tcuANGLENativeDisplayFactory.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_NATIVE_DISPLAY_FACTORY_H_
    #define TCU_ANGLE_WIN32_NATIVE_DISPLAY_FACTORY_H_
    
    #include "egluNativeDisplay.hpp"
    #include "eglwDefs.hpp"
    #include "tcuDefs.hpp"
    
    namespace tcu
    {
    
    class EventState
    {
      public:
        EventState() : mQuit(false) {}
        bool quitSignaled() const { return mQuit; };
        void signalQuitEvent() { mQuit = true; };
    
      private:
        bool mQuit;
    };
    
    class ANGLENativeDisplayFactory : public eglu::NativeDisplayFactory
    {
      public:
        ANGLENativeDisplayFactory(const std::string &name,
                                  const std::string &description,
                                  std::vector<eglw::EGLAttrib> platformAttributes,
                                  EventState *eventState);
        ~ANGLENativeDisplayFactory() override;
    
        eglu::NativeDisplay *createDisplay(const eglw::EGLAttrib *attribList) const override;
    
      private:
        eglw::EGLNativeDisplayType mNativeDisplay;
        std::vector<eglw::EGLAttrib> mPlatformAttributes;
    };
    
    }  // namespace tcu
    
    #endif  // TCU_ANGLE_WIN32_NATIVE_DISPLAY_FACTORY_H_