KhronosGroup / KhronosGroup/Vulkan-Docs

VK_NV_mesh_shader setup for gl_Layer + multiview

Open
#1,744 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
3.3k
Forks
549
Avg merge
5d 5h
Merged PRs (30d)
2

Description

How one is supposed to setup VkImage/VkImageView/VkFramebuffer when both layers and multiview are used?

Individually both features use the same fields in \*CreateInfo structures ("arrayLayers" in VkImageCreateInfo, "subresourceRange.layerCount" in VkImageViewCreateInfo, and "layers" in VkFramebufferCreateInfo), but it's not clear how to fill out those fields when both layers and views are used. VkFramebufferCreateInfo documentation even states that layers must be 1 when multiview is used, so multiplying max views and number of layers and then downloading 0..max_views*numlayers-1 layers from an image doesn't work (it seems only the first layer is filled out).

One could say that layers and multiview are incompatible concepts, but there's gl_LayerPerViewNV field in gl_MeshPrimitivesNV array, which indicates they should be usable together. This question (how to setup image(s)/view(s)/framebuffer) also applies to gl_LayerPerViewNV.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the VkImageCreateInfo, VkImageViewCreateInfo, and VkFramebufferCreateInfo fields cited in the issue, together with VK_NV_mesh_shader and gl_LayerPerViewNV. Determine how array layers, view layer counts, framebuffer layers, and multiview interact. Done means the Vulkan documentation clearly explains the valid setup and expected layer behavior.

Written by the indexing model from the issue text.

Assessment

Domain
api, computer-graphics
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.