Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorect ShaderFragmentOutputMismatch warning for DRLR with location remaping #8887

Open
piby opened this issue Nov 19, 2024 · 0 comments
Open
Assignees
Labels
Bug Something isn't working

Comments

@piby
Copy link

piby commented Nov 19, 2024

Environment:

  • OS: Windows 10 Pro
  • GPU and driver version: GeForce RTX 2060 SUPER
  • SDK or header version if building from repo: SDK 1.3.296.0
  • Options enabled (synchronization, best practices, etc.): SYNCHRONIZATION_VALIDATION, warn,error

Describe the Issue

In CTS 120+ of attachment_allocation tests for dynamic rendering report validation warning like this:
Undefined-Value-ShaderFragmentOutputMismatch-DynamicRendering(WARN / SPEC): msgNum: 269640043 - Validation Warning: [ Undefined-Value-ShaderFragmentOutputMismatch-DynamicRendering ] Object 0: handle = 0xcfcda0000000001e, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x1012616b | vkCreateGraphicsPipelines(): pCreateInfos[0] Attachment 1 of type 'VK_FORMAT_R32G32B32A32_UINT' does not match fragment shader output type of 'pointer to Output -> vec4 of float32'; resulting values are undefined

One of simpler tests with this issue, is:
dEQP-VK.dynamic_rendering.primary_cmd_buff.dedicated_allocation.attachment_allocation.roll.45

Expected behavior

roll.45 test uses 2 subpasses and 3 attachments: two uint images and one image with float format.
FS for first subpass reads two uint images and FS for second subpass reads second uint image and float image.
It seams code in cc_shader_interface.cpp#L761 doesn't take account for attachment location remapping provided with VkRenderingAttachmentLocationInfoKHR (from VK_KHR_dynamic_rendering_local_read).
For roll.45 test remaping is set in vktRenderPassTests.cpp#L3126 .
Fragment shader for second subpass correctly tries to read float format at location 1 because remapping was used and shader gets at location 1 attachment that is at index 2 in pColorAttachments. It seams validation warning is printed incorrectly during pipeline creation for second subpass.

Valid Usage ID
Undefined-Value-ShaderFragmentOutputMismatch-DynamicRendering

@spencer-lunarg spencer-lunarg added the Bug Something isn't working label Nov 20, 2024
@spencer-lunarg spencer-lunarg self-assigned this Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants