anchor.diff:      let private codeCache = ConcurrentDictionary<Context * string * IFramebufferSignature, Error<FShade.GLSL.GLSLProgramInterface * Program>>()
       let private shaderCache = ConcurrentDictionary<Context * Surface * IFramebufferSignature, Error<FShade.GLSL.GLSLProgramInterface * IMod<Program>>>()
       let private shaderPickler = MBrace.FsPickler.FsPickler.CreateBinarySerializer()
  +
  +    let private useDiskCache = false
       let private cachePath =
  -        let temp = Path.combine [System.IO.Path.GetTempPath(); "aardvark-gl-shadercache"]
  -        if not (System.IO.Directory.Exists temp) then System.IO.Directory.CreateDirectory temp |> ignore
  -        temp
  +        if useDiskCache then
  +            let temp = Path.combine [System.IO.Path.GetTempPath(); "aardvark-gl-shadercache"]
  +            if not (System.IO.Directory.Exists temp) then System.IO.Directory.CreateDirectory temp |> ignore
  +            temp
  +        else
  +            ""
   
       type private OutputSignature =
           {
  
positive.code:                         let outputs = code.iface.outputs |> List.map (fun p -> p.paramName, p.paramLocation) |> Map.ofList
                          match x.TryCompileProgram(outputs, true, code.code) with
                              | Success prog ->
                                  match x.TryGetProgramBinary prog with
                                      | Some (format, binary) ->
  
                                          let entry =
                                              shaderPickler.Pickle {
                                                  iface = code.iface
                                                  format = format
                                                  binary = binary
                                              }
  
                                          File.writeAllBytes file entry
  
                                          //Log.warn "%s: %A %A" id format binary
  
                                      | None ->
                                          ()
  
                                  Success (code.iface, prog)
                              | Error e ->
  
negative.code:             iface       : FShade.GLSL.GLSLProgramInterface
              format      : BinaryFormat
              binary      : byte[]
              code        : string
              modes       : Option<Set<IndexedGeometryMode>>
          }
  
  
  