summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libANGLE/Data.h
diff options
context:
space:
mode:
authorOliver Wolff <oliver.wolff@theqtcompany.com>2016-03-24 12:38:18 +0100
committerOliver Wolff <oliver.wolff@qt.io>2016-04-25 05:57:38 +0000
commite12ba07322cd61c5cf50c25ed8d1f08f6b1ff879 (patch)
treed31a44c9f123ed764a00eff7b4fff656a07d54ab /src/3rdparty/angle/src/libANGLE/Data.h
parentd3dcc6f610b97be7cbfbb0a65988e5940568c825 (diff)
Update ANGLE to chromium/2651
Change-Id: I1cd32b780b1a0b913fab870e155ae1f4f9ac40d7 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/Data.h')
-rw-r--r--src/3rdparty/angle/src/libANGLE/Data.h48
1 files changed, 41 insertions, 7 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/Data.h b/src/3rdparty/angle/src/libANGLE/Data.h
index 7eb6827dfc..f7230d74bc 100644
--- a/src/3rdparty/angle/src/libANGLE/Data.h
+++ b/src/3rdparty/angle/src/libANGLE/Data.h
@@ -9,28 +9,62 @@
#ifndef LIBANGLE_DATA_H_
#define LIBANGLE_DATA_H_
+#include "common/angleutils.h"
#include "libANGLE/State.h"
namespace gl
{
-struct Data final
+struct Data final : public angle::NonCopyable
{
public:
- Data(GLint clientVersion, const State &state, const Caps &caps,
- const TextureCapsMap &textureCaps, const Extensions &extensions,
- const ResourceManager *resourceManager);
+ Data(uintptr_t context,
+ GLint clientVersion,
+ const State &state,
+ const Caps &caps,
+ const TextureCapsMap &textureCaps,
+ const Extensions &extensions,
+ const ResourceManager *resourceManager,
+ const Limitations &limitations);
~Data();
- Data(const Data &other);
- Data &operator=(const Data &other);
-
+ uintptr_t context;
GLint clientVersion;
const State *state;
const Caps *caps;
const TextureCapsMap *textureCaps;
const Extensions *extensions;
const ResourceManager *resourceManager;
+ const Limitations *limitations;
+};
+
+class ValidationContext : angle::NonCopyable
+{
+ public:
+ ValidationContext(GLint clientVersion,
+ const State &state,
+ const Caps &caps,
+ const TextureCapsMap &textureCaps,
+ const Extensions &extensions,
+ const ResourceManager *resourceManager,
+ const Limitations &limitations,
+ bool skipValidation);
+ virtual ~ValidationContext() {}
+
+ virtual void recordError(const Error &error) = 0;
+
+ const Data &getData() const { return mData; }
+ int getClientVersion() const { return mData.clientVersion; }
+ const State &getState() const { return *mData.state; }
+ const Caps &getCaps() const { return *mData.caps; }
+ const TextureCapsMap &getTextureCaps() const { return *mData.textureCaps; }
+ const Extensions &getExtensions() const { return *mData.extensions; }
+ const Limitations &getLimitations() const { return *mData.limitations; }
+ bool skipValidation() const { return mSkipValidation; }
+
+ protected:
+ Data mData;
+ bool mSkipValidation;
};
}