123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- https://src.fedoraproject.org/rpms/blender/blob/rawhide/f/blender-openexr.patch
- --- a/source/blender/imbuf/intern/openexr/openexr_api.cpp
- +++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp
- @@ -32,30 +32,31 @@
- #include <stdexcept>
- #include <string>
-
- -#include <Iex.h>
- +#include <OpenEXR/Iex.h>
- #include <ImathBox.h>
- -#include <ImfArray.h>
- -#include <ImfChannelList.h>
- -#include <ImfCompression.h>
- -#include <ImfCompressionAttribute.h>
- -#include <ImfIO.h>
- -#include <ImfInputFile.h>
- -#include <ImfOutputFile.h>
- -#include <ImfPixelType.h>
- -#include <ImfStandardAttributes.h>
- -#include <ImfStringAttribute.h>
- -#include <ImfVersion.h>
- -#include <half.h>
- +#include <OpenEXR/ImfArray.h>
- +#include <OpenEXR/ImfFrameBuffer.h>
- +#include <OpenEXR/ImfChannelList.h>
- +#include <OpenEXR/ImfCompression.h>
- +#include <OpenEXR/ImfCompressionAttribute.h>
- +#include <OpenEXR/ImfIO.h>
- +#include <OpenEXR/ImfInputFile.h>
- +#include <OpenEXR/ImfOutputFile.h>
- +#include <OpenEXR/ImfPixelType.h>
- +#include <OpenEXR/ImfStandardAttributes.h>
- +#include <OpenEXR/ImfStringAttribute.h>
- +#include <OpenEXR/ImfVersion.h>
- +#include <Imath/half.h>
-
- /* multiview/multipart */
- -#include <ImfInputPart.h>
- -#include <ImfMultiPartInputFile.h>
- -#include <ImfMultiPartOutputFile.h>
- -#include <ImfMultiView.h>
- -#include <ImfOutputPart.h>
- -#include <ImfPartHelper.h>
- -#include <ImfPartType.h>
- -#include <ImfTiledOutputPart.h>
- +#include <OpenEXR/ImfInputPart.h>
- +#include <OpenEXR/ImfMultiPartInputFile.h>
- +#include <OpenEXR/ImfMultiPartOutputFile.h>
- +#include <OpenEXR/ImfMultiView.h>
- +#include <OpenEXR/ImfOutputPart.h>
- +#include <OpenEXR/ImfPartHelper.h>
- +#include <OpenEXR/ImfPartType.h>
- +#include <OpenEXR/ImfTiledOutputPart.h>
-
- #include "DNA_scene_types.h" /* For OpenEXR compression constants */
-
- @@ -131,12 +132,12 @@ class IMemStream : public Imf::IStream {
- return false;
- }
-
- - Int64 tellg() override
- + uint64_t tellg() override
- {
- return _exrpos;
- }
-
- - void seekg(Int64 pos) override
- + void seekg(uint64_t pos) override
- {
- _exrpos = pos;
- }
- @@ -146,8 +147,8 @@ class IMemStream : public Imf::IStream {
- }
-
- private:
- - Int64 _exrpos;
- - Int64 _exrsize;
- + uint64_t _exrpos;
- + uint64_t _exrsize;
- unsigned char *_exrbuf;
- };
-
- @@ -182,12 +183,12 @@ class IFileStream : public Imf::IStream
- return check_error();
- }
-
- - Int64 tellg() override
- + uint64_t tellg() override
- {
- return std::streamoff(ifs.tellg());
- }
-
- - void seekg(Int64 pos) override
- + void seekg(uint64_t pos) override
- {
- ifs.seekg(pos);
- check_error();
- @@ -231,19 +232,19 @@ class OMemStream : public OStream {
- ibuf->encodedsize += n;
- }
-
- - Int64 tellp() override
- + uint64_t tellp() override
- {
- return offset;
- }
-
- - void seekp(Int64 pos) override
- + void seekp(uint64_t pos) override
- {
- offset = pos;
- ensure_size(offset);
- }
-
- private:
- - void ensure_size(Int64 size)
- + void ensure_size(uint64_t size)
- {
- /* if buffer is too small increase it. */
- while (size > ibuf->encodedbuffersize) {
- @@ -254,7 +255,7 @@ class OMemStream : public OStream {
- }
-
- ImBuf *ibuf;
- - Int64 offset;
- + uint64_t offset;
- };
-
- /* File Output Stream */
- @@ -284,12 +285,12 @@ class OFileStream : public OStream {
- check_error();
- }
-
- - Int64 tellp() override
- + uint64_t tellp() override
- {
- return std::streamoff(ofs.tellp());
- }
-
- - void seekp(Int64 pos) override
- + void seekp(uint64_t pos) override
- {
- ofs.seekp(pos);
- check_error();
- --- a/build_files/cmake/Modules/FindOpenEXR.cmake
- +++ b/build_files/cmake/Modules/FindOpenEXR.cmake
- @@ -25,6 +25,7 @@
- # see accompanying file BSD-3-Clause-license.txt for details.
- #=============================================================================
-
- +
- # If OPENEXR_ROOT_DIR was defined in the environment, use it.
- IF(NOT OPENEXR_ROOT_DIR AND NOT $ENV{OPENEXR_ROOT_DIR} STREQUAL "")
- SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR})
- @@ -33,6 +34,16 @@ ENDIF()
- # Old versions (before 2.0?) do not have any version string, just assuming this should be fine though.
- SET(_openexr_libs_ver_init "2.0")
-
- +find_package(Imath CONFIG QUIET)
- +if(TARGET Imath::Imath)
- +SET(_openexr_FIND_COMPONENTS
- + Imath
- + Iex
- + OpenEXR
- + IlmThread
- +)
- +
- +else()
- SET(_openexr_FIND_COMPONENTS
- Half
- Iex
- @@ -40,6 +51,7 @@ SET(_openexr_FIND_COMPONENTS
- IlmThread
- Imath
- )
- +endif()
-
- SET(_openexr_SEARCH_DIRS
- ${OPENEXR_ROOT_DIR}
- @@ -121,6 +133,9 @@ IF(OPENEXR_FOUND)
- SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES})
- # Both include paths are needed because of dummy OSL headers mixing #include <OpenEXR/foo.h> and #include <foo.h> :(
- SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR)
- + if(TARGET Imath::Imath)
- + list(APPEND OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}/Imath)
- + endif()
- ENDIF()
-
- MARK_AS_ADVANCED(
|