Hash :
4e6f6545
Author :
Date :
2020-04-16T16:31:24
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>
//
// Copyright 2015 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// X11Pixmap.h: Definition of the implementation of OSPixmap for X11
#ifndef UTIL_X11_PIXMAP_H_
#define UTIL_X11_PIXMAP_H_
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include "util/OSPixmap.h"
class X11Pixmap : public OSPixmap
{
public:
X11Pixmap();
~X11Pixmap() override;
bool initialize(EGLNativeDisplayType display,
size_t width,
size_t height,
int nativeVisual) override;
EGLNativePixmapType getNativePixmap() const override;
private:
Pixmap mPixmap;
Display *mDisplay;
};
#endif // UTIL_X11_PIXMAP_H_