./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
monajalal commented
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
bhomaidan1990 commented
@monajalal I changed the swr
option here to osmesadriver=${OSMESA_DRIVER:-3}
and it worked in my case.