anchor.diff:                              let additional = tessUsed |> Map.filter (fun k _ -> not <| Map.containsKey k vs.outputs)
                               let vs = addOutputs additional vs
   
  -                            let nextShader = (if hasgs then Geometry(None, TriangleStrip) else Fragment) |> Some
  +                            //let nextShader = (if hasgs then Geometry(None, TriangleStrip) else Fragment) |> Some
                               let unused = 
                                   vs.outputs |> Map.filter (fun k v -> not <| Map.containsKey k tessUsed) 
  -                                 |> removeIntrinsics vs.shaderType nextShader
  +                                 |> removeIntrinsics vs.shaderType (Some nextStage)
                                    |> Seq.map(fun (KeyValue(k,(_,v))) -> v) |> Set.ofSeq
   
                               let vs = removeOutputs unused vs
   
  -                            let vs = adjustToConfig config vs None nextShader
  +                            let vs = adjustToConfig config vs None (Some nextStage)
                               
                               let! vsc = compileShader "VS" vs
   
  
positive.code:                 result
  
  
              let! tessUsed, tessCode = match e.tessControlShader, e.tessEvalShader with
                                          | None, None -> compile { return gsUsed, None }
                                          | Some tcs, Some tev ->
  
negative.code: 
              do! resetCompilerState
  
              let nextStage =
                  match e.tessControlShader with
                      | Some _ -> TessControl
                      | _ -> nextStage
  
              let! vsCode = compile {
                              let vs = 
                                  match e.vertexShader with
  