Download raw body.
UPDATE: OpenColorIO 2.3.2
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
UPDATE: OpenColorIO 2.3.2