Bug 435474

Summary: Build fails with opencolorio 2.0
Product: [Applications] krita Reporter: rezso <rezso>
Component: OpenGL CanvasAssignee: amyspark <amy>
Status: RESOLVED FIXED    
Severity: normal CC: alvin, amy, arojas, bero, halla, rdieter
Priority: NOR    
Version: 4.4.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Bug Depends on: 407921    
Bug Blocks:    
Attachments: build log

Description rezso 2021-04-07 16:17:36 UTC
Created attachment 137406 [details]
build log

SUMMARY

Build fails with opencolorio 2.0, the relevant part of log attached.
Comment 1 Halla Rempt 2021-04-08 08:31:35 UTC
Git commit 66812ef4f7e4051e251dea39df6b39d119940d22 by Halla Rempt.
Committed on 08/04/2021 at 08:30.
Pushed by rempt into branch 'master'.

Only accept OCIO 1.1.1

OCIO 2.0 is a complete rewrite and needs porting to, but that can
wait, it only entered the vfxplatform in 2021.

M  +1    -1    CMakeLists.txt

https://invent.kde.org/graphics/krita/commit/66812ef4f7e4051e251dea39df6b39d119940d22
Comment 2 amyspark 2021-06-17 02:56:05 UTC
Arch Linux has already renamed v1 to "OpenColorIO1"; it seems our Find Module does not handle it, even when forcibly setting the INCLUDE_DIR and the LIBRARY_PATH.

cc Halla: reopening.
Comment 3 Halla Rempt 2021-06-17 06:30:11 UTC
Well... !@#$% Arch?
Comment 4 Alvin Wong 2021-06-19 09:21:02 UTC
(In reply to amyspark from comment #2)
> Arch Linux has already renamed v1 to "OpenColorIO1"; it seems our Find
> Module does not handle it, even when forcibly setting the INCLUDE_DIR and
> the LIBRARY_PATH.
> 
> cc Halla: reopening.

I don't think it really should be our responsibility to handle it. The OpenColorIO1 rename is specific to Arch, and the Arch package maintainer already applies their own patch in their package: https://github.com/archlinux/svntogit-packages/blob/4877333d60835f6531cc990af955cedb39158893/trunk/krita-opencolorio1.patch

I guess we can maybe consider adding a special handling for this, but the proper thing to do is to port over to OCIO 2...
Comment 5 Christophe Marin 2021-07-24 07:29:29 UTC
How is the port going?
We received a message informing us the last krita release fails to build with OCIO 2 (while Blender seems to require it).

I will remove the build dependency for the moment.
Note that the KDE CI will also have OCIO 2.0 soon™.
Comment 6 Halla Rempt 2021-07-24 08:09:16 UTC
We haven't even begun thinking about porting to OCIO 2.
Comment 7 Alvin Wong 2021-08-21 16:36:26 UTC
*** Bug 440708 has been marked as a duplicate of this bug. ***
Comment 8 amyspark 2021-09-06 16:12:23 UTC
Adding a block on 407921, because I can't test LUT handling if OCIO is unable to read them.
Comment 9 amyspark 2021-10-19 19:36:24 UTC
Git commit 3d24ed1314471371dc42c0b0d93e3c0037942412 by L. E. Segovia.
Committed on 19/10/2021 at 16:38.
Pushed by lsegovia into branch 'master'.

OpenColorIO: support VFX Platform CY2021 and newer

This commits enables the new optimized GPU pipeline only with the GLES
support patch upstream.

These are scheduled for the next 2.1.x release along with 2.2, so I'll
target those versions.

D  +0    -260  3rdparty/ext_ocio/0001-Fix-MinGW-and-MSVC-detection.patch
D  +0    -81   3rdparty/ext_ocio/0002-Auto-disable-SSE-if-the-compiler-target-doesn-t-supp.patch
D  +0    -12   3rdparty/ext_ocio/0003-macOS-fixWarnings.patch
D  +0    -43   3rdparty/ext_ocio/0004-Remove-Werror-to-fix-build-on-GCC11.patch
M  +3    -19   3rdparty/ext_ocio/CMakeLists.txt
M  +5    -2    CMakeLists.txt
M  +2    -2    config-ocio.h.cmake
M  +6    -0    krita/data/shaders/highq_downscale.frag
M  +6    -0    krita/data/shaders/simple_texture_legacy.frag
M  +4    -1    libs/ui/canvas/kis_display_filter.h
M  +3    -3    libs/ui/opengl/kis_opengl_canvas2.cpp
M  +6    -3    libs/ui/opengl/kis_opengl_shader_loader.cpp
M  +15   -2    plugins/dockers/lut/CMakeLists.txt
M  +6    -3    plugins/dockers/lut/lutdocker_dock.cpp
M  +16   -4    plugins/dockers/lut/lutdocker_dock.h
R  +20   -10   plugins/dockers/lut/ocio_display_filter_vfx2020.cpp [from: plugins/dockers/lut/ocio_display_filter.cpp - 094% similarity]
R  +17   -12   plugins/dockers/lut/ocio_display_filter_vfx2020.h [from: plugins/dockers/lut/ocio_display_filter.h - 074% similarity]
A  +595  -0    plugins/dockers/lut/ocio_display_filter_vfx2021.cpp     [License: GPL(v2.0+)]
A  +114  -0    plugins/dockers/lut/ocio_display_filter_vfx2021.h     [License: GPL(v2.0+)]
M  +11   -1    plugins/dockers/lut/tests/CMakeLists.txt
M  +13   -10   plugins/dockers/lut/tests/kis_ocio_display_filter_test.cpp
M  +31   -24   plugins/dockers/lut/wdglut.ui

https://invent.kde.org/graphics/krita/commit/3d24ed1314471371dc42c0b0d93e3c0037942412
Comment 10 amyspark 2021-10-19 19:42:39 UTC
Git commit 63e918509964ce835ddcab0f9aaf6d15a6256eba by L. E. Segovia.
Committed on 19/10/2021 at 19:42.
Pushed by lsegovia into branch 'krita/5.0'.

OpenColorIO: support VFX Platform CY2021 and newer

This commits enables the new optimized GPU pipeline only with the GLES
support patch upstream.

These are scheduled for the next 2.1.x release along with 2.2, so I'll
target those versions.
(cherry picked from commit 3d24ed1314471371dc42c0b0d93e3c0037942412)

D  +0    -260  3rdparty/ext_ocio/0001-Fix-MinGW-and-MSVC-detection.patch
D  +0    -81   3rdparty/ext_ocio/0002-Auto-disable-SSE-if-the-compiler-target-doesn-t-supp.patch
D  +0    -12   3rdparty/ext_ocio/0003-macOS-fixWarnings.patch
M  +3    -17   3rdparty/ext_ocio/CMakeLists.txt
M  +7    -4    CMakeLists.txt
M  +2    -2    config-ocio.h.cmake
M  +6    -0    krita/data/shaders/highq_downscale.frag
M  +6    -0    krita/data/shaders/simple_texture_legacy.frag
M  +4    -1    libs/ui/canvas/kis_display_filter.h
M  +3    -3    libs/ui/opengl/kis_opengl_canvas2.cpp
M  +6    -3    libs/ui/opengl/kis_opengl_shader_loader.cpp
M  +15   -2    plugins/dockers/lut/CMakeLists.txt
M  +6    -3    plugins/dockers/lut/lutdocker_dock.cpp
M  +16   -4    plugins/dockers/lut/lutdocker_dock.h
R  +20   -10   plugins/dockers/lut/ocio_display_filter_vfx2020.cpp [from: plugins/dockers/lut/ocio_display_filter.cpp - 094% similarity]
R  +17   -12   plugins/dockers/lut/ocio_display_filter_vfx2020.h [from: plugins/dockers/lut/ocio_display_filter.h - 074% similarity]
A  +595  -0    plugins/dockers/lut/ocio_display_filter_vfx2021.cpp     [License: GPL(v2.0+)]
A  +114  -0    plugins/dockers/lut/ocio_display_filter_vfx2021.h     [License: GPL(v2.0+)]
M  +11   -1    plugins/dockers/lut/tests/CMakeLists.txt
M  +13   -10   plugins/dockers/lut/tests/kis_ocio_display_filter_test.cpp
M  +31   -24   plugins/dockers/lut/wdglut.ui

https://invent.kde.org/graphics/krita/commit/63e918509964ce835ddcab0f9aaf6d15a6256eba