From 100986d8d91b736d543bf3f5e737864b5919db20 Mon Sep 17 00:00:00 2001 From: Philip Rideout Date: Fri, 29 Apr 2022 15:31:15 -0700 Subject: [PATCH] Fix WebGL debug build (assert with 3-channel images) --- libs/imageio/src/BasisEncoder.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libs/imageio/src/BasisEncoder.cpp b/libs/imageio/src/BasisEncoder.cpp index b32bbadb7d..0c24e710df 100644 --- a/libs/imageio/src/BasisEncoder.cpp +++ b/libs/imageio/src/BasisEncoder.cpp @@ -94,10 +94,18 @@ Builder& Builder::miplevel(size_t level, size_t layer, const LinearImage& floatI std::unique_ptr data = applyTransferFunction ? fromLinearTosRGB(sourceImage) : fromLinearToGrayscale(sourceImage); basisImage->init(data.get(), floatImage.getWidth(), floatImage.getHeight(), 1); - } else { + } else if (sourceImage.getChannels() == 4) { std::unique_ptr data = applyTransferFunction ? fromLinearTosRGB(sourceImage) : fromLinearToRGB(sourceImage); basisImage->init(data.get(), floatImage.getWidth(), floatImage.getHeight(), 4); + } else if (sourceImage.getChannels() == 3) { + std::unique_ptr data = applyTransferFunction ? + fromLinearTosRGB(sourceImage) : fromLinearToRGB(sourceImage); + basisImage->init(data.get(), floatImage.getWidth(), floatImage.getHeight(), 3); + } else { + assert_invariant(false); + mImpl->error = true; + return *this; } return *this;