Add OWNERS in external/deqp am: ea5d0ac339 am: d8d22c9c34 am: 90707d5538
[platform/upstream/VK-GL-CTS.git] / framework / egl / egluNativeDisplay.hpp
index 932f4ed..bd142cc 100644 (file)
 #include "tcuFactoryRegistry.hpp"
 #include "egluNativeWindow.hpp"
 #include "egluNativePixmap.hpp"
-#include "egluHeaderWrapper.hpp"
+#include "eglwDefs.hpp"
 
 #include <string>
 
+namespace eglw
+{
+class Library;
+}
+
 namespace eglu
 {
 
@@ -45,18 +50,23 @@ public:
 
        virtual                                                         ~NativeDisplay                          (void);
 
+       virtual const eglw::Library&            getLibrary                                      (void) const = 0;
+
        Capability                                                      getCapabilities                         (void) const { return m_capabilities; }
-       EGLenum                                                         getPlatformType                         (void) const { return m_platformType; }
+       eglw::EGLenum                                           getPlatformType                         (void) const { return m_platformType; }
        const char*                                                     getPlatformExtensionName        (void) const { return (m_platformExtension.empty() ? DE_NULL : m_platformExtension.c_str()); }
 
        //! Get EGLNativeDisplayType that can be used with eglGetDisplay(). Default implementation throws tcu::NotSupportedError().
-       virtual EGLNativeDisplayType            getLegacyNative                         (void);
+       virtual eglw::EGLNativeDisplayType      getLegacyNative                         (void);
 
        //! Return display pointer that can be used with eglGetPlatformDisplay(). Default implementations throw tcu::NotSupportedError()
        virtual void*                                           getPlatformNative                       (void);
 
+       //! Attributes to pass to eglGetPlatformDisplay(EXT)
+       virtual const eglw::EGLAttrib*          getPlatformAttributes           (void) const;
+
 protected:
-                                                                               NativeDisplay                           (Capability capabilities, EGLenum platformType, const char* platformExtension);
+                                                                               NativeDisplay                           (Capability capabilities, eglw::EGLenum platformType, const char* platformExtension);
                                                                                NativeDisplay                           (Capability capabilities);
 
 private:
@@ -64,7 +74,7 @@ private:
        NativeDisplay&                                          operator=                                       (const NativeDisplay&);
 
        const Capability                                        m_capabilities;
-       const EGLenum                                           m_platformType;                         //!< EGL platform type, or EGL_NONE if not supported.
+       const eglw::EGLenum                                     m_platformType;                         //!< EGL platform type, or EGL_NONE if not supported.
        const std::string                                       m_platformExtension;
 };
 
@@ -73,10 +83,10 @@ class NativeDisplayFactory : public tcu::FactoryBase
 public:
        virtual                                                         ~NativeDisplayFactory           (void);
 
-       virtual NativeDisplay*                          createDisplay                           (const EGLAttrib* attribList = DE_NULL) const = 0;
+       virtual NativeDisplay*                          createDisplay                           (const eglw::EGLAttrib* attribList = DE_NULL) const = 0;
 
        NativeDisplay::Capability                       getCapabilities                         (void) const { return m_capabilities; }
-       EGLenum                                                         getPlatformType                         (void) const { return m_platformType; }
+       eglw::EGLenum                                           getPlatformType                         (void) const { return m_platformType; }
        const char*                                                     getPlatformExtensionName        (void) const { return (m_platformExtension.empty() ? DE_NULL : m_platformExtension.c_str()); }
 
        const NativeWindowFactoryRegistry&      getNativeWindowRegistry         (void) const { return m_nativeWindowRegistry; }
@@ -84,7 +94,7 @@ public:
 
 protected:
                                                                                NativeDisplayFactory            (const std::string& name, const std::string& description, NativeDisplay::Capability capabilities);
-                                                                               NativeDisplayFactory            (const std::string& name, const std::string& description, NativeDisplay::Capability capabilities, EGLenum platformType, const char* platformExtension);
+                                                                               NativeDisplayFactory            (const std::string& name, const std::string& description, NativeDisplay::Capability capabilities, eglw::EGLenum platformType, const char* platformExtension);
 
        NativeWindowFactoryRegistry                     m_nativeWindowRegistry;
        NativePixmapFactoryRegistry                     m_nativePixmapRegistry;
@@ -94,7 +104,7 @@ private:
        NativeDisplayFactory&                           operator=                                       (const NativeDisplayFactory&);
 
        const NativeDisplay::Capability         m_capabilities;
-       const EGLenum                                           m_platformType;
+       const eglw::EGLenum                                     m_platformType;
        const std::string                                       m_platformExtension;
 };