Fix lighting filters on Windows, and re-enable the GPU path.
authorsenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 11 Jul 2012 20:49:26 +0000 (20:49 +0000)
committersenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 11 Jul 2012 20:49:26 +0000 (20:49 +0000)
Review URL:  http://codereview.appspot.com/6354094/

git-svn-id: http://skia.googlecode.com/svn/trunk@4557 2bbb7eff-a529-9590-31e7-b0007b416f81

src/effects/SkLightingImageFilter.cpp

index ed64489..acfc73b 100644 (file)
@@ -599,7 +599,7 @@ public:
     SkScalar cosInnerConeAngle() const { return fCosInnerConeAngle; }
     SkScalar cosOuterConeAngle() const { return fCosOuterConeAngle; }
     SkScalar coneScale() const { return fConeScale; }
-    SkPoint3 s() const { return fS; }
+    const SkPoint3& s() const { return fS; }
 
     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSpotLight)
 
@@ -776,15 +776,11 @@ bool SkDiffuseLightingImageFilter::onFilterImage(Proxy*,
 }
 
 bool SkDiffuseLightingImageFilter::asNewCustomStage(GrCustomStage** stage) const {
-#if 0
     if (stage) {
         SkScalar scale = SkScalarMul(surfaceScale(), SkIntToScalar(255));
         *stage = new GrDiffuseLightingEffect(light(), scale, kd());
     }
     return true;
-#else
-    return false;
-#endif
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -843,15 +839,11 @@ bool SkSpecularLightingImageFilter::onFilterImage(Proxy*,
 }
 
 bool SkSpecularLightingImageFilter::asNewCustomStage(GrCustomStage** stage) const {
-#if 0
     if (stage) {
         SkScalar scale = SkScalarMul(surfaceScale(), SkIntToScalar(255));
         *stage = new GrSpecularLightingEffect(light(), scale, ks(), shininess());
     }
     return true;
-#else
-    return false;
-#endif
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -1310,8 +1302,6 @@ void GrGLSpotLight::initUniforms(const GrGLInterface* gl, int programID) {
         GetUniformLocation(programID, fCosInnerConeAngleVar->getName().c_str()));
     GR_GL_CALL_RET(gl, fCosOuterConeAngleLocation,
         GetUniformLocation(programID, fCosOuterConeAngleVar->getName().c_str()));
-    GR_GL_CALL_RET(gl, fCosOuterConeAngleLocation,
-        GetUniformLocation(programID, fCosOuterConeAngleVar->getName().c_str()));
     GR_GL_CALL_RET(gl, fConeScaleLocation,
         GetUniformLocation(programID, fConeScaleVar->getName().c_str()));
     GR_GL_CALL_RET(gl, fSLocation,