[Mesa-stable] [Mesa-dev] [PATCH v4] i965: compiler option msse2 and mstackrealign

Sergii Romantsov sergii.romantsov at globallogic.com
Thu Sep 6 08:11:17 UTC 2018


Hello,

can you replace i965 with intel in the title of the commit

done

I assume you have commit access?

Unfortunately, i don't.

Thanks everybody for pointing details.

On Wed, Sep 5, 2018 at 8:41 PM, Dylan Baker <dylan at pnwbakers.com> wrote:

> Quoting Sergii Romantsov (2018-09-05 04:40:37)
> > Seems in case of 32-bit library, usage of msse2 makes
> > some stack corruption or incorrect instructions.
> > Usage with mstackrealign fixes that case.
> >
> > v2: Fixed meson.
> >
> > v3: Definition of c_sse2_args moved on the top (L.Landwerlin).
> >     Added mstackrealign for Android's mks where msee4.1 is used.
> >
> > v4: Added for Vulkan also.
> >
> > CC: <mesa-stable at lists.freedesktop.org>
> > Fixes: 6b05c080f202 (i965: Compile with -msse3)
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107779
> > Signed-off-by: Sergii Romantsov <sergii.romantsov at globallogic.com>
> > ---
> >  src/intel/Makefile.vulkan.am          | 2 +-
> >  src/intel/meson.build                 | 1 +
> >  src/intel/vulkan/meson.build          | 4 ++--
> >  src/mesa/Android.libmesa_dricore.mk   | 2 +-
> >  src/mesa/Android.libmesa_sse41.mk     | 2 +-
> >  src/mesa/drivers/dri/i965/Makefile.am | 2 +-
> >  src/mesa/drivers/dri/i965/meson.build | 6 +++---
> >  7 files changed, 10 insertions(+), 9 deletions(-)
> >
> > diff --git a/src/intel/Makefile.vulkan.am b/src/intel/Makefile.vulkan.am
> > index 9555d98..d511263 100644
> > --- a/src/intel/Makefile.vulkan.am
> > +++ b/src/intel/Makefile.vulkan.am
> > @@ -104,7 +104,7 @@ noinst_LTLIBRARIES += $(VULKAN_PER_GEN_LIBS)
> >
> >  VULKAN_CFLAGS = \
> >         $(AM_CFLAGS) \
> > -       -msse2
> > +       -msse2 -mstackrealign
> >
> >  VULKAN_CPPFLAGS = \
> >         -I$(top_srcdir)/src/compiler \
> > diff --git a/src/intel/meson.build b/src/intel/meson.build
> > index b3dcbdc..3c57e79 100644
> > --- a/src/intel/meson.build
> > +++ b/src/intel/meson.build
> > @@ -18,6 +18,7 @@
> >  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> DEALINGS IN THE
> >  # SOFTWARE.
> >
> > +c_sse2_args = ['-msse2', '-mstackrealign']
> >  inc_intel = include_directories('.')
> >
> >  subdir('blorp')
> > diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build
> > index e11bcb0..f1beb1d 100644
> > --- a/src/intel/vulkan/meson.build
> > +++ b/src/intel/vulkan/meson.build
> > @@ -102,7 +102,7 @@ foreach g : [['70', ['gen7_cmd_buffer.c']], ['75',
> ['gen7_cmd_buffer.c']],
> >        inc_vulkan_wsi,
> >      ],
> >      c_args : [
> > -      c_vis_args, no_override_init_args, '-msse2',
> > +      c_vis_args, no_override_init_args, c_sse2_args,
> >        '-DGEN_VERSIONx10=@0@'.format(_gen),
> >      ],
> >      dependencies : [dep_libdrm, dep_valgrind, idep_nir_headers],
> > @@ -146,7 +146,7 @@ anv_deps = [
> >  anv_flags = [
> >    c_vis_args,
> >    no_override_init_args,
> > -  '-msse2',
> > +  c_sse2_args,
> >  ]
> >
> >  if with_platform_x11
> > diff --git a/src/mesa/Android.libmesa_dricore.mk b/src/mesa/
> Android.libmesa_dricore.mk
> > index 34fd858..7921177 100644
> > --- a/src/mesa/Android.libmesa_dricore.mk
> > +++ b/src/mesa/Android.libmesa_dricore.mk
> > @@ -49,7 +49,7 @@ ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
> >  LOCAL_WHOLE_STATIC_LIBRARIES := \
> >         libmesa_sse41
> >  LOCAL_CFLAGS := \
> > -       -msse4.1 \
> > +       -msse4.1 -mstackrealign \
> >         -DUSE_SSE41
> >  endif
> >
> > diff --git a/src/mesa/Android.libmesa_sse41.mk b/src/mesa/
> Android.libmesa_sse41.mk
> > index da40f43..de19a1f 100644
> > --- a/src/mesa/Android.libmesa_sse41.mk
> > +++ b/src/mesa/Android.libmesa_sse41.mk
> > @@ -34,7 +34,7 @@ LOCAL_SRC_FILES += \
> >         $(X86_SSE41_FILES)
> >
> >  LOCAL_CFLAGS := \
> > -       -msse4.1
> > +       -msse4.1 -mstackrealign
> >
> >  LOCAL_C_INCLUDES := \
> >         $(MESA_TOP)/src/mapi \
> > diff --git a/src/mesa/drivers/dri/i965/Makefile.am
> b/src/mesa/drivers/dri/i965/Makefile.am
> > index 889d4c6..0afa7a2 100644
> > --- a/src/mesa/drivers/dri/i965/Makefile.am
> > +++ b/src/mesa/drivers/dri/i965/Makefile.am
> > @@ -44,7 +44,7 @@ AM_CFLAGS = \
> >         $(WNO_OVERRIDE_INIT) \
> >         $(LIBDRM_CFLAGS) \
> >         $(VALGRIND_CFLAGS) \
> > -       -msse2
> > +       -msse2 -mstackrealign
> >
> >  AM_CXXFLAGS = $(AM_CFLAGS)
> >
> > diff --git a/src/mesa/drivers/dri/i965/meson.build
> b/src/mesa/drivers/dri/i965/meson.build
> > index 6c94f4a..b95e2d7 100644
> > --- a/src/mesa/drivers/dri/i965/meson.build
> > +++ b/src/mesa/drivers/dri/i965/meson.build
> > @@ -142,7 +142,7 @@ foreach v : ['40', '45', '50', '60', '70', '75',
> '80', '90', '100', '110']
> >      ['genX_blorp_exec.c', 'genX_state_upload.c', gen_xml_pack],
> >      include_directories : [inc_common, inc_intel, inc_dri_common],
> >      c_args : [
> > -      c_vis_args, no_override_init_args, '-msse2',
> > +      c_vis_args, no_override_init_args, c_sse2_args,
> >        '-DGEN_VERSIONx10=@0@'.format(v),
> >      ],
> >      dependencies : [dep_libdrm, idep_nir_headers],
> > @@ -183,8 +183,8 @@ libi965 = static_library(
> >    include_directories : [
> >      inc_common, inc_intel, inc_dri_common, inc_util, inc_drm_uapi,
> >    ],
> > -  c_args : [c_vis_args, no_override_init_args, '-msse2'],
> > -  cpp_args : [cpp_vis_args, '-msse2'],
> > +  c_args : [c_vis_args, no_override_init_args, c_sse2_args],
> > +  cpp_args : [cpp_vis_args, c_sse2_args],
> >    link_with : [
> >      i965_gen_libs, libintel_common, libintel_dev, libisl,
> libintel_compiler,
> >      libblorp,
> > --
> > 2.7.4
> >
>
> Looks good to me, thanks for following up on this. Just one very tiny nit,
> can
> you replace i965 with intel in the title of the commit, since we're touch
> vulkan
> as well?
>
> With that,
> Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
>
> I assume you have commit access?
>
> Dylan
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>


-- 
Sergii Romantsov
GlobalLogic Inc.
www.globallogic.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-stable/attachments/20180906/7913e9bd/attachment-0001.html>


More information about the mesa-stable mailing list