Skip to content

Commit 0d88e39

Browse files
committed
handle image creation
1 parent 62eaff7 commit 0d88e39

File tree

5 files changed

+34
-0
lines changed

5 files changed

+34
-0
lines changed

include/nbl/asset/interchange/IImageAssetHandlerBase.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ class IImageAssetHandlerBase : public virtual core::IReferenceCounted
111111
}
112112

113113
auto texelBuffer = core::make_smart_refctd_ptr<ICPUBuffer>(bufferSize);
114+
115+
texelBuffer->setContentHash({});
116+
newImage->setContentHash({});
114117

115118
newImage->setBufferAndRegions(std::move(texelBuffer), newRegions);
116119
}

src/nbl/asset/IAssetManager.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,12 @@ void IAssetManager::insertBuiltinAssets()
364364
region.imageOffset = {0u, 0u, 0u};
365365
region.imageExtent = {2u, 2u, 1u};
366366
dummy2dImage->setBufferAndRegions(std::move(buf), regions);
367+
368+
{
369+
auto* buffer = dummy2dImage->getBuffer();
370+
buffer->setContentHash(buffer->computeContentHash());
371+
dummy2dImage->setContentHash(dummy2dImage->computeContentHash());
372+
}
367373
}
368374

369375
//image views

src/nbl/asset/interchange/CGraphicsPipelineLoaderMTL.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,13 @@ CGraphicsPipelineLoaderMTL::image_views_set_t CGraphicsPipelineLoaderMTL::loadIm
652652
auto cubemap = ICPUImage::create(std::move(cubemapParams));
653653
auto regions = core::make_refctd_dynamic_array<core::smart_refctd_dynamic_array<ICPUImage::SBufferCopy>>(regions_);
654654
cubemap->setBufferAndRegions(std::move(imgDataBuf), regions);
655+
656+
{
657+
auto* buffer = cubemap->getBuffer();
658+
buffer->setContentHash(buffer->computeContentHash());
659+
cubemap->setContentHash(cubemap->computeContentHash());
660+
}
661+
655662
//new image goes to EMP_REFL_POSX index and other ones get nulled-out
656663
images[CMTLMetadata::CRenderpassIndependentPipeline::EMP_REFL_POSX] = std::move(cubemap);
657664
std::fill_n(images.begin()+CMTLMetadata::CRenderpassIndependentPipeline::EMP_REFL_POSX+1u,5u,nullptr);

src/nbl/asset/utils/CDerivativeMapCreator.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,12 @@ core::smart_refctd_ptr<ICPUImage> CDerivativeMapCreator::createDerivativeMapFrom
122122
out_normalizationFactor[1] = state.normalization.maxAbsPerChannel[1];
123123
}
124124

125+
{
126+
auto* buffer = outImg->getBuffer();
127+
buffer->setContentHash(buffer->computeContentHash());
128+
outImg->setContentHash(outImg->computeContentHash());
129+
}
130+
125131
_NBL_ALIGNED_FREE(state.scratchMemory);
126132

127133
return outImg;
@@ -225,6 +231,12 @@ core::smart_refctd_ptr<ICPUImage> CDerivativeMapCreator::createDerivativeMapFrom
225231
return nullptr;
226232
}
227233

234+
{
235+
auto* buffer = newDerivativeNormalMapImage->getBuffer();
236+
buffer->setContentHash(buffer->computeContentHash());
237+
newDerivativeNormalMapImage->setContentHash(newDerivativeNormalMapImage->computeContentHash());
238+
}
239+
228240
return newDerivativeNormalMapImage;
229241
}
230242

src/nbl/ext/MitsubaLoader/CMitsubaLoader.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,12 @@ static core::smart_refctd_ptr<asset::ICPUImage> createSingleChannelImage(const a
358358
_NBL_DEBUG_BREAK_IF(true);
359359
}
360360

361+
{
362+
auto* buffer = outImage->getBuffer();
363+
buffer->setContentHash({});
364+
outImage->setContentHash({});
365+
}
366+
361367
return outImg;
362368
}
363369

0 commit comments

Comments
 (0)