57 lines
1.4 KiB
C
57 lines
1.4 KiB
C
/*
|
|
* Copyright 2019 Google LLC
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
* based in part on anv and radv which are:
|
|
* Copyright © 2015 Intel Corporation
|
|
* Copyright © 2016 Red Hat.
|
|
* Copyright © 2016 Bas Nieuwenhuizen
|
|
*/
|
|
|
|
#ifndef VN_RENDER_PASS_H
|
|
#define VN_RENDER_PASS_H
|
|
|
|
#include "vn_common.h"
|
|
|
|
struct vn_present_src_attachment {
|
|
bool acquire;
|
|
uint32_t index;
|
|
|
|
VkPipelineStageFlags src_stage_mask;
|
|
VkAccessFlags src_access_mask;
|
|
|
|
VkPipelineStageFlags dst_stage_mask;
|
|
VkAccessFlags dst_access_mask;
|
|
};
|
|
|
|
struct vn_render_pass {
|
|
struct vn_object_base base;
|
|
|
|
VkExtent2D granularity;
|
|
|
|
/* track attachments that have PRESENT_SRC as their initialLayout or
|
|
* finalLayout
|
|
*/
|
|
uint32_t acquire_count;
|
|
uint32_t release_count;
|
|
uint32_t present_src_count;
|
|
struct vn_present_src_attachment present_src_attachments[];
|
|
};
|
|
VK_DEFINE_NONDISP_HANDLE_CASTS(vn_render_pass,
|
|
base.base,
|
|
VkRenderPass,
|
|
VK_OBJECT_TYPE_RENDER_PASS)
|
|
|
|
struct vn_framebuffer {
|
|
struct vn_object_base base;
|
|
|
|
uint32_t image_view_count;
|
|
VkImageView image_views[];
|
|
};
|
|
VK_DEFINE_NONDISP_HANDLE_CASTS(vn_framebuffer,
|
|
base.base,
|
|
VkFramebuffer,
|
|
VK_OBJECT_TYPE_FRAMEBUFFER)
|
|
|
|
#endif /* VN_RENDER_PASS_H */
|