From: Brad Smith Subject: Re: UPDATE: OpenColorIO 2.3.2 To: Pascal Stumpf , ports@openbsd.org Date: Sat, 13 Apr 2024 13:02:28 -0400 On 2024-04-13 12:47 p.m., Stuart Henderson wrote: > On 2024/04/13 14:30, Stuart Henderson wrote: >> i386 doesn't like that one, >> >> /pobj/opencolorio-2.3.2/OpenColorIO-2.3.2/src/OpenColorIO/ops/cdl/CDLOpCPU.cpp:339:18: error: always_inline function '_mm_loadu_ps' requires target feature 'sse', but would be inlined into function 'LoadRenderParams' that is compiled without support for 'sse' >> slope = _mm_loadu_ps(renderParams.getSlope()); >> ^ >> /pobj/opencolorio-2.3.2/OpenColorIO-2.3.2/src/OpenColorIO/ops/cdl/CDLOpCPU.cpp:340:18: error: always_inline function '_mm_loadu_ps' requires target feature 'sse', but would be inlined into function 'LoadRenderParams' that is compiled without support for 'sse' >> offset = _mm_loadu_ps(renderParams.getOffset()); >> ^ >> /pobj/opencolorio-2.3.2/OpenColorIO-2.3.2/src/OpenColorIO/ops/cdl/CDLOpCPU.cpp:341:18: error: always_inline function '_mm_loadu_ps' requires target feature 'sse', but would be inlined into function 'LoadRenderParams' that is compiled without support for 'sse' >> power = _mm_loadu_ps(renderParams.getPower()); >> ^ >> /pobj/opencolorio-2.3.2/OpenColorIO-2.3.2/src/OpenColorIO/ops/cdl/CDLOpCPU.cpp:342:18: error: always_inline function '_mm_set1_ps' requires target feature 'sse', but would be inlined into function 'LoadRenderParams' that is compiled without support for 'sse' >> saturation = _mm_set1_ps(renderParams.getSaturation()); >> ^ >> 4 errors generated. >> ninja: build stopped: subcommand failed. >> >> There is also >> >> CMake Warning: >> Manually-specified variables were not used by the project: >> ... >> OCIO_USE_SSE >> >> I'll try this for starters.. >> >> Index: Makefile >> =================================================================== >> RCS file: /cvs/ports/graphics/opencolorio/Makefile,v >> diff -u -p -r1.32 Makefile >> --- Makefile 10 Apr 2024 10:38:06 -0000 1.32 >> +++ Makefile 13 Apr 2024 13:27:34 -0000 >> @@ -40,9 +40,9 @@ CONFIGURE_ARGS += -DPYTHON="${MODPY_BIN} >> -Dminizip-ng_INCLUDE_DIR="${LOCALBASE}/include/minizip" >> >> .if ${MACHINE_ARCH} == "amd64" >> -CONFIGURE_ARGS += -DOCIO_USE_SSE=ON >> +CONFIGURE_ARGS += -DOCIO_USE_SIMD=ON >> .else >> -CONFIGURE_ARGS += -DOCIO_USE_SSE=OFF >> +CONFIGURE_ARGS += -DOCIO_USE_SIMD=OFF >> .endif >> >> # everything except tests >> > So that fixes i386, but testing on arm64 the SIMD build there is happy > anyway, and I don't think there's a problem with other archs, so > I propose this: https://github.com/AcademySoftwareFoundation/OpenColorIO/commit/9cc24865599579f02fa07c09880518bef2058a03 https://github.com/AcademySoftwareFoundation/OpenColorIO/commit/caa20dd1962f0d659a9214ac28815a1b904d4118 Thanks. That looks reasonable. It appears to be AArch64 only NEON. > Index: Makefile > =================================================================== > RCS file: /cvs/ports/graphics/opencolorio/Makefile,v > diff -u -p -r1.32 Makefile > --- Makefile 10 Apr 2024 10:38:06 -0000 1.32 > +++ Makefile 13 Apr 2024 16:46:53 -0000 > @@ -4,6 +4,7 @@ GH_ACCOUNT = AcademySoftwareFoundation > GH_PROJECT = OpenColorIO > GH_TAGNAME = v2.3.2 > PKGNAME = ${DISTNAME:L} > +REVISION = 0 > EPOCH = 2 > > SHARED_LIBS += OpenColorIO 4.0 # 1.1.1 > @@ -39,10 +40,10 @@ CONFIGURE_ARGS += -DPYTHON="${MODPY_BIN} > -DOCIO_BUILD_GPU_TESTS=OFF \ > -Dminizip-ng_INCLUDE_DIR="${LOCALBASE}/include/minizip" > > -.if ${MACHINE_ARCH} == "amd64" > -CONFIGURE_ARGS += -DOCIO_USE_SSE=ON > +.if ${MACHINE_ARCH} == "i386" > +CONFIGURE_ARGS += -DOCIO_USE_SIMD=OFF > .else > -CONFIGURE_ARGS += -DOCIO_USE_SSE=OFF > +CONFIGURE_ARGS += -DOCIO_USE_SIMD=ON > .endif > > # everything except tests