Bug 104677 - radv_generate_graphics_pipeline_key reads input rate from incorrect binding
Summary: radv_generate_graphics_pipeline_key reads input rate from incorrect binding
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/radeon (show other bugs)
Version: 17.3
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-17 19:56 UTC by Philip Rebohle
Modified: 2018-01-19 00:58 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Modification to the 'instancing' demo (982 bytes, patch)
2018-01-17 19:56 UTC, Philip Rebohle
Details | Splinter Review
Proposed fix (966 bytes, patch)
2018-01-17 19:59 UTC, Philip Rebohle
Details | Splinter Review

Description Philip Rebohle 2018-01-17 19:56:28 UTC
Created attachment 136813 [details] [review]
Modification to the 'instancing' demo

The following code leads to incorrect vertex buffer reads if pVertexBindingDescriptions[n].binding != n for any given n:

    binding = input_state->pVertexAttributeDescriptions[i].binding;
    if (input_state->pVertexBindingDescriptions[binding].inputRate)

Instead, this function should scan the binding descriptions for a binding that has the same binding number as the vertex attribute.

This can be reproduced by reordering the vertex binding definition in the 'instancing' demo from Sascha Willems' Vulkan samples, see attachments.
Comment 1 Philip Rebohle 2018-01-17 19:59:15 UTC
Created attachment 136814 [details] [review]
Proposed fix


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.