OLD | NEW |
---|---|
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2010 Google Inc. | 3 * Copyright 2010 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 | 9 |
10 #include "GrGpu.h" | 10 #include "GrGpu.h" |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
329 } | 329 } |
330 | 330 |
331 this->handleDirtyContext(); | 331 this->handleDirtyContext(); |
332 if (this->onWritePixels(surface, left, top, width, height, config, buffer, r owBytes)) { | 332 if (this->onWritePixels(surface, left, top, width, height, config, buffer, r owBytes)) { |
333 fStats.incTextureUploads(); | 333 fStats.incTextureUploads(); |
334 return true; | 334 return true; |
335 } | 335 } |
336 return false; | 336 return false; |
337 } | 337 } |
338 | 338 |
339 bool GrGpu::transferPixels(GrSurface* surface, | |
340 int left, int top, int width, int height, | |
341 GrPixelConfig config, GrTransferBuffer* buffer, | |
342 size_t offset, size_t rowBytes) { | |
343 if (!buffer) { | |
bsalomon
2015/12/18 15:24:38
|| !surface?
jvanverth1
2016/01/04 21:24:09
Done.
| |
344 return false; | |
345 } | |
346 | |
347 this->handleDirtyContext(); | |
348 if (this->onTransferPixels(surface, left, top, width, height, config, | |
349 buffer, offset, rowBytes)) { | |
350 fStats.incTextureUploads(); | |
bsalomon
2015/12/18 15:24:38
Worth tracking transfers differently from uploads?
jvanverth1
2016/01/04 21:24:09
Done.
| |
351 return true; | |
352 } | |
353 return false; | |
354 } | |
355 | |
339 void GrGpu::resolveRenderTarget(GrRenderTarget* target) { | 356 void GrGpu::resolveRenderTarget(GrRenderTarget* target) { |
340 SkASSERT(target); | 357 SkASSERT(target); |
341 this->handleDirtyContext(); | 358 this->handleDirtyContext(); |
342 this->onResolveRenderTarget(target); | 359 this->onResolveRenderTarget(target); |
343 } | 360 } |
344 | 361 |
345 //////////////////////////////////////////////////////////////////////////////// | 362 //////////////////////////////////////////////////////////////////////////////// |
346 | 363 |
347 void GrGpu::draw(const DrawArgs& args, const GrVertices& vertices) { | 364 void GrGpu::draw(const DrawArgs& args, const GrVertices& vertices) { |
348 this->handleDirtyContext(); | 365 this->handleDirtyContext(); |
349 if (GrXferBarrierType barrierType = args.fPipeline->xferBarrierType(*this->c aps())) { | 366 if (GrXferBarrierType barrierType = args.fPipeline->xferBarrierType(*this->c aps())) { |
350 this->xferBarrier(args.fPipeline->getRenderTarget(), barrierType); | 367 this->xferBarrier(args.fPipeline->getRenderTarget(), barrierType); |
351 } | 368 } |
352 | 369 |
353 GrVertices::Iterator iter; | 370 GrVertices::Iterator iter; |
354 const GrNonInstancedVertices* verts = iter.init(vertices); | 371 const GrNonInstancedVertices* verts = iter.init(vertices); |
355 do { | 372 do { |
356 this->onDraw(args, *verts); | 373 this->onDraw(args, *verts); |
357 fStats.incNumDraws(); | 374 fStats.incNumDraws(); |
358 } while ((verts = iter.next())); | 375 } while ((verts = iter.next())); |
359 } | 376 } |
OLD | NEW |