Hello, I was wondering about VkRenderPassMultiviewCreateInfo. I understand it enables the feature to have more than one View for the current Subpass. But I was wondering, is that linked to VK_NV_viewport_array2. The spec describes the VkRenderPassMultiviewCreateInfo in the context of this extension. So is the VkRenderPassMultiviewCreateInfo part of that extension or is it in core. And can we use VkRenderPassMultiviewCreateInfo without the process mentioned in the description where it referred to the VK_NV_viewport_array2?
Also I’m not quite sure how the pViewMasks, pViewOffsets and pCorrelationMasks should be provided. Since the whole structure suggests that we could have a multiple view subpass, and the description of these arrays says that it’s per Subpass, but then what is the dimensions of the array [0, 2, 2,1,2] -where each entry corresponds to an index for each Subpass…kind of making it subpass0 → view0, subpass1 → view2, subpass2->view2 …from above. Or the array is two dimensional and it’s [[0,1], [1,2], [0,2]] where supbass0->view0,view1; subpass2->view1,view2… ? The spec says it’s
int32_t* which I assume means that it’s [0, 2, 2,1,2]. But doesn’t that mean that we thus have only one View for one Subpass?
Also can anyone elaborate more on what the VkDependencyFlags does?
I’ve asked some people I know, that use vulkan, and no one was able to give me a good explanation. Or one that was easy for me to understand.
The best i got was
_BY_REGION_BIT - guarantees that in each subpass we will access the same fragment and never it’s neighbors.
_VIEW_LOCAL_BIT - guarantees that subpasses that are running concurrent won’t use the same attachment to write to.
_DEVICE_GROUP_BIT - they didn’t knew what this was used for.
Also on the explanation given for VkRenderPassMultiviewCreateInfo says that _VIEW_LOCAL_BIT, defines a dependency between all Views of dstSubpass and a single View of srcSubpass. So I’m a bit confused what VkDependencyFlags does.