在不同阶段之间部分共享一些推送常数

问题描述

我试图通过设置多个推送常量范围来找出如何在不同的着色器阶段之间共享一些推送常量。当我对VkFlags VK_SHADER_STAGE_ALL使用一个范围时,我成功了,但是我不确定这是否是正确的方法吗?

这是我要实现的目标的一个示例:

片段着色器:

Employee newEmployee = new Employee { FirstName = "David",LastName = "HasselHoff",Email_ID ="dh@fdh.com" };
Employee newEmployee = new Employee() { FirstName = "David",Email_ID ="dh@fdh.com" };

顶点着色器:

layout(push_constant) uniform fragmentPushConstants {
    layout(offset = 0) float time;
    layout(offset = 4) vec4 color;
} u_pushConstants;

对于此示例,我应该为vkCreatePipelineLayout提供多少范围以及如何构造它们?

如果将一个带有VK_SHADER_STAGE_ALL的单一范围(0-20)提供给管道布局信息结构,则可以正常工作。除了使用两个没有任何重叠范围的不同范围外,我找不到任何多范围用法的示例。如果我只能通过VK_SHADER_STAGE_ALL使用一个单一范围(最大-0),那么范围的目的是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)