I just wanted to avoid it getting removed later on because somebody sees it as an unnecessary micro-optimization providing no real benefit.
- Chuck On Wed, Jun 29, 2016 at 7:49 PM, Roland Scheidegger <[email protected]> wrote: > Am 29.06.2016 um 04:32 schrieb Chuck Atkins: > > This aligns the 4-element color float array to 16 byte boundaries. This > > should allow compiler vectorizers to generate better optimizations. > > Also fixes broken vectorization generated by Intel compiler. > > > > v2: Fixed indentation and added a lengthy comment explaining the > > reason for the alignment. > > > > Reported-by: Tim Rowley <[email protected]> > > Tested-by: Tim Rowley <[email protected]> > > Signed-off-by: Chuck Atkins <[email protected]> > > Acked-by: Roland Scheidegger <[email protected]> > > --- > > src/gallium/include/pipe/p_state.h | 12 +++++++++++- > > 1 file changed, 11 insertions(+), 1 deletion(-) > > > > diff --git a/src/gallium/include/pipe/p_state.h > b/src/gallium/include/pipe/p_state.h > > index 1543e90..5526c39 100644 > > --- a/src/gallium/include/pipe/p_state.h > > +++ b/src/gallium/include/pipe/p_state.h > > @@ -326,7 +326,17 @@ struct pipe_blend_state > > > > struct pipe_blend_color > > { > > - float color[4]; > > + /** > > + * Making the color array explicitly 16-byte aligned provides a hint > to > > + * compilers to make more efficient auto-vectorization optimizations. > > + * The actual performance gains from vectorizing the blend color > array are > > + * fairly minimal, if any, but the alignment is necessary to work > around > > + * buggy vectorization in some compilers which fail to generate the > correct > > + * unaligned accessors resulting in a segfault. Specifically several > > + * versions of the Intel compiler are known to be affected but it's > likely > > + * others are as well. > > + */ > > + PIPE_ALIGN_VAR(16) float color[4]; > > }; > > > > > > I'm all for comments but that looks a bit too much for such a simple > thing. I think the first sentence would do... > > Roland > > >
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
