• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright 2018 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 
7 // NativeBufferImageSiblingAndroid.cpp: Implements the NativeBufferImageSiblingAndroid class
8 
9 #include "libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.h"
10 
11 #include "common/android_util.h"
12 
13 namespace rx
14 {
NativeBufferImageSiblingAndroid(EGLClientBuffer buffer)15 NativeBufferImageSiblingAndroid::NativeBufferImageSiblingAndroid(EGLClientBuffer buffer)
16     : mBuffer(buffer), mFormat(GL_NONE)
17 {}
18 
~NativeBufferImageSiblingAndroid()19 NativeBufferImageSiblingAndroid::~NativeBufferImageSiblingAndroid() {}
20 
initialize(const egl::Display * display)21 egl::Error NativeBufferImageSiblingAndroid::initialize(const egl::Display *display)
22 {
23     int pixelFormat = 0;
24     angle::android::GetANativeWindowBufferProperties(
25         angle::android::ClientBufferToANativeWindowBuffer(mBuffer), &mSize.width, &mSize.height,
26         &mSize.depth, &pixelFormat);
27     mFormat = gl::Format(angle::android::NativePixelFormatToGLInternalFormat(pixelFormat));
28 
29     return egl::NoError();
30 }
31 
getFormat() const32 gl::Format NativeBufferImageSiblingAndroid::getFormat() const
33 {
34     return mFormat;
35 }
36 
isRenderable(const gl::Context * context) const37 bool NativeBufferImageSiblingAndroid::isRenderable(const gl::Context *context) const
38 {
39     return true;
40 }
41 
isTexturable(const gl::Context * context) const42 bool NativeBufferImageSiblingAndroid::isTexturable(const gl::Context *context) const
43 {
44     return true;
45 }
46 
getSize() const47 gl::Extents NativeBufferImageSiblingAndroid::getSize() const
48 {
49     return mSize;
50 }
51 
getSamples() const52 size_t NativeBufferImageSiblingAndroid::getSamples() const
53 {
54     return 0;
55 }
56 
getBuffer() const57 EGLClientBuffer NativeBufferImageSiblingAndroid::getBuffer() const
58 {
59     return mBuffer;
60 }
61 
62 }  // namespace rx
63