Vulkan Validation Error in a default, empty app w/ window.
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## Bevy version
0.8-dev (main)
## Relevant system information
```
AdapterInfo {
name: "NVIDIA GeForce RTX 3090",
vendor: 4318,
device: 8708,
device_type: DiscreteGpu,
backend: Vulkan
}
```
## What you did
Any project started with DefaultPlugins and a window on a vulkan backend.
## What went wrong
Vulkan device creation is being provided with a non-compliant VkPhysicalDeviceVulkan12Features / device create info struct.
The expectation is that default vulkan init would be free of validation errors.
```
2022-07-21T14:59:03.219031Z ERROR wgpu_hal::vulkan::instance: VALIDATION [VUID-VkDeviceCreateInfo-pNext-02830 (0x211e533b)]
Validation Error: [ VUID-VkDeviceCreateInfo-pNext-02830 ] Object 0: handle = 0x2307368ded0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x211e533b | If the pNext chain includes a VkPhysicalDeviceVulkan12Features structure, then it must not include a VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceBufferDeviceAddressFeatures, or VkPhysicalDeviceVulkanMemoryModelFeatures structure The Vulkan spec states: If the pNext chain includes a VkPhysicalDeviceVulkan12Features structure, then it must not include a VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceBufferDeviceAddressFeatures, or VkPhysicalDeviceVulkanMemoryModelFeatures structure (https://vulkan.lunarg.com/doc/view/1.3.211.0/windows/1.3-extensions/vkspec.html#VUID-VkDeviceCreateInfo-pNext-02830)
2022-07-21T14:59:03.219780Z ERROR wgpu_hal::vulkan::instance: objects: (type: INSTANCE, hndl: 0x2307368ded0, name: ?)
```
Contributor guide
Research direction
Reproduce the issue with a project using DefaultPlugins and a window on the Vulkan backend. Start at the Vulkan device-creation path reported by wgpu_hal::vulkan::instance and inspect the pNext feature structures. Done means default initialization no longer emits VUID-VkDeviceCreateInfo-pNext-02830 validation errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100