1/*
2 * Copyright 2019 Google LLC
3 * SPDX-License-Identifier: MIT
4 *
5 * based in part on anv and radv which are:
6 * Copyright © 2015 Intel Corporation
7 * Copyright © 2016 Red Hat.
8 * Copyright © 2016 Bas Nieuwenhuizen
9 */
10
11#ifndef VN_PIPELINE_H
12#define VN_PIPELINE_H
13
14#include "vn_common.h"
15
16struct vn_shader_module {
17   struct vn_object_base base;
18};
19VK_DEFINE_NONDISP_HANDLE_CASTS(vn_shader_module,
20                               base.base,
21                               VkShaderModule,
22                               VK_OBJECT_TYPE_SHADER_MODULE)
23
24struct vn_pipeline_layout {
25   struct vn_object_base base;
26};
27VK_DEFINE_NONDISP_HANDLE_CASTS(vn_pipeline_layout,
28                               base.base,
29                               VkPipelineLayout,
30                               VK_OBJECT_TYPE_PIPELINE_LAYOUT)
31
32struct vn_pipeline_cache {
33   struct vn_object_base base;
34};
35VK_DEFINE_NONDISP_HANDLE_CASTS(vn_pipeline_cache,
36                               base.base,
37                               VkPipelineCache,
38                               VK_OBJECT_TYPE_PIPELINE_CACHE)
39
40struct vn_pipeline {
41   struct vn_object_base base;
42};
43VK_DEFINE_NONDISP_HANDLE_CASTS(vn_pipeline,
44                               base.base,
45                               VkPipeline,
46                               VK_OBJECT_TYPE_PIPELINE)
47
48#endif /* VN_PIPELINE_H */
49