Skip to content

Commit 9519a6d

Browse files
authored
Update DirectXTexSwizzle.cpp
Code review
1 parent d3d7508 commit 9519a6d

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

DirectXTex/DirectXTexSwizzle.cpp

+17-10
Original file line numberDiff line numberDiff line change
@@ -229,24 +229,31 @@ HRESULT DirectX::StandardSwizzle(
229229
return E_FAIL;
230230
}
231231

232+
const auto dstImage = result.GetImage(0, 0, 0);
233+
if (!dstImage)
234+
{
235+
result.Release();
236+
return E_POINTER;
237+
}
238+
232239
if (toSwizzle)
233240
{
234241
switch(bytesPerPixel)
235242
{
236243
case 1:
237-
hr = LinearToStandardSwizzle2D<STANDARD_SWIZZLE_MASK_8, 1>(srcImage, *result.GetImage(0, 0, 0), false);
244+
hr = LinearToStandardSwizzle2D<STANDARD_SWIZZLE_MASK_8, 1>(srcImage, *dstImage, false);
238245
break;
239246
case 2:
240-
hr = LinearToStandardSwizzle2D<STANDARD_SWIZZLE_MASK_16, 2>(srcImage, *result.GetImage(0, 0, 0), false);
247+
hr = LinearToStandardSwizzle2D<STANDARD_SWIZZLE_MASK_16, 2>(srcImage, *dstImage, false);
241248
break;
242249
case 8:
243-
hr = LinearToStandardSwizzle2D<STANDARD_SWIZZLE_MASK_64, 8>(srcImage, *result.GetImage(0, 0, 0), isCompressed);
250+
hr = LinearToStandardSwizzle2D<STANDARD_SWIZZLE_MASK_64, 8>(srcImage, *dstImage, isCompressed);
244251
break;
245252
case 16:
246-
hr = LinearToStandardSwizzle2D<STANDARD_SWIZZLE_MASK_128, 16>(srcImage, *result.GetImage(0, 0, 0), isCompressed);
253+
hr = LinearToStandardSwizzle2D<STANDARD_SWIZZLE_MASK_128, 16>(srcImage, *dstImage, isCompressed);
247254
break;
248255
default:
249-
hr = LinearToStandardSwizzle2D<STANDARD_SWIZZLE_MASK_32, 4>(srcImage, *result.GetImage(0, 0, 0), false);
256+
hr = LinearToStandardSwizzle2D<STANDARD_SWIZZLE_MASK_32, 4>(srcImage, *dstImage, false);
250257
break;
251258
}
252259
}
@@ -255,19 +262,19 @@ HRESULT DirectX::StandardSwizzle(
255262
switch(bytesPerPixel)
256263
{
257264
case 1:
258-
hr = StandardSwizzleToLinear2D<STANDARD_SWIZZLE_MASK_8, 1>(srcImage, *result.GetImage(0, 0, 0), false);
265+
hr = StandardSwizzleToLinear2D<STANDARD_SWIZZLE_MASK_8, 1>(srcImage, *dstImage, false);
259266
break;
260267
case 2:
261-
hr = StandardSwizzleToLinear2D<STANDARD_SWIZZLE_MASK_16, 2>(srcImage, *result.GetImage(0, 0, 0), false);
268+
hr = StandardSwizzleToLinear2D<STANDARD_SWIZZLE_MASK_16, 2>(srcImage, *dstImage, false);
262269
break;
263270
case 8:
264-
hr = StandardSwizzleToLinear2D<STANDARD_SWIZZLE_MASK_64, 8>(srcImage, *result.GetImage(0, 0, 0), isCompressed);
271+
hr = StandardSwizzleToLinear2D<STANDARD_SWIZZLE_MASK_64, 8>(srcImage, *dstImage, isCompressed);
265272
break;
266273
case 16:
267-
hr = StandardSwizzleToLinear2D<STANDARD_SWIZZLE_MASK_128, 16>(srcImage, *result.GetImage(0, 0, 0), isCompressed);
274+
hr = StandardSwizzleToLinear2D<STANDARD_SWIZZLE_MASK_128, 16>(srcImage, *dstImage, isCompressed);
268275
break;
269276
default:
270-
hr = StandardSwizzleToLinear2D<STANDARD_SWIZZLE_MASK_32, 4>(srcImage, *result.GetImage(0, 0, 0), false);
277+
hr = StandardSwizzleToLinear2D<STANDARD_SWIZZLE_MASK_32, 4>(srcImage, *dstImage, false);
271278
break;
272279
}
273280
}

0 commit comments

Comments
 (0)