diff --git a/gapic/src/main/com/google/gapid/image/ArrayImage.java b/gapic/src/main/com/google/gapid/image/ArrayImage.java index 553feb8298..152f341b9f 100644 --- a/gapic/src/main/com/google/gapid/image/ArrayImage.java +++ b/gapic/src/main/com/google/gapid/image/ArrayImage.java @@ -435,21 +435,29 @@ public static PixelInfo compute(FloatBuffer buffer, boolean isRGBA) { if (isRGBA) { for (int i = 0, end = buffer.remaining() - 3; i <= end; ) { float value = buffer.get(i++); - min = Math.min(min, value); - max = Math.max(max, value); + if (!Float.isNaN(value) && !Float.isInfinite(value)) { + min = Math.min(min, value); + max = Math.max(max, value); + } value = buffer.get(i++); - min = Math.min(min, value); - max = Math.max(max, value); + if (!Float.isNaN(value) && !Float.isInfinite(value)) { + min = Math.min(min, value); + max = Math.max(max, value); + } value = buffer.get(i++); - min = Math.min(min, value); - max = Math.max(max, value); + if (!Float.isNaN(value) && !Float.isInfinite(value)) { + min = Math.min(min, value); + max = Math.max(max, value); + } i++; // skip alpha } } else { for (int i = 0; i < buffer.remaining(); i++) { float value = buffer.get(i); - min = Math.min(min, value); - max = Math.max(max, value); + if (!Float.isNaN(value) && !Float.isInfinite(value)) { + min = Math.min(min, value); + max = Math.max(max, value); + } } } return new FloatPixelInfo(min, max);