1 #include <dali-test-suite-utils.h>
3 #include <dali/graphics-api/graphics-controller.h>
4 #include <dali/internal/graphics/gles-impl/egl-graphics-controller.h>
5 #include <test-graphics-application.h>
6 //#include <dali/graphics-api/graphics-api-buffer.h>
8 int UtcDaliGraphicsCreateGeometry(void)
10 // Initialize actual egl graphics controller (without initializing egl!)
11 TestGraphicsApplication app;
19 std::vector<Vertex> someData(100);
20 Graphics::Controller& graphicsController = app.GetGraphicsController();
22 Graphics::BufferCreateInfo createInfo;
24 .SetUsage(0 | Graphics::BufferUsage::VERTEX_BUFFER)
25 .SetSize(someData.size());
27 auto buffer = graphicsController.CreateBuffer(createInfo, nullptr);
28 Graphics::MapBufferInfo info;
29 info.buffer = buffer.get();
30 info.usage = 0 | Graphics::MemoryUsageFlagBits::WRITE;
32 info.size = someData.size();
34 auto memory = graphicsController.MapBufferRange(info);
35 void* ptr = memory->LockRegion(0, someData.size());
36 DALI_TEST_CHECK(ptr != nullptr);
38 graphicsController.UnmapMemory(std::move(memory));
40 // Test that data has been uploaded to GL, e.g. test that GPU buffer has been created
41 auto& gl = app.GetGlAbstraction();
42 auto& bufferDataCalls = gl.GetBufferDataCalls();
43 DALI_TEST_EQUALS(bufferDataCalls.size(), 1u, TEST_LOCATION);
44 DALI_TEST_EQUALS(bufferDataCalls[0], someData.size(), TEST_LOCATION);