KhronosGroup / KhronosGroup/Vulkan-ValidationLayers

False positive in shader float control validation

Open
#5,749 6 comments 0 reactions 1 assignee View on GitHub

@spencer-lunarg is already working on this.

Since Apr 27, 2023.

ShaderVal SpecChange
Dominant language
C++
Stars
1k
Forks
505
Avg merge
11h 25m
Merged PRs (30d)
229

Description

Environment:

  • OS: Arch Linux (rolling)
  • GPU: Radeon RX6800 on RADV
  • SDK or header version if building from repo: Built VVL d1bb20e47fe9f22fd0aadec44e899ab58f3f2458
  • Options enabled (synchronization, best practices, etc.): Just validation.

Describe the Issue

When declaring a module with only FP16 denorm mode or FP64 denorm mode, a false positive is triggered.

Expected behavior

For 32_BIT_ONLY independence, it is expected that validation is only triggered if FP16 and FP64 modes are explicitly declared differently. If 64-bit floats are not used in a module, it should not trigger false positive.

(If denorm mode is not declared for FP64, it should inherit the explicit mode from FP16 I think, but that might not be required in the specification.)

Valid Usage ID
06289

Additional context

463ac:err:vkd3d_debug_messenger_callback: "Validation Error: [ VUID-RuntimeSpirv-denormBehaviorIndependence-06289 ] Object 0: handle = 0x8f1c31000000006d, name = 60c9660a21aafad8, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0xb4fec51a | Shader uses different denormals execution modes for 16 bit floats but roundingModeIndependence is VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY The Vulkan spec states: If denormBehaviorIndependence is VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, then the entry point must use the same denormal"...

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.