// // 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. //
// Image.h: Defines the egl::Image class representing the EGLimage object.
namespace rx
{ class EGLImplFactory; class ImageImpl; class ExternalImageSiblingImpl;
// Used for distinguishing dirty bit messages from gl::Texture/rx::TexureImpl/gl::Image.
constexpr size_t kTextureImageImplObserverMessageIndex = 0;
constexpr size_t kTextureImageSiblingMessageIndex = 1;
} // namespace rx
namespace egl
{ class Image; class Display;
// Only currently Renderbuffers and Textures can be bound with images. This makes the relationship // explicit, and also ensures that an image sibling can determine if it's been initialized or not, // which is important for the robust resource init extension with Textures and EGLImages. class ImageSibling : public gl::FramebufferAttachmentObject
{ public:
ImageSibling();
~ImageSibling() override;
// Wrapper for EGLImage sources that are not owned by ANGLE, these often have to do // platform-specific queries for format and size information. class ExternalImageSibling : public ImageSibling
{ public:
ExternalImageSibling(rx::EGLImplFactory *factory, const gl::Context *context,
EGLenum target,
EGLClientBuffer buffer, const AttributeMap &attribs);
~ExternalImageSibling() override;
// Called from ImageSibling only notify the image that a new target sibling exists for state // tracking. void addTargetSibling(ImageSibling *sibling);
// Called from ImageSibling only to notify the image that a sibling (source or target) has // been respecified and state tracking should be updated.
angle::Result orphanSibling(const gl::Context *context, ImageSibling *sibling);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.