Browse Source

GL: no need to set CompressedPixelStorage block properties anymore.

The properties are now always taken from the format itself. This
also reverts commit a96fc85736, as it's
now again possible to pass an empty image with non-default storage
properties to image query APIs.
pull/680/head
Vladimír Vondruš 10 months ago
parent
commit
5f8162c438
  1. 16
      src/Magnum/GL/Test/CubeMapTextureArrayGLTest.cpp
  2. 23
      src/Magnum/GL/Test/CubeMapTextureGLTest.cpp
  3. 10
      src/Magnum/GL/Test/PixelStorageGLTest.cpp
  4. 14
      src/Magnum/GL/Test/TextureArrayGLTest.cpp
  5. 32
      src/Magnum/GL/Test/TextureGLTest.cpp

16
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();

23
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

10
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<char>{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}),

14
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();

32
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();

Loading…
Cancel
Save