From c5e9708ce6e8073de65efe1af31b74e8a4dcbcee Mon Sep 17 00:00:00 2001 From: Jonas Karlsson Date: Fri, 29 Jan 2021 10:45:22 +0100 Subject: Support cubemap ktx files Change-Id: I6905c393647d31fab958cdd9471bb0a6ffe83596 Reviewed-by: Eirik Aavitsland Reviewed-by: Laszlo Agocs --- .../auto/gui/util/qtexturefilereader/CMakeLists.txt | 1 + .../util/qtexturefilereader/qtexturefilereader.qrc | 1 + .../texturefiles/cubemap_float32_rgba.ktx | Bin 0 -> 32848 bytes .../qtexturefilereader/tst_qtexturefilereader.cpp | 20 ++++++++++++++++++++ 4 files changed, 22 insertions(+) create mode 100644 tests/auto/gui/util/qtexturefilereader/texturefiles/cubemap_float32_rgba.ktx (limited to 'tests/auto') diff --git a/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt b/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt index 91083348f7..e1731a45d5 100644 --- a/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt +++ b/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt @@ -16,6 +16,7 @@ qt_internal_add_test(tst_qtexturefilereader set(qtexturefilereader_resource_files "texturefiles/car.ktx" "texturefiles/car_mips.ktx" + "texturefiles/cubemap_float32_rgba.ktx" "texturefiles/newlogo.astc" "texturefiles/newlogo_srgb.astc" "texturefiles/pattern.pkm" diff --git a/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc b/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc index 8aab86e1ff..a014c0367a 100644 --- a/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc +++ b/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc @@ -1,6 +1,7 @@ texturefiles/car.ktx + texturefiles/cubemap_float32_rgba.ktx texturefiles/pattern.pkm texturefiles/car_mips.ktx texturefiles/newlogo_srgb.astc diff --git a/tests/auto/gui/util/qtexturefilereader/texturefiles/cubemap_float32_rgba.ktx b/tests/auto/gui/util/qtexturefilereader/texturefiles/cubemap_float32_rgba.ktx new file mode 100644 index 0000000000..25b48b1370 Binary files /dev/null and b/tests/auto/gui/util/qtexturefilereader/texturefiles/cubemap_float32_rgba.ktx differ diff --git a/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp b/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp index 6ff3497a74..cd90914bd9 100644 --- a/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp +++ b/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp @@ -46,6 +46,7 @@ void tst_qtexturefilereader::checkHandlers_data() QTest::addColumn("glInternalFormat"); QTest::addColumn("glBaseInternalFormat"); QTest::addColumn("levels"); + QTest::addColumn("faces"); QTest::addColumn>("dataOffsets"); QTest::addColumn>("dataLengths"); @@ -56,6 +57,7 @@ void tst_qtexturefilereader::checkHandlers_data() << quint32(0x8d64) << quint32(0x0) << 1 + << 1 << (QList() << 16) << (QList() << 2048); @@ -66,6 +68,7 @@ void tst_qtexturefilereader::checkHandlers_data() << quint32(0x9278) << quint32(0x1908) << 1 + << 1 << (QList() << 68) << (QList() << 11840); @@ -76,9 +79,21 @@ void tst_qtexturefilereader::checkHandlers_data() << quint32(0x9274) << quint32(0x1907) << 8 + << 1 << (QList() << 68 << 5992 << 7516 << 7880 << 8004 << 8056 << 8068 << 8080) << (QList() << 5920 << 1520 << 360 << 120 << 48 << 8 << 8 << 8); + QTest::addRow("cubemap_float32_rgba.ktx") + << QStringLiteral(":/texturefiles/cubemap_float32_rgba.ktx") + << QSize(16, 16) + << quint32(0x1908) + << quint32(0x8814) + << quint32(0x1908) + << 5 + << 6 + << (QList() << 96 << 24676 << 30824 << 32364 << 32752) + << (QList() << 4096 << 1024 << 256 << 64 << 16); + QTest::addRow("newlogo.astc") << QStringLiteral(":/texturefiles/newlogo.astc") << QSize(111, 78) @@ -86,6 +101,7 @@ void tst_qtexturefilereader::checkHandlers_data() << quint32(0x93b9) << quint32(0x0) << 1 + << 1 << (QList() << 16) << (QList() << 2496); @@ -96,6 +112,7 @@ void tst_qtexturefilereader::checkHandlers_data() << quint32(0x93d9) << quint32(0x0) << 1 + << 1 << (QList() << 16) << (QList() << 2496); } @@ -107,6 +124,7 @@ void tst_qtexturefilereader::checkHandlers() QFETCH(quint32, glFormat); QFETCH(quint32, glInternalFormat); QFETCH(int, levels); + QFETCH(int, faces); QFETCH(QList, dataOffsets); QFETCH(QList, dataLengths); @@ -122,6 +140,8 @@ void tst_qtexturefilereader::checkHandlers() QCOMPARE(tex.glFormat(), glFormat); QCOMPARE(tex.glInternalFormat(), glInternalFormat); QCOMPARE(tex.numLevels(), levels); + QCOMPARE(tex.numFaces(), faces); + for (int i = 0; i < tex.numLevels(); i++) { QCOMPARE(tex.dataOffset(i), dataOffsets.at(i)); QCOMPARE(tex.dataLength(i), dataLengths.at(i)); -- cgit v1.2.3