KhronosGroup / KhronosGroup/Vulkan-ValidationLayers
CombinedImageSampler broken with VVL + descriptor buffer + SingleArray = false
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1k
- Forks
- 505
- Avg merge
- 11h 25m
- Merged PRs (30d)
- 229
Description
Environment:
- OS: Win11 24H2
- GPU and driver version: Intel B580, 32.0.101.6734 and 32.0.101.6793
- SDK or header version if building from repo: 1.4.313
- Options enabled (synchronization, best practices, etc.): PrintF OR GPU-AV
Describe the Issue
There seems to be an issue with combined image samplers when the following criterias are met:
- Descriptor Buffers are used
- CombinedImageSamplers are used
- GPU requires VkPhysicalDeviceDescriptorBufferPropertiesEXT.combinedImageSamplerDescriptorSingleArray = false
- VVL "Debug Printf Preset" is used OR "GPU-Assisted Preset" is used
If any of the points above isnt met (eg, disable VVL) the issue doesnt appear.
It seems that the samplers use default (uninitialized?) values.
For example:
- The whole image has color banding because the sampling in the Tonemapping LUT is using nearest instead of linear interpolation.
- The bloom bleeds over image edges because the sampler doesnt clamp anymore.
- Specular reflections are sampled with nearest and always use mip 0. (sampler min and max mip is 0)
Expected behavior
The App should render correctly, even with the Debug Printf Preset enabled.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the rendering issue with descriptor buffers, combined image samplers, SingleArray=false, and the VVL Debug Printf or GPU-Assisted preset on the stated Intel setup. Compare sampler behavior with VVL disabled and verify that the tonemapping, bloom, and reflection sampling matches the expected image; the issue does not name source files or tests to start from.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100