From 5f8162c438f818863a55896233f78bafc3639361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 5 Jul 2025 15:01:20 +0200 Subject: [PATCH] GL: no need to set CompressedPixelStorage block properties anymore. The properties are now always taken from the format itself. This also reverts commit a96fc85736f08de25c1a044d153f92038569e32f, as it's now again possible to pass an empty image with non-default storage properties to image query APIs. --- .../GL/Test/CubeMapTextureArrayGLTest.cpp | 16 +++------- src/Magnum/GL/Test/CubeMapTextureGLTest.cpp | 23 ++++--------- src/Magnum/GL/Test/PixelStorageGLTest.cpp | 10 ++---- src/Magnum/GL/Test/TextureArrayGLTest.cpp | 14 +++----- src/Magnum/GL/Test/TextureGLTest.cpp | 32 +++++++------------ 5 files changed, 29 insertions(+), 66 deletions(-) diff --git a/src/Magnum/GL/Test/CubeMapTextureArrayGLTest.cpp b/src/Magnum/GL/Test/CubeMapTextureArrayGLTest.cpp index b4689c4fd..13d81db78 100644 --- a/src/Magnum/GL/Test/CubeMapTextureArrayGLTest.cpp +++ b/src/Magnum/GL/Test/CubeMapTextureArrayGLTest.cpp @@ -192,8 +192,6 @@ const struct { {"skip Z", Containers::arrayView(CompressedData).exceptPrefix(16*4), CompressedPixelStorage{} - .setCompressedBlockSize({4, 4, 1}) - .setCompressedBlockDataSize(16) .setSkip({0, 0, 4}), Containers::arrayView(CompressedData), 16*4} #endif @@ -261,8 +259,6 @@ const struct { {"skip Z", Containers::arrayView(CompressedSubData).exceptPrefix(16*4), CompressedPixelStorage{} - .setCompressedBlockSize({4, 4, 1}) - .setCompressedBlockDataSize(16) .setSkip({0, 0, 4}), Containers::arrayView(CompressedSubData), 16*4} #endif @@ -842,8 +838,7 @@ void CubeMapTextureArrayGLTest::compressedImage() { MAGNUM_VERIFY_NO_GL_ERROR(); #ifndef MAGNUM_TARGET_GLES - CompressedImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr}; - texture.compressedImage(0, image); + CompressedImage3D image = texture.compressedImage(0, {data.storage}); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -890,8 +885,7 @@ void CubeMapTextureArrayGLTest::compressedImageBuffer() { /** @todo How to test this on ES? */ #ifndef MAGNUM_TARGET_GLES - CompressedBufferImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr, BufferUsage::StaticRead}; - texture.compressedImage(0, image, BufferUsage::StaticRead); + CompressedBufferImage3D image = texture.compressedImage(0, {data.storage}, BufferUsage::StaticRead); const auto imageData = image.buffer().data(); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -1312,8 +1306,7 @@ void CubeMapTextureArrayGLTest::compressedSubImageQuery() { MAGNUM_VERIFY_NO_GL_ERROR(); - CompressedImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr}; - texture.compressedSubImage(0, Range3Di::fromSize({4, 4, 1}, Vector3i{4}), image); + CompressedImage3D image = texture.compressedSubImage(0, Range3Di::fromSize({4, 4, 1}, Vector3i{4}), {data.storage}); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -1376,8 +1369,7 @@ void CubeMapTextureArrayGLTest::compressedSubImageQueryBuffer() { MAGNUM_VERIFY_NO_GL_ERROR(); - CompressedBufferImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr, BufferUsage::StaticRead}; - texture.compressedSubImage(0, Range3Di::fromSize({4, 4, 1}, Vector3i{4}), image, BufferUsage::StaticRead); + CompressedBufferImage3D image = texture.compressedSubImage(0, Range3Di::fromSize({4, 4, 1}, Vector3i{4}), {data.storage}, BufferUsage::StaticRead); const auto imageData = image.buffer().data(); MAGNUM_VERIFY_NO_GL_ERROR(); diff --git a/src/Magnum/GL/Test/CubeMapTextureGLTest.cpp b/src/Magnum/GL/Test/CubeMapTextureGLTest.cpp index babbf4a70..ef8f84e9c 100644 --- a/src/Magnum/GL/Test/CubeMapTextureGLTest.cpp +++ b/src/Magnum/GL/Test/CubeMapTextureGLTest.cpp @@ -227,8 +227,6 @@ const struct { {"skip Y", Containers::arrayView(CompressedData).exceptPrefix(16), CompressedPixelStorage{} - .setCompressedBlockSize({4, 4, 1}) - .setCompressedBlockDataSize(16) .setSkip({0, 4, 0}), Containers::arrayView(CompressedData), 16} #endif @@ -312,8 +310,6 @@ const struct { {"skip Z", Containers::arrayView(CompressedFullData).exceptPrefix(16*4), CompressedPixelStorage{} - .setCompressedBlockSize({4, 4, 1}) - .setCompressedBlockDataSize(16) .setSkip({0, 0, 4}), 16*4} #endif }; @@ -1311,8 +1307,7 @@ void CubeMapTextureGLTest::compressedImage() { MAGNUM_VERIFY_NO_GL_ERROR(); #ifndef MAGNUM_TARGET_GLES - CompressedImage2D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr}; - texture.compressedImage(CubeMapCoordinate::PositiveX, 0, image); + CompressedImage2D image = texture.compressedImage(CubeMapCoordinate::PositiveX, 0, {data.storage}); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -1362,8 +1357,8 @@ void CubeMapTextureGLTest::compressedImageBuffer() { MAGNUM_VERIFY_NO_GL_ERROR(); #ifndef MAGNUM_TARGET_GLES - CompressedBufferImage2D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr, BufferUsage::StaticRead}; - texture.compressedImage(CubeMapCoordinate::PositiveX, 0, image, BufferUsage::StaticRead); + CompressedBufferImage2D image = texture.compressedImage(CubeMapCoordinate::PositiveX, 0, + {data.storage}, BufferUsage::StaticRead); const auto imageData = image.buffer().data(); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -1634,8 +1629,7 @@ void CubeMapTextureGLTest::compressedSubImageQuery() { MAGNUM_VERIFY_NO_GL_ERROR(); - CompressedImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr}; - texture.compressedSubImage(0, Range3Di::fromSize({4, 4, 0}, {4, 4, 1}), image); + CompressedImage3D image = texture.compressedSubImage(0, Range3Di::fromSize({4, 4, 0}, {4, 4, 1}), {data.storage}); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -1752,8 +1746,7 @@ void CubeMapTextureGLTest::compressedSubImageQueryBuffer() { MAGNUM_VERIFY_NO_GL_ERROR(); - CompressedBufferImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr, BufferUsage::StaticRead}; - texture.compressedSubImage(0, Range3Di::fromSize({4, 4, 0}, {4, 4, 1}), image, BufferUsage::StaticRead); + CompressedBufferImage3D image = texture.compressedSubImage(0, Range3Di::fromSize({4, 4, 0}, {4, 4, 1}), {data.storage}, BufferUsage::StaticRead); const auto imageData = image.buffer().data(); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -1929,8 +1922,7 @@ void CubeMapTextureGLTest::compressedImage3D() { if(fails) CORRADE_SKIP("Skipping the rest of the test"); } - CompressedImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr}; - texture.compressedImage(0, image); + CompressedImage3D image = texture.compressedImage(0, {data.storage}); { #ifdef CORRADE_TARGET_WINDOWS @@ -1983,8 +1975,7 @@ void CubeMapTextureGLTest::compressedImage3DBuffer() { if(fails) CORRADE_SKIP("Skipping the rest of the test"); } - CompressedBufferImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr, BufferUsage::StaticRead}; - texture.compressedImage(0, image, BufferUsage::StaticRead); + CompressedBufferImage3D image = texture.compressedImage(0, {data.storage}, BufferUsage::StaticRead); { #ifdef CORRADE_TARGET_WINDOWS diff --git a/src/Magnum/GL/Test/PixelStorageGLTest.cpp b/src/Magnum/GL/Test/PixelStorageGLTest.cpp index 571bbbc9f..3434bb4f7 100644 --- a/src/Magnum/GL/Test/PixelStorageGLTest.cpp +++ b/src/Magnum/GL/Test/PixelStorageGLTest.cpp @@ -610,8 +610,7 @@ void PixelStorageGLTest::compressedUnpack2D() { CORRADE_SKIP(Extensions::ARB::compressed_texture_pixel_storage::string() << "is not supported."); CompressedPixelStorage storage; - storage.setCompressedBlockSize({4, 4, 1}) - .setCompressedBlockDataSize(16) + storage .setRowLength(20) .setSkip({8, 4, 0}); @@ -646,8 +645,6 @@ void PixelStorageGLTest::compressedPack2D() { /* Pre-allocate and zero out the data array so we can conveniently compare */ CompressedImage2D image{CompressedPixelStorage{} - .setCompressedBlockSize({4, 4, 1}) - .setCompressedBlockDataSize(16) .setRowLength(20) .setSkip({8, 4, 0}), CompressedPixelFormat::RGBAS3tcDxt3, {}, Containers::Array{ValueInit, sizeof(CompressedData2D)}}; @@ -838,8 +835,7 @@ void PixelStorageGLTest::compressedUnpack3D() { CORRADE_SKIP(Extensions::ARB::compressed_texture_pixel_storage::string() << "is not supported."); CompressedPixelStorage storage; - storage.setCompressedBlockSize({4, 4, 1}) - .setCompressedBlockDataSize(16) + storage .setRowLength(20) .setImageHeight(24) .setSkip({8, 4, 2}); @@ -875,8 +871,6 @@ void PixelStorageGLTest::compressedPack3D() { /* Pre-allocate and zero out the data array so we can conveniently compare */ CompressedImage3D image{CompressedPixelStorage{} - .setCompressedBlockSize({4, 4, 1}) - .setCompressedBlockDataSize(16) .setRowLength(20) .setImageHeight(24) .setSkip({8, 4, 2}), diff --git a/src/Magnum/GL/Test/TextureArrayGLTest.cpp b/src/Magnum/GL/Test/TextureArrayGLTest.cpp index 7b56f0494..196ad7911 100644 --- a/src/Magnum/GL/Test/TextureArrayGLTest.cpp +++ b/src/Magnum/GL/Test/TextureArrayGLTest.cpp @@ -286,8 +286,6 @@ const struct { {"skip Z", Containers::arrayView(CompressedData2D).exceptPrefix(16), CompressedPixelStorage{} - .setCompressedBlockSize({4, 4, 1}) - .setCompressedBlockDataSize(16) .setSkip({0, 0, 1}), Containers::arrayView(CompressedData2D), 16} #endif @@ -1703,8 +1701,7 @@ void TextureArrayGLTest::compressedImage2D() { MAGNUM_VERIFY_NO_GL_ERROR(); #ifndef MAGNUM_TARGET_GLES - CompressedImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr}; - texture.compressedImage(0, image); + CompressedImage3D image = texture.compressedImage(0, {data.storage}); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -1750,8 +1747,7 @@ void TextureArrayGLTest::compressedImage2DBuffer() { MAGNUM_VERIFY_NO_GL_ERROR(); #ifndef MAGNUM_TARGET_GLES - CompressedBufferImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr, BufferUsage::StaticRead}; - texture.compressedImage(0, image, BufferUsage::StaticRead); + CompressedBufferImage3D image = texture.compressedImage(0, {data.storage}, BufferUsage::StaticRead); const auto imageData = image.buffer().data(); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -1948,8 +1944,7 @@ void TextureArrayGLTest::compressedSubImage2DQuery() { MAGNUM_VERIFY_NO_GL_ERROR(); - CompressedImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr}; - texture.compressedSubImage(0, Range3Di::fromSize({4, 0, 1}, {4, 4, 2}), image); + CompressedImage3D image = texture.compressedSubImage(0, Range3Di::fromSize({4, 0, 1}, {4, 4, 2}), {data.storage}); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -2014,8 +2009,7 @@ void TextureArrayGLTest::compressedSubImage2DQueryBuffer() { MAGNUM_VERIFY_NO_GL_ERROR(); - CompressedBufferImage3D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr, BufferUsage::StaticRead}; - texture.compressedSubImage(0, Range3Di::fromSize({4, 0, 1}, {4, 4, 2}), image, BufferUsage::StaticRead); + CompressedBufferImage3D image = texture.compressedSubImage(0, Range3Di::fromSize({4, 0, 1}, {4, 4, 2}), {data.storage}, BufferUsage::StaticRead); const auto imageData = image.buffer().data(); MAGNUM_VERIFY_NO_GL_ERROR(); diff --git a/src/Magnum/GL/Test/TextureGLTest.cpp b/src/Magnum/GL/Test/TextureGLTest.cpp index f091e85a1..2fb6814cd 100644 --- a/src/Magnum/GL/Test/TextureGLTest.cpp +++ b/src/Magnum/GL/Test/TextureGLTest.cpp @@ -378,8 +378,6 @@ const struct { {"skip Y", Containers::arrayView(CompressedData2D).exceptPrefix(16), CompressedPixelStorage{} - .setCompressedBlockSize({4, 4, 1}) - .setCompressedBlockDataSize(16) .setSkip({0, 4, 0}), Containers::arrayView(CompressedData2D), 16} #endif @@ -449,8 +447,6 @@ const struct { {"skip Z", Containers::arrayView(CompressedData3D).exceptPrefix(16*4), CompressedPixelStorage{} - .setCompressedBlockSize({4, 4, 1}) - .setCompressedBlockDataSize(16) .setSkip({0, 0, 4}), Containers::arrayView(CompressedData3D), 16*4} #endif @@ -2181,8 +2177,7 @@ void TextureGLTest::compressedImage2D() { MAGNUM_VERIFY_NO_GL_ERROR(); #ifndef MAGNUM_TARGET_GLES - CompressedImage2D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr}; - texture.compressedImage(0, image); + CompressedImage2D image = texture.compressedImage(0, {data.storage}); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -2226,8 +2221,7 @@ void TextureGLTest::compressedImage2DBuffer() { MAGNUM_VERIFY_NO_GL_ERROR(); #ifndef MAGNUM_TARGET_GLES - CompressedBufferImage2D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr, BufferUsage::StaticRead}; - texture.compressedImage(0, image, BufferUsage::StaticRead); + CompressedBufferImage2D image = texture.compressedImage(0, {data.storage}, BufferUsage::StaticRead); const auto imageData = image.buffer().data(); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -2396,8 +2390,8 @@ void TextureGLTest::compressedSubImage2DQuery() { MAGNUM_VERIFY_NO_GL_ERROR(); - CompressedImage2D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr}; - texture.compressedSubImage(0, Range2Di::fromSize({4, 0}, Vector2i{4}), image); + CompressedImage2D image = texture.compressedSubImage(0, Range2Di::fromSize({4, 0}, Vector2i{4}), + {data.storage}); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -2456,8 +2450,8 @@ void TextureGLTest::compressedSubImage2DQueryBuffer() { MAGNUM_VERIFY_NO_GL_ERROR(); - CompressedBufferImage2D image{data.storage, CompressedPixelFormat::RGBAS3tcDxt3, {}, nullptr, BufferUsage::StaticRead}; - texture.compressedSubImage(0, Range2Di::fromSize({4, 0}, Vector2i{4}), image, BufferUsage::StaticRead); + CompressedBufferImage2D image = texture.compressedSubImage(0, Range2Di::fromSize({4, 0}, Vector2i{4}), + {data.storage}, BufferUsage::StaticRead); const auto imageData = image.buffer().data(); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -2766,8 +2760,7 @@ void TextureGLTest::compressedImage3D() { /** @todo How to test this on ES? */ #ifndef MAGNUM_TARGET_GLES - CompressedImage3D image{data.storage, CompressedPixelFormat::RGBABptcUnorm, {}, nullptr}; - texture.compressedImage(0, image); + CompressedImage3D image = texture.compressedImage(0, {data.storage}); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -2808,8 +2801,7 @@ void TextureGLTest::compressedImage3DBuffer() { /** @todo How to test this on ES? */ #ifndef MAGNUM_TARGET_GLES - CompressedBufferImage3D image{data.storage, CompressedPixelFormat::RGBABptcUnorm, {}, nullptr, BufferUsage::StaticRead}; - texture.compressedImage(0, image, BufferUsage::StaticRead); + CompressedBufferImage3D image = texture.compressedImage(0, {data.storage}, BufferUsage::StaticRead); const auto imageData = image.buffer().data(); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -3011,8 +3003,8 @@ void TextureGLTest::compressedSubImage3DQuery() { MAGNUM_VERIFY_NO_GL_ERROR(); - CompressedImage3D image{data.storage, CompressedPixelFormat::RGBABptcUnorm, {}, nullptr}; - texture.compressedSubImage(0, Range3Di::fromSize({4, 0, 0}, Vector3i{4}), image); + CompressedImage3D image = texture.compressedSubImage(0, Range3Di::fromSize({4, 0, 0}, Vector3i{4}), + {data.storage}); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -3077,8 +3069,8 @@ void TextureGLTest::compressedSubImage3DQueryBuffer() { MAGNUM_VERIFY_NO_GL_ERROR(); - CompressedBufferImage3D image{data.storage, CompressedPixelFormat::RGBABptcUnorm, {}, nullptr, BufferUsage::StaticRead}; - texture.compressedSubImage(0, Range3Di::fromSize({4, 0, 0}, Vector3i{4}), image, BufferUsage::StaticRead); + CompressedBufferImage3D image = texture.compressedSubImage(0, Range3Di::fromSize({4, 0, 0}, Vector3i{4}), + {data.storage}, BufferUsage::StaticRead); const auto imageData = image.buffer().data(); MAGNUM_VERIFY_NO_GL_ERROR();