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 "GrBufferAllocPool.h" | 10 #include "GrBufferAllocPool.h" |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 VALIDATE(); | 196 VALIDATE(); |
197 return fBufferPtr; | 197 return fBufferPtr; |
198 } | 198 } |
199 | 199 |
200 int GrBufferAllocPool::currentBufferItems(size_t itemSize) const { | 200 int GrBufferAllocPool::currentBufferItems(size_t itemSize) const { |
201 VALIDATE(); | 201 VALIDATE(); |
202 if (NULL != fBufferPtr) { | 202 if (NULL != fBufferPtr) { |
203 const BufferBlock& back = fBlocks.back(); | 203 const BufferBlock& back = fBlocks.back(); |
204 size_t usedBytes = back.fBuffer->sizeInBytes() - back.fBytesFree; | 204 size_t usedBytes = back.fBuffer->sizeInBytes() - back.fBytesFree; |
205 size_t pad = GrSizeAlignUpPad(usedBytes, itemSize); | 205 size_t pad = GrSizeAlignUpPad(usedBytes, itemSize); |
206 return (back.fBytesFree - pad) / itemSize; | 206 return static_cast<int>((back.fBytesFree - pad) / itemSize); |
207 } else if (fPreallocBuffersInUse < fPreallocBuffers.count()) { | 207 } else if (fPreallocBuffersInUse < fPreallocBuffers.count()) { |
208 return fMinBlockSize / itemSize; | 208 return static_cast<int>(fMinBlockSize / itemSize); |
209 } | 209 } |
210 return 0; | 210 return 0; |
211 } | 211 } |
212 | 212 |
213 int GrBufferAllocPool::preallocatedBuffersRemaining() const { | 213 int GrBufferAllocPool::preallocatedBuffersRemaining() const { |
214 return fPreallocBuffers.count() - fPreallocBuffersInUse; | 214 return fPreallocBuffers.count() - fPreallocBuffersInUse; |
215 } | 215 } |
216 | 216 |
217 int GrBufferAllocPool::preallocatedBufferCount() const { | 217 int GrBufferAllocPool::preallocatedBufferCount() const { |
218 return fPreallocBuffers.count(); | 218 return fPreallocBuffers.count(); |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 | 397 |
398 size_t offset = 0; // assign to suppress warning | 398 size_t offset = 0; // assign to suppress warning |
399 const GrGeometryBuffer* geomBuffer = NULL; // assign to suppress warning | 399 const GrGeometryBuffer* geomBuffer = NULL; // assign to suppress warning |
400 void* ptr = INHERITED::makeSpace(vertexSize * vertexCount, | 400 void* ptr = INHERITED::makeSpace(vertexSize * vertexCount, |
401 vertexSize, | 401 vertexSize, |
402 &geomBuffer, | 402 &geomBuffer, |
403 &offset); | 403 &offset); |
404 | 404 |
405 *buffer = (const GrVertexBuffer*) geomBuffer; | 405 *buffer = (const GrVertexBuffer*) geomBuffer; |
406 SkASSERT(0 == offset % vertexSize); | 406 SkASSERT(0 == offset % vertexSize); |
407 *startVertex = offset / vertexSize; | 407 *startVertex = static_cast<int>(offset / vertexSize); |
408 return ptr; | 408 return ptr; |
409 } | 409 } |
410 | 410 |
411 bool GrVertexBufferAllocPool::appendVertices(size_t vertexSize, | 411 bool GrVertexBufferAllocPool::appendVertices(size_t vertexSize, |
412 int vertexCount, | 412 int vertexCount, |
413 const void* vertices, | 413 const void* vertices, |
414 const GrVertexBuffer** buffer, | 414 const GrVertexBuffer** buffer, |
415 int* startVertex) { | 415 int* startVertex) { |
416 void* space = makeSpace(vertexSize, vertexCount, buffer, startVertex); | 416 void* space = makeSpace(vertexSize, vertexCount, buffer, startVertex); |
417 if (NULL != space) { | 417 if (NULL != space) { |
418 memcpy(space, | 418 memcpy(space, |
419 vertices, | 419 vertices, |
420 vertexSize * vertexCount); | 420 vertexSize * vertexCount); |
421 return true; | 421 return true; |
422 } else { | 422 } else { |
423 return false; | 423 return false; |
424 } | 424 } |
425 } | 425 } |
426 | 426 |
427 int GrVertexBufferAllocPool::preallocatedBufferVertices(size_t vertexSize) const
{ | 427 int GrVertexBufferAllocPool::preallocatedBufferVertices(size_t vertexSize) const
{ |
428 return INHERITED::preallocatedBufferSize() / vertexSize; | 428 return static_cast<int>(INHERITED::preallocatedBufferSize() / vertexSize); |
429 } | 429 } |
430 | 430 |
431 int GrVertexBufferAllocPool::currentBufferVertices(size_t vertexSize) const { | 431 int GrVertexBufferAllocPool::currentBufferVertices(size_t vertexSize) const { |
432 return currentBufferItems(vertexSize); | 432 return currentBufferItems(vertexSize); |
433 } | 433 } |
434 | 434 |
435 //////////////////////////////////////////////////////////////////////////////// | 435 //////////////////////////////////////////////////////////////////////////////// |
436 | 436 |
437 GrIndexBufferAllocPool::GrIndexBufferAllocPool(GrGpu* gpu, | 437 GrIndexBufferAllocPool::GrIndexBufferAllocPool(GrGpu* gpu, |
438 bool frequentResetHint, | 438 bool frequentResetHint, |
(...skipping 16 matching lines...) Expand all Loading... |
455 | 455 |
456 size_t offset = 0; // assign to suppress warning | 456 size_t offset = 0; // assign to suppress warning |
457 const GrGeometryBuffer* geomBuffer = NULL; // assign to suppress warning | 457 const GrGeometryBuffer* geomBuffer = NULL; // assign to suppress warning |
458 void* ptr = INHERITED::makeSpace(indexCount * sizeof(uint16_t), | 458 void* ptr = INHERITED::makeSpace(indexCount * sizeof(uint16_t), |
459 sizeof(uint16_t), | 459 sizeof(uint16_t), |
460 &geomBuffer, | 460 &geomBuffer, |
461 &offset); | 461 &offset); |
462 | 462 |
463 *buffer = (const GrIndexBuffer*) geomBuffer; | 463 *buffer = (const GrIndexBuffer*) geomBuffer; |
464 SkASSERT(0 == offset % sizeof(uint16_t)); | 464 SkASSERT(0 == offset % sizeof(uint16_t)); |
465 *startIndex = offset / sizeof(uint16_t); | 465 *startIndex = static_cast<int>(offset / sizeof(uint16_t)); |
466 return ptr; | 466 return ptr; |
467 } | 467 } |
468 | 468 |
469 bool GrIndexBufferAllocPool::appendIndices(int indexCount, | 469 bool GrIndexBufferAllocPool::appendIndices(int indexCount, |
470 const void* indices, | 470 const void* indices, |
471 const GrIndexBuffer** buffer, | 471 const GrIndexBuffer** buffer, |
472 int* startIndex) { | 472 int* startIndex) { |
473 void* space = makeSpace(indexCount, buffer, startIndex); | 473 void* space = makeSpace(indexCount, buffer, startIndex); |
474 if (NULL != space) { | 474 if (NULL != space) { |
475 memcpy(space, indices, sizeof(uint16_t) * indexCount); | 475 memcpy(space, indices, sizeof(uint16_t) * indexCount); |
476 return true; | 476 return true; |
477 } else { | 477 } else { |
478 return false; | 478 return false; |
479 } | 479 } |
480 } | 480 } |
481 | 481 |
482 int GrIndexBufferAllocPool::preallocatedBufferIndices() const { | 482 int GrIndexBufferAllocPool::preallocatedBufferIndices() const { |
483 return INHERITED::preallocatedBufferSize() / sizeof(uint16_t); | 483 return static_cast<int>(INHERITED::preallocatedBufferSize() / sizeof(uint16_
t)); |
484 } | 484 } |
485 | 485 |
486 int GrIndexBufferAllocPool::currentBufferIndices() const { | 486 int GrIndexBufferAllocPool::currentBufferIndices() const { |
487 return currentBufferItems(sizeof(uint16_t)); | 487 return currentBufferItems(sizeof(uint16_t)); |
488 } | 488 } |
OLD | NEW |