diff options
author | Andrew Knight <andrew.knight@digia.com> | 2014-09-25 13:22:55 +0300 |
---|---|---|
committer | Andrew Knight <andrew.knight@digia.com> | 2014-09-29 16:09:29 +0200 |
commit | 311157c3c6849e8efccd88f7594bb34c570a6780 (patch) | |
tree | a50c252b638488326529c0e69aa05e42abce7462 /src/3rdparty/angle/src/libGLESv2/State.h | |
parent | 04d3a89e20d49a3b5015b071bfdedc81973b090c (diff) |
ANGLE: Upgrade to 2.1~abce76206141
Upgrade to address issues discovered since the last upgrade.
Patch notes:
0000-General-fixes-for-ANGLE-2.1.patch
added removal of the unused third-party tracing functions
0003-Fix-compilation-with-MinGW-gcc-64-bit.patch
removed as it is no longer needed
0011-ANGLE-Fix-compilation-error-on-MinGW-caused-by-trace.patch
removed as it is no longer needed
0016-ANGLE-Fix-compilation-with-MinGW-D3D11.patch
now supports MinGW 64-bit
[ChangeLog][Third-party libraries] ANGLE updated to 2.1~f8602ad91e4f
Task-number: QTBUG-40649
Task-number: QTBUG-40658
Task-number: QTBUG-41031
Task-number: QTBUG-41081
Task-number: QTBUG-41308
Task-number: QTBUG-41563
Change-Id: I9f776c8d5cb94ddb12d608a8d5630bfc54437bea
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/State.h')
-rw-r--r-- | src/3rdparty/angle/src/libGLESv2/State.h | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/State.h b/src/3rdparty/angle/src/libGLESv2/State.h index 09be0b335d..5f0433136c 100644 --- a/src/3rdparty/angle/src/libGLESv2/State.h +++ b/src/3rdparty/angle/src/libGLESv2/State.h @@ -24,6 +24,7 @@ namespace gl class Query; class VertexArray; class Context; +struct Caps; class State { @@ -31,6 +32,9 @@ class State State(); ~State(); + void initialize(const Caps& caps, GLuint clientVersion); + void reset(); + void setContext(Context *context) { mContext = context; } // State chunk getters @@ -126,9 +130,9 @@ class State // Texture binding & active texture unit manipulation void setActiveSampler(unsigned int active); unsigned int getActiveSampler() const; - void setSamplerTexture(TextureType type, Texture *texture); - Texture *getSamplerTexture(unsigned int sampler, TextureType type) const; - GLuint getSamplerTextureId(unsigned int sampler, TextureType type) const; + void setSamplerTexture(GLenum type, Texture *texture); + Texture *getSamplerTexture(unsigned int sampler, GLenum type) const; + GLuint getSamplerTextureId(unsigned int sampler, GLenum type) const; void detachTexture(GLuint texture); // Sampler object binding manipulation @@ -238,6 +242,8 @@ class State bool getIndexedIntegerv(GLenum target, GLuint index, GLint *data); bool getIndexedInteger64v(GLenum target, GLuint index, GLint64 *data); + bool hasMappedBuffer(GLenum target) const; + private: DISALLOW_COPY_AND_ASSIGN(State); @@ -270,7 +276,6 @@ class State float mNearZ; float mFarZ; - unsigned int mActiveSampler; // Active texture unit selector - GL_TEXTURE0 BindingPointer<Buffer> mArrayBuffer; Framebuffer *mReadFramebuffer; Framebuffer *mDrawFramebuffer; @@ -281,8 +286,15 @@ class State VertexAttribCurrentValueData mVertexAttribCurrentValues[MAX_VERTEX_ATTRIBS]; // From glVertexAttrib VertexArray *mVertexArray; - BindingPointer<Texture> mSamplerTexture[TEXTURE_TYPE_COUNT][IMPLEMENTATION_MAX_COMBINED_TEXTURE_IMAGE_UNITS]; - BindingPointer<Sampler> mSamplers[IMPLEMENTATION_MAX_COMBINED_TEXTURE_IMAGE_UNITS]; + // Texture and sampler bindings + size_t mActiveSampler; // Active texture unit selector - GL_TEXTURE0 + + typedef std::vector< BindingPointer<Texture> > TextureBindingVector; + typedef std::map<GLenum, TextureBindingVector> TextureBindingMap; + TextureBindingMap mSamplerTextures; + + typedef std::vector< BindingPointer<Sampler> > SamplerBindingVector; + SamplerBindingVector mSamplers; typedef std::map< GLenum, BindingPointer<Query> > ActiveQueryMap; ActiveQueryMap mActiveQueries; |