KhronosGroup / KhronosGroup/Vulkan-ValidationLayers

CombinedImageSampler broken with VVL + descriptor buffer + SingleArray = false

Open
#10,135 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

GPU-AV
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)

Image

Expected behavior

The App should render correctly, even with the Debug Printf Preset enabled.

Image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.