anchor.diff:              colorBlendState.Release()
               depthStencil.Release()
               
  -
  -        override x.Compute(token : AdaptiveToken) =
  +            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) =
               let program = program.Update token
                   
               let prog = program.handle
  
positive.code:                           multisample : MultisampleState,
                            depthStencil : INativeResourceLocation<VkPipelineDepthStencilStateCreateInfo>
                           ) =
          inherit AbstractPointerResource<VkPipeline>(owner, key)
  
          static let check str err =
              if err <> VkResult.VkSuccess then failwithf "[Vulkan] %s" str
  
          override x.Create() =
              base.Create()
              program.Acquire()
              inputState.Acquire()
              inputAssembly.Acquire()
  
negative.code:                             prog.PipelineLayout.Handle,
                              renderPass.Handle,
                              0u,
                              !!pipe,
                              0
                          )
  
                      VkRaw.vkCreateGraphicsPipelines(device.Handle, VkPipelineCache.Null, 1u, pDesc, NativePtr.zero, pHandle)
                          |> check "could not create pipeline"
  
                      NativePtr.write pipe !!pHandle
                      return Pipeline(device, !!pHandle, Unchecked.defaultof<_>)
                  }
  
              { handle = pipeline.Handle; version = 666 }
  
          interface INativeResourceLocation<VkPipeline> with
              member x.Pointer = pipe
  
      type IndirectDrawCallResource(owner : IResourceCache, key : list<obj>, indexed : bool, calls : IResourceLocation<IndirectBuffer>) =
          inherit AbstractPointerResourceWithEquality<DrawCall>(owner, key)
  