Skip to content

Commit 21a198e

Browse files
committed
Revert filter fixes
This reverts commit 2e25575 and others :D # Conflicts: # include/nbl/asset/filters/CMatchedSizeInOutImageFilterCommon.h
1 parent 436fb5e commit 21a198e

File tree

3 files changed

+6
-10
lines changed

3 files changed

+6
-10
lines changed

include/nbl/asset/filters/CBasicImageFilterCommon.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ class NBL_API CBasicImageFilterCommon
278278
// compute new offset
279279
{
280280
const auto strides = referenceRegion->getByteStrides(blockInfo);
281-
const core::vector3du32_SIMD offsetInOffset = blockInfo.convertTexelsToBlocks(offset-resultOffset);
281+
const core::vector3du32_SIMD offsetInOffset = offset-resultOffset;
282282
newRegion.bufferOffset += referenceRegion->getLocalByteOffset(offsetInOffset,strides);
283283
}
284284

include/nbl/asset/filters/CCopyImageFilter.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ class NBL_API CCopyImageFilter : public CImageFilter<CCopyImageFilter>, public C
6565
const auto blockDims = asset::getBlockDimensions(commonExecuteData.inFormat);
6666
auto copy = [&commonExecuteData,&blockDims](uint32_t readBlockArrayOffset, core::vectorSIMDu32 readBlockPos) -> void
6767
{
68-
const auto localOutPos = readBlockPos+commonExecuteData.offsetDifference;
69-
const auto writeOffset = commonExecuteData.oit->getByteOffset(localOutPos,commonExecuteData.outByteStrides);
70-
memcpy(commonExecuteData.outData+writeOffset,commonExecuteData.inData+readBlockArrayOffset,commonExecuteData.outBlockByteSize);
68+
const auto localOutPos = readBlockPos + commonExecuteData.offsetDifference;
69+
const auto writeOffset = commonExecuteData.oit->getByteOffset(localOutPos, commonExecuteData.outByteStrides);
70+
memcpy(commonExecuteData.outData + writeOffset, commonExecuteData.inData + readBlockArrayOffset, commonExecuteData.outBlockByteSize);
7171
};
7272
CBasicImageFilterCommon::executePerRegion<ExecutionPolicy>(policy,commonExecuteData.inImg,copy,commonExecuteData.inRegions.begin(),commonExecuteData.inRegions.end(),clip);
7373

include/nbl/asset/filters/CMatchedSizeInOutImageFilterCommon.h

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -202,12 +202,8 @@ class NBL_API CMatchedSizeInOutImageFilterCommon : public CBasicImageFilterCommo
202202
CBasicImageFilterCommon::clip_region_functor_t clip(subresource,range,commonExecuteData.inFormat);
203203
// setup convert state
204204
const auto& outRegionOffset = commonExecuteData.oit->imageOffset;
205-
const auto& inOffset = (core::vectorSIMDu32(outRegionOffset.x, outRegionOffset.y, outRegionOffset.z, commonExecuteData.oit->imageSubresource.baseArrayLayer) + state->inOffsetBaseLayer);
206-
const auto& inOffsetInBlocks = srcImageTexelBlockInfo.convertTexelsToBlocks(inOffset);
207-
// offsetDifference types are uint but I know my two's complement wraparound well enough to make this work
208-
// TODO: this needs to be in block dimensions for copy filter but probably needs to be in texel dimensions for convert filter
209-
commonExecuteData.offsetDifference = dstImageTexelBlockInfo.convertTexelsToBlocks(state->outOffsetBaseLayer) - inOffsetInBlocks;
210-
commonExecuteData.outByteStrides = commonExecuteData.oit->getByteStrides(dstImageTexelBlockInfo);
205+
commonExecuteData.offsetDifference = state->outOffsetBaseLayer - (core::vectorSIMDu32(outRegionOffset.x, outRegionOffset.y, outRegionOffset.z, commonExecuteData.oit->imageSubresource.baseArrayLayer) + state->inOffsetBaseLayer);
206+
commonExecuteData.outByteStrides = commonExecuteData.oit->getByteStrides(TexelBlockInfo(commonExecuteData.outFormat));
211207
if (!perOutput(commonExecuteData,clip))
212208
return false;
213209
}

0 commit comments

Comments
 (0)