Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUILD] OpenColorIO 2.3.0 demands new argument at GetColorContext #2284

Open
meerfrau opened this issue Sep 22, 2023 · 7 comments · May be fixed by #2294
Open

[BUILD] OpenColorIO 2.3.0 demands new argument at GetColorContext #2284

meerfrau opened this issue Sep 22, 2023 · 7 comments · May be fixed by #2294
Labels
Building/Packaging Compile or install issues (excluding CI)

Comments

@meerfrau
Copy link

meerfrau commented Sep 22, 2023

Commit Hash
8ce00fd

Platform
ArchLinux

Summary
Sorry for being in German:

./olive/app/render/renderer.cpp: In Elementfunktion »bool olive::Renderer::GetColorContext(const olive::ColorTransformJob&, ColorContext*)«:
./olive/app/render/renderer.cpp:245:30: Fehler: keine passende Funktion für Aufruf von »OpenColorIO_v2_3dev::GpuShaderDesc::getTexture(unsigned int&, const char*&, const char*&, unsigned int&, unsigned int&, OpenColorIO_v2_3dev::GpuShaderCreator::TextureType&, OpenColorIO_v2_3dev::Interpolation&)«
  245 |       shader_desc->getTexture(i, tex_name, sampler_name, width, height, channel, interpolation);
      |       ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In Datei, eingebunden von ./olive/app/common/ocioutils.h:24,
                 von ./olive/app/render/colorprocessor.h:25,
                 von ./olive/app/render/renderer.h:30,
                 von ./olive/app/render/renderer.cpp:21:
/usr/include/OpenColorIO/OpenColorIO.h:3534:18: Anmerkung: Kandidat: »virtual void OpenColorIO_v2_3dev::GpuShaderDesc::getTexture(unsigned int, const char*&, const char*&, unsigned int&, unsigned int&, OpenColorIO_v2_3dev::GpuShaderCreator::TextureType&, OpenColorIO_v2_3dev::GpuShaderCreator::TextureDimensions&, OpenColorIO_v2_3dev::Interpolation&) const«
 3534 |     virtual void getTexture(unsigned index,
      |                  ^~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:3534:18: Anmerkung:   Kandidat erwartet 8 Argumente, 7 angegeben

OpenColorIO 3.2.02.3.0 introduced TextureDimensions & dimensions between channel and interpolation:

    virtual void getTexture(unsigned index,
                            const char *& textureName,
                            const char *& samplerName,
                            unsigned & width,
                            unsigned & height,
                            TextureType & channel,
                            TextureDimensions & dimensions,
                            Interpolation & interpolation) const = 0;

which is either TEXTURE_1D = 1, or TEXTURE_2D = 2,

@meerfrau meerfrau added Building/Packaging Compile or install issues (excluding CI) Triage This issue is yet to be triaged labels Sep 22, 2023
@ThomasWilshaw
Copy link
Collaborator

As far as I'm aware there is no OpenColorIO 3, the latest is 2.3

@ThomasWilshaw
Copy link
Collaborator

ThomasWilshaw commented Sep 22, 2023

Ah, but yes that is an issue with 2.3. Olive aims to compile to the VFX Reference Platform (more or less) and that is still using OCIO 2.2

@meerfrau meerfrau changed the title [BUILD] OpenColorIO 3.2.0 demands new argument at GetColorContext [BUILD] OpenColorIO 2.3.0 demands new argument at GetColorContext Sep 22, 2023
@meerfrau
Copy link
Author

Fixable by adding
OCIO::GpuShaderDesc::TextureDimensions dimensions = OCIO::GpuShaderDesc::TEXTURE_2D;

@ThomasWilshaw May I ask you how to enforce compiling against system libraries? My system e.g. has OpenEXR 3.2.0, but olive has chosen libOpenEXR-3_1.so.30 ...

@ThomasWilshaw ThomasWilshaw removed the Triage This issue is yet to be triaged label Sep 22, 2023
@ThomasWilshaw
Copy link
Collaborator

Thanks, we'll keep this around for as and when we update to OCIO 2.3

I'm afraid I'm not a Linuxexpert so can't reall help here mayeb @Simran-B can?

@tobim tobim linked a pull request Oct 25, 2023 that will close this issue
@david-geiger
Copy link

@3rdmate
Copy link

3rdmate commented Dec 14, 2023

Fixable by adding OCIO::GpuShaderDesc::TextureDimensions dimensions = OCIO::GpuShaderDesc::TEXTURE_2D;

@ThomasWilshaw May I ask you how to enforce compiling against system libraries? My system e.g. has OpenEXR 3.2.0, but olive has chosen libOpenEXR-3_1.so.30 ...

works like a charm (no other change needed) :)
tested on a M1

@rathann
Copy link

rathann commented Sep 13, 2024

Confirmed that something like #2294 or that Krita patch referenced by @david-geiger does make it compile with OCIO 2.3 on Fedora 41 (upcoming)Beta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Building/Packaging Compile or install issues (excluding CI)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants