thodan/bop_renderer

./rasterizer/common/os.h:169:6: error: ‘void _mm256_storeu2_m128i(__m128i*, __m128i*, __m256i)’ redeclared inline without ‘gnu_inline’ attribute 169 | void _mm256_storeu2_m128i(__m128i *hi, __m128i *lo, __m256i a)

monajalal opened this issue · 1 comments

I get this error:

(gdrnpp) mona@ada:~/gdrnpp_bop2022/bop_renderer/osmesa-install/build$ ../osmesa-install.sh 


In function ‘logicop_quad’,
    inlined from ‘blend_fallback’ at sp_quad_blend.c:989:19:
sp_quad_blend.c:245:46: warning: ‘res’ may be used uninitialized [-Wmaybe-uninitialized]
  245 |       quadColor[j][0] = ubyte_to_float(res[j][0]);
      |                                        ~~~~~~^~~
sp_quad_blend.c: In function ‘blend_fallback’:
sp_quad_blend.c:155:32: note: ‘res’ declared here
  155 |    ubyte src[4][4], dst[4][4], res[4][4];
      |                                ^~~
  CC       sp_quad_pipe.lo
  CC       sp_quad_stipple.lo
  CC       sp_query.lo
  CC       sp_screen.lo
  CC       sp_setup.lo
  CC       sp_state_blend.lo
  CC       sp_state_clip.lo
  CC       sp_state_derived.lo
  CC       sp_state_image.lo
  CC       sp_state_rasterizer.lo
  CC       sp_state_sampler.lo
  CC       sp_state_shader.lo
  CC       sp_state_so.lo
  CC       sp_state_surface.lo
  CC       sp_state_vertex.lo
  CC       sp_surface.lo
  CC       sp_tex_sample.lo
  CC       sp_tex_tile_cache.lo
  CC       sp_texture.lo
  CC       sp_tile_cache.lo
  CCLD     libsoftpipe.la
make[4]: Leaving directory '/home/mona/gdrnpp_bop2022/bop_renderer/osmesa-install/build/mesa-17.1.6/src/gallium/drivers/softpipe'
Making all in drivers/llvmpipe
make[4]: Entering directory '/home/mona/gdrnpp_bop2022/bop_renderer/osmesa-install/build/mesa-17.1.6/src/gallium/drivers/llvmpipe'
  CC       lp_bld_blend.lo
  CC       lp_bld_blend_logicop.lo
  CC       lp_bld_alpha.lo
  CC       lp_bld_blend_aos.lo
  CC       lp_bld_depth.lo
  CC       lp_bld_interp.lo
  CC       lp_clear.lo
  CC       lp_context.lo
  CC       lp_draw_arrays.lo
  CC       lp_fence.lo
  CC       lp_flush.lo
  CC       lp_jit.lo
  CC       lp_memory.lo
  CC       lp_perf.lo
  CC       lp_query.lo
  CC       lp_rast.lo
  CC       lp_rast_debug.lo
  CC       lp_rast_tri.lo
  CC       lp_scene.lo
  CC       lp_scene_queue.lo
  CC       lp_screen.lo
  CC       lp_setup.lo
  CC       lp_setup_line.lo
  CC       lp_setup_point.lo
  CC       lp_setup_tri.lo
  CC       lp_setup_vbuf.lo
  CC       lp_state_blend.lo
  CC       lp_state_clip.lo
  CC       lp_state_derived.lo
  CC       lp_state_fs.lo
  CC       lp_state_gs.lo
  CC       lp_state_rasterizer.lo
  CC       lp_state_sampler.lo
  CC       lp_state_setup.lo
  CC       lp_state_so.lo
  CC       lp_state_surface.lo
  CC       lp_state_vertex.lo
  CC       lp_state_vs.lo
  CC       lp_surface.lo
  CC       lp_tex_sample.lo
  CC       lp_texture.lo
  CCLD     libllvmpipe.la
make[4]: Leaving directory '/home/mona/gdrnpp_bop2022/bop_renderer/osmesa-install/build/mesa-17.1.6/src/gallium/drivers/llvmpipe'
Making all in drivers/swr
make[4]: Entering directory '/home/mona/gdrnpp_bop2022/bop_renderer/osmesa-install/build/mesa-17.1.6/src/gallium/drivers/swr'
make  all-am
make[5]: Entering directory '/home/mona/gdrnpp_bop2022/bop_renderer/osmesa-install/build/mesa-17.1.6/src/gallium/drivers/swr'
  CXX      libswrAVX_la-swr_clear.lo
  CXX      libswrAVX_la-swr_draw.lo
  CXX      libswrAVX_la-swr_context.lo
  CXX      libswrAVX_la-swr_screen.lo
In file included from swr_context.h:27,
                 from swr_clear.cpp:24:
./rasterizer/common/os.h:169:6: error: ‘void _mm256_storeu2_m128i(__m128i*, __m128i*, __m256i)’ redeclared inline without ‘gnu_inline’ attribute
  169 | void _mm256_storeu2_m128i(__m128i *hi, __m128i *lo, __m256i a)
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
                 from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86intrin.h:32,
                 from ./rasterizer/common/os.h:97,
                 from swr_context.h:27,
                 from swr_clear.cpp:24:
/usr/lib/gcc/x86_64-linux-gnu/11/include/avxintrin.h:1587:1: note: ‘void _mm256_storeu2_m128i(__m128i_u*, __m128i_u*, __m256i)’ previously defined here
 1587 | _mm256_storeu2_m128i (__m128i_u *__PH, __m128i_u *__PL, __m256i __A)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from swr_context.h:27,
                 from swr_screen.cpp:24:
./rasterizer/common/os.h:169:6: error: ‘void _mm256_storeu2_m128i(__m128i*, __m128i*, __m256i)’ redeclared inline without ‘gnu_inline’ attribute
  169 | void _mm256_storeu2_m128i(__m128i *hi, __m128i *lo, __m256i a)
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
                 from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86intrin.h:32,
                 from ./rasterizer/common/os.h:97,
                 from swr_context.h:27,
                 from swr_screen.cpp:24:
/usr/lib/gcc/x86_64-linux-gnu/11/include/avxintrin.h:1587:1: note: ‘void _mm256_storeu2_m128i(__m128i_u*, __m128i_u*, __m256i)’ previously defined here
 1587 | _mm256_storeu2_m128i (__m128i_u *__PH, __m128i_u *__PL, __m256i __A)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from ./rasterizer/core/api.h:32,
                 from swr_resource.h:28,
                 from swr_screen.h:27,
                 from swr_draw.cpp:24:
./rasterizer/common/os.h:169:6: error: ‘void _mm256_storeu2_m128i(__m128i*, __m128i*, __m256i)’ redeclared inline without ‘gnu_inline’ attribute
  169 | void _mm256_storeu2_m128i(__m128i *hi, __m128i *lo, __m256i a)
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
                 from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86intrin.h:32,
                 from ./rasterizer/common/os.h:97,
                 from ./rasterizer/core/api.h:32,
                 from swr_resource.h:28,
                 from swr_screen.h:27,
                 from swr_draw.cpp:24:
/usr/lib/gcc/x86_64-linux-gnu/11/include/avxintrin.h:1587:1: note: ‘void _mm256_storeu2_m128i(__m128i_u*, __m128i_u*, __m256i)’ previously defined here
 1587 | _mm256_storeu2_m128i (__m128i_u *__PH, __m128i_u *__PL, __m256i __A)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from swr_context.h:27,
                 from swr_context.cpp:24:
./rasterizer/common/os.h:169:6: error: ‘void _mm256_storeu2_m128i(__m128i*, __m128i*, __m256i)’ redeclared inline without ‘gnu_inline’ attribute
  169 | void _mm256_storeu2_m128i(__m128i *hi, __m128i *lo, __m256i a)
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
                 from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86intrin.h:32,
                 from ./rasterizer/common/os.h:97,
                 from swr_context.h:27,
                 from swr_context.cpp:24:
/usr/lib/gcc/x86_64-linux-gnu/11/include/avxintrin.h:1587:1: note: ‘void _mm256_storeu2_m128i(__m128i_u*, __m128i_u*, __m256i)’ previously defined here
 1587 | _mm256_storeu2_m128i (__m128i_u *__PH, __m128i_u *__PL, __m256i __A)
      | ^~~~~~~~~~~~~~~~~~~~
In file included from swr_clear.cpp:24:
swr_context.h:164:62: warning: ignoring attributes on template argument ‘PFN_BLEND_JIT_FUNC’ {aka ‘void (*)(const SWR_BLEND_STATE*, simdvector&, simdvector&, __m256&, unsigned int, unsigned char*, simdvector&, __m256i*, __m256i*)’} [-Wignored-attributes]
  164 |    std::unordered_map<BLEND_COMPILE_STATE, PFN_BLEND_JIT_FUNC> *blendJIT;
      |                                                              ^
In file included from swr_screen.cpp:24:
swr_context.h:164:62: warning: ignoring attributes on template argument ‘PFN_BLEND_JIT_FUNC’ {aka ‘void (*)(const SWR_BLEND_STATE*, simdvector&, simdvector&, __m256&, unsigned int, unsigned char*, simdvector&, __m256i*, __m256i*)’} [-Wignored-attributes]
  164 |    std::unordered_map<BLEND_COMPILE_STATE, PFN_BLEND_JIT_FUNC> *blendJIT;
      |                                                              ^
In file included from swr_context.cpp:24:
swr_context.h:164:62: warning: ignoring attributes on template argument ‘PFN_BLEND_JIT_FUNC’ {aka ‘void (*)(const SWR_BLEND_STATE*, simdvector&, simdvector&, __m256&, unsigned int, unsigned char*, simdvector&, __m256i*, __m256i*)’} [-Wignored-attributes]
  164 |    std::unordered_map<BLEND_COMPILE_STATE, PFN_BLEND_JIT_FUNC> *blendJIT;
      |                                                              ^
make[5]: *** [Makefile:1572: libswrAVX_la-swr_clear.lo] Error 1
make[5]: *** Waiting for unfinished jobs....
In file included from swr_draw.cpp:25:
swr_context.h:164:62: warning: ignoring attributes on template argument ‘PFN_BLEND_JIT_FUNC’ {aka ‘void (*)(const SWR_BLEND_STATE*, simdvector&, simdvector&, __m256&, unsigned int, unsigned char*, simdvector&, __m256i*, __m256i*)’} [-Wignored-attributes]
  164 |    std::unordered_map<BLEND_COMPILE_STATE, PFN_BLEND_JIT_FUNC> *blendJIT;
      |                                                              ^
make[5]: *** [Makefile:1586: libswrAVX_la-swr_draw.lo] Error 1
make[5]: *** [Makefile:1593: libswrAVX_la-swr_screen.lo] Error 1
swr_context.cpp: In function ‘pipe_context* swr_create_context(pipe_screen*, void*, unsigned int)’:
swr_context.cpp:471:69: warning: ignoring attributes on template argument ‘PFN_BLEND_JIT_FUNC’ {aka ‘void (*)(const SWR_BLEND_STATE*, simdvector&, simdvector&, __m256&, unsigned int, unsigned char*, simdvector&, __m256i*, __m256i*)’} [-Wignored-attributes]
  471 |       new std::unordered_map<BLEND_COMPILE_STATE, PFN_BLEND_JIT_FUNC>;
      |                                                                     ^
make[5]: *** [Makefile:1579: libswrAVX_la-swr_context.lo] Error 1
make[5]: Leaving directory '/home/mona/gdrnpp_bop2022/bop_renderer/osmesa-install/build/mesa-17.1.6/src/gallium/drivers/swr'
make[4]: *** [Makefile:1076: all] Error 2
make[4]: Leaving directory '/home/mona/gdrnpp_bop2022/bop_renderer/osmesa-install/build/mesa-17.1.6/src/gallium/drivers/swr'
make[3]: *** [Makefile:600: all-recursive] Error 1
make[3]: Leaving directory '/home/mona/gdrnpp_bop2022/bop_renderer/osmesa-install/build/mesa-17.1.6/src/gallium'
make[2]: *** [Makefile:864: all-recursive] Error 1
make[2]: Leaving directory '/home/mona/gdrnpp_bop2022/bop_renderer/osmesa-install/build/mesa-17.1.6/src'
make[1]: *** [Makefile:649: all] Error 2
make[1]: Leaving directory '/home/mona/gdrnpp_bop2022/bop_renderer/osmesa-install/build/mesa-17.1.6/src'
make: *** [Makefile:645: all-recursive] Error 1

and

(base) mona@ada:~$ uname -a
Linux ada 6.2.0-39-generic #40~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 16 10:53:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
(base) mona@ada:~$ lsb_release -a
LSB Version:	core-11.1.0ubuntu4-noarch:security-11.1.0ubuntu4-noarch
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.3 LTS
Release:	22.04
Codename:	jammy

@monajalal I changed the swr option here to osmesadriver=${OSMESA_DRIVER:-3} and it worked in my case.