| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef GrGLGpu_DEFINED | 8 #ifndef GrGLGpu_DEFINED |
| 9 #define GrGLGpu_DEFINED | 9 #define GrGLGpu_DEFINED |
| 10 | 10 |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 // GrDrawTarget overrides | 161 // GrDrawTarget overrides |
| 162 void didAddGpuTraceMarker() SK_OVERRIDE; | 162 void didAddGpuTraceMarker() SK_OVERRIDE; |
| 163 void didRemoveGpuTraceMarker() SK_OVERRIDE; | 163 void didRemoveGpuTraceMarker() SK_OVERRIDE; |
| 164 | 164 |
| 165 // binds texture unit in GL | 165 // binds texture unit in GL |
| 166 void setTextureUnit(int unitIdx); | 166 void setTextureUnit(int unitIdx); |
| 167 | 167 |
| 168 // Flushes state from GrPipeline to GL. Returns false if the state couldn't
be set. | 168 // Flushes state from GrPipeline to GL. Returns false if the state couldn't
be set. |
| 169 // TODO we only have need to know if this is a line draw for flushing AA sta
te on some buggy | 169 // TODO we only have need to know if this is a line draw for flushing AA sta
te on some buggy |
| 170 // hardware. Evaluate if this is really necessary anymore | 170 // hardware. Evaluate if this is really necessary anymore |
| 171 bool flushGLState(const DrawArgs&, bool isLineDraw); | 171 bool flushGLState(const DrawArgs&, bool isLineDraw, |
| 172 GrSampleConfig sampleConfig = kUnified_GrSampleConfig); |
| 172 | 173 |
| 173 // Sets up vertex attribute pointers and strides. On return indexOffsetInByt
es gives the offset | 174 // Sets up vertex attribute pointers and strides. On return indexOffsetInByt
es gives the offset |
| 174 // an into the index buffer. It does not account for drawInfo.startIndex() b
ut rather the start | 175 // an into the index buffer. It does not account for drawInfo.startIndex() b
ut rather the start |
| 175 // index is relative to the returned offset. | 176 // index is relative to the returned offset. |
| 176 void setupGeometry(const GrPrimitiveProcessor&, | 177 void setupGeometry(const GrPrimitiveProcessor&, |
| 177 const GrDrawTarget::DrawInfo& info, | 178 const GrDrawTarget::DrawInfo& info, |
| 178 size_t* indexOffsetInBytes); | 179 size_t* indexOffsetInBytes); |
| 179 | 180 |
| 180 // Subclasses should call this to flush the blend state. | 181 // Subclasses should call this to flush the blend state. |
| 181 void flushBlend(const GrXferProcessor::BlendInfo& blendInfo); | 182 void flushBlend(const GrXferProcessor::BlendInfo& blendInfo); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 | 264 |
| 264 // binds the FBO and returns the GL enum of the framebuffer target it was bo
und to. | 265 // binds the FBO and returns the GL enum of the framebuffer target it was bo
und to. |
| 265 GrGLenum bindFBO(FBOBinding, const GrGLFBO*); | 266 GrGLenum bindFBO(FBOBinding, const GrGLFBO*); |
| 266 // This version invokes a workaround for a bug in Chromium. It should be cal
led before | 267 // This version invokes a workaround for a bug in Chromium. It should be cal
led before |
| 267 // attachments are changed on a FBO. | 268 // attachments are changed on a FBO. |
| 268 GrGLenum bindFBOForAddingAttachments(const GrGLFBO*); | 269 GrGLenum bindFBOForAddingAttachments(const GrGLFBO*); |
| 269 | 270 |
| 270 void setViewport(const GrGLIRect& viewport); | 271 void setViewport(const GrGLIRect& viewport); |
| 271 | 272 |
| 272 void flushStencil(const GrStencilSettings&); | 273 void flushStencil(const GrStencilSettings&); |
| 273 void flushHWAAState(GrRenderTarget* rt, bool useHWAA, bool isLineDraw); | 274 void flushHWAAState(GrRenderTarget* rt, bool useHWAA, bool isLineDraw, |
| 275 GrSampleConfig sampleConfig = kUnified_GrSampleConfig); |
| 274 | 276 |
| 275 bool configToGLFormats(GrPixelConfig config, | 277 bool configToGLFormats(GrPixelConfig config, |
| 276 bool getSizedInternal, | 278 bool getSizedInternal, |
| 277 GrGLenum* internalFormat, | 279 GrGLenum* internalFormat, |
| 278 GrGLenum* externalFormat, | 280 GrGLenum* externalFormat, |
| 279 GrGLenum* externalType); | 281 GrGLenum* externalType); |
| 280 // helper for onCreateTexture and writeTexturePixels | 282 // helper for onCreateTexture and writeTexturePixels |
| 281 bool uploadTexData(const GrSurfaceDesc& desc, | 283 bool uploadTexData(const GrSurfaceDesc& desc, |
| 282 bool isNewTexture, | 284 bool isNewTexture, |
| 283 int left, int top, int width, int height, | 285 int left, int top, int width, int height, |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 | 489 |
| 488 // we record what stencil format worked last time to hopefully exit early | 490 // we record what stencil format worked last time to hopefully exit early |
| 489 // from our loop that tries stencil formats and calls check fb status. | 491 // from our loop that tries stencil formats and calls check fb status. |
| 490 int fLastSuccessfulStencilFmtIdx; | 492 int fLastSuccessfulStencilFmtIdx; |
| 491 | 493 |
| 492 typedef GrGpu INHERITED; | 494 typedef GrGpu INHERITED; |
| 493 friend class GrGLPathRendering; // For accessing setTextureUnit. | 495 friend class GrGLPathRendering; // For accessing setTextureUnit. |
| 494 }; | 496 }; |
| 495 | 497 |
| 496 #endif | 498 #endif |
| OLD | NEW |