diff --git a/src/gpu/GrProgramDesc.cpp b/src/gpu/GrProgramDesc.cpp
index c1e5cd3..38161c6 100644
--- a/src/gpu/GrProgramDesc.cpp
+++ b/src/gpu/GrProgramDesc.cpp
@@ -64,10 +64,9 @@
     }
     for (int i = 0; i < numTextureSamplers; ++i) {
         const GrFragmentProcessor::TextureSampler& sampler = fp.textureSampler(i);
-        const GrBackendFormat& backendFormat = sampler.view().proxy()->backendFormat();
+        const GrBackendFormat& backendFormat = sampler.proxy()->backendFormat();
 
-        uint32_t samplerKey = sampler_key(backendFormat.textureType(), sampler.view().swizzle(),
-                                          caps);
+        uint32_t samplerKey = sampler_key(backendFormat.textureType(), sampler.swizzle(), caps);
         b->add32(samplerKey);
 
         caps.addExtraSamplerKey(b, sampler.samplerState(), backendFormat);
