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

Reply via email to