radv: fix dual source blending
authorFredrik Höglund <fredrik@kde.org>
Wed, 7 Dec 2016 18:20:08 +0000 (19:20 +0100)
committerFredrik Höglund <fredrik@kde.org>
Thu, 22 Dec 2016 01:07:17 +0000 (02:07 +0100)
commit27a8aab882980e35b66f7f318fd2fd7b500401b4
treeaed11dd391716ead3c9e1d6740455bed5cb9d9f1
parent877202b6dc202fff3ba548aaf423bab484200b61
radv: fix dual source blending

Add the index to the location when assigning driver locations for
output variables.

Otherwise two fragment shader outputs declared as:

   layout (location = 0, index = 0) out vec4 output1;
   layout (location = 0, index = 1) out vec4 output2;

will end up aliasing one another.

Note that this patch will make the second output variable in the above
example alias a possible third output variable with location = 1 and
index = 0. But this shouldn't be a problem in practice since only one
color attachment is supported when dual-source blending is used.

Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/common/ac_nir_to_llvm.c