summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libANGLE/Stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/Stream.h')
-rw-r--r--src/3rdparty/angle/src/libANGLE/Stream.h143
1 files changed, 0 insertions, 143 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/Stream.h b/src/3rdparty/angle/src/libANGLE/Stream.h
deleted file mode 100644
index b674c44008..0000000000
--- a/src/3rdparty/angle/src/libANGLE/Stream.h
+++ /dev/null
@@ -1,143 +0,0 @@
-//
-// Copyright (c) 2016 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.
-//
-
-// Stream.h: Defines the egl::Stream class, representing the stream
-// where frames are streamed in. Implements EGLStreanKHR.
-
-#ifndef LIBANGLE_STREAM_H_
-#define LIBANGLE_STREAM_H_
-
-#include <array>
-
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-
-#include "common/angleutils.h"
-#include "libANGLE/AttributeMap.h"
-
-namespace rx
-{
-class StreamProducerImpl;
-}
-
-namespace gl
-{
-class Context;
-class Texture;
-}
-
-namespace egl
-{
-class Display;
-class Error;
-class Thread;
-
-class Stream final : angle::NonCopyable
-{
- public:
- Stream(Display *display, const AttributeMap &attribs);
- ~Stream();
-
- enum class ConsumerType
- {
- NoConsumer,
- GLTextureRGB,
- GLTextureYUV,
- };
-
- enum class ProducerType
- {
- NoProducer,
- D3D11TextureNV12,
- };
-
- // A GL texture interpretation of a part of a producer frame. For use with GL texture consumers
- struct GLTextureDescription
- {
- unsigned int width;
- unsigned int height;
- unsigned int internalFormat;
- unsigned int mipLevels;
- };
-
- EGLenum getState() const;
-
- void setConsumerLatency(EGLint latency);
- EGLint getConsumerLatency() const;
-
- EGLuint64KHR getProducerFrame() const;
- EGLuint64KHR getConsumerFrame() const;
-
- void setConsumerAcquireTimeout(EGLint timeout);
- EGLint getConsumerAcquireTimeout() const;
-
- ConsumerType getConsumerType() const;
- ProducerType getProducerType() const;
-
- EGLint getPlaneCount() const;
-
- rx::StreamProducerImpl *getImplementation();
-
- // Consumer creation methods
- Error createConsumerGLTextureExternal(const AttributeMap &attributes, gl::Context *context);
-
- // Producer creation methods
- Error createProducerD3D11TextureNV12(const AttributeMap &attributes);
-
- // Consumer methods
- Error consumerAcquire(const gl::Context *context);
- Error consumerRelease(const gl::Context *context);
-
- // Some consumers are bound to GL contexts. This validates that a given context is bound to the
- // stream's consumer
- bool isConsumerBoundToContext(const gl::Context *context) const;
-
- // Producer methods
- Error validateD3D11NV12Texture(void *texture) const;
- Error postD3D11NV12Texture(void *texture, const AttributeMap &attributes);
-
- private:
- // Associated display
- Display *mDisplay;
-
- // Producer Implementation
- rx::StreamProducerImpl *mProducerImplementation;
-
- // Associated GL context. Note that this is a weak pointer used for validation purposes only,
- // and should never be arbitrarily dereferenced without knowing the context still exists as it
- // can become dangling at any time.
- gl::Context *mContext;
-
- // EGL defined attributes
- EGLint mState;
- EGLuint64KHR mProducerFrame;
- EGLuint64KHR mConsumerFrame;
- EGLint mConsumerLatency;
-
- // EGL gltexture consumer attributes
- EGLint mConsumerAcquireTimeout;
-
- // EGL gltexture yuv consumer attributes
- EGLint mPlaneCount;
- struct PlaneTexture
- {
- EGLint textureUnit;
- gl::Texture *texture;
- };
- // Texture units and textures for all the planes
- std::array<PlaneTexture, 3> mPlanes;
-
- // Consumer and producer types
- ConsumerType mConsumerType;
- ProducerType mProducerType;
-
- // ANGLE-only method, used internally
- friend class gl::Texture;
- void releaseTextures();
-};
-} // namespace egl
-
-#endif // LIBANGLE_STREAM_H_