| 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 #include "GrGLProgram.h" | 8 #include "GrGLProgram.h" |
| 9 | 9 |
| 10 #include "GrAllocator.h" | 10 #include "GrAllocator.h" |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 case GrGLProgramDesc::kSecondaryCoverage_CoverageOutput: | 82 case GrGLProgramDesc::kSecondaryCoverage_CoverageOutput: |
| 83 case GrGLProgramDesc::kSecondaryCoverageISA_CoverageOutput: | 83 case GrGLProgramDesc::kSecondaryCoverageISA_CoverageOutput: |
| 84 case GrGLProgramDesc::kSecondaryCoverageISC_CoverageOutput: | 84 case GrGLProgramDesc::kSecondaryCoverageISC_CoverageOutput: |
| 85 *dstCoeff = (GrBlendCoeff)GrGpu::kIS2C_GrBlendCoeff; | 85 *dstCoeff = (GrBlendCoeff)GrGpu::kIS2C_GrBlendCoeff; |
| 86 break; | 86 break; |
| 87 case GrGLProgramDesc::kCombineWithDst_CoverageOutput: | 87 case GrGLProgramDesc::kCombineWithDst_CoverageOutput: |
| 88 // We should only have set this if the blend was specified as (1, 0) | 88 // We should only have set this if the blend was specified as (1, 0) |
| 89 SkASSERT(kOne_GrBlendCoeff == *srcCoeff && kZero_GrBlendCoeff == *ds
tCoeff); | 89 SkASSERT(kOne_GrBlendCoeff == *srcCoeff && kZero_GrBlendCoeff == *ds
tCoeff); |
| 90 break; | 90 break; |
| 91 default: | 91 default: |
| 92 GrCrash("Unexpected coverage output"); | 92 SkFAIL("Unexpected coverage output"); |
| 93 break; | 93 break; |
| 94 } | 94 } |
| 95 } | 95 } |
| 96 | 96 |
| 97 bool GrGLProgram::genProgram(GrGLShaderBuilder* builder, | 97 bool GrGLProgram::genProgram(GrGLShaderBuilder* builder, |
| 98 const GrEffectStage* colorStages[], | 98 const GrEffectStage* colorStages[], |
| 99 const GrEffectStage* coverageStages[]) { | 99 const GrEffectStage* coverageStages[]) { |
| 100 SkASSERT(0 == fProgramID); | 100 SkASSERT(0 == fProgramID); |
| 101 | 101 |
| 102 const GrGLProgramDesc::KeyHeader& header = fDesc.getHeader(); | 102 const GrGLProgramDesc::KeyHeader& header = fDesc.getHeader(); |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 fUniformManager.set4fv(fUniformHandles.fColorUni, 1, c); | 263 fUniformManager.set4fv(fUniformHandles.fColorUni, 1, c); |
| 264 fColor = color; | 264 fColor = color; |
| 265 } | 265 } |
| 266 sharedState->fConstAttribColorIndex = -1; | 266 sharedState->fConstAttribColorIndex = -1; |
| 267 break; | 267 break; |
| 268 case GrGLProgramDesc::kSolidWhite_ColorInput: | 268 case GrGLProgramDesc::kSolidWhite_ColorInput: |
| 269 case GrGLProgramDesc::kTransBlack_ColorInput: | 269 case GrGLProgramDesc::kTransBlack_ColorInput: |
| 270 sharedState->fConstAttribColorIndex = -1; | 270 sharedState->fConstAttribColorIndex = -1; |
| 271 break; | 271 break; |
| 272 default: | 272 default: |
| 273 GrCrash("Unknown color type."); | 273 SkFAIL("Unknown color type."); |
| 274 } | 274 } |
| 275 } else { | 275 } else { |
| 276 sharedState->fConstAttribColorIndex = -1; | 276 sharedState->fConstAttribColorIndex = -1; |
| 277 } | 277 } |
| 278 } | 278 } |
| 279 | 279 |
| 280 void GrGLProgram::setCoverage(const GrDrawState& drawState, | 280 void GrGLProgram::setCoverage(const GrDrawState& drawState, |
| 281 GrColor coverage, | 281 GrColor coverage, |
| 282 SharedGLState* sharedState) { | 282 SharedGLState* sharedState) { |
| 283 const GrGLProgramDesc::KeyHeader& header = fDesc.getHeader(); | 283 const GrGLProgramDesc::KeyHeader& header = fDesc.getHeader(); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 302 fUniformManager.set4fv(fUniformHandles.fCoverageUni, 1, c); | 302 fUniformManager.set4fv(fUniformHandles.fCoverageUni, 1, c); |
| 303 fCoverage = coverage; | 303 fCoverage = coverage; |
| 304 } | 304 } |
| 305 sharedState->fConstAttribCoverageIndex = -1; | 305 sharedState->fConstAttribCoverageIndex = -1; |
| 306 break; | 306 break; |
| 307 case GrGLProgramDesc::kSolidWhite_ColorInput: | 307 case GrGLProgramDesc::kSolidWhite_ColorInput: |
| 308 case GrGLProgramDesc::kTransBlack_ColorInput: | 308 case GrGLProgramDesc::kTransBlack_ColorInput: |
| 309 sharedState->fConstAttribCoverageIndex = -1; | 309 sharedState->fConstAttribCoverageIndex = -1; |
| 310 break; | 310 break; |
| 311 default: | 311 default: |
| 312 GrCrash("Unknown coverage type."); | 312 SkFAIL("Unknown coverage type."); |
| 313 } | 313 } |
| 314 } else { | 314 } else { |
| 315 sharedState->fConstAttribCoverageIndex = -1; | 315 sharedState->fConstAttribCoverageIndex = -1; |
| 316 } | 316 } |
| 317 } | 317 } |
| 318 | 318 |
| 319 void GrGLProgram::setMatrixAndRenderTargetHeight(const GrDrawState& drawState) { | 319 void GrGLProgram::setMatrixAndRenderTargetHeight(const GrDrawState& drawState) { |
| 320 const GrRenderTarget* rt = drawState.getRenderTarget(); | 320 const GrRenderTarget* rt = drawState.getRenderTarget(); |
| 321 SkISize size; | 321 SkISize size; |
| 322 size.set(rt->width(), rt->height()); | 322 size.set(rt->width(), rt->height()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 337 | 337 |
| 338 fMatrixState.fViewMatrix = drawState.getViewMatrix(); | 338 fMatrixState.fViewMatrix = drawState.getViewMatrix(); |
| 339 fMatrixState.fRenderTargetSize = size; | 339 fMatrixState.fRenderTargetSize = size; |
| 340 fMatrixState.fRenderTargetOrigin = rt->origin(); | 340 fMatrixState.fRenderTargetOrigin = rt->origin(); |
| 341 | 341 |
| 342 GrGLfloat viewMatrix[3 * 3]; | 342 GrGLfloat viewMatrix[3 * 3]; |
| 343 fMatrixState.getGLMatrix<3>(viewMatrix); | 343 fMatrixState.getGLMatrix<3>(viewMatrix); |
| 344 fUniformManager.setMatrix3f(fUniformHandles.fViewMatrixUni, viewMatrix); | 344 fUniformManager.setMatrix3f(fUniformHandles.fViewMatrixUni, viewMatrix); |
| 345 } | 345 } |
| 346 } | 346 } |
| OLD | NEW |