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 |