首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管道在什么阶段使用框架缓冲区?

管道在什么阶段使用框架缓冲区?
EN

Stack Overflow用户
提问于 2019-09-08 09:20:14
回答 1查看 615关注 0票数 1

我试图了解管道何时开始使用Vulkan中的框架缓冲区附件。根据该规范,对于图形原始阴影管道,按以下顺序进行如下步骤:

代码语言:javascript
复制
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT
VK_PIPELINE_STAGE_VERTEX_INPUT_BIT
VK_PIPELINE_STAGE_VERTEX_SHADER_BIT
VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT
VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT
VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT
VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT
VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT

据我所知,当只使用一个附件时(没有多次采样,只使用一个颜色附件),管道应该在光栅化阶段(在VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT之前的某个地方)开始写入框架缓冲区附件。但是,根据规范,在VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT阶段之前不应该发生这种情况。那么,管道是否使用一些中间的、自分配的内存来执行所有的片段操作,并且只在COLOR_ATTACHMENT_OUTPUT阶段开始写入一个交换链映像?大约两周前,我才开始和Vulkan合作,我觉得我的推理有一些严重的缺陷,所以如果有人能指出这一点,那就太好了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-08 12:55:39

管道开始使用在VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT、深度和VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT中的模板中使用的第一次子传递中的颜色附件。这是负荷操作(loadOp)给出的。

..。开始在光栅化阶段(在VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT之前的某个地方)写入框架缓冲区附件。

深度将在那里进行测试和潜在的书写。颜色不能写在那里;如果没有片段着色器,您甚至不知道要写什么值。

但是AIS,在呈现传递实例中首先使用的是Load操作,而不是实际的深度测试和写入。

那么,管道是否使用一些中间的、自分配的内存来执行所有的片段操作,并且只在COLOR_ATTACHMENT_OUTPUT阶段开始写入一个交换链映像?

管道(就像API抽象中的那样)没有;它不在乎驱动程序是如何做到的。至于司机,他们可能会做很多事情。渲染传递主要是基于砖块的体系结构所必需的。在那里,负载操作是真正匹配HW的东西。附件可以按字面顺序从通用存储器加载到“片上存储器”,用于处理给定的瓷砖。

其他架构也可以按照“以此类推”的原则运作。注意,在Load和Store选项之间的非附件使用中使用附件是无效的。还请注意,只允许两个可用的Store操作写入附件。因此,如果驱动程序直接在附件的内存上操作,它仍然是一个一致的Vulkan实现。

以下各阶段按此顺序发生

我也有这样的想法,你认为这比它更有意义。

这是“逻辑秩序”。这与原始秩序和拉斯特尔秩序有关。是的,对于给定的像素(x, y),它们是按顺序发生的。但是,并不是,这意味着驱动程序必须等待所有像素才能将它们写入内存。因此,不,考虑到这一点,您不一定需要“一些中间的、自分配的内存”。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57840650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档