1 // 2 // Copyright 2021 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 // DisplayVkLinux.h: 7 // Defines the class interface for DisplayVkLinux, which is the base of DisplayVkSimple, 8 // DisplayVkHeadless, DisplayVkXcb and DisplayVkWayland. This base class implements the 9 // common functionality of handling Linux dma-bufs. 10 // 11 12 #ifndef LIBANGLE_RENDERER_VULKAN_DISPLAY_DISPLAYVKLINUX_H_ 13 #define LIBANGLE_RENDERER_VULKAN_DISPLAY_DISPLAYVKLINUX_H_ 14 15 #include "libANGLE/renderer/vulkan/DisplayVk.h" 16 17 namespace rx 18 { 19 class DisplayVkLinux : public DisplayVk 20 { 21 public: 22 DisplayVkLinux(const egl::DisplayState &state); 23 24 ExternalImageSiblingImpl *createExternalImageSibling(const gl::Context *context, 25 EGLenum target, 26 EGLClientBuffer buffer, 27 const egl::AttributeMap &attribs) override; 28 }; 29 30 } // namespace rx 31 32 #endif // LIBANGLE_RENDERER_VULKAN_DISPLAY_DISPLAYVKLINUX_H_ 33