Compare commits
2 Commits
ebridgewat
...
bjd/disabl
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f1035a92f | ||
|
|
0496e089c1 |
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user