Skip to content

Commit 493e64f

Browse files
committed
Master merge
2 parents 070ac3e + 209d600 commit 493e64f

36 files changed

+293
-130
lines changed

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,9 @@
105105
[submodule "3rdparty/git-version-tracking"]
106106
path = 3rdparty/git-version-tracking
107107
url = [email protected]:Devsh-Graphics-Programming/cmake-git-version-tracking.git
108+
[submodule "3rdparty/imath"]
109+
path = 3rdparty/imath
110+
url = [email protected]:AcademySoftwareFoundation/Imath.git
111+
[submodule "3rdparty/libdeflate"]
112+
path = 3rdparty/libdeflate
113+
url = [email protected]:Devsh-Graphics-Programming/libdeflate.git

3rdparty/CMakeLists.txt

Lines changed: 36 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -193,48 +193,46 @@ option(PNG_TESTS "Build libpng tests" OFF)
193193
add_subdirectory(libpng libpng EXCLUDE_FROM_ALL)
194194
add_dependencies(png_static zlibstatic)
195195

196-
197196
# OpenEXR
198197
option(_NBL_COMPILE_WITH_OPEN_EXR_ "Build with OpenEXR library" ON)
199198

200-
# Note we are adding it anyway regardless _NBL_COMPILE_WITH_OPEN_EXR_, its because we need Half dependecy
201-
# it generates on fly in its build directory which doesnt have to be linked (class with inline methods),
202-
# here is where _NBL_COMPILE_WITH_OPEN_EXR_ plays a role - when disabled OpenEXR won't be built and linked
203-
# but it's core
204-
205-
# for new build system it doesn't matter since we no more fetch content stuff, temporary to fix current master CMake clones
206-
207-
option(NBL_OPENEXR_FORCE_SSH "" ON)
208-
209-
if(NBL_OPENEXR_FORCE_SSH)
210-
set(OPENEXR_DEFLATE_REPO "[email protected]:ebiggers/libdeflate.git" CACHE STRING "Repo path for libdeflate source" FORCE)
211-
set(OPENEXR_IMATH_REPO "[email protected]:AcademySoftwareFoundation/Imath.git" CACHE STRING "Repo for auto-build of Imath" FORCE)
212-
else()
213-
set(OPENEXR_DEFLATE_REPO "https://github.com/ebiggers/libdeflate.git" CACHE STRING "Repo path for libdeflate source" FORCE)
214-
set(OPENEXR_IMATH_REPO "https://github.com/AcademySoftwareFoundation/Imath.git" CACHE STRING "Repo for auto-build of Imath" FORCE)
199+
# Imath
200+
set(IMATH_INSTALL OFF)
201+
add_subdirectory(imath EXCLUDE_FROM_ALL)
202+
203+
if(_NBL_COMPILE_WITH_OPEN_EXR_)
204+
# Deflate
205+
set(LIBDEFLATE_BUILD_SHARED_LIB OFF)
206+
set(LIBDEFLATE_BUILD_STATIC_LIB ON)
207+
set(LIBDEFLATE_GZIP_SUPPORT OFF)
208+
set(LIBDEFLATE_BUILD_GZIP OFF)
209+
add_subdirectory(libdeflate EXCLUDE_FROM_ALL)
210+
set(libdeflate_DIR "${CMAKE_CURRENT_BINARY_DIR}/libdeflate")
211+
212+
# OpenEXR
213+
set(OPENEXR_FORCE_INTERNAL_DEFLATE ON) # trick it into thinking its internal
214+
set(EXR_DEFLATE_LIB libdeflate_static) # and pass deflate target directly from our build tree
215+
set(OPENEXR_FORCE_INTERNAL_IMATH ON) # similar case, force it to look into target from build tree
216+
set(_OLD_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
217+
set(_OLD_BUILD_STATIC_LIBS ${BUILD_STATIC_LIBS})
218+
set(_OLD_BUILD_TESTING ${BUILD_TESTING})
219+
set(BUILD_SHARED_LIBS OFF)
220+
set(BUILD_STATIC_LIBS OFF)
221+
set(BUILD_TESTING OFF)
222+
set(PYILMBASE_ENABLE OFF)
223+
set(OPENEXR_BUILD_UTILS OFF)
224+
set(OPENEXR_BUILD_TOOLS OFF)
225+
set(OPENEXR_INSTALL OFF)
226+
set(OPENEXR_INSTALL_DOCS OFF)
227+
set(OPENEXR_INSTALL_EXAMPLES OFF)
228+
set(OPENEXR_INSTALL_PKG_CONFIG OFF)
229+
set(OPENEXR_INSTALL_TOOLS OFF)
230+
add_subdirectory(openexr EXCLUDE_FROM_ALL)
231+
set(BUILD_SHARED_LIBS ${_OLD_BUILD_SHARED_LIBS})
232+
set(BUILD_STATIC_LIBS ${_OLD_BUILD_STATIC_LIBS})
233+
set(BUILD_TESTING ${_OLD_BUILD_TESTING})
215234
endif()
216235

217-
set(_OLD_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
218-
set(_OLD_BUILD_STATIC_LIBS ${BUILD_STATIC_LIBS})
219-
set(_OLD_BUILD_TESTING ${BUILD_TESTING})
220-
set(BUILD_SHARED_LIBS OFF)
221-
set(BUILD_STATIC_LIBS OFF)
222-
set(BUILD_TESTING OFF)
223-
set(PYILMBASE_ENABLE OFF CACHE STRING "" FORCE)
224-
set(OPENEXR_BUILD_UTILS OFF CACHE STRING "" FORCE)
225-
set(OPENEXR_FORCE_INTERNAL_IMATH ON CACHE STRING "" FORCE) # TODO: make it a submodule and force using it maybe instead of letting OpenEXR download it from it's github repository [FIXED in newBuildSystem branch]
226-
set(OPENEXR_FORCE_INTERNAL_DEFLATE ON CACHE STRING "" FORCE) # TODO: make it a submodule and force using it maybe instead of letting OpenEXR download it from it's github repository [FIXED in newBuildSystem branch]
227-
set(OPENEXR_BUILD_TOOLS OFF CACHE STRING "" FORCE)
228-
set(OPENEXR_INSTALL OFF CACHE STRING "" FORCE)
229-
set(OPENEXR_INSTALL_DOCS OFF CACHE STRING "" FORCE)
230-
set(OPENEXR_INSTALL_EXAMPLES OFF CACHE STRING "" FORCE)
231-
set(OPENEXR_INSTALL_PKG_CONFIG OFF CACHE STRING "" FORCE)
232-
set(OPENEXR_INSTALL_TOOLS OFF CACHE STRING "" FORCE)
233-
234-
add_subdirectory(openexr openexr EXCLUDE_FROM_ALL)
235-
set(BUILD_SHARED_LIBS ${_OLD_BUILD_SHARED_LIBS})
236-
set(BUILD_STATIC_LIBS ${_OLD_BUILD_STATIC_LIBS})
237-
set(BUILD_TESTING ${_OLD_BUILD_TESTING})
238236

239237
#gli
240238
option(_NBL_COMPILE_WITH_GLI_ "Build with GLI library" ON)
@@ -410,10 +408,6 @@ set(NBL_3RDPARTY_TARGETS
410408
SPIRV
411409
SPIRV-Tools-static # SPIRV-Tools-shared in case of SHARED lib
412410
SPIRV-Tools-opt
413-
OpenEXRUtil
414-
OpenEXRCore
415-
Iex
416-
IlmThread
417411
Imath
418412
freetype
419413
${NBL_MSDFGEN_TARGETS}
@@ -422,7 +416,7 @@ set(NBL_3RDPARTY_TARGETS
422416
)
423417
if (_NBL_COMPILE_WITH_OPEN_EXR_)
424418
list(APPEND NBL_3RDPARTY_TARGETS
425-
OpenEXR
419+
OpenEXR libdeflate_static OpenEXRUtil OpenEXRCore Iex IlmThread
426420
)
427421
endif()
428422

3rdparty/imath

Submodule imath added at 8c1d11f

3rdparty/libdeflate

Submodule libdeflate added at 495a006

3rdparty/openexr

Submodule openexr updated 432 files

include/nabla.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,6 @@
1717
#ifndef __NABLA_H_INCLUDED__
1818
#define __NABLA_H_INCLUDED__
1919

20-
// meta info
21-
#include "git_info.h"
22-
23-
namespace nbl {
24-
NBL_API2 const gtml::GitInfo& getGitInfo(gtml::E_GIT_REPO_META repo);
25-
}
26-
2720
// core lib
2821
#include "nbl/core/declarations.h"
2922

@@ -72,4 +65,12 @@ namespace nbl {
7265

7366
#include "SColor.h"
7467

68+
// meta info
69+
#include "git_info.h"
70+
71+
namespace nbl {
72+
const NBL_API2 gtml::GitInfo& getGitInfo(gtml::E_GIT_REPO_META repo);
73+
}
74+
75+
7576
#endif // __NABLA_H_INCLUDED__

include/nbl/asset/IAssetManager.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ class NBL_API2 IAssetManager : public core::IReferenceCounted
127127
m_compilerSet(std::move(compilerSet)),
128128
m_defaultLoaderOverride(this)
129129
{
130+
assert(IPreHashed::INVALID_HASH == static_cast<core::blake3_hash_t>(core::blake3_hasher{}));
130131
initializeMeshTools();
131132

132133
for (size_t i = 0u; i < m_assetCache.size(); ++i)

include/nbl/asset/ICPUBuffer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class ICPUBuffer : public asset::IBuffer, public IPreHashed
4545
{
4646
auto cp = core::make_smart_refctd_ptr<ICPUBuffer>(m_creationParams.size);
4747
memcpy(cp->getPointer(), data, m_creationParams.size);
48+
cp->setContentHash(getContentHash());
4849
return cp;
4950
}
5051

include/nbl/asset/ICPUImage.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class NBL_API2 ICPUImage final : public IImage, public IPreHashed
3838
else
3939
cp->buffer = buffer;
4040

41+
cp->setContentHash(getContentHash());
4142
return cp;
4243
}
4344

0 commit comments

Comments
 (0)