summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-04-05 14:08:31 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-04-11 07:46:53 +0000
commit6a4cabb866f66d4128a97cdc6d9d08ce074f1247 (patch)
treeab00f70a5e89278d6a0d16ff0c42578dc4d84a2d /chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h
parente733310db58160074f574c429d48f8308c0afe17 (diff)
BASELINE: Update Chromium to 57.0.2987.144
Change-Id: I29db402ff696c71a04c4dbaec822c2e53efe0267 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h')
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h44
1 files changed, 42 insertions, 2 deletions
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h
index 068284c5b7b..11401f5b951 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h
+++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h
@@ -74,8 +74,34 @@ class TextureGL : public TextureImpl
gl::Error copySubImage(GLenum target, size_t level, const gl::Offset &destOffset, const gl::Rectangle &sourceArea,
const gl::Framebuffer *source) override;
+ gl::Error copyTexture(GLenum internalFormat,
+ GLenum type,
+ bool unpackFlipY,
+ bool unpackPremultiplyAlpha,
+ bool unpackUnmultiplyAlpha,
+ const gl::Texture *source) override;
+ gl::Error copySubTexture(const gl::Offset &destOffset,
+ const gl::Rectangle &sourceArea,
+ bool unpackFlipY,
+ bool unpackPremultiplyAlpha,
+ bool unpackUnmultiplyAlpha,
+ const gl::Texture *source) override;
+ gl::Error copySubTextureHelper(const gl::Offset &destOffset,
+ const gl::Rectangle &sourceArea,
+ GLenum destFormat,
+ bool unpackFlipY,
+ bool unpackPremultiplyAlpha,
+ bool unpackUnmultiplyAlpha,
+ const gl::Texture *source);
+
gl::Error setStorage(GLenum target, size_t levels, GLenum internalFormat, const gl::Extents &size) override;
+ gl::Error setStorageMultisample(GLenum target,
+ GLsizei samples,
+ GLint internalFormat,
+ const gl::Extents &size,
+ GLboolean fixedSampleLocations) override;
+
gl::Error setImageExternal(GLenum target,
egl::Stream *stream,
const egl::Stream::GLTextureDescription &desc) override;
@@ -88,12 +114,18 @@ class TextureGL : public TextureImpl
gl::Error setEGLImageTarget(GLenum target, egl::Image *image) override;
GLuint getTextureID() const;
+ GLenum getTarget() const;
void setBaseLevel(GLuint) override {}
void syncState(const gl::Texture::DirtyBits &dirtyBits) override;
bool hasAnyDirtyBit() const;
+ void setMinFilter(GLenum filter);
+ void setMagFilter(GLenum filter);
+
+ void setSwizzle(GLint swizzle[4]);
+
private:
void setImageHelper(GLenum target,
size_t level,
@@ -102,6 +134,7 @@ class TextureGL : public TextureImpl
GLenum format,
GLenum type,
const uint8_t *pixels);
+ // This changes the current pixel unpack state that will have to be reapplied.
void reserveTexImageToBeFilled(GLenum target,
size_t level,
GLenum internalFormat,
@@ -124,7 +157,10 @@ class TextureGL : public TextureImpl
const gl::PixelUnpackState &unpack,
const uint8_t *pixels);
- void syncTextureStateSwizzle(const FunctionsGL *functions, GLenum name, GLenum value);
+ void syncTextureStateSwizzle(const FunctionsGL *functions,
+ GLenum name,
+ GLenum value,
+ GLenum *outValue);
void setLevelInfo(size_t level, size_t levelCount, const LevelInfoGL &levelInfo);
@@ -136,7 +172,11 @@ class TextureGL : public TextureImpl
std::vector<LevelInfoGL> mLevelInfo;
gl::Texture::DirtyBits mLocalDirtyBits;
- mutable gl::TextureState mAppliedTextureState;
+ gl::SwizzleState mAppliedSwizzle;
+ gl::SamplerState mAppliedSampler;
+ GLuint mAppliedBaseLevel;
+ GLuint mAppliedMaxLevel;
+
GLuint mTextureID;
};