| Index: src/gpu/gl/GrGLContext.h
|
| diff --git a/src/gpu/gl/GrGLContext.h b/src/gpu/gl/GrGLContext.h
|
| index 7f46522af290cc681697402b6d18c758bf7667a3..e84c8ecffc265cc0ab651b6a0da2da69f8e3a500 100644
|
| --- a/src/gpu/gl/GrGLContext.h
|
| +++ b/src/gpu/gl/GrGLContext.h
|
| @@ -21,30 +21,8 @@
|
| * Encapsulates information about an OpenGL context including the OpenGL
|
| * version, the GrGLStandard type of the context, and GLSL version.
|
| */
|
| -class GrGLContextInfo {
|
| +class GrGLContextInfo : public SkNoncopyable {
|
| public:
|
| - /**
|
| - * Default constructor
|
| - */
|
| - GrGLContextInfo() {
|
| - fGLCaps.reset(SkNEW(GrGLCaps));
|
| - this->reset();
|
| - }
|
| -
|
| - GrGLContextInfo(const GrGLContextInfo& that) {
|
| - fGLCaps.reset(SkNEW(GrGLCaps));
|
| - *this = that;
|
| - }
|
| -
|
| - GrGLContextInfo& operator= (const GrGLContextInfo&);
|
| -
|
| - /**
|
| - * Initializes a GrGLContextInfo from a GrGLInterface and the currently
|
| - * bound OpenGL context accessible by the GrGLInterface.
|
| - */
|
| - bool initialize(const GrGLInterface* interface);
|
| - bool isInitialized() const;
|
| -
|
| GrGLStandard standard() const { return fInterface->fStandard; }
|
| GrGLVersion version() const { return fGLVersion; }
|
| GrGLSLGeneration glslGeneration() const { return fGLSLGeneration; }
|
| @@ -59,20 +37,24 @@ public:
|
| const GrGLCaps* caps() const { return fGLCaps.get(); }
|
| GrGLCaps* caps() { return fGLCaps; }
|
| bool hasExtension(const char* ext) const {
|
| - if (!this->isInitialized()) {
|
| - return false;
|
| - }
|
| return fInterface->hasExtension(ext);
|
| }
|
|
|
| const GrGLExtensions& extensions() const { return fInterface->fExtensions; }
|
|
|
| - /**
|
| - * Reset the information
|
| - */
|
| - void reset();
|
| -
|
| protected:
|
| + struct ConstructorArgs {
|
| + const GrGLInterface* fInterface;
|
| + GrGLVersion fGLVersion;
|
| + GrGLSLGeneration fGLSLGeneration;
|
| + GrGLVendor fVendor;
|
| + GrGLRenderer fRenderer;
|
| + bool fIsMesa;
|
| + bool fIsChromium;
|
| + };
|
| +
|
| + GrGLContextInfo(const ConstructorArgs& args);
|
| +
|
| SkAutoTUnref<const GrGLInterface> fInterface;
|
| GrGLVersion fGLVersion;
|
| GrGLSLGeneration fGLSLGeneration;
|
| @@ -92,20 +74,13 @@ public:
|
| * Creates a GrGLContext from a GrGLInterface and the currently
|
| * bound OpenGL context accessible by the GrGLInterface.
|
| */
|
| - explicit GrGLContext(const GrGLInterface* interface) {
|
| - this->initialize(interface);
|
| - }
|
| -
|
| - GrGLContext(const GrGLContext& that) : INHERITED(that) {}
|
| + static GrGLContext* Create(const GrGLInterface* interface);
|
|
|
| - GrGLContext& operator= (const GrGLContext& that) {
|
| - this->INHERITED::operator=(that);
|
| - return *this;
|
| - }
|
| -
|
| - const GrGLInterface* interface() const { return fInterface.get(); }
|
| + const GrGLInterface* interface() const { return fInterface; }
|
|
|
| private:
|
| + GrGLContext(const ConstructorArgs& args) : INHERITED(args) {}
|
| +
|
| typedef GrGLContextInfo INHERITED;
|
| };
|
|
|
|
|