@ -59,7 +59,8 @@ BufferImageGLTest::BufferImageGLTest() {
void BufferImageGLTest : : construct ( ) {
void BufferImageGLTest : : construct ( ) {
const char data [ ] = { ' a ' , 0 , 0 , 0 , ' b ' , 0 , 0 , 0 , ' c ' , 0 , 0 , 0 } ;
const char data [ ] = { ' a ' , 0 , 0 , 0 , ' b ' , 0 , 0 , 0 , ' c ' , 0 , 0 , 0 } ;
BufferImage2D a ( PixelFormat : : Red , PixelType : : UnsignedByte , { 1 , 3 } , data , BufferUsage : : StaticDraw ) ;
BufferImage2D a { PixelStorage { } . setAlignment ( 1 ) ,
PixelFormat : : Red , PixelType : : UnsignedByte , { 1 , 3 } , data , BufferUsage : : StaticDraw } ;
# ifndef MAGNUM_TARGET_GLES
# ifndef MAGNUM_TARGET_GLES
const auto imageData = a . buffer ( ) . data ( ) ;
const auto imageData = a . buffer ( ) . data ( ) ;
@ -67,6 +68,7 @@ void BufferImageGLTest::construct() {
MAGNUM_VERIFY_NO_ERROR ( ) ;
MAGNUM_VERIFY_NO_ERROR ( ) ;
CORRADE_COMPARE ( a . storage ( ) . alignment ( ) , 1 ) ;
CORRADE_COMPARE ( a . format ( ) , PixelFormat : : Red ) ;
CORRADE_COMPARE ( a . format ( ) , PixelFormat : : Red ) ;
CORRADE_COMPARE ( a . type ( ) , PixelType : : UnsignedByte ) ;
CORRADE_COMPARE ( a . type ( ) , PixelType : : UnsignedByte ) ;
CORRADE_COMPARE ( a . size ( ) , Vector2i ( 1 , 3 ) ) ;
CORRADE_COMPARE ( a . size ( ) , Vector2i ( 1 , 3 ) ) ;
@ -80,7 +82,12 @@ void BufferImageGLTest::construct() {
void BufferImageGLTest : : constructCompressed ( ) {
void BufferImageGLTest : : constructCompressed ( ) {
const char data [ ] = { ' a ' , 0 , 0 , 0 , ' b ' , 0 , 0 , 0 } ;
const char data [ ] = { ' a ' , 0 , 0 , 0 , ' b ' , 0 , 0 , 0 } ;
CompressedBufferImage2D a { CompressedPixelFormat : : RGBAS3tcDxt1 , { 4 , 4 } , data , BufferUsage : : StaticDraw } ;
CompressedBufferImage2D a {
# ifndef MAGNUM_TARGET_GLES
CompressedPixelStorage { } . setCompressedBlockSize ( Vector3i { 4 } ) ,
# endif
CompressedPixelFormat : : RGBAS3tcDxt1 ,
{ 4 , 4 } , data , BufferUsage : : StaticDraw } ;
# ifndef MAGNUM_TARGET_GLES
# ifndef MAGNUM_TARGET_GLES
const auto imageData = a . buffer ( ) . data ( ) ;
const auto imageData = a . buffer ( ) . data ( ) ;
@ -88,6 +95,9 @@ void BufferImageGLTest::constructCompressed() {
MAGNUM_VERIFY_NO_ERROR ( ) ;
MAGNUM_VERIFY_NO_ERROR ( ) ;
# ifndef MAGNUM_TARGET_GLES
CORRADE_COMPARE ( a . storage ( ) . compressedBlockSize ( ) , Vector3i { 4 } ) ;
# endif
CORRADE_COMPARE ( a . format ( ) , CompressedPixelFormat : : RGBAS3tcDxt1 ) ;
CORRADE_COMPARE ( a . format ( ) , CompressedPixelFormat : : RGBAS3tcDxt1 ) ;
CORRADE_COMPARE ( a . size ( ) , Vector2i ( 4 , 4 ) ) ;
CORRADE_COMPARE ( a . size ( ) , Vector2i ( 4 , 4 ) ) ;
CORRADE_COMPARE ( a . dataSize ( ) , 8 ) ;
CORRADE_COMPARE ( a . dataSize ( ) , 8 ) ;
@ -111,7 +121,7 @@ void BufferImageGLTest::constructCopyCompressed() {
void BufferImageGLTest : : constructMove ( ) {
void BufferImageGLTest : : constructMove ( ) {
const char data [ 4 ] = { ' a ' , ' b ' , ' c ' , ' d ' } ;
const char data [ 4 ] = { ' a ' , ' b ' , ' c ' , ' d ' } ;
BufferImage2D a ( PixelFormat : : Red , PixelType : : UnsignedByte , { 4 , 1 } , data , BufferUsage : : StaticDraw ) ;
BufferImage2D a { PixelFormat : : Red , PixelType : : UnsignedByte , { 4 , 1 } , data , BufferUsage : : StaticDraw } ;
const Int id = a . buffer ( ) . id ( ) ;
const Int id = a . buffer ( ) . id ( ) ;
MAGNUM_VERIFY_NO_ERROR ( ) ;
MAGNUM_VERIFY_NO_ERROR ( ) ;
@ -122,13 +132,15 @@ void BufferImageGLTest::constructMove() {
CORRADE_COMPARE ( a . buffer ( ) . id ( ) , 0 ) ;
CORRADE_COMPARE ( a . buffer ( ) . id ( ) , 0 ) ;
CORRADE_COMPARE ( a . size ( ) , Vector2i ( ) ) ;
CORRADE_COMPARE ( a . size ( ) , Vector2i ( ) ) ;
CORRADE_COMPARE ( b . storage ( ) . alignment ( ) , 4 ) ;
CORRADE_COMPARE ( b . format ( ) , PixelFormat : : Red ) ;
CORRADE_COMPARE ( b . format ( ) , PixelFormat : : Red ) ;
CORRADE_COMPARE ( b . type ( ) , PixelType : : UnsignedByte ) ;
CORRADE_COMPARE ( b . type ( ) , PixelType : : UnsignedByte ) ;
CORRADE_COMPARE ( b . size ( ) , Vector2i ( 4 , 1 ) ) ;
CORRADE_COMPARE ( b . size ( ) , Vector2i ( 4 , 1 ) ) ;
CORRADE_COMPARE ( b . buffer ( ) . id ( ) , id ) ;
CORRADE_COMPARE ( b . buffer ( ) . id ( ) , id ) ;
const unsigned short data2 [ 2 * 4 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ;
const unsigned short data2 [ 2 * 4 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ;
BufferImage2D c ( PixelFormat : : RGBA , PixelType : : UnsignedShort , { 1 , 2 } , data2 , BufferUsage : : StaticDraw ) ;
BufferImage2D c { PixelStorage { } . setAlignment ( 1 ) ,
PixelFormat : : RGBA , PixelType : : UnsignedShort , { 1 , 2 } , data2 , BufferUsage : : StaticDraw } ;
const Int cId = c . buffer ( ) . id ( ) ;
const Int cId = c . buffer ( ) . id ( ) ;
c = std : : move ( b ) ;
c = std : : move ( b ) ;
@ -138,6 +150,7 @@ void BufferImageGLTest::constructMove() {
CORRADE_COMPARE ( b . buffer ( ) . id ( ) , cId ) ;
CORRADE_COMPARE ( b . buffer ( ) . id ( ) , cId ) ;
CORRADE_COMPARE ( b . size ( ) , Vector2i ( 1 , 2 ) ) ;
CORRADE_COMPARE ( b . size ( ) , Vector2i ( 1 , 2 ) ) ;
CORRADE_COMPARE ( c . storage ( ) . alignment ( ) , 4 ) ;
CORRADE_COMPARE ( c . format ( ) , PixelFormat : : Red ) ;
CORRADE_COMPARE ( c . format ( ) , PixelFormat : : Red ) ;
CORRADE_COMPARE ( c . type ( ) , PixelType : : UnsignedByte ) ;
CORRADE_COMPARE ( c . type ( ) , PixelType : : UnsignedByte ) ;
CORRADE_COMPARE ( c . size ( ) , Vector2i ( 4 , 1 ) ) ;
CORRADE_COMPARE ( c . size ( ) , Vector2i ( 4 , 1 ) ) ;
@ -158,13 +171,20 @@ void BufferImageGLTest::constructMoveCompressed() {
CORRADE_COMPARE ( a . size ( ) , Vector2i ( ) ) ;
CORRADE_COMPARE ( a . size ( ) , Vector2i ( ) ) ;
CORRADE_COMPARE ( a . dataSize ( ) , 0 ) ;
CORRADE_COMPARE ( a . dataSize ( ) , 0 ) ;
# ifndef MAGNUM_TARGET_GLES
CORRADE_COMPARE ( b . storage ( ) . compressedBlockSize ( ) , Vector3i { 0 } ) ;
# endif
CORRADE_COMPARE ( b . format ( ) , CompressedPixelFormat : : RGBAS3tcDxt1 ) ;
CORRADE_COMPARE ( b . format ( ) , CompressedPixelFormat : : RGBAS3tcDxt1 ) ;
CORRADE_COMPARE ( b . size ( ) , Vector2i ( 4 , 4 ) ) ;
CORRADE_COMPARE ( b . size ( ) , Vector2i ( 4 , 4 ) ) ;
CORRADE_COMPARE ( b . dataSize ( ) , 8 ) ;
CORRADE_COMPARE ( b . dataSize ( ) , 8 ) ;
CORRADE_COMPARE ( b . buffer ( ) . id ( ) , id ) ;
CORRADE_COMPARE ( b . buffer ( ) . id ( ) , id ) ;
const unsigned char data2 [ ] = { ' a ' , 0 , 0 , 0 , ' b ' , 0 , 0 , 0 , ' c ' , 0 , 0 , 0 , ' d ' , 0 , 0 , 0 } ;
const unsigned char data2 [ ] = { ' a ' , 0 , 0 , 0 , ' b ' , 0 , 0 , 0 , ' c ' , 0 , 0 , 0 , ' d ' , 0 , 0 , 0 } ;
CompressedBufferImage2D c { CompressedPixelFormat : : RGBAS3tcDxt1 , { 8 , 4 } , data2 , BufferUsage : : StaticDraw } ;
CompressedBufferImage2D c {
# ifndef MAGNUM_TARGET_GLES
CompressedPixelStorage { } . setCompressedBlockSize ( Vector3i { 4 } ) ,
# endif
CompressedPixelFormat : : RGBAS3tcDxt1 , { 8 , 4 } , data2 , BufferUsage : : StaticDraw } ;
const Int cId = c . buffer ( ) . id ( ) ;
const Int cId = c . buffer ( ) . id ( ) ;
c = std : : move ( b ) ;
c = std : : move ( b ) ;
@ -175,6 +195,9 @@ void BufferImageGLTest::constructMoveCompressed() {
CORRADE_COMPARE ( b . size ( ) , Vector2i ( 8 , 4 ) ) ;
CORRADE_COMPARE ( b . size ( ) , Vector2i ( 8 , 4 ) ) ;
CORRADE_COMPARE ( b . dataSize ( ) , 16 ) ;
CORRADE_COMPARE ( b . dataSize ( ) , 16 ) ;
# ifndef MAGNUM_TARGET_GLES
CORRADE_COMPARE ( c . storage ( ) . compressedBlockSize ( ) , Vector3i { 0 } ) ;
# endif
CORRADE_COMPARE ( c . format ( ) , CompressedPixelFormat : : RGBAS3tcDxt1 ) ;
CORRADE_COMPARE ( c . format ( ) , CompressedPixelFormat : : RGBAS3tcDxt1 ) ;
CORRADE_COMPARE ( c . size ( ) , Vector2i ( 4 , 4 ) ) ;
CORRADE_COMPARE ( c . size ( ) , Vector2i ( 4 , 4 ) ) ;
CORRADE_COMPARE ( c . dataSize ( ) , 8 ) ;
CORRADE_COMPARE ( c . dataSize ( ) , 8 ) ;
@ -183,7 +206,8 @@ void BufferImageGLTest::constructMoveCompressed() {
void BufferImageGLTest : : setData ( ) {
void BufferImageGLTest : : setData ( ) {
const char data [ 4 ] = { ' a ' , ' b ' , ' c ' , ' d ' } ;
const char data [ 4 ] = { ' a ' , ' b ' , ' c ' , ' d ' } ;
BufferImage2D a ( PixelFormat : : Red , PixelType : : UnsignedByte , { 4 , 1 } , data , BufferUsage : : StaticDraw ) ;
BufferImage2D a { PixelStorage { } . setAlignment ( 1 ) ,
PixelFormat : : Red , PixelType : : UnsignedByte , { 4 , 1 } , data , BufferUsage : : StaticDraw } ;
const UnsignedShort data2 [ 2 * 4 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ;
const UnsignedShort data2 [ 2 * 4 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ;
a . setData ( PixelFormat : : RGBA , PixelType : : UnsignedShort , { 1 , 2 } , data2 , BufferUsage : : StaticDraw ) ;
a . setData ( PixelFormat : : RGBA , PixelType : : UnsignedShort , { 1 , 2 } , data2 , BufferUsage : : StaticDraw ) ;
@ -194,6 +218,7 @@ void BufferImageGLTest::setData() {
MAGNUM_VERIFY_NO_ERROR ( ) ;
MAGNUM_VERIFY_NO_ERROR ( ) ;
CORRADE_COMPARE ( a . storage ( ) . alignment ( ) , 4 ) ;
CORRADE_COMPARE ( a . format ( ) , PixelFormat : : RGBA ) ;
CORRADE_COMPARE ( a . format ( ) , PixelFormat : : RGBA ) ;
CORRADE_COMPARE ( a . type ( ) , PixelType : : UnsignedShort ) ;
CORRADE_COMPARE ( a . type ( ) , PixelType : : UnsignedShort ) ;
CORRADE_COMPARE ( a . size ( ) , Vector2i ( 1 , 2 ) ) ;
CORRADE_COMPARE ( a . size ( ) , Vector2i ( 1 , 2 ) ) ;
@ -210,7 +235,11 @@ void BufferImageGLTest::setDataCompressed() {
CompressedBufferImage2D a { CompressedPixelFormat : : RGBAS3tcDxt1 , { 4 , 4 } , data , BufferUsage : : StaticDraw } ;
CompressedBufferImage2D a { CompressedPixelFormat : : RGBAS3tcDxt1 , { 4 , 4 } , data , BufferUsage : : StaticDraw } ;
const char data2 [ ] = { ' a ' , 0 , 0 , 0 , ' b ' , 0 , 0 , 0 , ' c ' , 0 , 0 , 0 , ' d ' , 0 , 0 , 0 } ;
const char data2 [ ] = { ' a ' , 0 , 0 , 0 , ' b ' , 0 , 0 , 0 , ' c ' , 0 , 0 , 0 , ' d ' , 0 , 0 , 0 } ;
a . setData ( CompressedPixelFormat : : RGBAS3tcDxt3 , { 8 , 4 } , data2 , BufferUsage : : StaticDraw ) ;
a . setData (
# ifndef MAGNUM_TARGET_GLES
CompressedPixelStorage { } . setCompressedBlockSize ( Vector3i { 4 } ) ,
# endif
CompressedPixelFormat : : RGBAS3tcDxt3 , { 8 , 4 } , data2 , BufferUsage : : StaticDraw ) ;
# ifndef MAGNUM_TARGET_GLES
# ifndef MAGNUM_TARGET_GLES
const auto imageData = a . buffer ( ) . data ( ) ;
const auto imageData = a . buffer ( ) . data ( ) ;
@ -218,6 +247,9 @@ void BufferImageGLTest::setDataCompressed() {
MAGNUM_VERIFY_NO_ERROR ( ) ;
MAGNUM_VERIFY_NO_ERROR ( ) ;
# ifndef MAGNUM_TARGET_GLES
CORRADE_COMPARE ( a . storage ( ) . compressedBlockSize ( ) , Vector3i { 4 } ) ;
# endif
CORRADE_COMPARE ( a . format ( ) , CompressedPixelFormat : : RGBAS3tcDxt3 ) ;
CORRADE_COMPARE ( a . format ( ) , CompressedPixelFormat : : RGBAS3tcDxt3 ) ;
CORRADE_COMPARE ( a . size ( ) , Vector2i ( 8 , 4 ) ) ;
CORRADE_COMPARE ( a . size ( ) , Vector2i ( 8 , 4 ) ) ;
CORRADE_COMPARE ( a . dataSize ( ) , 16 ) ;
CORRADE_COMPARE ( a . dataSize ( ) , 16 ) ;