| Index: src/gpu/gl/GrGLGpu.h
|
| diff --git a/src/gpu/gl/GrGLGpu.h b/src/gpu/gl/GrGLGpu.h
|
| index c2dda0a222be2ef16a73b1d8cd4fc1f5c4b6543c..c8b5d70f1b1d12ee573ee682376a930598f75761 100644
|
| --- a/src/gpu/gl/GrGLGpu.h
|
| +++ b/src/gpu/gl/GrGLGpu.h
|
| @@ -60,6 +60,8 @@ public:
|
| void bindTexture(int unitIdx, const GrTextureParams& params, bool dstConfigAllowsSRGB,
|
| GrGLTexture* texture);
|
|
|
| + void bindTexelBuffer(int unitIdx, intptr_t offsetInBytes, GrPixelConfig, GrGLBuffer*);
|
| +
|
| bool onGetReadPixelsInfo(GrSurface* srcSurface, int readWidth, int readHeight, size_t rowBytes,
|
| GrPixelConfig readConfig, DrawPreference*,
|
| ReadPixelTempDrawInfo*) override;
|
| @@ -88,6 +90,9 @@ public:
|
| // If the caller wishes to bind an index buffer to a specific VAO, it can call glBind directly.
|
| GrGLenum bindBuffer(GrBufferType type, const GrGLBuffer*);
|
|
|
| + // Called by GrGLBuffer after its buffer object has been destroyed.
|
| + void notifyBufferReleased(const GrGLBuffer*);
|
| +
|
| const GrGLContext* glContextForTesting() const override {
|
| return &this->glContext();
|
| }
|
| @@ -206,6 +211,8 @@ private:
|
| // binds texture unit in GL
|
| void setTextureUnit(int unitIdx);
|
|
|
| + void setTextureSwizzle(int unitIdx, GrGLenum target, const GrGLenum swizzle[]);
|
| +
|
| // Flushes state from GrPipeline to GL. Returns false if the state couldn't be set.
|
| bool flushGLState(const GrPipeline& pipeline, const GrPrimitiveProcessor& primProc);
|
|
|
| @@ -498,6 +505,23 @@ private:
|
| TriState fHWSRGBFramebuffer;
|
| SkTArray<uint32_t, true> fHWBoundTextureUniqueIDs;
|
|
|
| + struct BufferTexture {
|
| + BufferTexture() : fTextureID(0), fKnownBound(false),
|
| + fAttachedBufferUniqueID(SK_InvalidUniqueID),
|
| + fSwizzle(GrSwizzle::RGBA()) {}
|
| +
|
| + GrGLuint fTextureID;
|
| + bool fKnownBound;
|
| + intptr_t fOffsetInBytes;
|
| + GrPixelConfig fTexelConfig;
|
| + size_t fAttachedSizeInBytes;
|
| + uint32_t fAttachedBufferUniqueID;
|
| + GrSwizzle fSwizzle;
|
| + };
|
| +
|
| + SkTArray<BufferTexture, true> fHWBufferTextures;
|
| + int fHWMaxUsedBufferTextureUnit;
|
| +
|
| // EXT_raster_multisample.
|
| TriState fHWRasterMultisampleEnabled;
|
| int fHWNumRasterSamples;
|
|
|