Index: src/gpu/gl/GrGpuGL_program.cpp |
diff --git a/src/gpu/gl/GrGpuGL_program.cpp b/src/gpu/gl/GrGpuGL_program.cpp |
index 0795dfad4f2b6efb898840623d5e31f9effb138d..ce743038951b5a245e92963ff63b56f8a79b41d3 100644 |
--- a/src/gpu/gl/GrGpuGL_program.cpp |
+++ b/src/gpu/gl/GrGpuGL_program.cpp |
@@ -212,46 +212,15 @@ void GrGpuGL::flushPathStencilMatrix() { |
if (fHWProjectionMatrixState.fRenderTargetOrigin != rt->origin() || |
!fHWProjectionMatrixState.fViewMatrix.cheapEqualTo(viewMatrix) || |
fHWProjectionMatrixState.fRenderTargetSize!= size) { |
- // rescale the coords from skia's "device" coords to GL's normalized coords, |
- // and perform a y-flip if required. |
- SkMatrix m; |
- if (kBottomLeft_GrSurfaceOrigin == rt->origin()) { |
- m.setScale(SkIntToScalar(2) / rt->width(), SkIntToScalar(-2) / rt->height()); |
- m.postTranslate(-SK_Scalar1, SK_Scalar1); |
- } else { |
- m.setScale(SkIntToScalar(2) / rt->width(), SkIntToScalar(2) / rt->height()); |
- m.postTranslate(-SK_Scalar1, -SK_Scalar1); |
- } |
- m.preConcat(vm); |
- |
- // GL wants a column-major 4x4. |
- GrGLfloat mv[] = { |
- // col 0 |
- SkScalarToFloat(m[SkMatrix::kMScaleX]), |
- SkScalarToFloat(m[SkMatrix::kMSkewY]), |
- 0, |
- SkScalarToFloat(m[SkMatrix::kMPersp0]), |
- |
- // col 1 |
- SkScalarToFloat(m[SkMatrix::kMSkewX]), |
- SkScalarToFloat(m[SkMatrix::kMScaleY]), |
- 0, |
- SkScalarToFloat(m[SkMatrix::kMPersp1]), |
- |
- // col 2 |
- 0, 0, 0, 0, |
- |
- // col3 |
- SkScalarToFloat(m[SkMatrix::kMTransX]), |
- SkScalarToFloat(m[SkMatrix::kMTransY]), |
- 0.0f, |
- SkScalarToFloat(m[SkMatrix::kMPersp2]) |
- }; |
- GL_CALL(MatrixMode(GR_GL_PROJECTION)); |
- GL_CALL(LoadMatrixf(mv)); |
+ |
fHWProjectionMatrixState.fViewMatrix = vm; |
fHWProjectionMatrixState.fRenderTargetSize = size; |
fHWProjectionMatrixState.fRenderTargetOrigin = rt->origin(); |
+ |
+ GrGLfloat projectionMatrix[4 * 4]; |
+ fHWProjectionMatrixState.getGLMatrix<4>(projectionMatrix); |
+ GL_CALL(MatrixMode(GR_GL_PROJECTION)); |
+ GL_CALL(LoadMatrixf(projectionMatrix)); |
Mark Kilgard
2013/09/05 18:39:34
BTW, good opportunity to simply use DSA GL_CALL ve
bsalomon
2013/09/05 18:40:44
nice!
|
} |
} |