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 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 SkASSERT(kVertex_BufferType == fBufferType); | 351 SkASSERT(kVertex_BufferType == fBufferType); |
352 return fGpu->createVertexBuffer(size, true); | 352 return fGpu->createVertexBuffer(size, true); |
353 } | 353 } |
354 } | 354 } |
355 | 355 |
356 //////////////////////////////////////////////////////////////////////////////// | 356 //////////////////////////////////////////////////////////////////////////////// |
357 | 357 |
358 GrVertexBufferAllocPool::GrVertexBufferAllocPool(GrGpu* gpu, | 358 GrVertexBufferAllocPool::GrVertexBufferAllocPool(GrGpu* gpu, |
359 size_t bufferSize, | 359 size_t bufferSize, |
360 int preallocBufferCnt) | 360 int preallocBufferCnt) |
361 : GrBufferAllocPool(gpu, | 361 : GrBufferAllocPool(gpu, |
362 kVertex_BufferType, | 362 kVertex_BufferType, |
363 bufferSize, | 363 bufferSize, |
364 preallocBufferCnt) { | 364 preallocBufferCnt) { |
365 } | 365 } |
366 | 366 |
367 void* GrVertexBufferAllocPool::makeSpace(size_t vertexSize, | 367 void* GrVertexBufferAllocPool::makeSpace(size_t vertexSize, |
368 int vertexCount, | 368 int vertexCount, |
369 const GrVertexBuffer** buffer, | 369 const GrVertexBuffer** buffer, |
370 int* startVertex) { | 370 int* startVertex) { |
371 | 371 |
372 SkASSERT(vertexCount >= 0); | 372 SkASSERT(vertexCount >= 0); |
373 SkASSERT(buffer); | 373 SkASSERT(buffer); |
374 SkASSERT(startVertex); | 374 SkASSERT(startVertex); |
375 | 375 |
376 size_t offset = 0; // assign to suppress warning | 376 size_t offset = 0; // assign to suppress warning |
377 const GrGeometryBuffer* geomBuffer = NULL; // assign to suppress warning | 377 const GrGeometryBuffer* geomBuffer = NULL; // assign to suppress warning |
378 void* ptr = INHERITED::makeSpace(vertexSize * vertexCount, | 378 void* ptr = INHERITED::makeSpace(vertexSize * vertexCount, |
379 vertexSize, | 379 vertexSize, |
380 &geomBuffer, | 380 &geomBuffer, |
381 &offset); | 381 &offset); |
382 | 382 |
383 *buffer = (const GrVertexBuffer*) geomBuffer; | 383 *buffer = (const GrVertexBuffer*) geomBuffer; |
384 SkASSERT(0 == offset % vertexSize); | 384 SkASSERT(0 == offset % vertexSize); |
385 *startVertex = static_cast<int>(offset / vertexSize); | 385 *startVertex = static_cast<int>(offset / vertexSize); |
386 return ptr; | 386 return ptr; |
387 } | 387 } |
388 | 388 |
389 //////////////////////////////////////////////////////////////////////////////// | 389 //////////////////////////////////////////////////////////////////////////////// |
390 | 390 |
391 GrIndexBufferAllocPool::GrIndexBufferAllocPool(GrGpu* gpu, | 391 GrIndexBufferAllocPool::GrIndexBufferAllocPool(GrGpu* gpu, |
392 size_t bufferSize, | 392 size_t bufferSize, |
393 int preallocBufferCnt) | 393 int preallocBufferCnt) |
394 : GrBufferAllocPool(gpu, | 394 : GrBufferAllocPool(gpu, |
395 kIndex_BufferType, | 395 kIndex_BufferType, |
396 bufferSize, | 396 bufferSize, |
397 preallocBufferCnt) { | 397 preallocBufferCnt) { |
398 } | 398 } |
399 | 399 |
400 void* GrIndexBufferAllocPool::makeSpace(int indexCount, | 400 void* GrIndexBufferAllocPool::makeSpace(int indexCount, |
401 const GrIndexBuffer** buffer, | 401 const GrIndexBuffer** buffer, |
402 int* startIndex) { | 402 int* startIndex) { |
403 | 403 |
404 SkASSERT(indexCount >= 0); | 404 SkASSERT(indexCount >= 0); |
405 SkASSERT(buffer); | 405 SkASSERT(buffer); |
406 SkASSERT(startIndex); | 406 SkASSERT(startIndex); |
407 | 407 |
408 size_t offset = 0; // assign to suppress warning | 408 size_t offset = 0; // assign to suppress warning |
409 const GrGeometryBuffer* geomBuffer = NULL; // assign to suppress warning | 409 const GrGeometryBuffer* geomBuffer = NULL; // assign to suppress warning |
410 void* ptr = INHERITED::makeSpace(indexCount * sizeof(uint16_t), | 410 void* ptr = INHERITED::makeSpace(indexCount * sizeof(uint16_t), |
411 sizeof(uint16_t), | 411 sizeof(uint16_t), |
412 &geomBuffer, | 412 &geomBuffer, |
413 &offset); | 413 &offset); |
414 | 414 |
415 *buffer = (const GrIndexBuffer*) geomBuffer; | 415 *buffer = (const GrIndexBuffer*) geomBuffer; |
416 SkASSERT(0 == offset % sizeof(uint16_t)); | 416 SkASSERT(0 == offset % sizeof(uint16_t)); |
417 *startIndex = static_cast<int>(offset / sizeof(uint16_t)); | 417 *startIndex = static_cast<int>(offset / sizeof(uint16_t)); |
418 return ptr; | 418 return ptr; |
419 } | 419 } |
420 | 420 |
421 | 421 |
OLD | NEW |