On Monday 19 December 2016, Bas Nieuwenhuizen wrote: > Reviewed-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> > > Does dual source blending work now with this patch? And do you need me > to commit it?
It does for me. And no, I believe I have commit access. Thanks for the review! > - Bas > > > On Fri, Dec 16, 2016 at 2:25 AM, Fredrik Höglund <fred...@kde.org> wrote: > > 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. > > --- > > src/amd/common/ac_nir_to_llvm.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/src/amd/common/ac_nir_to_llvm.c > > b/src/amd/common/ac_nir_to_llvm.c > > index d66fefb..90ee917 100644 > > --- a/src/amd/common/ac_nir_to_llvm.c > > +++ b/src/amd/common/ac_nir_to_llvm.c > > @@ -4125,7 +4125,7 @@ static void > > handle_shader_output_decl(struct nir_to_llvm_context *ctx, > > struct nir_variable *variable) > > { > > - int idx = variable->data.location; > > + int idx = variable->data.location + variable->data.index; > > unsigned attrib_count = glsl_count_attribute_slots(variable->type, > > false); > > > > variable->data.driver_location = idx * 4; > > @@ -4155,7 +4155,7 @@ handle_shader_output_decl(struct nir_to_llvm_context > > *ctx, > > si_build_alloca_undef(ctx, ctx->f32, > > ""); > > } > > } > > - ctx->output_mask |= ((1ull << attrib_count) - 1) << > > variable->data.location; > > + ctx->output_mask |= ((1ull << attrib_count) - 1) << idx; > > } > > > > static void > > -- > > 2.1.4 > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev