Path: blob/21.2-virgl/src/virtio/vulkan/vn_render_pass.h
4560 views
/*1* Copyright 2019 Google LLC2* SPDX-License-Identifier: MIT3*4* based in part on anv and radv which are:5* Copyright © 2015 Intel Corporation6* Copyright © 2016 Red Hat.7* Copyright © 2016 Bas Nieuwenhuizen8*/910#ifndef VN_RENDER_PASS_H11#define VN_RENDER_PASS_H1213#include "vn_common.h"1415struct vn_present_src_attachment {16bool acquire;17uint32_t index;1819VkPipelineStageFlags src_stage_mask;20VkAccessFlags src_access_mask;2122VkPipelineStageFlags dst_stage_mask;23VkAccessFlags dst_access_mask;24};2526struct vn_render_pass {27struct vn_object_base base;2829VkExtent2D granularity;3031/* track attachments that have PRESENT_SRC as their initialLayout or32* finalLayout33*/34uint32_t acquire_count;35uint32_t release_count;36uint32_t present_src_count;37struct vn_present_src_attachment present_src_attachments[];38};39VK_DEFINE_NONDISP_HANDLE_CASTS(vn_render_pass,40base.base,41VkRenderPass,42VK_OBJECT_TYPE_RENDER_PASS)4344struct vn_framebuffer {45struct vn_object_base base;4647uint32_t image_view_count;48VkImageView image_views[];49};50VK_DEFINE_NONDISP_HANDLE_CASTS(vn_framebuffer,51base.base,52VkFramebuffer,53VK_OBJECT_TYPE_FRAMEBUFFER)5455#endif /* VN_RENDER_PASS_H */565758