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 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 // with new data. | 276 // with new data. |
277 bool uploadCompressedTexData(const GrSurfaceDesc& desc, | 277 bool uploadCompressedTexData(const GrSurfaceDesc& desc, |
278 const void* data, | 278 const void* data, |
279 bool isNewTexture = true, | 279 bool isNewTexture = true, |
280 int left = 0, int top = 0, | 280 int left = 0, int top = 0, |
281 int width = -1, int height = -1); | 281 int width = -1, int height = -1); |
282 | 282 |
283 bool createRenderTargetObjects(const GrSurfaceDesc&, bool budgeted, GrGLuint
texID, | 283 bool createRenderTargetObjects(const GrSurfaceDesc&, bool budgeted, GrGLuint
texID, |
284 GrGLRenderTarget::IDDesc*); | 284 GrGLRenderTarget::IDDesc*); |
285 | 285 |
286 GrGLuint bindSurfaceAsFBO(GrSurface* surface, GrGLenum fboTarget, GrGLIRect*
viewport); | 286 enum TempFBOTarget { |
| 287 kSrc_TempFBOTarget, |
| 288 kDst_TempFBOTarget |
| 289 }; |
| 290 |
| 291 GrGLuint bindSurfaceAsFBO(GrSurface* surface, GrGLenum fboTarget, GrGLIRect*
viewport, |
| 292 TempFBOTarget tempFBOTarget); |
| 293 |
| 294 void unbindTextureFromFBO(GrGLenum fboTarget); |
287 | 295 |
288 GrGLContext fGLContext; | 296 GrGLContext fGLContext; |
289 | 297 |
290 // GL program-related state | 298 // GL program-related state |
291 ProgramCache* fProgramCache; | 299 ProgramCache* fProgramCache; |
292 SkAutoTUnref<GrGLProgram> fCurrentProgram; | 300 SkAutoTUnref<GrGLProgram> fCurrentProgram; |
293 | 301 |
294 /////////////////////////////////////////////////////////////////////////// | 302 /////////////////////////////////////////////////////////////////////////// |
295 ///@name Caching of GL State | 303 ///@name Caching of GL State |
296 ///@{ | 304 ///@{ |
297 int fHWActiveTextureUnitIdx; | 305 int fHWActiveTextureUnitIdx; |
298 GrGLuint fHWProgramID; | 306 GrGLuint fHWProgramID; |
299 | 307 |
300 enum TriState { | 308 enum TriState { |
301 kNo_TriState, | 309 kNo_TriState, |
302 kYes_TriState, | 310 kYes_TriState, |
303 kUnknown_TriState | 311 kUnknown_TriState |
304 }; | 312 }; |
305 | 313 |
| 314 GrGLuint fTempSrcFBOID; |
| 315 GrGLuint fTempDstFBOID; |
| 316 |
306 // last scissor / viewport scissor state seen by the GL. | 317 // last scissor / viewport scissor state seen by the GL. |
307 struct { | 318 struct { |
308 TriState fEnabled; | 319 TriState fEnabled; |
309 GrGLIRect fRect; | 320 GrGLIRect fRect; |
310 void invalidate() { | 321 void invalidate() { |
311 fEnabled = kUnknown_TriState; | 322 fEnabled = kUnknown_TriState; |
312 fRect.invalidate(); | 323 fRect.invalidate(); |
313 } | 324 } |
314 } fHWScissorSettings; | 325 } fHWScissorSettings; |
315 | 326 |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
454 | 465 |
455 // we record what stencil format worked last time to hopefully exit early | 466 // we record what stencil format worked last time to hopefully exit early |
456 // from our loop that tries stencil formats and calls check fb status. | 467 // from our loop that tries stencil formats and calls check fb status. |
457 int fLastSuccessfulStencilFmtIdx; | 468 int fLastSuccessfulStencilFmtIdx; |
458 | 469 |
459 typedef GrGpu INHERITED; | 470 typedef GrGpu INHERITED; |
460 friend class GrGLPathRendering; // For accessing setTextureUnit. | 471 friend class GrGLPathRendering; // For accessing setTextureUnit. |
461 }; | 472 }; |
462 | 473 |
463 #endif | 474 #endif |
OLD | NEW |