/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
*/
-#include <dali/public-api/dali-core.h>
#include <dali-test-suite-utils.h>
+#include <dali/public-api/dali-core.h>
using namespace Dali;
TestApplication application;
Property::Map texturedQuadVertexFormat;
- texturedQuadVertexFormat["aPosition"] = Property::VECTOR2;
+ texturedQuadVertexFormat["aPosition"] = Property::VECTOR2;
texturedQuadVertexFormat["aVertexCoord"] = Property::VECTOR2;
- VertexBuffer vertexBuffer = VertexBuffer::New( texturedQuadVertexFormat );
+ VertexBuffer vertexBuffer = VertexBuffer::New(texturedQuadVertexFormat);
- DALI_TEST_EQUALS( (bool)vertexBuffer, true, TEST_LOCATION );
+ DALI_TEST_EQUALS((bool)vertexBuffer, true, TEST_LOCATION);
END_TEST;
}
int UtcDaliVertexBufferNew02(void)
{
TestApplication application;
- VertexBuffer vertexBuffer;
- DALI_TEST_EQUALS( (bool)vertexBuffer, false, TEST_LOCATION );
+ VertexBuffer vertexBuffer;
+ DALI_TEST_EQUALS((bool)vertexBuffer, false, TEST_LOCATION);
END_TEST;
}
TestApplication application;
Property::Map texturedQuadVertexFormat;
- texturedQuadVertexFormat["aPosition"] = Property::VECTOR2;
+ texturedQuadVertexFormat["aPosition"] = Property::VECTOR2;
texturedQuadVertexFormat["aVertexCoord"] = Property::VECTOR2;
- VertexBuffer vertexBuffer = VertexBuffer::New( texturedQuadVertexFormat );
+ VertexBuffer vertexBuffer = VertexBuffer::New(texturedQuadVertexFormat);
- BaseHandle handle(vertexBuffer);
+ BaseHandle handle(vertexBuffer);
VertexBuffer vertexBuffer2 = VertexBuffer::DownCast(handle);
- DALI_TEST_EQUALS( (bool)vertexBuffer2, true, TEST_LOCATION );
+ DALI_TEST_EQUALS((bool)vertexBuffer2, true, TEST_LOCATION);
END_TEST;
}
{
TestApplication application;
- Handle handle = Handle::New(); // Create a custom object
+ Handle handle = Handle::New(); // Create a custom object
VertexBuffer vertexBuffer = VertexBuffer::DownCast(handle);
- DALI_TEST_EQUALS( (bool)vertexBuffer, false, TEST_LOCATION );
+ DALI_TEST_EQUALS((bool)vertexBuffer, false, TEST_LOCATION);
END_TEST;
}
VertexBuffer vertexBufferCopy(vertexBuffer);
- DALI_TEST_EQUALS( (bool)vertexBufferCopy, true, TEST_LOCATION );
- DALI_TEST_EQUALS( vertexBufferCopy.GetSize(), 0u, TEST_LOCATION );
+ DALI_TEST_EQUALS((bool)vertexBufferCopy, true, TEST_LOCATION);
+ DALI_TEST_EQUALS(vertexBufferCopy.GetSize(), 0u, TEST_LOCATION);
END_TEST;
}
VertexBuffer vertexBuffer = CreateVertexBuffer();
VertexBuffer vertexBuffer2;
- DALI_TEST_EQUALS( (bool)vertexBuffer2, false, TEST_LOCATION );
+ DALI_TEST_EQUALS((bool)vertexBuffer2, false, TEST_LOCATION);
vertexBuffer2 = vertexBuffer;
- DALI_TEST_EQUALS( (bool)vertexBuffer2, true, TEST_LOCATION );
- DALI_TEST_EQUALS( vertexBuffer2.GetSize(), 0u, TEST_LOCATION );
+ DALI_TEST_EQUALS((bool)vertexBuffer2, true, TEST_LOCATION);
+ DALI_TEST_EQUALS(vertexBuffer2.GetSize(), 0u, TEST_LOCATION);
END_TEST;
}
TestApplication application;
VertexBuffer vertexBuffer = CreateVertexBuffer();
- DALI_TEST_CHECK( vertexBuffer );
- DALI_TEST_EQUALS( 1, vertexBuffer.GetBaseObject().ReferenceCount(), TEST_LOCATION );
- DALI_TEST_EQUALS( 0u, vertexBuffer.GetSize(), TEST_LOCATION );
+ DALI_TEST_CHECK(vertexBuffer);
+ DALI_TEST_EQUALS(1, vertexBuffer.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+ DALI_TEST_EQUALS(0u, vertexBuffer.GetSize(), TEST_LOCATION);
- VertexBuffer move = std::move( vertexBuffer );
- DALI_TEST_CHECK( move );
- DALI_TEST_EQUALS( 1, move.GetBaseObject().ReferenceCount(), TEST_LOCATION );
- DALI_TEST_EQUALS( 0u, move.GetSize(), TEST_LOCATION );
- DALI_TEST_CHECK( !vertexBuffer );
+ VertexBuffer move = std::move(vertexBuffer);
+ DALI_TEST_CHECK(move);
+ DALI_TEST_EQUALS(1, move.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+ DALI_TEST_EQUALS(0u, move.GetSize(), TEST_LOCATION);
+ DALI_TEST_CHECK(!vertexBuffer);
END_TEST;
}
TestApplication application;
VertexBuffer vertexBuffer = CreateVertexBuffer();
- DALI_TEST_CHECK( vertexBuffer );
- DALI_TEST_EQUALS( 1, vertexBuffer.GetBaseObject().ReferenceCount(), TEST_LOCATION );
- DALI_TEST_EQUALS( 0u, vertexBuffer.GetSize(), TEST_LOCATION );
+ DALI_TEST_CHECK(vertexBuffer);
+ DALI_TEST_EQUALS(1, vertexBuffer.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+ DALI_TEST_EQUALS(0u, vertexBuffer.GetSize(), TEST_LOCATION);
VertexBuffer move;
- move = std::move( vertexBuffer );
- DALI_TEST_CHECK( move );
- DALI_TEST_EQUALS( 1, move.GetBaseObject().ReferenceCount(), TEST_LOCATION );
- DALI_TEST_EQUALS( 0u, move.GetSize(), TEST_LOCATION );
- DALI_TEST_CHECK( !vertexBuffer );
+ move = std::move(vertexBuffer);
+ DALI_TEST_CHECK(move);
+ DALI_TEST_EQUALS(1, move.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+ DALI_TEST_EQUALS(0u, move.GetSize(), TEST_LOCATION);
+ DALI_TEST_CHECK(!vertexBuffer);
END_TEST;
}
TestApplication application;
Property::Map texturedQuadVertexFormat;
- texturedQuadVertexFormat["aPosition"] = Property::VECTOR2;
+ texturedQuadVertexFormat["aPosition"] = Property::VECTOR2;
texturedQuadVertexFormat["aVertexCoord"] = Property::VECTOR2;
{
- VertexBuffer vertexBuffer = VertexBuffer::New( texturedQuadVertexFormat );
- DALI_TEST_EQUALS( (bool)vertexBuffer, true, TEST_LOCATION );
+ VertexBuffer vertexBuffer = VertexBuffer::New(texturedQuadVertexFormat);
+ DALI_TEST_EQUALS((bool)vertexBuffer, true, TEST_LOCATION);
const float halfQuadSize = .5f;
- struct TexturedQuadVertex { Vector2 position; Vector2 textureCoordinates; };
+ struct TexturedQuadVertex
+ {
+ Vector2 position;
+ Vector2 textureCoordinates;
+ };
TexturedQuadVertex texturedQuadVertexData[4] = {
- { Vector2(-halfQuadSize, -halfQuadSize), Vector2(0.f, 0.f) },
- { Vector2( halfQuadSize, -halfQuadSize), Vector2(1.f, 0.f) },
- { Vector2(-halfQuadSize, halfQuadSize), Vector2(0.f, 1.f) },
- { Vector2( halfQuadSize, halfQuadSize), Vector2(1.f, 1.f) } };
+ {Vector2(-halfQuadSize, -halfQuadSize), Vector2(0.f, 0.f)},
+ {Vector2(halfQuadSize, -halfQuadSize), Vector2(1.f, 0.f)},
+ {Vector2(-halfQuadSize, halfQuadSize), Vector2(0.f, 1.f)},
+ {Vector2(halfQuadSize, halfQuadSize), Vector2(1.f, 1.f)}};
- vertexBuffer.SetData( texturedQuadVertexData, 4 );
+ vertexBuffer.SetData(texturedQuadVertexData, 4);
Geometry geometry = Geometry::New();
- geometry.AddVertexBuffer( vertexBuffer );
+ geometry.AddVertexBuffer(vertexBuffer);
- Shader shader = CreateShader();
+ Shader shader = CreateShader();
Renderer renderer = Renderer::New(geometry, shader);
- Actor actor = Actor::New();
- actor.SetProperty( Actor::Property::SIZE,Vector3::ONE * 100.f);
+ Actor actor = Actor::New();
+ actor.SetProperty(Actor::Property::SIZE, Vector3::ONE * 100.f);
actor.AddRenderer(renderer);
application.GetScene().Add(actor);
application.SendNotification();
const TestGlAbstraction::BufferDataCalls& bufferDataCalls =
- application.GetGlAbstraction().GetBufferDataCalls();
-
- DALI_TEST_EQUALS( bufferDataCalls.size(), 1u, TEST_LOCATION );
+ application.GetGlAbstraction().GetBufferDataCalls();
- DALI_TEST_EQUALS( bufferDataCalls[0], sizeof(texturedQuadVertexData), TEST_LOCATION );
+ DALI_TEST_EQUALS(bufferDataCalls.size(), 3u, TEST_LOCATION);
+ DALI_TEST_EQUALS(bufferDataCalls[0], sizeof(texturedQuadVertexData), TEST_LOCATION);
}
// end of scope to let the buffer and geometry die; do another notification and render to get the deletion processed
application.SendNotification();
TestApplication application;
Property::Map texturedQuadVertexFormat;
- texturedQuadVertexFormat["aPosition"] = Property::VECTOR2;
+ texturedQuadVertexFormat["aPosition"] = Property::VECTOR2;
texturedQuadVertexFormat["aVertexCoord"] = Property::VECTOR2;
- VertexBuffer vertexBuffer = VertexBuffer::New( texturedQuadVertexFormat );
- DALI_TEST_EQUALS( (bool)vertexBuffer, true, TEST_LOCATION );
+ VertexBuffer vertexBuffer = VertexBuffer::New(texturedQuadVertexFormat);
+ DALI_TEST_EQUALS((bool)vertexBuffer, true, TEST_LOCATION);
const float halfQuadSize = .5f;
- struct TexturedQuadVertex { Vector2 position; Vector2 textureCoordinates; };
+ struct TexturedQuadVertex
+ {
+ Vector2 position;
+ Vector2 textureCoordinates;
+ };
TexturedQuadVertex texturedQuadVertexData[4] = {
- { Vector2(-halfQuadSize, -halfQuadSize), Vector2(0.f, 0.f) },
- { Vector2( halfQuadSize, -halfQuadSize), Vector2(1.f, 0.f) },
- { Vector2(-halfQuadSize, halfQuadSize), Vector2(0.f, 1.f) },
- { Vector2( halfQuadSize, halfQuadSize), Vector2(1.f, 1.f) } };
+ {Vector2(-halfQuadSize, -halfQuadSize), Vector2(0.f, 0.f)},
+ {Vector2(halfQuadSize, -halfQuadSize), Vector2(1.f, 0.f)},
+ {Vector2(-halfQuadSize, halfQuadSize), Vector2(0.f, 1.f)},
+ {Vector2(halfQuadSize, halfQuadSize), Vector2(1.f, 1.f)}};
- vertexBuffer.SetData( texturedQuadVertexData, 4 );
+ vertexBuffer.SetData(texturedQuadVertexData, 4);
Geometry geometry = Geometry::New();
- geometry.AddVertexBuffer( vertexBuffer );
+ geometry.AddVertexBuffer(vertexBuffer);
- Shader shader = CreateShader();
+ Shader shader = CreateShader();
Renderer renderer = Renderer::New(geometry, shader);
- Actor actor = Actor::New();
- actor.SetProperty( Actor::Property::SIZE,Vector3::ONE * 100.f);
+ Actor actor = Actor::New();
+ actor.SetProperty(Actor::Property::SIZE, Vector3::ONE * 100.f);
actor.AddRenderer(renderer);
application.GetScene().Add(actor);
application.SendNotification();
- application.Render(0);
application.Render();
- application.SendNotification();
{
+ const TestGlAbstraction::BufferSubDataCalls& bufferSubDataCalls =
+ application.GetGlAbstraction().GetBufferSubDataCalls();
+
const TestGlAbstraction::BufferDataCalls& bufferDataCalls =
application.GetGlAbstraction().GetBufferDataCalls();
- DALI_TEST_EQUALS( bufferDataCalls.size(), 1u, TEST_LOCATION );
+ // Should be 1 (Flush standalone uniform buffer per each RenderScene)
+ DALI_TEST_EQUALS(bufferSubDataCalls.size(), 1u, TEST_LOCATION);
+ DALI_TEST_EQUALS(bufferDataCalls.size(), 2u, TEST_LOCATION);
- DALI_TEST_EQUALS( bufferDataCalls[0], sizeof(texturedQuadVertexData), TEST_LOCATION );
+ DALI_TEST_EQUALS(bufferDataCalls[0], sizeof(texturedQuadVertexData), TEST_LOCATION);
}
// Re-upload the data on the vertexBuffer
- vertexBuffer.SetData( texturedQuadVertexData, 4 );
+ vertexBuffer.SetData(texturedQuadVertexData, 4);
application.SendNotification();
application.Render(0);
- application.Render();
- application.SendNotification();
{
const TestGlAbstraction::BufferSubDataCalls& bufferSubDataCalls =
application.GetGlAbstraction().GetBufferSubDataCalls();
const TestGlAbstraction::BufferDataCalls& bufferDataCalls =
- application.GetGlAbstraction().GetBufferDataCalls();
+ application.GetGlAbstraction().GetBufferDataCalls();
- DALI_TEST_EQUALS( bufferSubDataCalls.size(), 1u, TEST_LOCATION );
- DALI_TEST_EQUALS( bufferDataCalls.size(), 1u, TEST_LOCATION );
+ // Should be 3 (2 Render + 1 vertexBuffer reload)
+ DALI_TEST_EQUALS(bufferSubDataCalls.size(), 3u, TEST_LOCATION);
+ DALI_TEST_EQUALS(bufferDataCalls.size(), 3u, TEST_LOCATION);
- if ( bufferSubDataCalls.size() )
+ if(bufferSubDataCalls.size() >= 2)
{
- DALI_TEST_EQUALS( bufferSubDataCalls[0], sizeof(texturedQuadVertexData), TEST_LOCATION );
+ DALI_TEST_EQUALS(bufferSubDataCalls[1], sizeof(texturedQuadVertexData), TEST_LOCATION);
}
}
TestApplication application;
Property::Map texturedQuadVertexFormat;
- texturedQuadVertexFormat["aPosition"] = Property::MAP;
+ texturedQuadVertexFormat["aPosition"] = Property::MAP;
texturedQuadVertexFormat["aVertexCoord"] = Property::STRING;
try
{
- VertexBuffer vertexBuffer = VertexBuffer::New( texturedQuadVertexFormat );
+ VertexBuffer vertexBuffer = VertexBuffer::New(texturedQuadVertexFormat);
tet_result(TET_FAIL);
}
- catch ( Dali::DaliException& e )
+ catch(Dali::DaliException& e)
{
- DALI_TEST_ASSERT( e, "Property::Type not supported in VertexBuffer", TEST_LOCATION );
+ DALI_TEST_ASSERT(e, "Property::Type not supported in VertexBuffer", TEST_LOCATION);
}
END_TEST;
}
-
int UtcDaliVertexBufferSetDataNegative(void)
{
- TestApplication application;
+ TestApplication application;
Dali::VertexBuffer instance;
try
{
- void* arg1(nullptr);
+ void* arg1(nullptr);
unsigned long arg2(0u);
- instance.SetData(arg1,arg2);
+ instance.SetData(arg1, arg2);
DALI_TEST_CHECK(false); // Should not get here
}
catch(...)
int UtcDaliVertexBufferGetSizeNegative(void)
{
- TestApplication application;
+ TestApplication application;
Dali::VertexBuffer instance;
try
{