blob: b49ff7a0c7399fb027c8cdcea2ce018e93370e26 [file] [log] [blame]
// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef GARNET_EXAMPLES_UI_SHADERTOY_SERVICE_PIPELINE_H_
#define GARNET_EXAMPLES_UI_SHADERTOY_SERVICE_PIPELINE_H_
#include <vulkan/vulkan.hpp>
#include "src/lib/fxl/memory/ref_counted.h"
namespace shadertoy {
class Pipeline;
using PipelinePtr = fxl::RefPtr<Pipeline>;
class Pipeline : public fxl::RefCountedThreadSafe<Pipeline> {
public:
explicit Pipeline(vk::Device device, vk::Pipeline pipeline,
vk::PipelineLayout layout);
~Pipeline();
vk::Pipeline vk_pipeline() const { return pipeline_; }
vk::PipelineLayout vk_pipeline_layout() const { return pipeline_layout_; }
private:
vk::Device device_;
vk::Pipeline pipeline_;
vk::PipelineLayout pipeline_layout_;
};
} // namespace shadertoy
#endif // GARNET_EXAMPLES_UI_SHADERTOY_SERVICE_PIPELINE_H_