Edit

kc3-lang/angle/src/libANGLE/renderer/null/TextureNULL.h

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2022-04-21 11:25:00
    Hash : 2dd13ebb
    Message : Track Surface color & depth/stencil init separately. This clears up some trace testing confusion due when robust resource init is enabled, and the app clears color but not depth on the default surface. Bug: angleproject:7221 Change-Id: Id97871aec32ad831b663aaa9116e04b582ab5a36 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3600375 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>

  • src/libANGLE/renderer/null/TextureNULL.h
  • //
    // Copyright 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.
    //
    // TextureNULL.h:
    //    Defines the class interface for TextureNULL, implementing TextureImpl.
    //
    
    #ifndef LIBANGLE_RENDERER_NULL_TEXTURENULL_H_
    #define LIBANGLE_RENDERER_NULL_TEXTURENULL_H_
    
    #include "libANGLE/renderer/TextureImpl.h"
    
    namespace rx
    {
    
    class TextureNULL : public TextureImpl
    {
      public:
        TextureNULL(const gl::TextureState &state);
        ~TextureNULL() override;
    
        angle::Result setImage(const gl::Context *context,
                               const gl::ImageIndex &index,
                               GLenum internalFormat,
                               const gl::Extents &size,
                               GLenum format,
                               GLenum type,
                               const gl::PixelUnpackState &unpack,
                               gl::Buffer *unpackBuffer,
                               const uint8_t *pixels) override;
        angle::Result setSubImage(const gl::Context *context,
                                  const gl::ImageIndex &index,
                                  const gl::Box &area,
                                  GLenum format,
                                  GLenum type,
                                  const gl::PixelUnpackState &unpack,
                                  gl::Buffer *unpackBuffer,
                                  const uint8_t *pixels) override;
    
        angle::Result setCompressedImage(const gl::Context *context,
                                         const gl::ImageIndex &index,
                                         GLenum internalFormat,
                                         const gl::Extents &size,
                                         const gl::PixelUnpackState &unpack,
                                         size_t imageSize,
                                         const uint8_t *pixels) override;
        angle::Result setCompressedSubImage(const gl::Context *context,
                                            const gl::ImageIndex &index,
                                            const gl::Box &area,
                                            GLenum format,
                                            const gl::PixelUnpackState &unpack,
                                            size_t imageSize,
                                            const uint8_t *pixels) override;
    
        angle::Result copyImage(const gl::Context *context,
                                const gl::ImageIndex &index,
                                const gl::Rectangle &sourceArea,
                                GLenum internalFormat,
                                gl::Framebuffer *source) override;
        angle::Result copySubImage(const gl::Context *context,
                                   const gl::ImageIndex &index,
                                   const gl::Offset &destOffset,
                                   const gl::Rectangle &sourceArea,
                                   gl::Framebuffer *source) override;
    
        angle::Result copyTexture(const gl::Context *context,
                                  const gl::ImageIndex &index,
                                  GLenum internalFormat,
                                  GLenum type,
                                  GLint sourceLevel,
                                  bool unpackFlipY,
                                  bool unpackPremultiplyAlpha,
                                  bool unpackUnmultiplyAlpha,
                                  const gl::Texture *source) override;
        angle::Result copySubTexture(const gl::Context *context,
                                     const gl::ImageIndex &index,
                                     const gl::Offset &destOffset,
                                     GLint sourceLevel,
                                     const gl::Box &sourceBox,
                                     bool unpackFlipY,
                                     bool unpackPremultiplyAlpha,
                                     bool unpackUnmultiplyAlpha,
                                     const gl::Texture *source) override;
    
        angle::Result copyRenderbufferSubData(const gl::Context *context,
                                              const gl::Renderbuffer *srcBuffer,
                                              GLint srcLevel,
                                              GLint srcX,
                                              GLint srcY,
                                              GLint srcZ,
                                              GLint dstLevel,
                                              GLint dstX,
                                              GLint dstY,
                                              GLint dstZ,
                                              GLsizei srcWidth,
                                              GLsizei srcHeight,
                                              GLsizei srcDepth) override;
    
        angle::Result copyTextureSubData(const gl::Context *context,
                                         const gl::Texture *srcTexture,
                                         GLint srcLevel,
                                         GLint srcX,
                                         GLint srcY,
                                         GLint srcZ,
                                         GLint dstLevel,
                                         GLint dstX,
                                         GLint dstY,
                                         GLint dstZ,
                                         GLsizei srcWidth,
                                         GLsizei srcHeight,
                                         GLsizei srcDepth) override;
    
        angle::Result copyCompressedTexture(const gl::Context *context,
                                            const gl::Texture *source) override;
    
        angle::Result setStorage(const gl::Context *context,
                                 gl::TextureType type,
                                 size_t levels,
                                 GLenum internalFormat,
                                 const gl::Extents &size) override;
    
        angle::Result setStorageExternalMemory(const gl::Context *context,
                                               gl::TextureType type,
                                               size_t levels,
                                               GLenum internalFormat,
                                               const gl::Extents &size,
                                               gl::MemoryObject *memoryObject,
                                               GLuint64 offset,
                                               GLbitfield createFlags,
                                               GLbitfield usageFlags,
                                               const void *imageCreateInfoPNext) override;
    
        angle::Result setEGLImageTarget(const gl::Context *context,
                                        gl::TextureType type,
                                        egl::Image *image) override;
    
        angle::Result setImageExternal(const gl::Context *context,
                                       gl::TextureType type,
                                       egl::Stream *stream,
                                       const egl::Stream::GLTextureDescription &desc) override;
    
        angle::Result generateMipmap(const gl::Context *context) override;
    
        angle::Result setBaseLevel(const gl::Context *context, GLuint baseLevel) override;
    
        angle::Result bindTexImage(const gl::Context *context, egl::Surface *surface) override;
        angle::Result releaseTexImage(const gl::Context *context) override;
    
        angle::Result syncState(const gl::Context *context,
                                const gl::Texture::DirtyBits &dirtyBits,
                                gl::Command source) override;
    
        angle::Result setStorageMultisample(const gl::Context *context,
                                            gl::TextureType type,
                                            GLsizei samples,
                                            GLint internalformat,
                                            const gl::Extents &size,
                                            bool fixedSampleLocations) override;
    
        angle::Result initializeContents(const gl::Context *context,
                                         GLenum binding,
                                         const gl::ImageIndex &imageIndex) override;
    };
    
    }  // namespace rx
    
    #endif  // LIBANGLE_RENDERER_NULL_TEXTURENULL_H_