             size = output.size or [output.buffer.size_x, output.buffer.size_y]
             output.buffer.enable([0, 0, size[0], size[1]])
             gl.drawArrays gl.TRIANGLE_STRIP, 0, 4
+        gl.enable gl.DEPTH_TEST
         return
 
 

            coord = vertex.xy;
            gl_Position = vec4((vertex.xy*2.0)-vec2(1.0,1.0), 0.0, 1.0);
        }"""
        uniforms = []
        @buffers = @options.buffers
        # TODO: resolve and concatenate filters with 1:1 intermediate result
        # and measure in different platforms if that's better than flipping buffers
        @filters = for filter_name,filter_options of @options.filters
            fs_code = """precision highp float;
            varying vec2 coord;"""
            for name, {buffer} of @buffers

    
    compose: ->
        {gl, uniform_functions} = @context.render_manager
        gl.disable gl.DEPTH_TEST
        # Bind quad mesh
        gl.bindBuffer gl.ARRAY_BUFFER, @context.render_manager.quad
                
