FramebufferAttachmentObjectImpl.h (2037B)
1 // 2 // Copyright 2016 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 // FramebufferAttachmentObjectImpl.h: 7 // Common ancenstor for all implementations of FBO attachable-objects. 8 // This means Surfaces, Textures and Renderbuffers. 9 // 10 11 #ifndef LIBANGLE_RENDERER_FRAMEBUFFER_ATTACHMENT_OBJECT_IMPL_H_ 12 #define LIBANGLE_RENDERER_FRAMEBUFFER_ATTACHMENT_OBJECT_IMPL_H_ 13 14 #include "libANGLE/ImageIndex.h" 15 #include "libANGLE/Observer.h" 16 17 namespace gl 18 { 19 class Context; 20 } // namespace gl 21 22 namespace rx 23 { 24 class FramebufferAttachmentRenderTarget; 25 26 class FramebufferAttachmentObjectImpl : public angle::Subject 27 { 28 public: 29 FramebufferAttachmentObjectImpl() {} 30 ~FramebufferAttachmentObjectImpl() override {} 31 32 virtual angle::Result getAttachmentRenderTarget(const gl::Context *context, 33 GLenum binding, 34 const gl::ImageIndex &imageIndex, 35 GLsizei samples, 36 FramebufferAttachmentRenderTarget **rtOut); 37 38 virtual angle::Result initializeContents(const gl::Context *context, 39 GLenum binding, 40 const gl::ImageIndex &imageIndex); 41 }; 42 43 inline angle::Result FramebufferAttachmentObjectImpl::getAttachmentRenderTarget( 44 const gl::Context *context, 45 GLenum binding, 46 const gl::ImageIndex &imageIndex, 47 GLsizei samples, 48 FramebufferAttachmentRenderTarget **rtOut) 49 { 50 UNIMPLEMENTED(); 51 return angle::Result::Stop; 52 } 53 54 inline angle::Result FramebufferAttachmentObjectImpl::initializeContents( 55 const gl::Context *context, 56 GLenum binding, 57 const gl::ImageIndex &imageIndex) 58 { 59 UNIMPLEMENTED(); 60 return angle::Result::Stop; 61 } 62 63 } // namespace rx 64 65 #endif // LIBANGLE_RENDERER_FRAMEBUFFER_ATTACHMENT_OBJECT_IMPL_H_