Compare commits

...

2 Commits

Author SHA1 Message Date
Benjamin Doherty
6f1035a92f Disable gltfio mipmapping 2025-06-10 14:00:53 -07:00
Ben Doherty
0496e089c1 Remove old screenshot output for readPixels backend test (#8840) 2025-06-10 13:30:00 -07:00
4 changed files with 7 additions and 34 deletions

View File

@@ -139,30 +139,6 @@ TEST_F(ReadPixelsTest, ReadPixels) {
return bufferDimension;
}
void exportScreenshot(void* pixelData) const {
#ifndef FILAMENT_IOS
const size_t width = readRect.width, height = readRect.height;
LinearImage image(width, height, 4);
if (format == PixelDataFormat::RGBA && type == PixelDataType::UBYTE) {
image = toLinearWithAlpha<uint8_t>(width, height, width * 4, (uint8_t*)pixelData);
}
if (format == PixelDataFormat::RGBA && type == PixelDataType::FLOAT) {
memcpy(image.getPixelRef(), pixelData, width * height * sizeof(math::float4));
}
std::string png = std::string(testName) + ".png";
std::ofstream outputStream(png.c_str(), std::ios::binary | std::ios::trunc);
ImageEncoder::encode(outputStream, ImageEncoder::Format::PNG, image, "",
png.c_str());
#endif
}
void exportRawBytes(void* pixelData) const {
std::string out = std::string(testName) + ".raw";
std::ofstream outputStream(out.c_str(), std::ios::binary | std::ios::trunc);
outputStream.write((char*)pixelData, getBufferSizeBytes());
outputStream.close();
}
// The format and type for the readPixels call.
PixelDataFormat format = PixelDataFormat::RGBA;
PixelDataType type = PixelDataType::UBYTE;
@@ -335,9 +311,6 @@ TEST_F(ReadPixelsTest, ReadPixels) {
const auto* test = (const TestCase*)user;
assert_invariant(test);
test->exportScreenshot(buffer);
//test->exportRawBytes(buffer);
// Hash the contents of the buffer and check that they match.
uint32_t hash = utils::hash::murmur3((const uint32_t*)buffer, size / 4, 0);

View File

@@ -99,7 +99,7 @@ Texture* StbProvider::pushTexture(const uint8_t* data, size_t byteCount,
Texture* texture = Texture::Builder()
.width(width)
.height(height)
.levels(0xff)
.levels(1)
.format(any(flags & TextureFlags::sRGB) ? InternalFormat::SRGB8_A8 : InternalFormat::RGBA8)
.build(*mEngine);
@@ -190,7 +190,7 @@ void StbProvider::updateQueue() {
// Call generateMipmaps unconditionally to fulfill the promise of the TextureProvider
// interface. Providers of hierarchical images (e.g. KTX) call this only if needed.
texture->generateMipmaps(*mEngine);
// texture->generateMipmaps(*mEngine);
info->state = TextureState::READY;
++mDecodedCount;

View File

@@ -27,7 +27,7 @@ Texture* createTexture(Engine* engine, const Ktx1Bundle& ktx, bool srgb,
Callback callback, void* userdata) {
using Sampler = Texture::Sampler;
const auto& ktxinfo = ktx.getInfo();
const uint32_t nmips = ktx.getNumMipLevels();
const uint32_t nmips = /* ktx.getNumMipLevels() */ 1;
const auto cdatatype = toCompressedPixelDataType(ktxinfo);
const auto datatype = toPixelDataType(ktxinfo);
const auto dataformat = toPixelDataFormat(ktxinfo);

View File

@@ -247,7 +247,7 @@ Texture* Ktx2Reader::load(const void* data, size_t size, TransferFunction transf
ktx2_transcoder_state basisThreadState;
basisThreadState.clear();
for (uint32_t levelIndex = 0, n = mTranscoder->get_levels(); levelIndex < n; levelIndex++) {
for (uint32_t levelIndex = 0, n = 1 /*mTranscoder->get_levels()*/; levelIndex < n; levelIndex++) {
Texture::PixelBufferDescriptor* pbd;
Result result = transcodeImageLevel(*mTranscoder, basisThreadState, texture->getFormat(),
levelIndex, &pbd);
@@ -275,7 +275,7 @@ FAsync::~FAsync() {
Result FAsync::doTranscoding() {
ktx2_transcoder_state basisThreadState;
basisThreadState.clear();
for (uint32_t levelIndex = 0, n = mTranscoder->get_levels(); levelIndex < n; levelIndex++) {
for (uint32_t levelIndex = 0, n = 1 /*mTranscoder->get_levels()*/; levelIndex < n; levelIndex++) {
Texture::PixelBufferDescriptor* pbd;
Result result = transcodeImageLevel(*mTranscoder, basisThreadState, mTexture->getFormat(),
levelIndex, &pbd);
@@ -385,7 +385,7 @@ Texture* Ktx2Reader::createTexture(ktx2_transcoder* transcoder, const void* data
}
const uint32_t layerIndex = 0;
const uint32_t faceIndex = 0;
for (uint32_t levelIndex = 0; levelIndex < transcoder->get_levels(); levelIndex++) {
for (uint32_t levelIndex = 0; levelIndex < 1 /*transcoder->get_levels()*/; levelIndex++) {
basist::ktx2_image_level_info info;
if (!transcoder->get_image_level_info(info, levelIndex, layerIndex, faceIndex)) {
continue;
@@ -406,7 +406,7 @@ Texture* Ktx2Reader::createTexture(ktx2_transcoder* transcoder, const void* data
Texture* texture = Texture::Builder()
.width(transcoder->get_width())
.height(transcoder->get_height())
.levels(transcoder->get_levels())
.levels(1)
.sampler(Texture::Sampler::SAMPLER_2D)
.format(resolvedFormat)
.build(mEngine);