anv: set input_slots_valid on brw_wm_prog_key
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Tue, 10 Jan 2017 12:46:25 +0000 (12:46 +0000)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Tue, 10 Jan 2017 18:16:45 +0000 (18:16 +0000)
commit860d91ec5b1381b261e6776466154f375dfe125b
tree8a603edc8f3a3797732efbe0eadd7c02e8f92ada
parent4b44ca72250745228f5eeb0fd3e0fddf51e99963
anv: set input_slots_valid on brw_wm_prog_key

With shaders using a lot of inputs/outputs, like this (from Gtk+) :

layout(location = 0) in vec2 inPos;
layout(location = 1) in float inGradientPos;
layout(location = 2) in flat int inRepeating;
layout(location = 3) in flat int inStopCount;
layout(location = 4) in flat vec4 inClipBounds;
layout(location = 5) in flat vec4 inClipWidths;
layout(location = 6) in flat ColorStop inStops[8];

layout(location = 0) out vec4 outColor;

we're missing the programming of the input_slots_valid field leading
to an assert further down the backend code.

v2: Use valid slots of the geometry or vertex stage (Jason)

v3: Use helper to find correct vue map (Jason)

v4: Set the valid slots off the previous stages (Jason)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/vulkan/anv_pipeline.c