anchor.diff:              colorBlendState.Release()
               depthStencil.Release()
               
  -            if not (NativePtr.isNull pipe) then
  -                let p = !!pipe
  -                if p.IsValid then
  -                    VkRaw.vkDestroyPipeline(renderPass.Device.Handle, p, NativePtr.zero)
  -                NativePtr.free pipe
  -                pipe <- NativePtr.zero
  -
  -        override x.GetHandle(token : AdaptiveToken) =
  +
  +        override x.Compute(token : AdaptiveToken) =
               let program = program.Update token
                   
               let prog = program.handle
  
positive.code:             depthStencil.Acquire()
  
          override x.Destroy() =
              program.Release()
              inputState.Release()
              inputAssembly.Release()
  
negative.code:                             prog.PipelineLayout.Handle,
                              renderPass.Handle,
                              0u,
                              basePipeline,
                              0
                          )
  
                      VkRaw.vkCreateGraphicsPipelines(device.Handle, VkPipelineCache.Null, 1u, pDesc, NativePtr.zero, pHandle)
                          |> check "could not create pipeline"
  
                      return Pipeline(device, !!pHandle, Unchecked.defaultof<_>)
                  }
  
              pipeline.Handle
      
          override x.Free(p : VkPipeline) =
              VkRaw.vkDestroyPipeline(renderPass.Device.Handle, p, NativePtr.zero)
  
      type IndirectDrawCallResource(owner : IResourceCache, key : list<obj>, indexed : bool, calls : IResourceLocation<IndirectBuffer>) =
          inherit AbstractPointerResourceWithEquality<DrawCall>(owner, key)
  