diff --git a/docs/tint/spirv-reader-overview.md b/docs/tint/spirv-reader-overview.md
index 8cc7de2..7411e16 100644
--- a/docs/tint/spirv-reader-overview.md
+++ b/docs/tint/spirv-reader-overview.md
@@ -158,9 +158,6 @@
 
 ### Passing textures and samplers into helper functions
 
-Note: Bug https://crbug.com/tint/1039 is open to support passing
-textures and samplers as function arguments.
-
 Glslang generates SPIR-V where texture and sampler formal parameters
 are as pointer-to-UniformConstant.
 
@@ -168,9 +165,12 @@
 conceptually as opaque handles.  This is similar to GLSL, but unlike
 SPIR-V.
 
-The tracing logic described in the previous section does not know
-what to do when it bottoms out on a formal parameter,
-e.g. OpFunctionParameter.
+To support textures and samplers as arguments to user-defined functions,
+we extend the tracing logic so it knows to bottom out at OpFunctionParameter.
+
+Also, code that generates function declarations now understands formal
+parameters declared as a pointer to uniform-constant as
+well as direct image and sampler values.
 
 Example GLSL compute shader:
 
@@ -253,35 +253,6 @@
 
     @group(0) @binding(1) var s : sampler;
 
-    fn helper_t21_p1_(imparam : ptr<none, void>, sparam : ptr<none, void>) -> vec4<f32> {
-      let x_24 : vec4<f32> = textureSampleLevel(imparam, sparam, vec2<f32>(0.0f, 0.0f), 0.0f);
-      return x_24;
-    }
-
-    fn main_1() {
-      var v : vec4<f32>;
-      let x_31 : vec4<f32> = helper_t21_p1_(&(im), &(s));
-      v = x_31;
-      return;
-    }
-
-    @compute @workgroup_size(1i, 1i, 1i)
-    fn main() {
-      main_1();
-    }
-
-with an error:
-
-    error: function parameter of pointer type cannot be in 'none' address space
-
-Instead, the generated WGSL should have formal parameters with texture
-and sampler types, rather than as pointers to them.  So the generated WGSL
-should look like this instead:
-
-    @group(0) @binding(0) var im : texture_2d<f32>;
-
-    @group(0) @binding(1) var s : sampler;
-
     fn helper_t21_p1_(imparam : texture_2d<f32>, sparam : sampler) -> vec4<f32> {
       let x_24 : vec4<f32> = textureSampleLevel(imparam, sparam, vec2<f32>(0.0f, 0.0f), 0.0f);
       return x_24;
