| 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 | 10 |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 case kReserved_GeometrySrcType: | 237 case kReserved_GeometrySrcType: |
| 238 this->releaseReservedVertexSpace(); | 238 this->releaseReservedVertexSpace(); |
| 239 break; | 239 break; |
| 240 case kBuffer_GeometrySrcType: | 240 case kBuffer_GeometrySrcType: |
| 241 geoSrc.fVertexBuffer->unref(); | 241 geoSrc.fVertexBuffer->unref(); |
| 242 #ifdef SK_DEBUG | 242 #ifdef SK_DEBUG |
| 243 geoSrc.fVertexBuffer = (GrVertexBuffer*)DEBUG_INVAL_BUFFER; | 243 geoSrc.fVertexBuffer = (GrVertexBuffer*)DEBUG_INVAL_BUFFER; |
| 244 #endif | 244 #endif |
| 245 break; | 245 break; |
| 246 default: | 246 default: |
| 247 GrCrash("Unknown Vertex Source Type."); | 247 SkFAIL("Unknown Vertex Source Type."); |
| 248 break; | 248 break; |
| 249 } | 249 } |
| 250 } | 250 } |
| 251 | 251 |
| 252 void GrDrawTarget::releasePreviousIndexSource() { | 252 void GrDrawTarget::releasePreviousIndexSource() { |
| 253 GeometrySrcState& geoSrc = fGeoSrcStateStack.back(); | 253 GeometrySrcState& geoSrc = fGeoSrcStateStack.back(); |
| 254 switch (geoSrc.fIndexSrc) { | 254 switch (geoSrc.fIndexSrc) { |
| 255 case kNone_GeometrySrcType: // these two don't require | 255 case kNone_GeometrySrcType: // these two don't require |
| 256 break; | 256 break; |
| 257 case kArray_GeometrySrcType: | 257 case kArray_GeometrySrcType: |
| 258 this->releaseIndexArray(); | 258 this->releaseIndexArray(); |
| 259 break; | 259 break; |
| 260 case kReserved_GeometrySrcType: | 260 case kReserved_GeometrySrcType: |
| 261 this->releaseReservedIndexSpace(); | 261 this->releaseReservedIndexSpace(); |
| 262 break; | 262 break; |
| 263 case kBuffer_GeometrySrcType: | 263 case kBuffer_GeometrySrcType: |
| 264 geoSrc.fIndexBuffer->unref(); | 264 geoSrc.fIndexBuffer->unref(); |
| 265 #ifdef SK_DEBUG | 265 #ifdef SK_DEBUG |
| 266 geoSrc.fIndexBuffer = (GrIndexBuffer*)DEBUG_INVAL_BUFFER; | 266 geoSrc.fIndexBuffer = (GrIndexBuffer*)DEBUG_INVAL_BUFFER; |
| 267 #endif | 267 #endif |
| 268 break; | 268 break; |
| 269 default: | 269 default: |
| 270 GrCrash("Unknown Index Source Type."); | 270 SkFAIL("Unknown Index Source Type."); |
| 271 break; | 271 break; |
| 272 } | 272 } |
| 273 } | 273 } |
| 274 | 274 |
| 275 void GrDrawTarget::setVertexSourceToArray(const void* vertexArray, | 275 void GrDrawTarget::setVertexSourceToArray(const void* vertexArray, |
| 276 int vertexCount) { | 276 int vertexCount) { |
| 277 this->releasePreviousVertexSource(); | 277 this->releasePreviousVertexSource(); |
| 278 GeometrySrcState& geoSrc = fGeoSrcStateStack.back(); | 278 GeometrySrcState& geoSrc = fGeoSrcStateStack.back(); |
| 279 geoSrc.fVertexSrc = kArray_GeometrySrcType; | 279 geoSrc.fVertexSrc = kArray_GeometrySrcType; |
| 280 geoSrc.fVertexSize = this->drawState()->getVertexSize(); | 280 geoSrc.fVertexSize = this->drawState()->getVertexSize(); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 348 bool GrDrawTarget::checkDraw(GrPrimitiveType type, int startVertex, | 348 bool GrDrawTarget::checkDraw(GrPrimitiveType type, int startVertex, |
| 349 int startIndex, int vertexCount, | 349 int startIndex, int vertexCount, |
| 350 int indexCount) const { | 350 int indexCount) const { |
| 351 const GrDrawState& drawState = this->getDrawState(); | 351 const GrDrawState& drawState = this->getDrawState(); |
| 352 #ifdef SK_DEBUG | 352 #ifdef SK_DEBUG |
| 353 const GeometrySrcState& geoSrc = fGeoSrcStateStack.back(); | 353 const GeometrySrcState& geoSrc = fGeoSrcStateStack.back(); |
| 354 int maxVertex = startVertex + vertexCount; | 354 int maxVertex = startVertex + vertexCount; |
| 355 int maxValidVertex; | 355 int maxValidVertex; |
| 356 switch (geoSrc.fVertexSrc) { | 356 switch (geoSrc.fVertexSrc) { |
| 357 case kNone_GeometrySrcType: | 357 case kNone_GeometrySrcType: |
| 358 GrCrash("Attempting to draw without vertex src."); | 358 SkFAIL("Attempting to draw without vertex src."); |
| 359 case kReserved_GeometrySrcType: // fallthrough | 359 case kReserved_GeometrySrcType: // fallthrough |
| 360 case kArray_GeometrySrcType: | 360 case kArray_GeometrySrcType: |
| 361 maxValidVertex = geoSrc.fVertexCount; | 361 maxValidVertex = geoSrc.fVertexCount; |
| 362 break; | 362 break; |
| 363 case kBuffer_GeometrySrcType: | 363 case kBuffer_GeometrySrcType: |
| 364 maxValidVertex = static_cast<int>(geoSrc.fVertexBuffer->sizeInBytes(
) / geoSrc.fVertexSize); | 364 maxValidVertex = static_cast<int>(geoSrc.fVertexBuffer->sizeInBytes(
) / geoSrc.fVertexSize); |
| 365 break; | 365 break; |
| 366 } | 366 } |
| 367 if (maxVertex > maxValidVertex) { | 367 if (maxVertex > maxValidVertex) { |
| 368 GrCrash("Drawing outside valid vertex range."); | 368 SkFAIL("Drawing outside valid vertex range."); |
| 369 } | 369 } |
| 370 if (indexCount > 0) { | 370 if (indexCount > 0) { |
| 371 int maxIndex = startIndex + indexCount; | 371 int maxIndex = startIndex + indexCount; |
| 372 int maxValidIndex; | 372 int maxValidIndex; |
| 373 switch (geoSrc.fIndexSrc) { | 373 switch (geoSrc.fIndexSrc) { |
| 374 case kNone_GeometrySrcType: | 374 case kNone_GeometrySrcType: |
| 375 GrCrash("Attempting to draw indexed geom without index src."); | 375 SkFAIL("Attempting to draw indexed geom without index src."); |
| 376 case kReserved_GeometrySrcType: // fallthrough | 376 case kReserved_GeometrySrcType: // fallthrough |
| 377 case kArray_GeometrySrcType: | 377 case kArray_GeometrySrcType: |
| 378 maxValidIndex = geoSrc.fIndexCount; | 378 maxValidIndex = geoSrc.fIndexCount; |
| 379 break; | 379 break; |
| 380 case kBuffer_GeometrySrcType: | 380 case kBuffer_GeometrySrcType: |
| 381 maxValidIndex = static_cast<int>(geoSrc.fIndexBuffer->sizeInByte
s() / sizeof(uint16_t)); | 381 maxValidIndex = static_cast<int>(geoSrc.fIndexBuffer->sizeInByte
s() / sizeof(uint16_t)); |
| 382 break; | 382 break; |
| 383 } | 383 } |
| 384 if (maxIndex > maxValidIndex) { | 384 if (maxIndex > maxValidIndex) { |
| 385 GrCrash("Index reads outside valid index range."); | 385 SkFAIL("Index reads outside valid index range."); |
| 386 } | 386 } |
| 387 } | 387 } |
| 388 | 388 |
| 389 SkASSERT(NULL != drawState.getRenderTarget()); | 389 SkASSERT(NULL != drawState.getRenderTarget()); |
| 390 | 390 |
| 391 for (int s = 0; s < drawState.numColorStages(); ++s) { | 391 for (int s = 0; s < drawState.numColorStages(); ++s) { |
| 392 const GrEffectRef& effect = *drawState.getColorStage(s).getEffect(); | 392 const GrEffectRef& effect = *drawState.getColorStage(s).getEffect(); |
| 393 int numTextures = effect->numTextures(); | 393 int numTextures = effect->numTextures(); |
| 394 for (int t = 0; t < numTextures; ++t) { | 394 for (int t = 0; t < numTextures; ++t) { |
| 395 GrTexture* texture = effect->texture(t); | 395 GrTexture* texture = effect->texture(t); |
| (...skipping 705 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1101 for (size_t i = 0; i < SK_ARRAY_COUNT(kConfigNames); ++i) { | 1101 for (size_t i = 0; i < SK_ARRAY_COUNT(kConfigNames); ++i) { |
| 1102 if (i != kUnknown_GrPixelConfig) { | 1102 if (i != kUnknown_GrPixelConfig) { |
| 1103 r.appendf("%s is renderable: %s, with MSAA: %s\n", | 1103 r.appendf("%s is renderable: %s, with MSAA: %s\n", |
| 1104 kConfigNames[i], | 1104 kConfigNames[i], |
| 1105 gNY[fConfigRenderSupport[i][0]], | 1105 gNY[fConfigRenderSupport[i][0]], |
| 1106 gNY[fConfigRenderSupport[i][1]]); | 1106 gNY[fConfigRenderSupport[i][1]]); |
| 1107 } | 1107 } |
| 1108 } | 1108 } |
| 1109 return r; | 1109 return r; |
| 1110 } | 1110 } |
| OLD | NEW |