@@ -77,7 +77,7 @@ class NBL_API CSwizzleAndConvertImageFilterBase : public CSwizzleableAndDitherab
77
77
base_t ::template onDecode<kInFormat ,encodeBufferType>(state, srcPix, decodeBuffer, encodeBuffer, blockX, blockY);
78
78
else
79
79
base_t ::template onDecode<encodeBufferType>(rInFormat, state, srcPix, decodeBuffer, encodeBuffer, blockX, blockY);
80
- state->normalization .prepass (encodeBuffer,readBlockPos+commonExecuteData.offsetDifference ,blockX,blockY,4u /* TODO: figure this out*/ );
80
+ state->normalization .prepass (encodeBuffer,readBlockPos*blockDims +commonExecuteData.offsetDifference ,blockX,blockY,4u /* TODO: figure this out*/ );
81
81
}
82
82
};
83
83
CBasicImageFilterCommon::executePerRegion (policy, commonExecuteData.inImg , normalizePrepass, commonExecuteData.inRegions .begin (), commonExecuteData.inRegions .end (), clip);
@@ -146,8 +146,8 @@ class NBL_API CSwizzleAndConvertImageFilter : public CImageFilter<CSwizzleAndCon
146
146
for (auto blockY=0u ; blockY<blockDims.y ; blockY++)
147
147
for (auto blockX=0u ; blockX<blockDims.x ; blockX++)
148
148
{
149
- auto localOutPos = readBlockPos+commonExecuteData.offsetDifference ;
150
- uint8_t * dstPix = commonExecuteData.outData +commonExecuteData.oit ->getByteOffset (localOutPos + core::vectorSIMDu32 (blockX, blockY),commonExecuteData.outBlockByteStrides );
149
+ auto localOutPos = readBlockPos*blockDims +commonExecuteData.offsetDifference ;
150
+ uint8_t * dstPix = commonExecuteData.outData +commonExecuteData.oit ->getByteOffset (localOutPos + core::vectorSIMDu32 (blockX, blockY),commonExecuteData.outByteStrides );
151
151
152
152
constexpr auto maxChannels = 4 ;
153
153
decodeBufferType decodeBuffer[maxChannels] = {};
@@ -212,8 +212,8 @@ class NBL_API CSwizzleAndConvertImageFilter<EF_UNKNOWN,EF_UNKNOWN,Swizzle,Dither
212
212
for (auto blockY=0u ; blockY<blockDims.y ; blockY++)
213
213
for (auto blockX=0u ; blockX<blockDims.x ; blockX++)
214
214
{
215
- auto localOutPos = readBlockPos+commonExecuteData.offsetDifference ;
216
- uint8_t * dstPix = commonExecuteData.outData +commonExecuteData.oit ->getByteOffset (localOutPos + core::vectorSIMDu32 (blockX, blockY),commonExecuteData.outBlockByteStrides );
215
+ auto localOutPos = readBlockPos*blockDims +commonExecuteData.offsetDifference ;
216
+ uint8_t * dstPix = commonExecuteData.outData +commonExecuteData.oit ->getByteOffset (localOutPos + core::vectorSIMDu32 (blockX, blockY),commonExecuteData.outByteStrides );
217
217
218
218
constexpr auto maxChannels = 4 ;
219
219
double decodeBuffer[maxChannels] = {};
@@ -287,8 +287,8 @@ class NBL_API CSwizzleAndConvertImageFilter<EF_UNKNOWN,outFormat,Swizzle,Dither,
287
287
for (auto blockY = 0u ; blockY < blockDims.y ; blockY++)
288
288
for (auto blockX = 0u ; blockX < blockDims.x ; blockX++)
289
289
{
290
- auto localOutPos = readBlockPos + commonExecuteData.offsetDifference ;
291
- uint8_t * dstPix = commonExecuteData.outData + commonExecuteData.oit ->getByteOffset (localOutPos + core::vectorSIMDu32 (blockX, blockY), commonExecuteData.outBlockByteStrides );
290
+ auto localOutPos = readBlockPos * blockDims + commonExecuteData.offsetDifference ;
291
+ uint8_t * dstPix = commonExecuteData.outData + commonExecuteData.oit ->getByteOffset (localOutPos + core::vectorSIMDu32 (blockX, blockY), commonExecuteData.outByteStrides );
292
292
293
293
constexpr auto maxChannels = 4 ;
294
294
double decodeBuffer[maxChannels] = {};
@@ -363,8 +363,8 @@ class NBL_API CSwizzleAndConvertImageFilter<inFormat,EF_UNKNOWN,Swizzle,Dither,N
363
363
for (auto blockY = 0u ; blockY < blockDims.y ; blockY++)
364
364
for (auto blockX = 0u ; blockX < blockDims.x ; blockX++)
365
365
{
366
- auto localOutPos = readBlockPos + commonExecuteData.offsetDifference ;
367
- uint8_t * dstPix = commonExecuteData.outData + commonExecuteData.oit ->getByteOffset (localOutPos + core::vectorSIMDu32 (blockX, blockY), commonExecuteData.outBlockByteStrides );
366
+ auto localOutPos = readBlockPos * blockDims + commonExecuteData.offsetDifference ;
367
+ uint8_t * dstPix = commonExecuteData.outData + commonExecuteData.oit ->getByteOffset (localOutPos + core::vectorSIMDu32 (blockX, blockY), commonExecuteData.outByteStrides );
368
368
369
369
constexpr auto maxChannels = 4 ;
370
370
decodeBufferType decodeBuffer[maxChannels] = {};
0 commit comments